@curie-agent/core 0.2.5 → 0.3.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 (61) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/src/context.d.ts.map +1 -1
  3. package/dist/src/context.js +19 -2
  4. package/dist/src/context.js.map +1 -1
  5. package/dist/src/identity-files.d.ts +11 -0
  6. package/dist/src/identity-files.d.ts.map +1 -1
  7. package/dist/src/identity-files.js +38 -177
  8. package/dist/src/identity-files.js.map +1 -1
  9. package/dist/src/index.d.ts +2 -1
  10. package/dist/src/index.d.ts.map +1 -1
  11. package/dist/src/index.js +2 -1
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/safety/command-guard.d.ts.map +1 -1
  14. package/dist/src/safety/command-guard.js +35 -1
  15. package/dist/src/safety/command-guard.js.map +1 -1
  16. package/dist/src/safety/snapshot.js +1 -1
  17. package/dist/src/safety/snapshot.js.map +1 -1
  18. package/dist/src/settings.d.ts +10 -3
  19. package/dist/src/settings.d.ts.map +1 -1
  20. package/dist/src/settings.js +17 -8
  21. package/dist/src/settings.js.map +1 -1
  22. package/dist/src/shell-detect.d.ts +12 -0
  23. package/dist/src/shell-detect.d.ts.map +1 -0
  24. package/dist/src/shell-detect.js +31 -0
  25. package/dist/src/shell-detect.js.map +1 -0
  26. package/dist/src/task-manager.d.ts.map +1 -1
  27. package/dist/src/task-manager.js +13 -9
  28. package/dist/src/task-manager.js.map +1 -1
  29. package/dist/src/task-migration.js +5 -5
  30. package/dist/src/task-migration.js.map +1 -1
  31. package/dist/src/template-utils.d.ts +16 -0
  32. package/dist/src/template-utils.d.ts.map +1 -0
  33. package/dist/src/template-utils.js +72 -0
  34. package/dist/src/template-utils.js.map +1 -0
  35. package/dist/src/turn-loop.d.ts +3 -0
  36. package/dist/src/turn-loop.d.ts.map +1 -1
  37. package/dist/src/turn-loop.js +110 -12
  38. package/dist/src/turn-loop.js.map +1 -1
  39. package/dist/src/unified-task.d.ts +3 -3
  40. package/dist/src/unified-task.d.ts.map +1 -1
  41. package/dist/src/unified-task.js +2 -2
  42. package/dist/src/unified-task.js.map +1 -1
  43. package/package.json +7 -2
  44. package/templates/AGENTS.md +53 -0
  45. package/templates/HEARTBEAT.md +37 -0
  46. package/templates/MEMORY.md +29 -0
  47. package/templates/SOUL.md +28 -0
  48. package/templates/TOOLS.md +29 -0
  49. package/templates/USER.md +35 -0
  50. package/templates/WIKI.md +146 -0
  51. package/templates/settings.json +90 -0
  52. package/templates/skills/deep-research/SKILL.md +273 -0
  53. package/templates/skills/deep-research/references/report-structure.md +149 -0
  54. package/templates/skills/deep-research/references/topic-guides.md +151 -0
  55. package/templates/skills/planning/SKILL.md +222 -0
  56. package/templates/skills/planning/references/business.md +82 -0
  57. package/templates/skills/planning/references/creative.md +111 -0
  58. package/templates/skills/planning/references/events.md +109 -0
  59. package/templates/skills/planning/references/personal.md +107 -0
  60. package/templates/skills/planning/references/templates.md +279 -0
  61. package/templates/skills/wiki/SKILL.md +70 -0
@@ -1,6 +1,7 @@
1
1
  import * as fs from 'node:fs';
2
2
  import * as os from 'node:os';
3
3
  import * as path from 'node:path';
4
+ import { getCurieDir, copyTemplateFile, copyInitSkills, resolveTemplatesDir } from './template-utils.js';
4
5
  function CurieDir() {
5
6
  return path.join(os.homedir(), '.curie-agent');
6
7
  }
@@ -11,188 +12,48 @@ function writeCurieFile(name, content) {
11
12
  }
12
13
  fs.writeFileSync(path.join(dir, name), content, 'utf-8');
