@x-code-cli/core 0.2.0 → 0.2.2

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 (129) hide show
  1. package/dist/agent/api-errors.js +1 -1
  2. package/dist/agent/api-errors.js.map +1 -1
  3. package/dist/agent/compression.d.ts +25 -0
  4. package/dist/agent/compression.d.ts.map +1 -0
  5. package/dist/agent/compression.js +105 -0
  6. package/dist/agent/compression.js.map +1 -0
  7. package/dist/agent/diff.js.map +1 -1
  8. package/dist/agent/file-ingest.d.ts +14 -0
  9. package/dist/agent/file-ingest.d.ts.map +1 -1
  10. package/dist/agent/file-ingest.js +125 -34
  11. package/dist/agent/file-ingest.js.map +1 -1
  12. package/dist/agent/light-compact.d.ts.map +1 -1
  13. package/dist/agent/light-compact.js +0 -19
  14. package/dist/agent/light-compact.js.map +1 -1
  15. package/dist/agent/loop-guard.d.ts.map +1 -1
  16. package/dist/agent/loop-guard.js.map +1 -1
  17. package/dist/agent/loop-state.d.ts.map +1 -1
  18. package/dist/agent/loop-state.js +8 -1
  19. package/dist/agent/loop-state.js.map +1 -1
  20. package/dist/agent/loop.d.ts +2 -3
  21. package/dist/agent/loop.d.ts.map +1 -1
  22. package/dist/agent/loop.js +16 -92
  23. package/dist/agent/loop.js.map +1 -1
  24. package/dist/agent/messages.d.ts +9 -0
  25. package/dist/agent/messages.d.ts.map +1 -1
  26. package/dist/agent/messages.js +15 -0
  27. package/dist/agent/messages.js.map +1 -1
  28. package/dist/agent/plan-storage.d.ts.map +1 -1
  29. package/dist/agent/plan-storage.js +1 -1
  30. package/dist/agent/plan-storage.js.map +1 -1
  31. package/dist/agent/plan-tools.d.ts +8 -0
  32. package/dist/agent/plan-tools.d.ts.map +1 -0
  33. package/dist/agent/plan-tools.js +150 -0
  34. package/dist/agent/plan-tools.js.map +1 -0
  35. package/dist/agent/provider-compat.d.ts.map +1 -1
  36. package/dist/agent/provider-compat.js.map +1 -1
  37. package/dist/agent/sub-agents/built-in.d.ts.map +1 -1
  38. package/dist/agent/sub-agents/built-in.js +41 -15
  39. package/dist/agent/sub-agents/built-in.js.map +1 -1
  40. package/dist/agent/sub-agents/loader.d.ts.map +1 -1
  41. package/dist/agent/sub-agents/loader.js.map +1 -1
  42. package/dist/agent/sub-agents/runner.d.ts.map +1 -1
  43. package/dist/agent/sub-agents/runner.js +12 -8
  44. package/dist/agent/sub-agents/runner.js.map +1 -1
  45. package/dist/agent/tool-execution.d.ts +34 -2
  46. package/dist/agent/tool-execution.d.ts.map +1 -1
  47. package/dist/agent/tool-execution.js +363 -352
  48. package/dist/agent/tool-execution.js.map +1 -1
  49. package/dist/agent/tool-result-sanitize.d.ts +21 -7
  50. package/dist/agent/tool-result-sanitize.d.ts.map +1 -1
  51. package/dist/agent/tool-result-sanitize.js +56 -30
  52. package/dist/agent/tool-result-sanitize.js.map +1 -1
  53. package/dist/agent/vision-fallback.d.ts.map +1 -1
  54. package/dist/agent/vision-fallback.js +3 -14
  55. package/dist/agent/vision-fallback.js.map +1 -1
  56. package/dist/index.d.ts +7 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +6 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/permissions/index.d.ts +13 -6
  61. package/dist/permissions/index.d.ts.map +1 -1
  62. package/dist/permissions/index.js +57 -6
  63. package/dist/permissions/index.js.map +1 -1
  64. package/dist/permissions/session-store.d.ts +74 -0
  65. package/dist/permissions/session-store.d.ts.map +1 -0
  66. package/dist/permissions/session-store.js +293 -0
  67. package/dist/permissions/session-store.js.map +1 -0
  68. package/dist/providers/cache-control.d.ts.map +1 -1
  69. package/dist/providers/cache-control.js +0 -29
  70. package/dist/providers/cache-control.js.map +1 -1
  71. package/dist/providers/thinking.d.ts.map +1 -1
  72. package/dist/providers/thinking.js +2 -6
  73. package/dist/providers/thinking.js.map +1 -1
  74. package/dist/tools/ask-user.d.ts.map +1 -1
  75. package/dist/tools/ask-user.js +17 -7
  76. package/dist/tools/ask-user.js.map +1 -1
  77. package/dist/tools/edit.d.ts.map +1 -1
  78. package/dist/tools/edit.js +8 -1
  79. package/dist/tools/edit.js.map +1 -1
  80. package/dist/tools/glob.d.ts.map +1 -1
  81. package/dist/tools/glob.js +9 -2
  82. package/dist/tools/glob.js.map +1 -1
  83. package/dist/tools/grep.d.ts +1 -1
  84. package/dist/tools/grep.d.ts.map +1 -1
  85. package/dist/tools/grep.js +29 -6
  86. package/dist/tools/grep.js.map +1 -1
  87. package/dist/tools/index.d.ts +1 -1
  88. package/dist/tools/list-dir.d.ts.map +1 -1
  89. package/dist/tools/list-dir.js.map +1 -1
  90. package/dist/tools/read-file.d.ts.map +1 -1
  91. package/dist/tools/read-file.js +78 -36
  92. package/dist/tools/read-file.js.map +1 -1
  93. package/dist/tools/shell-provider.d.ts +1 -0
  94. package/dist/tools/shell-provider.d.ts.map +1 -1
  95. package/dist/tools/shell-provider.js +7 -0
  96. package/dist/tools/shell-provider.js.map +1 -1
  97. package/dist/tools/shell-utils.d.ts.map +1 -1
  98. package/dist/tools/shell-utils.js +45 -2
  99. package/dist/tools/shell-utils.js.map +1 -1
  100. package/dist/tools/shell.d.ts.map +1 -1
  101. package/dist/tools/shell.js +15 -1
  102. package/dist/tools/shell.js.map +1 -1
  103. package/dist/tools/task.d.ts.map +1 -1
  104. package/dist/tools/task.js +4 -4
  105. package/dist/tools/task.js.map +1 -1
  106. package/dist/tools/todo-write.d.ts.map +1 -1
  107. package/dist/tools/todo-write.js.map +1 -1
  108. package/dist/tools/web-fetch.d.ts +2 -0
  109. package/dist/tools/web-fetch.d.ts.map +1 -1
  110. package/dist/tools/web-fetch.js +92 -27
  111. package/dist/tools/web-fetch.js.map +1 -1
  112. package/dist/tools/write-file.d.ts.map +1 -1
  113. package/dist/tools/write-file.js +7 -1
  114. package/dist/tools/write-file.js.map +1 -1
  115. package/dist/types/index.d.ts +2 -2
  116. package/dist/types/index.d.ts.map +1 -1
  117. package/dist/utils/lru-cache.d.ts +17 -0
  118. package/dist/utils/lru-cache.d.ts.map +1 -0
  119. package/dist/utils/lru-cache.js +40 -0
  120. package/dist/utils/lru-cache.js.map +1 -0
  121. package/dist/utils/media-type.d.ts +5 -0
  122. package/dist/utils/media-type.d.ts.map +1 -0
  123. package/dist/utils/media-type.js +19 -0
  124. package/dist/utils/media-type.js.map +1 -0
  125. package/dist/utils/message-helpers.d.ts +6 -0
  126. package/dist/utils/message-helpers.d.ts.map +1 -0
  127. package/dist/utils/message-helpers.js +14 -0
  128. package/dist/utils/message-helpers.js.map +1 -0
  129. package/package.json +1 -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,12 +1,26 @@
