@lssm/app.cli-contractspec 0.0.0-canary-20251221164004 → 0.0.0-canary-20251221185840
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/CHANGELOG.md +9 -9
- package/dist/ai/agents/claude-code-agent.d.ts +21 -0
- package/dist/ai/agents/cursor-agent.d.ts +67 -0
- package/dist/ai/agents/index.d.ts +10 -0
- package/dist/ai/agents/openai-codex-agent.d.ts +21 -0
- package/dist/ai/agents/orchestrator.d.ts +49 -0
- package/dist/ai/agents/simple-agent.d.ts +16 -0
- package/dist/ai/agents/types.d.ts +33 -0
- package/dist/ai/client.d.ts +78 -0
- package/dist/ai/prompts/code-generation.d.ts +21 -0
- package/dist/ai/prompts/spec-creation.d.ts +22 -0
- package/dist/ai/providers.d.ts +18 -0
- package/dist/cli.d.ts +3 -0
- package/dist/commands/build/agent-generation.d.ts +23 -0
- package/dist/commands/build/build-command.d.ts +4 -0
- package/dist/commands/build/build-data-view.d.ts +4 -0
- package/dist/commands/build/build-form.d.ts +5 -0
- package/dist/commands/build/build-operation.d.ts +5 -0
- package/dist/commands/build/build-presentation.d.ts +5 -0
- package/dist/commands/build/build-workflow.d.ts +4 -0
- package/dist/commands/build/data-view-renderer-template.d.ts +7 -0
- package/dist/commands/build/index.d.ts +10 -0
- package/dist/commands/build/index.test.d.ts +2 -0
- package/dist/commands/build/naming.d.ts +3 -0
- package/dist/commands/build/paths.d.ts +19 -0
- package/dist/commands/build/spec-detect.d.ts +9 -0
- package/dist/commands/build/types.d.ts +11 -0
- package/dist/commands/chat/index.d.ts +11 -0
- package/dist/commands/ci/index.d.ts +9 -0
- package/dist/commands/clean/index.d.ts +3 -0
- package/dist/commands/create/ai-assist.d.ts +15 -0
- package/dist/commands/create/create-app-config.d.ts +4 -0
- package/dist/commands/create/create-command.d.ts +4 -0
- package/dist/commands/create/create-data-view.d.ts +4 -0
- package/dist/commands/create/create-event.d.ts +4 -0
- package/dist/commands/create/create-experiment.d.ts +4 -0
- package/dist/commands/create/create-integration.d.ts +4 -0
- package/dist/commands/create/create-knowledge.d.ts +4 -0
- package/dist/commands/create/create-migration.d.ts +4 -0
- package/dist/commands/create/create-operation.d.ts +4 -0
- package/dist/commands/create/create-presentation.d.ts +4 -0
- package/dist/commands/create/create-telemetry.d.ts +4 -0
- package/dist/commands/create/create-workflow.d.ts +4 -0
- package/dist/commands/create/index.d.ts +3 -0
- package/dist/commands/create/types.d.ts +9 -0
- package/dist/commands/create/wizards/app-config.d.ts +3 -0
- package/dist/commands/create/wizards/data-view.d.ts +3 -0
- package/dist/commands/create/wizards/event.d.ts +6 -0
- package/dist/commands/create/wizards/experiment.d.ts +3 -0
- package/dist/commands/create/wizards/integration.d.ts +3 -0
- package/dist/commands/create/wizards/knowledge.d.ts +3 -0
- package/dist/commands/create/wizards/migration.d.ts +3 -0
- package/dist/commands/create/wizards/operation.d.ts +6 -0
- package/dist/commands/create/wizards/presentation.d.ts +6 -0
- package/dist/commands/create/wizards/telemetry.d.ts +3 -0
- package/dist/commands/create/wizards/workflow.d.ts +3 -0
- package/dist/commands/create/write-spec-file.d.ts +13 -0
- package/dist/commands/deps/graph.d.ts +15 -0
- package/dist/commands/deps/graph.test.d.ts +2 -0
- package/dist/commands/deps/index.d.ts +3 -0
- package/dist/commands/deps/parse-imports.d.ts +2 -0
- package/dist/commands/diff/index.d.ts +3 -0
- package/dist/commands/diff/semantic.d.ts +5 -0
- package/dist/commands/diff/semantic.test.d.ts +2 -0
- package/dist/commands/diff/text.d.ts +3 -0
- package/dist/commands/diff/types.d.ts +12 -0
- package/dist/commands/doctor/index.d.ts +9 -0
- package/dist/commands/examples/index.d.ts +3 -0
- package/dist/commands/impl/index.d.ts +16 -0
- package/dist/commands/impl/link.d.ts +11 -0
- package/dist/commands/impl/list.d.ts +11 -0
- package/dist/commands/impl/status.d.ts +11 -0
- package/dist/commands/impl/types.d.ts +42 -0
- package/dist/commands/impl/verify.d.ts +11 -0
- package/dist/commands/init/index.d.ts +11 -0
- package/dist/commands/integrity/index.d.ts +32 -0
- package/dist/commands/list/index.d.ts +3 -0
- package/dist/commands/llm/copy.d.ts +8 -0
- package/dist/commands/llm/export.d.ts +8 -0
- package/dist/commands/llm/guide.d.ts +8 -0
- package/dist/commands/llm/index.d.ts +12 -0
- package/dist/commands/llm/verify.d.ts +8 -0
- package/dist/commands/openapi/export.d.ts +6 -0
- package/dist/commands/openapi/import.d.ts +6 -0
- package/dist/commands/openapi/index.d.ts +6 -0
- package/dist/commands/openapi/sync.d.ts +6 -0
- package/dist/commands/openapi/validate.d.ts +6 -0
- package/dist/commands/quickstart/index.d.ts +9 -0
- package/dist/commands/regenerator/index.d.ts +12 -0
- package/dist/commands/registry/add.d.ts +3 -0
- package/dist/commands/registry/client.d.ts +10 -0
- package/dist/commands/registry/index.d.ts +3 -0
- package/dist/commands/registry/list.d.ts +3 -0
- package/dist/commands/registry/search.d.ts +3 -0
- package/dist/commands/sync/index.d.ts +3 -0
- package/dist/commands/test/generate.d.ts +13 -0
- package/dist/commands/test/index.d.ts +8 -0
- package/dist/commands/validate/index.d.ts +31 -0
- package/dist/commands/validate/spec-checker.d.ts +13 -0
- package/dist/commands/validate/spec-checker.test.d.ts +2 -0
- package/dist/commands/watch/index.d.ts +3 -0
- package/dist/commands/workspace/index.d.ts +12 -0
- package/dist/index.d.ts +2 -0
- package/dist/templates/app-config.template.d.ts +3 -0
- package/dist/templates/data-view.template.d.ts +3 -0
- package/dist/templates/event.template.d.ts +6 -0
- package/dist/templates/experiment.template.d.ts +3 -0
- package/dist/templates/handler.template.d.ts +13 -0
- package/dist/templates/integration.template.d.ts +3 -0
- package/dist/templates/knowledge.template.d.ts +3 -0
- package/dist/templates/migration.template.d.ts +3 -0
- package/dist/templates/operation.template.d.ts +6 -0
- package/dist/templates/operation.template.test.d.ts +2 -0
- package/dist/templates/presentation.template.d.ts +6 -0
- package/dist/templates/telemetry.template.d.ts +3 -0
- package/dist/templates/workflow-runner.template.d.ts +9 -0
- package/dist/templates/workflow.template.d.ts +3 -0
- package/dist/types.d.ts +351 -0
- package/dist/utils/config-writer.d.ts +25 -0
- package/dist/utils/config.d.ts +54 -0
- package/dist/utils/dynamicImport.d.ts +2 -0
- package/dist/utils/errors.d.ts +2 -0
- package/dist/utils/fs.d.ts +18 -0
- package/dist/utils/module-loader.d.ts +2 -0
- package/dist/utils/runtime.d.ts +31 -0
- package/dist/utils/spec-files.d.ts +5 -0
- package/dist/utils/spec-load.d.ts +4 -0
- package/dist/utils/spec-scan.d.ts +23 -0
- package/dist/utils/spec-scan.test.d.ts +2 -0
- package/dist/utils/validation.d.ts +32 -0
- package/dist/utils/validation.test.d.ts +2 -0
- package/package.json +20 -15
- package/AGENT_MODES.md +0 -247
- package/QUICK_REFERENCE.md +0 -209
- package/QUICK_START.md +0 -174
- package/dist/cli.js +0 -7521
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 0.0.0-canary-
|
|
3
|
+
## 0.0.0-canary-20251221185840
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
### Patch Changes
|
|
10
10
|
|
|
11
11
|
- Updated dependencies [66a5dfd]
|
|
12
|
-
- @lssm/bundle.contractspec-workspace@0.0.0-canary-
|
|
13
|
-
- @lssm/lib.ai-providers@0.0.0-canary-
|
|
14
|
-
- @lssm/lib.contracts@0.0.0-canary-
|
|
15
|
-
- @lssm/lib.contracts-transformers@0.0.0-canary-
|
|
16
|
-
- @lssm/lib.schema@0.0.0-canary-
|
|
17
|
-
- @lssm/lib.testing@0.0.0-canary-
|
|
18
|
-
- @lssm/module.ai-chat@0.0.0-canary-
|
|
19
|
-
- @lssm/module.contractspec-examples@0.0.0-canary-
|
|
12
|
+
- @lssm/bundle.contractspec-workspace@0.0.0-canary-20251221185840
|
|
13
|
+
- @lssm/lib.ai-providers@0.0.0-canary-20251221185840
|
|
14
|
+
- @lssm/lib.contracts@0.0.0-canary-20251221185840
|
|
15
|
+
- @lssm/lib.contracts-transformers@0.0.0-canary-20251221185840
|
|
16
|
+
- @lssm/lib.schema@0.0.0-canary-20251221185840
|
|
17
|
+
- @lssm/lib.testing@0.0.0-canary-20251221185840
|
|
18
|
+
- @lssm/module.ai-chat@0.0.0-canary-20251221185840
|
|
19
|
+
- @lssm/module.contractspec-examples@0.0.0-canary-20251221185840
|
|
20
20
|
|
|
21
21
|
## 0.12.0
|
|
22
22
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code Agent - Uses Anthropic's advanced code capabilities
|
|
3
|
+
* with extended context and agentic workflows
|
|
4
|
+
*/
|
|
5
|
+
import type { AgentProvider, AgentResult, AgentTask } from './types';
|
|
6
|
+
export declare class ClaudeCodeAgent implements AgentProvider {
|
|
7
|
+
name: "claude-code";
|
|
8
|
+
private apiKey;
|
|
9
|
+
constructor();
|
|
10
|
+
canHandle(_task: AgentTask): boolean;
|
|
11
|
+
generate(task: AgentTask): Promise<AgentResult>;
|
|
12
|
+
validate(task: AgentTask): Promise<AgentResult>;
|
|
13
|
+
private buildSystemPrompt;
|
|
14
|
+
private buildUserPrompt;
|
|
15
|
+
private extractCode;
|
|
16
|
+
private detectIssues;
|
|
17
|
+
private extractErrors;
|
|
18
|
+
private extractWarnings;
|
|
19
|
+
private extractSuggestions;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=claude-code-agent.d.ts.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor/Windsurf Agent - Fully Implemented
|
|
3
|
+
* Leverages Windsurf AI capabilities and Cursor IDE integration for code generation and validation
|
|
4
|
+
*/
|
|
5
|
+
import type { AgentProvider, AgentResult, AgentTask } from './types';
|
|
6
|
+
export declare class CursorAgent implements AgentProvider {
|
|
7
|
+
name: "cursor";
|
|
8
|
+
private cursorPath;
|
|
9
|
+
private isWindsurf;
|
|
10
|
+
private composerPort;
|
|
11
|
+
constructor();
|
|
12
|
+
canHandle(_task: AgentTask): boolean;
|
|
13
|
+
generate(task: AgentTask): Promise<AgentResult>;
|
|
14
|
+
validate(task: AgentTask): Promise<AgentResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Detect if running in Cursor/Windsurf environment
|
|
17
|
+
*/
|
|
18
|
+
private detectEnvironment;
|
|
19
|
+
/**
|
|
20
|
+
* Execute task using the best available method
|
|
21
|
+
*/
|
|
22
|
+
private executeWithBestMethod;
|
|
23
|
+
/**
|
|
24
|
+
* Use Windsurf's native API
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Use Cursor Composer API
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Use Cursor CLI directly
|
|
31
|
+
*/
|
|
32
|
+
private useCursorCLI;
|
|
33
|
+
/**
|
|
34
|
+
* File-based approach - create workspace and instructions for manual completion
|
|
35
|
+
*/
|
|
36
|
+
private useFileBasedApproach;
|
|
37
|
+
/**
|
|
38
|
+
* Setup workspace for validation
|
|
39
|
+
*/
|
|
40
|
+
private setupValidationWorkspace;
|
|
41
|
+
/**
|
|
42
|
+
* Prepare files for API submission
|
|
43
|
+
*/
|
|
44
|
+
private prepareFilesForAPI;
|
|
45
|
+
/**
|
|
46
|
+
* Build detailed prompt for cursor
|
|
47
|
+
*/
|
|
48
|
+
private buildDetailedPrompt;
|
|
49
|
+
/**
|
|
50
|
+
* Build validation-specific prompt
|
|
51
|
+
*/
|
|
52
|
+
private buildValidationPrompt;
|
|
53
|
+
/**
|
|
54
|
+
* Generate basic template for task
|
|
55
|
+
*/
|
|
56
|
+
private generateTemplate;
|
|
57
|
+
/**
|
|
58
|
+
* Cleanup temporary work directory
|
|
59
|
+
*/
|
|
60
|
+
private cleanupWorkDir;
|
|
61
|
+
private isCursorAvailable;
|
|
62
|
+
/**
|
|
63
|
+
* Check if Cursor Composer API might be available
|
|
64
|
+
*/
|
|
65
|
+
private hasComposerAPI;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=cursor-agent.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent system exports
|
|
3
|
+
*/
|
|
4
|
+
export { AgentOrchestrator } from './orchestrator';
|
|
5
|
+
export { SimpleAgent } from './simple-agent';
|
|
6
|
+
export { CursorAgent } from './cursor-agent';
|
|
7
|
+
export { ClaudeCodeAgent } from './claude-code-agent';
|
|
8
|
+
export { OpenAICodexAgent } from './openai-codex-agent';
|
|
9
|
+
export type { AgentMode, AgentTask, AgentResult, AgentProvider, AgentConfig, } from './types';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Codex Agent - Uses OpenAI's code-optimized models
|
|
3
|
+
* Supports GPT-4o and o1 reasoning models for complex code generation
|
|
4
|
+
*/
|
|
5
|
+
import type { AgentProvider, AgentResult, AgentTask } from './types';
|
|
6
|
+
export declare class OpenAICodexAgent implements AgentProvider {
|
|
7
|
+
name: "openai-codex";
|
|
8
|
+
private apiKey;
|
|
9
|
+
constructor();
|
|
10
|
+
canHandle(_task: AgentTask): boolean;
|
|
11
|
+
generate(task: AgentTask): Promise<AgentResult>;
|
|
12
|
+
validate(task: AgentTask): Promise<AgentResult>;
|
|
13
|
+
private isComplexTask;
|
|
14
|
+
private buildSystemPrompt;
|
|
15
|
+
private buildUserPrompt;
|
|
16
|
+
private extractCode;
|
|
17
|
+
private detectIssues;
|
|
18
|
+
private extractErrors;
|
|
19
|
+
private extractWarnings;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=openai-codex-agent.d.ts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Orchestrator - Coordinates between different AI agents
|
|
3
|
+
* Selects the appropriate agent based on config and task requirements
|
|
4
|
+
*/
|
|
5
|
+
import type { Config } from '../../utils/config';
|
|
6
|
+
import type { AgentMode, AgentResult, AgentTask } from './types';
|
|
7
|
+
export declare class AgentOrchestrator {
|
|
8
|
+
private config;
|
|
9
|
+
private agents;
|
|
10
|
+
private defaultAgent;
|
|
11
|
+
constructor(config: Config);
|
|
12
|
+
/**
|
|
13
|
+
* Execute a task using the configured agent with fallback support
|
|
14
|
+
*/
|
|
15
|
+
executeTask(task: AgentTask): Promise<AgentResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Generate code from specification
|
|
18
|
+
*/
|
|
19
|
+
generate(specCode: string, targetPath?: string): Promise<AgentResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Generate tests for implementation
|
|
22
|
+
*/
|
|
23
|
+
generateTests(specCode: string, implementationCode: string): Promise<AgentResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Validate implementation against specification
|
|
26
|
+
*/
|
|
27
|
+
validate(specCode: string, implementationCode: string): Promise<AgentResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Refactor existing code
|
|
30
|
+
*/
|
|
31
|
+
refactor(specCode: string, existingCode: string): Promise<AgentResult>;
|
|
32
|
+
/**
|
|
33
|
+
* List available agents and their status
|
|
34
|
+
*/
|
|
35
|
+
getAvailableAgents(): Promise<{
|
|
36
|
+
mode: AgentMode;
|
|
37
|
+
available: boolean;
|
|
38
|
+
reason?: string;
|
|
39
|
+
}[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Get the configured agent mode
|
|
42
|
+
*/
|
|
43
|
+
private getAgentMode;
|
|
44
|
+
/**
|
|
45
|
+
* Get fallback mode for an agent
|
|
46
|
+
*/
|
|
47
|
+
private getFallbackMode;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple LLM-based agent using direct API calls
|
|
3
|
+
* This is the default fallback for basic code generation
|
|
4
|
+
*/
|
|
5
|
+
import type { Config } from '../../utils/config';
|
|
6
|
+
import type { AgentProvider, AgentResult, AgentTask } from './types';
|
|
7
|
+
export declare class SimpleAgent implements AgentProvider {
|
|
8
|
+
private config;
|
|
9
|
+
name: "simple";
|
|
10
|
+
constructor(config: Config);
|
|
11
|
+
canHandle(_task: AgentTask): boolean;
|
|
12
|
+
generate(task: AgentTask): Promise<AgentResult>;
|
|
13
|
+
validate(task: AgentTask): Promise<AgentResult>;
|
|
14
|
+
private buildPrompt;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=simple-agent.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent types and interfaces for code generation and validation
|
|
3
|
+
*/
|
|
4
|
+
export type AgentMode = 'simple' | 'cursor' | 'claude-code' | 'openai-codex';
|
|
5
|
+
export interface AgentTask {
|
|
6
|
+
type: 'generate' | 'validate' | 'refactor' | 'test';
|
|
7
|
+
specCode: string;
|
|
8
|
+
existingCode?: string;
|
|
9
|
+
targetPath?: string;
|
|
10
|
+
options?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface AgentResult {
|
|
13
|
+
success: boolean;
|
|
14
|
+
code?: string;
|
|
15
|
+
errors?: string[];
|
|
16
|
+
warnings?: string[];
|
|
17
|
+
suggestions?: string[];
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
export interface AgentProvider {
|
|
21
|
+
name: AgentMode;
|
|
22
|
+
generate(task: AgentTask): Promise<AgentResult>;
|
|
23
|
+
validate(task: AgentTask): Promise<AgentResult>;
|
|
24
|
+
canHandle(task: AgentTask): boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface AgentConfig {
|
|
27
|
+
mode: AgentMode;
|
|
28
|
+
fallbackMode?: AgentMode;
|
|
29
|
+
timeout?: number;
|
|
30
|
+
retries?: number;
|
|
31
|
+
options?: Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { Config } from '../utils/config';
|
|
2
|
+
import type { OpKind, PresentationKind } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* AI Client for spec creation and code generation
|
|
5
|
+
*/
|
|
6
|
+
export declare class AIClient {
|
|
7
|
+
private config;
|
|
8
|
+
constructor(config: Config);
|
|
9
|
+
/**
|
|
10
|
+
* Generate operation spec from natural language description
|
|
11
|
+
*/
|
|
12
|
+
generateOperationSpec(description: string, kind: OpKind): Promise<{
|
|
13
|
+
name: string;
|
|
14
|
+
version: number;
|
|
15
|
+
description: string;
|
|
16
|
+
goal: string;
|
|
17
|
+
context: string;
|
|
18
|
+
stability: "experimental" | "beta" | "stable" | "deprecated";
|
|
19
|
+
owners: string[];
|
|
20
|
+
tags: string[];
|
|
21
|
+
auth: "user" | "anonymous" | "admin";
|
|
22
|
+
inputShape: string;
|
|
23
|
+
outputShape: string;
|
|
24
|
+
flags: string[];
|
|
25
|
+
possibleEvents: string[];
|
|
26
|
+
analytics: string[];
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Generate event spec from description
|
|
30
|
+
*/
|
|
31
|
+
generateEventSpec(description: string): Promise<{
|
|
32
|
+
name: string;
|
|
33
|
+
version: number;
|
|
34
|
+
description: string;
|
|
35
|
+
stability: "experimental" | "beta" | "stable" | "deprecated";
|
|
36
|
+
owners: string[];
|
|
37
|
+
tags: string[];
|
|
38
|
+
payloadShape: string;
|
|
39
|
+
piiFields: string[];
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Generate presentation spec from description
|
|
43
|
+
*/
|
|
44
|
+
generatePresentationSpec(description: string, kind: PresentationKind): Promise<{
|
|
45
|
+
name: string;
|
|
46
|
+
version: number;
|
|
47
|
+
description: string;
|
|
48
|
+
stability: "experimental" | "beta" | "stable" | "deprecated";
|
|
49
|
+
owners: string[];
|
|
50
|
+
tags: string[];
|
|
51
|
+
componentKey?: string | undefined;
|
|
52
|
+
propsShape?: string | undefined;
|
|
53
|
+
content?: string | undefined;
|
|
54
|
+
mimeType?: string | undefined;
|
|
55
|
+
dataShape?: string | undefined;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Generate handler implementation from spec
|
|
59
|
+
*/
|
|
60
|
+
generateHandler(specCode: string): Promise<string>;
|
|
61
|
+
/**
|
|
62
|
+
* Generate React component from presentation spec
|
|
63
|
+
*/
|
|
64
|
+
generateComponent(specCode: string): Promise<string>;
|
|
65
|
+
/**
|
|
66
|
+
* Generate form component from form spec
|
|
67
|
+
*/
|
|
68
|
+
generateForm(specCode: string): Promise<string>;
|
|
69
|
+
/**
|
|
70
|
+
* Generate tests for implementation
|
|
71
|
+
*/
|
|
72
|
+
generateTests(specCode: string, implementationCode: string, testType: 'handler' | 'component'): Promise<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Stream code generation for better UX
|
|
75
|
+
*/
|
|
76
|
+
streamCodeGeneration(prompt: string, onChunk: (text: string) => void): Promise<string>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build prompt for generating handler implementation
|
|
3
|
+
*/
|
|
4
|
+
export declare function buildHandlerPrompt(specCode: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Build prompt for generating React component from presentation spec
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildComponentPrompt(specCode: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Build prompt for generating form component
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildFormPrompt(specCode: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Build prompt for generating tests
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildTestPrompt(specCode: string, implementationCode: string, testType: 'handler' | 'component'): string;
|
|
17
|
+
/**
|
|
18
|
+
* System prompt for code generation
|
|
19
|
+
*/
|
|
20
|
+
export declare function getCodeGenSystemPrompt(): string;
|
|
21
|
+
//# sourceMappingURL=code-generation.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { OpKind, PresentationKind } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Build prompt for creating operation spec from description
|
|
4
|
+
*/
|
|
5
|
+
export declare function buildOperationSpecPrompt(description: string, kind: OpKind): string;
|
|
6
|
+
/**
|
|
7
|
+
* Build prompt for creating event spec from description
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildEventSpecPrompt(description: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Build prompt for creating presentation spec from description
|
|
12
|
+
*/
|
|
13
|
+
export declare function buildPresentationSpecPrompt(description: string, kind: PresentationKind): string;
|
|
14
|
+
/**
|
|
15
|
+
* Build system prompt for all spec generation
|
|
16
|
+
*/
|
|
17
|
+
export declare function getSystemPrompt(): string;
|
|
18
|
+
/**
|
|
19
|
+
* Create example-based prompt for better results
|
|
20
|
+
*/
|
|
21
|
+
export declare function addExampleContext(basePrompt: string, examples: string[]): string;
|
|
22
|
+
//# sourceMappingURL=spec-creation.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LanguageModel } from 'ai';
|
|
2
|
+
import type { Config } from '../utils/config';
|
|
3
|
+
/**
|
|
4
|
+
* Initialize AI provider based on configuration
|
|
5
|
+
*/
|
|
6
|
+
export declare function getAIProvider(config: Config): LanguageModel;
|
|
7
|
+
/**
|
|
8
|
+
* Validate that the provider is accessible and working
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateProvider(config: Config): Promise<{
|
|
11
|
+
success: boolean;
|
|
12
|
+
error?: string;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Get recommended models for each provider
|
|
16
|
+
*/
|
|
17
|
+
export declare function getRecommendedModels(provider: Config['aiProvider']): string[];
|
|
18
|
+
//# sourceMappingURL=providers.d.ts.map
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AgentOrchestrator } from '../../ai/agents/index';
|
|
2
|
+
import type { AgentResult } from '../../ai/agents/types';
|
|
3
|
+
import type { GenerationTarget, TestTarget } from './types';
|
|
4
|
+
export declare function generateWithAgent(orchestrator: AgentOrchestrator | null, agentMode: string, task: {
|
|
5
|
+
label: string;
|
|
6
|
+
target: GenerationTarget;
|
|
7
|
+
specCode: string;
|
|
8
|
+
targetPath?: string;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
code: string;
|
|
11
|
+
result: AgentResult;
|
|
12
|
+
} | null>;
|
|
13
|
+
export declare function generateTestsWithAgent(orchestrator: AgentOrchestrator | null, agentMode: string, task: {
|
|
14
|
+
specCode: string;
|
|
15
|
+
existingCode: string;
|
|
16
|
+
target: TestTarget;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
code: string;
|
|
19
|
+
result: AgentResult;
|
|
20
|
+
} | null>;
|
|
21
|
+
export declare function stripCode(text: string): string;
|
|
22
|
+
export declare function ensureTrailingNewline(code: string): string;
|
|
23
|
+
//# sourceMappingURL=agent-generation.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Config } from '../../utils/config';
|
|
2
|
+
import type { BuildOptions } from './types';
|
|
3
|
+
export declare function buildDataView(specFile: string, specCode: string, options: BuildOptions, config: Config): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=build-data-view.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentOrchestrator } from '../../ai/agents/index';
|
|
2
|
+
import type { Config } from '../../utils/config';
|
|
3
|
+
import type { BuildOptions } from './types';
|
|
4
|
+
export declare function buildForm(specFile: string, specCode: string, options: BuildOptions, config: Config, orchestrator: AgentOrchestrator | null): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=build-form.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentOrchestrator } from '../../ai/agents/index';
|
|
2
|
+
import type { Config } from '../../utils/config';
|
|
3
|
+
import type { BuildOptions } from './types';
|
|
4
|
+
export declare function buildOperation(specFile: string, specCode: string, options: BuildOptions, config: Config, orchestrator: AgentOrchestrator | null): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=build-operation.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AgentOrchestrator } from '../../ai/agents/index';
|
|
2
|
+
import type { Config } from '../../utils/config';
|
|
3
|
+
import type { BuildOptions } from './types';
|
|
4
|
+
export declare function buildPresentation(specFile: string, specCode: string, options: BuildOptions, config: Config, orchestrator: AgentOrchestrator | null): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=build-presentation.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Config } from '../../utils/config';
|
|
2
|
+
import type { BuildOptions } from './types';
|
|
3
|
+
export declare function buildWorkflow(specFile: string, specCode: string, options: BuildOptions, config: Config): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=build-workflow.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function generateDataViewRendererTemplate({ exportName, specImportPath, rendererName, viewKind, }: {
|
|
2
|
+
exportName: string;
|
|
3
|
+
specImportPath: string;
|
|
4
|
+
rendererName: string;
|
|
5
|
+
viewKind: string;
|
|
6
|
+
}): string;
|
|
7
|
+
//# sourceMappingURL=data-view-renderer-template.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { buildCommand } from './build-command';
|
|
2
|
+
import { detectSpecType } from './spec-detect';
|
|
3
|
+
import { ensureTrailingNewline, stripCode } from './agent-generation';
|
|
4
|
+
export { buildCommand };
|
|
5
|
+
export declare const __buildInternals: {
|
|
6
|
+
detectSpecType: typeof detectSpecType;
|
|
7
|
+
stripCode: typeof stripCode;
|
|
8
|
+
ensureTrailingNewline: typeof ensureTrailingNewline;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Config } from '../../utils/config';
|
|
2
|
+
import type { BuildOptions } from './types';
|
|
3
|
+
export declare function resolveOperationPaths(specFile: string, sanitizedName: string, options: BuildOptions, config: Config): {
|
|
4
|
+
handlerPath: string;
|
|
5
|
+
testPath: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function resolvePresentationPaths(specFile: string, sanitizedName: string, options: BuildOptions, config: Config): {
|
|
8
|
+
componentPath: string;
|
|
9
|
+
testPath: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function resolveFormPaths(specFile: string, sanitizedName: string, options: BuildOptions, config: Config): {
|
|
12
|
+
formPath: string;
|
|
13
|
+
testPath: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function resolveDataViewRendererPath(specFile: string, sanitizedName: string, options: BuildOptions, config: Config): string;
|
|
16
|
+
export declare function resolveWorkflowRunnerPath(specFile: string, sanitizedName: string, options: BuildOptions, config: Config): string;
|
|
17
|
+
export declare function resolveBaseOutputDir(options: BuildOptions, config: Config, subdir: string): string | null;
|
|
18
|
+
export declare function computeRelativeImport(specFile: string, targetPath: string): string;
|
|
19
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type SpecBuildType = 'operation' | 'presentation' | 'form' | 'event' | 'workflow' | 'data-view' | 'telemetry' | 'migration' | 'experiment' | 'app-config' | 'integration' | 'knowledge' | 'unknown';
|
|
2
|
+
export declare function detectSpecType(specFile: string, specCode: string): SpecBuildType;
|
|
3
|
+
export declare function extractMetaValue(specCode: string, field: string): string | null;
|
|
4
|
+
export declare function extractOperationKind(specCode: string): 'command' | 'query' | null;
|
|
5
|
+
export declare function deriveNameFromFile(specFile: string): string;
|
|
6
|
+
export declare function extractWorkflowExportName(specCode: string): string | null;
|
|
7
|
+
export declare function extractDataViewExportName(specCode: string): string | null;
|
|
8
|
+
export declare function extractDataViewKind(specCode: string): string | null;
|
|
9
|
+
//# sourceMappingURL=spec-detect.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface BuildOptions {
|
|
2
|
+
outputDir?: string;
|
|
3
|
+
provider?: string;
|
|
4
|
+
model?: string;
|
|
5
|
+
agentMode?: string;
|
|
6
|
+
noTests?: boolean;
|
|
7
|
+
noAgent?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type GenerationTarget = 'handler' | 'component' | 'form';
|
|
10
|
+
export type TestTarget = 'handler' | 'component';
|
|
11
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ContractSpec Chat Command
|
|
3
|
+
*
|
|
4
|
+
* Interactive AI chat for vibe coding within the CLI.
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Create the chat command
|
|
9
|
+
*/
|
|
10
|
+
export declare const chatCommand: Command;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CI command.
|
|
3
|
+
*
|
|
4
|
+
* Runs all ContractSpec validation checks for CI/CD pipelines.
|
|
5
|
+
* Supports multiple output formats: text, JSON, and SARIF.
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from 'commander';
|
|
8
|
+
export declare const ciCommand: Command;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Config } from '../../utils/config';
|
|
2
|
+
import type { EventSpecData, OperationSpecData, OpKind, PresentationKind, PresentationSpecData } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Use AI to generate operation spec from description
|
|
5
|
+
*/
|
|
6
|
+
export declare function aiGenerateOperation(description: string, kind: OpKind, config: Config): Promise<Partial<OperationSpecData>>;
|
|
7
|
+
/**
|
|
8
|
+
* Use AI to generate event spec from description
|
|
9
|
+
*/
|
|
10
|
+
export declare function aiGenerateEvent(description: string, config: Config): Promise<Partial<EventSpecData>>;
|
|
11
|
+
/**
|
|
12
|
+
* Use AI to generate presentation spec from description
|
|
13
|
+
*/
|
|
14
|
+
export declare function aiGeneratePresentation(description: string, kind: PresentationKind, config: Config): Promise<Partial<PresentationSpecData>>;
|
|
15
|
+
//# sourceMappingURL=ai-assist.d.ts.map
|