@staticpayload/zai-code 1.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.
Files changed (100) hide show
  1. package/LICENSE +678 -0
  2. package/README.md +115 -0
  3. package/bin/zcode +3 -0
  4. package/dist/apply.d.ts +44 -0
  5. package/dist/apply.d.ts.map +1 -0
  6. package/dist/apply.js +307 -0
  7. package/dist/apply.js.map +1 -0
  8. package/dist/auth.d.ts +9 -0
  9. package/dist/auth.d.ts.map +1 -0
  10. package/dist/auth.js +170 -0
  11. package/dist/auth.js.map +1 -0
  12. package/dist/cli.d.ts +3 -0
  13. package/dist/cli.d.ts.map +1 -0
  14. package/dist/cli.js +179 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/commands.d.ts +15 -0
  17. package/dist/commands.d.ts.map +1 -0
  18. package/dist/commands.js +560 -0
  19. package/dist/commands.js.map +1 -0
  20. package/dist/config.d.ts +9 -0
  21. package/dist/config.d.ts.map +1 -0
  22. package/dist/config.js +97 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/context/context_builder.d.ts +29 -0
  25. package/dist/context/context_builder.d.ts.map +1 -0
  26. package/dist/context/context_builder.js +307 -0
  27. package/dist/context/context_builder.js.map +1 -0
  28. package/dist/context/project_memory.d.ts +14 -0
  29. package/dist/context/project_memory.d.ts.map +1 -0
  30. package/dist/context/project_memory.js +142 -0
  31. package/dist/context/project_memory.js.map +1 -0
  32. package/dist/doctor.d.ts +2 -0
  33. package/dist/doctor.d.ts.map +1 -0
  34. package/dist/doctor.js +3 -0
  35. package/dist/doctor.js.map +1 -0
  36. package/dist/git.d.ts +10 -0
  37. package/dist/git.d.ts.map +1 -0
  38. package/dist/git.js +90 -0
  39. package/dist/git.js.map +1 -0
  40. package/dist/history.d.ts +14 -0
  41. package/dist/history.d.ts.map +1 -0
  42. package/dist/history.js +103 -0
  43. package/dist/history.js.map +1 -0
  44. package/dist/interactive.d.ts +6 -0
  45. package/dist/interactive.d.ts.map +1 -0
  46. package/dist/interactive.js +83 -0
  47. package/dist/interactive.js.map +1 -0
  48. package/dist/orchestrator.d.ts +11 -0
  49. package/dist/orchestrator.d.ts.map +1 -0
  50. package/dist/orchestrator.js +135 -0
  51. package/dist/orchestrator.js.map +1 -0
  52. package/dist/planner.d.ts +22 -0
  53. package/dist/planner.d.ts.map +1 -0
  54. package/dist/planner.js +259 -0
  55. package/dist/planner.js.map +1 -0
  56. package/dist/profiles.d.ts +16 -0
  57. package/dist/profiles.d.ts.map +1 -0
  58. package/dist/profiles.js +80 -0
  59. package/dist/profiles.js.map +1 -0
  60. package/dist/rollback.d.ts +27 -0
  61. package/dist/rollback.d.ts.map +1 -0
  62. package/dist/rollback.js +154 -0
  63. package/dist/rollback.js.map +1 -0
  64. package/dist/runtime.d.ts +131 -0
  65. package/dist/runtime.d.ts.map +1 -0
  66. package/dist/runtime.js +374 -0
  67. package/dist/runtime.js.map +1 -0
  68. package/dist/session.d.ts +95 -0
  69. package/dist/session.d.ts.map +1 -0
  70. package/dist/session.js +174 -0
  71. package/dist/session.js.map +1 -0
  72. package/dist/settings.d.ts +41 -0
  73. package/dist/settings.d.ts.map +1 -0
  74. package/dist/settings.js +225 -0
  75. package/dist/settings.js.map +1 -0
  76. package/dist/settings_menu.d.ts +2 -0
  77. package/dist/settings_menu.d.ts.map +1 -0
  78. package/dist/settings_menu.js +265 -0
  79. package/dist/settings_menu.js.map +1 -0
  80. package/dist/shell.d.ts +18 -0
  81. package/dist/shell.d.ts.map +1 -0
  82. package/dist/shell.js +128 -0
  83. package/dist/shell.js.map +1 -0
  84. package/dist/task_runner.d.ts +22 -0
  85. package/dist/task_runner.d.ts.map +1 -0
  86. package/dist/task_runner.js +230 -0
  87. package/dist/task_runner.js.map +1 -0
  88. package/dist/ui.d.ts +15 -0
  89. package/dist/ui.d.ts.map +1 -0
  90. package/dist/ui.js +160 -0
  91. package/dist/ui.js.map +1 -0
  92. package/dist/workspace.d.ts +17 -0
  93. package/dist/workspace.d.ts.map +1 -0
  94. package/dist/workspace.js +134 -0
  95. package/dist/workspace.js.map +1 -0
  96. package/dist/workspace_model.d.ts +45 -0
  97. package/dist/workspace_model.d.ts.map +1 -0
  98. package/dist/workspace_model.js +253 -0
  99. package/dist/workspace_model.js.map +1 -0
  100. package/package.json +45 -0