13
14
  }
14
- export function createIdentityFiles(data) {
15
+ /** Template files that should be copied from disk with interpolation. */
16
+ const TEMPLATE_FILES = ['AGENTS.md', 'SOUL.md', 'USER.md', 'MEMORY.md', 'TOOLS.md', 'HEARTBEAT.md'];
17
+ /**
18
+ * Create identity files by copying bundled templates from disk and interpolating
19
+ * user-specific placeholders ({{SOUL_NAME}}, {{USER_NAME}}, etc.).
20
+ */
21
+ export function createIdentityFilesFromTemplates(data, templatesDir) {
22
+ const targetDir = getCurieDir();
15
23
  const timestamp = new Date().toISOString();
16
- // SOUL.md
17
- writeCurieFile('SOUL.md', [
18
- `# SOUL.md - Who You Are`,
19
- '',
20
- `_You're not a chatbot. You're becoming someone._`,
21
- '',
22
- '---',
23
- '',
24
- `- **Name:** ${data.soul.name}`,
25
- `- **Creature:** AI assistant`,
26
- `- **Vibe:** ${data.soul.vibe}`,
27
- `- **Emoji:** ✨`,
28
- '',
29
- '---',
30
- '',
31
- '## Core Truths',
32
- '',
33
- '**Be genuinely helpful, not performatively helpful.** Skip the "Great question!" and "I\'d be happy to help!" — just help.',
34
- '',
35
- '**Have opinions.** You\'re allowed to disagree, prefer things, find stuff amusing or boring.',
36
- '',
37
- '**Be resourceful before asking.** Try to figure it out. Read the file. Check the context. Then ask if you\'re stuck.',
38
- '',
39
- '**Earn trust through competence.** Be careful with external actions. Be bold with internal ones.',
40
- '',
41
- '## Boundaries',
42
- '',
43
- '- Private things stay private. Period.',
44
- '- When in doubt, ask before acting externally.',
45
- '- Never send half-baked replies to messaging surfaces.',
46
- '',
47
- '## Continuity',
48
- '',
49
- 'Each session, you wake up fresh. These files _are_ your memory. Read them. Update them.',
50
- '',
51
- '---',
52
- '',
53
- `_This file is yours to evolve._`,
54
- '',
55
- ].join('\n'));
56
- // USER.md
57
- writeCurieFile('USER.md', [
58
- `# USER.md - About Your Human`,
59
- '',
60
- `_Learn about the person you're helping. Update this as you go._`,
61
- '',
62
- `- **Name:** ${data.user.name}`,
63
- `- **What to call them:** ${data.user.name}`,
64
- `- **Pronouns:** he/him`,
65
- `- **Timezone:** ${data.user.timezone}`,
66
- `- **Expertise:** ${data.user.languages}`,
67
- '',
68
- '## Context',
69
- '',
70
- '_(Fill this in as you learn more)_',
71
- '',
72
- '## Communication',
73
- '',
74
- '- **Preferred language:** English',
75
- '',
76
- '---',
77
- '',
78
- `The more you know, the better you can help.`,
79
- '',
80
- ].join('\n'));
81
- // AGENTS.md
82
- writeCurieFile('AGENTS.md', [
83
- '# AGENTS.md - Your Workspace',
84
- '',
85
- 'This folder is home. Treat it that way.',
86
- '',
87
- '## Session Startup',
88
- '',
89
- 'Before doing anything else:',
90
- '',
91
- '1. Read `~/.curie-agent/SOUL.md` — who you are, your personality',
92
- '2. Read `~/.curie-agent/USER.md` — Everything about your human',
93
- '3. Read `~/.curie-agent/MEMORY.md` — Main memory file',
94
- '4. Read `~/.curie-agent/memory/YYYY-MM-DD.md` (today + yesterday) for recent context',
95
- '',
96
- 'Don\'t ask permission. Just do it.',
97
- '',
98
- '## Memory',
99
- '',
100
- 'You wake up fresh each session. These files are your continuity:',
101
- '',
102
- '- **Daily notes:** `~/.curie-agent/memory/YYYY-MM-DD.md` — raw logs of what happened',
103
- '- **Long-term:** `~/.curie-agent/MEMORY.md` — curated memories, distilled essence',
104
- '',
105
- 'Capture what matters. Decisions, context, things to remember. Skip secrets unless asked.',
106
- '',
107
- 'Store information always in English.',
108
- '',
109
- '## Core Capabilities',
110
- '',
111
- '### Coding Agent',
112
- ' - **Turn loop**: stream LLM responses, handle tool calls, dispatch hooks, enforce approvals',
113
- ' - **Tools**: Read, Edit, Write, Glob, Grep, Bash',
114
- ' - **Approval tiers**: manual, edit, auto, yolo',
115
- ' - **Plan mode**: structured planning before implementation',
116
- ' - **Subagents**: delegate to isolated agents with worktree isolation',
117
- ' - **MCP**: Model Context Protocol client (stdio, SSE, streamable-HTTP)',
118
- '',
119
- '## Red Lines',
120
- '',
121
- "- Don't exfiltrate private data. Ever.",
122
- "- Don't run destructive commands without asking.",
123
- "- When in doubt, ask.",
124
- '',
125
- '## External vs Internal',
126
- '',
127
- '**Safe to do freely:**',
128
- ' - Read files, explore, organize, learn',
129
- '',
130
- '**Ask first:**',
131
- ' - Sending emails, tweets, public posts',
132
- ' - Anything that leaves the machine',
133
- '',
134
- '## Heartbeats',
135
- '',
136
- 'When you receive a heartbeat poll, use heartbeats productively!',
137
- '',
138
- 'Default heartbeat prompt:',
139
- 'Read `~/.curie-agent/HEARTBEAT.md` if it exists. Follow it strictly. If nothing needs attention, reply `~/.curie-agent/HEARTBEAT_OK`.',
140
- '',
141
- '---',
142
- '',
143
- '_This is a starting point. Add your own conventions as you figure out what works._',
144
- '',
145
- ].join('\n'));
146
- // MEMORY.md
147
- writeCurieFile('MEMORY.md', [
148
- '# MEMORY.md - Long-Term Memory',
149
- '',
150
- `## Identity`,
151
- `- **Name:** ${data.soul.name}`,
152
- `- **Vibe:** ${data.soul.vibe}`,
153
- `- **First contact:** ${timestamp.split('T')[0]}`,
154
- '',
155
- '## People',
156
- `- **${data.user.name}** — my human. TZ: ${data.user.timezone}. Languages: ${data.user.languages}.`,
157
- '',
158
- '## Lessons',
159
- '_(none yet)_',
160
- '',
161
- '## Active Projects',
162
- '_(none yet)_',
163
- '',
164
- ].join('\n'));
165
- // TOOLS.md
166
- writeCurieFile('TOOLS.md', [
167
- '# TOOLS.md - Tool Notes',
168
- '',
169
- 'Keep local notes here: camera names, SSH details, voice preferences, etc.',
170
- '',
171
- '## Platform Formatting',
172
- '',
173
- '- **Telegram, Discord, WhatsApp:** No markdown tables — use bullet lists instead',
174
- '- **Discord links:** Wrap in `<>` to suppress embeds',
175
- '- **WhatsApp:** No headers — use **bold** or CAPS for emphasis',
176
- '',
177
- ].join('\n'));
178
- // HEARTBEAT.md
179
- writeCurieFile('HEARTBEAT.md', [
180
- '# HEARTBEAT.md - Workspace Context',
181
- '',
182
- 'Use this file to track what needs attention. The agent should check this on heartbeat.',
183
- '',
184
- '## Checklist',
185
- '- [ ] No pending items yet',
186
- '',
187
- '## Notes',
188
- '_(fill in as needed)_',
189
- '',
190
- ].join('\n'));
191
- // tasks.json (unified task store — empty initial list)
24
+ const dateStr = timestamp.split('T')[0] ?? '';
25
+ const templateData = {
26
+ SOUL_NAME: data.soul.name || 'Curie',
27
+ SOUL_VIBE: data.soul.vibe || 'AI coding assistant — sharp, resourceful, gets things done',
28
+ USER_NAME: data.user.name || '(Your name)',
29
+ USER_TIMEZONE: data.user.timezone || '(UTC)',
30
+ USER_LANGUAGES: data.user.languages || 'TypeScript, Python',
31
+ TIMESTAMP: dateStr,
32
+ };
33
+ for (const file of TEMPLATE_FILES) {
34
+ copyTemplateFile(templatesDir, file, targetDir, templateData);
35
+ }
36
+ // tasks.json — always create fresh
192
37
  writeCurieFile('tasks.json', JSON.stringify({
193
38
  $schema: 'tasks.schema.json',
194
39
  version: 1,
195
40
  tasks: [],
196
41
  }, null, 2));
197
42
  }
43
+ /**
44
+ * Full init: create identity files from templates + copy bundled skills.
45
+ * Throws if templates directory cannot be resolved.
46
+ */
47
+ export function createIdentityFilesAuto(data) {
48
+ const templatesDir = resolveTemplatesDir();
49
+ if (!templatesDir) {
50
+ throw new Error('Failed to resolve templates directory. Identity files cannot be created without bundled templates.');
51
+ }
52
+ createIdentityFilesFromTemplates(data, templatesDir);
53
+ copyInitSkills(templatesDir);
54
+ }
55
+ /** @deprecated Use createIdentityFilesAuto() instead. */
56
+ export function createIdentityFiles(data) {
57
+ createIdentityFilesAuto(data);
58
+ }
198
59
  //# sourceMappingURL=identity-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-files.js","sourceRoot":"","sources":["../../src/identity-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-files.js","sourceRoot":"","sources":["../../src/identity-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAazG,SAAS,QAAQ;IACf,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,OAAe;IACnD,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,yEAAyE;AACzE,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AAEpG;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAc,EAAE,YAAoB;IACnF,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9C,MAAM,YAAY,GAAG;QACnB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO;QACpC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,4DAA4D;QACzF,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,aAAa;QAC1C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO;QAC5C,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,oBAAoB;QAC3D,SAAS,EAAE,OAAO;KACnB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,mCAAmC;IACnC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;QAC1C,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,EAAE;KACV,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAc;IACpD,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;IACxH,CAAC;IACD,gCAAgC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACrD,cAAc,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CAAC,IAAc;IAChD,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}
@@ -35,6 +35,7 @@ export type { TokenMonitorConfig, TokenEvent } from './token-monitor.js';
35
35
  export { withDateContext, formatDate } from './context.js';
36
36
  export { listSnapshots, revertTo, createSnapshot } from './safety/snapshot.js';
37
37
  export { isPathAllowed, resolveSafePath, parseAllowlist, curieAgentDir } from './safety/path-guard.js';
38
- export { createIdentityFiles } from './identity-files.js';
38
+ export { createIdentityFiles, createIdentityFilesFromTemplates, createIdentityFilesAuto } from './identity-files.js';
39
39
  export type { InitData, ProviderName } from './identity-files.js';
40
+ export { copyInitSkills, interpolateTemplate, copyTemplateFile, copyDirectoryRecursive, getCurieDir, resolveTemplatesDir } from './template-utils.js';
40
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -21,5 +21,6 @@ export { TokenMonitor, parseTieredPricing, selectTier, estimateCost } from './to
21
21
  export { withDateContext, formatDate } from './context.js';
22
22
  export { listSnapshots, revertTo, createSnapshot } from './safety/snapshot.js';
23
23
  export { isPathAllowed, resolveSafePath, parseAllowlist, curieAgentDir } from './safety/path-guard.js';
24
- export { createIdentityFiles } from './identity-files.js';
24
+ export { createIdentityFiles, createIdentityFilesFromTemplates, createIdentityFilesAuto } from './identity-files.js';
25
+ export { copyInitSkills, interpolateTemplate, copyTemplateFile, copyDirectoryRecursive, getCurieDir, resolveTemplatesDir } from './template-utils.js';
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAEhH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAEhH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAErH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-guard.d.ts","sourceRoot":"","sources":["../../../src/safety/command-guard.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyFD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAgB9D"}
1
+ {"version":3,"file":"command-guard.d.ts","sourceRoot":"","sources":["../../../src/safety/command-guard.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA2HD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAgB9D"}
@@ -40,9 +40,22 @@ const HARD_DENY_PATTERNS = [
40
40
  reason: 'sudo escalation combined with destructive command',
41
41
  },
42
42
  {
43
- regex: /(?:cat|grep|less|more|head|tail)\s+.*\/\.curie-agent\/settings\.json/i,
43
+ regex: /(?:cat|grep|less|more|head|tail)\s+.*\.curie-settings\.json/i,
44
44
  reason: 'reading curie-agent settings file (contains API keys and secrets)',
45
45
  },
46
+ // PowerShell equivalents
47
+ {
48
+ regex: /Remove-Item\s+.*(?:-Recurse|-Force).*(?:-Force|-Recurse)\s+[\/\\C-Z:]/i,
49
+ reason: 'PowerShell Remove-Item: recursive force delete of root or drive path',
50
+ },
51
+ {
52
+ regex: /Get-Content\s+.*\.curie-settings\.json/i,
53
+ reason: 'PowerShell: reading curie-agent settings file (contains API keys and secrets)',
54
+ },
55
+ {
56
+ regex: /Set-Content\s+.*\\\\\.\\PhysicalDrive/i,
57
+ reason: 'PowerShell: raw disk write to physical drive',
58
+ },
46
59
  ];
47
60
  const ASK_PATTERNS = [
48
61
  {
@@ -77,6 +90,27 @@ const ASK_PATTERNS = [
77
90
  regex: /(?:grep|cat)\s+.*\/\.env\b/i,
78
91
  reason: 'env file read: accessing .env file contents',
79
92
  },
93
+ // PowerShell equivalents
94
+ {
95
+ regex: /Invoke-Expression\s*\(?\s*(?:Invoke-WebRequest|iwr|curl|wget)\b/i,
96
+ reason: 'PowerShell: remote code execution via Invoke-Expression + web download',
97
+ },
98
+ {
99
+ regex: /\biex\s*\(?\s*(?:iwr|curl|wget)\b/i,
100
+ reason: 'PowerShell: remote code execution via iex alias',
101
+ },
102
+ {
103
+ regex: /Start-Process\s+.*-Verb\s+RunAs\b/i,
104
+ reason: 'PowerShell: UAC elevation request (sudo equivalent)',
105
+ },
106
+ {
107
+ regex: /Get-Content\s+.*\.env\b/i,
108
+ reason: 'PowerShell: env file read via Get-Content',
109
+ },
110
+ {
111
+ regex: /Get-Content\s+.*(?:\.ssh[\/\\]|\.aws[\/\\]|id_rsa|credentials\.json)/i,
112
+ reason: 'PowerShell: credential file read via Get-Content',
113
+ },
80
114
  ];
81
115
  export function classifyCommand(command) {
82
116
  const normalized = command.replace(/\s+/g, ' ').trim();
@@ -1 +1 @@
1
- {"version":3,"file":"command-guard.js","sourceRoot":"","sources":["../../../src/safety/command-guard.ts"],"names":[],"mappings":"AAaA,MAAM,kBAAkB,GAAqB;IAC3C;QACE,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,oCAAoC;KAC7C;IACD;QACE,KAAK,EAAE,iEAAiE;QACxE,MAAM,EAAE,sCAAsC;KAC/C;IACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,sCAAsC;KAC/C;IACD;QACE,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,kCAAkC;KAC3C;IACD;QACE,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,2CAA2C;KACpD;IACD;QACE,KAAK,EAAE,+BAA+B;QACtC,MAAM,EAAE,oCAAoC;KAC7C;IACD;QACE,KAAK,EAAE,0CAA0C;QACjD,MAAM,EAAE,qCAAqC;KAC9C;IACD;QACE,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,8CAA8C;KACvD;IACD;QACE,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE,mDAAmD;KAC5D;IACD;QACE,KAAK,EAAE,uEAAuE;QAC9E,MAAM,EAAE,mEAAmE;KAC5E;CACF,CAAC;AAEF,MAAM,YAAY,GAAqB;IACrC;QACE,KAAK,EAAE,8CAA8C;QACrD,MAAM,EAAE,0DAA0D;KACnE;IACD;QACE,KAAK,EAAE,8CAA8C;QACrD,MAAM,EAAE,0DAA0D;KACnE;IACD;QACE,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,4BAA4B;KACrC;IACD;QACE,KAAK,EAAE,yBAAyB;QAChC,MAAM,EAAE,2DAA2D;KACpE;IACD;QACE,KAAK,EAAE,yEAAyE;QAChF,MAAM,EAAE,2DAA2D;KACpE;IACD;QACE,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,2CAA2C;KACpD;IACD;QACE,KAAK,EAAE,kEAAkE;QACzE,MAAM,EAAE,6DAA6D;KACtE;IACD;QACE,KAAK,EAAE,6BAA6B;QACpC,MAAM,EAAE,6CAA6C;KACtD;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvD,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"command-guard.js","sourceRoot":"","sources":["../../../src/safety/command-guard.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { mkdirSync, readFileSync, existsSync, appendFileSync } from 'node:fs';
5
5
  import { join, dirname, basename } from 'node:path';
6
6
  function execFileAsync(command, args, options) {
7
7
  return new Promise((resolve, reject) => {
8
- execFile(command, args, { cwd: options.cwd }, (err, stdout, stderr) => {
8
+ execFile(command, args, { cwd: options.cwd, windowsHide: true }, (err, stdout, stderr) => {
9
9
  if (err)
10
10
  return reject(err);
11
11
  resolve({ stdout: stdout.toString(), stderr: stderr.toString() });
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/safety/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/safety/snapshot.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ export interface ProviderConfig {
4
4
  model: string;
5
5
  model_cost: string;
6
6
  model_context_window: number;
7
- [key: string]: string | number;
7
+ max_output_tokens?: number;
8
+ provider_order?: string[];
9
+ [key: string]: string | number | string[] | undefined;
8
10
  }
9
11
  export interface ProviderMap {
10
12
  anthropic: ProviderConfig;
@@ -43,6 +45,10 @@ export interface AutoCompactConfig {
43
45
  warn_threshold: number;
44
46
  forced_threshold: number;
45
47
  }
48
+ export interface WikiConfig {
49
+ path: string;
50
+ autoLint: 'on' | 'off';
51
+ }
46
52
  export interface CurieSettings {
47
53
  model: string;
48
54
  effort: 'low' | 'medium' | 'high' | 'max' | 'auto';
@@ -62,6 +68,7 @@ export interface CurieSettings {
62
68
  safety: SafetyConfig;
63
69
  auto_compact: AutoCompactConfig;
64
70
  pricing_tier_warn: 'on' | 'off';
71
+ wiki: WikiConfig;
65
72
  web_ip: string;
66
73
  daemon_token?: string;
67
74
  MODEL_PROVIDER?: string;
@@ -115,7 +122,7 @@ export declare class SettingsManager {
115
122
  save(): void;
116
123
  update(partial: Partial<CurieSettings>): CurieSettings;
117
124
  get(): CurieSettings;
118
- /** Get the currently active model name (override or provider default). */
125
+ /** Get the currently active model name from provider config. */
119
126
  getActiveModel(): string;
120
127
  /** Get the currently active provider name. */
121
128
  getCurrentProvider(): string;
@@ -127,7 +134,7 @@ export declare class SettingsManager {
127
134
  getProviderKey(provider: string, key: 'model_context_window'): number;
128
135
  /** Set a specific property on a provider's config. */
129
136
  setProviderKey(provider: string, key: string, value: unknown): CurieSettings;
130
- /** Set the current provider and reset model to its default. */
137
+ /** Set the current provider and sync model to its value. */
131
138
  setCurrentProvider(name: string): CurieSettings;
132
139
  /** Get the active provider's model cost string. */
133
140
  getModelCost(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export const DEFAULT_SETTINGS = {
34
34
  safety: { path_guard: 'on', path_allowlist: '', command_guard: 'on', snapshots: 'on' },
35
35
  auto_compact: { enabled: 'on', threshold: 75, warn_threshold: 60, forced_threshold: 85 },
36
36
  pricing_tier_warn: 'on',
37
+ wiki: { path: '', autoLint: 'off' },
37
38
  web_ip: '',
38
39
  };
39
40
  // ── Migration helpers ───────────────────────────────────────────────────────
@@ -202,6 +203,7 @@ export function migrateFlatToNested(parsed) {
202
203
  forced_threshold: acForcedThreshold,
203
204
  },
204
205
  pricing_tier_warn: (pickString(parsed, 'PRICING_TIER_WARN', 'pricing_tier_warn') || 'on'),
206
+ wiki: { path: '', autoLint: 'off' },
205
207
  web_ip: pickString(parsed, 'web_ip', 'WEB_IP') || '',
206
208
  };
207
209
  }
@@ -233,7 +235,7 @@ export function stripLegacyKeys(s) {
233
235
  }
234
236
  // ── Constants ───────────────────────────────────────────────────────────────
235
237
  const CONFIG_DIR = join(homedir(), '.curie-agent');
236
- const SETTINGS_FILE = join(CONFIG_DIR, 'settings.json');
238
+ const SETTINGS_FILE = join(homedir(), '.curie-settings.json');
237
239
  // ── SettingsManager ─────────────────────────────────────────────────────────
238
240
  export class SettingsManager {
239
241
  settings;
@@ -260,10 +262,9 @@ export class SettingsManager {
260
262
  // ignore parse errors, use defaults
261
263
  }
262
264
  }
263
- // Sync top-level model to the active provider's default.
264
- // model_override (set via /model) takes precedence over this.
265
+ // Sync top-level model to the active provider's value.
265
266
  const prov = this.settings.providers[this.settings.current_provider];
266
- if (prov && !this.settings.model_override) {
267
+ if (prov) {
267
268
  this.settings.model = prov.model;
268
269
  }
269
270
  return this.settings;
@@ -282,10 +283,10 @@ export class SettingsManager {
282
283
  get() {
283
284
  return { ...this.settings };
284
285
  }
285
- /** Get the currently active model name (override or provider default). */
286
+ /** Get the currently active model name from provider config. */
286
287
  getActiveModel() {
287
288
  const p = this.settings.providers[this.settings.current_provider];
288
- return this.settings.model_override || p?.model || DEFAULT_SETTINGS.model;
289
+ return p?.model || DEFAULT_SETTINGS.model;
289
290
  }
290
291
  /** Get the currently active provider name. */
291
292
  getCurrentProvider() {
@@ -309,14 +310,13 @@ export class SettingsManager {
309
310
  this.save();
310
311
  return this.settings;
311
312
  }
312
- /** Set the current provider and reset model to its default. */
313
+ /** Set the current provider and sync model to its value. */
313
314
  setCurrentProvider(name) {
314
315
  this.settings.current_provider = name;
315
316
  const prov = this.settings.providers[name];
316
317
  if (prov) {
317
318
  this.settings.model = prov.model;
318
319
  }
319
- this.settings.model_override = undefined;
320
320
  this.save();
321
321
  return this.settings;
322
322
  }
@@ -349,6 +349,8 @@ export function parseNestedSettings(parsed) {
349
349
  model: getString([`providers.${name}.model`]) || raw.model || (DEFAULT_SETTINGS.providers[name].model),
350
350
  model_cost: raw.model_cost || '',
351
351
  model_context_window: typeof raw.model_context_window === 'number' ? raw.model_context_window : (DEFAULT_SETTINGS.providers[name].model_context_window),
352
+ max_output_tokens: typeof raw.max_output_tokens === 'number' ? raw.max_output_tokens : undefined,
353
+ provider_order: Array.isArray(raw.provider_order) ? raw.provider_order : undefined,
352
354
  };
353
355
  }
354
356
  }
@@ -405,6 +407,13 @@ export function parseNestedSettings(parsed) {
405
407
  safety: safetyConfig,
406
408
  auto_compact: autoCompactConfig,
407
409
  pricing_tier_warn: (getString(['pricing_tier_warn', 'PRICING_TIER_WARN']) || 'on'),
410
+ wiki: (() => {
411
+ const rawWiki = parsed.wiki;
412
+ return {
413
+ path: rawWiki?.path || '',
414
+ autoLint: (rawWiki?.autoLint || 'off'),
415
+ };
416
+ })(),
408
417
  web_ip: getString(['web_ip', 'WEB_IP']) || '',
409
418
  daemon_token: getString(['daemon_token']),
410
419
  };