micro-contracts 0.16.4 → 0.17.0

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 (181) hide show
  1. package/dist/micro-contracts.bundle.mjs +4682 -0
  2. package/dist/micro-contracts.bundle.mjs.map +7 -0
  3. package/package.json +20 -23
  4. package/dist/agents/context-builder.d.ts +0 -5
  5. package/dist/agents/context-builder.d.ts.map +0 -1
  6. package/dist/agents/context-builder.js +0 -239
  7. package/dist/agents/context-builder.js.map +0 -1
  8. package/dist/agents/formatter.d.ts +0 -9
  9. package/dist/agents/formatter.d.ts.map +0 -1
  10. package/dist/agents/formatter.js +0 -124
  11. package/dist/agents/formatter.js.map +0 -1
  12. package/dist/agents/index.d.ts +0 -5
  13. package/dist/agents/index.d.ts.map +0 -1
  14. package/dist/agents/index.js +0 -3
  15. package/dist/agents/index.js.map +0 -1
  16. package/dist/agents/orchestrator.d.ts +0 -5
  17. package/dist/agents/orchestrator.d.ts.map +0 -1
  18. package/dist/agents/orchestrator.js +0 -105
  19. package/dist/agents/orchestrator.js.map +0 -1
  20. package/dist/agents/types.d.ts +0 -21
  21. package/dist/agents/types.d.ts.map +0 -1
  22. package/dist/agents/types.js +0 -2
  23. package/dist/agents/types.js.map +0 -1
  24. package/dist/cli/templates.d.ts +0 -22
  25. package/dist/cli/templates.d.ts.map +0 -1
  26. package/dist/cli/templates.js +0 -445
  27. package/dist/cli/templates.js.map +0 -1
  28. package/dist/cli.d.ts +0 -3
  29. package/dist/cli.d.ts.map +0 -1
  30. package/dist/cli.js +0 -1142
  31. package/dist/cli.js.map +0 -1
  32. package/dist/commands/audit-guardrails.d.ts +0 -13
  33. package/dist/commands/audit-guardrails.d.ts.map +0 -1
  34. package/dist/commands/audit-guardrails.js +0 -32
  35. package/dist/commands/audit-guardrails.js.map +0 -1
  36. package/dist/commands/audit-openapi.d.ts +0 -13
  37. package/dist/commands/audit-openapi.d.ts.map +0 -1
  38. package/dist/commands/audit-openapi.js +0 -32
  39. package/dist/commands/audit-openapi.js.map +0 -1
  40. package/dist/commands/propose-overlays.d.ts +0 -13
  41. package/dist/commands/propose-overlays.d.ts.map +0 -1
  42. package/dist/commands/propose-overlays.js +0 -32
  43. package/dist/commands/propose-overlays.js.map +0 -1
  44. package/dist/commands/review-published.d.ts +0 -13
  45. package/dist/commands/review-published.d.ts.map +0 -1
  46. package/dist/commands/review-published.js +0 -32
  47. package/dist/commands/review-published.js.map +0 -1
  48. package/dist/generated/commands.d.ts +0 -2
  49. package/dist/generated/commands.d.ts.map +0 -1
  50. package/dist/generated/commands.js +0 -2
  51. package/dist/generated/commands.js.map +0 -1
  52. package/dist/generated/dsl/agents.d.ts +0 -34
  53. package/dist/generated/dsl/agents.d.ts.map +0 -1
  54. package/dist/generated/dsl/agents.js +0 -98
  55. package/dist/generated/dsl/agents.js.map +0 -1
  56. package/dist/generated/dsl/handoffs.d.ts +0 -457
  57. package/dist/generated/dsl/handoffs.d.ts.map +0 -1
  58. package/dist/generated/dsl/handoffs.js +0 -205
  59. package/dist/generated/dsl/handoffs.js.map +0 -1
  60. package/dist/generated/dsl/index.d.ts +0 -13
  61. package/dist/generated/dsl/index.d.ts.map +0 -1
  62. package/dist/generated/dsl/index.js +0 -10
  63. package/dist/generated/dsl/index.js.map +0 -1
  64. package/dist/generated/dsl/tasks.d.ts +0 -26
  65. package/dist/generated/dsl/tasks.d.ts.map +0 -1
  66. package/dist/generated/dsl/tasks.js +0 -133
  67. package/dist/generated/dsl/tasks.js.map +0 -1
  68. package/dist/generated/dsl/workflows.d.ts +0 -34
  69. package/dist/generated/dsl/workflows.d.ts.map +0 -1
  70. package/dist/generated/dsl/workflows.js +0 -84
  71. package/dist/generated/dsl/workflows.js.map +0 -1
  72. package/dist/generated/index.d.ts +0 -7
  73. package/dist/generated/index.d.ts.map +0 -1
  74. package/dist/generated/index.js +0 -7
  75. package/dist/generated/index.js.map +0 -1
  76. package/dist/generated/policy-runtime.d.ts +0 -114
  77. package/dist/generated/policy-runtime.d.ts.map +0 -1
  78. package/dist/generated/policy-runtime.js +0 -195
  79. package/dist/generated/policy-runtime.js.map +0 -1
  80. package/dist/generated/policy.d.ts +0 -619
  81. package/dist/generated/policy.d.ts.map +0 -1
  82. package/dist/generated/policy.js +0 -802
  83. package/dist/generated/policy.js.map +0 -1
  84. package/dist/generated/program.d.ts +0 -112
  85. package/dist/generated/program.d.ts.map +0 -1
  86. package/dist/generated/program.js +0 -266
  87. package/dist/generated/program.js.map +0 -1
  88. package/dist/generated/schemas.d.ts +0 -778
  89. package/dist/generated/schemas.d.ts.map +0 -1
  90. package/dist/generated/schemas.js +0 -1005
  91. package/dist/generated/schemas.js.map +0 -1
  92. package/dist/generated/types.d.ts +0 -395
  93. package/dist/generated/types.d.ts.map +0 -1
  94. package/dist/generated/types.js +0 -3
  95. package/dist/generated/types.js.map +0 -1
  96. package/dist/generator/dependencyGenerator.d.ts +0 -43
  97. package/dist/generator/dependencyGenerator.d.ts.map +0 -1
  98. package/dist/generator/dependencyGenerator.js +0 -159
  99. package/dist/generator/dependencyGenerator.js.map +0 -1
  100. package/dist/generator/index.d.ts +0 -39
  101. package/dist/generator/index.d.ts.map +0 -1
  102. package/dist/generator/index.js +0 -720
  103. package/dist/generator/index.js.map +0 -1
  104. package/dist/generator/inputHash.d.ts +0 -23
  105. package/dist/generator/inputHash.d.ts.map +0 -1
  106. package/dist/generator/inputHash.js +0 -145
  107. package/dist/generator/inputHash.js.map +0 -1
  108. package/dist/generator/linter.d.ts +0 -26
  109. package/dist/generator/linter.d.ts.map +0 -1
  110. package/dist/generator/linter.js +0 -352
  111. package/dist/generator/linter.js.map +0 -1
  112. package/dist/generator/overlayProcessor.d.ts +0 -90
  113. package/dist/generator/overlayProcessor.d.ts.map +0 -1
  114. package/dist/generator/overlayProcessor.js +0 -541
  115. package/dist/generator/overlayProcessor.js.map +0 -1
  116. package/dist/generator/schemaGenerator.d.ts +0 -10
  117. package/dist/generator/schemaGenerator.d.ts.map +0 -1
  118. package/dist/generator/schemaGenerator.js +0 -299
  119. package/dist/generator/schemaGenerator.js.map +0 -1
  120. package/dist/generator/serviceGenerator.d.ts +0 -41
  121. package/dist/generator/serviceGenerator.d.ts.map +0 -1
  122. package/dist/generator/serviceGenerator.js +0 -296
  123. package/dist/generator/serviceGenerator.js.map +0 -1
  124. package/dist/generator/templateProcessor.d.ts +0 -245
  125. package/dist/generator/templateProcessor.d.ts.map +0 -1
  126. package/dist/generator/templateProcessor.js +0 -821
  127. package/dist/generator/templateProcessor.js.map +0 -1
  128. package/dist/generator/typeGenerator.d.ts +0 -9
  129. package/dist/generator/typeGenerator.d.ts.map +0 -1
  130. package/dist/generator/typeGenerator.js +0 -424
  131. package/dist/generator/typeGenerator.js.map +0 -1
  132. package/dist/generator/typeGenerator.test.d.ts +0 -2
  133. package/dist/generator/typeGenerator.test.d.ts.map +0 -1
  134. package/dist/generator/typeGenerator.test.js +0 -122
  135. package/dist/generator/typeGenerator.test.js.map +0 -1
  136. package/dist/guardrails/allowlist.d.ts +0 -45
  137. package/dist/guardrails/allowlist.d.ts.map +0 -1
  138. package/dist/guardrails/allowlist.js +0 -261
  139. package/dist/guardrails/allowlist.js.map +0 -1
  140. package/dist/guardrails/config.d.ts +0 -40
  141. package/dist/guardrails/config.d.ts.map +0 -1
  142. package/dist/guardrails/config.js +0 -174
  143. package/dist/guardrails/config.js.map +0 -1
  144. package/dist/guardrails/docs.d.ts +0 -24
  145. package/dist/guardrails/docs.d.ts.map +0 -1
  146. package/dist/guardrails/docs.js +0 -138
  147. package/dist/guardrails/docs.js.map +0 -1
  148. package/dist/guardrails/drift.d.ts +0 -23
  149. package/dist/guardrails/drift.d.ts.map +0 -1
  150. package/dist/guardrails/drift.js +0 -127
  151. package/dist/guardrails/drift.js.map +0 -1
  152. package/dist/guardrails/index.d.ts +0 -19
  153. package/dist/guardrails/index.d.ts.map +0 -1
  154. package/dist/guardrails/index.js +0 -23
  155. package/dist/guardrails/index.js.map +0 -1
  156. package/dist/guardrails/lint.d.ts +0 -20
  157. package/dist/guardrails/lint.d.ts.map +0 -1
  158. package/dist/guardrails/lint.js +0 -274
  159. package/dist/guardrails/lint.js.map +0 -1
  160. package/dist/guardrails/manifest.d.ts +0 -63
  161. package/dist/guardrails/manifest.d.ts.map +0 -1
  162. package/dist/guardrails/manifest.js +0 -299
  163. package/dist/guardrails/manifest.js.map +0 -1
  164. package/dist/guardrails/runner.d.ts +0 -43
  165. package/dist/guardrails/runner.d.ts.map +0 -1
  166. package/dist/guardrails/runner.js +0 -365
  167. package/dist/guardrails/runner.js.map +0 -1
  168. package/dist/guardrails/typecheck.d.ts +0 -15
  169. package/dist/guardrails/typecheck.d.ts.map +0 -1
  170. package/dist/guardrails/typecheck.js +0 -104
  171. package/dist/guardrails/typecheck.js.map +0 -1
  172. package/dist/guardrails/types.d.ts +0 -202
  173. package/dist/guardrails/types.d.ts.map +0 -1
  174. package/dist/guardrails/types.js +0 -8
  175. package/dist/guardrails/types.js.map +0 -1
  176. package/dist/index.d.ts.map +0 -1
  177. package/dist/index.js.map +0 -1
  178. package/dist/types.d.ts +0 -583
  179. package/dist/types.d.ts.map +0 -1
  180. package/dist/types.js +0 -305
  181. package/dist/types.js.map +0 -1
