@x-code-cli/core 0.1.11 → 0.2.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 (111) hide show
  1. package/dist/agent/api-errors.d.ts.map +1 -1
  2. package/dist/agent/api-errors.js +18 -0
  3. package/dist/agent/api-errors.js.map +1 -1
  4. package/dist/agent/diff.d.ts +35 -0
  5. package/dist/agent/diff.d.ts.map +1 -0
  6. package/dist/agent/diff.js +83 -0
  7. package/dist/agent/diff.js.map +1 -0
  8. package/dist/agent/loop-state.d.ts +45 -3
  9. package/dist/agent/loop-state.d.ts.map +1 -1
  10. package/dist/agent/loop-state.js +24 -3
  11. package/dist/agent/loop-state.js.map +1 -1
  12. package/dist/agent/loop.d.ts +10 -6
  13. package/dist/agent/loop.d.ts.map +1 -1
  14. package/dist/agent/loop.js +212 -30
  15. package/dist/agent/loop.js.map +1 -1
  16. package/dist/agent/plan-storage.d.ts +55 -0
  17. package/dist/agent/plan-storage.d.ts.map +1 -0
  18. package/dist/agent/plan-storage.js +156 -0
  19. package/dist/agent/plan-storage.js.map +1 -0
  20. package/dist/agent/session-store.d.ts +114 -0
  21. package/dist/agent/session-store.d.ts.map +1 -0
  22. package/dist/agent/session-store.js +415 -0
  23. package/dist/agent/session-store.js.map +1 -0
  24. package/dist/agent/sub-agents/built-in.d.ts +3 -0
  25. package/dist/agent/sub-agents/built-in.d.ts.map +1 -0
  26. package/dist/agent/sub-agents/built-in.js +98 -0
  27. package/dist/agent/sub-agents/built-in.js.map +1 -0
  28. package/dist/agent/sub-agents/index.d.ts +7 -0
  29. package/dist/agent/sub-agents/index.d.ts.map +1 -0
  30. package/dist/agent/sub-agents/index.js +5 -0
  31. package/dist/agent/sub-agents/index.js.map +1 -0
  32. package/dist/agent/sub-agents/loader.d.ts +5 -0
  33. package/dist/agent/sub-agents/loader.d.ts.map +1 -0
  34. package/dist/agent/sub-agents/loader.js +117 -0
  35. package/dist/agent/sub-agents/loader.js.map +1 -0
  36. package/dist/agent/sub-agents/registry.d.ts +14 -0
  37. package/dist/agent/sub-agents/registry.d.ts.map +1 -0
  38. package/dist/agent/sub-agents/registry.js +37 -0
  39. package/dist/agent/sub-agents/registry.js.map +1 -0
  40. package/dist/agent/sub-agents/runner.d.ts +26 -0
  41. package/dist/agent/sub-agents/runner.d.ts.map +1 -0
  42. package/dist/agent/sub-agents/runner.js +287 -0
  43. package/dist/agent/sub-agents/runner.js.map +1 -0
  44. package/dist/agent/sub-agents/types.d.ts +63 -0
  45. package/dist/agent/sub-agents/types.d.ts.map +1 -0
  46. package/dist/agent/sub-agents/types.js +2 -0
  47. package/dist/agent/sub-agents/types.js.map +1 -0
  48. package/dist/agent/system-prompt.d.ts +15 -0
  49. package/dist/agent/system-prompt.d.ts.map +1 -1
  50. package/dist/agent/system-prompt.js +161 -0
  51. package/dist/agent/system-prompt.js.map +1 -1
  52. package/dist/agent/tool-execution.d.ts +4 -3
  53. package/dist/agent/tool-execution.d.ts.map +1 -1
  54. package/dist/agent/tool-execution.js +316 -14
  55. package/dist/agent/tool-execution.js.map +1 -1
  56. package/dist/agent/tool-result-sanitize.d.ts +12 -0
  57. package/dist/agent/tool-result-sanitize.d.ts.map +1 -1
  58. package/dist/agent/tool-result-sanitize.js +70 -0
  59. package/dist/agent/tool-result-sanitize.js.map +1 -1
  60. package/dist/config/index.d.ts +6 -0
  61. package/dist/config/index.d.ts.map +1 -1
  62. package/dist/config/index.js.map +1 -1
  63. package/dist/index.d.ts +11 -5
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +10 -3
  66. package/dist/index.js.map +1 -1
  67. package/dist/knowledge/session.d.ts +4 -7
  68. package/dist/knowledge/session.d.ts.map +1 -1
  69. package/dist/knowledge/session.js +20 -55
  70. package/dist/knowledge/session.js.map +1 -1
  71. package/dist/permissions/index.d.ts +18 -3
  72. package/dist/permissions/index.d.ts.map +1 -1
  73. package/dist/permissions/index.js +20 -2
  74. package/dist/permissions/index.js.map +1 -1
  75. package/dist/tools/ask-user.d.ts.map +1 -1
  76. package/dist/tools/ask-user.js +8 -6
  77. package/dist/tools/ask-user.js.map +1 -1
  78. package/dist/tools/enter-plan-mode.d.ts +25 -0
  79. package/dist/tools/enter-plan-mode.d.ts.map +1 -0
  80. package/dist/tools/enter-plan-mode.js +120 -0
  81. package/dist/tools/enter-plan-mode.js.map +1 -0
  82. package/dist/tools/exit-plan-mode.d.ts +13 -0
  83. package/dist/tools/exit-plan-mode.d.ts.map +1 -0
  84. package/dist/tools/exit-plan-mode.js +22 -0
  85. package/dist/tools/exit-plan-mode.js.map +1 -0
  86. package/dist/tools/grep.d.ts +1 -1
  87. package/dist/tools/index.d.ts +20 -4
  88. package/dist/tools/index.d.ts.map +1 -1
  89. package/dist/tools/index.js +7 -1
  90. package/dist/tools/index.js.map +1 -1
  91. package/dist/tools/save-knowledge.d.ts +2 -2
  92. package/dist/tools/shell-provider.d.ts +4 -0
  93. package/dist/tools/shell-provider.d.ts.map +1 -1
  94. package/dist/tools/shell-provider.js +2 -0
  95. package/dist/tools/shell-provider.js.map +1 -1
  96. package/dist/tools/task.d.ts +14 -0
  97. package/dist/tools/task.d.ts.map +1 -0
  98. package/dist/tools/task.js +95 -0
  99. package/dist/tools/task.js.map +1 -0
  100. package/dist/tools/todo-write.d.ts +21 -0
  101. package/dist/tools/todo-write.d.ts.map +1 -0
  102. package/dist/tools/todo-write.js +117 -0
  103. package/dist/tools/todo-write.js.map +1 -0
  104. package/dist/types/index.d.ts +103 -0
  105. package/dist/types/index.d.ts.map +1 -1
  106. package/dist/types/index.js.map +1 -1
  107. package/package.json +1 -1
  108. package/dist/knowledge/session-usage.d.ts +0 -24
  109. package/dist/knowledge/session-usage.d.ts.map +0 -1
  110. package/dist/knowledge/session-usage.js +0 -86
  111. package/dist/knowledge/session-usage.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool-execution.js","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-execution.js","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,16 @@
