@toolfactory.dev/core 1.0.0-rc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +88 -0
  3. package/out/codegen/access-stubs.d.ts +2 -0
  4. package/out/codegen/access-stubs.js +6 -0
  5. package/out/codegen/auth-module-names.d.ts +11 -0
  6. package/out/codegen/auth-module-names.js +34 -0
  7. package/out/codegen/auth-pipeline-render.d.ts +10 -0
  8. package/out/codegen/auth-pipeline-render.js +157 -0
  9. package/out/codegen/auth-stub-bootstrap.d.ts +42 -0
  10. package/out/codegen/auth-stub-bootstrap.js +252 -0
  11. package/out/codegen/document-validation.d.ts +22 -0
  12. package/out/codegen/document-validation.js +76 -0
  13. package/out/codegen/generated-layout.d.ts +15 -0
  14. package/out/codegen/generated-layout.js +53 -0
  15. package/out/codegen/index.d.ts +20 -0
  16. package/out/codegen/index.js +20 -0
  17. package/out/codegen/langium-cli-types.d.ts +45 -0
  18. package/out/codegen/langium-cli-types.js +1 -0
  19. package/out/codegen/logging-adapter-bootstrap.d.ts +6 -0
  20. package/out/codegen/logging-adapter-bootstrap.js +69 -0
  21. package/out/codegen/mcp-host-credential-validation.d.ts +5 -0
  22. package/out/codegen/mcp-host-credential-validation.js +15 -0
  23. package/out/codegen/mcp-host-product-runtime.d.ts +22 -0
  24. package/out/codegen/mcp-host-product-runtime.js +413 -0
  25. package/out/codegen/project-bootstrap.d.ts +29 -0
  26. package/out/codegen/project-bootstrap.js +153 -0
  27. package/out/codegen/render-http-mcp-server.d.ts +3 -0
  28. package/out/codegen/render-http-mcp-server.js +194 -0
  29. package/out/codegen/render-mcp-host-shared.d.ts +7 -0
  30. package/out/codegen/render-mcp-host-shared.js +671 -0
  31. package/out/codegen/render-oauth-http-mcp-server.d.ts +5 -0
  32. package/out/codegen/render-oauth-http-mcp-server.js +220 -0
  33. package/out/codegen/render-stdio-mcp-server.d.ts +5 -0
  34. package/out/codegen/render-stdio-mcp-server.js +58 -0
  35. package/out/codegen/write-demos-test-support.d.ts +2 -0
  36. package/out/codegen/write-demos-test-support.js +28 -0
  37. package/out/codegen/zod-codegen.d.ts +9 -0
  38. package/out/codegen/zod-codegen.js +149 -0
  39. package/out/scripts/generated-scripts-banner.d.ts +2 -0
  40. package/out/scripts/generated-scripts-banner.js +2 -0
  41. package/out/scripts/render-kill-listeners-on-port.mjs.d.ts +1 -0
  42. package/out/scripts/render-kill-listeners-on-port.mjs.js +81 -0
  43. package/out/scripts/render-load-env-local.mjs.d.ts +1 -0
  44. package/out/scripts/render-load-env-local.mjs.js +67 -0
  45. package/out/scripts/render-require-env.mjs.d.ts +1 -0
  46. package/out/scripts/render-require-env.mjs.js +36 -0
  47. package/out/scripts/write-generated-scripts.d.ts +4 -0
  48. package/out/scripts/write-generated-scripts.js +24 -0
  49. package/package.json +58 -0
