@sylix/coworker 2.0.3 → 2.0.4

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 (52) hide show
  1. package/dist/cli/index.d.ts.map +1 -1
  2. package/dist/cli/index.js +27 -25
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/WorkflowEngine.d.ts +22 -0
  5. package/dist/commands/WorkflowEngine.d.ts.map +1 -0
  6. package/dist/commands/WorkflowEngine.js +127 -0
  7. package/dist/commands/WorkflowEngine.js.map +1 -0
  8. package/dist/commands/slash/registry.d.ts +5 -1
  9. package/dist/commands/slash/registry.d.ts.map +1 -1
  10. package/dist/commands/slash/registry.js +18 -0
  11. package/dist/commands/slash/registry.js.map +1 -1
  12. package/dist/config/SettingsManager.d.ts +6 -2
  13. package/dist/config/SettingsManager.d.ts.map +1 -1
  14. package/dist/config/SettingsManager.js +31 -28
  15. package/dist/config/SettingsManager.js.map +1 -1
  16. package/dist/core/CoWorkerAgent.d.ts +7 -1
  17. package/dist/core/CoWorkerAgent.d.ts.map +1 -1
  18. package/dist/core/CoWorkerAgent.js +39 -4
  19. package/dist/core/CoWorkerAgent.js.map +1 -1
  20. package/dist/skills/HookAndSkillManager.d.ts.map +1 -1
  21. package/dist/skills/HookAndSkillManager.js +27 -9
  22. package/dist/skills/HookAndSkillManager.js.map +1 -1
  23. package/dist/types/modes.d.ts +16 -0
  24. package/dist/types/modes.d.ts.map +1 -0
  25. package/dist/types/modes.js +15 -0
  26. package/dist/types/modes.js.map +1 -0
  27. package/dist/utils/RuleManager.d.ts +23 -0
  28. package/dist/utils/RuleManager.d.ts.map +1 -0
  29. package/dist/utils/RuleManager.js +115 -0
  30. package/dist/utils/RuleManager.js.map +1 -0
  31. package/dist/utils/character.d.ts.map +1 -1
  32. package/dist/utils/character.js +8 -9
  33. package/dist/utils/character.js.map +1 -1
  34. package/dist/utils/inputbar.d.ts +11 -79
  35. package/dist/utils/inputbar.d.ts.map +1 -1
  36. package/dist/utils/inputbar.js +80 -201
  37. package/dist/utils/inputbar.js.map +1 -1
  38. package/dist/utils/memoryManager.d.ts.map +1 -1
  39. package/dist/utils/memoryManager.js +6 -3
  40. package/dist/utils/memoryManager.js.map +1 -1
  41. package/dist/utils/output.d.ts +9 -48
  42. package/dist/utils/output.d.ts.map +1 -1
  43. package/dist/utils/output.js +71 -349
  44. package/dist/utils/output.js.map +1 -1
  45. package/dist/utils/systemPrompt.d.ts.map +1 -1
  46. package/dist/utils/systemPrompt.js +14 -5
  47. package/dist/utils/systemPrompt.js.map +1 -1
  48. package/dist/utils/welcome.d.ts +5 -1
  49. package/dist/utils/welcome.d.ts.map +1 -1
  50. package/dist/utils/welcome.js +19 -129
  51. package/dist/utils/welcome.js.map +1 -1
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/utils/character.ts"],"names":[],"mappings":";;;;;AAaA,0CAiBC;AA9BD,kDAA0B;AAE1B;;;GAGG;AAEH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,QAAQ;IACtC,GAAG,EAAI,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,QAAQ;IACtC,EAAE,EAAK,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,wBAAwB;CACvD,CAAC;AAEF,SAAgB,eAAe,CAAC,QAA0B,MAAM;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAElC,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM;QAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAExB,OAAO;QACL,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;QACnB,GAAG,GAAG,MAAM;QACZ,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/utils/character.ts"],"names":[],"mappings":";;;;;AAaA,0CAgBC;AA7BD,kDAA0B;AAE1B;;;GAGG;AAEH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,QAAQ;IACtC,GAAG,EAAI,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,QAAQ;IACtC,EAAE,EAAK,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAG,wBAAwB;CACvD,CAAC;AAEF,SAAgB,eAAe,CAAC,QAA0B,MAAM;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAElC,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM;QAC3B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAExB,OAAO;QACL,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI;QACJ,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;QACnB,IAAI,CAAC,aAAa,CAAC;KACpB,CAAC;AACJ,CAAC"}
@@ -1,88 +1,20 @@
1
- export type InputBarState = 'ready' | 'typing' | 'slash' | 'sending' | 'receiving' | 'success';
1
+ import { AgentMode } from '../types/modes';
2
2
  /**
3
- * Draws the framed input bar. This is called:
4
- * - Before readline prompt (draws the frame)
5
- * - On state changes (thinking, receiving, etc.)
6
- *
7
- * The input bar uses a simple approach:
8
- * readline handles the actual input on a bordered line.
9
- * We print borders and status around it.
3
+ * Premium Input Bar Manager — v2.0.5
4
+ * Handles the boxed input area and Mode Cycling (BUILD, PLAN, RESEARCH, ASK).
10
5
  */