1
1
  import type { ModelMessage } from 'ai';
2
+ /**
3
+ * Walk `messages` and append synthetic tool-result entries for any
4
+ * assistant tool_call that lacks a matching tool result. Models can emit
5
+ * malformed tool inputs (e.g. todoWrite with missing required fields) —
6
+ * the SDK validates, fails, and emits a tool-error event but in some
7
+ * cases doesn't push a paired tool-result into response.messages. The
8
+ * orphan tool_call would then poison every subsequent API request
9
+ * because providers strictly require tool_call ↔ tool_result pairing.
10
+ *
11
+ * Mutates `messages` in place. Idempotent (running twice is a no-op).
12
+ */
13
+ export declare function repairOrphanToolCalls(messages: ModelMessage[]): void;
2
14
  /**
3
15
  * Walk `messages` in place and truncate any oversized tool-result parts. Only
4
16
  * mutates the `output.value` field; the rest of the message structure is
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-sanitize.d.ts","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAgCtC;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAmC5E"}
1
+ {"version":3,"file":"tool-result-sanitize.d.ts","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAoDtC;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAyCpE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAmC5E"}
@@ -32,6 +32,76 @@ function policyFor(toolName) {
32
32
  return { direction: 'head-tail' };
33
33
  return PER_TOOL_POLICY[toolName] ?? { direction: 'head-tail' };
34
34
  }
35
+ /** Synthesize a tool-result message for a tool_call whose input failed
36
+ * Zod validation (or otherwise didn't execute). Without this, the
37
+ * assistant message ends up with an orphan tool_call — the next API
38
+ * request fails with provider errors like
39
+ * "tool must be a response to a preceding message with tool_calls".
40
+ * Wire-shape mirrors how the AI SDK normally emits tool results. */
41
+ function synthesizeToolErrorResult(toolCallId, toolName, errorMessage) {
42
+ return {
43
+ role: 'tool',
44
+ content: [
45
+ {
46
+ type: 'tool-result',
47
+ toolCallId,
48
+ toolName,
49
+ output: { type: 'text', value: `Error: ${errorMessage}` },
50
+ },
51
+ ],
52
+ };
53
+ }
54
+ /**
55
+ * Walk `messages` and append synthetic tool-result entries for any
56
+ * assistant tool_call that lacks a matching tool result. Models can emit
57
+ * malformed tool inputs (e.g. todoWrite with missing required fields) —
58
+ * the SDK validates, fails, and emits a tool-error event but in some
59
+ * cases doesn't push a paired tool-result into response.messages. The
60
+ * orphan tool_call would then poison every subsequent API request
61
+ * because providers strictly require tool_call ↔ tool_result pairing.
62
+ *
63
+ * Mutates `messages` in place. Idempotent (running twice is a no-op).
64
+ */
65
+ export function repairOrphanToolCalls(messages) {
66
+ // Collect every tool_call_id that appears in an assistant message.
67
+ const expected = new Set();
68
+ const toolNameById = new Map();
69
+ for (const msg of messages) {
70
+ if (msg.role !== 'assistant')
71
+ continue;
72
+ if (!Array.isArray(msg.content))
73
+ continue;
74
+ for (const part of msg.content) {
75
+ if (part?.type === 'tool-call' && typeof part.toolCallId === 'string') {
76
+ expected.add(part.toolCallId);
77
+ if (typeof part.toolName === 'string')
78
+ toolNameById.set(part.toolCallId, part.toolName);
79
+ }
80
+ }
81
+ }
82
+ // Collect every tool_call_id that's already covered by a tool-result.
83
+ const fulfilled = new Set();
84
+ for (const msg of messages) {
85
+ if (msg.role !== 'tool')
86
+ continue;
87
+ if (!Array.isArray(msg.content))
88
+ continue;
89
+ for (const part of msg.content) {
90
+ if (part?.type === 'tool-result' && typeof part.toolCallId === 'string') {
91
+ fulfilled.add(part.toolCallId);
92
+ }
93
+ }
94
+ }
95
+ // Append synthetic results for orphans, preserving overall ordering
96
+ // (orphans always go at the end — they never had a real result, so
97
+ // their position is purely a placeholder for the next API request).
98
+ for (const id of expected) {
99
+ if (fulfilled.has(id))
100
+ continue;
101
+ const name = toolNameById.get(id) ?? 'unknown';
102
+ messages.push(synthesizeToolErrorResult(id, name, 'Tool input failed validation (likely missing required fields). The assistant should retry with the correct schema.'));
103
+ }
104
+ }
35
105
  /**
36
106
  * Walk `messages` in place and truncate any oversized tool-result parts. Only
37
107
  * mutates the `output.value` field; the rest of the message structure is
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result-sanitize.js","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-result-sanitize.js","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,12 @@ export declare function resolveModelId(input?: string): string | null;
16
16
  export interface UserConfig {
17
17
  model?: string;
18
18
  thinking?: boolean;
19
+ /** Persisted UI theme name. Drives both diff bg colors and the
20
+ * associated syntax-highlight palette. Validated at load time by
21
+ * `parseThemeName` in the CLI; the type stays loose `string` here
22
+ * because core doesn't depend on the CLI's theme list. Unknown
23
+ * values fall back to the default ('dark') silently. */
24
+ theme?: string;
19
25
  }
