Sign In

@nimblebrain/api-spec

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nimblebrain/api-spec - npm Package Compare versions

Comparing version
0.0.1
to
0.0.3
+9
-3
package.json
{
"name": "@nimblebrain/api-spec",
"version": "0.0.1",
"version": "0.0.3",
"main": "dist/index.js",

@@ -18,5 +18,11 @@ "module": "dist/index.js",

"build": "tsc",
"clean": "npx rimraf dist",
"prepare": "npm run build",
"generate-docs": "ts-node src/generateDocs.ts",
"start": "http-server ./docs -p 9000"
"start": "http-server ./docs -p 9000",
"version": "git add -A",
"postversion": "git push && git push --tags",
"release:patch": "npm version patch && npm publish --access public",
"release:minor": "npm version minor && npm publish --access public",
"release:major": "npm version major && npm publish --access public"
},

@@ -33,2 +39,2 @@ "dependencies": {

}
}
}
export {};
//# sourceMappingURL=generateDocs.d.ts.map
{"version":3,"file":"generateDocs.d.ts","sourceRoot":"","sources":["../src/generateDocs.ts"],"names":[],"mappings":""}
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
// src/generateDocs.ts
const zod_to_openapi_1 = require("@asteasolutions/zod-to-openapi");
const fs = __importStar(require("fs"));
const path = __importStar(require("path"));
const routes_1 = require("./routes");
// Create registry
const registry = new zod_to_openapi_1.OpenAPIRegistry();
// Register security scheme
registry.registerComponent("securitySchemes", "bearerAuth", {
type: "http",
scheme: "bearer",
bearerFormat: "JWT",
description: "Enter the agent access token (JWT)",
});
// Register routes
(0, routes_1.registerRoutes)(registry);
// Create generator
const generator = new zod_to_openapi_1.OpenApiGeneratorV3(registry.definitions);
// Generate document
const document = generator.generateDocument({
openapi: "3.0.0",
info: {
title: "NimbleBrain API",
version: "1.0.0",
description: "API specification for NimbleBrain",
},
servers: [
{
url: "https://api.nimblebrain.ai/v1",
description: "Production server",
},
{
url: "http://localhost:3001/v1",
description: "Local development",
},
],
});
const docsDir = path.join(__dirname, "../docs");
if (!fs.existsSync(docsDir)) {
fs.mkdirSync(docsDir);
}
// Generate OpenAPI JSON
fs.writeFileSync(path.join(docsDir, "openapi.json"), JSON.stringify(document, null, 2));
// Create SwaggerUI HTML
const swaggerHtml = `
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>NimbleBrain API Documentation</title>
<link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5.11.0/swagger-ui.css" />
</head>
<body>
<div id="swagger-ui"></div>
<script src="https://unpkg.com/swagger-ui-dist@5.11.0/swagger-ui-bundle.js"></script>
<script>
window.onload = () => {
window.ui = SwaggerUIBundle({
url: 'openapi.json',
dom_id: '#swagger-ui',
});
};
</script>
</body>
</html>
`;
fs.writeFileSync(path.join(docsDir, "index.html"), swaggerHtml);
//# sourceMappingURL=generateDocs.js.map
{"version":3,"file":"generateDocs.js","sourceRoot":"","sources":["../src/generateDocs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAAsB;AACtB,mEAAqF;AACrF,uCAAyB;AACzB,2CAA6B;AAC7B,qCAA0C;AAE1C,kBAAkB;AAClB,MAAM,QAAQ,GAAG,IAAI,gCAAe,EAAE,CAAC;AAEvC,2BAA2B;AAC3B,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,YAAY,EAAE;IAC1D,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,oCAAoC;CAClD,CAAC,CAAC;AAEH,kBAAkB;AAClB,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC;AAEzB,mBAAmB;AACnB,MAAM,SAAS,GAAG,IAAI,mCAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE/D,oBAAoB;AACpB,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC;IAC1C,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE;QACJ,KAAK,EAAE,iBAAiB;QACxB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,mCAAmC;KACjD;IACD,OAAO,EAAE;QACP;YACE,GAAG,EAAE,+BAA+B;YACpC,WAAW,EAAE,mBAAmB;SACjC;QACD;YACE,GAAG,EAAE,0BAA0B;YAC/B,WAAW,EAAE,mBAAmB;SACjC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,wBAAwB;AACxB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAExF,wBAAwB;AACxB,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBnB,CAAC;AAEF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC"}