@myagentroam/node 0.1.1 → 0.1.3

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.
@@ -2,6 +2,7 @@ import { createHash } from 'node:crypto';
2
2
  import { open, readdir, unlink } from 'node:fs/promises';
3
3
  import { homedir } from 'node:os';
4
4
  import { basename, join, resolve } from 'node:path';
5
+ import { stripClaudePlanTag } from './runner-command-engine.js';
5
6
  const DISCOVERY_READ_BYTES = 128 * 1024;
6
7
  const TRANSCRIPT_READ_BYTES = 4 * 1024 * 1024;
7
8
  const CONTEXT_USAGE_READ_BYTES = 256 * 1024;
@@ -317,11 +318,15 @@ async function readTranscript(path, runner, byteLimit) {
317
318
  if (cwd === undefined)
318
319
  return undefined;
319
320
  const title = items.find((item) => item.kind === 'message' && item.role === 'USER')?.text;
321
+ // 标签式 Plan Mode 的指令标签不构成会话标题。
322
+ const strippedTitle = title === undefined ? undefined : stripClaudePlanTag(title);
320
323
  return {
321
324
  runner,
322
325
  externalSessionId: id ?? basename(path, '.jsonl'),
323
326
  cwd,
324
- ...(title === undefined ? {} : { title: compact(title) }),
327
+ ...(strippedTitle === undefined || strippedTitle.length === 0
328
+ ? {}
329
+ : { title: compact(strippedTitle) }),
325
330
  digest: createHash('sha256').update(content).digest('hex'),
326
331
  items,
327
332
  lastActivityAt: Math.max(0, ...items.map((item) => item.createdAt ?? 0)),
@@ -1 +1 @@
1
- {"version":3,"file":"native-session-history.js","sourceRoot":"","sources":["../src/native-session-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-session-history.js","sourceRoot":"","sources":["../src/native-session-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC;AACxC,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC5C,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAiDlD,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAAqB,EACrB,iBAAyB,EACzB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,sBAAsB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,wBAAwB,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACnD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAA8E,CAAC;IACnF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;YAC1D,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,IAAI,OAAO,EAAE,IAAI,KAAK,cAAc,IAAI,OAAO,EAAE,IAAI,KAAK,eAAe;gBAAE,SAAS;YACpF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YAC5F,MAAM,EAAE,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAkB,EAClB,aAAqB;IAErB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAkB;IAElB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,qEAAqE;QACrE,yEAAyE;QACzE,2DAA2D;QAC3D,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,KAAK,CAAW,CAAC,CAAC;QAC7F,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,MAAM,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,KAAwB,EACxB,MAAkB;IAElB,MAAM,MAAM,GAAyC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,CAAC,CAAC;YACV,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,CAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC;IACF,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,aAAqB,EACrB,iBAAyB;IAEzB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9E,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzE,IACE,MAAM,KAAK,SAAS;QACpB,MAAM,CAAC,iBAAiB,KAAK,iBAAiB;QAC9C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,EAChC,CAAC;QACD,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAAqB,EACrB,iBAAyB;IAEzB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,sBAAsB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,wBAAwB,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;YACnD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAA0C,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,GAAG,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAkB,EAClB,aAAqB,EACrB,iBAAyB;IAEzB,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC5E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACpD,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzE,IACE,MAAM,KAAK,SAAS;QACpB,MAAM,CAAC,iBAAiB,KAAK,iBAAiB;QAC9C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,EAChC,CAAC;QACD,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YACpD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,MAAkB;IACxC,OAAO,MAAM,KAAK,OAAO;QACvB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC;QACvC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAiB;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;QACpD,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAY,EACZ,MAAkB,EAClB,SAAiB;IAEjB,IAAI,OAAe,CAAC;IACpB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChF,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC/B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,oEAAoE;gBACpE,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;gBAC/D,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CACpD,IAAI,EACJ,CAAC,EACD,IAAI,CAAC,MAAM,EACX,QAAQ,CAAC,IAAI,GAAG,QAAQ,CACzB,CAAC;gBACF,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI;qBACnE,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC;qBAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,GAAuB,CAAC;IAC5B,IAAI,EAAsB,CAAC;IAC3B,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/B,GAAG,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7B,EAAE,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;YAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpF,IACE,wBAAwB,CAAC,KAAK,CAAC;YAC/B,CAAC,QAAQ,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EACvD,CAAC;YACD,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,SAAS,KAAK,SAAS;oBAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;;oBACrE,KAAK,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAA6B,EAAE,IAAI,CAAC,CAAC;gBAC3F,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC/E,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE;QAC9C,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,eAAe,EAAE,MAAM,CAAC,SAAS;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,CAAC,IAAI,EAAmC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAC3F,EAAE,IAAI,CAAC;IACR,8BAA8B;IAC9B,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClF,OAAO;QACL,MAAM;QACN,iBAAiB,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;QACjD,GAAG;QACH,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAC3D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1D,KAAK;QACL,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QACxE,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B;IACpD,OAAO,CACL,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAClE,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACzC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAA+B;IAChD,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,eAAe;IACf,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,cAAc,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO,YAAY,CAAC;IACtD,CAAC;IACD,OAAO,CACL,WAAW,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC/E,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC/C,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACjG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;IACpD,IACE,CAAC,QAAQ,CAAC,WAAW,CAAC;QACtB,OAAO,WAAW,CAAC,YAAY,KAAK,QAAQ;QAC5C,OAAO,SAAS,KAAK,QAAQ;QAE7B,OAAO,SAAS,CAAC;IACnB,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC;QAC1C,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC3C,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3B,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QAC5B,SAAS,IAAI,CAAC;QACd,WAAW,CAAC,YAAY,GAAG,CAAC;QAE5B,OAAO,SAAS,CAAC;IACnB,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC;AAC7D,CAAC;AAWD,SAAS,eAAe,CACtB,MAA+B;IAE/B,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAChG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,MAAM,MAAM,GAA2B;QACrC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;QAChC,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC;KACtC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACtC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,0EAA0E;IAC1E,4EAA4E;IAC5E,yDAAyD;IACzD,IAAI,IAAI,KAAK,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACpE,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CACjB,MAA+B,EAC/B,SAAwB;IAExB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IACE,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU;YAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ;YAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ;YAEjC,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO;YACL;gBACE,IAAI,EAAE,WAAoB;gBAC1B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC9C,KAAK;gBACL,YAAY,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAClC,cAAc,EAAE,OAAO,CAAC,SAAS;gBACjC,aAAa,EAAE,IAAI;gBACnB,eAAe,EAAE,KAAK;gBACtB,MAAM,EAAE,KAAK;gBACb,SAAS;aACV;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,MAA+B,EAC/B,SAAwB;IAExB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,aAAa,IAAI,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC3F,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO;YACL;gBACE,IAAI,EAAE,aAAsB;gBAC5B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;gBAC/B,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;gBAClC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS;aACV;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,MAA+B,EAC/B,SAAwB;IAExB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,kBAAkB,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,eAAe;QAAE,OAAO,EAAE,CAAC;IACjG,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO;QACL;YACE,IAAI,EAAE,WAAW;YACjB,SAAS;YACT,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACzC,KAAK;YACL,YAAY,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAClC,cAAc,EAAE,OAAO,CAAC,SAAS;YACjC,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,KAAK;YACb,SAAS;SACV;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,MAA+B,EAC/B,SAAwB;IAExB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IACE,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,yBAAyB;QAC/C,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,sBAAsB;QAE5C,OAAO,EAAE,CAAC;IACZ,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CACzB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,EAC7D,MAAM,CACP,CAAC;IACF,OAAO;QACL;YACE,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS;YACxE,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS;SACV;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACnB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC;AAED,SAAS,cAAc,CACrB,IAA8B,EAC9B,MAAwB;IAExB,OAAO;QACL,GAAG,IAAI;QACP,aAAa,EAAE,MAAM,CAAC,MAAM;QAC5B,eAAe,EAAE,MAAM,CAAC,SAAS;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,OAAO,CACL,UAAU,CAAC,UAAU,CAAC,0BAA0B,CAAC;QACjD,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA+B;IAC/D,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACzF,IACE,MAAM,CAAC,uBAAuB,CAAC,KAAK,IAAI;QACxC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI;QACzB,MAAM,CAAC,2BAA2B,CAAC,KAAK,IAAI;QAC5C,MAAM,CAAC,kBAAkB,CAAC,KAAK,IAAI;QAEnC,OAAO,IAAI,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1C,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,MAA+B;IAC7C,MAAM,UAAU,GAAG;QACjB,WAAW,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7B,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACzC,WAAW,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7B,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KAC1C,CAAC;IACF,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC;QACxF,OAAO,MAAM,CAAC;IAChB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,CAAC;QAC9F,OAAO,WAAW,CAAC;IACrB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,MAA+B;IAC7C,OAAO,CACL,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7B,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CACpD,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,MAA+B;IACpD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,MAAM;QACxB,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,KAAa;IAEb,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjF,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,IAAI,GAAG,KAAK,CAAC;SACvC,CAAC;QACJ,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG;QAC/E,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/E,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACjD,OAAO,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAA8B,EAAE,IAAuB;IAC1E,KAAK,MAAM,GAAG,IAAI,IAAI;QACpB,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAK,KAAK,CAAC,GAAG,CAAY,CAAC,MAAM,GAAG,CAAC;YACrE,OAAO,KAAK,CAAC,GAAG,CAAW,CAAC;IAChC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAA8B,EAAE,IAAuB;IAC3E,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACzC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,sCAAsC;AACtC,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,MAAkB,EAAE,GAAW,EAAE,iBAAyB;IAC1E,OAAO,GAAG,MAAM,SAAS,GAAG,SAAS,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -1,4 +1,13 @@
1
1
  import type { RunnerCommandDescriptor, RunnerCommandState } from '@myagentroam/protocol';
2
+ /**
3
+ * Claude Agent SDK has no mid-session collaboration mode switch. Plan Mode is
4
+ * therefore declared as a fixed Node-owned instruction tag prepended to each
5
+ * Runner-bound input while the command state is active. The tag never appears
6
+ * in the user bubble; native history strips it again on read.
7
+ */
8
+ export declare function withClaudePlanTag(input: string): string;
9
+ /** Removes one leading plan instruction tag from a native transcript user text. */
10
+ export declare function stripClaudePlanTag(text: string): string;
2
11
  /** A deliberately small, Node-only command interaction boundary. */
3
12
  export interface CommandDefinition {
4
13
  readonly descriptor: RunnerCommandDescriptor;
@@ -1,3 +1,27 @@
1
+ const CLAUDE_PLAN_TAG_OPEN = '<plan_mode>';
2
+ const CLAUDE_PLAN_TAG_CLOSE = '</plan_mode>';
3
+ /**
4
+ * Claude Agent SDK has no mid-session collaboration mode switch. Plan Mode is
5
+ * therefore declared as a fixed Node-owned instruction tag prepended to each
6
+ * Runner-bound input while the command state is active. The tag never appears
7
+ * in the user bubble; native history strips it again on read.
8
+ */
9
+ export function withClaudePlanTag(input) {
10
+ return `${CLAUDE_PLAN_TAG_OPEN}
11
+ 当前处于 Plan Mode。只做只读分析与规划,不得创建、修改或删除文件,不得执行有副作用的命令。完成分析后,把最终计划完整包裹在 <proposed_plan> 与 </proposed_plan> 标签中输出,不要在标签外重复计划正文。
12
+ ${CLAUDE_PLAN_TAG_CLOSE}
13
+
14
+ ${input}`;
15
+ }
16
+ /** Removes one leading plan instruction tag from a native transcript user text. */
17
+ export function stripClaudePlanTag(text) {
18
+ if (!text.startsWith(CLAUDE_PLAN_TAG_OPEN))
19
+ return text;
20
+ const close = text.indexOf(CLAUDE_PLAN_TAG_CLOSE);
21
+ if (close === -1)
22
+ return text;
23
+ return text.slice(close + CLAUDE_PLAN_TAG_CLOSE.length).trimStart();
24
+ }
1
25
  export function parseCommandInvocation(definition, input) {
2
26
  const normalized = input.trim();
3
27
  const prefix = `/${definition.descriptor.id}`;
@@ -1 +1 @@
1
- {"version":3,"file":"runner-command-engine.js","sourceRoot":"","sources":["../src/runner-command-engine.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,sBAAsB,CACpC,UAA6B,EAC7B,KAAa;IAEb,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;IAC9C,IACE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9B,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC,CAAC;QAE7E,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IACE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,KAAK,kBAAkB;QACvD,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,MAAM,CAAC;QACtC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAEnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,OAAO,iBAAiB;IACX,MAAM,GAAG,IAAI,GAAG,EAA2C,CAAC;IAE7E,IAAI,CAAC,SAAiB;QACpB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,KAAyB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAA8B,CAAC;QACnF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,SAAiB,EAAE,SAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,sBAAsB,CAAC,SAAiB,EAAE,eAAuB;QAC/D,IAAI,SAAS,KAAK,eAAe;YAAE,OAAO;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,SAAiB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"runner-command-engine.js","sourceRoot":"","sources":["../src/runner-command-engine.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,18 @@ const definitions = {
109
109
  interaction: 'IMMEDIATE_ACTION',
110
110
  available: true,
111
111
  reasonCode: null
112
+ },
113
+ {
114
+ id: 'plan',
115
+ runner: 'claude-code',
116
+ label: '/plan',
117
+ stateLabel: 'Plan Mode',
118
+ description: '开启或关闭标签式规划模式,只读规划并输出计划卡。',
119
+ inputHint: '/plan',
120
+ source: 'CLAUDE_AGENT_SDK',
121
+ interaction: 'TOGGLE',
122
+ available: true,
123
+ reasonCode: null
112
124
  }
113
125
  ]
114
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner-profiles.js","sourceRoot":"","sources":["../src/runner-profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-profiles.js","sourceRoot":"","sources":["../src/runner-profiles.ts"],"names":[],"mappings":"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"}
@@ -41,13 +41,9 @@ export interface WorkspaceDirectoryListing {
41
41
  readonly entries: readonly WorkspaceDirectoryEntry[];
42
42
  readonly truncated: boolean;
43
43
  }
44
- interface FileAccessOptions {
45
- readonly privateRoots?: readonly string[];
46
- }
47
44
  /** A per-workspace, process-local index for the Quick Open file picker. */
48
45
  export declare class WorkspaceFileIndex {
49
46
  private readonly workspaceRoot;
50
- private readonly options;
51
47
  private readonly limits;
52
48
  private entries;
53
49
  private truncated;
@@ -58,7 +54,7 @@ export declare class WorkspaceFileIndex {
58
54
  private expiryTimer;
59
55
  private fallbackTimer;
60
56
  private signature;
61
- constructor(workspaceRoot: string, options?: FileAccessOptions, limits?: {
57
+ constructor(workspaceRoot: string, limits?: {
62
58
  readonly entryLimit?: number;
63
59
  readonly idleTtlMs?: number;
64
60
  readonly onInvalidated?: () => void;
@@ -80,11 +76,11 @@ export declare class WorkspaceFileIndex {
80
76
  * browse boundary and terminal default.
81
77
  */
82
78
  export declare function listWorkspaceDirectories(requestedPath: string | undefined, allowedRoots: readonly string[], homePath?: string): Promise<WorkspaceDirectoryListing>;
83
- export declare function listWorkspaceFiles(workspaceRoot: string, requestedPath?: string, cursor?: string, limit?: number, options?: FileAccessOptions): Promise<WorkspaceFilePage>;
79
+ export declare function listWorkspaceFiles(workspaceRoot: string, requestedPath?: string, cursor?: string, limit?: number): Promise<WorkspaceFilePage>;
84
80
  /** Validates an upload destination without following an existing target symlink. */
85
- export declare function preflightWorkspaceUpload(workspaceRoot: string, requestedDirectory: string, name: string, options?: FileAccessOptions): Promise<WorkspaceUploadTarget>;
81
+ export declare function preflightWorkspaceUpload(workspaceRoot: string, requestedDirectory: string, name: string): Promise<WorkspaceUploadTarget>;
86
82
  export declare function workspaceUploadTemporaryName(uploadId: string): string;
87
- export declare function readWorkspaceTextFile(workspaceRoot: string, requestedPath: string, offset?: number, limit?: number, options?: FileAccessOptions): Promise<{
83
+ export declare function readWorkspaceTextFile(workspaceRoot: string, requestedPath: string, offset?: number, limit?: number): Promise<{
88
84
  readonly path: string;
89
85
  readonly encoding: 'utf-8' | 'base64';
90
86
  readonly size: number;
@@ -93,7 +89,7 @@ export declare function readWorkspaceTextFile(workspaceRoot: string, requestedPa
93
89
  readonly nextOffset: number | null;
94
90
  }>;
95
91
  /** Reads one absolute file only when the resolved target remains within a Node allowed root. */
96
- export declare function readAllowedTextFile(requestedPath: string, allowedRoots: readonly string[], offset?: number, limit?: number, options?: FileAccessOptions): Promise<{
92
+ export declare function readAllowedTextFile(requestedPath: string, allowedRoots: readonly string[], offset?: number, limit?: number): Promise<{
97
93
  readonly path: string;
98
94
  readonly encoding: 'utf-8' | 'base64';
99
95
  readonly size: number;
@@ -102,7 +98,7 @@ export declare function readAllowedTextFile(requestedPath: string, allowedRoots:
102
98
  readonly nextOffset: number | null;
103
99
  }>;
104
100
  /** Searches file names only, so an exploratory request cannot exfiltrate file contents. */
105
- export declare function searchWorkspaceFiles(workspaceRoot: string, query: string, cursor?: string, limit?: number, options?: FileAccessOptions): Promise<WorkspaceFileSearchPage>;
101
+ export declare function searchWorkspaceFiles(workspaceRoot: string, query: string, cursor?: string, limit?: number): Promise<WorkspaceFileSearchPage>;
106
102
  export declare function normalizeWorkspacePath(input: string, platform?: NodeJS.Platform): string;
107
103
  export declare function isWithinAllowedRoot(target: string, roots: readonly string[], platform?: NodeJS.Platform): boolean;
108
104
  /** Resolving both candidate and roots rejects Linux symlinks which point outside a root. */
@@ -115,15 +111,23 @@ export declare function readRestrictedDiff(workspacePath: string, fromRef: strin
115
111
  readonly summary?: string;
116
112
  readonly truncated: boolean;
117
113
  }>;
118
- type CurrentChange = {
114
+ export type CurrentChange = {
119
115
  readonly path: string;
120
116
  readonly state: 'STAGED' | 'UNSTAGED' | 'UNTRACKED';
121
117
  readonly change: 'ADDED' | 'MODIFIED' | 'DELETED' | 'RENAMED' | 'COPIED' | 'TYPE_CHANGED';
122
118
  };
119
+ export interface CurrentChangesRepository {
120
+ readonly repositoryPath: string;
121
+ readonly repositoryName: string;
122
+ readonly branch: string | null;
123
+ readonly changes: readonly CurrentChange[];
124
+ }
123
125
  export declare function readCurrentChangesSummary(workspacePath: string): Promise<{
124
126
  readonly branch: string | null;
125
127
  readonly changes: readonly CurrentChange[];
126
128
  }>;
129
+ export declare function listInitializedSubmodulePaths(workspacePath: string): Promise<readonly string[]>;
130
+ export declare function resolveGitRepository(workspacePath: string, repositoryPath: string): Promise<string>;
127
131
  export declare function readCurrentChanges(workspacePath: string): Promise<readonly {
128
132
  readonly path: string;
129
133
  readonly state: 'STAGED' | 'UNSTAGED' | 'UNTRACKED';
@@ -137,10 +141,11 @@ export declare function readCurrentChangeDiff(workspacePath: string, requestedPa
137
141
  readonly afterText?: string;
138
142
  readonly afterTruncated?: boolean;
139
143
  }>;
140
- export declare function restoreCurrentChange(workspacePath: string, requestedPath: string, state: 'STAGED' | 'UNSTAGED' | 'UNTRACKED', options?: FileAccessOptions): Promise<void>;
144
+ /** Current Changes must not expose an external link. */
145
+ export declare function isWorkspaceChangeVisible(workspacePath: string, requestedPath: string): Promise<boolean>;
146
+ export declare function restoreCurrentChange(workspacePath: string, requestedPath: string, state: 'STAGED' | 'UNSTAGED' | 'UNTRACKED'): Promise<void>;
141
147
  export declare class GitCommandError extends Error {
142
148
  readonly code: number;
143
149
  readonly stderr: string;
144
150
  constructor(code: number, stderr: string);
145
151
  }
146
- export {};
package/dist/workspace.js CHANGED
@@ -44,7 +44,6 @@ const REF_PATTERN = /^(?!-)(?!.*\.\.)(?!.*@\{)[A-Za-z0-9][A-Za-z0-9._/-]{0,254}$
44
44
  /** A per-workspace, process-local index for the Quick Open file picker. */
45
45
  export class WorkspaceFileIndex {
46
46
  workspaceRoot;
47
- options;
48
47
  limits;
49
48
  entries = [];
50
49
  truncated = false;
@@ -55,9 +54,8 @@ export class WorkspaceFileIndex {
55
54
  expiryTimer;
56
55
  fallbackTimer;
57
56
  signature = '';
58
- constructor(workspaceRoot, options = {}, limits = {}) {
57
+ constructor(workspaceRoot, limits = {}) {
59
58
  this.workspaceRoot = workspaceRoot;
60
- this.options = options;
61
59
  this.limits = limits;
62
60
  }
63
61
  /** Starts/renews the lightweight index observer without exposing file data. */
@@ -122,7 +120,6 @@ export class WorkspaceFileIndex {
122
120
  }
123
121
  async rebuild() {
124
122
  const root = await realpath(this.workspaceRoot);
125
- assertNotPrivate(root, this.options.privateRoots);
126
123
  const excludes = [...DEFAULT_QUICK_OPEN_EXCLUDES, ...(await workspaceExcludePatterns(root))];
127
124
  const indexed = [];
128
125
  const entryLimit = this.limits.entryLimit ?? FILE_INDEX_ENTRY_LIMIT;
@@ -130,7 +127,7 @@ export class WorkspaceFileIndex {
130
127
  const directories = ['.'];
131
128
  while (directories.length > 0 && !truncated) {
132
129
  const relativeDirectory = directories.shift();
133
- const directory = await resolveWorkspaceEntry(root, relativeDirectory, true, this.options).catch(() => undefined);
130
+ const directory = await resolveWorkspaceEntry(root, relativeDirectory, true).catch(() => undefined);
134
131
  if (directory === undefined)
135
132
  continue;
136
133
  const children = await readdir(directory, { withFileTypes: true }).catch(() => undefined);
@@ -142,7 +139,7 @@ export class WorkspaceFileIndex {
142
139
  candidatePath.startsWith('.git/') ||
143
140
  isExcluded(candidatePath, excludes))
144
141
  continue;
145
- const resolved = await resolveWorkspaceEntry(root, candidatePath, false, this.options).catch(() => undefined);
142
+ const resolved = await resolveWorkspaceEntry(root, candidatePath, false).catch(() => undefined);
146
143
  if (resolved === undefined)
147
144
  continue;
148
145
  const metadata = await lstat(resolved).catch(() => undefined);
@@ -307,10 +304,10 @@ export async function listWorkspaceDirectories(requestedPath, allowedRoots, home
307
304
  truncated: entries.length > DIRECTORY_PICKER_LIMIT
308
305
  };
309
306
  }
310
- export async function listWorkspaceFiles(workspaceRoot, requestedPath = '.', cursor, limit = DIRECTORY_PAGE_LIMIT, options = {}) {
307
+ export async function listWorkspaceFiles(workspaceRoot, requestedPath = '.', cursor, limit = DIRECTORY_PAGE_LIMIT) {
311
308
  if (!Number.isSafeInteger(limit) || limit < 1 || limit > DIRECTORY_PAGE_LIMIT)
312
309
  throw new Error('DIRECTORY_CURSOR_INVALID');
313
- const directory = await resolveWorkspaceEntry(workspaceRoot, requestedPath, true, options);
310
+ const directory = await resolveWorkspaceEntry(workspaceRoot, requestedPath, true);
314
311
  const entries = await readdir(directory, { withFileTypes: true });
315
312
  const root = await realpath(workspaceRoot);
316
313
  const cursorValue = decodeDirectoryCursor(cursor, requestedPath);
@@ -324,10 +321,18 @@ export async function listWorkspaceFiles(workspaceRoot, requestedPath = '.', cur
324
321
  const pageNames = names.slice(start, start + limit);
325
322
  const output = [];
326
323
  for (const name of pageNames) {
327
- const child = await resolveWorkspaceEntry(root, relative(root, resolve(directory, name)), false, options).catch(() => undefined);
324
+ const child = await resolveWorkspaceEntry(root, relative(root, resolve(directory, name)), false).catch((error) => {
325
+ if (isSkippableWorkspaceEntryError(error))
326
+ return undefined;
327
+ throw error;
328
+ });
328
329
  if (child === undefined)
329
330
  continue;
330
- const metadata = await lstat(child).catch(() => undefined);
331
+ const metadata = await lstat(child).catch((error) => {
332
+ if (error.code === 'ENOENT')
333
+ return undefined;
334
+ throw error;
335
+ });
331
336
  if (metadata === undefined || (!metadata.isFile() && !metadata.isDirectory()))
332
337
  continue;
333
338
  output.push({
@@ -347,8 +352,14 @@ export async function listWorkspaceFiles(workspaceRoot, requestedPath = '.', cur
347
352
  truncated: nextName !== undefined
348
353
  };
349
354
  }
355
+ function isSkippableWorkspaceEntryError(error) {
356
+ return (error instanceof Error &&
357
+ (error.message === 'FILE_PATH_ESCAPE' ||
358
+ error.message === 'FILE_NOT_FOUND' ||
359
+ error.message === 'FILE_NOT_REGULAR'));
360
+ }
350
361
  /** Validates an upload destination without following an existing target symlink. */
351
- export async function preflightWorkspaceUpload(workspaceRoot, requestedDirectory, name, options = {}) {
362
+ export async function preflightWorkspaceUpload(workspaceRoot, requestedDirectory, name) {
352
363
  if (name.length === 0 ||
353
364
  name === '.' ||
354
365
  name === '..' ||
@@ -359,11 +370,10 @@ export async function preflightWorkspaceUpload(workspaceRoot, requestedDirectory
359
370
  return { path: '', absolutePath: '', status: 'INVALID_NAME' };
360
371
  }
361
372
  const root = await realpath(workspaceRoot);
362
- const directory = await resolveWorkspaceEntry(root, requestedDirectory, true, options);
373
+ const directory = await resolveWorkspaceEntry(root, requestedDirectory, true);
363
374
  const absolutePath = resolve(directory, name);
364
375
  if (dirname(absolutePath) !== directory)
365
376
  throw new Error('FILE_PATH_ESCAPE');
366
- assertNotPrivate(absolutePath, options.privateRoots);
367
377
  const relativePath = relative(root, absolutePath).split(sep).join('/');
368
378
  const metadata = await lstat(absolutePath).catch((error) => {
369
379
  if (error.code === 'ENOENT')
@@ -384,7 +394,7 @@ export function workspaceUploadTemporaryName(uploadId) {
384
394
  function isWorkspaceUploadTemporaryName(name) {
385
395
  return /^\.mar-upload-[0-9a-f-]{36}\.part$/i.test(name);
386
396
  }
387
- export async function readWorkspaceTextFile(workspaceRoot, requestedPath, offset = 0, limit = FILE_READ_LIMIT, options = {}) {
397
+ export async function readWorkspaceTextFile(workspaceRoot, requestedPath, offset = 0, limit = FILE_READ_LIMIT) {
388
398
  if (!Number.isSafeInteger(offset) ||
389
399
  offset < 0 ||
390
400
  !Number.isSafeInteger(limit) ||
@@ -392,7 +402,7 @@ export async function readWorkspaceTextFile(workspaceRoot, requestedPath, offset
392
402
  limit > FILE_READ_LIMIT)
393
403
  throw new Error('FILE_RANGE_INVALID');
394
404
  const root = await realpath(workspaceRoot);
395
- const file = await resolveWorkspaceEntry(root, requestedPath, false, options);
405
+ const file = await resolveWorkspaceEntry(root, requestedPath, false);
396
406
  const metadata = await lstat(file);
397
407
  if (!metadata.isFile())
398
408
  throw new Error('FILE_NOT_REGULAR');
@@ -437,7 +447,7 @@ export async function readWorkspaceTextFile(workspaceRoot, requestedPath, offset
437
447
  };
438
448
  }
439
449
  /** Reads one absolute file only when the resolved target remains within a Node allowed root. */
440
- export async function readAllowedTextFile(requestedPath, allowedRoots, offset = 0, limit = FILE_READ_LIMIT, options = {}) {
450
+ export async function readAllowedTextFile(requestedPath, allowedRoots, offset = 0, limit = FILE_READ_LIMIT) {
441
451
  if (!isAbsolute(requestedPath))
442
452
  throw new Error('FILE_PATH_ESCAPE');
443
453
  const file = await realpath(requestedPath).catch((error) => {
@@ -448,7 +458,6 @@ export async function readAllowedTextFile(requestedPath, allowedRoots, offset =
448
458
  const roots = await Promise.all(allowedRoots.map((root) => realpath(root)));
449
459
  if (!isWithinAllowedRoot(file, roots))
450
460
  throw new Error('FILE_PATH_ESCAPE');
451
- assertNotPrivate(file, options.privateRoots);
452
461
  const metadata = await lstat(file);
453
462
  if (!metadata.isFile())
454
463
  throw new Error('FILE_NOT_REGULAR');
@@ -509,8 +518,8 @@ function isUtf8ContinuationByte(value) {
509
518
  return (value & 0b1100_0000) === 0b1000_0000;
510
519
  }
511
520
  /** Searches file names only, so an exploratory request cannot exfiltrate file contents. */
512
- export async function searchWorkspaceFiles(workspaceRoot, query, cursor, limit = SEARCH_RESULT_LIMIT, options = {}) {
513
- const index = new WorkspaceFileIndex(workspaceRoot, options);
521
+ export async function searchWorkspaceFiles(workspaceRoot, query, cursor, limit = SEARCH_RESULT_LIMIT) {
522
+ const index = new WorkspaceFileIndex(workspaceRoot);
514
523
  try {
515
524
  return await index.search(query, cursor, limit);
516
525
  }
@@ -518,7 +527,7 @@ export async function searchWorkspaceFiles(workspaceRoot, query, cursor, limit =
518
527
  index.dispose();
519
528
  }
520
529
  }
521
- async function resolveWorkspaceEntry(workspaceRoot, requestedPath, directory, options = {}) {
530
+ async function resolveWorkspaceEntry(workspaceRoot, requestedPath, directory) {
522
531
  if (requestedPath.includes('\0') ||
523
532
  requestedPath.length === 0 ||
524
533
  requestedPath.startsWith('/') ||
@@ -542,20 +551,11 @@ async function resolveWorkspaceEntry(workspaceRoot, requestedPath, directory, op
542
551
  pathToCandidate === '..' ||
543
552
  pathToCandidate.startsWith(`..${sep}`))
544
553
  throw new Error('FILE_PATH_ESCAPE');
545
- assertNotPrivate(candidate, options.privateRoots);
546
554
  const metadata = await lstat(candidate);
547
555
  if (directory ? !metadata.isDirectory() : !metadata.isFile() && !metadata.isDirectory())
548
556
  throw new Error(directory ? 'FILE_NOT_DIRECTORY' : 'FILE_NOT_REGULAR');
549
557
  return candidate;
550
558
  }
551
- function assertNotPrivate(candidate, privateRoots) {
552
- if (privateRoots?.some((privateRoot) => isSameOrDescendant(privateRoot, candidate)))
553
- throw new Error('FILE_PATH_ESCAPE');
554
- }
555
- function isSameOrDescendant(root, candidate) {
556
- const relativePath = relative(root, candidate);
557
- return (relativePath === '' || (!relativePath.startsWith('..') && !relativePath.startsWith(`..${sep}`)));
558
- }
559
559
  function encodeDirectoryCursor(path, name) {
560
560
  return Buffer.from(JSON.stringify({ path, name })).toString('base64url');
561
561
  }
@@ -738,11 +738,50 @@ export async function readCurrentChangesSummary(workspacePath) {
738
738
  changes: output
739
739
  };
740
740
  }
741
+ export async function listInitializedSubmodulePaths(workspacePath) {
742
+ const result = await runGit(workspacePath, ['submodule', 'status', '--recursive']);
743
+ return result.text
744
+ .split(/\r?\n/)
745
+ .flatMap((line) => {
746
+ if (line.length < 42)
747
+ return [];
748
+ const marker = line[0];
749
+ if (marker === '-')
750
+ return [];
751
+ const match = /^.[0-9a-f]+\s+(.+?)(?:\s+\([^)]*\))?$/.exec(line);
752
+ const path = match?.[1]?.replaceAll('\\', '/');
753
+ return path === undefined || path.length === 0 ? [] : [path];
754
+ })
755
+ .sort((left, right) => left.localeCompare(right));
756
+ }
757
+ export async function resolveGitRepository(workspacePath, repositoryPath) {
758
+ if (repositoryPath.length === 0)
759
+ return realpath(workspacePath);
760
+ if (repositoryPath.includes('\0') ||
761
+ repositoryPath.startsWith('/') ||
762
+ repositoryPath.startsWith('\\') ||
763
+ repositoryPath
764
+ .split('/')
765
+ .some((segment) => segment.length === 0 || segment === '.' || segment === '..'))
766
+ throw new Error('GIT_REPOSITORY_INVALID');
767
+ const repositories = await listInitializedSubmodulePaths(workspacePath);
768
+ if (!repositories.includes(repositoryPath))
769
+ throw new Error('GIT_REPOSITORY_INVALID');
770
+ const repository = resolve(await realpath(workspacePath), repositoryPath);
771
+ try {
772
+ await readGitSummary(repository);
773
+ }
774
+ catch {
775
+ throw new Error('GIT_REPOSITORY_INVALID');
776
+ }
777
+ return repository;
778
+ }
741
779
  export async function readCurrentChanges(workspacePath) {
742
780
  return (await readCurrentChangesSummary(workspacePath)).changes;
743
781
  }
744
782
  export async function readCurrentChangeDiff(workspacePath, requestedPath) {
745
783
  const path = safeGitWorkspacePath(requestedPath);
784
+ await assertCurrentChangePathAccessible(workspacePath, path);
746
785
  const result = await runGit(workspacePath, [
747
786
  'diff',
748
787
  '--no-ext-diff',
@@ -768,6 +807,33 @@ export async function readCurrentChangeDiff(workspacePath, requestedPath) {
768
807
  ...(after === undefined ? {} : { afterTruncated: after.truncated })
769
808
  };
770
809
  }
810
+ /** Current Changes must not expose an external link. */
811
+ export async function isWorkspaceChangeVisible(workspacePath, requestedPath) {
812
+ try {
813
+ await assertCurrentChangePathAccessible(workspacePath, safeGitWorkspacePath(requestedPath));
814
+ return true;
815
+ }
816
+ catch (error) {
817
+ if (error instanceof Error &&
818
+ (error.message === 'FILE_PATH_ESCAPE' ||
819
+ error.message === 'FILE_NOT_FOUND' ||
820
+ error.message === 'FILE_NOT_REGULAR'))
821
+ return false;
822
+ throw error;
823
+ }
824
+ }
825
+ async function assertCurrentChangePathAccessible(workspacePath, path) {
826
+ const root = await realpath(workspacePath);
827
+ const candidate = resolve(root, path);
828
+ const metadata = await lstat(candidate).catch((error) => {
829
+ if (error.code === 'ENOENT')
830
+ return undefined;
831
+ throw error;
832
+ });
833
+ if (metadata === undefined)
834
+ return;
835
+ await resolveWorkspaceEntry(root, path, false);
836
+ }
771
837
  async function readWorkingTreeText(workspacePath, path) {
772
838
  const root = await realpath(workspacePath);
773
839
  let file;
@@ -779,6 +845,9 @@ async function readWorkingTreeText(workspacePath, path) {
779
845
  return undefined;
780
846
  throw error;
781
847
  }
848
+ const metadata = await lstat(file);
849
+ if (!metadata.isFile())
850
+ return undefined;
782
851
  const source = await readFile(file);
783
852
  return diffTextFromBuffer(source, source.length > GIT_OUTPUT_LIMIT);
784
853
  }
@@ -790,7 +859,7 @@ function diffTextFromBuffer(source, truncated) {
790
859
  end -= 1;
791
860
  return { binary: false, text: source.subarray(0, end).toString('utf8'), truncated };
792
861
  }
793
- export async function restoreCurrentChange(workspacePath, requestedPath, state, options = {}) {
862
+ export async function restoreCurrentChange(workspacePath, requestedPath, state) {
794
863
  const path = safeGitWorkspacePath(requestedPath);
795
864
  const pathspec = `:(literal)${path}`;
796
865
  if (state === 'UNTRACKED') {
@@ -808,7 +877,6 @@ export async function restoreCurrentChange(workspacePath, requestedPath, state,
808
877
  throw new Error('GIT_CHANGE_RESTORE_UNAVAILABLE');
809
878
  const root = await realpath(workspacePath);
810
879
  const file = resolve(root, path);
811
- assertNotPrivate(file, options.privateRoots);
812
880
  const metadata = await lstat(file);
813
881
  if (!metadata.isFile() || metadata.isSymbolicLink())
814
882
  throw new Error('GIT_CHANGE_RESTORE_UNAVAILABLE');