20
26
  /** Read the user config. Returns empty object on any failure (missing file,
21
27
  * parse error, wrong shape) so callers don't have to null-check. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAuCA,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAMhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW5D;AAgBD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAYD;qEACqE;AACrE,wBAAgB,cAAc,IAAI,UAAU,CAW3C;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAQhE;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB;;;;;;;;;;;;;EAejC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAuCA,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAMhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW5D;AAgBD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;6DAIyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAYD;qEACqE;AACrE,wBAAgB,cAAc,IAAI,UAAU,CAW3C;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAQhE;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB;;;;;;;;;;;;;EAejC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { PermissionLevel, TokenUsage, DisplayMessage, DisplayToolCall, AgentCallbacks, AgentOptions, KnowledgeCategory, KnowledgeFact, SessionSummary, ModelMessage, LanguageModel, } from './types/index.js';
1
+ export type { PermissionLevel, PermissionMode, TokenUsage, TodoItem, TodoStatus, DisplayMessage, DisplayToolCall, AgentCallbacks, AgentOptions, KnowledgeCategory, KnowledgeFact, SessionSummary, ModelMessage, LanguageModel, } from './types/index.js';
2
2
  export { MODEL_ALIASES, PROVIDER_DETECTION_ORDER, PROVIDER_KEY_URLS, PROVIDER_MODELS } from './types/index.js';
3
3
  export type { ProviderModel } from './types/index.js';
4
4
  export { resolveModelId, getAvailableProviders, getEnvVarName, loadUserConfig, saveUserConfig } from './config/index.js';
@@ -6,7 +6,11 @@ export type { UserConfig } from './config/index.js';
6
6
  export { createModelRegistry } from './providers/registry.js';
7
7
  export { agentLoop, saveSession, compressMessages } from './agent/loop.js';
8
8
  export type { LoopState } from './agent/loop.js';
9
- export { buildSystemPrompt } from './agent/system-prompt.js';
9
+ export { computeEditDiff } from './agent/diff.js';
10
+ export type { EditDiffHunk, EditDiffPayload } from './agent/diff.js';
11
+ export { buildSystemPrompt, buildSubAgentSystemPrompt } from './agent/system-prompt.js';
12
+ export { makePlanFilePath } from './agent/plan-storage.js';
13
+ export { COMPRESSION_TRIGGER_RATIO, estimateTokenCount, getCompressionThreshold, getContextWindow, } from './agent/context-window.js';
10
14
  export { classifyApiError } from './agent/api-errors.js';
11
15
  export { buildUserContent, extractFileReferences, ingestFile, classifyFile } from './agent/file-ingest.js';
12
16
  export type { FileKind, FileReference, IngestedPart } from './agent/file-ingest.js';
@@ -21,8 +25,10 @@ export { checkPermission, getPermissionLevel } from './permissions/index.js';
21
25
  export { GLOBAL_XCODE_DIR, XCODE_DIR, debugLog } from './utils.js';
22
26
  export { buildKnowledgeContext } from './knowledge/loader.js';
23
27
  export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
24
- export { loadLatestSession, saveSessionSummary, formatSessionForPrompt } from './knowledge/session.js';
25
- export { loadLatestUsageSnapshot, listSessionUsageSnapshots } from './knowledge/session-usage.js';
26
- export type { SessionUsageSnapshot } from './knowledge/session-usage.js';
28
+ export { generateSessionSummary } from './knowledge/session.js';
27
29
  export { initProject } from './knowledge/init.js';
30
+ export { createSubAgentRegistry, createBuiltInRegistry, SubAgentRegistry } from './agent/sub-agents/index.js';
31
+ export type { SubAgentDefinition, SubAgentEvent, SubAgentTrace } from './agent/sub-agents/index.js';
32
+ export { appendInterrupted, flushPendingMessages, getSessionFilePath, hydrateLoopState, listSessions, loadSession, pickLatestSession, } from './agent/session-store.js';
33
+ export type { LoadedSession, SessionListEntry } from './agent/session-store.js';
28
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,eAAe,EACf,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC9G,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGrD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACxH,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAG7D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1G,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC7E,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxE,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAGzE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG5E,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACtG,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,7 +6,10 @@ export { resolveModelId, getAvailableProviders, getEnvVarName, loadUserConfig, s
6
6
  export { createModelRegistry } from './providers/registry.js';
7
7
  // Agent
8
8
  export { agentLoop, saveSession, compressMessages } from './agent/loop.js';
9
- export { buildSystemPrompt } from './agent/system-prompt.js';
9
+ export { computeEditDiff } from './agent/diff.js';
10
+ export { buildSystemPrompt, buildSubAgentSystemPrompt } from './agent/system-prompt.js';
11
+ export { makePlanFilePath } from './agent/plan-storage.js';
12
+ export { COMPRESSION_TRIGGER_RATIO, estimateTokenCount, getCompressionThreshold, getContextWindow, } from './agent/context-window.js';
10
13
  export { classifyApiError } from './agent/api-errors.js';
11
14
  export { buildUserContent, extractFileReferences, ingestFile, classifyFile } from './agent/file-ingest.js';
12
15
  export { captionImage, pickVisionProvider } from './agent/vision-fallback.js';
@@ -22,7 +25,11 @@ export { GLOBAL_XCODE_DIR, XCODE_DIR, debugLog } from './utils.js';
22
25
  // Knowledge
23
26
  export { buildKnowledgeContext } from './knowledge/loader.js';
24
27
  export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
25
- export { loadLatestSession, saveSessionSummary, formatSessionForPrompt } from './knowledge/session.js';
26
- export { loadLatestUsageSnapshot, listSessionUsageSnapshots } from './knowledge/session-usage.js';
28
+ export { generateSessionSummary } from './knowledge/session.js';
27
29
  export { initProject } from './knowledge/init.js';
30
+ // Sub-agents
31
+ export { createSubAgentRegistry, createBuiltInRegistry, SubAgentRegistry } from './agent/sub-agents/index.js';
32
+ // Session store (per-session jsonl transcript — used by /resume,
33
+ // /usage history, and the CLI startup --resume / --continue flags).
34
+ export { appendInterrupted, flushPendingMessages, getSessionFilePath, hydrateLoopState, listSessions, loadSession, pickLatestSession, } from './agent/session-store.js';
28
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAiBxC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG9G,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGxH,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1G,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG7E,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxE,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE5E,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAElE,YAAY;AACZ,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACtG,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAoBxC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG9G,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGxH,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1G,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAG7E,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAGxE,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE5E,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAElE,YAAY;AACZ,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,aAAa;AACb,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAG7G,iEAAiE;AACjE,oEAAoE;AACpE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,0BAA0B,CAAA"}
@@ -1,11 +1,8 @@
1
1
  import type { LanguageModel, ModelMessage } from 'ai';
2
2
  import type { SessionSummary } from '../types/index.js';
3
- /** Load the most recent session summary */
4
- export declare function loadLatestSession(): Promise<SessionSummary | null>;
5
- /** Save a session summary */
6
- export declare function saveSessionSummary(summary: SessionSummary): Promise<void>;
7
- /** Generate a session summary from messages using the model */
3
+ /** Generate a session summary from messages using the model. Returns the
4
+ * full structured `SessionSummary` (title + status + key results +
5
+ * pendingWork + decisions) — callers typically want the `summary` field
6
+ * for context replacement and the rest for picker / display purposes. */
8
7
  export declare function generateSessionSummary(messages: ModelMessage[], model: LanguageModel, sessionId: string, startedAt: string, filesModified: string[], signal?: AbortSignal): Promise<SessionSummary>;