@@ -0,0 +1,36 @@
1
+ import { GENERATED_SCRIPTS_BANNER } from './generated-scripts-banner.js';
2
+ export function renderRequireEnvMjsSource() {
3
+ return `${GENERATED_SCRIPTS_BANNER}/**
4
+ * Require non-empty env vars (fail-fast).
5
+ */
6
+
7
+ /**
8
+ * @param {string} name
9
+ * @param {NodeJS.ProcessEnv} [env]
10
+ * @returns {string}
11
+ */
12
+ export function requireEnv(name, env = process.env) {
13
+ const value = env[name]?.trim();
14
+ if (!value) {
15
+ console.error(\`[env] Missing required variable: \${name}\`);
16
+ process.exit(1);
17
+ }
18
+ return value;
19
+ }
20
+
21
+ /**
22
+ * @param {string} name
23
+ * @param {NodeJS.ProcessEnv} [env]
24
+ * @returns {number}
25
+ */
26
+ export function requireEnvInt(name, env = process.env) {
27
+ const raw = requireEnv(name, env);
28
+ const port = Number.parseInt(raw, 10);
29
+ if (!Number.isFinite(port) || port <= 0) {
30
+ console.error(\`[env] Invalid \${name}: \${raw}\`);
31
+ process.exit(1);
32
+ }
33
+ return port;
34
+ }
35
+ `;
36
+ }
@@ -0,0 +1,4 @@
1
+ /** Project marker for workspaces that use generated `scripts/generated/*.mjs` utilities. */
2
+ export declare const PROJECT_GENERATE_CONFIG = "project-generate.config.json";
3
+ /** Write utility scripts under `scripts/generated/` (not generate / generate-all — those are hand-maintained). */
4
+ export declare function writeGeneratedScripts(projectRoot: string): void;
@@ -0,0 +1,24 @@
1
+ import * as fs from 'node:fs';
2
+ import * as path from 'node:path';
3
+ import { renderKillListenersOnPortMjsSource } from './render-kill-listeners-on-port.mjs.js';
4
+ import { renderLoadEnvLocalMjsSource } from './render-load-env-local.mjs.js';
5
+ import { renderRequireEnvMjsSource } from './render-require-env.mjs.js';
6
+ /** Project marker for workspaces that use generated `scripts/generated/*.mjs` utilities. */
7
+ export const PROJECT_GENERATE_CONFIG = 'project-generate.config.json';
8
+ const OUTPUT_FILES = [
9
+ { fileName: 'load-env-local.mjs', render: renderLoadEnvLocalMjsSource },
10
+ { fileName: 'kill-listeners-on-port.mjs', render: renderKillListenersOnPortMjsSource },
11
+ { fileName: 'require-env.mjs', render: renderRequireEnvMjsSource }
12
+ ];
13
+ /** Write utility scripts under `scripts/generated/` (not generate / generate-all — those are hand-maintained). */
14
+ export function writeGeneratedScripts(projectRoot) {
15
+ const configPath = path.join(projectRoot, PROJECT_GENERATE_CONFIG);
16
+ if (!fs.existsSync(configPath)) {
17
+ return;
18
+ }
19
+ const outDir = path.join(projectRoot, 'scripts', 'generated');
20
+ fs.mkdirSync(outDir, { recursive: true });
21
+ for (const { fileName, render } of OUTPUT_FILES) {
22
+ fs.writeFileSync(path.join(outDir, fileName), render(), 'utf-8');
23
+ }
24
+ }
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@toolfactory.dev/core",
3
+ "description": "Shared codegen library for api2ai and db2ai",
4
+ "version": "1.0.0-rc",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/annettedorothea/core2ai.git"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "type": "module",
14
+ "files": [
15
+ "out",
16
+ "README.md",
17
+ "LICENSE"
18
+ ],
19
+ "exports": {
20
+ "./codegen": {
21
+ "types": "./out/codegen/index.d.ts",
22
+ "default": "./out/codegen/index.js"
23
+ }
24
+ },
25
+ "scripts": {
26
+ "version": "node scripts/bump-version.mjs",
27
+ "build": "tsc -p tsconfig.json",
28
+ "watch": "tsc -p tsconfig.json --watch",
29
+ "postinstall": "husky",
30
+ "prepare": "npm run build",
31
+ "format": "prettier --write .",
32
+ "format:check": "prettier --check .",
33
+ "typecheck": "tsc -p tsconfig.json --noEmit",
34
+ "lint": "eslint .",
35
+ "lint:fix": "eslint . --fix",
36
+ "check": "npm run format:check && npm run typecheck && npm run lint",
37
+ "test": "vitest run"
38
+ },
39
+ "peerDependencies": {
40
+ "@modelcontextprotocol/sdk": "^1.29.0"
41
+ },
42
+ "dependencies": {
43
+ "chalk": "~5.6.2",
44
+ "langium": "~4.2.0",
45
+ "zod": "^4.4.3"
46
+ },
47
+ "devDependencies": {
48
+ "@modelcontextprotocol/sdk": "^1.29.0",
49
+ "@eslint/js": "^10.0.1",
50
+ "@types/node": "~22.19.20",
51
+ "eslint": "^10.4.1",
52
+ "husky": "^9.1.7",
53
+ "prettier": "^3.8.3",
54
+ "typescript": "~6.0.3",
55
+ "typescript-eslint": "^8.60.1",
56
+ "vitest": "~4.1.8"
57
+ }
58
+ }