@contractspec/bundle.workspace 1.52.0 → 1.53.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.
- package/dist/adapters/ai.d.mts +2 -2
- package/dist/adapters/ai.d.mts.map +1 -1
- package/dist/adapters/ai.mjs.map +1 -1
- package/dist/adapters/factory.d.mts +2 -2
- package/dist/adapters/factory.d.mts.map +1 -1
- package/dist/adapters/factory.mjs +3 -14
- package/dist/adapters/factory.mjs.map +1 -1
- package/dist/adapters/fs.bun.d.mts +11 -0
- package/dist/adapters/fs.bun.d.mts.map +1 -0
- package/dist/adapters/fs.bun.mjs +81 -0
- package/dist/adapters/fs.bun.mjs.map +1 -0
- package/dist/adapters/fs.d.mts +2 -8
- package/dist/adapters/fs.d.mts.map +1 -1
- package/dist/adapters/fs.mjs +4 -88
- package/dist/adapters/fs.mjs.map +1 -1
- package/dist/adapters/fs.node.d.mts +11 -0
- package/dist/adapters/fs.node.d.mts.map +1 -0
- package/dist/adapters/fs.node.mjs +84 -0
- package/dist/adapters/fs.node.mjs.map +1 -0
- package/dist/adapters/index.d.mts +3 -1
- package/dist/adapters/index.mjs +3 -1
- package/dist/ai/agents/index.d.mts +6 -0
- package/dist/ai/agents/orchestrator.d.mts +4 -4
- package/dist/ai/agents/orchestrator.d.mts.map +1 -1
- package/dist/ai/agents/orchestrator.mjs +5 -0
- package/dist/ai/agents/orchestrator.mjs.map +1 -1
- package/dist/ai/agents/simple-agent.d.mts +2 -2
- package/dist/ai/agents/simple-agent.d.mts.map +1 -1
- package/dist/ai/agents/simple-agent.mjs.map +1 -1
- package/dist/ai/agents/types.d.mts +4 -5
- package/dist/ai/agents/types.d.mts.map +1 -1
- package/dist/ai/agents/unified-adapter.mjs +70 -0
- package/dist/ai/agents/unified-adapter.mjs.map +1 -0
- package/dist/ai/index.d.mts +3 -3
- package/dist/ai/index.mjs +1 -2
- package/dist/ai/prompts/spec-creation.mjs +1 -1
- package/dist/ai/providers.d.mts +3 -18
- package/dist/ai/providers.d.mts.map +1 -1
- package/dist/ai/providers.mjs +2 -22
- package/dist/ai/providers.mjs.map +1 -1
- package/dist/index.d.mts +13 -8
- package/dist/index.mjs +11 -7
- package/dist/ports/ai.d.mts +7 -3
- package/dist/ports/ai.d.mts.map +1 -1
- package/dist/ports/index.d.mts +1 -1
- package/dist/registry.d.mts +15 -0
- package/dist/registry.d.mts.map +1 -0
- package/dist/registry.mjs +19 -0
- package/dist/registry.mjs.map +1 -0
- package/dist/services/action-drift/service.d.mts +11 -0
- package/dist/services/action-drift/service.d.mts.map +1 -0
- package/dist/services/action-drift/service.mjs +43 -0
- package/dist/services/action-drift/service.mjs.map +1 -0
- package/dist/services/action-drift/types.d.mts +23 -0
- package/dist/services/action-drift/types.d.mts.map +1 -0
- package/dist/services/action-pr/service.d.mts +17 -0
- package/dist/services/action-pr/service.d.mts.map +1 -0
- package/dist/services/action-pr/service.mjs +205 -0
- package/dist/services/action-pr/service.mjs.map +1 -0
- package/dist/services/action-pr/types.d.mts +67 -0
- package/dist/services/action-pr/types.d.mts.map +1 -0
- package/dist/services/build.d.mts +3 -2
- package/dist/services/build.d.mts.map +1 -1
- package/dist/services/build.mjs.map +1 -1
- package/dist/services/ci-check/checks/coverage.mjs +30 -41
- package/dist/services/ci-check/checks/coverage.mjs.map +1 -1
- package/dist/services/ci-check/checks/handlers.mjs +3 -3
- package/dist/services/ci-check/checks/handlers.mjs.map +1 -1
- package/dist/services/ci-check/checks/implementation.mjs +1 -1
- package/dist/services/ci-check/checks/implementation.mjs.map +1 -1
- package/dist/services/ci-check/checks/structure.mjs +5 -6
- package/dist/services/ci-check/checks/structure.mjs.map +1 -1
- package/dist/services/ci-check/checks/test-refs.mjs +19 -29
- package/dist/services/ci-check/checks/test-refs.mjs.map +1 -1
- package/dist/services/ci-check/checks/tests.mjs +3 -3
- package/dist/services/ci-check/checks/tests.mjs.map +1 -1
- package/dist/services/ci-check/ci-check-service.d.mts.map +1 -1
- package/dist/services/ci-check/ci-check-service.mjs +7 -12
- package/dist/services/ci-check/ci-check-service.mjs.map +1 -1
- package/dist/services/config.d.mts +3 -3
- package/dist/services/config.d.mts.map +1 -1
- package/dist/services/config.mjs +12 -34
- package/dist/services/config.mjs.map +1 -1
- package/dist/services/create/ai-generator.d.mts +3 -3
- package/dist/services/create/ai-generator.d.mts.map +1 -1
- package/dist/services/create/ai-generator.mjs +1 -1
- package/dist/services/create/ai-generator.mjs.map +1 -1
- package/dist/services/create/index.d.mts +4 -4
- package/dist/services/create/index.d.mts.map +1 -1
- package/dist/services/create/index.mjs.map +1 -1
- package/dist/services/docs/docs-service.mjs +16 -13
- package/dist/services/docs/docs-service.mjs.map +1 -1
- package/dist/services/extract.mjs +2 -10
- package/dist/services/extract.mjs.map +1 -1
- package/dist/services/implementation/discovery.d.mts.map +1 -1
- package/dist/services/implementation/discovery.mjs +6 -14
- package/dist/services/implementation/discovery.mjs.map +1 -1
- package/dist/services/implementation/index.d.mts +1 -1
- package/dist/services/implementation/index.mjs +1 -1
- package/dist/services/implementation/resolver/index.d.mts +8 -6
- package/dist/services/implementation/resolver/index.d.mts.map +1 -1
- package/dist/services/implementation/resolver/index.mjs +33 -31
- package/dist/services/implementation/resolver/index.mjs.map +1 -1
- package/dist/services/implementation/resolver/parsers.d.mts +1 -5
- package/dist/services/implementation/resolver/parsers.d.mts.map +1 -1
- package/dist/services/implementation/resolver/parsers.mjs +1 -19
- package/dist/services/implementation/resolver/parsers.mjs.map +1 -1
- package/dist/services/implementation/types.d.mts +3 -1
- package/dist/services/implementation/types.d.mts.map +1 -1
- package/dist/services/index.d.mts +5 -1
- package/dist/services/index.mjs +4 -2
- package/dist/services/list.d.mts +4 -3
- package/dist/services/list.d.mts.map +1 -1
- package/dist/services/list.mjs +4 -2
- package/dist/services/list.mjs.map +1 -1
- package/dist/services/sync.d.mts +2 -2
- package/dist/services/sync.d.mts.map +1 -1
- package/dist/services/sync.mjs.map +1 -1
- package/dist/services/test/test-generator-service.d.mts +1 -1
- package/dist/services/test/test-service.mjs +1 -1
- package/dist/services/validate/blueprint-validator.mjs +1 -1
- package/dist/services/validate/implementation-agent-validator.d.mts +2 -2
- package/dist/services/validate/implementation-agent-validator.d.mts.map +1 -1
- package/dist/services/validate/implementation-agent-validator.mjs.map +1 -1
- package/dist/services/validate/implementation-validator.d.mts +4 -3
- package/dist/services/validate/implementation-validator.d.mts.map +1 -1
- package/dist/services/validate/implementation-validator.mjs +4 -13
- package/dist/services/validate/implementation-validator.mjs.map +1 -1
- package/dist/services/validate/spec-validator.d.mts +1 -1
- package/dist/services/validate/spec-validator.d.mts.map +1 -1
- package/dist/services/validate/spec-validator.mjs +11 -7
- package/dist/services/validate/spec-validator.mjs.map +1 -1
- package/dist/services/validate/tenant-validator.mjs +1 -1
- package/dist/services/watch.d.mts +2 -2
- package/dist/services/watch.d.mts.map +1 -1
- package/dist/services/watch.mjs.map +1 -1
- package/dist/utils/filter.d.mts +10 -1
- package/dist/utils/filter.d.mts.map +1 -1
- package/dist/utils/filter.mjs +28 -1
- package/dist/utils/filter.mjs.map +1 -1
- package/dist/utils/index.d.mts +2 -2
- package/dist/utils/index.mjs +2 -1
- package/package.json +11 -9
- package/dist/ai/client.d.mts +0 -97
- package/dist/ai/client.d.mts.map +0 -1
- package/dist/ai/client.mjs +0 -189
- package/dist/ai/client.mjs.map +0 -1
- package/dist/types/config.d.mts +0 -34
- package/dist/types/config.d.mts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-agent.d.mts","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":[],"mappings":";;;;;AAsBmB,cALN,WAAA,YAAuB,aAKjB,CAAA;EAKI,QAAA,MAAA;EAAoB,IAAA,EAAA,QAAA;EAAR,WAAA,CAAA,MAAA,EAPL,
|
|
1
|
+
{"version":3,"file":"simple-agent.d.mts","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":[],"mappings":";;;;;AAsBmB,cALN,WAAA,YAAuB,aAKjB,CAAA;EAKI,QAAA,MAAA;EAAoB,IAAA,EAAA,QAAA;EAAR,WAAA,CAAA,MAAA,EAPL,yBAOK;EA4BZ,SAAA,CAAA,KAAA,EAjCJ,SAiCI,CAAA,EAAA,OAAA;EAAoB,QAAA,CAAA,IAAA,EA5BpB,SA4BoB,CAAA,EA5BR,OA4BQ,CA5BA,WA4BA,CAAA;EAAR,QAAA,CAAA,IAAA,EAAZ,SAAY,CAAA,EAAA,OAAA,CAAQ,WAAR,CAAA;EAtCC,QAAA,WAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-agent.mjs","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":["/**\n * Simple LLM-based agent using direct API calls\n * This is the default fallback for basic code generation\n */\n\nimport { generateText } from 'ai';\nimport { getAIProvider } from '../providers';\nimport type {
|
|
1
|
+
{"version":3,"file":"simple-agent.mjs","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":["/**\n * Simple LLM-based agent using direct API calls\n * This is the default fallback for basic code generation\n */\n\nimport { generateText } from 'ai';\nimport { getAIProvider } from '../providers';\nimport type { AgentProvider, AgentResult, AgentTask } from './types';\nimport {\n buildComponentPrompt,\n buildFormPrompt,\n buildHandlerPrompt,\n buildTestPrompt,\n getCodeGenSystemPrompt,\n} from '../prompts/code-generation';\nimport type { ResolvedContractsrcConfig } from '@contractspec/lib.contracts';\n\nexport class SimpleAgent implements AgentProvider {\n name = 'simple' as const;\n\n constructor(private config: ResolvedContractsrcConfig) {}\n\n canHandle(_task: AgentTask): boolean {\n // Simple agent can handle all tasks as a fallback\n return true;\n }\n\n async generate(task: AgentTask): Promise<AgentResult> {\n try {\n const model = getAIProvider(this.config);\n const prompt = this.buildPrompt(task);\n\n const result = await generateText({\n model,\n prompt,\n system: getCodeGenSystemPrompt(),\n });\n\n return {\n success: true,\n code: result.text,\n metadata: {\n model: this.config.aiModel,\n provider: this.config.aiProvider,\n tokens: result.usage,\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n async validate(task: AgentTask): Promise<AgentResult> {\n try {\n const model = getAIProvider(this.config);\n\n const prompt = `\nReview the following implementation against its specification.\n\nSpecification:\n${task.specCode}\n\nImplementation:\n${task.existingCode || '// No implementation provided'}\n\nProvide a detailed validation report:\n1. Does the implementation match the spec?\n2. Are there any missing features?\n3. Are there any bugs or issues?\n4. Suggestions for improvement\n`;\n\n const result = await generateText({\n model,\n prompt,\n system:\n 'You are a code review expert. Provide thorough, constructive feedback.',\n });\n\n // Parse validation result\n const hasErrors =\n result.text.toLowerCase().includes('error') ||\n result.text.toLowerCase().includes('missing') ||\n result.text.toLowerCase().includes('incorrect');\n\n return {\n success: !hasErrors,\n code: result.text,\n warnings: hasErrors\n ? ['Implementation may not match specification']\n : [],\n metadata: {\n validationType: 'simple-llm',\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n private buildPrompt(task: AgentTask): string {\n switch (task.type) {\n case 'generate':\n // Infer what to generate from spec\n if (\n task.specCode.includes('.operation.') ||\n task.specCode.includes('kind:')\n ) {\n return buildHandlerPrompt(task.specCode);\n } else if (task.specCode.includes('.presentation.')) {\n return buildComponentPrompt(task.specCode);\n } else if (task.specCode.includes('.form.')) {\n return buildFormPrompt(task.specCode);\n }\n return `Generate implementation for:\\n${task.specCode}`;\n\n case 'test':\n return buildTestPrompt(\n task.specCode,\n task.existingCode || '',\n 'handler'\n );\n\n case 'validate':\n return `Validate this implementation:\\n${task.existingCode}`;\n\n default:\n return task.specCode;\n }\n }\n}\n"],"mappings":";;;;;;;;;AAiBA,IAAa,cAAb,MAAkD;CAChD,OAAO;CAEP,YAAY,AAAQ,QAAmC;EAAnC;;CAEpB,UAAU,OAA2B;AAEnC,SAAO;;CAGT,MAAM,SAAS,MAAuC;AACpD,MAAI;GAIF,MAAM,SAAS,MAAM,aAAa;IAChC,OAJY,cAAc,KAAK,OAAO;IAKtC,QAJa,KAAK,YAAY,KAAK;IAKnC,QAAQ,wBAAwB;IACjC,CAAC;AAEF,UAAO;IACL,SAAS;IACT,MAAM,OAAO;IACb,UAAU;KACR,OAAO,KAAK,OAAO;KACnB,UAAU,KAAK,OAAO;KACtB,QAAQ,OAAO;KAChB;IACF;WACM,OAAO;AACd,UAAO;IACL,SAAS;IACT,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;IACjE;;;CAIL,MAAM,SAAS,MAAuC;AACpD,MAAI;GAmBF,MAAM,SAAS,MAAM,aAAa;IAChC,OAnBY,cAAc,KAAK,OAAO;IAoBtC,QAlBa;;;;EAInB,KAAK,SAAS;;;EAGd,KAAK,gBAAgB,gCAAgC;;;;;;;;IAY/C,QACE;IACH,CAAC;GAGF,MAAM,YACJ,OAAO,KAAK,aAAa,CAAC,SAAS,QAAQ,IAC3C,OAAO,KAAK,aAAa,CAAC,SAAS,UAAU,IAC7C,OAAO,KAAK,aAAa,CAAC,SAAS,YAAY;AAEjD,UAAO;IACL,SAAS,CAAC;IACV,MAAM,OAAO;IACb,UAAU,YACN,CAAC,6CAA6C,GAC9C,EAAE;IACN,UAAU,EACR,gBAAgB,cACjB;IACF;WACM,OAAO;AACd,UAAO;IACL,SAAS;IACT,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;IACjE;;;CAIL,AAAQ,YAAY,MAAyB;AAC3C,UAAQ,KAAK,MAAb;GACE,KAAK;AAEH,QACE,KAAK,SAAS,SAAS,cAAc,IACrC,KAAK,SAAS,SAAS,QAAQ,CAE/B,QAAO,mBAAmB,KAAK,SAAS;aAC/B,KAAK,SAAS,SAAS,iBAAiB,CACjD,QAAO,qBAAqB,KAAK,SAAS;aACjC,KAAK,SAAS,SAAS,SAAS,CACzC,QAAO,gBAAgB,KAAK,SAAS;AAEvC,WAAO,iCAAiC,KAAK;GAE/C,KAAK,OACH,QAAO,gBACL,KAAK,UACL,KAAK,gBAAgB,IACrB,UACD;GAEH,KAAK,WACH,QAAO,kCAAkC,KAAK;GAEhD,QACE,QAAO,KAAK"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
import { AgentMode } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
1
3
|
//#region src/ai/agents/types.d.ts
|
|
2
|
-
|
|
3
|
-
* Agent types and interfaces for code generation and validation
|
|
4
|
-
*/
|
|
5
|
-
type AgentMode = 'simple' | 'cursor' | 'claude-code' | 'openai-codex';
|
|
4
|
+
|
|
6
5
|
interface AgentTask {
|
|
7
6
|
type: 'generate' | 'validate' | 'refactor' | 'test';
|
|
8
7
|
specCode: string;
|
|
@@ -32,5 +31,5 @@ interface AgentConfig {
|
|
|
32
31
|
options?: Record<string, unknown>;
|
|
33
32
|
}
|
|
34
33
|
//#endregion
|
|
35
|
-
export { AgentConfig,
|
|
34
|
+
export { AgentConfig, AgentProvider, AgentResult, AgentTask };
|
|
36
35
|
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/ai/agents/types.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/ai/agents/types.ts"],"sourcesContent":[],"mappings":";;;;AAciB,UARA,SAAA,CAQW;EASX,IAAA,EAAA,UAAa,GAAA,UAAA,GAAA,UAAA,GAAA,MAAA;EACtB,QAAA,EAAA,MAAA;EACS,YAAA,CAAA,EAAA,MAAA;EAAoB,UAAA,CAAA,EAAA,MAAA;EAAR,OAAA,CAAA,EAdjB,MAciB,CAAA,MAAA,EAAA,OAAA,CAAA;;AACQ,UAZpB,WAAA,CAYoB;EAAR,OAAA,EAAA,OAAA;EACX,IAAA,CAAA,EAAA,MAAA;EAAS,MAAA,CAAA,EAAA,MAAA,EAAA;EAGV,QAAA,CAAA,EAAA,MAAW,EAAA;EACpB,WAAA,CAAA,EAAA,MAAA,EAAA;EACS,QAAA,CAAA,EAZJ,MAYI,CAAA,MAAA,EAAA,OAAA,CAAA;;AAGC,UAZD,aAAA,CAYC;QAXV;iBACS,YAAY,QAAQ;iBACpB,YAAY,QAAQ;kBACnB;;UAGD,WAAA;QACT;iBACS;;;YAGL"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { createUnifiedAgent } from "@contractspec/lib.ai-agent";
|
|
2
|
+
|
|
3
|
+
//#region src/ai/agents/unified-adapter.ts
|
|
4
|
+
var UnifiedAgentAdapter = class {
|
|
5
|
+
agent;
|
|
6
|
+
constructor(name, config, spec = {
|
|
7
|
+
meta: {
|
|
8
|
+
key: "workspace-agent",
|
|
9
|
+
version: "1.0.0",
|
|
10
|
+
description: "Workspace Agent",
|
|
11
|
+
stability: "experimental",
|
|
12
|
+
owners: [],
|
|
13
|
+
tags: []
|
|
14
|
+
},
|
|
15
|
+
instructions: "You are an expert software engineer implementing specifications.",
|
|
16
|
+
tools: []
|
|
17
|
+
}) {
|
|
18
|
+
this.name = name;
|
|
19
|
+
this.agent = createUnifiedAgent(spec, config);
|
|
20
|
+
}
|
|
21
|
+
canHandle(_task) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
async generate(task) {
|
|
25
|
+
try {
|
|
26
|
+
const prompt = this.buildPrompt(task);
|
|
27
|
+
const result = await this.agent.run(prompt);
|
|
28
|
+
return {
|
|
29
|
+
success: true,
|
|
30
|
+
code: result.text,
|
|
31
|
+
metadata: {
|
|
32
|
+
finishReason: result.finishReason,
|
|
33
|
+
usage: result.usage
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
} catch (error) {
|
|
37
|
+
return {
|
|
38
|
+
success: false,
|
|
39
|
+
errors: [error instanceof Error ? error.message : String(error)]
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async validate(task) {
|
|
44
|
+
return this.generate(task);
|
|
45
|
+
}
|
|
46
|
+
buildPrompt(task) {
|
|
47
|
+
let prompt = "";
|
|
48
|
+
if (task.specCode) prompt += `Specification:\n${task.specCode}\n\n`;
|
|
49
|
+
if (task.existingCode) prompt += `Existing Code:\n${task.existingCode}\n\n`;
|
|
50
|
+
switch (task.type) {
|
|
51
|
+
case "generate":
|
|
52
|
+
prompt += "Generate implementation code based on the specification above.";
|
|
53
|
+
break;
|
|
54
|
+
case "validate":
|
|
55
|
+
prompt += "Validate if the existing code implements the specification correctly. Report any issues.";
|
|
56
|
+
break;
|
|
57
|
+
case "refactor":
|
|
58
|
+
prompt += "Refactor the existing code to better match the specification and improve quality.";
|
|
59
|
+
break;
|
|
60
|
+
case "test":
|
|
61
|
+
prompt += "Generate tests for the existing code based on the specification.";
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
return prompt;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
export { UnifiedAgentAdapter };
|
|
70
|
+
//# sourceMappingURL=unified-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-adapter.mjs","names":[],"sources":["../../../src/ai/agents/unified-adapter.ts"],"sourcesContent":["/**\n * Adapter for UnifiedAgent to work with Workspace AgentOrchestrator.\n */\n\nimport type { AgentProvider, AgentResult, AgentTask } from './types';\nimport type { AgentMode } from '@contractspec/lib.contracts';\nimport {\n type AgentSpec,\n createUnifiedAgent,\n UnifiedAgent,\n type UnifiedAgentConfig,\n} from '@contractspec/lib.ai-agent';\n\nexport class UnifiedAgentAdapter implements AgentProvider {\n private agent: UnifiedAgent;\n\n constructor(\n public readonly name: AgentMode,\n config: UnifiedAgentConfig,\n spec: AgentSpec = {\n meta: {\n key: 'workspace-agent',\n version: '1.0.0',\n description: 'Workspace Agent',\n stability: 'experimental',\n owners: [],\n tags: [],\n },\n instructions:\n 'You are an expert software engineer implementing specifications.',\n tools: [],\n }\n ) {\n this.agent = createUnifiedAgent(spec, config);\n }\n\n canHandle(_task: AgentTask): boolean {\n return true;\n }\n\n async generate(task: AgentTask): Promise<AgentResult> {\n try {\n const prompt = this.buildPrompt(task);\n const result = await this.agent.run(prompt);\n\n return {\n success: true,\n code: result.text,\n metadata: {\n finishReason: result.finishReason,\n usage: result.usage,\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n async validate(task: AgentTask): Promise<AgentResult> {\n return this.generate(task);\n }\n\n private buildPrompt(task: AgentTask): string {\n let prompt = '';\n\n if (task.specCode) {\n prompt += `Specification:\\n${task.specCode}\\n\\n`;\n }\n\n if (task.existingCode) {\n prompt += `Existing Code:\\n${task.existingCode}\\n\\n`;\n }\n\n switch (task.type) {\n case 'generate':\n prompt +=\n 'Generate implementation code based on the specification above.';\n break;\n case 'validate':\n prompt +=\n 'Validate if the existing code implements the specification correctly. Report any issues.';\n break;\n case 'refactor':\n prompt +=\n 'Refactor the existing code to better match the specification and improve quality.';\n break;\n case 'test':\n prompt +=\n 'Generate tests for the existing code based on the specification.';\n break;\n }\n\n return prompt;\n }\n}\n"],"mappings":";;;AAaA,IAAa,sBAAb,MAA0D;CACxD,AAAQ;CAER,YACE,AAAgB,MAChB,QACA,OAAkB;EAChB,MAAM;GACJ,KAAK;GACL,SAAS;GACT,aAAa;GACb,WAAW;GACX,QAAQ,EAAE;GACV,MAAM,EAAE;GACT;EACD,cACE;EACF,OAAO,EAAE;EACV,EACD;EAfgB;AAgBhB,OAAK,QAAQ,mBAAmB,MAAM,OAAO;;CAG/C,UAAU,OAA2B;AACnC,SAAO;;CAGT,MAAM,SAAS,MAAuC;AACpD,MAAI;GACF,MAAM,SAAS,KAAK,YAAY,KAAK;GACrC,MAAM,SAAS,MAAM,KAAK,MAAM,IAAI,OAAO;AAE3C,UAAO;IACL,SAAS;IACT,MAAM,OAAO;IACb,UAAU;KACR,cAAc,OAAO;KACrB,OAAO,OAAO;KACf;IACF;WACM,OAAO;AACd,UAAO;IACL,SAAS;IACT,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;IACjE;;;CAIL,MAAM,SAAS,MAAuC;AACpD,SAAO,KAAK,SAAS,KAAK;;CAG5B,AAAQ,YAAY,MAAyB;EAC3C,IAAI,SAAS;AAEb,MAAI,KAAK,SACP,WAAU,mBAAmB,KAAK,SAAS;AAG7C,MAAI,KAAK,aACP,WAAU,mBAAmB,KAAK,aAAa;AAGjD,UAAQ,KAAK,MAAb;GACE,KAAK;AACH,cACE;AACF;GACF,KAAK;AACH,cACE;AACF;GACF,KAAK;AACH,cACE;AACF;GACF,KAAK;AACH,cACE;AACF;;AAGJ,SAAO"}
|
package/dist/ai/index.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { AgentConfig, AgentMode, AgentProvider, AgentResult, AgentTask } from "./agents/types.mjs";
|
|
1
|
+
import { getAIProvider } from "./providers.mjs";
|
|
2
|
+
import { AgentConfig, AgentResult, AgentTask } from "./agents/types.mjs";
|
|
4
3
|
import { AgentOrchestrator } from "./agents/orchestrator.mjs";
|
|
5
4
|
import { SimpleAgent } from "./agents/simple-agent.mjs";
|
|
6
5
|
import { CursorAgent } from "./agents/cursor-agent.mjs";
|
|
7
6
|
import { ClaudeCodeAgent } from "./agents/claude-code-agent.mjs";
|
|
8
7
|
import { OpenAICodexAgent } from "./agents/openai-codex-agent.mjs";
|
|
8
|
+
import "./agents/index.mjs";
|
|
9
9
|
import { index_d_exports } from "./prompts/index.mjs";
|
package/dist/ai/index.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { getAIProvider
|
|
1
|
+
import { getAIProvider } from "./providers.mjs";
|
|
2
2
|
import { SimpleAgent } from "./agents/simple-agent.mjs";
|
|
3
3
|
import { CursorAgent } from "./agents/cursor-agent.mjs";
|
|
4
4
|
import { ClaudeCodeAgent } from "./agents/claude-code-agent.mjs";
|
|
5
5
|
import { OpenAICodexAgent } from "./agents/openai-codex-agent.mjs";
|
|
6
6
|
import { AgentOrchestrator } from "./agents/orchestrator.mjs";
|
|
7
|
-
import { AIClient } from "./client.mjs";
|
|
8
7
|
import "./agents/index.mjs";
|
|
9
8
|
import { prompts_exports } from "./prompts/index.mjs";
|
|
10
9
|
|
|
@@ -107,5 +107,5 @@ Follow this structure and quality level.`;
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
//#endregion
|
|
110
|
-
export {
|
|
110
|
+
export { spec_creation_exports };
|
|
111
111
|
//# sourceMappingURL=spec-creation.mjs.map
|
package/dist/ai/providers.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Config } from "../types/config.mjs";
|
|
2
1
|
import { LanguageModel } from "ai";
|
|
2
|
+
import { ResolvedContractsrcConfig } from "@contractspec/lib.contracts";
|
|
3
3
|
|
|
4
4
|
//#region src/ai/providers.d.ts
|
|
5
5
|
|
|
@@ -8,22 +8,7 @@ import { LanguageModel } from "ai";
|
|
|
8
8
|
*
|
|
9
9
|
* @deprecated Use createProvider() from @contractspec/lib.ai-providers instead
|
|
10
10
|
*/
|
|
11
|
-
declare function getAIProvider(config:
|
|
12
|
-
/**
|
|
13
|
-
* Validate that the provider is accessible and working
|
|
14
|
-
*
|
|
15
|
-
* @deprecated Use validateProvider() from @contractspec/lib.ai-providers instead
|
|
16
|
-
*/
|
|
17
|
-
declare function validateProvider(config: Config): Promise<{
|
|
18
|
-
success: boolean;
|
|
19
|
-
error?: string;
|
|
20
|
-
}>;
|
|
21
|
-
/**
|
|
22
|
-
* Get recommended models for each provider
|
|
23
|
-
*
|
|
24
|
-
* @deprecated Use getModelsForProvider() from @contractspec/lib.ai-providers instead
|
|
25
|
-
*/
|
|
26
|
-
declare function getRecommendedModels(provider: Config['aiProvider']): string[];
|
|
11
|
+
declare function getAIProvider(config: ResolvedContractsrcConfig): LanguageModel;
|
|
27
12
|
//#endregion
|
|
28
|
-
export { getAIProvider
|
|
13
|
+
export { getAIProvider };
|
|
29
14
|
//# sourceMappingURL=providers.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.mts","names":[],"sources":["../../src/ai/providers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"providers.d.mts","names":[],"sources":["../../src/ai/providers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;iBAiBgB,aAAA,SACN,4BACP"}
|
package/dist/ai/providers.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getAIProvider
|
|
1
|
+
import { getAIProvider } from "@contractspec/lib.ai-providers";
|
|
2
2
|
|
|
3
3
|
//#region src/ai/providers.ts
|
|
4
4
|
/**
|
|
@@ -13,27 +13,7 @@ function getAIProvider$1(config) {
|
|
|
13
13
|
customEndpoint: config.customEndpoint || void 0
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Validate that the provider is accessible and working
|
|
18
|
-
*
|
|
19
|
-
* @deprecated Use validateProvider() from @contractspec/lib.ai-providers instead
|
|
20
|
-
*/
|
|
21
|
-
async function validateProvider(config) {
|
|
22
|
-
return await validateLegacyProvider({
|
|
23
|
-
aiProvider: config.aiProvider,
|
|
24
|
-
aiModel: config.aiModel || void 0,
|
|
25
|
-
customEndpoint: config.customEndpoint || void 0
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Get recommended models for each provider
|
|
30
|
-
*
|
|
31
|
-
* @deprecated Use getModelsForProvider() from @contractspec/lib.ai-providers instead
|
|
32
|
-
*/
|
|
33
|
-
function getRecommendedModels$1(provider) {
|
|
34
|
-
return getRecommendedModels(provider);
|
|
35
|
-
}
|
|
36
16
|
|
|
37
17
|
//#endregion
|
|
38
|
-
export { getAIProvider$1 as getAIProvider
|
|
18
|
+
export { getAIProvider$1 as getAIProvider };
|
|
39
19
|
//# sourceMappingURL=providers.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.mjs","names":["getAIProvider","getProviderFromLib"
|
|
1
|
+
{"version":3,"file":"providers.mjs","names":["getAIProvider","getProviderFromLib"],"sources":["../../src/ai/providers.ts"],"sourcesContent":["/**\n * AI Provider utilities for ContractSpec workspace.\n *\n * Re-exports from @contractspec/lib.ai-providers with workspace-specific additions.\n */\nimport type { LanguageModel } from 'ai';\nimport {\n getAIProvider as getProviderFromLib,\n type LegacyConfig,\n} from '@contractspec/lib.ai-providers';\nimport type { ResolvedContractsrcConfig } from '@contractspec/lib.contracts';\n\n/**\n * Initialize AI provider based on configuration\n *\n * @deprecated Use createProvider() from @contractspec/lib.ai-providers instead\n */\nexport function getAIProvider(\n config: ResolvedContractsrcConfig\n): LanguageModel {\n const legacyConfig: LegacyConfig = {\n aiProvider: config.aiProvider,\n aiModel: config.aiModel || undefined,\n customEndpoint: config.customEndpoint || undefined,\n };\n return getProviderFromLib(legacyConfig);\n}\n"],"mappings":";;;;;;;;AAiBA,SAAgBA,gBACd,QACe;AAMf,QAAOC,cAL4B;EACjC,YAAY,OAAO;EACnB,SAAS,OAAO,WAAW;EAC3B,gBAAgB,OAAO,kBAAkB;EAC1C,CACsC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { DiscoverOptions, FileStat, FsAdapter } from "./ports/fs.mjs";
|
|
2
2
|
import { GitAdapter, GitCleanOptions, GitLogEntry } from "./ports/git.mjs";
|
|
3
3
|
import { WatchEvent, WatchEventHandler, WatchEventType, WatchOptions, Watcher, WatcherAdapter } from "./ports/watcher.mjs";
|
|
4
|
-
import { AiAdapter, AiGenerateOptions, AiGenerateResult, AiGenerateStructuredOptions, AiValidationResult } from "./ports/ai.mjs";
|
|
4
|
+
import { AiAdapter, AiGenerateOptions, AiGenerateResult, AiGenerateStructuredOptions, AiProvider, AiValidationResult } from "./ports/ai.mjs";
|
|
5
5
|
import { LogLevel, LoggerAdapter, ProgressReporter, ProgressUpdate, WorkspaceAdapters } from "./ports/logger.mjs";
|
|
6
6
|
import { RuleSyncOptions, RuleSyncPort, RuleSyncResult } from "./ports/rulesync.mjs";
|
|
7
7
|
import "./ports/index.mjs";
|
|
8
|
-
import {
|
|
8
|
+
import { createNodeFsAdapter } from "./adapters/fs.node.mjs";
|
|
9
|
+
import { createBunFsAdapter } from "./adapters/fs.bun.mjs";
|
|
10
|
+
import { DEFAULT_FS_IGNORES, DEFAULT_SPEC_PATTERNS } from "./adapters/fs.mjs";
|
|
9
11
|
import { createNodeGitAdapter } from "./adapters/git.mjs";
|
|
10
12
|
import { createNodeWatcherAdapter } from "./adapters/watcher.mjs";
|
|
11
13
|
import { createNodeAiAdapter } from "./adapters/ai.mjs";
|
|
@@ -13,7 +15,6 @@ import { createConsoleLoggerAdapter, createNoopLoggerAdapter } from "./adapters/
|
|
|
13
15
|
import { CreateAdaptersOptions, createNodeAdapters } from "./adapters/factory.mjs";
|
|
14
16
|
import { MetaRepoInfo, PackageManager, RepositoryType, SubmoduleInfo, WorkspaceInfo, detectPackageManager, detectRepositoryType, findMetaRepoRoot, findPackageRoot, findWorkspaceRoot, getExecCommand, getInstallCommand, getMetaRepoInfo, getPackageName, getRunCommand, getWorkspaceInfo, getWorkspacePackages, isMonorepo, parseGitModules } from "./adapters/workspace.mjs";
|
|
15
17
|
import "./adapters/index.mjs";
|
|
16
|
-
import { AgentMode, AiProvider, Config } from "./types/config.mjs";
|
|
17
18
|
import { ValidateSpecOptions, ValidateSpecResult, validateSpec, validateSpecs } from "./services/validate/spec-validator.mjs";
|
|
18
19
|
import { ValidateImplementationOptions, ValidateImplementationResult, validateImplementationFiles } from "./services/validate/implementation-validator.mjs";
|
|
19
20
|
import { BlueprintValidationResult, validateBlueprint } from "./services/validate/blueprint-validator.mjs";
|
|
@@ -47,6 +48,8 @@ import { generateAgentsMd, generateClaudeMcpConfig, generateContractsrcConfig, g
|
|
|
47
48
|
import { deepMergeOverwrite, deepMergePreserve, formatJson, safeParseJson } from "./services/setup/file-merger.mjs";
|
|
48
49
|
import { ALL_CHECK_CATEGORIES, CHECK_CATEGORY_LABELS, CheckCategory, CheckContext, CheckResult, CheckStatus, DoctorOptions, DoctorPromptCallbacks, DoctorResult, FixAction, FixResult } from "./services/doctor/types.mjs";
|
|
49
50
|
import { formatCheckResult, formatDoctorSummary, runDoctor } from "./services/doctor/doctor-service.mjs";
|
|
51
|
+
import { ContractVerificationStatus, DriftData, FinalizeResult, ImpactJson, PrActionOptions, ReportData, ReportInputs, RiskData, ValidationData, WhatChangedData } from "./services/action-pr/types.mjs";
|
|
52
|
+
import { PrActionService } from "./services/action-pr/service.mjs";
|
|
50
53
|
import { ALL_CI_CHECK_CATEGORIES, CICheckCategory, CICheckCategorySummary, CICheckOptions, CICheckResult, CIFormatOptions, CIIssue, CIIssueSeverity, CIOutputFormat, CI_CHECK_CATEGORY_LABELS } from "./services/ci-check/types.mjs";
|
|
51
54
|
import { runCIChecks } from "./services/ci-check/ci-check-service.mjs";
|
|
52
55
|
import { AgentAdapter, AgentGuideConfig, FormatOptions, GuideOptions, GuideResult } from "./services/agent-guide/types.mjs";
|
|
@@ -81,7 +84,7 @@ import { verifyBehavior } from "./services/verify/behavior-verifier.mjs";
|
|
|
81
84
|
import { createQuickAIReview, verifySemanticFields, verifyWithAI, verifyWithAIEnhanced } from "./services/verify/ai-verifier.mjs";
|
|
82
85
|
import { DiscoveryOptions, ImplementationSource, ImplementationStatus, ResolvedImplementation, ResolverOptions, SpecImplementationResult, SpecReferenceMatch } from "./services/implementation/types.mjs";
|
|
83
86
|
import { discoverAllImplementations, discoverImplementationsForSpec, extractSpecReferences, inferImplementationType } from "./services/implementation/discovery.mjs";
|
|
84
|
-
import {
|
|
87
|
+
import { parseExplicitImplementations } from "./services/implementation/resolver/parsers.mjs";
|
|
85
88
|
import { getConventionPaths, toKebabCase } from "./services/implementation/resolver/conventions.mjs";
|
|
86
89
|
import { determineStatus, getImplementationSummary } from "./services/implementation/resolver/status.mjs";
|
|
87
90
|
import { resolveAllImplementations, resolveImplementations } from "./services/implementation/resolver/index.mjs";
|
|
@@ -96,6 +99,8 @@ import { formatQuickstartPreview, isContractSpecInstalled, runQuickstart } from
|
|
|
96
99
|
import { DocsServiceOptions, DocsServiceResult, generateDocsFromSpecs } from "./services/docs/docs-service.mjs";
|
|
97
100
|
import { index_d_exports as index_d_exports$4 } from "./services/impact/index.mjs";
|
|
98
101
|
import { FormatterOptions, formatFiles } from "./services/formatter.mjs";
|
|
102
|
+
import { DriftActionOptions, DriftReportInputs, FinalizeDriftResult } from "./services/action-drift/types.mjs";
|
|
103
|
+
import { DriftActionService } from "./services/action-drift/service.mjs";
|
|
99
104
|
import { SpecVersionAnalysis } from "./services/versioning/types.mjs";
|
|
100
105
|
import { index_d_exports as index_d_exports$9 } from "./services/versioning/index.mjs";
|
|
101
106
|
import { index_d_exports as index_d_exports$7 } from "./services/upgrade/index.mjs";
|
|
@@ -112,10 +117,10 @@ import { ImportServiceAdapters, ImportServiceOptions, ImportServiceResult, impor
|
|
|
112
117
|
import { EndpointVerification, VerificationIssue, VerifyOptions, VerifyResult, verifyImportedContracts } from "./services/import/verify-service.mjs";
|
|
113
118
|
import { ReportOptions, generateCliReport, generateMarkdownReport } from "./services/import/report-service.mjs";
|
|
114
119
|
import "./services/index.mjs";
|
|
120
|
+
import { createWorkspaceRegistry, operationRegistry } from "./registry.mjs";
|
|
115
121
|
import { index_d_exports as index_d_exports$2 } from "./formatters/index.mjs";
|
|
116
|
-
import {
|
|
117
|
-
import {
|
|
118
|
-
import { AgentConfig, AgentProvider, AgentResult, AgentTask } from "./ai/agents/types.mjs";
|
|
122
|
+
import { getAIProvider } from "./ai/providers.mjs";
|
|
123
|
+
import { AgentConfig, AgentResult, AgentTask } from "./ai/agents/types.mjs";
|
|
119
124
|
import { AgentOrchestrator } from "./ai/agents/orchestrator.mjs";
|
|
120
125
|
import { SimpleAgent } from "./ai/agents/simple-agent.mjs";
|
|
121
126
|
import { CursorAgent } from "./ai/agents/cursor-agent.mjs";
|
|
@@ -125,4 +130,4 @@ import { index_d_exports as index_d_exports$5 } from "./ai/prompts/index.mjs";
|
|
|
125
130
|
import "./ai/index.mjs";
|
|
126
131
|
import { index_d_exports as index_d_exports$8 } from "./utils/index.mjs";
|
|
127
132
|
import * as module from "@contractspec/module.workspace";
|
|
128
|
-
export {
|
|
133
|
+
export { AIGenerator, AIReviewResult, ALL_CHECK_CATEGORIES, ALL_CI_CHECK_CATEGORIES, ALL_SETUP_TARGETS, AgentAdapter, AgentConfig, AgentGuideConfig, AgentGuideService, AgentOrchestrator, AgentResult, AgentTask, AiAdapter, AiGenerateOptions, AiGenerateResult, AiGenerateStructuredOptions, AiProvider, AiValidationResult, AnalyzeDepsOptions, AnalyzeDepsResult, BehaviorCheck, BlueprintValidationResult, BuildSpecOptions, BuildSpecResult, BuildTarget, BuildTargetResult, CHECK_CATEGORY_LABELS, CICheckCategory, CICheckCategorySummary, CICheckOptions, CICheckResult, CIFormatOptions, CIIssue, CIIssueSeverity, CIOutputFormat, CI_CHECK_CATEGORY_LABELS, CacheEntryMeta, CacheKeyString, CacheLookupResult, CacheMissReason, CacheStats, CacheStorageAdapter, CheckCategory, CheckContext, CheckResult, CheckStatus, ClaudeCodeAdapter, ClaudeCodeAgent, CleanOptions, CleanResult, CompareSpecsOptions, CompareSpecsResult, ContractVerificationStatus, CoverageByType, CreateAdaptersOptions, CreateRegeneratorOptions, CursorAgent, CursorCLIAdapter, DEFAULT_CACHE_CONFIG, DEFAULT_FS_IGNORES, DEFAULT_SPEC_PATTERNS, DiagramOptions, DiagramType, DiscoverOptions, DiscoveryOptions, DocsServiceOptions, DocsServiceResult, DoctorOptions, DoctorPromptCallbacks, DoctorResult, DriftActionOptions, DriftActionService, DriftData, DriftReportInputs, EndpointVerification, ExtendedWorkspaceInfo, ExtractOptions, FULL_DEPENDENCIES, FeatureSpecParams, FieldMapping, FieldMatchType, FileStat, FileSystemCacheStorage, FinalizeDriftResult, FinalizeResult, FixAction, FixResult, type FixStrategyType, type FixableIssue, FormatOptions, FormatterOptions, FsAdapter, GapAnalysisResult, GenerateArtifactsResult, GenerateViewsOptions, GenerateViewsResult, GenericMCPAdapter, GitAdapter, GitCleanOptions, GitLogEntry, GuideOptions, GuideResult, ImpactJson, ImplementationSource, ImplementationStatus, ImplementationValidationResult, ImplementationValidatorOptions, ImportServiceAdapters, ImportServiceOptions, ImportServiceResult, VerificationIssue as ImportVerificationIssue, VerifyOptions as ImportVerifyOptions, VerifyResult as ImportVerifyResult, InMemoryCacheStorage, IntegrityAnalysisOptions, IntegrityAnalysisResult, IntegrityIssue, IntentAlignment, KeyValueStore, LayerDiscoveryOptions, LayerDiscoveryResult, LayerInventory, LayerLocation, OpenApiExportOptions as LegacyOpenApiExportOptions, OpenApiExportResult as LegacyOpenApiExportResult, ListSpecsForViewOptions, ListSpecsForViewResult, ListSpecsOptions, LogLevel, LoggerAdapter, MINIMAL_DEPENDENCIES, MetaRepoInfo, MonorepoConfig, OpenAICodexAgent, OpenApiExportServiceOptions, OpenApiExportServiceResult, OpenApiImportServiceOptions, OpenApiImportServiceResult, OpenApiSyncServiceOptions, OpenApiSyncServiceResult, OpenApiValidateServiceOptions, OpenApiValidateServiceResult, PackageInstallResult, PackageManager, PrActionOptions, PrActionService, ProgressReporter, ProgressUpdate, QuickstartDependency, QuickstartMode, QuickstartOptions, QuickstartPromptCallbacks, QuickstartResult, RegistryClient, RegistryClientOptions, ReportData, ReportInputs, ReportOptions, RepositoryType, ResolvedImplementation, ResolverOptions, RiskData, RuleSyncOptions, RuleSyncPort, RuleSyncResult, RuleSyncService, RunTestsResult, SETUP_TARGET_LABELS, SemanticVerificationResult, SetupFileResult, SetupOptions, SetupPromptCallbacks, SetupResult, SetupScope, SetupTarget, SimpleAgent, SpecCreatorService, SpecImplementationResult, SpecInventory, SpecLocation, SpecReferenceMatch, SpecVersionAnalysis, StructureCheck, SubmoduleInfo, SyncBuildFn, SyncSpecsOptions, SyncSpecsResult, SyncSpecsRunResult, SyncValidateFn, TenantValidationContext, TenantValidationResult, TestGeneratorOptions, TestGeneratorService, TestServiceOptions, TestServiceResult, VALID_AUDIENCES, ValidateImplementationOptions, ValidateImplementationResult, ValidateSpecOptions, ValidateSpecResult, ValidationData, VerificationCacheConfig, VerificationCacheEntry, VerificationCacheKey, VerificationCacheService, VerificationIssue$1 as VerificationIssue, VerifyConfig, VerifyInput, VerifyOptions$1 as VerifyOptions, VerifyResult$1 as VerifyResult, VerifyService, ViewAudience, ViewEntry, WatchBuildFn, WatchEvent, WatchEventHandler, WatchEventType, WatchOptions, WatchSpecsOptions, WatchValidateFn, Watcher, WatcherAdapter, WhatChangedData, WorkspaceAdapters, WorkspaceConfigInfo, WorkspaceInfo, WorkspaceStateCacheStorage, addToRegistry, agentAdapters, agentGuideService, analyzeDeps, analyzeGap, analyzeIntegrity, buildSpec, cacheKeyToString, claudeCodeAdapter, cleanArtifacts, compareSpecs, computeContentHash, createAgentGuideService, createBunFsAdapter, createConsoleLoggerAdapter, createEmptyLayerInventory, createFileSystemCacheStorage, createInMemoryCacheStorage, createNodeAdapters, createNodeAiAdapter, createNodeFsAdapter, createNodeGitAdapter, createNodeWatcherAdapter, createNoopLoggerAdapter, createQuickAIReview, createRegeneratorService, createSpecCreator, createVerificationCacheService, createVerifyService, createWorkspaceRegistry, createWorkspaceStateCacheStorage, cursorCLIAdapter, deepMergeOverwrite, deepMergePreserve, detectPackageManager, detectRepositoryType, determineStatus, discoverAllImplementations, discoverImplementationsForSpec, discoverLayers, exportGraphAsDot, exportOpenApi, exportSpecForLLM, extractContracts, extractSpecReferences, index_d_exports as features, filterIssuesBySeverity, filterIssuesByType, findAllConfigFiles, findMetaRepoRoot, findPackageRoot, findWorkspaceRoot, index_d_exports$1 as fix, formatCheckResult, formatDoctorSummary, formatFiles, formatJson, formatQuickstartPreview, formatVerificationReport, formatWorkspaceInfo, index_d_exports$2 as formatters, generateAgentsMd, generateAppBlueprintSpec, generateArtifacts, generateClaudeMcpConfig, generateCliReport, generateComponentTemplate, generateContractsrcConfig, generateCursorMcpConfig, generateCursorRules, generateCursorRulesFromParsedSpec, generateDataViewSpec, generateDocsFromSpecs, generateEventSpec, generateExperimentSpec, generateFeatureContextMarkdown, generateFeatureSpec, generateGuideFromParsedSpec, generateHandlerTemplate, generateIntegrationSpec, generateKnowledgeSpaceSpec, generateMarkdownReport, generateMermaidDiagram, generateMigrationSpec, generateOperationSpec, generatePresentationSpec, generateTelemetrySpec, generateTestTemplate, generateView, generateViews, generateVscodeSettings, generateWorkflowRunnerTemplate, generateWorkflowSpec, genericMCPAdapter, getAIProvider, getAgentAdapter, getAllLayerLocations, getAllSpecs, getApiKey, getClaudeDesktopConfigPath, getContractNode, getConventionPaths, getDependencies, getDevDependencies, getExecCommand, getExtendedWorkspaceInfo, getGraphStats, getImplementationSummary, getInstallCommand, getMetaRepoInfo, getPackageName, getProductionDependencies, getRunCommand, getWorkspaceInfo, getWorkspacePackages, groupSpecsByType, index_d_exports$3 as hooks, index_d_exports$4 as impact, importFromOpenApiService, importFromSourceService, inferImplementationType, isContractSpecInstalled, isMonorepo, listAgentTypes, listFromRegistry, listSpecs, listSpecsForView, listTests, loadWorkspaceConfig, mergeMonorepoConfigs, module, operationRegistry, parseExplicitImplementations, parseGitModules, index_d_exports$5 as prompts, resolveAllImplementations, resolveImplementations, resolveRegistryUrl, runCIChecks, runDoctor, runQuickstart, runSetup, runTestSpecs, runTests, safeParseJson, searchRegistry, stringToCacheKey, syncSpecs, syncWithOpenApiService, index_d_exports$6 as templates, toKebabCase, index_d_exports$7 as upgrade, index_d_exports$8 as utils, validateAgainstOpenApiService, validateAudience, validateBlueprint, validateImplementationFiles, validateImplementationWithAgent, validateSpec, validateSpecs, validateTenantConfig, verifyBehavior, verifyImplementationAgainstParsedSpec, verifyImportedContracts, verifySemanticFields, verifyService, verifyStructure, verifyWithAI, verifyWithAIEnhanced, index_d_exports$9 as versioning, index_d_exports$10 as vibe, watchSpecs };
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DEFAULT_FS_IGNORES, DEFAULT_SPEC_PATTERNS } from "./adapters/fs.mjs";
|
|
2
|
+
import { createNodeFsAdapter } from "./adapters/fs.node.mjs";
|
|
3
|
+
import { createBunFsAdapter } from "./adapters/fs.bun.mjs";
|
|
2
4
|
import { createNodeGitAdapter } from "./adapters/git.mjs";
|
|
3
5
|
import { createNodeWatcherAdapter } from "./adapters/watcher.mjs";
|
|
4
6
|
import { createNodeAiAdapter } from "./adapters/ai.mjs";
|
|
@@ -6,11 +8,13 @@ import { createConsoleLoggerAdapter, createNoopLoggerAdapter } from "./adapters/
|
|
|
6
8
|
import { createNodeAdapters } from "./adapters/factory.mjs";
|
|
7
9
|
import { detectPackageManager, detectRepositoryType, findMetaRepoRoot, findPackageRoot, findWorkspaceRoot, getExecCommand, getInstallCommand, getMetaRepoInfo, getPackageName, getRunCommand, getWorkspaceInfo, getWorkspacePackages, isMonorepo, parseGitModules } from "./adapters/workspace.mjs";
|
|
8
10
|
import "./adapters/index.mjs";
|
|
11
|
+
import { utils_exports } from "./utils/index.mjs";
|
|
12
|
+
import { groupSpecsByType, listSpecs } from "./services/list.mjs";
|
|
9
13
|
import { validateSpec, validateSpecs } from "./services/validate/spec-validator.mjs";
|
|
10
14
|
import { validateImplementationFiles } from "./services/validate/implementation-validator.mjs";
|
|
11
15
|
import { validateBlueprint } from "./services/validate/blueprint-validator.mjs";
|
|
12
16
|
import { validateTenantConfig } from "./services/validate/tenant-validator.mjs";
|
|
13
|
-
import { getAIProvider
|
|
17
|
+
import { getAIProvider } from "./ai/providers.mjs";
|
|
14
18
|
import { SimpleAgent } from "./ai/agents/simple-agent.mjs";
|
|
15
19
|
import { CursorAgent } from "./ai/agents/cursor-agent.mjs";
|
|
16
20
|
import { ClaudeCodeAgent } from "./ai/agents/claude-code-agent.mjs";
|
|
@@ -20,8 +24,6 @@ import { validateImplementationWithAgent } from "./services/validate/implementat
|
|
|
20
24
|
import { features_exports } from "./services/features/index.mjs";
|
|
21
25
|
import { compareSpecs } from "./services/diff.mjs";
|
|
22
26
|
import { analyzeDeps, exportGraphAsDot, getContractNode, getGraphStats } from "./services/deps.mjs";
|
|
23
|
-
import { utils_exports } from "./utils/index.mjs";
|
|
24
|
-
import { groupSpecsByType, listSpecs } from "./services/list.mjs";
|
|
25
27
|
import { getApiKey, loadWorkspaceConfig } from "./services/config.mjs";
|
|
26
28
|
import { buildSpec } from "./services/build.mjs";
|
|
27
29
|
import { importFromOpenApiService } from "./services/openapi/import-service.mjs";
|
|
@@ -45,10 +47,11 @@ import { deepMergeOverwrite, deepMergePreserve, formatJson, safeParseJson } from
|
|
|
45
47
|
import { runSetup } from "./services/setup/setup-service.mjs";
|
|
46
48
|
import { ALL_CHECK_CATEGORIES, CHECK_CATEGORY_LABELS } from "./services/doctor/types.mjs";
|
|
47
49
|
import { formatCheckResult, formatDoctorSummary, runDoctor } from "./services/doctor/doctor-service.mjs";
|
|
50
|
+
import { PrActionService } from "./services/action-pr/service.mjs";
|
|
48
51
|
import { ALL_CI_CHECK_CATEGORIES, CI_CHECK_CATEGORY_LABELS } from "./services/ci-check/types.mjs";
|
|
49
52
|
import { discoverAllImplementations, discoverImplementationsForSpec, extractSpecReferences, inferImplementationType } from "./services/implementation/discovery.mjs";
|
|
50
53
|
import { getConventionPaths, toKebabCase } from "./services/implementation/resolver/conventions.mjs";
|
|
51
|
-
import {
|
|
54
|
+
import { parseExplicitImplementations } from "./services/implementation/resolver/parsers.mjs";
|
|
52
55
|
import { determineStatus, getImplementationSummary } from "./services/implementation/resolver/status.mjs";
|
|
53
56
|
import { resolveAllImplementations, resolveImplementations } from "./services/implementation/resolver/index.mjs";
|
|
54
57
|
import { generateDocsFromSpecs } from "./services/docs/docs-service.mjs";
|
|
@@ -91,6 +94,7 @@ import { FULL_DEPENDENCIES, MINIMAL_DEPENDENCIES, getDependencies, getDevDepende
|
|
|
91
94
|
import { formatQuickstartPreview, isContractSpecInstalled, runQuickstart } from "./services/quickstart/quickstart-service.mjs";
|
|
92
95
|
import { impact_exports } from "./services/impact/index.mjs";
|
|
93
96
|
import { formatFiles } from "./services/formatter.mjs";
|
|
97
|
+
import { DriftActionService } from "./services/action-drift/service.mjs";
|
|
94
98
|
import { versioning_exports } from "./services/versioning/index.mjs";
|
|
95
99
|
import { upgrade_exports } from "./services/upgrade/index.mjs";
|
|
96
100
|
import { hooks_exports } from "./services/hooks/index.mjs";
|
|
@@ -104,10 +108,10 @@ import { importFromSourceService } from "./services/import/import-service.mjs";
|
|
|
104
108
|
import { verifyImportedContracts } from "./services/import/verify-service.mjs";
|
|
105
109
|
import { generateCliReport, generateMarkdownReport } from "./services/import/report-service.mjs";
|
|
106
110
|
import "./services/index.mjs";
|
|
111
|
+
import { createWorkspaceRegistry, operationRegistry } from "./registry.mjs";
|
|
107
112
|
import { formatters_exports } from "./formatters/index.mjs";
|
|
108
|
-
import { AIClient } from "./ai/client.mjs";
|
|
109
113
|
import { prompts_exports } from "./ai/prompts/index.mjs";
|
|
110
114
|
import "./ai/index.mjs";
|
|
111
115
|
import * as module from "@contractspec/module.workspace";
|
|
112
116
|
|
|
113
|
-
export {
|
|
117
|
+
export { AIGenerator, ALL_CHECK_CATEGORIES, ALL_CI_CHECK_CATEGORIES, ALL_SETUP_TARGETS, AgentGuideService, AgentOrchestrator, CHECK_CATEGORY_LABELS, CI_CHECK_CATEGORY_LABELS, ClaudeCodeAdapter, ClaudeCodeAgent, CursorAgent, CursorCLIAdapter, DEFAULT_CACHE_CONFIG, DEFAULT_FS_IGNORES, DEFAULT_SPEC_PATTERNS, DriftActionService, FULL_DEPENDENCIES, FileSystemCacheStorage, GenericMCPAdapter, InMemoryCacheStorage, MINIMAL_DEPENDENCIES, OpenAICodexAgent, PrActionService, RegistryClient, RuleSyncService, SETUP_TARGET_LABELS, SimpleAgent, SpecCreatorService, TestGeneratorService, VALID_AUDIENCES, VerificationCacheService, VerifyService, WorkspaceStateCacheStorage, addToRegistry, agentAdapters, agentGuideService, analyzeDeps, analyzeGap, analyzeIntegrity, buildSpec, cacheKeyToString, claudeCodeAdapter, cleanArtifacts, compareSpecs, computeContentHash, createAgentGuideService, createBunFsAdapter, createConsoleLoggerAdapter, createEmptyLayerInventory, createFileSystemCacheStorage, createInMemoryCacheStorage, createNodeAdapters, createNodeAiAdapter, createNodeFsAdapter, createNodeGitAdapter, createNodeWatcherAdapter, createNoopLoggerAdapter, createQuickAIReview, createRegeneratorService, createSpecCreator, createVerificationCacheService, createVerifyService, createWorkspaceRegistry, createWorkspaceStateCacheStorage, cursorCLIAdapter, deepMergeOverwrite, deepMergePreserve, detectPackageManager, detectRepositoryType, determineStatus, discoverAllImplementations, discoverImplementationsForSpec, discoverLayers, exportGraphAsDot, exportOpenApi, exportSpecForLLM, extractContracts, extractSpecReferences, features_exports as features, filterIssuesBySeverity, filterIssuesByType, findAllConfigFiles, findMetaRepoRoot, findPackageRoot, findWorkspaceRoot, fix_exports as fix, formatCheckResult, formatDoctorSummary, formatFiles, formatJson, formatQuickstartPreview, formatVerificationReport, formatWorkspaceInfo, formatters_exports as formatters, generateAgentsMd, generateAppBlueprintSpec, generateArtifacts, generateClaudeMcpConfig, generateCliReport, generateComponentTemplate, generateContractsrcConfig, generateCursorMcpConfig, generateCursorRules, generateCursorRulesFromParsedSpec, generateDataViewSpec, generateDocsFromSpecs, generateEventSpec, generateExperimentSpec, generateFeatureContextMarkdown, generateFeatureSpec, generateGuideFromParsedSpec, generateHandlerTemplate, generateIntegrationSpec, generateKnowledgeSpaceSpec, generateMarkdownReport, generateMermaidDiagram, generateMigrationSpec, generateOperationSpec, generatePresentationSpec, generateTelemetrySpec, generateTestTemplate, generateView, generateViews, generateVscodeSettings, generateWorkflowRunnerTemplate, generateWorkflowSpec, genericMCPAdapter, getAIProvider, getAgentAdapter, getAllLayerLocations, getAllSpecs, getApiKey, getClaudeDesktopConfigPath, getContractNode, getConventionPaths, getDependencies, getDevDependencies, getExecCommand, getExtendedWorkspaceInfo, getGraphStats, getImplementationSummary, getInstallCommand, getMetaRepoInfo, getPackageName, getProductionDependencies, getRunCommand, getWorkspaceInfo, getWorkspacePackages, groupSpecsByType, hooks_exports as hooks, impact_exports as impact, importFromOpenApiService, importFromSourceService, inferImplementationType, isContractSpecInstalled, isMonorepo, listAgentTypes, listFromRegistry, listSpecs, listSpecsForView, listTests, loadWorkspaceConfig, mergeMonorepoConfigs, module, operationRegistry, parseExplicitImplementations, parseGitModules, prompts_exports as prompts, resolveAllImplementations, resolveImplementations, resolveRegistryUrl, runCIChecks, runDoctor, runQuickstart, runSetup, runTestSpecs, runTests, safeParseJson, searchRegistry, stringToCacheKey, syncSpecs, syncWithOpenApiService, templates_exports as templates, toKebabCase, upgrade_exports as upgrade, utils_exports as utils, validateAgainstOpenApiService, validateAudience, validateBlueprint, validateImplementationFiles, validateImplementationWithAgent, validateSpec, validateSpecs, validateTenantConfig, verifyBehavior, verifyImplementationAgainstParsedSpec, verifyImportedContracts, verifySemanticFields, verifyService, verifyStructure, verifyWithAI, verifyWithAIEnhanced, versioning_exports as versioning, vibe_exports as vibe, watchSpecs };
|
package/dist/ports/ai.d.mts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ResolvedContractsrcConfig } from "@contractspec/lib.contracts";
|
|
2
2
|
|
|
3
3
|
//#region src/ports/ai.d.ts
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* AI provider type.
|
|
7
|
+
*/
|
|
8
|
+
type AiProvider = 'claude' | 'openai' | 'ollama' | 'custom';
|
|
5
9
|
/**
|
|
6
10
|
* AI generation options.
|
|
7
11
|
*/
|
|
@@ -38,7 +42,7 @@ interface AiAdapter {
|
|
|
38
42
|
/**
|
|
39
43
|
* Validate provider configuration.
|
|
40
44
|
*/
|
|
41
|
-
validateProvider(config:
|
|
45
|
+
validateProvider(config: ResolvedContractsrcConfig): Promise<AiValidationResult>;
|
|
42
46
|
/**
|
|
43
47
|
* Generate text from prompt.
|
|
44
48
|
*/
|
|
@@ -55,5 +59,5 @@ interface AiAdapter {
|
|
|
55
59
|
streamText(options: AiGenerateOptions, onChunk: (text: string) => void): Promise<string>;
|
|
56
60
|
}
|
|
57
61
|
//#endregion
|
|
58
|
-
export { AiAdapter, AiGenerateOptions, AiGenerateResult, AiGenerateStructuredOptions, AiValidationResult };
|
|
62
|
+
export { AiAdapter, AiGenerateOptions, AiGenerateResult, AiGenerateStructuredOptions, AiProvider, AiValidationResult };
|
|
59
63
|
//# sourceMappingURL=ai.d.mts.map
|
package/dist/ports/ai.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.mts","names":[],"sources":["../../src/ports/ai.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai.d.mts","names":[],"sources":["../../src/ports/ai.ts"],"sourcesContent":[],"mappings":";;;;AAcA;AASA;AASA;AAOiB,KA9BL,UAAA,GA8BuB,QAAA,GAAA,QAAA,GAAA,QAAA,GAAA,QAAA;AAQnC;;;AAMK,UAvCY,iBAAA,CAuCZ;EAKmB,MAAA,EAAA,MAAA;EAA4B,YAAA,CAAA,EAAA,MAAA;EAAR,MAAA,CAAA,EAAA,OAAA;;;;;AAa/B,UAhDI,2BAgDJ,CAAA,EAAA,CAAA,CAAA;EAER,MAAA,EAAA,MAAA;EAAO,YAAA,CAAA,EAAA,MAAA;;;;;;UAzCK,gBAAA;;;;;;UAOA,kBAAA;;;;;;;UAQA,SAAA;;;;2BAKL,4BACP,QAAQ;;;;wBAKW,oBAAoB,QAAQ;;;;iCAMvC,4BAA4B,KACpC;YAAkB;;;;;sBAMV,qDAER"}
|
package/dist/ports/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DiscoverOptions, FileStat, FsAdapter } from "./fs.mjs";
|
|
2
2
|
import { GitAdapter, GitCleanOptions, GitLogEntry } from "./git.mjs";
|
|
3
3
|
import { WatchEvent, WatchEventHandler, WatchEventType, WatchOptions, Watcher, WatcherAdapter } from "./watcher.mjs";
|
|
4
|
-
import { AiAdapter, AiGenerateOptions, AiGenerateResult, AiGenerateStructuredOptions, AiValidationResult } from "./ai.mjs";
|
|
4
|
+
import { AiAdapter, AiGenerateOptions, AiGenerateResult, AiGenerateStructuredOptions, AiProvider, AiValidationResult } from "./ai.mjs";
|
|
5
5
|
import { LogLevel, LoggerAdapter, ProgressReporter, ProgressUpdate, WorkspaceAdapters } from "./logger.mjs";
|
|
6
6
|
import { RuleSyncOptions, RuleSyncPort, RuleSyncResult } from "./rulesync.mjs";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OperationSpecRegistry } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
3
|
+
//#region src/registry.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create workspace operation registry with all required specs and handlers bound.
|
|
7
|
+
*/
|
|
8
|
+
declare function createWorkspaceRegistry(): OperationSpecRegistry;
|
|
9
|
+
/**
|
|
10
|
+
* Export a ready-to-use registry for CLI compatibility.
|
|
11
|
+
*/
|
|
12
|
+
declare const operationRegistry: OperationSpecRegistry;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { createWorkspaceRegistry, operationRegistry };
|
|
15
|
+
//# sourceMappingURL=registry.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.mts","names":[],"sources":["../src/registry.ts"],"sourcesContent":[],"mappings":";;;;;;AAQA;AAYa,iBAZG,uBAAA,CAAA,CAYc,EAZa,qBAYe;;;;cAA7C,mBAAiB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OperationSpecRegistry, registerReportContracts } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
3
|
+
//#region src/registry.ts
|
|
4
|
+
/**
|
|
5
|
+
* Create workspace operation registry with all required specs and handlers bound.
|
|
6
|
+
*/
|
|
7
|
+
function createWorkspaceRegistry() {
|
|
8
|
+
const registry = new OperationSpecRegistry();
|
|
9
|
+
registerReportContracts(registry);
|
|
10
|
+
return registry;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Export a ready-to-use registry for CLI compatibility.
|
|
14
|
+
*/
|
|
15
|
+
const operationRegistry = createWorkspaceRegistry();
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { createWorkspaceRegistry, operationRegistry };
|
|
19
|
+
//# sourceMappingURL=registry.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.mjs","names":[],"sources":["../src/registry.ts"],"sourcesContent":["import {\n OperationSpecRegistry,\n registerReportContracts,\n} from '@contractspec/lib.contracts';\n\n/**\n * Create workspace operation registry with all required specs and handlers bound.\n */\nexport function createWorkspaceRegistry(): OperationSpecRegistry {\n const registry = new OperationSpecRegistry();\n\n // Register report-related contracts\n registerReportContracts(registry);\n\n return registry;\n}\n\n/**\n * Export a ready-to-use registry for CLI compatibility.\n */\nexport const operationRegistry = createWorkspaceRegistry();\n"],"mappings":";;;;;;AAQA,SAAgB,0BAAiD;CAC/D,MAAM,WAAW,IAAI,uBAAuB;AAG5C,yBAAwB,SAAS;AAEjC,QAAO;;;;;AAMT,MAAa,oBAAoB,yBAAyB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReportData } from "../action-pr/types.mjs";
|
|
2
|
+
import { DriftReportInputs, FinalizeDriftResult } from "./types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/services/action-drift/service.d.ts
|
|
5
|
+
declare class DriftActionService {
|
|
6
|
+
buildReportData(inputs: DriftReportInputs): ReportData;
|
|
7
|
+
finalizeResults(data: ReportData, onDrift: string): FinalizeDriftResult;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { DriftActionService };
|
|
11
|
+
//# sourceMappingURL=service.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.mts","names":[],"sources":["../../../src/services/action-drift/service.ts"],"sourcesContent":[],"mappings":";;;;cAMa,kBAAA;0BACa,oBAAoB;wBA8CtB,8BAA8B;AA/CtD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region src/services/action-drift/service.ts
|
|
2
|
+
var DriftActionService = class {
|
|
3
|
+
buildReportData(inputs) {
|
|
4
|
+
const reportData = inputs.existingReportData || {};
|
|
5
|
+
reportData.contracts = inputs.contractsJson;
|
|
6
|
+
reportData.whatChanged = {
|
|
7
|
+
summary: "Drift check completed.",
|
|
8
|
+
detailsPath: "",
|
|
9
|
+
...reportData.whatChanged
|
|
10
|
+
};
|
|
11
|
+
reportData.risk = {
|
|
12
|
+
status: "unknown",
|
|
13
|
+
breaking: 0,
|
|
14
|
+
nonBreaking: 0,
|
|
15
|
+
...reportData.risk
|
|
16
|
+
};
|
|
17
|
+
reportData.validation = {
|
|
18
|
+
status: "skipped",
|
|
19
|
+
outputPath: "",
|
|
20
|
+
...reportData.validation
|
|
21
|
+
};
|
|
22
|
+
reportData.drift = {
|
|
23
|
+
status: inputs.driftStatus,
|
|
24
|
+
files: inputs.driftFiles
|
|
25
|
+
};
|
|
26
|
+
if (!reportData.nextSteps) reportData.nextSteps = [];
|
|
27
|
+
if (inputs.driftStatus === "fail") reportData.nextSteps.push("Run the generate command locally and commit drift fixes.");
|
|
28
|
+
return reportData;
|
|
29
|
+
}
|
|
30
|
+
finalizeResults(data, onDrift) {
|
|
31
|
+
const driftDetected = data.drift?.status === "fail";
|
|
32
|
+
let shouldFail = false;
|
|
33
|
+
if (driftDetected && onDrift === "fail") shouldFail = true;
|
|
34
|
+
return {
|
|
35
|
+
driftDetected,
|
|
36
|
+
shouldFail
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { DriftActionService };
|
|
43
|
+
//# sourceMappingURL=service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.mjs","names":[],"sources":["../../../src/services/action-drift/service.ts"],"sourcesContent":["import type {\n DriftReportInputs,\n FinalizeDriftResult,\n ReportData,\n} from './types';\n\nexport class DriftActionService {\n buildReportData(inputs: DriftReportInputs): ReportData {\n // Start with existing data or empty structure\n const reportData: ReportData = inputs.existingReportData || {};\n\n // Update with latest contracts data\n reportData.contracts = inputs.contractsJson;\n\n // Set specific drift-check values\n reportData.whatChanged = {\n summary: 'Drift check completed.',\n detailsPath: '',\n ...reportData.whatChanged, // Preserve if existing, though usually overwritten by specific action logic\n };\n\n // Reset risk/validation as this action focuses on drift\n reportData.risk = {\n status: 'unknown',\n breaking: 0,\n nonBreaking: 0,\n ...reportData.risk,\n };\n\n reportData.validation = {\n status: 'skipped',\n outputPath: '',\n ...reportData.validation,\n };\n\n reportData.drift = {\n status: inputs.driftStatus,\n files: inputs.driftFiles,\n };\n\n if (!reportData.nextSteps) {\n reportData.nextSteps = [];\n }\n\n if (inputs.driftStatus === 'fail') {\n reportData.nextSteps.push(\n 'Run the generate command locally and commit drift fixes.'\n );\n }\n\n return reportData;\n }\n\n finalizeResults(data: ReportData, onDrift: string): FinalizeDriftResult {\n const driftDetected = data.drift?.status === 'fail';\n let shouldFail = false;\n\n if (driftDetected && onDrift === 'fail') {\n shouldFail = true;\n }\n\n return {\n driftDetected,\n shouldFail,\n };\n }\n}\n"],"mappings":";AAMA,IAAa,qBAAb,MAAgC;CAC9B,gBAAgB,QAAuC;EAErD,MAAM,aAAyB,OAAO,sBAAsB,EAAE;AAG9D,aAAW,YAAY,OAAO;AAG9B,aAAW,cAAc;GACvB,SAAS;GACT,aAAa;GACb,GAAG,WAAW;GACf;AAGD,aAAW,OAAO;GAChB,QAAQ;GACR,UAAU;GACV,aAAa;GACb,GAAG,WAAW;GACf;AAED,aAAW,aAAa;GACtB,QAAQ;GACR,YAAY;GACZ,GAAG,WAAW;GACf;AAED,aAAW,QAAQ;GACjB,QAAQ,OAAO;GACf,OAAO,OAAO;GACf;AAED,MAAI,CAAC,WAAW,UACd,YAAW,YAAY,EAAE;AAG3B,MAAI,OAAO,gBAAgB,OACzB,YAAW,UAAU,KACnB,2DACD;AAGH,SAAO;;CAGT,gBAAgB,MAAkB,SAAsC;EACtE,MAAM,gBAAgB,KAAK,OAAO,WAAW;EAC7C,IAAI,aAAa;AAEjB,MAAI,iBAAiB,YAAY,OAC/B,cAAa;AAGf,SAAO;GACL;GACA;GACD"}
|