9
- /** Format session summary for system prompt injection */
10
- export declare function formatSessionForPrompt(session: SessionSummary): string;
11
8
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/knowledge/session.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAevD,2CAA2C;AAC3C,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAOxE;AAED,6BAA6B;AAC7B,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/E;AAED,+DAA+D;AAC/D,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAiDzB;AAED,yDAAyD;AACzD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAoBtE"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/knowledge/session.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKvD;;;0EAG0E;AAC1E,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,YAAY,EAAE,EACxB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAiDzB"}
@@ -1,36 +1,26 @@
1
- // @x-code-cli/core — Session memory (structured JSON summaries for cross-session continuation)
2
- import fs from 'node:fs/promises';
3
- import path from 'node:path';
1
+ // @x-code-cli/core — LLM-generated session summaries (used by the agent
2
+ // loop's deep compaction path).
3
+ //
4
+ // What used to live here: `saveSessionSummary` + `loadLatestSession`,
5
+ // which wrote `<sessionId>.json` and `latest.json` into
6
+ // `.x-code/sessions/`. Both are gone — the full session transcript now
7
+ // lives in a single `.jsonl` per session (see `agent/session-store.ts`),
8
+ // and compaction summaries are embedded as `compact-boundary` meta lines
9
+ // inside that same jsonl. One file per session, no out-of-band siblings.
10
+ //
11
+ // What remains: `generateSessionSummary` — a small isolated `generateText`
12
+ // call that the loop invokes when context overflows and needs to be
13
+ // compressed into a paragraph. The result is fed to `markBoundaryAndReflush`
14
+ // (in session-store) and also wrapped into a "[Previous conversation
15
+ // summary]" user message that replaces the discarded prefix in
16
+ // `state.messages`.
4
17
  import { generateText } from 'ai';