11
6
  export declare function drawTopBorder(): void;
12
7
  export declare function drawBottomBorder(): void;
13
- export declare function drawStatusLine(state: InputBarState, contextLabel?: string): void;
14
- /**
15
- * Get the readline prompt string (the ◆ prefix).
16
- */
17
- export declare function getPromptString(state?: InputBarState): string;
18
- /**
19
- * Draw the full input frame (top border, prompt placeholder, bottom border, status).
20
- * Used when transitioning states.
21
- */
22
- export declare function drawInputFrame(state: InputBarState, inputText?: string): void;
23
- /**
24
- * Clear the input frame (4 lines: top border, input, bottom border, status).
25
- * Move cursor up and clear each line.
26
- */
27
- export declare function clearInputFrame(lines?: number): void;
28
- /**
29
- * Show the locked state while AI is working.
30
- * Replaces the input frame with a locked version.
31
- */
32
- export declare function lockInputBar(state: 'sending' | 'receiving', inputText?: string): void;
33
- /**
34
- * Show a brief success flash then return to ready.
35
- */
36
- export declare function flashSuccess(): void;
37
- /**
38
- * Manages the complete input bar lifecycle during the REPL.
39
- *
40
- * Usage in REPL:
41
- * const bar = new InputBarManager();
42
- * bar.drawReady(); // show empty input bar
43
- * const input = await bar.ask() // get user input (readline inside frame)
44
- * bar.showSending(input); // lock bar while thinking
45
- * // ... AI response renders above ...
46
- * bar.showReceiving(); // update status while streaming
47
- * // ... response done ...
48
- * bar.drawReady(); // unlock for next input
49
- */
8
+ export declare function drawStatusLine(mode: AgentMode | string, status?: string): void;
50
9
  export declare class InputBarManager {
51
- private rl;
52
- private state;
53
- private contextLabel;
54
- private resizeHandler;
10
+ private mode;
55
11
  constructor();
56
- /**
57
- * Draw the ready input frame (borders + status).
58
- * Does NOT start readline — that's done in ask().
59
- */
60
- drawReady(): void;
61
- /**
62
- * Ask for user input inside the framed bar.
63
- * Returns the trimmed input string.
64
- */
65
- ask(history?: string[], contextLabel?: string): Promise<string>;
66
- /**
67
- * Lock the bar in "sending" state (user just hit Enter).
68
- */
69
- showSending(inputText: string): void;
70
- /**
71
- * Update to "receiving" state while AI streams response.
72
- */
73
- showReceiving(): void;
74
- /**
75
- * Show success flash briefly.
76
- */
77
- showSuccess(): void;
78
- /**
79
- * Reset to ready state for next input.
80
- * Clears old status and draws fresh frame.
81
- */
82
- reset(): void;
83
- /**
84
- * Clean up on exit.
85
- */
12
+ getMode(): AgentMode;
13
+ /** Lifecycle: Clean up listeners and reset TTY */
86
14
  destroy(): void;
15
+ /** Lifecycle: Reset internal state */
16
+ reset(): void;
17
+ private cycleMode;
18
+ ask(history: string[], contextLabel: string): Promise<string>;
87
19
  }
