mycontext-cli 1.0.95 → 2.0.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/README.md +424 -202
- package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +1 -1
- package/dist/agents/implementations/ClaudeAgentWorkflow.js +38 -3
- package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +1 -1
- package/dist/agents/implementations/WorkflowAgent.d.ts +4 -0
- package/dist/agents/implementations/WorkflowAgent.d.ts.map +1 -1
- package/dist/agents/implementations/WorkflowAgent.js +90 -10
- package/dist/agents/implementations/WorkflowAgent.js.map +1 -1
- package/dist/agents/interfaces/SubAgent.d.ts +5 -0
- package/dist/agents/interfaces/SubAgent.d.ts.map +1 -1
- package/dist/commands/build-app.d.ts +5 -0
- package/dist/commands/build-app.d.ts.map +1 -1
- package/dist/commands/build-app.js +127 -4
- package/dist/commands/build-app.js.map +1 -1
- package/dist/commands/compile-prd.d.ts.map +1 -1
- package/dist/commands/compile-prd.js +18 -54
- package/dist/commands/compile-prd.js.map +1 -1
- package/dist/commands/enhance.d.ts +21 -0
- package/dist/commands/enhance.d.ts.map +1 -1
- package/dist/commands/enhance.js +155 -12
- package/dist/commands/enhance.js.map +1 -1
- package/dist/commands/generate-components.d.ts +43 -0
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +270 -0
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/constants/fileNames.d.ts +68 -0
- package/dist/constants/fileNames.d.ts.map +1 -0
- package/dist/constants/fileNames.js +102 -0
- package/dist/constants/fileNames.js.map +1 -0
- package/dist/interfaces/AIClient.d.ts +198 -0
- package/dist/interfaces/AIClient.d.ts.map +1 -0
- package/dist/interfaces/AIClient.js +40 -0
- package/dist/interfaces/AIClient.js.map +1 -0
- package/dist/package.json +4 -3
- package/dist/types/index.d.ts +423 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/agentDefinitions.d.ts +60 -0
- package/dist/utils/agentDefinitions.d.ts.map +1 -0
- package/dist/utils/agentDefinitions.js +344 -0
- package/dist/utils/agentDefinitions.js.map +1 -0
- package/dist/utils/aiClientFactory.d.ts +93 -0
- package/dist/utils/aiClientFactory.d.ts.map +1 -0
- package/dist/utils/aiClientFactory.js +290 -0
- package/dist/utils/aiClientFactory.js.map +1 -0
- package/dist/utils/aiClientRouter.d.ts +121 -0
- package/dist/utils/aiClientRouter.d.ts.map +1 -0
- package/dist/utils/aiClientRouter.js +401 -0
- package/dist/utils/aiClientRouter.js.map +1 -0
- package/dist/utils/claudeAgentClient.d.ts +79 -11
- package/dist/utils/claudeAgentClient.d.ts.map +1 -1
- package/dist/utils/claudeAgentClient.js +306 -1
- package/dist/utils/claudeAgentClient.js.map +1 -1
- package/dist/utils/claudeClient.d.ts +7 -3
- package/dist/utils/claudeClient.d.ts.map +1 -1
- package/dist/utils/claudeClient.js +28 -5
- package/dist/utils/claudeClient.js.map +1 -1
- package/dist/utils/completeArchitectureEngine.d.ts +67 -0
- package/dist/utils/completeArchitectureEngine.d.ts.map +1 -0
- package/dist/utils/completeArchitectureEngine.js +329 -0
- package/dist/utils/completeArchitectureEngine.js.map +1 -0
- package/dist/utils/contextLoader.d.ts +1 -12
- package/dist/utils/contextLoader.d.ts.map +1 -1
- package/dist/utils/contextLoader.js +29 -150
- package/dist/utils/contextLoader.js.map +1 -1
- package/dist/utils/contextManager.d.ts +2 -12
- package/dist/utils/contextManager.d.ts.map +1 -1
- package/dist/utils/contextManager.js +11 -6
- package/dist/utils/contextManager.js.map +1 -1
- package/dist/utils/mcpTools.d.ts +164 -0
- package/dist/utils/mcpTools.d.ts.map +1 -0
- package/dist/utils/mcpTools.js +385 -0
- package/dist/utils/mcpTools.js.map +1 -0
- package/dist/utils/routeGenerator.d.ts +56 -0
- package/dist/utils/routeGenerator.d.ts.map +1 -0
- package/dist/utils/routeGenerator.js +231 -0
- package/dist/utils/routeGenerator.js.map +1 -0
- package/dist/utils/serverActionGenerator.d.ts +56 -0
- package/dist/utils/serverActionGenerator.d.ts.map +1 -0
- package/dist/utils/serverActionGenerator.js +258 -0
- package/dist/utils/serverActionGenerator.js.map +1 -0
- package/dist/utils/streamingHandler.d.ts +98 -0
- package/dist/utils/streamingHandler.d.ts.map +1 -0
- package/dist/utils/streamingHandler.js +259 -0
- package/dist/utils/streamingHandler.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standardized file naming convention for MyContext CLI
|
|
3
|
+
* Single source of truth for all context file names
|
|
4
|
+
*/
|
|
5
|
+
export declare const CONTEXT_FILES: {
|
|
6
|
+
readonly FEATURES: "01a-features.md";
|
|
7
|
+
readonly USER_FLOWS: "01b-user-flows.md";
|
|
8
|
+
readonly EDGE_CASES: "01c-edge-cases.md";
|
|
9
|
+
readonly TECHNICAL_SPECS: "01d-technical-specs.md";
|
|
10
|
+
readonly PRD: "02-prd.md";
|
|
11
|
+
readonly TYPES: "02-types.ts";
|
|
12
|
+
readonly BRANDING: "03-branding.md";
|
|
13
|
+
readonly COMPONENT_LIST: "04-component-list.json";
|
|
14
|
+
readonly PROJECT_STRUCTURE: "05-project-structure.md";
|
|
15
|
+
readonly STATE: "state.json";
|
|
16
|
+
readonly CONTEXT_MEMORY: "context.json";
|
|
17
|
+
readonly PROGRESS: "progress.json";
|
|
18
|
+
readonly BUILD_STRATEGY_PLAN: "build-strategy-plan.json";
|
|
19
|
+
readonly BUILD_STRATEGY_RECOMMENDATIONS: "build-strategy-recommendations.json";
|
|
20
|
+
readonly BUILD_STRATEGY_TASKS: "build-strategy-tasks.json";
|
|
21
|
+
readonly BUILD_STRATEGY_COMPARISON: "build-strategy-comparison.json";
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Legacy file names for backward compatibility
|
|
25
|
+
* @deprecated Use CONTEXT_FILES instead
|
|
26
|
+
*/
|
|
27
|
+
export declare const LEGACY_FILE_NAMES: {
|
|
28
|
+
readonly '01a-brief.md': "01a-features.md";
|
|
29
|
+
readonly '01b-requirements.md': "01b-user-flows.md";
|
|
30
|
+
readonly '01c-flows.md': "01c-edge-cases.md";
|
|
31
|
+
readonly '01-prd.md': "02-prd.md";
|
|
32
|
+
readonly 'prd.md': "02-prd.md";
|
|
33
|
+
readonly 'PRD.md': "02-prd.md";
|
|
34
|
+
readonly '01_PRD.md': "02-prd.md";
|
|
35
|
+
readonly 'types.ts': "02-types.ts";
|
|
36
|
+
readonly '02_types.ts': "02-types.ts";
|
|
37
|
+
readonly 'branding.md': "03-branding.md";
|
|
38
|
+
readonly '03_branding.md': "03-branding.md";
|
|
39
|
+
readonly 'component-list.json': "04-component-list.json";
|
|
40
|
+
readonly 'components-list.json': "04-component-list.json";
|
|
41
|
+
readonly '04_component_list.json': "04-component-list.json";
|
|
42
|
+
readonly 'project-structure.md': "05-project-structure.md";
|
|
43
|
+
readonly '05_project_structure.md': "05-project-structure.md";
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Required context files for various operations
|
|
47
|
+
*/
|
|
48
|
+
export declare const REQUIRED_FILES: {
|
|
49
|
+
readonly COMPILE_PRD: readonly ["01a-features.md", "01b-user-flows.md", "01c-edge-cases.md", "01d-technical-specs.md"];
|
|
50
|
+
readonly GENERATE_TYPES: readonly ["02-prd.md"];
|
|
51
|
+
readonly GENERATE_BRAND: readonly ["02-prd.md"];
|
|
52
|
+
readonly GENERATE_COMPONENTS_LIST: readonly ["02-prd.md", "02-types.ts"];
|
|
53
|
+
readonly GENERATE_COMPONENTS: readonly ["02-prd.md", "02-types.ts", "04-component-list.json"];
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Get the standardized file name for a given file
|
|
57
|
+
* Returns the canonical name or the original if no mapping exists
|
|
58
|
+
*/
|
|
59
|
+
export declare function getStandardFileName(fileName: string): string;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a file name is legacy
|
|
62
|
+
*/
|
|
63
|
+
export declare function isLegacyFileName(fileName: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Get all possible names for a canonical file (including legacy)
|
|
66
|
+
*/
|
|
67
|
+
export declare function getAllFileNameVariants(canonicalName: string): string[];
|
|
68
|
+
//# sourceMappingURL=fileNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileNames.d.ts","sourceRoot":"","sources":["../../src/constants/fileNames.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAwBhB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAiBpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;CAkBjB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAUtE"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Standardized file naming convention for MyContext CLI
|
|
4
|
+
* Single source of truth for all context file names
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.REQUIRED_FILES = exports.LEGACY_FILE_NAMES = exports.CONTEXT_FILES = void 0;
|
|
8
|
+
exports.getStandardFileName = getStandardFileName;
|
|
9
|
+
exports.isLegacyFileName = isLegacyFileName;
|
|
10
|
+
exports.getAllFileNameVariants = getAllFileNameVariants;
|
|
11
|
+
exports.CONTEXT_FILES = {
|
|
12
|
+
// A/B/C/D Context Files (User-centric documentation)
|
|
13
|
+
FEATURES: '01a-features.md',
|
|
14
|
+
USER_FLOWS: '01b-user-flows.md',
|
|
15
|
+
EDGE_CASES: '01c-edge-cases.md',
|
|
16
|
+
TECHNICAL_SPECS: '01d-technical-specs.md',
|
|
17
|
+
// Core Context Files
|
|
18
|
+
PRD: '02-prd.md', // Changed from 01-prd.md to avoid conflict
|
|
19
|
+
TYPES: '02-types.ts',
|
|
20
|
+
BRANDING: '03-branding.md',
|
|
21
|
+
COMPONENT_LIST: '04-component-list.json',
|
|
22
|
+
PROJECT_STRUCTURE: '05-project-structure.md',
|
|
23
|
+
// State and Tracking
|
|
24
|
+
STATE: 'state.json',
|
|
25
|
+
CONTEXT_MEMORY: 'context.json',
|
|
26
|
+
PROGRESS: 'progress.json',
|
|
27
|
+
// Build Strategy
|
|
28
|
+
BUILD_STRATEGY_PLAN: 'build-strategy-plan.json',
|
|
29
|
+
BUILD_STRATEGY_RECOMMENDATIONS: 'build-strategy-recommendations.json',
|
|
30
|
+
BUILD_STRATEGY_TASKS: 'build-strategy-tasks.json',
|
|
31
|
+
BUILD_STRATEGY_COMPARISON: 'build-strategy-comparison.json',
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Legacy file names for backward compatibility
|
|
35
|
+
* @deprecated Use CONTEXT_FILES instead
|
|
36
|
+
*/
|
|
37
|
+
exports.LEGACY_FILE_NAMES = {
|
|
38
|
+
'01a-brief.md': exports.CONTEXT_FILES.FEATURES,
|
|
39
|
+
'01b-requirements.md': exports.CONTEXT_FILES.USER_FLOWS,
|
|
40
|
+
'01c-flows.md': exports.CONTEXT_FILES.EDGE_CASES,
|
|
41
|
+
'01-prd.md': exports.CONTEXT_FILES.PRD,
|
|
42
|
+
'prd.md': exports.CONTEXT_FILES.PRD,
|
|
43
|
+
'PRD.md': exports.CONTEXT_FILES.PRD,
|
|
44
|
+
'01_PRD.md': exports.CONTEXT_FILES.PRD,
|
|
45
|
+
'types.ts': exports.CONTEXT_FILES.TYPES,
|
|
46
|
+
'02_types.ts': exports.CONTEXT_FILES.TYPES,
|
|
47
|
+
'branding.md': exports.CONTEXT_FILES.BRANDING,
|
|
48
|
+
'03_branding.md': exports.CONTEXT_FILES.BRANDING,
|
|
49
|
+
'component-list.json': exports.CONTEXT_FILES.COMPONENT_LIST,
|
|
50
|
+
'components-list.json': exports.CONTEXT_FILES.COMPONENT_LIST,
|
|
51
|
+
'04_component_list.json': exports.CONTEXT_FILES.COMPONENT_LIST,
|
|
52
|
+
'project-structure.md': exports.CONTEXT_FILES.PROJECT_STRUCTURE,
|
|
53
|
+
'05_project_structure.md': exports.CONTEXT_FILES.PROJECT_STRUCTURE,
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Required context files for various operations
|
|
57
|
+
*/
|
|
58
|
+
exports.REQUIRED_FILES = {
|
|
59
|
+
COMPILE_PRD: [
|
|
60
|
+
exports.CONTEXT_FILES.FEATURES,
|
|
61
|
+
exports.CONTEXT_FILES.USER_FLOWS,
|
|
62
|
+
exports.CONTEXT_FILES.EDGE_CASES,
|
|
63
|
+
exports.CONTEXT_FILES.TECHNICAL_SPECS,
|
|
64
|
+
],
|
|
65
|
+
GENERATE_TYPES: [exports.CONTEXT_FILES.PRD],
|
|
66
|
+
GENERATE_BRAND: [exports.CONTEXT_FILES.PRD],
|
|
67
|
+
GENERATE_COMPONENTS_LIST: [
|
|
68
|
+
exports.CONTEXT_FILES.PRD,
|
|
69
|
+
exports.CONTEXT_FILES.TYPES,
|
|
70
|
+
],
|
|
71
|
+
GENERATE_COMPONENTS: [
|
|
72
|
+
exports.CONTEXT_FILES.PRD,
|
|
73
|
+
exports.CONTEXT_FILES.TYPES,
|
|
74
|
+
exports.CONTEXT_FILES.COMPONENT_LIST,
|
|
75
|
+
],
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Get the standardized file name for a given file
|
|
79
|
+
* Returns the canonical name or the original if no mapping exists
|
|
80
|
+
*/
|
|
81
|
+
function getStandardFileName(fileName) {
|
|
82
|
+
return exports.LEGACY_FILE_NAMES[fileName] || fileName;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Check if a file name is legacy
|
|
86
|
+
*/
|
|
87
|
+
function isLegacyFileName(fileName) {
|
|
88
|
+
return fileName in exports.LEGACY_FILE_NAMES;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get all possible names for a canonical file (including legacy)
|
|
92
|
+
*/
|
|
93
|
+
function getAllFileNameVariants(canonicalName) {
|
|
94
|
+
const variants = [canonicalName];
|
|
95
|
+
for (const [legacy, canonical] of Object.entries(exports.LEGACY_FILE_NAMES)) {
|
|
96
|
+
if (canonical === canonicalName) {
|
|
97
|
+
variants.push(legacy);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return variants;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=fileNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileNames.js","sourceRoot":"","sources":["../../src/constants/fileNames.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA8EH,kDAEC;AAKD,4CAEC;AAKD,wDAUC;AApGY,QAAA,aAAa,GAAG;IAC3B,qDAAqD;IACrD,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,mBAAmB;IAC/B,UAAU,EAAE,mBAAmB;IAC/B,eAAe,EAAE,wBAAwB;IAEzC,qBAAqB;IACrB,GAAG,EAAE,WAAW,EAAG,2CAA2C;IAC9D,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,gBAAgB;IAC1B,cAAc,EAAE,wBAAwB;IACxC,iBAAiB,EAAE,yBAAyB;IAE5C,qBAAqB;IACrB,KAAK,EAAE,YAAY;IACnB,cAAc,EAAE,cAAc;IAC9B,QAAQ,EAAE,eAAe;IAEzB,iBAAiB;IACjB,mBAAmB,EAAE,0BAA0B;IAC/C,8BAA8B,EAAE,qCAAqC;IACrE,oBAAoB,EAAE,2BAA2B;IACjD,yBAAyB,EAAE,gCAAgC;CACnD,CAAC;AAEX;;;GAGG;AACU,QAAA,iBAAiB,GAAG;IAC/B,cAAc,EAAE,qBAAa,CAAC,QAAQ;IACtC,qBAAqB,EAAE,qBAAa,CAAC,UAAU;IAC/C,cAAc,EAAE,qBAAa,CAAC,UAAU;IACxC,WAAW,EAAE,qBAAa,CAAC,GAAG;IAC9B,QAAQ,EAAE,qBAAa,CAAC,GAAG;IAC3B,QAAQ,EAAE,qBAAa,CAAC,GAAG;IAC3B,WAAW,EAAE,qBAAa,CAAC,GAAG;IAC9B,UAAU,EAAE,qBAAa,CAAC,KAAK;IAC/B,aAAa,EAAE,qBAAa,CAAC,KAAK;IAClC,aAAa,EAAE,qBAAa,CAAC,QAAQ;IACrC,gBAAgB,EAAE,qBAAa,CAAC,QAAQ;IACxC,qBAAqB,EAAE,qBAAa,CAAC,cAAc;IACnD,sBAAsB,EAAE,qBAAa,CAAC,cAAc;IACpD,wBAAwB,EAAE,qBAAa,CAAC,cAAc;IACtD,sBAAsB,EAAE,qBAAa,CAAC,iBAAiB;IACvD,yBAAyB,EAAE,qBAAa,CAAC,iBAAiB;CAClD,CAAC;AAEX;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,WAAW,EAAE;QACX,qBAAa,CAAC,QAAQ;QACtB,qBAAa,CAAC,UAAU;QACxB,qBAAa,CAAC,UAAU;QACxB,qBAAa,CAAC,eAAe;KAC9B;IACD,cAAc,EAAE,CAAC,qBAAa,CAAC,GAAG,CAAC;IACnC,cAAc,EAAE,CAAC,qBAAa,CAAC,GAAG,CAAC;IACnC,wBAAwB,EAAE;QACxB,qBAAa,CAAC,GAAG;QACjB,qBAAa,CAAC,KAAK;KACpB;IACD,mBAAmB,EAAE;QACnB,qBAAa,CAAC,GAAG;QACjB,qBAAa,CAAC,KAAK;QACnB,qBAAa,CAAC,cAAc;KAC7B;CACO,CAAC;AAEX;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,OAAO,yBAAiB,CAAC,QAA0C,CAAC,IAAI,QAAQ,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,QAAQ,IAAI,yBAAiB,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,aAAqB;IAC1D,MAAM,QAAQ,GAAG,CAAC,aAAa,CAAC,CAAC;IAEjC,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAiB,CAAC,EAAE,CAAC;QACpE,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AIClient Interface
|
|
3
|
+
*
|
|
4
|
+
* Unified interface for all AI client implementations in MyContext CLI.
|
|
5
|
+
* Supports both simple API calls and complex agentic workflows.
|
|
6
|
+
*/
|
|
7
|
+
export type OperationComplexity = 'simple' | 'moderate' | 'complex';
|
|
8
|
+
export interface AIClientOptions {
|
|
9
|
+
model?: string;
|
|
10
|
+
modelCandidates?: string[];
|
|
11
|
+
temperature?: number;
|
|
12
|
+
maxTokens?: number;
|
|
13
|
+
systemPrompt?: string;
|
|
14
|
+
workingDirectory?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AgentContext {
|
|
17
|
+
prd?: string;
|
|
18
|
+
types?: string;
|
|
19
|
+
brand?: string;
|
|
20
|
+
componentList?: any;
|
|
21
|
+
projectStructure?: string;
|
|
22
|
+
previousOutputs?: Record<string, any>;
|
|
23
|
+
userPrompt?: string;
|
|
24
|
+
workingDirectory?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface StreamingOptions {
|
|
27
|
+
onProgress?: (message: string) => void;
|
|
28
|
+
onToken?: (token: string) => void;
|
|
29
|
+
onToolUse?: (tool: string, input: any) => void;
|
|
30
|
+
onError?: (error: Error) => void;
|
|
31
|
+
}
|
|
32
|
+
export interface GenerationResult {
|
|
33
|
+
content: string;
|
|
34
|
+
usage?: {
|
|
35
|
+
inputTokens: number;
|
|
36
|
+
outputTokens: number;
|
|
37
|
+
totalTokens: number;
|
|
38
|
+
};
|
|
39
|
+
toolsUsed?: string[];
|
|
40
|
+
duration?: number;
|
|
41
|
+
context?: AgentContext;
|
|
42
|
+
}
|
|
43
|
+
export interface WorkflowResult {
|
|
44
|
+
success: boolean;
|
|
45
|
+
content: string;
|
|
46
|
+
steps: string[];
|
|
47
|
+
errors?: string[];
|
|
48
|
+
context?: AgentContext;
|
|
49
|
+
duration?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Base interface that all AI clients must implement
|
|
53
|
+
*/
|
|
54
|
+
export interface AIClient {
|
|
55
|
+
readonly clientType: 'direct-api' | 'agent-sdk' | 'hybrid';
|
|
56
|
+
readonly supportsTools: boolean;
|
|
57
|
+
readonly supportsStreaming: boolean;
|
|
58
|
+
hasApiKey(): boolean;
|
|
59
|
+
checkConnection(): Promise<boolean>;
|
|
60
|
+
setApiKey(apiKey: string): void;
|
|
61
|
+
generateText(prompt: string, options?: AIClientOptions): Promise<string>;
|
|
62
|
+
generateComponent(prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
|
|
63
|
+
generateComponentRefinement(componentCode: string, prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<string>;
|
|
64
|
+
listModels(): Promise<string[]>;
|
|
65
|
+
cleanup?(): Promise<void>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Extended interface for Agent SDK clients with advanced capabilities
|
|
69
|
+
*/
|
|
70
|
+
export interface AgentAIClient extends AIClient {
|
|
71
|
+
clientType: 'agent-sdk' | 'hybrid';
|
|
72
|
+
supportsTools: true;
|
|
73
|
+
generateWithTools(prompt: string, tools: string[], context?: AgentContext, options?: AIClientOptions): Promise<GenerationResult>;
|
|
74
|
+
generateStream(prompt: string, streamOptions: StreamingOptions, context?: AgentContext, options?: AIClientOptions): Promise<GenerationResult>;
|
|
75
|
+
runWorkflow(workflowPrompt: string, context?: AgentContext, options?: AIClientOptions): Promise<WorkflowResult>;
|
|
76
|
+
configureAgent(config: AgentConfiguration): Promise<void>;
|
|
77
|
+
requestPermission(operation: string, target: string): Promise<boolean>;
|
|
78
|
+
useAgent(agentName: string, prompt: string, context?: AgentContext, options?: AIClientOptions): Promise<GenerationResult>;
|
|
79
|
+
getAvailableAgents(): string[];
|
|
80
|
+
}
|
|
81
|
+
export interface AgentConfiguration {
|
|
82
|
+
name: string;
|
|
83
|
+
description: string;
|
|
84
|
+
tools?: string[];
|
|
85
|
+
systemPrompt?: string;
|
|
86
|
+
model?: 'sonnet' | 'opus' | 'haiku' | 'inherit';
|
|
87
|
+
permissionMode?: 'strict' | 'permissive' | 'default';
|
|
88
|
+
allowedTools?: string[];
|
|
89
|
+
disallowedTools?: string[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* MCP Tool definition (from @anthropic-ai/claude-agent-sdk)
|
|
93
|
+
*/
|
|
94
|
+
export interface MCPTool {
|
|
95
|
+
name: string;
|
|
96
|
+
description: string;
|
|
97
|
+
inputSchema: any;
|
|
98
|
+
handler: (args: any, extra?: any) => Promise<MCPToolResult>;
|
|
99
|
+
}
|
|
100
|
+
export interface MCPToolResult {
|
|
101
|
+
content: Array<{
|
|
102
|
+
type: 'text';
|
|
103
|
+
text: string;
|
|
104
|
+
}>;
|
|
105
|
+
isError?: boolean;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Hook callback types (from SDK)
|
|
109
|
+
*/
|
|
110
|
+
export type HookEvent = 'PreToolUse' | 'PostToolUse' | 'Notification' | 'UserPromptSubmit' | 'SessionStart' | 'SessionEnd' | 'Stop' | 'SubagentStop' | 'PreCompact';
|
|
111
|
+
export interface BaseHookInput {
|
|
112
|
+
session_id: string;
|
|
113
|
+
transcript_path: string;
|
|
114
|
+
cwd: string;
|
|
115
|
+
permission_mode?: string;
|
|
116
|
+
}
|
|
117
|
+
export interface PreToolUseHookInput extends BaseHookInput {
|
|
118
|
+
hook_event_name: 'PreToolUse';
|
|
119
|
+
tool_name: string;
|
|
120
|
+
tool_input: unknown;
|
|
121
|
+
}
|
|
122
|
+
export interface PostToolUseHookInput extends BaseHookInput {
|
|
123
|
+
hook_event_name: 'PostToolUse';
|
|
124
|
+
tool_name: string;
|
|
125
|
+
tool_input: unknown;
|
|
126
|
+
tool_response: unknown;
|
|
127
|
+
}
|
|
128
|
+
export type HookInput = PreToolUseHookInput | PostToolUseHookInput | BaseHookInput;
|
|
129
|
+
export interface HookOutput {
|
|
130
|
+
continue?: boolean;
|
|
131
|
+
suppressOutput?: boolean;
|
|
132
|
+
stopReason?: string;
|
|
133
|
+
decision?: 'approve' | 'block';
|
|
134
|
+
}
|
|
135
|
+
export type HookCallback = (input: HookInput, toolUseID: string | undefined, options: {
|
|
136
|
+
signal: AbortSignal;
|
|
137
|
+
}) => Promise<HookOutput>;
|
|
138
|
+
/**
|
|
139
|
+
* Permission system types
|
|
140
|
+
*/
|
|
141
|
+
export type PermissionBehavior = 'allow' | 'deny' | 'ask';
|
|
142
|
+
export interface PermissionResult {
|
|
143
|
+
behavior: PermissionBehavior;
|
|
144
|
+
updatedInput?: Record<string, unknown>;
|
|
145
|
+
message?: string;
|
|
146
|
+
interrupt?: boolean;
|
|
147
|
+
}
|
|
148
|
+
export type CanUseToolCallback = (toolName: string, input: Record<string, unknown>, options: {
|
|
149
|
+
signal: AbortSignal;
|
|
150
|
+
suggestions?: any[];
|
|
151
|
+
}) => Promise<PermissionResult>;
|
|
152
|
+
/**
|
|
153
|
+
* Setting sources (from SDK)
|
|
154
|
+
*/
|
|
155
|
+
export type SettingSource = 'user' | 'project' | 'local';
|
|
156
|
+
/**
|
|
157
|
+
* Operation metadata to help router decide which client to use
|
|
158
|
+
*/
|
|
159
|
+
export interface OperationMetadata {
|
|
160
|
+
complexity: OperationComplexity;
|
|
161
|
+
requiresTools: boolean;
|
|
162
|
+
requiresStreaming: boolean;
|
|
163
|
+
requiresMultiStep: boolean;
|
|
164
|
+
requiresFileAccess: boolean;
|
|
165
|
+
requiresValidation: boolean;
|
|
166
|
+
estimatedTokens?: number;
|
|
167
|
+
timeoutMs?: number;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Factory configuration for creating AI clients
|
|
171
|
+
*/
|
|
172
|
+
export interface AIClientFactoryConfig {
|
|
173
|
+
preferredClient?: 'direct-api' | 'agent-sdk' | 'auto';
|
|
174
|
+
fallbackEnabled?: boolean;
|
|
175
|
+
autoSelectByComplexity?: boolean;
|
|
176
|
+
defaultModel?: string;
|
|
177
|
+
defaultTemperature?: number;
|
|
178
|
+
defaultMaxTokens?: number;
|
|
179
|
+
workingDirectory?: string;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Error types specific to AI operations
|
|
183
|
+
*/
|
|
184
|
+
export declare class AIClientError extends Error {
|
|
185
|
+
readonly code: string;
|
|
186
|
+
readonly recoverable: boolean;
|
|
187
|
+
constructor(message: string, code: string, recoverable?: boolean);
|
|
188
|
+
}
|
|
189
|
+
export declare class PermissionDeniedError extends AIClientError {
|
|
190
|
+
constructor(operation: string, target: string);
|
|
191
|
+
}
|
|
192
|
+
export declare class ToolExecutionError extends AIClientError {
|
|
193
|
+
constructor(tool: string, message: string);
|
|
194
|
+
}
|
|
195
|
+
export declare class ContextOverflowError extends AIClientError {
|
|
196
|
+
constructor(currentTokens: number, maxTokens: number);
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=AIClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIClient.d.ts","sourceRoot":"","sources":["../../src/interfaces/AIClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AIClient Interface
|
|
4
|
+
*
|
|
5
|
+
* Unified interface for all AI client implementations in MyContext CLI.
|
|
6
|
+
* Supports both simple API calls and complex agentic workflows.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ContextOverflowError = exports.ToolExecutionError = exports.PermissionDeniedError = exports.AIClientError = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Error types specific to AI operations
|
|
12
|
+
*/
|
|
13
|
+
class AIClientError extends Error {
|
|
14
|
+
constructor(message, code, recoverable = false) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.code = code;
|
|
17
|
+
this.recoverable = recoverable;
|
|
18
|
+
this.name = 'AIClientError';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.AIClientError = AIClientError;
|
|
22
|
+
class PermissionDeniedError extends AIClientError {
|
|
23
|
+
constructor(operation, target) {
|
|
24
|
+
super(`Permission denied for operation '${operation}' on '${target}'`, 'PERMISSION_DENIED', true);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.PermissionDeniedError = PermissionDeniedError;
|
|
28
|
+
class ToolExecutionError extends AIClientError {
|
|
29
|
+
constructor(tool, message) {
|
|
30
|
+
super(`Tool '${tool}' execution failed: ${message}`, 'TOOL_EXECUTION_FAILED', true);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.ToolExecutionError = ToolExecutionError;
|
|
34
|
+
class ContextOverflowError extends AIClientError {
|
|
35
|
+
constructor(currentTokens, maxTokens) {
|
|
36
|
+
super(`Context overflow: ${currentTokens} tokens exceeds maximum ${maxTokens}`, 'CONTEXT_OVERFLOW', true);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.ContextOverflowError = ContextOverflowError;
|
|
40
|
+
//# sourceMappingURL=AIClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIClient.js","sourceRoot":"","sources":["../../src/interfaces/AIClient.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8QH;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACC,IAAY,EACZ,cAAuB,KAAK;QAE5C,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAiB;QAG5C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AATD,sCASC;AAED,MAAa,qBAAsB,SAAQ,aAAa;IACtD,YAAY,SAAiB,EAAE,MAAc;QAC3C,KAAK,CACH,oCAAoC,SAAS,SAAS,MAAM,GAAG,EAC/D,mBAAmB,EACnB,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AARD,sDAQC;AAED,MAAa,kBAAmB,SAAQ,aAAa;IACnD,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CACH,SAAS,IAAI,uBAAuB,OAAO,EAAE,EAC7C,uBAAuB,EACvB,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AARD,gDAQC;AAED,MAAa,oBAAqB,SAAQ,aAAa;IACrD,YAAY,aAAqB,EAAE,SAAiB;QAClD,KAAK,CACH,qBAAqB,aAAa,2BAA2B,SAAS,EAAE,EACxE,kBAAkB,EAClB,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AARD,oDAQC"}
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mycontext-cli",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "MyContext CLI - AI-powered
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "MyContext CLI - AI-powered full-stack application generator with complete architecture generation, server actions, Next.js 15 App Router, and self-documenting components",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"mycontext-cli": "dist/cli.js",
|
|
@@ -58,7 +58,8 @@
|
|
|
58
58
|
"ora": "^7.0.1",
|
|
59
59
|
"prompts": "^2.4.2",
|
|
60
60
|
"sonner": "^2.0.7",
|
|
61
|
-
"uuid": "^9.0.1"
|
|
61
|
+
"uuid": "^9.0.1",
|
|
62
|
+
"zod": "^3.25.76"
|
|
62
63
|
},
|
|
63
64
|
"devDependencies": {
|
|
64
65
|
"@types/fs-extra": "^11.0.4",
|