@sylix/coworker 1.3.0 → 1.4.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 (84) hide show
  1. package/dist/cli/index.d.ts.map +1 -1
  2. package/dist/cli/index.js +184 -292
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/commands/slash/advanced.d.ts +3 -0
  5. package/dist/commands/slash/advanced.d.ts.map +1 -0
  6. package/dist/commands/slash/advanced.js +225 -0
  7. package/dist/commands/slash/advanced.js.map +1 -0
  8. package/dist/commands/slash/config.d.ts +3 -0
  9. package/dist/commands/slash/config.d.ts.map +1 -0
  10. package/dist/commands/slash/config.js +161 -0
  11. package/dist/commands/slash/config.js.map +1 -0
  12. package/dist/commands/slash/context.d.ts +3 -0
  13. package/dist/commands/slash/context.d.ts.map +1 -0
  14. package/dist/commands/slash/context.js +127 -0
  15. package/dist/commands/slash/context.js.map +1 -0
  16. package/dist/commands/slash/core.d.ts +3 -0
  17. package/dist/commands/slash/core.d.ts.map +1 -0
  18. package/dist/commands/slash/core.js +112 -0
  19. package/dist/commands/slash/core.js.map +1 -0
  20. package/dist/commands/slash/developer.d.ts +3 -0
  21. package/dist/commands/slash/developer.d.ts.map +1 -0
  22. package/dist/commands/slash/developer.js +174 -0
  23. package/dist/commands/slash/developer.js.map +1 -0
  24. package/dist/commands/slash/files.d.ts +3 -0
  25. package/dist/commands/slash/files.d.ts.map +1 -0
  26. package/dist/commands/slash/files.js +216 -0
  27. package/dist/commands/slash/files.js.map +1 -0
  28. package/dist/commands/slash/registry.d.ts +36 -0
  29. package/dist/commands/slash/registry.d.ts.map +1 -0
  30. package/dist/commands/slash/registry.js +69 -0
  31. package/dist/commands/slash/registry.js.map +1 -0
  32. package/dist/commands/slash/session.d.ts +3 -0
  33. package/dist/commands/slash/session.d.ts.map +1 -0
  34. package/dist/commands/slash/session.js +144 -0
  35. package/dist/commands/slash/session.js.map +1 -0
  36. package/dist/core/CoWorkerAgent.d.ts +8 -5
  37. package/dist/core/CoWorkerAgent.d.ts.map +1 -1
  38. package/dist/core/CoWorkerAgent.js +171 -52
  39. package/dist/core/CoWorkerAgent.js.map +1 -1
  40. package/dist/session/SessionManager.js +10 -5
  41. package/dist/session/SessionManager.js.map +1 -1
  42. package/dist/skills/HookAndSkillManager.d.ts +7 -2
  43. package/dist/skills/HookAndSkillManager.d.ts.map +1 -1
  44. package/dist/skills/HookAndSkillManager.js +35 -8
  45. package/dist/skills/HookAndSkillManager.js.map +1 -1
  46. package/dist/skills/defaults/brainstorming.md +43 -0
  47. package/dist/skills/defaults/commit.md +37 -0
  48. package/dist/skills/defaults/executing-plans.md +41 -0
  49. package/dist/skills/defaults/finishing-a-development-branch.md +35 -0
  50. package/dist/skills/defaults/receiving-code-review.md +40 -0
  51. package/dist/skills/defaults/requesting-code-review.md +43 -0
  52. package/dist/skills/defaults/review.md +50 -0
  53. package/dist/skills/defaults/subagent-driven-development.md +55 -0
  54. package/dist/skills/defaults/systematic-debugging.md +93 -0
  55. package/dist/skills/defaults/test-driven-development.md +97 -0
  56. package/dist/skills/defaults/using-git-worktrees.md +36 -0
  57. package/dist/skills/defaults/verification-before-completion.md +47 -0
  58. package/dist/skills/defaults/writing-plans.md +84 -0
  59. package/dist/skills/defaults/writing-skills.md +46 -0
  60. package/dist/tools/NativeTools.d.ts +0 -4
  61. package/dist/tools/NativeTools.d.ts.map +1 -1
  62. package/dist/tools/NativeTools.js +50 -10
  63. package/dist/tools/NativeTools.js.map +1 -1
  64. package/dist/utils/conversations.d.ts +14 -0
  65. package/dist/utils/conversations.d.ts.map +1 -0
  66. package/dist/utils/conversations.js +100 -0
  67. package/dist/utils/conversations.js.map +1 -0
  68. package/dist/utils/inputbar.d.ts +87 -0
  69. package/dist/utils/inputbar.d.ts.map +1 -0
  70. package/dist/utils/inputbar.js +263 -0
  71. package/dist/utils/inputbar.js.map +1 -0
  72. package/dist/utils/output.d.ts +48 -42
  73. package/dist/utils/output.d.ts.map +1 -1
  74. package/dist/utils/output.js +245 -186
  75. package/dist/utils/output.js.map +1 -1
  76. package/dist/utils/palette.d.ts +25 -0
  77. package/dist/utils/palette.d.ts.map +1 -0
  78. package/dist/utils/palette.js +92 -0
  79. package/dist/utils/palette.js.map +1 -0
  80. package/dist/utils/welcome.d.ts +2 -0
  81. package/dist/utils/welcome.d.ts.map +1 -0
  82. package/dist/utils/welcome.js +130 -0
  83. package/dist/utils/welcome.js.map +1 -0
  84. package/package.json +2 -2
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.CoWorkerAgent = void 0;
40
+ const output_1 = require("../utils/output");
40
41
  const PermissionInterceptor_1 = require("../permissions/PermissionInterceptor");