1
1
  import type { ModelMessage } from 'ai';
2
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.
3
+ * Walk `messages` and reconcile tool_call tool_result pairing in BOTH
4
+ * directions. Providers strictly require:
5
+ * - every assistant tool_call to have a paired tool_result
6
+ * - every tool_result to be preceded by an assistant tool_call with
7
+ * the matching toolCallId
8
+ * Either kind of orphan will poison the next API request with a
9
+ * "tool must be a response to a preceding message with tool_calls"
10
+ * (or the converse) error.
11
+ *
12
+ * How the orphans arise:
13
+ * - Forward (tool_call without result): models occasionally emit
14
+ * malformed tool input (e.g. todoWrite with required fields
15
+ * missing). The SDK validates, fails, emits a tool-error event,
16
+ * and in some cases doesn't push a paired tool-result into
17
+ * response.messages. We synthesise an error result.
18
+ * - Reverse (tool_result without preceding tool_call): when the SDK
19
+ * emits `tool-error` mid-stream because the model's tool input
20
+ * failed validation, the SDK may exclude the tool_call from
21
+ * response.messages — but our `processToolCalls` still drains the
22
+ * `result.toolCalls` promise and runs the tool, pushing a
23
+ * tool_result into state.messages. We drop that orphan.
10
24
  *