package/package.json CHANGED
@@ -1,15 +1,18 @@
1
1
  {
2
2
  "name": "micro-contracts",
3
- "version": "0.16.4",
3
+ "version": "0.17.0",
4
4
  "description": "Contract-first OpenAPI toolchain that keeps TypeScript UI and microservices aligned via code generation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "bin": {
9
- "micro-contracts": "dist/cli.js"
9
+ "micro-contracts": "dist/micro-contracts.bundle.mjs"
10
10
  },
11
11
  "files": [
12
- "dist",
12
+ "dist/micro-contracts.bundle.mjs",
13
+ "dist/micro-contracts.bundle.mjs.map",
14
+ "dist/index.js",
15
+ "dist/index.d.ts",
13
16
  "docs",
14
17
  "cli-contract.yaml",
15
18
  "README.md",
@@ -17,6 +20,8 @@
17
20
  ],
18
21
  "scripts": {
19
22
  "build": "tsc",
23
+ "bundle": "node esbuild.bundle.mjs",
24
+ "bundle:min": "node esbuild.bundle.mjs --minify",
20
25
  "dev": "tsx watch src/cli.ts",
21
26
  "test": "vitest run",
22
27
  "test:watch": "vitest",
@@ -26,7 +31,8 @@
26
31
  "dsl:generate": "npx agent-runtime generate --config dsl/agent-runtime.config.yaml",
27
32
  "docs:sync": "npx embedoc build",
28
33
  "docs:check": "npx embedoc build && git diff --exit-code README.md docs/",
29
- "prepublishOnly": "npm run build && npm test"
34
+ "prepublishOnly": "npm run build && npm run bundle:min && npm test",
35
+ "test:ci": "vitest run"
30
36
  },