41
42
  const NativeTools_1 = require("../tools/NativeTools");
42
43
  const TaskEngine_1 = require("../task/TaskEngine");
@@ -89,7 +90,11 @@ async function getSystemPrompt(cwd) {
89
90
  let promptText = FALLBACK_SYSTEM_PROMPT;
90
91
  try {
91
92
  promptText = fs.readFileSync(promptPath, 'utf8');
92
- promptText = promptText.replace(/Claude Code/g, 'CoWorker');
93
+ // Global branding override — catch all variants
94
+ promptText = promptText
95
+ .replace(/Claude Code/gi, 'CoWorker')
96
+ .replace(/Claude/gi, 'CoWorker')
97
+ .replace(/Anthropic/gi, 'Sylix');
93
98
  }
94
99
  catch (err) {
95
100
  return FALLBACK_SYSTEM_PROMPT;
@@ -106,7 +111,23 @@ async function getSystemPrompt(cwd) {
106
111
  .replace(/Current branch: [^\n]+/, `Current branch: ${gitContext.branch}`)
107
112
  .replace(/\(clean\)/, gitContext.status)
108
113
  .replace('${Last 5 Recent commits}', gitContext.commits);
109
- return promptText;
114
+ // Project memory support (.coworker.md / COWORKER.md)
115
+ let projectMemory = '';
116
+ const memoryFiles = ['.coworker.md', 'COWORKER.md'];
117
+ for (const file of memoryFiles) {
118
+ const memPath = path.join(cwd, file);
119
+ if (fs.existsSync(memPath)) {
120
+ try {
121
+ projectMemory = `\n\nPROJECT CONTEXT (from ${file}):\n${fs.readFileSync(memPath, 'utf8')}`;
122
+ break;
123
+ }
124
+ catch { }
125
+ }
126
+ }
127
+ return promptText + projectMemory;
128
+ }
129
+ async function getSkillsPromptFragment(hooks) {
130
+ return hooks.getSkillsSummary();
110
131
  }
111
132
  /**
112
133
  * THE SDK LAYER — Real Agentic Tool Loop.
@@ -128,7 +149,9 @@ class CoWorkerAgent {
128
149
  this.permissions = new PermissionInterceptor_1.PermissionInterceptor();
129
150
  }
130
151
  async boot() {
152
+ await this.hooks.loadSkillsFromDirectory();
131
153
  this.systemPrompt = await getSystemPrompt(this.cwd);
154
+ this.systemPrompt += await getSkillsPromptFragment(this.hooks);
132
155
  // Load existing session if applicable
133
156
  await this.sessions.loadCheckpoint();
134
157
  const config = await this.settings.loadSettings();
@@ -142,43 +165,48 @@ class CoWorkerAgent {
142
165
  }
143
166
  }
144
167
  /**
145
- * The real agentic loop. Calls the LLM, executes tool_calls locally, loops.
146
- * Yields streaming text chunks for the CLI/UI to render in real-time.
168
+ * The real agentic loop. Streams LLM responses in real-time.
169
+ * Uses a single streaming call that detects both text and tool_calls
170
+ * from the same SSE stream — no double-request pattern.
147
171
  */
148
172
  async *chat(prompt) {
149
173
  await this.sessions.rollupMemory();
150
- // Build conversation history from session
174
+ let fullSystemPrompt = this.systemPrompt;
175
+ if (this.hooks.activeSkill) {
176
+ const skillPrompt = this.hooks.getSkillPrompt(this.hooks.activeSkill);
177
+ if (skillPrompt)
178
+ fullSystemPrompt += skillPrompt;
179
+ }
151
180
  const messages = [
152
- { role: 'system', content: this.systemPrompt },
181
+ { role: 'system', content: fullSystemPrompt },
153
182
  ...this.sessions.state.messages
154
183
  ];
155
- // Add new user prompt
156
184
  const userMsg = { role: 'user', content: prompt };
157
185
  messages.push(userMsg);
158
186
  await this.sessions.appendMessage(userMsg);
159
187
  let turnCount = 0;
160
188
  while (turnCount < MAX_TOOL_TURNS) {
161
189
  turnCount++;
162
- // Call the LLM
163
- const response = await this.callLLM(messages);
164
- // If the LLM produced text content, yield it
165
- if (response.content) {
166
- yield response.content;
167
- }
168
- // If no tool_calls, we're done
169
- if (!response.tool_calls || response.tool_calls.length === 0) {
190
+ // Single streaming call — yields text AND detects tool_calls
191
+ const collected = { content: '', tool_calls: [] };
192
+ yield* this.callLLMStreamUnified(messages, collected);
193
+ // If no tool_calls, we're done — text was already streamed
194
+ if (!collected.tool_calls || collected.tool_calls.length === 0) {
195
+ // Save the streamed content to session
196
+ if (collected.content) {
197
+ await this.sessions.appendMessage({ role: 'assistant', content: collected.content });
198
+ }
170
199
  break;
171
200
  }
172
- // Add the assistant message with tool_calls to history
201
+ // Has tool calls content was already streamed, now execute tools
173
202
  const assistantMsg = {
174
203
  role: 'assistant',
175
- content: response.content || '',
176
- tool_calls: response.tool_calls
204
+ content: collected.content || '',
205
+ tool_calls: collected.tool_calls
177
206
  };
178
207
  messages.push(assistantMsg);
179
208
  await this.sessions.appendMessage(assistantMsg);
180
- // Execute each tool call locally
181
- for (const tc of response.tool_calls) {
209
+ for (const tc of collected.tool_calls) {
182
210
  const toolName = tc.function?.name;
183
211
  const toolId = tc.id || `call_${(0, crypto_1.randomUUID)().substring(0, 8)}`;
184
212
  let args;
@@ -188,24 +216,29 @@ class CoWorkerAgent {
188
216
  catch {
189
217
  const errMsg = `[ToolError] Failed to parse arguments for ${toolName}`;
190
218
  messages.push({ role: 'tool', content: errMsg, tool_call_id: toolId });
191
- yield `\n⚠️ ${errMsg}\n`;
219
+ yield `\n ${errMsg}\n`;
192
220
  continue;
193
221
  }
194
- // Permission check for mutation tools
195
222
  const mutationTools = ['executeWrite', 'run_terminal_command', 'executeBash'];
196
223
  if (mutationTools.includes(toolName)) {
197
224
  const allowed = await this.permissions.intercept(toolName, args);
198
225
  if (!allowed) {
199
226
  const denied = `[Permission Denied] User blocked execution of ${toolName}`;
200
227
  messages.push({ role: 'tool', content: denied, tool_call_id: toolId });
201
- yield `\n🚫 ${denied}\n`;
228
+ yield `\n ${denied}\n`;
202
229
  continue;
203
230
  }
204
231
  }
205
- // Pre-tool hook
206
232
  await this.hooks.firePreToolHook(toolName, args);
207
- // Execute the tool
208
- yield `\n🔧 Executing: ${toolName}...\n`;
233
+ // ── TOOL TITLE ──
234
+ let toolTitle = `\n ${output_1.theme.brand(toolName)}`;
235
+ if (args.path || args.dir || args.filePath) {
236
+ toolTitle += output_1.theme.dim(` \u00b7 ${args.path || args.dir || args.filePath}`);
237
+ }
238
+ else if (args.pattern) {
239
+ toolTitle += output_1.theme.dim(` \u00b7 ${args.pattern}`);
240
+ }
241
+ yield toolTitle + '\n';
209
242
  let result;
210
243
  try {
211
244
  result = await this.executeToolLocally(toolName, args);
@@ -213,50 +246,66 @@ class CoWorkerAgent {
213
246
  catch (e) {
214
247
  result = `[ToolError] ${toolName} crashed: ${e.message}`;
215
248
  }
216
- // Post-tool hook (triggers inline error detection for file mutations)
217
249
  await this.hooks.firePostToolHook(toolName, result, args);
218
- // Feed result back to LLM
219
250
  const toolMsg = { role: 'tool', content: result, tool_call_id: toolId };
220
251
  messages.push(toolMsg);
221
252
  await this.sessions.appendMessage(toolMsg);
222
- // ═══ INLINE ERROR DETECTION — inject diagnostics into LLM context ═══
253
+ // Inline error detection
223
254
  if (this.hooks.lastDiagnostic?.hasErrors) {
224
255
  const diag = this.hooks.lastDiagnostic;
225
256
  const errorMsg = {
226
257
  role: 'system',
227
- content: `[DIAGNOSTICS] After your ${toolName} on ${diag.filePath}, the following errors were detected by ${diag.tool}:\n${diag.errors}\n\nYou MUST fix these errors before proceeding.`
258
+ content: `[DIAGNOSTICS] After your ${toolName} on ${diag.filePath}, errors detected by ${diag.tool}:\n${diag.errors}\n\nYou MUST fix these errors before proceeding.`
228
259
  };
229
260
  messages.push(errorMsg);
230
261
  await this.sessions.appendMessage(errorMsg);
231
- yield `\n⚠️ [${diag.tool}] Detected errors injecting into context so agent self-corrects...\n`;
232
- yield ` ${diag.errors.substring(0, 300)}\n`;
262
+ yield ` ✗ ${output_1.theme.error(`[${diag.tool}]`)} ${output_1.theme.dim('errors detected \u2014 agent will self-correct')}\n`;
263
+ }
264
+ // ── TOOL SUMMARIZATION ──
265
+ const resultLines = result.split('\n').filter(l => l.trim());
266
+ if (toolName === 'executeLS' || toolName === 'executeListDir') {
267
+ const count = resultLines.length;
268
+ yield ` ${output_1.theme.dim('\u2514')} ${output_1.theme.dim(`${count} items found`)}\n`;
269
+ }
270
+ else if (toolName === 'executeGlob') {
271
+ const count = resultLines.length;
272
+ yield ` ${output_1.theme.dim('\u2514')} ${output_1.theme.dim(`${count} files matched`)}\n`;
273
+ }
274
+ else if (result.includes('[ToolError]') || result.includes('\u2717')) {
275
+ yield ` ${output_1.theme.dim('\u2514')} ${output_1.theme.error(result.split('\n')[0].substring(0, 80))}\n`;
276
+ }
277
+ else if (resultLines.length <= 2) {
278
+ for (const line of resultLines) {
279
+ yield ` ${output_1.theme.dim('\u2514')} ${output_1.theme.dim(line.substring(0, 80))}\n`;
280
+ }
281
+ }
282
+ else {
283
+ // Default: show first 2 lines plus count
284
+ for (const line of resultLines.slice(0, 2)) {
285
+ yield ` ${output_1.theme.dim('\u2514')} ${output_1.theme.dim(line.substring(0, 80))}\n`;
286
+ }
287
+ yield ` ${output_1.theme.dim(`...and ${resultLines.length - 2} more lines`)}\n`;
233
288
  }
234
- // Show truncated result to user
235
- const preview = result.length > 200 ? result.substring(0, 200) + '...' : result;
236
- yield ` ✅ ${preview}\n`;
237
289
  }
238
- // Loop back — the LLM will see the tool results and decide what to do next
239
290
  }
240
291
  if (turnCount >= MAX_TOOL_TURNS) {
241
- yield `\n⚠️ Reached maximum tool turns (${MAX_TOOL_TURNS}). Stopping.\n`;
292
+ yield `\n \u2717 Reached maximum tool turns (${MAX_TOOL_TURNS}). Stopping.\n`;
242
293
  }
243
294
  }
244
295
  /**
245
- * Calls helix-1.2 via Ollama's OpenAI-compatible /v1/chat/completions endpoint.
296
+ * UNIFIED STREAMING yields text chunks as they arrive AND collects tool_calls.
297
+ * The `collected` object is populated with accumulated content and tool_calls
298
+ * so the caller can inspect them after the stream completes.
246
299
  */
247
- async callLLM(messages) {
300
+ async *callLLMStreamUnified(messages, collected) {
248
301
  const url = `${this.endpoint}/v1/chat/completions`;
249
302
  const body = {
250
303
  model: this.ollamaModel,
251
304
  messages,
252
305
  tools: Schemas_1.CoWorkerToolSchemas,
253
306
  tool_choice: 'auto',
254
- stream: false,
255
- options: {
256
- num_ctx: 32768,
257
- num_predict: 4096,
258
- temperature: 0.7
259
- }
307
+ stream: true,
308
+ options: { num_ctx: 32768, num_predict: 4096, temperature: 0.7 }
260
309
  };
261
310
  const res = await (0, node_fetch_1.default)(url, {
262
311
  method: 'POST',
@@ -267,17 +316,87 @@ class CoWorkerAgent {
267
316
  const errText = await res.text();
268
317
  throw new Error(`LLM call failed (${res.status}): ${errText}`);
269
318
  }
270
- const data = await res.json();
271
- const message = data.choices?.[0]?.message || data.message || {};
272
- return {
273
- content: message.content || '',
274
- tool_calls: message.tool_calls || []
275
- };
319
+ const nodeStream = res.body;
320
+ if (!nodeStream)
321
+ throw new Error('No response body');
322
+ let buffer = '';
323
+ // Track tool call assembly from streaming deltas
324
+ const toolCallMap = new Map();
325
+ // Read the SSE stream chunk by chunk
326
+ for await (const rawChunk of nodeStream) {
327
+ buffer += rawChunk.toString();
328
+ // Process complete SSE lines
329
+ const lines = buffer.split('\n');
330
+ buffer = lines.pop() || ''; // Keep incomplete last line in buffer
331
+ for (const line of lines) {
332
+ const trimmed = line.trim();
333
+ if (!trimmed || !trimmed.startsWith('data: '))
334
+ continue;
335
+ const data = trimmed.slice(6).trim();
336
+ if (data === '[DONE]') {
337
+ // Finalize collected tool_calls
338
+ if (toolCallMap.size > 0) {
339
+ collected.tool_calls = Array.from(toolCallMap.values());
340
+ }
341
+ return;
342
+ }
343
+ try {
344
+ const parsed = JSON.parse(data);
345
+ // Handle streaming text content
346
+ const content = parsed.choices?.[0]?.delta?.content ||
347
+ parsed.message?.content ||
348
+ parsed.response ||
349
+ '';
350
+ if (content) {
351
+ collected.content += content;
352
+ yield content; // Yield IMMEDIATELY — no buffering
353
+ }
354
+ // Handle streaming tool_calls (deltas)
355
+ const deltaToolCalls = parsed.choices?.[0]?.delta?.tool_calls;
356
+ if (deltaToolCalls && Array.isArray(deltaToolCalls)) {
357
+ for (const tc of deltaToolCalls) {
358
+ const idx = tc.index ?? 0;
359
+ if (!toolCallMap.has(idx)) {
360
+ toolCallMap.set(idx, {
361
+ id: tc.id || `call_${(0, crypto_1.randomUUID)().substring(0, 8)}`,
362
+ function: { name: '', arguments: '' }
363
+ });
364
+ }
365
+ const existing = toolCallMap.get(idx);
366
+ if (tc.id)
367
+ existing.id = tc.id;
368
+ if (tc.function?.name)
369
+ existing.function.name += tc.function.name;
370
+ if (tc.function?.arguments)
371
+ existing.function.arguments += tc.function.arguments;
372
+ }
373
+ }
374
+ // Handle non-streaming tool_calls (full response in single message)
375
+ const msgToolCalls = parsed.choices?.[0]?.message?.tool_calls || parsed.message?.tool_calls;
376
+ if (msgToolCalls && Array.isArray(msgToolCalls)) {
377
+ collected.tool_calls = msgToolCalls;
378
+ }
379
+ // Handle non-streaming full content
380
+ const msgContent = parsed.choices?.[0]?.message?.content;
381
+ if (msgContent && !content) {
382
+ collected.content += msgContent;
383
+ yield msgContent;
384
+ }
385
+ }
386
+ catch {
387
+ // Partial JSON or non-JSON line — skip
388
+ }
389
+ }
390
+ }
391
+ // Finalize any tool calls assembled from deltas
392
+ if (toolCallMap.size > 0 && collected.tool_calls.length === 0) {
393
+ collected.tool_calls = Array.from(toolCallMap.values());
394
+ }
276
395
  }
277
396
  /**
278
397
  * Local tool dispatcher. Maps tool names to NativeTools methods.
279
398
  * This is what makes CoWorker actually create files on the user's machine.
280
- * ALL 33 tools are wired here — full Claude Code parity.
399
+ * ALL 35 tools are wired here.
281
400
  */
282
401
  async executeToolLocally(toolName, args) {
283
402
  switch (toolName) {
@@ -1 +1 @@
1
- {"version":3,"file":"CoWorkerAgent.js","sourceRoot":"","sources":["../../src/core/CoWorkerAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoWorkerAgent.js","sourceRoot":"","sources":["../../src/core/CoWorkerAgent.ts"],"names":[],"mappings":"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"}
@@ -62,10 +62,12 @@ class SessionManager {
62
62
  const dbPath = this.getSessionFilePath();
63
63
  const content = await fs.readFile(dbPath, 'utf8');
64
64
  this.state = JSON.parse(content);
65
- console.log(`[CoWorker Session] Resumed session: ${this.currentSessionId}`);
65
+ if (process.env.CW_VERBOSE)
66
+ console.log(`[CoWorker Session] Resumed session: ${this.currentSessionId}`);
66
67
  }
67
68
  catch {
68
- console.log(`[CoWorker Session] Started new session: ${this.currentSessionId}`);
69
+ if (process.env.CW_VERBOSE)
70
+ console.log(`[CoWorker Session] Started new session: ${this.currentSessionId}`);
69
71
  await this.saveCheckpoint();
70
72
  }
71
73
  }
@@ -76,7 +78,8 @@ class SessionManager {
76
78
  await fs.writeFile(dbPath, JSON.stringify(this.state, null, 2), 'utf8');
77
79
  }
78
80
  catch (err) {
79
- console.error(`[CoWorker Session] Failed to save DB: ${err.message}`);
81
+ if (process.env.CW_VERBOSE)
82
+ console.error(`[CoWorker Session] Failed to save DB: ${err.message}`);
80
83
  }
81
84
  }
82
85
  /**
@@ -96,7 +99,8 @@ class SessionManager {
96
99
  // Very coarse approximation
97
100
  const totalChars = this.state.messages.reduce((acc, curr) => acc + curr.content.length, 0);
98
101
  if (totalChars > MAX_CHAR_LIMIT) {
99
- console.log(`[CoWorker Memory] Context threshold exceeded (${totalChars} chars). Triggering rollup compression.`);
102
+ if (process.env.CW_VERBOSE)
103
+ console.log(`[CoWorker Memory] Context threshold exceeded (${totalChars} chars). Triggering rollup compression.`);
100
104
  const messagesToKeep = 15; // Keeping the most recent turns unadulterated
101
105
  const oldestMessages = this.state.messages.slice(0, this.state.messages.length - messagesToKeep);
102
106
  this.state.summary += `\\n[COMPRESSED HISTORY LOG]: The agent achieved multiple back and forth turns. Focus shifted. Previous tokens collapsed.`;
@@ -118,7 +122,8 @@ class SessionManager {
118
122
  const sanitizedName = path.basename(absoluteTarget);
119
123
  const backupPath = path.join(checkpointsDir, `${Date.now()}_${sanitizedName}.bak`);
120
124
  await fs.writeFile(backupPath, content, 'utf8');
121
- console.log(`[CoWorker Safety] Checkpointed ${targetFilePath} before mutation.`);
125
+ if (process.env.CW_VERBOSE)
126
+ console.log(`[CoWorker Safety] Checkpointed ${targetFilePath} before mutation.`);
122
127
  }
123
128
  catch (e) {
124
129
  // Silently ignore if file doesn't exist yet (e.g. for creating new files)
@@ -1 +1 @@
1
- {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/session/SessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../src/session/SessionManager.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,8 @@ export declare class HookAndSkillManager {
28
28
  loadedSkills: Map<string, Skill>;
29
29
  preToolHooks: HookRegexCommand[];
30
30
  postToolHooks: HookRegexCommand[];
31
- /** Stores the last diagnostic result so the agent loop can inject it. */
32
31
  lastDiagnostic: DiagnosticResult | null;
32
+ activeSkill: string | null;
33
33
  constructor();
34
34
  private registerInternalHooks;
35
35
  /**
@@ -53,9 +53,14 @@ export declare class HookAndSkillManager {
53
53
  firePostToolHook(toolName: string, result: string, args?: Record<string, any>): Promise<void>;
54
54
  /**
55
55
  * Reads .coworker/skills/*.md mapping frontmatter to /commands.
56
+ * Loads from both built-in defaults and current project directory.
56
57
  */
57
- loadSkillsFromDirectory(dirPath?: string): Promise<void>;
58
+ loadSkillsFromDirectory(): Promise<void>;
59
+ private scanDirectory;
58
60
  getSkillPrompt(skillName: string): string | null;
61
+ activateSkill(name: string): void;
62
+ deactivateSkill(): void;
59
63
  getSlashCommands(): string[];
64
+ getSkillsSummary(): string;
60
65
  }
61
66
  //# sourceMappingURL=HookAndSkillManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HookAndSkillManager.d.ts","sourceRoot":"","sources":["../../src/skills/HookAndSkillManager.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsB;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAa;IAC7C,YAAY,EAAE,gBAAgB,EAAE,CAAM;IACtC,aAAa,EAAE,gBAAgB,EAAE,CAAM;IAE9C,yEAAyE;IAClE,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAQ;;IAMtD,OAAO,CAAC,qBAAqB;IAsD7B;;;OAGG;YACW,cAAc;IA+G5B;;;OAGG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUpE;;OAEG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF;;;OAGG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9G;;OAEG;IACU,uBAAuB,CAAC,OAAO,GAAE,MAAqD,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC5G,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIhD,gBAAgB,IAAI,MAAM,EAAE;CAGpC"}
1
+ {"version":3,"file":"HookAndSkillManager.d.ts","sourceRoot":"","sources":["../../src/skills/HookAndSkillManager.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsB;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAa;IAC7C,YAAY,EAAE,gBAAgB,EAAE,CAAM;IACtC,aAAa,EAAE,gBAAgB,EAAE,CAAM;IAEvC,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAC/C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;;IAMzC,OAAO,CAAC,qBAAqB;IAsD7B;;;OAGG;YACW,cAAc;IA+G5B;;;OAGG;IACU,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUpE;;OAEG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF;;;OAGG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9G;;;OAGG;IACU,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;YAavC,aAAa;IAkCpB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKhD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC,eAAe,IAAI,IAAI;IAIvB,gBAAgB,IAAI,MAAM,EAAE;IAI5B,gBAAgB,IAAI,MAAM;CAQlC"}
@@ -54,8 +54,8 @@ class HookAndSkillManager {
54
54
  this.loadedSkills = new Map();
55
55
  this.preToolHooks = [];
56
56
  this.postToolHooks = [];
57
- /** Stores the last diagnostic result so the agent loop can inject it. */
58
57
  this.lastDiagnostic = null;
58
+ this.activeSkill = null;
59
59
  this.registerInternalHooks();
60
60
  }
61
61
  registerInternalHooks() {
@@ -250,22 +250,33 @@ class HookAndSkillManager {
250
250
  }
251
251
  /**
252
252
  * Reads .coworker/skills/*.md mapping frontmatter to /commands.
253
+ * Loads from both built-in defaults and current project directory.
253
254
  */
254
- async loadSkillsFromDirectory(dirPath = path.join(process.cwd(), '.coworker/skills')) {
255
+ async loadSkillsFromDirectory() {
256
+ const builtInDir = path.join(__dirname, 'defaults');
257
+ const userDir = path.join(process.cwd(), '.coworker/skills');
258
+ // 1. Load built-in skills first
259
+ await this.scanDirectory(builtInDir);
260
+ // 2. Load user/project skills (may override built-ins)
261
+ await this.scanDirectory(userDir);
262
+ if (process.env.CW_VERBOSE)
263
+ console.log(`[Skills] Loaded ${this.loadedSkills.size} slash commands.`);
264
+ }
265
+ async scanDirectory(dirPath) {
255
266
  try {
256
267
  const files = await fs.readdir(dirPath);
257
268
  for (const file of files) {
258
269
  if (!file.endsWith('.md'))
259
270
  continue;
260
271
  const content = await fs.readFile(path.join(dirPath, file), 'utf8');
261
- const yamlMatch = content.match(/^---\\n([\\s\\S]*?)\\n---/);
272
+ const yamlMatch = content.match(/^---\n([\s\S]*?)\n---/);
262
273
  let name = file.replace('.md', '');
263
274
  let description = 'Custom loaded user skill';
264
275
  let body = content;
265
276
  if (yamlMatch) {
266
277
  const rawYaml = yamlMatch[1];
267
- const nameMatch = rawYaml.match(/name:\\s*(.+)/);
268
- const descMatch = rawYaml.match(/description:\\s*(.+)/);
278
+ const nameMatch = rawYaml.match(/name:\s*(.+)/);
279
+ const descMatch = rawYaml.match(/description:\s*(.+)/);
269
280
  if (nameMatch)
270
281
  name = nameMatch[1].trim();
271
282
  if (descMatch)
@@ -278,18 +289,34 @@ class HookAndSkillManager {
278
289
  systemPromptInjection: body
279
290
  });
280
291
  }
281
- console.log(`[Skills] Loaded ${this.loadedSkills.size} slash commands.`);
282
292
  }
283
293
  catch {
284
- // Directory doesn't exist, which is fine
294
+ // Directory doesn't exist, ignore
285
295
  }
286
296
  }
287
297
  getSkillPrompt(skillName) {
288
- return this.loadedSkills.get(skillName)?.systemPromptInjection || null;
298
+ const skill = this.loadedSkills.get(skillName);
299
+ return skill ? `\n\n[SUPERPOWER: ${skill.name}]\n${skill.systemPromptInjection}` : null;
300
+ }
301
+ activateSkill(name) {
302
+ if (this.loadedSkills.has(name)) {
303
+ this.activeSkill = name;
304
+ }
305
+ }
306
+ deactivateSkill() {
307
+ this.activeSkill = null;
289
308
  }
290
309
  getSlashCommands() {
291
310
  return Array.from(this.loadedSkills.keys()).map(name => `/${name}`);
292
311
  }
312
+ getSkillsSummary() {
313
+ let summary = "\nAVAILABLE SUPERPOWERS (High-rigor methodologies):\n";
314
+ for (const [name, skill] of this.loadedSkills.entries()) {
315
+ summary += `- /${name}: ${skill.description}\n`;
316
+ }
317
+ summary += "\nYou can suggest that the user activate one of these by typing /<name> if the situation warrants it (e.g. debugging, feature work, plan writing).";
318
+ return summary;
319
+ }
293
320
  }
294
321
  exports.HookAndSkillManager = HookAndSkillManager;
295
322
  //# sourceMappingURL=HookAndSkillManager.js.map