11
25
  * Mutates `messages` in place. Idempotent (running twice is a no-op).
12
26
  */
@@ -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;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"}
1
+ {"version":3,"file":"tool-result-sanitize.d.ts","sourceRoot":"","sources":["../../src/agent/tool-result-sanitize.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAoDtC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAmEpE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAmC5E"}
@@ -1,22 +1,3 @@
1
- // @x-code-cli/core — Truncate tool-result parts inside ModelMessage arrays
2
- //
3
- // AI SDK auto-executed tools (readFile / grep / glob / listDir / webFetch /
4
- // webSearch) return their results inside `response.messages` as tool-result
5
- // parts. The manual tool path in `tool-execution.ts` runs every output
6
- // through `truncateToolResult`, but auto-executed results bypass that path
7
- // and land in `state.messages` at full size. This module walks the messages
8
- // produced by a completed stream and applies the same per-tool truncation
9
- // policy in-place before they persist into the conversation state.
10
- //
11
- // Policy is per-tool:
12
- // - shell / edit / writeFile: manual path already truncated
13
- // - readFile: head-tail (preserve file start + file end)
14
- // - grep / glob / listDir: head-only (lexical order is meaningful; the tail
15
- // carries no additional signal once the head is representative)
16
- // - webFetch: head-tail (pages often have navigation cruft at top + bottom,
17
- // but the meaningful content is usually the middle. head-tail still beats
18
- // head-only because it preserves the final anchors)
19
- // - default: head-tail
20
1
  import { truncateToolResult } from '../tools/truncate.js';
21
2
  const PER_TOOL_POLICY = {
22
3
  readFile: { direction: 'head-tail' },
@@ -52,13 +33,27 @@ function synthesizeToolErrorResult(toolCallId, toolName, errorMessage) {
52
33
  };
53
34
  }
54
35
  /**
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.
36
+ * Walk `messages` and reconcile tool_call tool_result pairing in BOTH
37
+ * directions. Providers strictly require:
38
+ * - every assistant tool_call to have a paired tool_result
39
+ * - every tool_result to be preceded by an assistant tool_call with
40
+ * the matching toolCallId
41
+ * Either kind of orphan will poison the next API request with a
42
+ * "tool must be a response to a preceding message with tool_calls"
43
+ * (or the converse) error.
44
+ *
45
+ * How the orphans arise:
46
+ * - Forward (tool_call without result): models occasionally emit
47
+ * malformed tool input (e.g. todoWrite with required fields
48
+ * missing). The SDK validates, fails, emits a tool-error event,
49
+ * and in some cases doesn't push a paired tool-result into
50
+ * response.messages. We synthesise an error result.
51
+ * - Reverse (tool_result without preceding tool_call): when the SDK
52
+ * emits `tool-error` mid-stream because the model's tool input
53
+ * failed validation, the SDK may exclude the tool_call from
54
+ * response.messages — but our `processToolCalls` still drains the
55
+ * `result.toolCalls` promise and runs the tool, pushing a
56
+ * tool_result into state.messages. We drop that orphan.
62
57
  *
63
58
  * Mutates `messages` in place. Idempotent (running twice is a no-op).
64
59
  */
@@ -79,7 +74,37 @@ export function repairOrphanToolCalls(messages) {
79
74
  }
80
75
  }