package/dist/git.js ADDED
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getGitInfo = getGitInfo;
37
+ exports.formatGitStatus = formatGitStatus;
38
+ const child_process_1 = require("child_process");
39
+ const path = __importStar(require("path"));
40
+ function getGitInfo(cwd) {
41
+ const result = {
42
+ isRepo: false,
43
+ branch: null,
44
+ isDirty: false,
45
+ uncommittedFiles: 0,
46
+ repoName: null,
47
+ };
48
+ try {
49
+ // Check if git repo
50
+ (0, child_process_1.execSync)('git rev-parse --git-dir', { cwd, stdio: 'pipe' });
51
+ result.isRepo = true;
52
+ // Get repo name from remote or folder
53
+ try {
54
+ const remote = (0, child_process_1.execSync)('git remote get-url origin', { cwd, stdio: 'pipe', encoding: 'utf-8' }).trim();
55
+ const match = remote.match(/\/([^\/]+?)(\.git)?$/);
56
+ result.repoName = match ? match[1] : path.basename(cwd);
57
+ }
58
+ catch {
59
+ result.repoName = path.basename(cwd);
60
+ }
61
+ // Get branch
62
+ try {
63
+ result.branch = (0, child_process_1.execSync)('git rev-parse --abbrev-ref HEAD', { cwd, stdio: 'pipe', encoding: 'utf-8' }).trim();
64
+ }
65
+ catch {
66
+ result.branch = 'unknown';
67
+ }
68
+ // Check dirty state
69
+ try {
70
+ const status = (0, child_process_1.execSync)('git status --porcelain', { cwd, stdio: 'pipe', encoding: 'utf-8' });
71
+ const lines = status.trim().split('\n').filter(l => l.length > 0);
72
+ result.uncommittedFiles = lines.length;
73
+ result.isDirty = lines.length > 0;
74
+ }
75
+ catch {
76
+ // Ignore
77
+ }
78
+ }
79
+ catch {
80
+ // Not a git repo
81
+ }
82
+ return result;
83
+ }
84
+ function formatGitStatus(info) {
85
+ if (!info.isRepo)
86
+ return 'no git';
87
+ const dirty = info.isDirty ? '*' : '';
88
+ return `${info.repoName || 'repo'}:${info.branch}${dirty}`;
89
+ }
90
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,gCA4CC;AAED,0CAIC;AA7DD,iDAAyC;AACzC,2CAA6B;AAU7B,SAAgB,UAAU,CAAC,GAAW;IACpC,MAAM,MAAM,GAAY;QACtB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,CAAC;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,CAAC;QACH,oBAAoB;QACpB,IAAA,wBAAQ,EAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAErB,sCAAsC;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACvG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACnD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,aAAa;QACb,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,GAAG,IAAA,wBAAQ,EAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;YACvC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,eAAe,CAAC,IAAa;IAC3C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface HistoryEntry {
2
+ timestamp: string;
3
+ intent: string;
4
+ intentType: string;
5
+ mode: string;
6
+ model: string;
7
+ filesCount: number;
8
+ outcome: 'success' | 'aborted' | 'failed';
9
+ }
10
+ export declare function logTask(entry: HistoryEntry): void;
11
+ export declare function getHistory(limit?: number): HistoryEntry[];
12
+ export declare function getLastEntry(): HistoryEntry | null;
13
+ export declare function clearHistory(): void;
14
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC3C;AASD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAiBjD;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAgBzD;AAED,wBAAgB,YAAY,IAAI,YAAY,GAAG,IAAI,CAGlD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAQnC"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.logTask = logTask;
37
+ exports.getHistory = getHistory;
38
+ exports.getLastEntry = getLastEntry;
39
+ exports.clearHistory = clearHistory;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const os = __importStar(require("os"));
43
+ const HISTORY_FILE = path.join(os.homedir(), '.zai', 'history.log');
44
+ const MAX_ENTRIES = 100;
45
+ function ensureHistoryDir() {
46
+ const dir = path.dirname(HISTORY_FILE);
47
+ if (!fs.existsSync(dir)) {
48
+ fs.mkdirSync(dir, { recursive: true });
49
+ }
50
+ }
51
+ function logTask(entry) {
52
+ ensureHistoryDir();
53
+ const line = JSON.stringify(entry) + '\n';
54
+ fs.appendFileSync(HISTORY_FILE, line, 'utf-8');
55
+ // Trim if too large
56
+ try {
57
+ const content = fs.readFileSync(HISTORY_FILE, 'utf-8');
58
+ const lines = content.trim().split('\n');
59
+ if (lines.length > MAX_ENTRIES) {
60
+ const trimmed = lines.slice(-MAX_ENTRIES).join('\n') + '\n';
61
+ fs.writeFileSync(HISTORY_FILE, trimmed, 'utf-8');
62
+ }
63
+ }
64
+ catch {
65
+ // Ignore
66
+ }
67
+ }
68
+ function getHistory(limit) {
69
+ try {
70
+ if (!fs.existsSync(HISTORY_FILE))
71
+ return [];
72
+ const content = fs.readFileSync(HISTORY_FILE, 'utf-8');
73
+ const lines = content.trim().split('\n').filter(l => l.length > 0);
74
+ const entries = lines.map(l => {
75
+ try {
76
+ return JSON.parse(l);
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ }).filter(Boolean);
82
+ const reversed = entries.reverse();
83
+ return limit ? reversed.slice(0, limit) : reversed;
84
+ }
85
+ catch {
86
+ return [];
87
+ }
88
+ }
89
+ function getLastEntry() {
90
+ const entries = getHistory(1);
91
+ return entries[0] || null;
92
+ }
93
+ function clearHistory() {
94
+ try {
95
+ if (fs.existsSync(HISTORY_FILE)) {
96
+ fs.unlinkSync(HISTORY_FILE);
97
+ }
98
+ }
99
+ catch {
100
+ // Ignore
101
+ }
102
+ }
103
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface InteractiveOptions {
2
+ prompt?: string;
3
+ onExit?: () => void;
4
+ }
5
+ export declare function startInteractive(options?: InteractiveOptions): Promise<void>;
6
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDlF"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.startInteractive = startInteractive;
37
+ const readline = __importStar(require("readline"));
38
+ const orchestrator_1 = require("./orchestrator");
39
+ const session_1 = require("./session");
40
+ const ui_1 = require("./ui");
41
+ async function startInteractive(options) {
42
+ const rl = readline.createInterface({
43
+ input: process.stdin,
44
+ output: process.stdout,
45
+ });
46
+ const askQuestion = () => {
47
+ const session = (0, session_1.getSession)();
48
+ const currentPrompt = (0, ui_1.getPrompt)(session);
49
+ rl.question(currentPrompt, async (input) => {
50
+ const trimmed = input.trim();
51
+ // Exit commands (handled before orchestrator for immediate response)
52
+ if (trimmed === 'exit' || trimmed === 'quit' || trimmed === ':q') {
53
+ rl.close();
54
+ options?.onExit?.();
55
+ return;
56
+ }
57
+ // Empty input - just re-prompt
58
+ if (!trimmed) {
59
+ askQuestion();
60
+ return;
61
+ }
62
+ // Route ALL input through orchestrator
63
+ try {
64
+ await (0, orchestrator_1.orchestrate)(trimmed);
65
+ }
66
+ catch (error) {
67
+ // Swallow errors, continue loop
68
+ }
69
+ // Continue loop
70
+ askQuestion();
71
+ });
72
+ };
73
+ // Handle Ctrl+C gracefully
74
+ rl.on('close', () => {
75
+ options?.onExit?.();
76
+ });
77
+ process.on('SIGINT', () => {
78
+ rl.close();
79
+ });
80
+ askQuestion();
81
+ return new Promise(() => { });
82
+ }
83
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,4CAkDC;AA5DD,mDAAqC;AACrC,iDAA6C;AAC7C,uCAAuC;AACvC,6BAAiC;AAO1B,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAA,oBAAU,GAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,IAAA,cAAS,EAAC,OAAO,CAAC,CAAC;QAEzC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAE7B,qEAAqE;YACrE,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACjE,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,+BAA+B;YAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,IAAI,CAAC;gBACH,MAAM,IAAA,0BAAW,EAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gCAAgC;YAClC,CAAC;YAED,gBAAgB;YAChB,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,2BAA2B;IAC3B,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,WAAW,EAAE,CAAC;IAEd,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { IntentType } from './session';
2
+ export type WorkflowType = 'slash_command' | 'capture_intent' | 'append_context' | 'confirm_action' | 'ignore';
3
+ export interface OrchestrationResult {
4
+ inputType: 'slash' | 'free_text';
5
+ intent: IntentType;
6
+ workflow: WorkflowType;
7
+ handled: boolean;
8
+ message?: string;
9
+ }
10
+ export declare function orchestrate(input: string): Promise<OrchestrationResult>;
11
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,UAAU,EAAiB,MAAM,WAAW,CAAC;AAGxF,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,CAAC;AAGb,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,GAAG,WAAW,CAAC;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA8GD,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8C7E"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orchestrate = orchestrate;
4
+ const commands_1 = require("./commands");
5
+ const session_1 = require("./session");
6
+ // Classify free text intent (rule-based, no model calls)
7
+ function classifyIntent(input) {
8
+ const lower = input.toLowerCase().trim();
9
+ // QUESTION patterns - explain, clarify, what/why/how questions
10
+ const questionPatterns = [
11
+ /^(what|why|how|when|where|who|explain|clarify|describe|tell me)/i,
12
+ /\?$/,
13
+ /^(is|are|can|could|would|should|do|does|did|has|have|will)\s/i,
14
+ /(what is|what are|what does|how does|how do|how to|why does|why is)/i,
15
+ ];
16
+ if (questionPatterns.some(p => p.test(lower))) {
17
+ return 'QUESTION';
18
+ }
19
+ // DEBUG patterns - fix, debug, error, bug, issue, broken, failing
20
+ const debugPatterns = [
21
+ /(fix|debug|error|bug|issue|broken|failing|crash|exception|problem|wrong|doesn'?t work|not working)/i,
22
+ /(resolve|troubleshoot|diagnose|investigate)/i,
23
+ ];
24
+ if (debugPatterns.some(p => p.test(lower))) {
25
+ return 'DEBUG';
26
+ }
27
+ // REFACTOR patterns - refactor, rename, reorganize, extract, move, restructure
28
+ const refactorPatterns = [
29
+ /(refactor|rename|reorganize|restructure|extract|move|split|merge|consolidate)/i,
30
+ /(clean up|cleanup|simplify|optimize|improve structure)/i,
31
+ ];
32
+ if (refactorPatterns.some(p => p.test(lower))) {
33
+ return 'REFACTOR';
34
+ }
35
+ // REVIEW patterns - review, analyze, audit, check, inspect, look at
36
+ const reviewPatterns = [
37
+ /(review|analyze|audit|check|inspect|examine|assess|evaluate)/i,
38
+ /(look at|understand|read|show me)/i,
39
+ ];
40
+ if (reviewPatterns.some(p => p.test(lower))) {
41
+ return 'REVIEW';
42
+ }
43
+ // CODE_EDIT patterns - add, create, implement, update, change, modify, write
44
+ const codeEditPatterns = [
45
+ /(add|create|implement|update|change|modify|write|build|make|generate)/i,
46
+ /(new|feature|function|component|class|method|file|module)/i,
47
+ /(edit|insert|append|remove|delete|replace)/i,
48
+ ];
49
+ if (codeEditPatterns.some(p => p.test(lower))) {
50
+ return 'CODE_EDIT';
51
+ }
52
+ // Default: COMMAND (unclear, may need clarification)
53
+ return 'COMMAND';
54
+ }
55
+ // Determine workflow based on intent
56
+ function determineWorkflow(intent, hasExistingIntent) {
57
+ // All intent types map to capture_intent for now
58
+ // The intent type is stored separately for later use
59
+ return 'capture_intent';
60
+ }
61
+ // Handle the workflow
62
+ async function handleWorkflow(workflow, input, parsed, intent) {
63
+ switch (workflow) {
64
+ case 'slash_command':
65
+ await (0, commands_1.executeCommand)(parsed);
66
+ return { handled: true };
67
+ case 'capture_intent':
68
+ (0, session_1.setIntent)(input);
69
+ (0, session_1.setIntentType)(intent);
70
+ console.log(`Intent: ${intent}`);
71
+ console.log('Use /plan to proceed.');
72
+ return { handled: true };
73
+ case 'append_context':
74
+ const existing = (0, session_1.getIntent)();
75
+ if (existing) {
76
+ (0, session_1.setIntent)(`${existing}\n\nClarification: ${input}`);
77
+ return { handled: true, message: 'Context appended to intent.' };
78
+ }
79
+ (0, session_1.setIntent)(input);
80
+ return { handled: true, message: 'Intent recorded. Use /plan to proceed.' };
81
+ case 'confirm_action':
82
+ const session = (0, session_1.getSession)();
83
+ if (session.pendingActions) {
84
+ // There are pending actions - user might want to apply
85
+ return { handled: true, message: 'Pending changes exist. Use /apply to execute or /diff to review.' };
86
+ }
87
+ return { handled: true, message: 'Nothing to confirm.' };
88
+ case 'ignore':
89
+ return { handled: true, message: 'Cancelled.' };
90
+ default:
91
+ return { handled: false };
92
+ }
93
+ }
94
+ // Main orchestration entry point
95
+ async function orchestrate(input) {
96
+ const trimmed = input.trim();
97
+ if (!trimmed) {
98
+ return {
99
+ inputType: 'free_text',
100
+ intent: 'COMMAND',
101
+ workflow: 'ignore',
102
+ handled: true,
103
+ };
104
+ }
105
+ // Parse input
106
+ const parsed = (0, commands_1.parseInput)(trimmed);
107
+ // Slash commands bypass intent detection
108
+ if (parsed.isSlashCommand) {
109
+ await (0, commands_1.executeCommand)(parsed);
110
+ return {
111
+ inputType: 'slash',
112
+ intent: 'COMMAND', // Not classified for slash commands
113
+ workflow: 'slash_command',
114
+ handled: true,
115
+ };
116
+ }
117
+ // Free text goes through intent classification
118
+ const intent = classifyIntent(trimmed);
119
+ const hasExistingIntent = (0, session_1.getIntent)() !== null;
120
+ const workflow = determineWorkflow(intent, hasExistingIntent);
121
+ // Execute workflow
122
+ const result = await handleWorkflow(workflow, trimmed, parsed, intent);
123
+ // Print message if any
124
+ if (result.message) {
125
+ console.log(result.message);
126
+ }
127
+ return {
128
+ inputType: 'free_text',
129
+ intent,
130
+ workflow,
131
+ handled: result.handled,
132
+ message: result.message,
133
+ };
134
+ }
135
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { PlanStep } from './session';
2
+ import { ResponseSchema } from './runtime';
3
+ declare const MAX_PLAN_ITERATIONS = 5;
4
+ declare const MAX_REFINE_ITERATIONS = 3;
5
+ export interface PlannerResult {
6
+ success: boolean;
7
+ iterations: number;
8
+ plan: PlanStep[] | null;
9
+ message: string;
10
+ needsConfirmation: boolean;
11
+ }
12
+ export interface GenerateResult {
13
+ success: boolean;
14
+ iterations: number;
15
+ changes: ResponseSchema | null;
16
+ message: string;
17
+ needsConfirmation: boolean;
18
+ }
19
+ export declare function runPlannerLoop(): Promise<PlannerResult>;
20
+ export declare function runGenerateLoop(): Promise<GenerateResult>;
21
+ export { MAX_PLAN_ITERATIONS, MAX_REFINE_ITERATIONS };
22
+ //# sourceMappingURL=planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqF,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxH,OAAO,EAAW,cAAc,EAAE,MAAM,WAAW,CAAC;AASpD,QAAA,MAAM,mBAAmB,IAAI,CAAC;AAC9B,QAAA,MAAM,qBAAqB,IAAI,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAqBD,wBAAsB,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CA+H7D;AAGD,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC,CAoG/D;AAGD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAC"}