5
- import { XCODE_DIR } from '../utils.js';
6
- const SESSIONS_DIR = `${XCODE_DIR}/sessions`;
7
18
  /** Number of recent messages to include when generating session summaries */
8
19
  const SESSION_SUMMARY_MESSAGE_COUNT = 20;
9
- function getSessionsDir() {
10
- return path.join(process.cwd(), SESSIONS_DIR);
11
- }
12
- function getLatestPath() {
13
- return path.join(getSessionsDir(), 'latest.json');
14
- }
15
- /** Load the most recent session summary */
16
- export async function loadLatestSession() {
17
- try {
18
- const raw = await fs.readFile(getLatestPath(), 'utf-8');
19
- return JSON.parse(raw);
20
- }
21
- catch {
22
- return null;
23
- }
24
- }
25
- /** Save a session summary */
26
- export async function saveSessionSummary(summary) {
27
- const dir = getSessionsDir();
28
- await fs.mkdir(dir, { recursive: true });
29
- await fs.writeFile(getLatestPath(), JSON.stringify(summary, null, 2), 'utf-8');
30
- const archivePath = path.join(dir, `${summary.id}.json`);
31
- await fs.writeFile(archivePath, JSON.stringify(summary, null, 2), 'utf-8');
32
- }
33
- /** Generate a session summary from messages using the model */
20
+ /** Generate a session summary from messages using the model. Returns the
21
+ * full structured `SessionSummary` (title + status + key results +
22
+ * pendingWork + decisions) — callers typically want the `summary` field
23
+ * for context replacement and the rest for picker / display purposes. */
34
24
  export async function generateSessionSummary(messages, model, sessionId, startedAt, filesModified, signal) {
35
25
  const { text } = await generateText({
36
26
  model,
@@ -81,29 +71,4 @@ Return ONLY valid JSON, no markdown fencing.`,
81
71
  };
82
72
  }
83
73
  }
84
- /** Format session summary for system prompt injection */
85
- export function formatSessionForPrompt(session) {
86
- const lines = [
87
- `### Previous Session`,
88
- `Title: ${session.title}`,
89
- `Status: ${session.status}`,
90
- `Summary: ${session.summary}`,
91
- ];
92
- if (session.keyResults.length > 0) {
93
- lines.push('Key results:');
94
- for (const r of session.keyResults)
95
- lines.push(`- ${r}`);
96
- }
97
- if (session.pendingWork.length > 0) {
98
- lines.push('Pending work:');
99
- for (const w of session.pendingWork)
100
- lines.push(`- ${w}`);
101
- }
102
- if (session.decisions.length > 0) {
103
- lines.push('Decisions:');
104
- for (const d of session.decisions)
105
- lines.push(`- ${d}`);
106
- }
107
- return lines.join('\n');
108
- }
109
74
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/knowledge/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/knowledge/session.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gCAAgC;AAChC,EAAE;AACF,sEAAsE;AACtE,wDAAwD;AACxD,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,EAAE;AACF,2EAA2E;AAC3E,oEAAoE;AACpE,6EAA6E;AAC7E,qEAAqE;AACrE,+DAA+D;AAC/D,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAKjC,6EAA6E;AAC7E,MAAM,6BAA6B,GAAG,EAAE,CAAA;AAExC;;;0EAG0E;AAC1E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAwB,EACxB,KAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,aAAuB,EACvB,MAAoB;IAEpB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;QAClC,KAAK;QACL,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;;;;;;;;6CAQ4B;aACtC;YACD,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,6BAA6B,CAAC;SAClD;KACF,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAA;QAC1D,OAAO;YACL,EAAE,EAAE,SAAS;YACb,SAAS;YACT,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,aAAa;YACb,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,kBAAkB;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;YACnC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YACrC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW;SACrC,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,EAAE,EAAE,SAAS;YACb,SAAS;YACT,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACjC,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC3B,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,aAAa;YACb,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,WAAW;SACpB,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -1,8 +1,23 @@
1
- import type { PermissionLevel } from '../types/index.js';
1
+ import type { PermissionLevel, PermissionMode } from '../types/index.js';
2
2
  type PermissionInput = Record<string, unknown>;
3
3
  /** Get permission level for a tool call */
4
4
  export declare function getPermissionLevel(toolName: string, input: PermissionInput): PermissionLevel;
5
- /** Check permission with trust mode support */
5
+ /** Check permission with trust mode + permission-mode support.
6
+ *
7
+ * `permissionMode` semantics:
8
+ * - 'default': behave exactly as before — `ask`-level tools prompt.
9
+ * - 'acceptEdits': auto-allow `writeFile` and `edit` (the two tools
10
+ * whose default level is `ask` purely because they write files —
11
+ * the user opted into accepting all such writes). Shell still goes
12
+ * through normal classification so destructive commands stay
13
+ * gated, and `deny`-level results still deny.
14
+ * - 'plan': pure prompt-based enforcement (mirrors Claude Code) —
15
+ * no permission-layer change. The system-prompt overlay tells the
16
+ * model not to write; if it ignores that, the regular `ask`
17
+ * prompt still fires.
18
+ *
19
+ * Trust mode is the global override and beats everything except an
20
+ * explicit `deny`. */
6
21
  export declare function checkPermission(toolCall: {
7
22
  toolCallId: string;
8
23
  toolName: string;
@@ -11,6 +26,6 @@ export declare function checkPermission(toolCall: {
11
26
  toolCallId: string;
12
27
  toolName: string;
13
28
  input: PermissionInput;
14
- }) => Promise<boolean>): Promise<boolean>;
29
+ }) => Promise<boolean>, permissionMode?: PermissionMode): Promise<boolean>;
15
30
  export {};