88
20
  //# sourceMappingURL=inputbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputbar.d.ts","sourceRoot":"","sources":["../../src/utils/inputbar.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAW/F;;;;;;;;GAQG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAIhF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,aAAuB,GAAG,MAAM,CAOtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,GAAE,MAAW,GAAG,IAAI,CAMjF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,MAAU,GAAG,IAAI,CAIvD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAKrF;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAmC;IAC7C,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,aAAa,CAA6B;;IAUlD;;;OAGG;IACH,SAAS,IAAI,IAAI;IAMjB;;;OAGG;IACH,GAAG,CAAC,OAAO,GAAE,MAAM,EAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BnE;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASpC;;OAEG;IACH,aAAa,IAAI,IAAI;IAOrB;;OAEG;IACH,WAAW,IAAI,IAAI;IAMnB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"inputbar.d.ts","sourceRoot":"","sources":["../../src/utils/inputbar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AAEH,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,MAAM,GAAE,MAAgB,GAAG,IAAI,CAuBvF;AAgBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAA8B;;IAS1C,OAAO,IAAI,SAAS;IAEpB,kDAAkD;IAClD,OAAO,IAAI,IAAI;IAMf,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,SAAS;IAMX,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAiCpE"}
@@ -37,228 +37,107 @@ exports.InputBarManager = void 0;
37
37
  exports.drawTopBorder = drawTopBorder;
38
38
  exports.drawBottomBorder = drawBottomBorder;
39
39
  exports.drawStatusLine = drawStatusLine;
40
- exports.getPromptString = getPromptString;
41
- exports.drawInputFrame = drawInputFrame;
42
- exports.clearInputFrame = clearInputFrame;
43
- exports.lockInputBar = lockInputBar;
44
- exports.flashSuccess = flashSuccess;
45
40
  const readline = __importStar(require("readline"));
46
41
  const output_1 = require("./output");
42
+ const modes_1 = require("../types/modes");
47
43
  /**
48
- * ═══════════════════════════════════════════════════════════════════
49
- * Premium Input Bar Fixed-bottom framed input zone
50
- * ═══════════════════════════════════════════════════════════════════
51
- *
52
- * Design:
53
- * ────────────────────────────────────────────────────────────────
54
- * ◆ [user input text here]█
55
- * ────────────────────────────────────────────────────────────────
56
- * ? /help for commands · Ctrl+C to exit
57
- *
58
- * States: ready, typing, slash, sending, receiving, success
59
- */
60
- // Colors
61
- const borderColor = (s) => output_1.theme.dim(s);
62
- const prefixReady = () => output_1.theme.brand(' ◆ ');
63
- const prefixLocked = () => output_1.theme.dim(' ◆ ');
64
- const prefixSuccess = () => output_1.theme.success(' ✓ ');
65
- const inputColor = (s) => output_1.theme.white(s);
66
- const STATUS_MESSAGES = {
67
- ready: ' ? /help for commands · Ctrl+C to exit',
68
- typing: ' ? /help for commands · Ctrl+C to exit',
69
- slash: ' ↑↓ navigate · Enter select · Esc dismiss',
70
- sending: ' ◆ thinking...',
71
- receiving: ' ◆ CoWorker is responding...',
72
- success: ' ✓ done',
73
- };
74
- /**
75
- * Draws the framed input bar. This is called:
76
- * - Before readline prompt (draws the frame)
77
- * - On state changes (thinking, receiving, etc.)
78
- *
79
- * The input bar uses a simple approach:
80
- * readline handles the actual input on a bordered line.
81
- * We print borders and status around it.
44
+ * Premium Input Bar Manager — v2.0.5
45
+ * Handles the boxed input area and Mode Cycling (BUILD, PLAN, RESEARCH, ASK).
82
46
  */
83
47
  function drawTopBorder() {
84
- const cols = (0, output_1.getTermWidth)();
85
- console.log(borderColor('─'.repeat(cols)));
48
+ const width = (0, output_1.getTermWidth)();
49
+ console.log(output_1.theme.dim(' ┌' + '─'.repeat(width - 6) + '┐'));
86
50
  }
