@aria_asi/cli 0.2.19 → 0.2.22
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.
- package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +31 -6
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-web/src/lib/codebase-scanner.d.ts +43 -8
- package/dist/aria-web/src/lib/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-web/src/lib/codebase-scanner.js +133 -72
- package/dist/aria-web/src/lib/codebase-scanner.js.map +1 -1
- package/dist/sdk/BUNDLED.json +1 -1
- package/dist/sdk/index.js +1 -2
- package/hooks/aria-agent-handoff.mjs +153 -0
- package/hooks/aria-agent-ledger-merge.mjs +164 -0
- package/hooks/aria-harness-via-sdk.mjs +12 -1
- package/hooks/aria-pre-tool-gate.mjs +7 -4
- package/hooks/aria-stop-gate.mjs +2 -1
- package/hooks/test-tier-lens-labeling.mjs +3 -1
- package/package.json +1 -1
- package/src/connectors/claude-code.ts +56 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../../src/connectors/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../../src/connectors/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAwU/C,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CA+DnB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAoB9D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync, copyFileSync, chmodSync, mkdirSync } from 'fs';
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, copyFileSync, chmodSync, mkdirSync, readdirSync, statSync } from 'fs';
|
|
2
2
|
import { homedir } from 'os';
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
@@ -27,6 +27,9 @@ const HOOK_FILES = [
|
|
|
27
27
|
'aria-preprompt-consult.mjs',
|
|
28
28
|
'aria-trigger-autolearn.mjs',
|
|
29
29
|
'aria-userprompt-abandon-detect.mjs',
|
|
30
|
+
// Sub-agent handoff + ledger merge — installed 0.2.21
|
|
31
|
+
'aria-agent-handoff.mjs',
|
|
32
|
+
'aria-agent-ledger-merge.mjs',
|
|
30
33
|
'doctrine_trigger_map.json',
|
|
31
34
|
];
|
|
32
35
|
// Compiled location: <pkg>/dist/aria-connector/src/connectors/claude-code.js
|
|
@@ -109,7 +112,8 @@ const HOOKS_BLOCK = {
|
|
|
109
112
|
},
|
|
110
113
|
],
|
|
111
114
|
}],
|
|
112
|
-
PreToolUse: [
|
|
115
|
+
PreToolUse: [
|
|
116
|
+
{
|
|
113
117
|
// Matcher widened from 'Bash' (Hamza 2026-04-26): cognition gate
|
|
114
118
|
// applies to every state-mutating tool, not just shell. Edit / Write
|
|
115
119
|
// / NotebookEdit get the same enforcement so orchestrator-side
|
|
@@ -137,6 +141,28 @@ const HOOKS_BLOCK = {
|
|
|
137
141
|
timeout: 5,
|
|
138
142
|
},
|
|
139
143
|
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
// Sub-agent handoff: fires before every Agent spawn so the sub-agent
|
|
147
|
+
// inherits owner/client-tier identity + parent ledger path.
|
|
148
|
+
// Tier protection is inside the hook — client paths never touch ~/.claude/.
|
|
149
|
+
matcher: 'Agent',
|
|
150
|
+
hooks: [{
|
|
151
|
+
type: 'command',
|
|
152
|
+
command: 'node $HOME/.claude/hooks/aria-agent-handoff.mjs',
|
|
153
|
+
timeout: 5,
|
|
154
|
+
statusMessage: 'Writing sub-agent handoff...',
|
|
155
|
+
}],
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
PostToolUse: [{
|
|
159
|
+
matcher: 'Agent',
|
|
160
|
+
hooks: [{
|
|
161
|
+
type: 'command',
|
|
162
|
+
command: 'node $HOME/.claude/hooks/aria-agent-ledger-merge.mjs',
|
|
163
|
+
timeout: 8,
|
|
164
|
+
statusMessage: 'Merging sub-agent ledger...',
|
|
165
|
+
}],
|
|
140
166
|
}],
|
|
141
167
|
Stop: [{
|
|
142
168
|
// Stop gate — text-decision boundary. Reflexive replies fail this
|
|
@@ -212,10 +238,9 @@ function installSdk(claudeDir, logs) {
|
|
|
212
238
|
mkdirSync(sdkDst, { recursive: true, mode: 0o700 });
|
|
213
239
|
}
|
|
214
240
|
let copied = 0;
|
|
215
|
-
const
|
|
216
|
-
for (const name of fs.readdirSync(sdkSrc)) {
|
|
241
|
+
for (const name of readdirSync(sdkSrc)) {
|
|
217
242
|
const src = path.join(sdkSrc, name);
|
|
218
|
-
const stat =
|
|
243
|
+
const stat = statSync(src);
|
|
219
244
|
if (!stat.isFile())
|
|
220
245
|
continue;
|
|
221
246
|
const dst = path.join(sdkDst, name);
|
|
@@ -276,7 +301,7 @@ function wireHooksBlock(settings, logs) {
|
|
|
276
301
|
if (!settings.$schema) {
|
|
277
302
|
settings.$schema = 'https://json.schemastore.org/claude-code-settings.json';
|
|
278
303
|
}
|
|
279
|
-
logs.push(`Wired hooks into settings.json (${mergedEvents} events: SessionStart, UserPromptSubmit, PreToolUse [cognition+memory-gate], Stop) — merge-safe, preserves third-party entries`);
|
|
304
|
+
logs.push(`Wired hooks into settings.json (${mergedEvents} events: SessionStart, UserPromptSubmit, PreToolUse [cognition+memory-gate+Agent-handoff], PostToolUse [Agent-ledger-merge], Stop) — merge-safe, preserves third-party entries`);
|
|
280
305
|
}
|
|
281
306
|
function buildAriaSystemBlock(config) {
|
|
282
307
|
const repoList = config.repositories.map((r) => `- ${r.name} (${r.path})`).join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../../src/connectors/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,wEAAwE;AACxE,sEAAsE;AACtE,yEAAyE;AACzE,oEAAoE;AACpE,uEAAuE;AACvE,4CAA4C;AAC5C,EAAE;AACF,mEAAmE;AACnE,sEAAsE;AACtE,sDAAsD;AACtD,EAAE;AACF,qEAAqE;AACrE,gEAAgE;AAChE,wEAAwE;AACxE,gEAAgE;AAChE,sEAAsE;AACtE,oCAAoC;AACpC,MAAM,UAAU,GAAG;IACjB,0BAA0B;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,oBAAoB;IACpB,4BAA4B;IAC5B,4BAA4B;IAC5B,oCAAoC;IACpC,2BAA2B;CAC5B,CAAC;AACF,6EAA6E;AAC7E,uEAAuE;AACvE,eAAe;AACf,0BAA0B;AAC1B,gBAAgB;AAChB,iBAAiB;AACjB,gDAAgD;AAChD,kEAAkE;AAClE,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,oEAAoE;AACpE,wEAAwE;AACxE,mDAAmD;AACnD,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,oEAAoE;AACpE,eAAe;AACf,MAAM,WAAW,GAAG;IAClB,YAAY,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,+FAA+F;oBACxG,OAAO,EAAE,EAAE;oBACX,aAAa,EAAE,iCAAiC;iBACjD,CAAC;SACH,CAAC;IACF,gBAAgB,EAAE,CAAC;YACjB,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,gGAAgG;oBACzG,OAAO,EAAE,CAAC;oBACV,aAAa,EAAE,4BAA4B;iBAC5C;gBACD;oBACE,+DAA+D;oBAC/D,6DAA6D;oBAC7D,+DAA+D;oBAC/D,+DAA+D;oBAC/D,uBAAuB;oBACvB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,qDAAqD;oBAC9D,OAAO,EAAE,EAAE;oBACX,aAAa,EAAE,gDAAgD;iBAChE;gBACD;oBACE,mEAAmE;oBACnE,+DAA+D;oBAC/D,0EAA0E;oBAC1E,qEAAqE;oBACrE,qEAAqE;oBACrE,yCAAyC;oBACzC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,qDAAqD;oBAC9D,OAAO,EAAE,CAAC;iBACX;gBACD;oBACE,kEAAkE;oBAClE,iEAAiE;oBACjE,qEAAqE;oBACrE,qEAAqE;oBACrE,uEAAuE;oBACvE,qEAAqE;oBACrE,uDAAuD;oBACvD,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6DAA6D;oBACtE,OAAO,EAAE,CAAC;iBACX;aACF;SACF,CAAC;IACF,UAAU,EAAE,CAAC;YACX,iEAAiE;YACjE,qEAAqE;YACrE,+DAA+D;YAC/D,kDAAkD;YAClD,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,iDAAiD;oBAC1D,OAAO,EAAE,CAAC;iBACX;gBACD;oBACE,4DAA4D;oBAC5D,iEAAiE;oBACjE,sDAAsD;oBACtD,wDAAwD;oBACxD,wEAAwE;oBACxE,uEAAuE;oBACvE,oEAAoE;oBACpE,+DAA+D;oBAC/D,qEAAqE;oBACrE,qCAAqC;oBACrC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,uDAAuD;oBAChE,OAAO,EAAE,CAAC;iBACX;aACF;SACF,CAAC;IACF,IAAI,EAAE,CAAC;YACL,kEAAkE;YAClE,4DAA4D;YAC5D,4CAA4C;YAC5C,KAAK,EAAE,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6CAA6C;oBACtD,OAAO,EAAE,CAAC;iBACX,CAAC;SACH,CAAC;CACH,CAAC;AAEF,SAAS,YAAY,CAAC,SAAiB,EAAE,IAAc,EAAE,OAA4B,EAAE;IACrF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,0BAA0B,GAAG,8BAA8B,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC5C,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC9C,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;oBACrC,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,sCAAsC,CAAA,CAAC;QAClD,CAAC;QACD,oEAAoE;QACpE,oCAAoC;QACpC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,GAAG,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACjH,CAAC;QACD,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,oEAAoE;QACpE,wEAAwE;QACxE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC;gBAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,2DAA2D;AAC3D,SAAS,UAAU,CAAC,SAAiB,EAAE,IAAc;IACnD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,yBAAyB,MAAM,sBAAsB,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAwB,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,SAAS;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,MAAM,EAAE,CAAC;IACX,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,MAAM,aAAa,MAAM,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,QAAiC,EAAE,IAAc;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,gEAAgE;IAChE,kEAAkE;IAClE,+DAA+D;IAC/D,wCAAwC;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1D,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAkC,CAAC;IAC1D,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,UAAU,GAAI,QAAiC,CAAC,OAAO,IAAI,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,CAAE,QAAoD,CAAC,KAAK,IAAI,EAAE,CAAC;iBACpF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBACrB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YACrD,kEAAkE;YAClE,8DAA8D;YAC9D,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC;gBACtD,MAAM,QAAQ,GAAI,CAA0B,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC3D,IAAI,QAAQ,KAAK,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAC1C,MAAM,SAAS,GAAG,CAAE,CAA6C,CAAC,KAAK,IAAI,EAAE,CAAC;qBAC3E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;gBACrD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC;QAC/B,YAAY,EAAE,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,iEAAiE;IACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,QAAQ,CAAC,OAAO,GAAG,wDAAwD,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,mCAAmC,YAAY,gIAAgI,CAAC,CAAC;AAC7L,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;SACnD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,KAAK,EAAE,CAAC;SAC7C,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;;;;;;;;;;;;;;;EAeP,QAAQ,IAAI,iDAAiD;;;EAG7D,UAAU,IAAI,+CAA+C;;;;;;;0BAOrC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,OAA4B,EAAE;IAE9B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAE3C,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,kBAAkB,KAAK,QAAQ;QAC9D,CAAC,CAAC,QAAQ,CAAC,kBAAkB;QAC7B,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,kBAAkB,GAAG,QAAQ;YACpC,CAAC,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE;YAC/B,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACzE,CAAC;IAED,sEAAsE;IACtE,oEAAoE;IACpE,iCAAiC;IACjC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YACvE,IAAI,OAAO,YAAY,CAAC,qBAAqB,KAAK,WAAW,EAAE,CAAC;gBAC9D,YAAY,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAC1C,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjD,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAEtE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,IAAI,OAAO,QAAQ,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QACpD,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAC/D,gDAAgD,EAChD,EAAE,CACH,CAAC,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../../src/connectors/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,wEAAwE;AACxE,sEAAsE;AACtE,yEAAyE;AACzE,oEAAoE;AACpE,uEAAuE;AACvE,4CAA4C;AAC5C,EAAE;AACF,mEAAmE;AACnE,sEAAsE;AACtE,sDAAsD;AACtD,EAAE;AACF,qEAAqE;AACrE,gEAAgE;AAChE,wEAAwE;AACxE,gEAAgE;AAChE,sEAAsE;AACtE,oCAAoC;AACpC,MAAM,UAAU,GAAG;IACjB,0BAA0B;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,oBAAoB;IACpB,4BAA4B;IAC5B,4BAA4B;IAC5B,oCAAoC;IACpC,sDAAsD;IACtD,wBAAwB;IACxB,6BAA6B;IAC7B,2BAA2B;CAC5B,CAAC;AACF,6EAA6E;AAC7E,uEAAuE;AACvE,eAAe;AACf,0BAA0B;AAC1B,gBAAgB;AAChB,iBAAiB;AACjB,gDAAgD;AAChD,kEAAkE;AAClE,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,oEAAoE;AACpE,wEAAwE;AACxE,mDAAmD;AACnD,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,wDAAwD;AACxD,kEAAkE;AAClE,+DAA+D;AAC/D,oEAAoE;AACpE,eAAe;AACf,MAAM,WAAW,GAAG;IAClB,YAAY,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,+FAA+F;oBACxG,OAAO,EAAE,EAAE;oBACX,aAAa,EAAE,iCAAiC;iBACjD,CAAC;SACH,CAAC;IACF,gBAAgB,EAAE,CAAC;YACjB,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,gGAAgG;oBACzG,OAAO,EAAE,CAAC;oBACV,aAAa,EAAE,4BAA4B;iBAC5C;gBACD;oBACE,+DAA+D;oBAC/D,6DAA6D;oBAC7D,+DAA+D;oBAC/D,+DAA+D;oBAC/D,uBAAuB;oBACvB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,qDAAqD;oBAC9D,OAAO,EAAE,EAAE;oBACX,aAAa,EAAE,gDAAgD;iBAChE;gBACD;oBACE,mEAAmE;oBACnE,+DAA+D;oBAC/D,0EAA0E;oBAC1E,qEAAqE;oBACrE,qEAAqE;oBACrE,yCAAyC;oBACzC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,qDAAqD;oBAC9D,OAAO,EAAE,CAAC;iBACX;gBACD;oBACE,kEAAkE;oBAClE,iEAAiE;oBACjE,qEAAqE;oBACrE,qEAAqE;oBACrE,uEAAuE;oBACvE,qEAAqE;oBACrE,uDAAuD;oBACvD,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6DAA6D;oBACtE,OAAO,EAAE,CAAC;iBACX;aACF;SACF,CAAC;IACF,UAAU,EAAE;QACV;YACE,iEAAiE;YACjE,qEAAqE;YACrE,+DAA+D;YAC/D,kDAAkD;YAClD,OAAO,EAAE,8BAA8B;YACvC,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,iDAAiD;oBAC1D,OAAO,EAAE,CAAC;iBACX;gBACD;oBACE,4DAA4D;oBAC5D,iEAAiE;oBACjE,sDAAsD;oBACtD,wDAAwD;oBACxD,wEAAwE;oBACxE,uEAAuE;oBACvE,oEAAoE;oBACpE,+DAA+D;oBAC/D,qEAAqE;oBACrE,qCAAqC;oBACrC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,uDAAuD;oBAChE,OAAO,EAAE,CAAC;iBACX;aACF;SACF;QACD;YACE,qEAAqE;YACrE,4DAA4D;YAC5D,4EAA4E;YAC5E,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,iDAAiD;oBAC1D,OAAO,EAAE,CAAC;oBACV,aAAa,EAAE,8BAA8B;iBAC9C,CAAC;SACH;KACF;IACD,WAAW,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,sDAAsD;oBAC/D,OAAO,EAAE,CAAC;oBACV,aAAa,EAAE,6BAA6B;iBAC7C,CAAC;SACH,CAAC;IACF,IAAI,EAAE,CAAC;YACL,kEAAkE;YAClE,4DAA4D;YAC5D,4CAA4C;YAC5C,KAAK,EAAE,CAAC;oBACN,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6CAA6C;oBACtD,OAAO,EAAE,CAAC;iBACX,CAAC;SACH,CAAC;CACH,CAAC;AAEF,SAAS,YAAY,CAAC,SAAiB,EAAE,IAAc,EAAE,OAA4B,EAAE;IACrF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,0BAA0B,GAAG,8BAA8B,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC5C,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC9C,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;oBACrC,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,sCAAsC,CAAA,CAAC;QAClD,CAAC;QACD,oEAAoE;QACpE,oCAAoC;QACpC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,GAAG,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACjH,CAAC;QACD,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,oEAAoE;QACpE,wEAAwE;QACxE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC;gBAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,2DAA2D;AAC3D,SAAS,UAAU,CAAC,SAAiB,EAAE,IAAc;IACnD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,yBAAyB,MAAM,sBAAsB,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,SAAS;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,MAAM,EAAE,CAAC;IACX,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,MAAM,aAAa,MAAM,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,QAAiC,EAAE,IAAc;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,gEAAgE;IAChE,kEAAkE;IAClE,+DAA+D;IAC/D,wCAAwC;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1D,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAkC,CAAC;IAC1D,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,UAAU,GAAI,QAAiC,CAAC,OAAO,IAAI,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,CAAE,QAAoD,CAAC,KAAK,IAAI,EAAE,CAAC;iBACpF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBACrB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YACrD,kEAAkE;YAClE,8DAA8D;YAC9D,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC;gBACtD,MAAM,QAAQ,GAAI,CAA0B,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC3D,IAAI,QAAQ,KAAK,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAC1C,MAAM,SAAS,GAAG,CAAE,CAA6C,CAAC,KAAK,IAAI,EAAE,CAAC;qBAC3E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;gBACrD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC;QAC/B,YAAY,EAAE,CAAC;IACjB,CAAC;IACD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,iEAAiE;IACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,QAAQ,CAAC,OAAO,GAAG,wDAAwD,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,mCAAmC,YAAY,gLAAgL,CAAC,CAAC;AAC7O,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAkB;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;SACnD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,KAAK,EAAE,CAAC;SAC7C,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;;;;;;;;;;;;;;;EAeP,QAAQ,IAAI,iDAAiD;;;EAG7D,UAAU,IAAI,+CAA+C;;;;;;;0BAOrC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,OAA4B,EAAE;IAE9B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAE3C,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,kBAAkB,KAAK,QAAQ;QAC9D,CAAC,CAAC,QAAQ,CAAC,kBAAkB;QAC7B,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,kBAAkB,GAAG,QAAQ;YACpC,CAAC,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE;YAC/B,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACzE,CAAC;IAED,sEAAsE;IACtE,oEAAoE;IACpE,iCAAiC;IACjC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YACvE,IAAI,OAAO,YAAY,CAAC,qBAAqB,KAAK,WAAW,EAAE,CAAC;gBAC9D,YAAY,CAAC,qBAAqB,GAAG,EAAE,CAAC;YAC1C,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjD,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAEtE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,IAAI,OAAO,QAAQ,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QACpD,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAC/D,gDAAgD,EAChD,EAAE,CACH,CAAC,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -99,20 +99,55 @@ export declare function scanCodebase(rootPath: string): Promise<SchemaImage>;
|
|
|
99
99
|
* @returns A compressed text block describing the codebase.
|
|
100
100
|
*/
|
|
101
101
|
export declare function schemaImageToText(image: SchemaImage): string;
|
|
102
|
+
/** Backend actually in use after watcher resolution. Surfaced for diagnostics. */
|
|
103
|
+
export type WatchMode = 'chokidar' | 'fs-watch-recursive' | 'poll';
|
|
104
|
+
/** Source of a change event the watcher saw — scan errors are reported with `phase: 'scan'`. */
|
|
105
|
+
export interface WatchError {
|
|
106
|
+
phase: 'init' | 'scan' | 'backend';
|
|
107
|
+
error: Error;
|
|
108
|
+
}
|
|
109
|
+
export interface WatchOptions {
|
|
110
|
+
/** Debounce window for collapsing burst changes before re-scan. Default 500ms. */
|
|
111
|
+
debounceMs?: number;
|
|
112
|
+
/** Poll cadence used only when both chokidar and recursive fs.watch are unavailable. Default 5_000ms. */
|
|
113
|
+
pollIntervalMs?: number;
|
|
114
|
+
/** Emit an initial onChange with the first scan before any file events arrive. */
|
|
115
|
+
emitInitial?: boolean;
|
|
116
|
+
/** Surface scan / backend failures instead of swallowing them. */
|
|
117
|
+
onError?: (err: WatchError) => void;
|
|
118
|
+
/** Tear the watcher down externally. */
|
|
119
|
+
signal?: AbortSignal;
|
|
120
|
+
/** Additional glob-or-regex paths to ignore on top of the defaults. */
|
|
121
|
+
extraIgnored?: ReadonlyArray<string | RegExp>;
|
|
122
|
+
/** Notified once after the backend is fully wired and the first listener attached. */
|
|
123
|
+
onReady?: (mode: WatchMode) => void;
|
|
124
|
+
}
|
|
125
|
+
export interface WatchHandle {
|
|
126
|
+
/** Stop the watcher and release all resources. Idempotent. */
|
|
127
|
+
stop: () => void;
|
|
128
|
+
/** Backend the watcher resolved to. Useful for "did chokidar load?" diagnostics. */
|
|
129
|
+
readonly mode: WatchMode;
|
|
130
|
+
}
|
|
102
131
|
/**
|
|
103
132
|
* Watch a codebase directory for changes and re-scan automatically.
|
|
104
133
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* (
|
|
134
|
+
* Backend resolution order:
|
|
135
|
+
* 1. chokidar (preferred — reliable cross-platform recursive watching).
|
|
136
|
+
* 2. Recursive `fs.watch` (Linux requires Node ≥ 20).
|
|
137
|
+
* 3. Polling on `pollIntervalMs` (last-resort, used when neither above works).
|
|
138
|
+
*
|
|
139
|
+
* Scan concurrency is single-flight: while a scan is in-flight, additional
|
|
140
|
+
* change events set a "rescan-pending" flag and a single follow-up scan runs
|
|
141
|
+
* after the current one resolves. This prevents a slow scanCodebase call (large
|
|
142
|
+
* monorepo cold cache) from being entered concurrently when bursts of changes
|
|
143
|
+
* fire — which would clobber clearCache() and confuse downstream consumers.
|
|
108
144
|
*
|
|
109
145
|
* @param rootPath - Absolute or relative path to the project root.
|
|
110
|
-
* @param onChange - Callback invoked with the updated SchemaImage
|
|
111
|
-
* @
|
|
146
|
+
* @param onChange - Callback invoked with the updated SchemaImage after each settled change burst.
|
|
147
|
+
* @param options - See {@link WatchOptions}.
|
|
148
|
+
* @returns A {@link WatchHandle} with `stop()` and a `mode` field.
|
|
112
149
|
*/
|
|
113
|
-
export declare function watchCodebase(rootPath: string, onChange: (image: SchemaImage) => void):
|
|
114
|
-
stop: () => void;
|
|
115
|
-
};
|
|
150
|
+
export declare function watchCodebase(rootPath: string, onChange: (image: SchemaImage) => void, options?: WatchOptions): WatchHandle;
|
|
116
151
|
/**
|
|
117
152
|
* Estimate the size of a project (file count and total lines of code).
|
|
118
153
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebase-scanner.d.ts","sourceRoot":"","sources":["../../../../../aria-web/src/lib/codebase-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"codebase-scanner.d.ts","sourceRoot":"","sources":["../../../../../aria-web/src/lib/codebase-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,13 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { createHash } from 'crypto';
|
|
16
16
|
import { execSync } from 'child_process';
|
|
17
|
-
import { promises as fsp, watch as fsWatch } from 'fs';
|
|
17
|
+
import { existsSync, promises as fsp, watch as fsWatch } from 'fs';
|
|
18
18
|
import * as path from 'path';
|
|
19
|
+
import { createRequire } from 'node:module';
|
|
20
|
+
// When this file is bundled into @aria_asi/cli (type: "module") it loads as
|
|
21
|
+
// ESM — bare `require()` is undefined. The optional chokidar load below uses
|
|
22
|
+
// require() to preserve sync try/catch fallback semantics, so polyfill it.
|
|
23
|
+
const require = createRequire(import.meta.url);
|
|
19
24
|
// ---------------------------------------------------------------------------
|
|
20
25
|
// Constants — detection maps
|
|
21
26
|
// ---------------------------------------------------------------------------
|
|
@@ -1538,114 +1543,170 @@ function filterNotableDeps(deps, language) {
|
|
|
1538
1543
|
}
|
|
1539
1544
|
return result.slice(0, 15);
|
|
1540
1545
|
}
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1546
|
+
const DEFAULT_IGNORED = [
|
|
1547
|
+
/(^|[\/\\])\./,
|
|
1548
|
+
'**/node_modules/**',
|
|
1549
|
+
'**/.git/**',
|
|
1550
|
+
'**/dist/**',
|
|
1551
|
+
'**/build/**',
|
|
1552
|
+
'**/target/**',
|
|
1553
|
+
'**/.next/**',
|
|
1554
|
+
'**/.turbo/**',
|
|
1555
|
+
'**/coverage/**',
|
|
1556
|
+
];
|
|
1544
1557
|
/**
|
|
1545
1558
|
* Watch a codebase directory for changes and re-scan automatically.
|
|
1546
1559
|
*
|
|
1547
|
-
*
|
|
1548
|
-
*
|
|
1549
|
-
* (
|
|
1560
|
+
* Backend resolution order:
|
|
1561
|
+
* 1. chokidar (preferred — reliable cross-platform recursive watching).
|
|
1562
|
+
* 2. Recursive `fs.watch` (Linux requires Node ≥ 20).
|
|
1563
|
+
* 3. Polling on `pollIntervalMs` (last-resort, used when neither above works).
|
|
1564
|
+
*
|
|
1565
|
+
* Scan concurrency is single-flight: while a scan is in-flight, additional
|
|
1566
|
+
* change events set a "rescan-pending" flag and a single follow-up scan runs
|
|
1567
|
+
* after the current one resolves. This prevents a slow scanCodebase call (large
|
|
1568
|
+
* monorepo cold cache) from being entered concurrently when bursts of changes
|
|
1569
|
+
* fire — which would clobber clearCache() and confuse downstream consumers.
|
|
1550
1570
|
*
|
|
1551
1571
|
* @param rootPath - Absolute or relative path to the project root.
|
|
1552
|
-
* @param onChange - Callback invoked with the updated SchemaImage
|
|
1553
|
-
* @
|
|
1572
|
+
* @param onChange - Callback invoked with the updated SchemaImage after each settled change burst.
|
|
1573
|
+
* @param options - See {@link WatchOptions}.
|
|
1574
|
+
* @returns A {@link WatchHandle} with `stop()` and a `mode` field.
|
|
1554
1575
|
*/
|
|
1555
|
-
export function watchCodebase(rootPath, onChange) {
|
|
1576
|
+
export function watchCodebase(rootPath, onChange, options = {}) {
|
|
1577
|
+
const debounceMs = options.debounceMs ?? 500;
|
|
1578
|
+
const pollIntervalMs = options.pollIntervalMs ?? 5_000;
|
|
1579
|
+
const onError = options.onError ?? (() => { });
|
|
1556
1580
|
const resolvedPath = path.resolve(rootPath);
|
|
1557
|
-
|
|
1558
|
-
|
|
1581
|
+
if (!existsSync(resolvedPath)) {
|
|
1582
|
+
const err = new Error(`watchCodebase: rootPath does not exist: ${resolvedPath}`);
|
|
1583
|
+
onError({ phase: 'init', error: err });
|
|
1584
|
+
throw err;
|
|
1585
|
+
}
|
|
1559
1586
|
let stopped = false;
|
|
1560
|
-
|
|
1587
|
+
let debounceTimer;
|
|
1588
|
+
let scanInFlight = false;
|
|
1589
|
+
let rescanPending = false;
|
|
1590
|
+
let teardown = () => { };
|
|
1591
|
+
let resolvedMode = 'poll';
|
|
1592
|
+
const stop = () => {
|
|
1561
1593
|
if (stopped)
|
|
1562
1594
|
return;
|
|
1563
|
-
|
|
1595
|
+
stopped = true;
|
|
1596
|
+
if (debounceTimer) {
|
|
1564
1597
|
clearTimeout(debounceTimer);
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1598
|
+
debounceTimer = undefined;
|
|
1599
|
+
}
|
|
1600
|
+
try {
|
|
1601
|
+
teardown();
|
|
1602
|
+
}
|
|
1603
|
+
catch (e) {
|
|
1604
|
+
onError({ phase: 'backend', error: e instanceof Error ? e : new Error(String(e)) });
|
|
1605
|
+
}
|
|
1606
|
+
};
|
|
1607
|
+
if (options.signal) {
|
|
1608
|
+
if (options.signal.aborted) {
|
|
1609
|
+
// Honor an already-aborted signal — wire teardown so .mode is still defined,
|
|
1610
|
+
// then stop after we resolve a backend below. Caller still gets a handle.
|
|
1611
|
+
}
|
|
1612
|
+
else {
|
|
1613
|
+
options.signal.addEventListener('abort', stop, { once: true });
|
|
1614
|
+
}
|
|
1615
|
+
}
|
|
1616
|
+
const runScan = async () => {
|
|
1617
|
+
if (stopped)
|
|
1618
|
+
return;
|
|
1619
|
+
if (scanInFlight) {
|
|
1620
|
+
rescanPending = true;
|
|
1621
|
+
return;
|
|
1622
|
+
}
|
|
1623
|
+
scanInFlight = true;
|
|
1624
|
+
try {
|
|
1625
|
+
clearCache();
|
|
1626
|
+
const image = await scanCodebase(resolvedPath);
|
|
1627
|
+
if (!stopped)
|
|
1571
1628
|
onChange(image);
|
|
1629
|
+
}
|
|
1630
|
+
catch (e) {
|
|
1631
|
+
onError({ phase: 'scan', error: e instanceof Error ? e : new Error(String(e)) });
|
|
1632
|
+
}
|
|
1633
|
+
finally {
|
|
1634
|
+
scanInFlight = false;
|
|
1635
|
+
if (rescanPending && !stopped) {
|
|
1636
|
+
rescanPending = false;
|
|
1637
|
+
// Defer to next tick so a tight burst settles before we re-enter scan.
|
|
1638
|
+
setTimeout(() => { void runScan(); }, 0);
|
|
1572
1639
|
}
|
|
1573
|
-
|
|
1574
|
-
// Silently ignore scan errors during watch
|
|
1575
|
-
}
|
|
1576
|
-
}, 500);
|
|
1640
|
+
}
|
|
1577
1641
|
};
|
|
1578
|
-
|
|
1579
|
-
|
|
1642
|
+
const handleChange = () => {
|
|
1643
|
+
if (stopped)
|
|
1644
|
+
return;
|
|
1645
|
+
if (debounceTimer)
|
|
1646
|
+
clearTimeout(debounceTimer);
|
|
1647
|
+
debounceTimer = setTimeout(() => { void runScan(); }, debounceMs);
|
|
1648
|
+
};
|
|
1649
|
+
// ── Backend 1: chokidar ────────────────────────────────────────────────
|
|
1580
1650
|
let chokidar;
|
|
1581
1651
|
try {
|
|
1582
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
1583
1652
|
chokidar = require('chokidar');
|
|
1584
1653
|
}
|
|
1585
|
-
catch {
|
|
1586
|
-
// chokidar
|
|
1654
|
+
catch (e) {
|
|
1655
|
+
// chokidar should be a hard dep of @aria_asi/cli — surface the load failure
|
|
1656
|
+
// (don't silently downgrade) so a broken install gets flagged once.
|
|
1657
|
+
onError({ phase: 'backend', error: new Error(`chokidar load failed, falling back to fs.watch: ${e instanceof Error ? e.message : String(e)}`) });
|
|
1587
1658
|
}
|
|
1588
1659
|
if (chokidar) {
|
|
1589
1660
|
const cw = chokidar.watch(resolvedPath, {
|
|
1590
|
-
ignored: [
|
|
1591
|
-
/(^|[\/\\])\./,
|
|
1592
|
-
'**/node_modules/**',
|
|
1593
|
-
'**/.git/**',
|
|
1594
|
-
'**/dist/**',
|
|
1595
|
-
'**/build/**',
|
|
1596
|
-
'**/target/**',
|
|
1597
|
-
],
|
|
1661
|
+
ignored: [...DEFAULT_IGNORED, ...(options.extraIgnored ?? [])],
|
|
1598
1662
|
persistent: true,
|
|
1599
1663
|
ignoreInitial: true,
|
|
1664
|
+
awaitWriteFinish: { stabilityThreshold: 100, pollInterval: 50 },
|
|
1600
1665
|
});
|
|
1601
1666
|
cw.on('add', handleChange);
|
|
1602
1667
|
cw.on('change', handleChange);
|
|
1603
1668
|
cw.on('unlink', handleChange);
|
|
1604
1669
|
cw.on('addDir', handleChange);
|
|
1605
1670
|
cw.on('unlinkDir', handleChange);
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
cw.close();
|
|
1610
|
-
if (debounceTimer)
|
|
1611
|
-
clearTimeout(debounceTimer);
|
|
1612
|
-
},
|
|
1613
|
-
};
|
|
1614
|
-
}
|
|
1615
|
-
// Fallback to fs.watch
|
|
1616
|
-
try {
|
|
1617
|
-
watcher = fsWatch(resolvedPath, { recursive: true }, (_eventType, _filename) => {
|
|
1618
|
-
handleChange();
|
|
1671
|
+
cw.on('error', (...args) => {
|
|
1672
|
+
const e = args[0];
|
|
1673
|
+
onError({ phase: 'backend', error: e instanceof Error ? e : new Error(String(e)) });
|
|
1619
1674
|
});
|
|
1675
|
+
teardown = () => { void cw.close(); };
|
|
1676
|
+
resolvedMode = 'chokidar';
|
|
1620
1677
|
}
|
|
1621
|
-
|
|
1622
|
-
//
|
|
1678
|
+
else {
|
|
1679
|
+
// ── Backend 2: recursive fs.watch ────────────────────────────────────
|
|
1680
|
+
let watcher = null;
|
|
1623
1681
|
try {
|
|
1624
|
-
watcher = fsWatch(resolvedPath,
|
|
1625
|
-
|
|
1682
|
+
watcher = fsWatch(resolvedPath, { recursive: true }, () => handleChange());
|
|
1683
|
+
watcher.on('error', (e) => {
|
|
1684
|
+
onError({ phase: 'backend', error: e instanceof Error ? e : new Error(String(e)) });
|
|
1626
1685
|
});
|
|
1686
|
+
teardown = () => { if (watcher)
|
|
1687
|
+
watcher.close(); };
|
|
1688
|
+
resolvedMode = 'fs-watch-recursive';
|
|
1627
1689
|
}
|
|
1628
|
-
catch {
|
|
1629
|
-
//
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
},
|
|
1638
|
-
};
|
|
1690
|
+
catch (e) {
|
|
1691
|
+
// ── Backend 3: polling ────────────────────────────────────────────
|
|
1692
|
+
// Note: we deliberately do NOT fall back to non-recursive fs.watch — it
|
|
1693
|
+
// only sees the top-level dir and silently misses subtree changes, which
|
|
1694
|
+
// is worse than polling because the caller can't detect the breakage.
|
|
1695
|
+
onError({ phase: 'backend', error: new Error(`recursive fs.watch unavailable, polling every ${pollIntervalMs}ms: ${e instanceof Error ? e.message : String(e)}`) });
|
|
1696
|
+
const interval = setInterval(() => handleChange(), pollIntervalMs);
|
|
1697
|
+
teardown = () => clearInterval(interval);
|
|
1698
|
+
resolvedMode = 'poll';
|
|
1639
1699
|
}
|
|
1640
1700
|
}
|
|
1701
|
+
if (options.emitInitial) {
|
|
1702
|
+
void runScan();
|
|
1703
|
+
}
|
|
1704
|
+
options.onReady?.(resolvedMode);
|
|
1705
|
+
if (options.signal?.aborted)
|
|
1706
|
+
stop();
|
|
1641
1707
|
return {
|
|
1642
|
-
stop
|
|
1643
|
-
|
|
1644
|
-
if (watcher)
|
|
1645
|
-
watcher.close();
|
|
1646
|
-
if (debounceTimer)
|
|
1647
|
-
clearTimeout(debounceTimer);
|
|
1648
|
-
},
|
|
1708
|
+
stop,
|
|
1709
|
+
get mode() { return resolvedMode; },
|
|
1649
1710
|
};
|
|
1650
1711
|
}
|
|
1651
1712
|
// ---------------------------------------------------------------------------
|