16
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAoD9C,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,eAAe,CAI5F;AAED,+CAA+C;AAC/C,wBAAsB,eAAe,CACnC,QAAQ,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,EAC1E,SAAS,EAAE,OAAO,EAClB,eAAe,EAAE,CAAC,QAAQ,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAChH,OAAO,CAAC,OAAO,CAAC,CAKlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAExE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAoD9C,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,eAAe,CAI5F;AAED;;;;;;;;;;;;;;;uBAeuB;AACvB,wBAAsB,eAAe,CACnC,QAAQ,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,EAC1E,SAAS,EAAE,OAAO,EAClB,eAAe,EAAE,CAAC,QAAQ,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EACjH,cAAc,GAAE,cAA0B,GACzC,OAAO,CAAC,OAAO,CAAC,CAQlB"}
@@ -55,13 +55,31 @@ export function getPermissionLevel(toolName, input) {
55
55
  return 'ask'; // Unknown tool defaults to ask
56
56
  return rule(input);
57
57
  }
58
- /** Check permission with trust mode support */
59
- export async function checkPermission(toolCall, trustMode, onAskPermission) {
58
+ /** Check permission with trust mode + permission-mode support.
59
+ *
60
+ * `permissionMode` semantics:
61
+ * - 'default': behave exactly as before — `ask`-level tools prompt.
62
+ * - 'acceptEdits': auto-allow `writeFile` and `edit` (the two tools
63
+ * whose default level is `ask` purely because they write files —
64
+ * the user opted into accepting all such writes). Shell still goes
65
+ * through normal classification so destructive commands stay
66
+ * gated, and `deny`-level results still deny.
67
+ * - 'plan': pure prompt-based enforcement (mirrors Claude Code) —
68
+ * no permission-layer change. The system-prompt overlay tells the
69
+ * model not to write; if it ignores that, the regular `ask`
70
+ * prompt still fires.
71
+ *
72
+ * Trust mode is the global override and beats everything except an
73
+ * explicit `deny`. */
74
+ export async function checkPermission(toolCall, trustMode, onAskPermission, permissionMode = 'default') {
60
75
  const level = getPermissionLevel(toolCall.toolName, toolCall.input);
61
76
  if (level === 'deny')
62
77
  return false;
63
78
  if (level === 'always-allow' || trustMode)
64
79
  return true;
80
+ if (permissionMode === 'acceptEdits' && (toolCall.toolName === 'writeFile' || toolCall.toolName === 'edit')) {
81
+ return true;
82
+ }
65
83
  return onAskPermission(toolCall);
66
84
  }
67
85
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAKvF;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,GAAG,CAAA;AACtC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA2B,CAAA;AAE/D,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC/C,uDAAuD;IACvD,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;QAAE,OAAO,MAAM,CAAA;IAClD,0CAA0C;IAC1C,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,cAAc,CAAA;IACxD,kBAAkB;IAClB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAsB;IACpD,MAAM,GAAG,GAAI,KAAK,CAAC,OAAkB,IAAI,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;IAE1C,IAAI,oBAAoB,CAAC,IAAI,IAAI,0BAA0B,EAAE,CAAC;QAC5D,0DAA0D;QAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;QACvD,IAAI,MAAM,KAAK,SAAS;YAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/D,CAAC;IACD,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,qCAAqC;AACrC,MAAM,KAAK,GAAgE;IACzE,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,cAAc;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,cAAc;IAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc;IAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc;IAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc;IAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,cAAc;IACnC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK;IACjB,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;IACtB,KAAK,EAAE,sBAAsB;CAC9B,CAAA;AAED,2CAA2C;AAC3C,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAsB;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA,CAAC,+BAA+B;IACvD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA0E,EAC1E,SAAkB,EAClB,eAAiH;IAEjH,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnE,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAClC,IAAI,KAAK,KAAK,cAAc,IAAI,SAAS;QAAE,OAAO,IAAI,CAAA;IACtD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO;;;;;;SAiBlB,CAAA"}
1
+ {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO;;;;;;SAqBlB,CAAA"}
@@ -2,17 +2,19 @@
2
2
  import { tool } from 'ai';
3
3
  import { z } from 'zod';
4
4
  export const askUser = tool({
5
- description: 'Ask the user a clarifying question with multiple-choice options. Use when you need user input to decide between approaches.',
5
+ description: 'Ask the user a clarifying question with multiple-choice options. Use when you need user input to decide between approaches. In **plan mode** this is also the primary "interview" tool — call it after every meaningful analysis or exploration to hand decision points back to the user with concrete next-step choices.',
6
6
  inputSchema: z.object({
7
- question: z.string().describe('The question to ask'),
7
+ question: z.string().describe('The question to ask. Markdown is rendered.'),
8
8
  options: z
9
9
  .array(z.object({
10
- label: z.string().describe('Option label (1-5 words)'),
11
- description: z.string().describe('What this option means'),
10
+ label: z.string().describe('Option label (1-8 words). Shown as the choice itself.'),
11
+ description: z
12
+ .string()
13
+ .describe('One-line tradeoff or scope hint shown beneath the label.'),
12
14
  }))
13
15
  .min(2)
14
- .max(4)
15
- .describe('Choices (an "Other" option is auto-appended)'),
16
+ .max(6)
17
+ .describe('Choices. DO NOT include an "Other"/freeform/custom-input option the UI auto-appends one as the last row, so adding your own creates a duplicate. 2-6 entries — for plan-mode interview menus 4-6 entries with both action options ("plan high-priority items") and meta options ("just discuss further") work best.'),
16
18
  }),
17
19
  // No execute — through callback to trigger UI rendering
18
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW,EACT,6HAA6H;IAC/H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpD,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SAC3D,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,8CAA8C,CAAC;KAC5D,CAAC;IACF,wDAAwD;CACzD,CAAC,CAAA"}
1
+ {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAEzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW,EACT,2TAA2T;IAC7T,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC3E,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACnF,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,CAAC,0DAA0D,CAAC;SACxE,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,uTAAuT,CACxT;KACJ,CAAC;IACF,wDAAwD;CACzD,CAAC,CAAA"}
@@ -0,0 +1,25 @@
1
+ /** The tool description below is the heart of plan-mode auto-trigger
2
+ * behavior — it's what the model reads in the tool list and uses to
3
+ * decide whether to recommend plan mode. Ported (with naming
4
+ * adjustments for our tool surface) from Claude Code's
5
+ * `EnterPlanModeTool/prompt.ts` external-user prompt
6
+ * (`/d/res/claude-code/src/tools/EnterPlanModeTool/prompt.ts:16-99`).
7
+ *
8
+ * WHY THIS IS LONG: a one-line description ("use for complex tasks")
9
+ * produces a model that almost never calls the tool — it has no
10
+ * concrete trigger pattern to match against the user's request. CC's
11
+ * prompt deliberately includes 7 numbered criteria, multiple worked
12
+ * examples per criterion, and an explicit "PREFER plan mode unless
13
+ * simple" anchor — that's what gets the model to actually recommend
14
+ * plan mode for refactors, new features, architectural decisions,
15
+ * etc. The token cost (~600 tokens in tool list each turn) is what
16
+ * buys the auto-trigger behavior; without it plan mode is dead UX.
17
+ *
18
+ * No `execute` field — the side-effect (asking the user to confirm,
19
+ * mutating LoopState.permissionMode, invalidating the system-prompt
20
+ * cache) is handled manually in `processToolCalls`. Same pattern as
21
+ * `askUser`. */
22
+ export declare const enterPlanMode: import("ai").Tool<{
23
+ topic?: string | undefined;
24
+ }, never>;
25
+ //# sourceMappingURL=enter-plan-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enter-plan-mode.d.ts","sourceRoot":"","sources":["../../src/tools/enter-plan-mode.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;iBAoBiB;AACjB,eAAO,MAAM,aAAa;;SAgGxB,CAAA"}