87
51
  function drawBottomBorder() {
88
- const cols = (0, output_1.getTermWidth)();
89
- console.log(borderColor('─'.repeat(cols)));
90
- }
91
- function drawStatusLine(state, contextLabel) {
92
- const msg = STATUS_MESSAGES[state] || STATUS_MESSAGES.ready;
93
- const separator = contextLabel ? output_1.theme.dim(' · ') : '';
94
- console.log(output_1.theme.dim(msg) + separator + (contextLabel || ''));
52
+ const width = (0, output_1.getTermWidth)();
53
+ console.log(output_1.theme.dim(' └' + '─'.repeat(width - 6) + '┘'));
95
54
  }
96
- /**
97
- * Get the readline prompt string (the ◆ prefix).
98
- */
99
- function getPromptString(state = 'ready') {
100
- switch (state) {
101
- case 'success': return prefixSuccess();
102
- case 'sending':
103
- case 'receiving': return prefixLocked();
104
- default: return prefixReady();
55
+ function drawStatusLine(mode, status = 'ready') {
56
+ const width = (0, output_1.getTermWidth)();
57
+ // Handle literal strings for legacy calls or specific statuses
58
+ let modeLabel = '';
59
+ let modeColor = output_1.theme.dim;
60
+ if (typeof mode === 'string' && !Object.values(modes_1.AgentMode).includes(mode)) {
61
+ status = mode;
62
+ modeLabel = ' [COWORKER] ';
63
+ modeColor = output_1.theme.brand;
105
64
  }
106
- }
107
- /**
108
- * Draw the full input frame (top border, prompt placeholder, bottom border, status).
109
- * Used when transitioning states.
110
- */
111
- function drawInputFrame(state, inputText = '') {
112
- drawTopBorder();
113
- const prefix = getPromptString(state);
114
- console.log(prefix + inputColor(inputText));
115
- drawBottomBorder();
116
- drawStatusLine(state);
117
- }
118
- /**
119
- * Clear the input frame (4 lines: top border, input, bottom border, status).
120
- * Move cursor up and clear each line.
121
- */
122
- function clearInputFrame(lines = 4) {
123
- for (let i = 0; i < lines; i++) {
124
- process.stdout.write('\x1b[1A\x1b[2K'); // move up, clear line
65
+ else {
66
+ const activeMode = mode;
67
+ modeLabel = ` [${activeMode} MODE] `;
68
+ modeColor = getModeColor(activeMode);
125
69
  }
70
+ const statusLabel = status.toUpperCase();
71
+ const rightPart = `${output_1.theme.dim('·')} ${modeColor(modeLabel)} ${output_1.theme.dim('·')} ${output_1.theme.brand(statusLabel)} `;
72
+ const leftPart = ' ';
73
+ const padding = width - visLen(leftPart) - visLen(rightPart) - 8;
74
+ process.stdout.write('\r' + leftPart + output_1.theme.dim('│') + ' '.repeat(Math.max(0, padding)) + rightPart + output_1.theme.dim('│') + '\n');
126
75
  }
127
- /**
128
- * Show the locked state while AI is working.
129
- * Replaces the input frame with a locked version.
130
- */
131
- function lockInputBar(state, inputText) {
132
- drawTopBorder();
133
- console.log(getPromptString(state) + (inputText ? output_1.theme.dim(inputText) : ''));
134
- drawBottomBorder();
135
- drawStatusLine(state);
76
+ function getModeColor(mode) {
77
+ switch (mode) {
78
+ case modes_1.AgentMode.BUILD: return output_1.theme.success;
79
+ case modes_1.AgentMode.PLAN: return output_1.theme.warning;
80
+ case modes_1.AgentMode.RESEARCH: return output_1.theme.brand;
81
+ case modes_1.AgentMode.ASK: return output_1.theme.purple;
82
+ default: return output_1.theme.dim;
83
+ }
136
84
  }
137
- /**
138
- * Show a brief success flash then return to ready.
139
- */
140
- function flashSuccess() {
141
- drawTopBorder();
142
- console.log(prefixSuccess());
143
- drawBottomBorder();
144
- drawStatusLine('success');
85
+ function visLen(str) {
86
+ return str.replace(/\x1b\[[0-9;]*m/g, '').length;
145
87
  }
146
- /**
147
- * Manages the complete input bar lifecycle during the REPL.
148
- *
149
- * Usage in REPL:
150
- * const bar = new InputBarManager();
151
- * bar.drawReady(); // show empty input bar
152
- * const input = await bar.ask() // get user input (readline inside frame)
153
- * bar.showSending(input); // lock bar while thinking
154
- * // ... AI response renders above ...
155
- * bar.showReceiving(); // update status while streaming
156
- * // ... response done ...
157
- * bar.drawReady(); // unlock for next input
158
- */
159
88
  class InputBarManager {
160
89
  constructor() {
161
- this.rl = null;
162
- this.state = 'ready';
163
- this.contextLabel = '';
164
- this.resizeHandler = null;
165
- // Handle terminal resize
166
- this.resizeHandler = () => {
167
- // On resize, we don't need to redraw mid-input since readline handles it
168
- };
169
- process.stdout.on('resize', this.resizeHandler);
90
+ this.mode = modes_1.AgentMode.BUILD;
91
+ if (process.stdin.isTTY) {
92
+ process.stdin.setRawMode(true);
93
+ readline.emitKeypressEvents(process.stdin);
94
+ }
170
95
  }
171
- /**
172
- * Draw the ready input frame (borders + status).
173
- * Does NOT start readline — that's done in ask().
174
- */
175
- drawReady() {
176
- this.state = 'ready';
177
- drawTopBorder();
178
- // The readline prompt will fill this line
96
+ getMode() { return this.mode; }
97
+ /** Lifecycle: Clean up listeners and reset TTY */
98
+ destroy() {
99
+ if (process.stdin.isTTY) {
100
+ process.stdin.setRawMode(false);
101
+ }
179
102
  }
180
- /**
181
- * Ask for user input inside the framed bar.
182
- * Returns the trimmed input string.
183
- */
184
- ask(history = [], contextLabel) {
185
- if (contextLabel !== undefined)
186
- this.contextLabel = contextLabel;
103
+ /** Lifecycle: Reset internal state */
104
+ reset() {
105
+ this.mode = modes_1.AgentMode.BUILD;
106
+ }
107
+ cycleMode() {
108
+ const modes = Object.values(modes_1.AgentMode);
109
+ const nextIdx = (modes.indexOf(this.mode) + 1) % modes.length;
110
+ this.mode = modes[nextIdx];
111
+ }
112
+ async ask(history, contextLabel) {
113
+ const rl = readline.createInterface({
114
+ input: process.stdin,
115
+ output: process.stdout,
116
+ terminal: true,
117
+ history: history,
118
+ prompt: ''
119
+ });
120
+ drawStatusLine(this.mode, contextLabel);
187
121
  return new Promise((resolve) => {
188
- this.rl = readline.createInterface({
189
- input: process.stdin,
190
- output: process.stdout,
191
- terminal: true,
192
- history: history,
193
- historySize: 100,
194
- });
195
- const prompt = getPromptString('ready');
196
- this.rl.question(prompt, (answer) => {
197
- const trimmed = answer.trim();
198
- // Ensure bottom border and status are always there after input
199
- drawBottomBorder();
200
- drawStatusLine('ready', this.contextLabel);
201
- this.rl?.close();
202
- this.rl = null;
203
- resolve(trimmed);
122
+ const onKeypress = (str, key) => {
123
+ // Tab for Mode Cycling
124
+ if (key && (key.name === 'tab')) {
125
+ this.cycleMode();
126
+ rl._refreshLine();
127
+ process.stdout.write('\x1b[1A');
128
+ drawStatusLine(this.mode, contextLabel);
129
+ process.stdout.write('\r │ ' + rl.line);
130
+ }
131
+ };
132
+ process.stdin.on('keypress', onKeypress);
133
+ process.stdout.write(' │ ');
134
+ rl.on('line', (line) => {
135
+ process.stdin.removeListener('keypress', onKeypress);
136
+ rl.close();
137
+ resolve(line.trim());
204
138
  });
205
139
  });
206
140
  }
207
- /**
208
- * Lock the bar in "sending" state (user just hit Enter).
209
- */
210
- showSending(inputText) {
211
- this.state = 'sending';
212
- // Clear the bottom border + status that ask() drew
213
- process.stdout.write('\x1b[1A\x1b[2K'); // clear status
214
- process.stdout.write('\x1b[1A\x1b[2K'); // clear bottom border
215
- drawBottomBorder();
216
- drawStatusLine('sending', this.contextLabel);
217
- }
218
- /**
219
- * Update to "receiving" state while AI streams response.
220
- */
221
- showReceiving() {
222
- this.state = 'receiving';
223
- // Overwrite the status line
224
- process.stdout.write('\x1b[1A\x1b[2K'); // clear current status
225
- drawStatusLine('receiving', this.contextLabel);
226
- }
227
- /**
228
- * Show success flash briefly.
229
- */
230
- showSuccess() {
231
- this.state = 'success';
232
- process.stdout.write('\x1b[1A\x1b[2K');
233
- drawStatusLine('success');
234
- }
235
- /**
236
- * Reset to ready state for next input.
237
- * Clears old status and draws fresh frame.
238
- */
239
- reset() {
240
- this.state = 'ready';
241
- console.log('');
242
- drawTopBorder();
243
- process.stdout.write(getPromptString('ready') + '\n');
244
- drawBottomBorder();
245
- drawStatusLine('ready');
246
- // Move up so next ask() starts on the prompt line
247
- process.stdout.write('\x1b[3A');
248
- }
249
- /**
250
- * Clean up on exit.
251
- */
252
- destroy() {
253
- if (this.rl) {
254
- this.rl.close();
255
- this.rl = null;
256
- }
257
- if (this.resizeHandler) {
258
- process.stdout.removeListener('resize', this.resizeHandler);
259
- this.resizeHandler = null;
260
- }
261
- }
262
141
  }
263
142
  exports.InputBarManager = InputBarManager;
264
143
  //# sourceMappingURL=inputbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputbar.js","sourceRoot":"","sources":["../../src/utils/inputbar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputbar.js","sourceRoot":"","sources":["../../src/utils/inputbar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memoryManager.d.ts","sourceRoot":"","sources":["../../src/utils/memoryManager.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiD3F;AAeD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E"}
1
+ {"version":3,"file":"memoryManager.d.ts","sourceRoot":"","sources":["../../src/utils/memoryManager.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqD3F;AAeD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1E"}
@@ -30,12 +30,15 @@ async function getMemoryHierarchy(cwd, currentFile) {
30
30
  fs_1.default.mkdirSync(GLOBAL_MEMORY_DIR, { recursive: true });
31
31
  fs_1.default.writeFileSync(GLOBAL_MEMORY_PATH, '# CoWorker Global Memory\n\n- No global memory saved yet.');
32
32
  }
33
- // 2. Project Memory
34
- const projectMemoryPath = path_1.default.join(cwd, '.coworker.md');
33
+ // 2. Project Memory (coworker.md or .coworker.md)
34
+ let projectMemoryPath = path_1.default.join(cwd, 'coworker.md');
35
+ if (!fs_1.default.existsSync(projectMemoryPath)) {
36
+ projectMemoryPath = path_1.default.join(cwd, '.coworker.md');
37
+ }
35
38
  if (fs_1.default.existsSync(projectMemoryPath)) {
36
39
  const projectContent = fs_1.default.readFileSync(projectMemoryPath, 'utf8').trim();
37
40
  if (projectContent) {
38
- memory += `### Project Memory (.coworker.md)\n${projectContent}\n\n`;
41
+ memory += `### Project Brain (${path_1.default.basename(projectMemoryPath)})\n${projectContent}\n\n`;
39
42
  }
40
43
  }
41
44
  // 3. Subdirectory Memory (Walk-up from currentFile)
@@ -1 +1 @@
1
- {"version":3,"file":"memoryManager.js","sourceRoot":"","sources":["../../src/utils/memoryManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryManager.js","sourceRoot":"","sources":["../../src/utils/memoryManager.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  /**
2
2
  * ═══════════════════════════════════════════════════════════════════
3
- * CoWorker v1.3.0 by Sylix — Premium Output System
3
+ * CoWorker v2.0.5 by Sylix — Premium Output System
4
4
  * ═══════════════════════════════════════════════════════════════════
5
- *
6
- * Premium terminal rendering with true streaming support.
7
- * All response text renders inside ╷│╵ borders as it arrives.
8
5
  */
9
- export declare const CW_VERSION = "2.0.3";
6
+ export declare const CW_VERSION = "2.0.4";
7
+ export declare const BRAND_SYMBOL = "\u25C6";
8
+ export declare const PROMPT_PREFIX = " you ";
10
9
  export declare const theme: {
11
10
  brand: (s: string) => string;
12
11
  accent: (s: string) => string;
@@ -25,6 +24,7 @@ export declare function getTermWidth(): number;
25
24
  export declare function showBanner(version: string, userEmail?: string, model?: string): Promise<void>;
26
25
  export declare function showStaticBanner(version: string): void;
27
26
  export declare function showSessionInfo(cwd: string, sessionId: string): Promise<void>;
27
+ export declare function printCommitBox(msg: string): void;
28
28
  export declare class ThinkingAnimation {
29
29
  private interval;
30
30
  private frame;
@@ -33,46 +33,18 @@ export declare class ThinkingAnimation {
33
33
  start(): void;
34
34
  stop(): void;
35
35
  }
36
- /**
37
- * Manages the response box state during streaming.
38
- *
39
- * Correct output:
40
- * ╷
41
- * │ Hi! I'm CoWorker, your AI coding assistant.
42
- * │
43
- * │ I can help you with:
44
- * │ · Writing and debugging code
45
- * │
46
- * ╵ ✦ 1.2s · 34 tokens
47
- *
48
- * Rules:
49
- * - ALL text inside ╷│╵ border
50
- * - Border chars (╷ │ ╵) in dim gray #4B5563
51
- * - Response text in purple #A78BFA
52
- * - Code blocks switch to yellow #FCD34D
53
- * - On every \n → print "\n │ "
54
- */
55
36
  export declare class StreamRenderer {
56
37
  private started;
57
38
  private inCodeBlock;
58
39
  private isThinking;
59
40
  private startTime;
60
41
  private charCount;
61
- constructor();
42
+ private model;
43
+ constructor(model?: string);
62
44
  write(chunk: string): Promise<void>;
63
45
  private renderText;
64
- /**
65
- * Close the response box and print footer.
66
- */
67
46
  finish(): void;
68
- /** Returns the estimated token count. */
69
- getTokenEstimate(): number;
70
- /** Returns elapsed ms. */
71
- getElapsed(): number;
72
47
  }
73
- export declare function printResponseHeader(): void;
74
- export declare function printResponseFooter(elapsed: number, tokenEstimate?: number): void;
75
- export declare function streamResponseChunk(chunk: string): void;
76
48
  export declare function printUserPrompt(input: string): void;
77
49
  export declare function printError(title: string, details?: string, hint?: string): void;
78
50
  export declare function printSuccess(message: string): void;
@@ -81,30 +53,19 @@ export declare function printExit(): void;
81
53
  export declare function printToolStart(toolName: string): void;
82
54
  export declare function printToolDone(toolName: string, elapsed: number): void;
83
55
  export declare function printToolError(toolName: string, error: string): void;
56
+ export declare function checkWorkspaceTrust(cwd: string): Promise<boolean>;
84
57
  export declare function printScoreCard(fileName: string, scores: Array<{
85
58
  label: string;
86
59
  score: number;
87
60
  max?: number;
88
61
  }>): void;
89
- export declare function printCommitBox(commitMessage: string): void;
90
- export declare function printDiff(fileName: string, changes: Array<{
91
- type: 'add' | 'remove' | 'context';
92
- line: string;
93
- }>): void;
94
- /**
95
- * Shows the CoWorker branded workspace trust prompt.
96
- * Returns true if user trusts, false if they want to exit.
97
- * Skips silently if the directory is already trusted.
98
- */
99
- export declare function checkWorkspaceTrust(cwd: string): Promise<boolean>;
100
62
  export declare function printHelp(): void;
101
63
  export declare function printCompact(msgCount: number, tokenEst: number, sessionId: string): void;
102
64
  export declare function printBox(label: string, lines: string[]): void;
65
+ export declare function renderMarkdown(text: string): string;
103
66
  export declare class Timer {
104
67
  private start;
105
- constructor();
106
68
  elapsed(): number;
107
69
  formatted(): string;
108
70
  }
109
- export declare function renderMarkdown(text: string): string;
110
71
  //# sourceMappingURL=output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"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"}