31
37
  "keywords": [
32
38
  "openapi",
@@ -49,23 +55,6 @@
49
55
  "bugs": {
50
56
  "url": "https://github.com/foo-log-inc/micro-contracts/issues"
51
57
  },
52
- "dependencies": {
53
- "chalk": "^5.3.0",
54
- "commander": "^12.1.0",
55
- "glob": "^10.3.10",
56
- "handlebars": "^4.7.8",
57
- "js-yaml": "^4.1.0",
58
- "yaml": "^2.8.2",
59
- "zod": "^4.0.0"
60
- },
61
- "peerDependencies": {
62
- "agent-contracts-runtime": ">=0.30.0"
63
- },
64
- "peerDependenciesMeta": {
65
- "agent-contracts-runtime": {
66
- "optional": true
67
- }
68
- },
69
58
  "devDependencies": {
70
59
  "@google/genai": "^2.4.0",
71
60
  "@openai/agents": "^0.11.1",
@@ -73,11 +62,19 @@
73
62
  "@types/node": "^20.11.0",
74
63
  "agent-contracts": "^0.30.1",
75
64
  "agent-contracts-runtime": "^0.30.0",
76
- "cli-contracts": "^0.30.2",
65
+ "chalk": "^5.3.0",
66
+ "cli-contracts": "^0.32.0",
67
+ "commander": "^12.1.0",
77
68
  "embedoc": "^0.9.0",
69
+ "esbuild": "^0.28.0",
70
+ "glob": "^10.3.10",
71
+ "handlebars": "^4.7.8",
72
+ "js-yaml": "^4.1.0",
78
73
  "tsx": "^4.7.0",
79
74
  "typescript": "^5.3.3",
80
- "vitest": "^4.1.7"
75
+ "vitest": "^4.1.7",
76
+ "yaml": "^2.8.2",
77
+ "zod": "^4.0.0"
81
78
  },
82
79
  "engines": {
83
80
  "node": ">=18.0.0"
@@ -1,5 +0,0 @@
1
- export declare function buildAuditOpenapiContext(configPath: string | undefined, moduleName: string | undefined): Promise<string>;
2
- export declare function buildReviewPublishedContext(configPath: string | undefined, moduleName: string | undefined): Promise<string>;
3
- export declare function buildProposeOverlaysContext(configPath: string | undefined, moduleName: string | undefined): Promise<string>;
4
- export declare function buildAuditGuardrailsContext(configPath: string | undefined, guardrailsPath: string | undefined): Promise<string>;
5
- //# sourceMappingURL=context-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../src/agents/context-builder.ts"],"names":[],"mappings":"AAgHA,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,MAAM,CAAC,CAmCjB;AAED,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,MAAM,CAAC,CA8CjB;AA2BD,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,OAAO,CAAC,MAAM,CAAC,CAsEjB"}
@@ -1,239 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import { loadConfig, loadOpenAPISpec, lintSpec, formatLintResults } from "../generator/index.js";
4
- import { isMultiModuleConfig } from "../types.js";
5
- import { loadGuardrailsConfigWithPath } from "../guardrails/index.js";
6
- function findConfigFile() {
7
- const candidates = [
8
- "micro-contracts.config.yaml",
9
- "micro-contracts.config.yml",
10
- "api-framework.config.yaml",
11
- "api-framework.config.yml",
12
- ];
13
- for (const c of candidates) {
14
- const p = path.resolve(c);
15
- if (fs.existsSync(p))
16
- return p;
17
- }
18
- return null;
19
- }
20
- function loadModules(configPath, moduleName) {
21
- const resolved = configPath ? path.resolve(configPath) : findConfigFile();
22
- if (!resolved || !fs.existsSync(resolved)) {
23
- throw Object.assign(new Error(`Config file not found: ${resolved ?? "micro-contracts.config.yaml"}`), { exitCode: 3 });
24
- }
25
- const config = loadConfig(resolved);
26
- if (!isMultiModuleConfig(config)) {
27
- throw Object.assign(new Error("Config must be a multi-module config with modules defined."), { exitCode: 3 });
28
- }
29
- const modules = [];
30
- for (const [name, modConfig] of Object.entries(config.modules)) {
31
- if (moduleName && name !== moduleName)
32
- continue;
33
- const specPath = path.resolve(path.dirname(resolved), modConfig.openapi);
34
- if (!fs.existsSync(specPath))
35
- continue;
36
- const spec = loadOpenAPISpec(specPath);
37
- modules.push({ name, spec, specPath });
38
- }
39
- return { config, configPath: resolved, modules };
40
- }
41
- function formatSpec(spec, specPath) {
42
- const raw = fs.readFileSync(specPath, "utf-8");
43
- const maxLen = 24000;
44
- if (raw.length > maxLen) {
45
- return raw.slice(0, maxLen) + "\n# (truncated)";
46
- }
47
- return raw;
48
- }
49
- function collectOverlays(config, configPath) {
50
- const overlays = [];
51
- const baseDir = path.dirname(configPath);
52
- const sharedOverlays = config.defaults?.overlays?.shared ?? [];
53
- for (const o of sharedOverlays) {
54
- const p = path.resolve(baseDir, o);
55
- if (fs.existsSync(p)) {
56
- overlays.push(`### ${o}\n\n\`\`\`yaml\n${fs.readFileSync(p, "utf-8")}\n\`\`\``);
57
- }
58
- }
59
- for (const [, modConfig] of Object.entries(config.modules)) {
60
- const modOverlays = modConfig.overlays ?? [];
61
- for (const o of modOverlays) {
62
- const p = path.resolve(baseDir, o);
63
- if (fs.existsSync(p)) {
64
- overlays.push(`### ${o}\n\n\`\`\`yaml\n${fs.readFileSync(p, "utf-8")}\n\`\`\``);
65
- }
66
- }
67
- }
68
- return overlays;
69
- }
70
- function buildDepsSection(config, configPath) {
71
- const lines = [];
72
- for (const [name, modConfig] of Object.entries(config.modules)) {
73
- const specPath = path.resolve(path.dirname(configPath), modConfig.openapi);
74
- if (!fs.existsSync(specPath))
75
- continue;
76
- const spec = loadOpenAPISpec(specPath);
77
- const deps = spec.info["x-micro-contracts-depend-on"] ?? [];
78
- const configDeps = modConfig.dependsOn ?? [];
79
- const allDeps = [...new Set([...deps, ...configDeps])];
80
- if (allDeps.length > 0) {
81
- lines.push(`- ${name} → ${allDeps.join(", ")}`);
82
- }
83
- }
84
- return lines.length > 0 ? lines.join("\n") : null;
85
- }
86
- export async function buildAuditOpenapiContext(configPath, moduleName) {
87
- const { config, configPath: resolved, modules } = loadModules(configPath, moduleName);
88
- const sections = [];
89
- sections.push("# OpenAPI Design Audit Request");
90
- sections.push(`## Project Configuration\n\n` +
91
- `\`\`\`yaml\n${fs.readFileSync(resolved, "utf-8")}\n\`\`\``);
92
- for (const mod of modules) {
93
- sections.push(`## Module: ${mod.name}\n\n` +
94
- `### OpenAPI Specification (${path.basename(mod.specPath)})\n\n` +
95
- `\`\`\`yaml\n${formatSpec(mod.spec, mod.specPath)}\n\`\`\``);
96
- const lintResult = lintSpec(mod.spec, { strict: false });
97
- if (!lintResult.valid || lintResult.warnings.length > 0) {
98
- sections.push(`### Lint Results\n\n${formatLintResults(lintResult)}`);
99
- }
100
- }
101
- const overlays = collectOverlays(config, resolved);
102
- if (overlays.length > 0) {
103
- sections.push(`## Existing Overlays\n\n${overlays.join("\n\n")}`);
104
- }
105
- const deps = buildDepsSection(config, resolved);
106
- if (deps) {
107
- sections.push(`## Module Dependency Graph\n\n${deps}`);
108
- }
109
- return sections.join("\n\n");
110
- }
111
- export async function buildReviewPublishedContext(configPath, moduleName) {
112
- const { config, configPath: resolved, modules } = loadModules(configPath, moduleName);
113
- const sections = [];
114
- sections.push("# Published API Review Request");
115
- for (const mod of modules) {
116
- sections.push(`## Module: ${mod.name}\n\n` +
117
- `### Master Specification (${path.basename(mod.specPath)})\n\n` +
118
- `\`\`\`yaml\n${formatSpec(mod.spec, mod.specPath)}\n\`\`\``);
119
- const publishedDir = config.defaults?.contractPublic?.output?.replace("{module}", mod.name)
120
- ?? `packages/contract-published/${mod.name}`;
121
- if (fs.existsSync(publishedDir)) {
122
- const files = fs.readdirSync(publishedDir, { recursive: true })
123
- .filter((f) => String(f).endsWith(".ts"))
124
- .slice(0, 10);
125
- if (files.length > 0) {
126
- const excerpts = files.map((f) => {
127
- const content = fs.readFileSync(path.join(publishedDir, String(f)), "utf-8");
128
- const truncated = content.length > 4000
129
- ? content.slice(0, 4000) + "\n// (truncated)"
130
- : content;
131
- return `#### ${f}\n\n\`\`\`typescript\n${truncated}\n\`\`\``;
132
- });
133
- sections.push(`### Published Contracts\n\n${excerpts.join("\n\n")}`);
134
- }
135
- }
136
- const nonExportable = extractNonExportable(mod.spec);
137
- if (nonExportable.length > 0) {
138
- sections.push(`### x-micro-contracts-non-exportable Schemas\n\n` +
139
- nonExportable.map((s) => `- ${s}`).join("\n"));
140
- }
141
- }
142
- const deps = buildDepsSection(config, resolved);
143
- if (deps) {
144
- sections.push(`## Module Dependency Graph\n\n${deps}`);
145
- }
146
- return sections.join("\n\n");
147
- }
148
- function extractNonExportable(spec) {
149
- const result = [];
150
- const schemas = spec.components?.schemas ?? {};
151
- for (const [name, schema] of Object.entries(schemas)) {
152
- if (schema && typeof schema === "object" && schema["x-micro-contracts-non-exportable"]) {
153
- result.push(name);
154
- }
155
- }
156
- if (spec.paths) {
157
- for (const [, pathItem] of Object.entries(spec.paths)) {
158
- if (!pathItem || typeof pathItem !== "object")
159
- continue;
160
- for (const method of ["get", "post", "put", "patch", "delete"]) {
161
- const op = pathItem[method];
162
- if (op && typeof op === "object" && op["x-micro-contracts-non-exportable"]) {
163
- const opId = op.operationId ?? `${method} ${Object.keys(spec.paths).find((k) => spec.paths[k] === pathItem)}`;
164
- result.push(String(opId));
165
- }
166
- }
167
- }
168
- }
169
- return result;
170
- }
171
- export async function buildProposeOverlaysContext(configPath, moduleName) {
172
- const { config, configPath: resolved, modules } = loadModules(configPath, moduleName);
173
- const sections = [];
174
- sections.push("# Overlay Proposal Request");
175
- for (const mod of modules) {
176
- sections.push(`## Module: ${mod.name}\n\n` +
177
- `### OpenAPI Specification (${path.basename(mod.specPath)})\n\n` +
178
- `\`\`\`yaml\n${formatSpec(mod.spec, mod.specPath)}\n\`\`\``);
179
- }
180
- const overlays = collectOverlays(config, resolved);
181
- if (overlays.length > 0) {
182
- sections.push(`## Existing Overlays\n\n${overlays.join("\n\n")}`);
183
- }
184
- else {
185
- sections.push("## Existing Overlays\n\nNo existing overlays found.");
186
- }
187
- sections.push(`## Project Configuration\n\n` +
188
- `\`\`\`yaml\n${fs.readFileSync(resolved, "utf-8")}\n\`\`\``);
189
- return sections.join("\n\n");
190
- }
191
- export async function buildAuditGuardrailsContext(configPath, guardrailsPath) {
192
- const resolved = configPath ? path.resolve(configPath) : findConfigFile();
193
- if (!resolved || !fs.existsSync(resolved)) {
194
- throw Object.assign(new Error(`Config file not found: ${resolved ?? "micro-contracts.config.yaml"}`), { exitCode: 3 });
195
- }
196
- const config = loadConfig(resolved);
197
- const sections = [];
198
- sections.push("# Guardrails Coverage Audit Request");
199
- const loaded = loadGuardrailsConfigWithPath(guardrailsPath);
200
- if (!loaded.config) {
201
- throw Object.assign(new Error(`guardrails.yaml not found${guardrailsPath ? `: ${guardrailsPath}` : ""}`), { exitCode: 3 });
202
- }
203
- if (loaded.configPath) {
204
- sections.push(`## Guardrails Configuration (${loaded.configPath})\n\n` +
205
- `\`\`\`yaml\n${fs.readFileSync(loaded.configPath, "utf-8")}\n\`\`\``);
206
- }
207
- sections.push(`## Project Configuration\n\n` +
208
- `\`\`\`yaml\n${fs.readFileSync(resolved, "utf-8")}\n\`\`\``);
209
- if (isMultiModuleConfig(config)) {
210
- const outputDirs = [];
211
- for (const [name, modConfig] of Object.entries(config.modules)) {
212
- const contractDir = config.defaults?.contract?.output?.replace("{module}", name)
213
- ?? `packages/contract/${name}`;
214
- outputDirs.push(contractDir);
215
- if (config.defaults?.contractPublic) {
216
- const pubDir = config.defaults.contractPublic.output?.replace("{module}", name)
217
- ?? `packages/contract-published/${name}`;
218
- outputDirs.push(pubDir);
219
- }
220
- if (modConfig.outputs) {
221
- for (const [, outConfig] of Object.entries(modConfig.outputs)) {
222
- if (outConfig.output) {
223
- outputDirs.push(outConfig.output.replace("{module}", name));
224
- }
225
- }
226
- }
227
- }
228
- sections.push(`## Configured Output Directories\n\n` +
229
- outputDirs.map((d) => `- ${d}`).join("\n"));
230
- for (const [name, modConfig] of Object.entries(config.modules)) {
231
- const specPath = path.resolve(path.dirname(resolved), modConfig.openapi);
232
- if (fs.existsSync(specPath)) {
233
- sections.push(`## Module Spec: ${name}\n\nPath: ${modConfig.openapi}`);
234
- }
235
- }
236
- }
237
- return sections.join("\n\n");
238
- }
239
- //# sourceMappingURL=context-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../src/agents/context-builder.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { AuditRunResult, AuditOptions } from "./types.js";
2
- export type ReportFormat = "json" | "text" | "yaml";
3
- export declare function computeExitCode(result: AuditRunResult, options: AuditOptions): number;
4
- export declare function formatResultText(result: AuditRunResult): string;
5
- export declare function formatResultJson(result: AuditRunResult): string;
6
- export declare function formatResultYaml(result: AuditRunResult): string;
7
- export declare function formatResult(result: AuditRunResult, format: ReportFormat): string;
8
- export declare function writeOutput(content: string, outputPath?: string): Promise<void>;
9
- //# sourceMappingURL=formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/agents/formatter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAYrF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwC/D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAK/D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAK/D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAMjF;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrF"}
@@ -1,124 +0,0 @@
1
- import { writeFile } from "node:fs/promises";
2
- export function computeExitCode(result, options) {
3
- if (result.status !== "success" || !result.data)
4
- return 1;
5
- const failOn = options.failOn ?? "error";
6
- const severityOrder = ["info", "warning", "error", "critical"];
7
- const threshold = severityOrder.indexOf(failOn);
8
- const hasBlocking = result.data.findings.some((f) => severityOrder.indexOf(f.severity) >= threshold);
9
- return hasBlocking ? 10 : 0;
10
- }
11
- export function formatResultText(result) {
12
- if (result.status !== "success" || !result.data) {
13
- return result.errorMessage ?? `Task failed with status: ${result.status}`;
14
- }
15
- const data = result.data;
16
- const lines = [];
17
- lines.push(`Risk Level: ${data.riskLevel.toUpperCase()}`);
18
- lines.push(`Summary: ${data.summary}`);
19
- lines.push("");
20
- if (data.findings.length > 0) {
21
- lines.push(`Findings (${data.findings.length}):`);
22
- lines.push("");
23
- for (const finding of data.findings) {
24
- const prefix = severityIcon(finding.severity);
25
- lines.push(` ${prefix} [${finding.category}] ${finding.message}`);
26
- if (finding.location) {
27
- lines.push(` Location: ${finding.location}`);
28
- }
29
- if (finding.recommendation) {
30
- lines.push(` Recommendation: ${finding.recommendation}`);
31
- }
32
- lines.push("");
33
- }
34
- }
35
- if (data.recommendedActions && data.recommendedActions.length > 0) {
36
- lines.push("Recommended Actions:");
37
- for (const action of data.recommendedActions) {
38
- lines.push(` - [${action.kind}] ${action.title}`);
39
- if (action.command) {
40
- lines.push(` $ ${action.command}`);
41
- }
42
- }
43
- }
44
- return lines.join("\n");
45
- }
46
- export function formatResultJson(result) {
47
- if (!result.data) {
48
- return JSON.stringify({ error: result.errorMessage, status: result.status }, null, 2);
49
- }
50
- return JSON.stringify(result.data, null, 2);
51
- }
52
- export function formatResultYaml(result) {
53
- if (!result.data) {
54
- return `error: ${JSON.stringify(result.errorMessage)}\nstatus: ${result.status}`;
55
- }
56
- return toSimpleYaml(result.data);
57
- }
58
- export function formatResult(result, format) {
59
- switch (format) {
60
- case "json": return formatResultJson(result);
61
- case "yaml": return formatResultYaml(result);
62
- case "text": return formatResultText(result);
63
- }
64
- }
65
- export async function writeOutput(content, outputPath) {
66
- if (outputPath) {
67
- await writeFile(outputPath, content + "\n", "utf-8");
68
- }
69
- else {
70
- process.stdout.write(content + "\n");
71
- }
72
- }
73
- function severityIcon(severity) {
74
- switch (severity) {
75
- case "critical": return "✖";
76
- case "error": return "✖";
77
- case "warning": return "⚠";
78
- case "info": return "ℹ";
79
- }
80
- }
81
- function indent(text, spaces = 2) {
82
- const pad = " ".repeat(spaces);
83
- return text.split("\n").map((l) => pad + l).join("\n");
84
- }
85
- function toSimpleYaml(obj, depth = 0) {
86
- const pad = " ".repeat(depth);
87
- if (obj === null || obj === undefined)
88
- return `${pad}null`;
89
- if (typeof obj === "string") {
90
- if (obj.includes("\n"))
91
- return `|\n${indent(obj, (depth + 1) * 2)}`;
92
- return JSON.stringify(obj);
93
- }
94
- if (typeof obj === "number" || typeof obj === "boolean")
95
- return String(obj);
96
- if (Array.isArray(obj)) {
97
- if (obj.length === 0)
98
- return "[]";
99
- return obj.map((item) => {
100
- const val = toSimpleYaml(item, depth + 1);
101
- if (typeof item === "object" && item !== null) {
102
- return `${pad}- ${val.trimStart()}`;
103
- }
104
- return `${pad}- ${val}`;
105
- }).join("\n");
106
- }
107
- if (typeof obj === "object") {
108
- const entries = Object.entries(obj);
109
- if (entries.length === 0)
110
- return "{}";
111
- return entries.map(([k, v]) => {
112
- const val = toSimpleYaml(v, depth + 1);
113
- if (typeof v === "object" && v !== null && !Array.isArray(v)) {
114
- return `${pad}${k}:\n${val}`;
115
- }
116
- if (Array.isArray(v) && v.length > 0) {
117
- return `${pad}${k}:\n${val}`;
118
- }
119
- return `${pad}${k}: ${val}`;
120
- }).join("\n");
121
- }
122
- return String(obj);
123
- }
124
- //# sourceMappingURL=formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/agents/formatter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export { runAgentTask, EXIT_RUNTIME_MISSING, EXIT_ADAPTER_ERROR } from "./orchestrator.js";
2
- export { computeExitCode, formatResultText, formatResultJson, formatResultYaml, formatResult, writeOutput } from "./formatter.js";
3
- export type { ReportFormat } from "./formatter.js";
4
- export type { TaskId, AuditConfig, AuditOptions, AuditRunResult } from "./types.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClI,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +0,0 @@
1
- export { runAgentTask, EXIT_RUNTIME_MISSING, EXIT_ADAPTER_ERROR } from "./orchestrator.js";
2
- export { computeExitCode, formatResultText, formatResultJson, formatResultYaml, formatResult, writeOutput } from "./formatter.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { AuditConfig, AuditOptions, AuditRunResult, TaskId } from "./types.js";
2
- export declare const EXIT_RUNTIME_MISSING = 11;
3
- export declare const EXIT_ADAPTER_ERROR = 12;
4
- export declare function runAgentTask(userRequest: string, taskId: TaskId, auditConfig: AuditConfig, options: AuditOptions): Promise<AuditRunResult>;
5
- //# sourceMappingURL=orchestrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAmDrC,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAkEzB"}
@@ -1,105 +0,0 @@
1
- export const EXIT_RUNTIME_MISSING = 11;
2
- export const EXIT_ADAPTER_ERROR = 12;
3
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
- async function createAdapter(runtimePkg, name, config) {
5
- switch (name) {
6
- case "mock": {
7
- const mod = await import(`${runtimePkg}/adapters/mock`);
8
- return new mod.MockAdapter();
9
- }
10
- case "cursor": {
11
- const mod = await import(`${runtimePkg}/adapters/cursor-sdk`);
12
- const apiKey = process.env.CURSOR_API_KEY;
13
- if (!apiKey) {
14
- throw new Error("CURSOR_API_KEY environment variable is required for the cursor adapter.\n" +
15
- "Get your key from: https://cursor.com/dashboard/integrations");
16
- }
17
- return mod.CursorSdkAdapter.create({ apiKey, model: config.model ?? "claude-opus-4-6" });
18
- }
19
- case "claude": {
20
- const mod = await import(`${runtimePkg}/adapters/claude-agent-sdk`);
21
- return new mod.ClaudeAgentSdkAdapter({
22
- model: config.model,
23
- tools: ["Read", "Glob", "Grep"],
24
- permissionMode: "bypassPermissions",
25
- });
26
- }
27
- case "openai": {
28
- const mod = await import(`${runtimePkg}/adapters/openai-agents-sdk`);
29
- return new mod.OpenAIAgentsSdkAdapter({
30
- model: config.model ?? "o3-mini",
31
- maxTurns: 1,
32
- });
33
- }
34
- case "gemini": {
35
- const mod = await import(`${runtimePkg}/adapters/gemini-sdk`);
36
- return new mod.GeminiSdkAdapter({
37
- apiKey: process.env.GEMINI_API_KEY,
38
- model: config.model ?? "gemini-2.5-pro",
39
- temperature: config.temperature,
40
- });
41
- }
42
- default:
43
- throw new Error(`Unsupported adapter: "${name}". ` +
44
- "Available: mock, cursor, claude, openai, gemini.");
45
- }
46
- }
47
- export async function runAgentTask(userRequest, taskId, auditConfig, options) {
48
- const RUNTIME_PKG = ["agent-contracts", "runtime"].join("-");
49
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
- let runTask;
51
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
- let agentRegistry, taskRegistry, handoffSchemas;
53
- try {
54
- const runtime = await import(RUNTIME_PKG);
55
- runTask = runtime.runTask;
56
- }
57
- catch {
58
- throw Object.assign(new Error("agent-contracts-runtime is not installed. " +
59
- "Install it to use this command, or use --show-prompt to inspect the prompt.\n" +
60
- " npm install agent-contracts-runtime"), { exitCode: EXIT_RUNTIME_MISSING });
61
- }
62
- try {
63
- const dsl = await import("../generated/dsl/index.js");
64
- agentRegistry = dsl.agentRegistry;
65
- taskRegistry = dsl.taskRegistry;
66
- handoffSchemas = dsl.handoffSchemas;
67
- }
68
- catch {
69
- agentRegistry = {};
70
- taskRegistry = {};
71
- handoffSchemas = {};
72
- }
73
- const adapterName = auditConfig.adapter ?? "mock";
74
- let adapter;
75
- try {
76
- adapter = await createAdapter(RUNTIME_PKG, adapterName, auditConfig);
77
- }
78
- catch (err) {
79
- throw Object.assign(err, { exitCode: EXIT_ADAPTER_ERROR });
80
- }
81
- const result = await runTask(adapter, taskId, {
82
- user_request: userRequest,
83
- }, {
84
- maxFollowUps: 3,
85
- maxRetries: 1,
86
- agentRegistry,
87
- taskRegistry,
88
- handoffSchemas,
89
- });
90
- const outcome = result.outcome;
91
- return {
92
- taskId,
93
- data: outcome.status === "success" ? outcome.data : null,
94
- raw: outcome.raw ?? "",
95
- prompt: userRequest,
96
- status: outcome.status,
97
- errorMessage: outcome.status === "error" ? outcome.message :
98
- outcome.status === "escalation" ? outcome.reason :
99
- outcome.status === "validation_error" ? outcome.errors?.message :
100
- undefined,
101
- followUpsUsed: result.follow_ups_used,
102
- retriesUsed: result.retries_used,
103
- };
104
- }
105
- //# sourceMappingURL=orchestrator.js.map