81
76
  }
82
- // Collect every tool_call_id that's already covered by a tool-result.
77
+ // Drop tool-result parts whose toolCallId never appeared in an
78
+ // assistant tool_call (reverse-orphan). When all parts of a tool
79
+ // message are orphans, drop the whole message; when only some are,
80
+ // filter the parts in place.
81
+ for (let i = messages.length - 1; i >= 0; i--) {
82
+ const msg = messages[i];
83
+ if (!msg || msg.role !== 'tool')
84
+ continue;
85
+ if (!Array.isArray(msg.content))
86
+ continue;
87
+ const parts = msg.content;
88
+ const kept = parts.filter((part) => {
89
+ if (part?.type !== 'tool-result')
90
+ return true;
91
+ if (typeof part.toolCallId !== 'string')
92
+ return true;
93
+ return expected.has(part.toolCallId);
94
+ });
95
+ if (kept.length === 0) {
96
+ messages.splice(i, 1);
97
+ }
98
+ else if (kept.length !== parts.length) {
99
+ // AI SDK's narrow union typings forbid the partial part shape we
100
+ // operate on at the type level — we already narrowed at runtime
101
+ // above, so a structural cast is safe here.
102
+ ;
103
+ msg.content = kept;
104
+ }
105
+ }
106
+ // Collect every tool_call_id that's already covered by a tool-result
107
+ // (after the reverse-orphan pass above).
83
108
  const fulfilled = new Set();
84
109
  for (const msg of messages) {
85
110
  if (msg.role !== 'tool')
@@ -92,9 +117,10 @@ export function repairOrphanToolCalls(messages) {
92
117
  }
93
118
  }
94
119
  }
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).
120
+ // Append synthetic results for forward-orphans, preserving overall
121
+ // ordering (forward-orphans always go at the end — they never had a
122
+ // real result, so their position is purely a placeholder for the
123
+ // next API request).
98
124
  for (const id of expected) {
99
125
  if (fulfilled.has(id))
100
126
  continue;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vision-fallback.d.ts","sourceRoot":"","sources":["../../src/agent/vision-fallback.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;CACd;AA0BD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAS1D;AAuBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAyCzF"}
1
+ {"version":3,"file":"vision-fallback.d.ts","sourceRoot":"","sources":["../../src/agent/vision-fallback.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;CACd;AA0BD;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,GAAG,IAAI,CAS1D;AAaD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAyCzF"}
@@ -19,6 +19,8 @@ import { generateText } from 'ai';
19
19
  import { getAvailableProviders } from '../config/index.js';
20
20
  import { createModelRegistry } from '../providers/registry.js';
21
21
  import { debugLog } from '../utils.js';
22
+ import { LruCache } from '../utils/lru-cache.js';
23
+ import { mediaTypeFor } from '../utils/media-type.js';
22
24
  /** Vision-capable model id + display label per provider. Models picked to
23
25
  * favor cheap / free-tier offerings — the goal is a quick caption, not
24
26
  * deep analysis. */
@@ -58,24 +60,11 @@ export function pickVisionProvider() {
58
60
  }
59
61
  return null;
60
62
  }
61
- /** Same media-type mapping as file-ingest.ts uses for ImagePart hints. */
62
- function mediaTypeFor(filePath) {
63
- const ext = path.extname(filePath).toLowerCase();
64
- if (ext === '.jpg' || ext === '.jpeg')
65
- return 'image/jpeg';
66
- if (ext === '.webp')
67
- return 'image/webp';
68
- if (ext === '.gif')
69
- return 'image/gif';
70
- if (ext === '.bmp')
71
- return 'image/bmp';
72
- return 'image/png';
73
- }
74
63
  /** In-memory cache so re-attaching the same image (or the same image across
75
64
  * multiple submits in one session) doesn't re-burn tokens on the sub-agent.
76
65
  * Keyed by `${providerId}:${file size}:${first-64-bytes-base64}` — same
77
66
  * cheap collision-resistant key strategy provider-compat.ts uses for OCR. */
78
- const captionCache = new Map();
67
+ const captionCache = new LruCache({ maxEntries: 50 });
79
68
  async function cacheKey(filePath, providerModelId) {
80
69
  const buffer = await fs.readFile(filePath);
81
70
  return `${providerModelId}:${buffer.length}:${buffer.subarray(0, 64).toString('base64')}`;
@@ -1 +1 @@
1
- {"version":3,"file":"vision-fallback.js","sourceRoot":"","sources":["../../src/agent/vision-fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vision-fallback.js","sourceRoot":"","sources":["../../src/agent/vision-fallback.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,14 @@ export { toolRegistry, truncateToolResult } from './tools/index.js';
22
22
  export { getShellProvider } from './tools/shell-provider.js';
23
23
  export type { ShellProvider, ShellType } from './tools/shell-provider.js';
24
24
  export { checkPermission, getPermissionLevel } from './permissions/index.js';
25
+ export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './permissions/index.js';
26
+ export { extractCommandPrefix, suggestRuleLabel } from './permissions/index.js';
27
+ export { loadPersistedRules, persistRule } from './permissions/index.js';
28
+ export type { AllowRule } from './permissions/session-store.js';
25
29
  export { GLOBAL_XCODE_DIR, XCODE_DIR, debugLog } from './utils.js';
30
+ export { LruCache } from './utils/lru-cache.js';
31
+ export { mediaTypeFor } from './utils/media-type.js';
32
+ export { extractText } from './utils/message-helpers.js';
26
33
  export { buildKnowledgeContext } from './knowledge/loader.js';
27
34
  export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
28
35
  export { generateSessionSummary } from './knowledge/session.js';
@@ -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":"AAGA,YAAY,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,QAAQ,EACR,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,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,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;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;AAC5E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACxE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAGxD,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;AAGjD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC7G,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAInG,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA"}
package/dist/index.js CHANGED
@@ -20,8 +20,14 @@ export { toolRegistry, truncateToolResult } from './tools/index.js';
20
20
  export { getShellProvider } from './tools/shell-provider.js';
21
21
  // Permissions
22
22
  export { checkPermission, getPermissionLevel } from './permissions/index.js';
23
+ export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './permissions/index.js';
24
+ export { extractCommandPrefix, suggestRuleLabel } from './permissions/index.js';
25
+ export { loadPersistedRules, persistRule } from './permissions/index.js';
23
26
  // Utils
24
27
  export { GLOBAL_XCODE_DIR, XCODE_DIR, debugLog } from './utils.js';
28
+ export { LruCache } from './utils/lru-cache.js';
29
+ export { mediaTypeFor } from './utils/media-type.js';
30
+ export { extractText } from './utils/message-helpers.js';
25
31
  // Knowledge
26
32
  export { buildKnowledgeContext } from './knowledge/loader.js';
27
33
  export { getAutoMemory, initMemories } from './knowledge/auto-memory.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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
+ {"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;AAC5E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGxE,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,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"}
@@ -2,14 +2,19 @@ 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
+ /** True when `filePath` is inside `projectDir` (or equals it). Normalizes
6
+ * both to forward-slash lower-case so Windows drive-letter differences and
7
+ * trailing separators don't cause false negatives. */
8
+ export declare function isPathWithinProject(filePath: string, projectDir: string): boolean;
5
9
  /** Check permission with trust mode + permission-mode support.
6
10
  *
7
11
  * `permissionMode` semantics:
8
12
  * - '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
+ * - 'acceptEdits': auto-allow `writeFile` and `edit` **only if the
14
+ * target path is inside the project directory** and not a sensitive
15
+ * dotfile. Paths outside cwd or targeting .bashrc/.git/etc. fall
16
+ * back to `ask` so the user must explicitly consent. Shell still
17
+ * goes through normal classification so destructive commands stay
13
18
  * gated, and `deny`-level results still deny.
14
19
  * - 'plan': pure prompt-based enforcement (mirrors Claude Code) —
15
20
  * no permission-layer change. The system-prompt overlay tells the
@@ -26,6 +31,8 @@ export declare function checkPermission(toolCall: {
26
31
  toolCallId: string;
27
32
  toolName: string;
28
33
  input: PermissionInput;
29
- }) => Promise<boolean>, permissionMode?: PermissionMode): Promise<boolean>;
30
- export {};
34
+ }) => Promise<'yes' | 'always' | 'no'>, permissionMode?: PermissionMode, cwd?: string): Promise<boolean>;
35
+ export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './session-store.js';
36
+ export { extractCommandPrefix, suggestRuleLabel } from './session-store.js';
37
+ export { loadPersistedRules, persistRule } from './session-store.js';
31
38
  //# 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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGxE,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;AAmBD;;uDAEuD;AACvD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAKjF;AAMD;;;;;;;;;;;;;;;;uBAgBuB;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;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,eAAe,CAAA;CACvB,KAAK,OAAO,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,EACtC,cAAc,GAAE,cAA0B,EAC1C,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAwBlB;AAED,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAC3F,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,5 +1,7 @@
1
1
  // @x-code-cli/core — Permission system (3-level model)
2
+ import path from 'node:path';
2
3
  import { isDestructive, isReadOnly, splitShellCommands } from '../tools/shell-utils.js';
4
+ import { addSessionAllowRule, buildAllowRule, persistRule, sessionRulesMatch } from './session-store.js';
3
5
  /**
4
6
  * Cache of resolved shell permission levels keyed by the exact command string.
5
7
  * Destructiveness / read-only patterns are static for the process lifetime,
@@ -55,14 +57,43 @@ export function getPermissionLevel(toolName, input) {
55
57
  return 'ask'; // Unknown tool defaults to ask
56
58
  return rule(input);
57
59
  }
60
+ // ── Path safety for write tools ──
61
+ // Sensitive dotfile / config paths that should never be auto-approved even
62
+ // when acceptEdits is active. Matches Claude Code's isDangerousFilePathToAutoEdit.
63
+ const SENSITIVE_PATH_PATTERNS = [
64
+ /[\\/]\.bashrc$/,
65
+ /[\\/]\.bash_profile$/,
66
+ /[\\/]\.profile$/,
67
+ /[\\/]\.zshrc$/,
68
+ /[\\/]\.zprofile$/,
69
+ /[\\/]\.gitconfig$/,
70
+ /[\\/]\.ssh[\\/]/,
71
+ /[\\/]\.env$/,
72
+ /[\\/]\.git[\\/]/,
73
+ /[\\/]\.vscode[\\/]/,
74
+ /[\\/]\.idea[\\/]/,
75
+ ];
76
+ /** True when `filePath` is inside `projectDir` (or equals it). Normalizes
77
+ * both to forward-slash lower-case so Windows drive-letter differences and
78
+ * trailing separators don't cause false negatives. */
79
+ export function isPathWithinProject(filePath, projectDir) {
80
+ const normalize = (p) => path.resolve(p).replace(/\\/g, '/').toLowerCase();
81
+ const file = normalize(filePath);
82
+ const dir = normalize(projectDir);
83
+ return file === dir || file.startsWith(dir + '/');
84
+ }
85
+ function isSensitivePath(filePath) {
86
+ return SENSITIVE_PATH_PATTERNS.some((re) => re.test(filePath));
87
+ }
58
88
  /** Check permission with trust mode + permission-mode support.
59
89
  *
60
90
  * `permissionMode` semantics:
61
91
  * - '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
92
+ * - 'acceptEdits': auto-allow `writeFile` and `edit` **only if the
93
+ * target path is inside the project directory** and not a sensitive
94
+ * dotfile. Paths outside cwd or targeting .bashrc/.git/etc. fall
95
+ * back to `ask` so the user must explicitly consent. Shell still
96
+ * goes through normal classification so destructive commands stay
66
97
  * gated, and `deny`-level results still deny.
67
98
  * - 'plan': pure prompt-based enforcement (mirrors Claude Code) —
68
99
  * no permission-layer change. The system-prompt overlay tells the
@@ -71,15 +102,35 @@ export function getPermissionLevel(toolName, input) {
71
102
  *
72
103
  * Trust mode is the global override and beats everything except an
73
104
  * explicit `deny`. */
74
- export async function checkPermission(toolCall, trustMode, onAskPermission, permissionMode = 'default') {
105
+ export async function checkPermission(toolCall, trustMode, onAskPermission, permissionMode = 'default', cwd) {
75
106
  const level = getPermissionLevel(toolCall.toolName, toolCall.input);
76
107
  if (level === 'deny')
77
108
  return false;
78
109
  if (level === 'always-allow' || trustMode)
79
110
  return true;
80
111
  if (permissionMode === 'acceptEdits' && (toolCall.toolName === 'writeFile' || toolCall.toolName === 'edit')) {
112
+ const filePath = toolCall.input.filePath ?? '';
113
+ const projectDir = cwd ?? process.cwd();
114
+ if (filePath && isPathWithinProject(filePath, projectDir) && !isSensitivePath(filePath)) {
115
+ return true;
116
+ }
117
+ // Path outside project or targeting sensitive file — fall through to ask
118
+ }
119
+ if (sessionRulesMatch(toolCall.toolName, toolCall.input))
120
+ return true;
121
+ const decision = await onAskPermission(toolCall);
122
+ if (decision === 'always') {
123
+ const result = buildAllowRule(toolCall.toolName, toolCall.input);
124
+ if (result) {
125
+ addSessionAllowRule(result.rule);
126
+ if (result.persist && cwd)
127
+ persistRule(cwd, result.rule);
128
+ }
81
129
  return true;
82
130
  }
83
- return onAskPermission(toolCall);
131
+ return decision === 'yes';
84
132
  }
133
+ export { addSessionAllowRule, clearSessionRules, buildAllowRule } from './session-store.js';
134
+ export { extractCommandPrefix, suggestRuleLabel } from './session-store.js';
135
+ export { loadPersistedRules, persistRule } from './session-store.js';
85
136
  //# 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;;;;;;;;;;;;;;;uBAeuB;AACvB,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA0E,EAC1E,SAAkB,EAClB,eAAiH,EACjH,iBAAiC,SAAS;IAE1C,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,IAAI,cAAc,KAAK,aAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC;QAC5G,OAAO,IAAI,CAAA;IACb,CAAC;IACD,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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"}
@@ -0,0 +1,74 @@
1
+ export interface AllowRule {
2
+ tool: string;
3
+ pattern: string;
4
+ type: 'exact' | 'prefix' | 'tool';
5
+ }
6
+ /**
7
+ * Extract a command prefix suitable for prefix-match rules.
8
+ * Returns `null` when no meaningful prefix can be derived.
9
+ *
10
+ * 'git commit -m "fix"' → 'git commit'
11
+ * 'pnpm run build' → 'pnpm run'
12
+ * 'npm install lodash' → 'npm install'
13
+ * 'NODE_ENV=prod npm run dev' → 'npm run'
14
+ * 'powershell -Command "Get-CimInstance ..."' → 'Get-CimInstance'
15
+ * 'powershell -NoProfile -Command "Get-CimInstance ..."' → 'Get-CimInstance'
16
+ * 'powershell -ExecutionPolicy Bypass -c "git status"' → 'git'
17
+ * 'pwsh -Command "& { Get-Process }"' → 'Get-Process'
18
+ * 'powershell -Command Get-Date' → 'Get-Date'
19
+ * 'ls -la' → null
20
+ * '' → null
21
+ */
22
+ export declare function extractCommandPrefix(command: string): string | null;
23
+ /**
24
+ * Generate the display label for the "don't ask again" option.
25
+ * Returns `null` only for tools where a "don't ask again" affordance
26
+ * makes no sense (enterPlanMode toggles a mode, not a recurring action).
27
+ *
28
+ * Shell with derivable prefix: `git commit:*`
29
+ * Shell without derivable prefix: `this exact command` (exact-match rule —
30
+ * covers Windows-style commands like `findstr /n …`, `cmd /c …`,
31
+ * `dir /b`, where the second token is a `/flag` or path that fails
32
+ * the prefix regex; without this fallback the user gets only Yes/No
33
+ * forever for repeated identical commands).
34
+ * Write tools (writeFile / edit): `all edits this session` (session-only)
35
+ */
36
+ export declare function suggestRuleLabel(toolName: string, input: Record<string, unknown>): string | null;
37
+ /**
38
+ * Build the AllowRule for a "don't ask again" approval.
39
+ *
40
+ * - Shell with derivable prefix (e.g. `git commit`) → prefix rule, persisted
41
+ * - Shell without derivable prefix → exact-match rule,
42
+ * persisted (mirrors Claude Code's `suggestionForExactCommand`
43
+ * fallback in `bashPermissions.ts`). Less reusable than a prefix rule
44
+ * (any arg change breaks the match) but at least suppresses repeated
45
+ * identical invocations — better than "Yes/No forever". The matcher
46
+ * compares against `stripEnvVars(cmd)` so leading `NODE_ENV=…` etc.
47
+ * don't defeat the rule.
48
+ * - writeFile / edit → tool-wide allow,
49
+ * session-only (matches Claude Code).
50
+ *
51
+ * `persist` indicates whether the rule should be saved to disk. Write
52
+ * tools return persist=false; everything else returns persist=true.
53
+ * Returns `null` only for the very few cases where no rule shape applies
54
+ * (currently nothing — kept in the signature so callers stay defensive).
55
+ */
56
+ export declare function buildAllowRule(toolName: string, input: Record<string, unknown>): {
57
+ rule: AllowRule;
58
+ persist: boolean;
59
+ } | null;
60
+ export declare function addSessionAllowRule(rule: AllowRule): void;
61
+ export declare function sessionRulesMatch(toolName: string, input: Record<string, unknown>): boolean;
62
+ export declare function clearSessionRules(): void;
63
+ /**
64
+ * Load persisted permission rules from `.x-code/local/permissions.json`
65
+ * into the in-memory store. Safe to call multiple times (deduplicates).
66
+ * Silently no-ops if the file doesn't exist or is malformed.
67
+ */
68
+ export declare function loadPersistedRules(cwd: string): void;
69
+ /**
70
+ * Persist a new rule to `.x-code/local/permissions.json`.
71
+ * Creates the file if it doesn't exist. Appends without duplicating.
72
+ */
73
+ export declare function persistRule(cwd: string, rule: AllowRule): void;
74
+ //# sourceMappingURL=session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-store.d.ts","sourceRoot":"","sources":["../../src/permissions/session-store.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;CAClC;AAgBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0DnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAShG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAc9C;AA2ED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAEzD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAE3F;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAoBpD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAsB9D"}