@nexrall/code-core 1.4.71 → 1.4.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/agent/agentRegistry.d.ts.map +1 -1
  2. package/dist/agent/agentRegistry.js +28 -10
  3. package/dist/agent/agentTypes.d.ts.map +1 -1
  4. package/dist/agent/agentTypes.js +159 -48
  5. package/dist/agent/askOnce.d.ts.map +1 -1
  6. package/dist/agent/askOnce.js +14 -5
  7. package/dist/agent/backgroundAgents.d.ts.map +1 -1
  8. package/dist/agent/backgroundAgents.js +22 -8
  9. package/dist/agent/claimEvidence.d.ts.map +1 -1
  10. package/dist/agent/claimEvidence.js +2 -1
  11. package/dist/agent/compaction.d.ts.map +1 -1
  12. package/dist/agent/compaction.js +31 -10
  13. package/dist/agent/crossProcessLock.d.ts.map +1 -1
  14. package/dist/agent/crossProcessLock.js +14 -6
  15. package/dist/agent/editCompleteness.d.ts.map +1 -1
  16. package/dist/agent/fileLocks.d.ts.map +1 -1
  17. package/dist/agent/fileLocks.js +14 -5
  18. package/dist/agent/flaky.d.ts.map +1 -1
  19. package/dist/agent/hooks.d.ts.map +1 -1
  20. package/dist/agent/hooks.js +284 -75
  21. package/dist/agent/iterationPolicy.d.ts.map +1 -1
  22. package/dist/agent/iterationPolicy.js +26 -23
  23. package/dist/agent/lifecycleHost.d.ts.map +1 -1
  24. package/dist/agent/lifecycleHost.js +35 -11
  25. package/dist/agent/loop.d.ts +22 -4
  26. package/dist/agent/loop.d.ts.map +1 -1
  27. package/dist/agent/loop.js +223 -51
  28. package/dist/agent/memory.d.ts.map +1 -1
  29. package/dist/agent/memory.js +13 -7
  30. package/dist/agent/modelCatalogue.d.ts.map +1 -1
  31. package/dist/agent/modelCatalogue.js +4 -1
  32. package/dist/agent/nestedInstructions.d.ts +122 -0
  33. package/dist/agent/nestedInstructions.d.ts.map +1 -0
  34. package/dist/agent/nestedInstructions.js +696 -0
  35. package/dist/agent/peerRegistry.d.ts.map +1 -1
  36. package/dist/agent/peerRegistry.js +44 -6
  37. package/dist/agent/peerTransport.d.ts.map +1 -1
  38. package/dist/agent/peerTransport.js +18 -6
  39. package/dist/agent/planMode.d.ts.map +1 -1
  40. package/dist/agent/planMode.js +194 -41
  41. package/dist/agent/readDedupe.d.ts.map +1 -1
  42. package/dist/agent/readDedupe.js +3 -1
  43. package/dist/agent/securityLint.d.ts.map +1 -1
  44. package/dist/agent/sharedTasks.d.ts.map +1 -1
  45. package/dist/agent/sharedTasks.js +20 -5
  46. package/dist/agent/skills.d.ts +79 -0
  47. package/dist/agent/skills.d.ts.map +1 -1
  48. package/dist/agent/skills.js +403 -14
  49. package/dist/agent/subAgentBudget.d.ts.map +1 -1
  50. package/dist/agent/subTask.d.ts.map +1 -1
  51. package/dist/agent/subTask.js +87 -37
  52. package/dist/agent/subTaskSupport.d.ts.map +1 -1
  53. package/dist/agent/subTaskSupport.js +43 -14
  54. package/dist/agent/testIntegrity.d.ts.map +1 -1
  55. package/dist/agent/testIntegrity.js +4 -2
  56. package/dist/agent/toolDescriptions.d.ts.map +1 -1
  57. package/dist/agent/toolPrefetch.d.ts.map +1 -1
  58. package/dist/agent/toolPrefetch.js +15 -11
  59. package/dist/agent/trust.d.ts.map +1 -1
  60. package/dist/agent/trust.js +6 -2
  61. package/dist/agent/worktree.d.ts.map +1 -1
  62. package/dist/agent/worktree.js +70 -16
  63. package/dist/agent/worktreeEnforcement.d.ts.map +1 -1
  64. package/dist/agent/worktreeEnforcement.js +9 -4
  65. package/dist/api/client.d.ts.map +1 -1
  66. package/dist/api/client.js +63 -31
  67. package/dist/auth/index.d.ts.map +1 -1
  68. package/dist/auth/index.js +3 -1
  69. package/dist/checkpoint/manager.d.ts.map +1 -1
  70. package/dist/checkpoint/manager.js +22 -7
  71. package/dist/commands/loader.d.ts.map +1 -1
  72. package/dist/commands/loader.js +6 -1
  73. package/dist/index.d.ts +2 -0
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +2 -0
  76. package/dist/mcp/client.d.ts +34 -0
  77. package/dist/mcp/client.d.ts.map +1 -1
  78. package/dist/mcp/client.js +89 -24
  79. package/dist/mcp/httpClient.d.ts +24 -1
  80. package/dist/mcp/httpClient.d.ts.map +1 -1
  81. package/dist/mcp/httpClient.js +80 -14
  82. package/dist/mcp/instructions.d.ts +11 -0
  83. package/dist/mcp/instructions.d.ts.map +1 -0
  84. package/dist/mcp/instructions.js +42 -0
  85. package/dist/mcp/manager.d.ts +24 -0
  86. package/dist/mcp/manager.d.ts.map +1 -1
  87. package/dist/mcp/manager.js +117 -24
  88. package/dist/mcp/server.d.ts.map +1 -1
  89. package/dist/mcp/server.js +48 -14
  90. package/dist/mcp/sseClient.d.ts +9 -1
  91. package/dist/mcp/sseClient.d.ts.map +1 -1
  92. package/dist/mcp/sseClient.js +43 -10
  93. package/dist/mcp/stats.d.ts.map +1 -1
  94. package/dist/permissions/bashClassify.d.ts.map +1 -1
  95. package/dist/permissions/bashClassify.js +25 -3
  96. package/dist/permissions/destructive.d.ts.map +1 -1
  97. package/dist/permissions/destructive.js +7 -2
  98. package/dist/permissions/destructiveTokens.d.ts.map +1 -1
  99. package/dist/permissions/destructiveTokens.js +104 -24
  100. package/dist/permissions/modePolicy.d.ts.map +1 -1
  101. package/dist/permissions/modePolicy.js +40 -17
  102. package/dist/permissions/rules.d.ts.map +1 -1
  103. package/dist/permissions/rules.js +7 -5
  104. package/dist/plugins/data.d.ts.map +1 -1
  105. package/dist/plugins/data.js +6 -2
  106. package/dist/plugins/index.d.ts.map +1 -1
  107. package/dist/plugins/index.js +18 -7
  108. package/dist/plugins/installer.d.ts.map +1 -1
  109. package/dist/plugins/installer.js +17 -10
  110. package/dist/plugins/sources.d.ts.map +1 -1
  111. package/dist/plugins/sources.js +9 -3
  112. package/dist/tools/executor.d.ts.map +1 -1
  113. package/dist/tools/executor.js +454 -168
  114. package/dist/tools/sandbox.d.ts.map +1 -1
  115. package/dist/tools/sandbox.js +5 -1
  116. package/dist/tools/symbols.d.ts.map +1 -1
  117. package/dist/tools/symbols.js +30 -8
  118. package/dist/tools/tsLangService.d.ts.map +1 -1
  119. package/dist/tools/tsLangService.js +12 -4
  120. package/dist/types.d.ts +17 -0
  121. package/dist/types.d.ts.map +1 -1
  122. package/dist/util/frontmatter.d.ts.map +1 -1
  123. package/dist/util/miniYaml.d.ts.map +1 -1
  124. package/dist/util/miniYaml.js +3 -1
  125. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agentRegistry.d.ts","sourceRoot":"","sources":["../../src/agent/agentRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA8CxC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsDD,wBAAgB,gCAAgC,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAInE;AAED,wBAAgB,iCAAiC,IAAI,IAAI,CAAwB;AAoCjF,yEAAyE;AACzE,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,SAAS,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAoBR;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAG1F;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAiBtG;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAU5D;AAMD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIvD;AACD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAuB;AAE9E,0EAA0E;AAC1E,wBAAgB,UAAU,IAAI,WAAW,EAAE,CAE1C;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAuBzE;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,eAAO,MAAM,OAAO;;;CAAkC,CAAC"}
1
+ {"version":3,"file":"agentRegistry.d.ts","sourceRoot":"","sources":["../../src/agent/agentRegistry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA8CxC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsDD,wBAAgB,gCAAgC,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAUnE;AAED,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAmDD,yEAAyE;AACzE,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,SAAS,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAoBR;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAG1F;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAiBtG;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAU5D;AAMD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAIvD;AACD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,IAAI,WAAW,EAAE,CAE1C;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CA8BzE;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,eAAO,MAAM,OAAO;;;CAAkC,CAAC"}
@@ -142,7 +142,8 @@ let _persistDir = null;
142
142
  const PERSIST_MAX_FILES = 100;
143
143
  const PERSIST_MAX_AGE_MS = 14 * 24 * 60 * 60 * 1000;
144
144
  function enableAgentTranscriptPersistence(dir) {
145
- _persistDir = dir ?? process.env.NEXRALL_AGENT_TRANSCRIPTS_DIR ?? path.join(os.homedir(), '.nexrall', 'agent-transcripts');
145
+ _persistDir =
146
+ dir ?? process.env.NEXRALL_AGENT_TRANSCRIPTS_DIR ?? path.join(os.homedir(), '.nexrall', 'agent-transcripts');
146
147
  try {
147
148
  fs.mkdirSync(_persistDir, { recursive: true, mode: 0o700 });
148
149
  }
@@ -152,7 +153,9 @@ function enableAgentTranscriptPersistence(dir) {
152
153
  }
153
154
  prunePersisted();
154
155
  }
155
- function disableAgentTranscriptPersistence() { _persistDir = null; }
156
+ function disableAgentTranscriptPersistence() {
157
+ _persistDir = null;
158
+ }
156
159
  function persistedPath(id) {
157
160
  if (!_persistDir || !/^agent_\d+_[0-9a-f]{8}$/.test(id))
158
161
  return null;
@@ -165,7 +168,9 @@ function persist(agent) {
165
168
  try {
166
169
  fs.writeFileSync(p, JSON.stringify(agent), { mode: 0o600 });
167
170
  }
168
- catch { /* best effort */ }
171
+ catch {
172
+ /* best effort */
173
+ }
169
174
  }
170
175
  function loadPersisted(id) {
171
176
  const p = persistedPath(id);
@@ -187,14 +192,23 @@ function prunePersisted() {
187
192
  if (!_persistDir)
188
193
  return;
189
194
  try {
190
- const files = fs.readdirSync(_persistDir).filter((f) => f.endsWith('.json'))
191
- .map((f) => { const full = path.join(_persistDir, f); return { full, t: fs.statSync(full).mtimeMs }; })
195
+ const files = fs
196
+ .readdirSync(_persistDir)
197
+ .filter((f) => f.endsWith('.json'))
198
+ .map((f) => {
199
+ const full = path.join(_persistDir, f);
200
+ return { full, t: fs.statSync(full).mtimeMs };
201
+ })
192
202
  .sort((a, b) => b.t - a.t);
193
203
  const now = Date.now();
194
- files.forEach((f, i) => { if (i >= PERSIST_MAX_FILES || now - f.t > PERSIST_MAX_AGE_MS)
195
- fs.rmSync(f.full, { force: true }); });
204
+ files.forEach((f, i) => {
205
+ if (i >= PERSIST_MAX_FILES || now - f.t > PERSIST_MAX_AGE_MS)
206
+ fs.rmSync(f.full, { force: true });
207
+ });
208
+ }
209
+ catch {
210
+ /* best effort */
196
211
  }
197
- catch { /* best effort */ }
198
212
  }
199
213
  /** Store a finished sub-agent's transcript. Returns its resumable id. */
200
214
  function rememberAgent(agentName, description, messages, ownerScope = 'root', sessionKey) {
@@ -275,7 +289,9 @@ function claimAgentForResume(id) {
275
289
  _inUse.add(id);
276
290
  return true;
277
291
  }
278
- function releaseAgentForResume(id) { _inUse.delete(id); }
292
+ function releaseAgentForResume(id) {
293
+ _inUse.delete(id);
294
+ }
279
295
  /** Newest first — the order a "which agents can I resume?" list wants. */
280
296
  function listAgents() {
281
297
  return [..._agents.values()].sort((a, b) => b.seq - a.seq);
@@ -320,7 +336,9 @@ function listPersistedAgents(dir) {
320
336
  bytes: typeof a.bytes === 'number' ? a.bytes : 0,
321
337
  });
322
338
  }
323
- catch { /* one unreadable transcript must not blank the list */ }
339
+ catch {
340
+ /* one unreadable transcript must not blank the list */
341
+ }
324
342
  }
325
343
  return out.sort((x, y) => y.updatedAt - x.updatedAt);
326
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agentTypes.d.ts","sourceRoot":"","sources":["../../src/agent/agentTypes.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,CAAC;IACrE;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6GAA6G;IAC7G,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8GAA8G;IAC9G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,gHAAgH;IAChH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,+GAA+G;IAC/G,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,cAAc;IAAG,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE;AAC3E,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,uFAAuF;IACvF,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAoP5D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnD;AAgBD,eAAO,MAAM,YAAY,8IAKf,CAAC;AAEX,2MAA2M;AAC3M,eAAO,MAAM,kBAAkB,4CAA6C,CAAC;AAC7E,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CASpE;AAyOD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA+CnF;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAE3D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,SAAS,EAAO,GACtB;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAuBlD;AAED,yFAAyF;AACzF,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,IAAI,SAAS,EAAE,CAE3C;AACD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAY1D;AASD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAIjG"}
1
+ {"version":3,"file":"agentTypes.d.ts","sourceRoot":"","sources":["../../src/agent/agentTypes.ts"],"names":[],"mappings":"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"}
@@ -70,12 +70,19 @@ function parseMemoryScope(v) {
70
70
  // to reintroduce by copy-pasting a list.
71
71
  const READ_ONLY_TOOLS = [
72
72
  // Universal
73
- 'read_file', 'search_files', 'glob', 'list_directory', 'bash', 'bash_output',
73
+ 'read_file',
74
+ 'search_files',
75
+ 'glob',
76
+ 'list_directory',
77
+ 'bash',
78
+ 'bash_output',
74
79
  // kill_shell belongs next to bash_output: an agent that can start a background
75
80
  // process and poll it but never stop it leaks that process past its own
76
81
  // lifetime. Stopping a shell you started is not a write to the repo.
77
82
  'kill_shell',
78
- 'notebook_read', 'todo_write', 'todo_read',
83
+ 'notebook_read',
84
+ 'todo_write',
85
+ 'todo_read',
79
86
  // memory_READ, deliberately without memory_write.
80
87
  //
81
88
  // Reading is free capability: a sub-agent that knows "tests run with X" or "never
@@ -97,8 +104,12 @@ const READ_ONLY_TOOLS = [
97
104
  // one meant showing every sub-agent a menu it could not order from.
98
105
  'use_skill',
99
106
  // VS Code language server (ignored on the CLI)
100
- 'get_symbols', 'get_workspace_symbols', 'find_references', 'go_to_definition',
101
- 'get_hover', 'get_diagnostics',
107
+ 'get_symbols',
108
+ 'get_workspace_symbols',
109
+ 'find_references',
110
+ 'go_to_definition',
111
+ 'get_hover',
112
+ 'get_diagnostics',
102
113
  ];
103
114
  /**
104
115
  * Read-only + the network, for agents that must consult external sources.
@@ -145,7 +156,7 @@ const BUILTIN_AGENTS = [
145
156
  '(edit files, run commands) and that no specialist above fits. Inherits the session model ' +
146
157
  'and full tool access, so prefer a narrower agent when one matches.',
147
158
  prompt: 'You are a general-purpose engineering sub-agent. Work the task end to end: explore what you ' +
148
- 'need, make the changes, and verify them with the project\'s own build/test commands.\n\n' +
159
+ "need, make the changes, and verify them with the project's own build/test commands.\n\n" +
149
160
  'Rules:\n' +
150
161
  '- Mirror existing conventions; make the smallest correct change.\n' +
151
162
  '- Verify before you claim success. If you could not verify, say so explicitly.\n' +
@@ -183,7 +194,7 @@ const BUILTIN_AGENTS = [
183
194
  '3. Follow the real call graph rather than guessing from names.',
184
195
  '',
185
196
  'Your ONLY output is a compact report: the file:line locations that matter, how they relate, and the',
186
- 'direct answer to the question you were given. This exists to keep bulk search OUT of the parent\'s',
197
+ "direct answer to the question you were given. This exists to keep bulk search OUT of the parent's",
187
198
  'context, so do not paste large file contents back — cite locations and summarise. Say plainly when',
188
199
  'something does not exist; a confident wrong answer is far worse than "not found".',
189
200
  ].join('\n'),
@@ -238,27 +249,71 @@ const BUILTIN_AGENTS = [
238
249
  * exactly like fetch_url, so it no longer needs special-casing in that comment.
239
250
  */
240
251
  const KNOWN_TOOL_NAMES = new Set([
241
- 'read_file', 'write_file', 'write_docx', 'write_xlsx', 'write_pptx', 'edit_file', 'multi_edit', 'list_directory', 'create_directory',
242
- 'move_file', 'copy_file', 'delete_file', 'search_files', 'glob',
243
- 'bash', 'bash_output', 'kill_shell',
244
- 'notebook_read', 'notebook_edit',
245
- 'todo_write', 'todo_read', 'memory_write', 'memory_read', 'use_skill',
246
- 'fetch_url', 'web_search', 'generate_image', 'stock_photo', 'open_in_browser', 'browser_action',
252
+ 'read_file',
253
+ 'write_file',
254
+ 'write_docx',
255
+ 'write_xlsx',
256
+ 'write_pptx',
257
+ 'edit_file',
258
+ 'multi_edit',
259
+ 'list_directory',
260
+ 'create_directory',
261
+ 'move_file',
262
+ 'copy_file',
263
+ 'delete_file',
264
+ 'search_files',
265
+ 'glob',
266
+ 'bash',
267
+ 'bash_output',
268
+ 'kill_shell',
269
+ 'notebook_read',
270
+ 'notebook_edit',
271
+ 'todo_write',
272
+ 'todo_read',
273
+ 'memory_write',
274
+ 'memory_read',
275
+ 'use_skill',
276
+ 'fetch_url',
277
+ 'web_search',
278
+ 'generate_image',
279
+ 'stock_photo',
280
+ 'open_in_browser',
281
+ 'browser_action',
247
282
  'task',
248
283
  // Granted by a `memory:` scope rather than listed in a `tools:` line, but a user may
249
284
  // still name it explicitly — so it must validate rather than be flagged as a typo.
250
285
  'agent_memory_write',
251
- 'get_symbols', 'get_workspace_symbols', 'find_references', 'go_to_definition',
252
- 'get_hover', 'get_diagnostics',
286
+ 'get_symbols',
287
+ 'get_workspace_symbols',
288
+ 'find_references',
289
+ 'go_to_definition',
290
+ 'get_hover',
291
+ 'get_diagnostics',
253
292
  ]);
254
293
  /** Frontmatter keys this parser understands, for typo detection. */
255
294
  const KNOWN_META_KEYS = new Set([
256
- 'name', 'description', 'tools', 'model', 'test_files_only', 'testfilesonly',
295
+ 'name',
296
+ 'description',
297
+ 'tools',
298
+ 'model',
299
+ 'test_files_only',
300
+ 'testfilesonly',
257
301
  'memory',
258
302
  // Claude Code-compatible fields (keys arrive lowercased from parseFrontmatter).
259
- 'disallowedtools', 'disallowed_tools', 'maxturns', 'max_turns', 'effort', 'background',
260
- 'isolation', 'permissionmode', 'permission_mode', 'color',
261
- 'skills', 'mcpservers', 'mcp_servers', 'hooks',
303
+ 'disallowedtools',
304
+ 'disallowed_tools',
305
+ 'maxturns',
306
+ 'max_turns',
307
+ 'effort',
308
+ 'background',
309
+ 'isolation',
310
+ 'permissionmode',
311
+ 'permission_mode',
312
+ 'color',
313
+ 'skills',
314
+ 'mcpservers',
315
+ 'mcp_servers',
316
+ 'hooks',
262
317
  ]);
263
318
  /** Claude Code fields Nexrall recognises but does not implement — warned about by name. */
264
319
  /** Claude Code fields Nexrall recognises but does not implement — warned about by name. */
@@ -270,11 +325,24 @@ const VALID_EFFORTS = ['low', 'medium', 'high', 'xhigh', 'max'];
270
325
  * and an agent that silently cannot read). `mcp__server__tool` → `server__tool`.
271
326
  */
272
327
  const CLAUDE_CODE_TOOL_ALIASES = {
273
- read: 'read_file', write: 'write_file', edit: 'edit_file', multiedit: 'multi_edit',
274
- grep: 'search_files', glob: 'glob', ls: 'list_directory', bash: 'bash',
275
- bashoutput: 'bash_output', killshell: 'kill_shell', killbash: 'kill_shell',
276
- webfetch: 'fetch_url', websearch: 'web_search', todowrite: 'todo_write',
277
- notebookread: 'notebook_read', notebookedit: 'notebook_edit', task: 'task', agent: 'task',
328
+ read: 'read_file',
329
+ write: 'write_file',
330
+ edit: 'edit_file',
331
+ multiedit: 'multi_edit',
332
+ grep: 'search_files',
333
+ glob: 'glob',
334
+ ls: 'list_directory',
335
+ bash: 'bash',
336
+ bashoutput: 'bash_output',
337
+ killshell: 'kill_shell',
338
+ killbash: 'kill_shell',
339
+ webfetch: 'fetch_url',
340
+ websearch: 'web_search',
341
+ todowrite: 'todo_write',
342
+ notebookread: 'notebook_read',
343
+ notebookedit: 'notebook_edit',
344
+ task: 'task',
345
+ agent: 'task',
278
346
  };
279
347
  function normaliseToolName(t) {
280
348
  if (t.startsWith('mcp__'))
@@ -301,10 +369,17 @@ function normaliseToolName(t) {
301
369
  // at all. Two independently-maintained model lists are exactly the kind of
302
370
  // drift the shared parseFrontmatter migration was meant to end.
303
371
  exports.VALID_MODELS = [
304
- 'claude-sonnet-5-5', 'claude-opus-5-5', 'claude-fable-5-1',
305
- 'gpt-5.4', 'gpt-5.4-mini', 'gpt-4.1',
372
+ 'claude-sonnet-5-5',
373
+ 'claude-opus-5-5',
374
+ 'claude-fable-5-1',
375
+ 'gpt-5.4',
376
+ 'gpt-5.4-mini',
377
+ 'gpt-4.1',
306
378
  // Legacy tier aliases — still accepted, still resolved by the backend.
307
- 'turbo', 'pro', 'ultra', 'fast',
379
+ 'turbo',
380
+ 'pro',
381
+ 'ultra',
382
+ 'fast',
308
383
  ];
309
384
  /** The four tier aliases specifically (a subset of VALID_MODELS) — the only values `AgentType.model`/`Skill.model` narrow to when recognised; a real model id passes through as a plain string instead. */
310
385
  exports.MODEL_TIER_ALIASES = ['turbo', 'pro', 'ultra', 'fast'];
@@ -359,7 +434,11 @@ function parseToolList(v) {
359
434
  function parseNameList(v) {
360
435
  if (!v)
361
436
  return undefined;
362
- const names = v.replace(/^\[|\]$/g, '').split(',').map((x) => x.trim().replace(/^['"]|['"]$/g, '')).filter(Boolean);
437
+ const names = v
438
+ .replace(/^\[|\]$/g, '')
439
+ .split(',')
440
+ .map((x) => x.trim().replace(/^['"]|['"]$/g, ''))
441
+ .filter(Boolean);
363
442
  return names.length ? [...new Set(names)] : undefined;
364
443
  }
365
444
  function parsePositiveInt(v) {
@@ -392,7 +471,11 @@ function loadDir(dir, source, into, warnings) {
392
471
  raw = fs.readFileSync(full, 'utf-8');
393
472
  }
394
473
  catch (err) {
395
- warnings.push({ file: full, agent: path.basename(entry.name, '.md'), message: `could not be read (${err.message}) — this agent was skipped` });
474
+ warnings.push({
475
+ file: full,
476
+ agent: path.basename(entry.name, '.md'),
477
+ message: `could not be read (${err.message}) — this agent was skipped`,
478
+ });
396
479
  continue;
397
480
  }
398
481
  const { meta, body, ok } = (0, frontmatter_1.parseFrontmatter)(raw);
@@ -449,9 +532,8 @@ function loadDir(dir, source, into, warnings) {
449
532
  // the `model: auto` bug where a file claimed one thing and the run did
450
533
  // another. So: pass it on, but say something.
451
534
  const declaredModel = meta.model === undefined ? undefined : parseModel(meta.model);
452
- if (meta.model !== undefined
453
- && (declaredModel === undefined
454
- || !exports.VALID_MODELS.includes(declaredModel))) {
535
+ if (meta.model !== undefined &&
536
+ (declaredModel === undefined || !exports.VALID_MODELS.includes(declaredModel))) {
455
537
  warnings.push({
456
538
  file: full,
457
539
  agent: name,
@@ -483,7 +565,7 @@ function loadDir(dir, source, into, warnings) {
483
565
  warnings.push({
484
566
  file: full,
485
567
  agent: name,
486
- message: 'lists `task` as its ONLY tool, so it can delegate but cannot read, write or run anything itself — it has no way to do or verify work. Add the tools it needs, or drop the `tools:` line to inherit its parent\'s.',
568
+ message: "lists `task` as its ONLY tool, so it can delegate but cannot read, write or run anything itself — it has no way to do or verify work. Add the tools it needs, or drop the `tools:` line to inherit its parent's.",
487
569
  });
488
570
  }
489
571
  const unsupported = Object.keys(meta).filter((k) => UNSUPPORTED_CC_KEYS.has(k));
@@ -504,20 +586,36 @@ function loadDir(dir, source, into, warnings) {
504
586
  }
505
587
  const eff = meta.effort?.trim().toLowerCase();
506
588
  if (eff && !VALID_EFFORTS.includes(eff)) {
507
- warnings.push({ file: full, agent: name, message: `has effort: "${meta.effort}" — expected one of ${VALID_EFFORTS.join(', ')}. Ignored.` });
589
+ warnings.push({
590
+ file: full,
591
+ agent: name,
592
+ message: `has effort: "${meta.effort}" — expected one of ${VALID_EFFORTS.join(', ')}. Ignored.`,
593
+ });
508
594
  }
509
595
  const mt = meta.maxturns ?? meta.max_turns;
510
596
  if (mt !== undefined && parsePositiveInt(mt) === undefined) {
511
- warnings.push({ file: full, agent: name, message: `has maxTurns: "${mt}" — expected a positive integer. Ignored.` });
597
+ warnings.push({
598
+ file: full,
599
+ agent: name,
600
+ message: `has maxTurns: "${mt}" — expected a positive integer. Ignored.`,
601
+ });
512
602
  }
513
603
  const iso = meta.isolation?.trim().toLowerCase();
514
604
  if (iso && iso !== 'worktree') {
515
- warnings.push({ file: full, agent: name, message: `has isolation: "${meta.isolation}" — only "worktree" is supported. Ignored.` });
605
+ warnings.push({
606
+ file: full,
607
+ agent: name,
608
+ message: `has isolation: "${meta.isolation}" — only "worktree" is supported. Ignored.`,
609
+ });
516
610
  }
517
611
  if (meta.hooks !== undefined) {
518
612
  const parsed = parseAgentHooks(raw);
519
613
  if (parsed.error) {
520
- warnings.push({ file: full, agent: name, message: `has an unusable hooks: block (${parsed.error}) — no hooks will run for this agent.` });
614
+ warnings.push({
615
+ file: full,
616
+ agent: name,
617
+ message: `has an unusable hooks: block (${parsed.error}) — no hooks will run for this agent.`,
618
+ });
521
619
  }
522
620
  else {
523
621
  agentHooks = parsed.hooks;
@@ -535,7 +633,7 @@ function loadDir(dir, source, into, warnings) {
535
633
  warnings.push({
536
634
  file: full,
537
635
  agent: name,
538
- message: 'has an empty body — the text below the frontmatter IS the agent\'s system prompt, so it currently has no instructions.',
636
+ message: "has an empty body — the text below the frontmatter IS the agent's system prompt, so it currently has no instructions.",
539
637
  });
540
638
  }
541
639
  }
@@ -588,16 +686,24 @@ function parseAgentHooks(raw) {
588
686
  throw new Error(`${where}: expected a list of hooks`);
589
687
  return list.map((h, i) => {
590
688
  const o = h;
591
- const ms = typeof o.timeout_ms === 'number' ? o.timeout_ms
592
- : typeof o.timeout === 'number' ? o.timeout * 1000 : undefined;
689
+ const ms = typeof o.timeout_ms === 'number' ? o.timeout_ms : typeof o.timeout === 'number' ? o.timeout * 1000 : undefined;
593
690
  const timeout = ms && ms > 0 ? { timeout_ms: ms } : {};
594
691
  if (o && o.type === 'http' && typeof o.url === 'string' && o.url.trim()) {
595
692
  if (!/^https?:\/\//i.test(o.url.trim()))
596
693
  throw new Error(`${where}[${i}]: http hooks need an http(s) url`);
597
694
  const headers = o.headers && typeof o.headers === 'object' && !Array.isArray(o.headers)
598
- ? o.headers : undefined;
599
- const allowed = Array.isArray(o.allowedEnvVars) ? o.allowedEnvVars.filter((v) => typeof v === 'string') : undefined;
600
- return { type: 'http', url: o.url.trim(), ...(headers ? { headers } : {}), ...(allowed ? { allowedEnvVars: allowed } : {}), ...timeout };
695
+ ? o.headers
696
+ : undefined;
697
+ const allowed = Array.isArray(o.allowedEnvVars)
698
+ ? o.allowedEnvVars.filter((v) => typeof v === 'string')
699
+ : undefined;
700
+ return {
701
+ type: 'http',
702
+ url: o.url.trim(),
703
+ ...(headers ? { headers } : {}),
704
+ ...(allowed ? { allowedEnvVars: allowed } : {}),
705
+ ...timeout,
706
+ };
601
707
  }
602
708
  if (!o || o.type !== 'command' || typeof o.command !== 'string' || !o.command.trim()) {
603
709
  throw new Error(`${where}[${i}]: each hook needs type: command and a command, or type: http and a url`);
@@ -750,9 +856,7 @@ function summariseAgents(types) {
750
856
  return types
751
857
  .map((t) => {
752
858
  const canWrite = !t.tools || t.tools.some((x) => WRITE_TOOL_HINTS.has(x));
753
- const access = t.testFilesOnly
754
- ? 'writes TEST files only'
755
- : canWrite ? 'can modify files' : 'read-only';
859
+ const access = t.testFilesOnly ? 'writes TEST files only' : canWrite ? 'can modify files' : 'read-only';
756
860
  const model = t.model === 'cheapest' ? ', fast low-cost model' : t.model ? `, ${t.model} model` : '';
757
861
  return `- ${t.name} (${access}${model}): ${t.description}`;
758
862
  })
@@ -760,9 +864,16 @@ function summariseAgents(types) {
760
864
  }
761
865
  /** Tool names that imply write access, for the summary line above. */
762
866
  const WRITE_TOOL_HINTS = new Set([
763
- 'write_file', 'edit_file', 'multi_edit', 'notebook_edit',
764
- 'delete_file', 'move_file', 'copy_file',
765
- 'write_docx', 'write_xlsx', 'write_pptx',
867
+ 'write_file',
868
+ 'edit_file',
869
+ 'multi_edit',
870
+ 'notebook_edit',
871
+ 'delete_file',
872
+ 'move_file',
873
+ 'copy_file',
874
+ 'write_docx',
875
+ 'write_xlsx',
876
+ 'write_pptx',
766
877
  ]);
767
878
  function findAgentType(types, name) {
768
879
  if (!name)
@@ -1 +1 @@
1
- {"version":3,"file":"askOnce.d.ts","sourceRoot":"","sources":["../../src/agent/askOnce.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAgB,UAAU,EAAW,MAAM,UAAU,CAAC;AAKlE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACpC;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwB/F"}
1
+ {"version":3,"file":"askOnce.d.ts","sourceRoot":"","sources":["../../src/agent/askOnce.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAgB,UAAU,EAAW,MAAM,UAAU,CAAC;AAKlE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACpC;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwC/F"}
@@ -10,10 +10,14 @@ const client_1 = require("../api/client");
10
10
  const NO_TOOLS_MARKER = '\u0000hook-no-tools';
11
11
  async function askModelOnce(prompt, opts) {
12
12
  const ctl = { aborted: false };
13
- const timer = setTimeout(() => { ctl.aborted = true; }, Math.max(1000, opts.timeoutMs ?? 45000));
13
+ const timer = setTimeout(() => {
14
+ ctl.aborted = true;
15
+ }, Math.max(1000, opts.timeoutMs ?? 45000));
14
16
  const poll = opts.abortSignal
15
- ? setInterval(() => { if (opts.abortSignal?.aborted)
16
- ctl.aborted = true; }, 100)
17
+ ? setInterval(() => {
18
+ if (opts.abortSignal?.aborted)
19
+ ctl.aborted = true;
20
+ }, 100)
17
21
  : undefined;
18
22
  try {
19
23
  if (opts.abortSignal?.aborted)
@@ -24,9 +28,14 @@ async function askModelOnce(prompt, opts) {
24
28
  env: opts.env ?? { cwd: opts.cwd },
25
29
  abortSignal: ctl,
26
30
  toolAllowlist: [NO_TOOLS_MARKER],
27
- }, () => { });
31
+ }, () => {
32
+ /* the final message carries the text */
33
+ });
28
34
  const blocks = Array.isArray(msg.content) ? msg.content : [];
29
- const text = blocks.filter((b) => b.type === 'text' && typeof b.text === 'string').map((b) => b.text).join('\n');
35
+ const text = blocks
36
+ .filter((b) => b.type === 'text' && typeof b.text === 'string')
37
+ .map((b) => b.text)
38
+ .join('\n');
30
39
  return ctl.aborted ? null : text;
31
40
  }
32
41
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundAgents.d.ts","sourceRoot":"","sources":["../../src/agent/backgroundAgents.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,OAAO,CAAK;IAEpB;;;OAGG;IACH,KAAK,CACH,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAChD,GAAG,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,CAAC,GACpG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IA4BrC,OAAO,CAAC,MAAM;IAqBd,oCAAoC;IACpC,IAAI,IAAI,mBAAmB,EAAE;IAM7B,YAAY,IAAI,MAAM;IAMtB,UAAU,IAAI,OAAO;IAErB,sDAAsD;IACtD,iBAAiB,IAAI,sBAAsB,EAAE;IAM7C,wFAAwF;IACxF,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAOzB,qFAAqF;IACrF,OAAO,CAAC,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAMnD,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKpC,OAAO,CAAC,IAAI;CAKb;AAOD,oEAAoE;AACpE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAYpF"}
1
+ {"version":3,"file":"backgroundAgents.d.ts","sourceRoot":"","sources":["../../src/agent/backgroundAgents.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,OAAO,CAAK;IAEpB;;;OAGG;IACH,KAAK,CACH,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAChD,GAAG,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,CAAC,GACpG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAgCrC,OAAO,CAAC,MAAM;IAwBd,oCAAoC;IACpC,IAAI,IAAI,mBAAmB,EAAE;IAM7B,YAAY,IAAI,MAAM;IAMtB,UAAU,IAAI,OAAO;IAIrB,sDAAsD;IACtD,iBAAiB,IAAI,sBAAsB,EAAE;IAM7C,wFAAwF;IACxF,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAOzB,qFAAqF;IACrF,OAAO,CAAC,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAMnD,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAOpC,OAAO,CAAC,IAAI;CASb;AAOD,oEAAoE;AACpE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAcpF"}
@@ -47,7 +47,11 @@ class BackgroundAgentHub {
47
47
  };
48
48
  this.entries.set(id, entry);
49
49
  this.emit();
50
- const onToolUse = (name) => { entry.toolCalls++; entry.lastTool = name; this.emit(); };
50
+ const onToolUse = (name) => {
51
+ entry.toolCalls++;
52
+ entry.lastTool = name;
53
+ this.emit();
54
+ };
51
55
  void run({ abort: entry.abort, onToolUse })
52
56
  .catch((err) => ({ error: `Background agent crashed: ${err?.message ?? err}` }))
53
57
  .then((result) => this.finish(entry, result));
@@ -59,8 +63,10 @@ class BackgroundAgentHub {
59
63
  entry.status = entry.abort.aborted ? 'stopped' : result.error !== undefined ? 'failed' : 'completed';
60
64
  entry.finishedAt = Date.now();
61
65
  const text = entry.status === 'stopped'
62
- ? (result.output || result.error || '(stopped before it produced a report)')
63
- : (result.error !== undefined ? result.error : (result.output ?? ''));
66
+ ? result.output || result.error || '(stopped before it produced a report)'
67
+ : result.error !== undefined
68
+ ? result.error
69
+ : (result.output ?? '');
64
70
  this.pending.push({
65
71
  id: entry.id,
66
72
  description: entry.description,
@@ -87,7 +93,9 @@ class BackgroundAgentHub {
87
93
  n++;
88
94
  return n;
89
95
  }
90
- hasPending() { return this.pending.length > 0; }
96
+ hasPending() {
97
+ return this.pending.length > 0;
98
+ }
91
99
  /** Remove and return every undelivered completion. */
92
100
  takeNotifications() {
93
101
  const out = this.pending.splice(0);
@@ -114,14 +122,18 @@ class BackgroundAgentHub {
114
122
  /** Subscribe to any change (start, progress, finish, delivery). Returns an unsubscribe. */
115
123
  onChange(cb) {
116
124
  this.listeners.add(cb);
117
- return () => { this.listeners.delete(cb); };
125
+ return () => {
126
+ this.listeners.delete(cb);
127
+ };
118
128
  }
119
129
  emit() {
120
130
  for (const cb of [...this.listeners]) {
121
131
  try {
122
132
  cb();
123
133
  }
124
- catch { /* a broken listener must not break the agents */ }
134
+ catch {
135
+ /* a broken listener must not break the agents */
136
+ }
125
137
  }
126
138
  }
127
139
  }
@@ -132,7 +144,8 @@ function fmtDuration(ms) {
132
144
  }
133
145
  /** The text block a notification becomes in the model's context. */
134
146
  function formatBackgroundNotifications(list) {
135
- return list.map((n) => {
147
+ return list
148
+ .map((n) => {
136
149
  const verb = n.status === 'completed' ? 'completed' : n.status === 'failed' ? 'FAILED' : 'was stopped';
137
150
  return (`<task-notification>\n` +
138
151
  `Background agent "${n.description}" (${n.agentType}, id ${n.id}) ${verb} after ` +
@@ -140,6 +153,7 @@ function formatBackgroundNotifications(list) {
140
153
  `not a message from the user. Its report (the user has NOT seen it — relay what matters):\n\n` +
141
154
  `${n.text.trim() || '(no text output)'}\n` +
142
155
  `</task-notification>`);
143
- }).join('\n\n');
156
+ })
157
+ .join('\n\n');
144
158
  }
145
159
  //# sourceMappingURL=backgroundAgents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claimEvidence.d.ts","sourceRoot":"","sources":["../../src/agent/claimEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,EAAE,EAAE,OAAO,CAAC;IACZ,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,oFAAoF;IACpF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AAiCD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAwB/D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,kBAAkB,EAAE,EACnC,YAAY,EAAE,MAAM,GACnB,mBAAmB,CA4BrB;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAQ1E"}
1
+ {"version":3,"file":"claimEvidence.d.ts","sourceRoot":"","sources":["../../src/agent/claimEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,EAAE,EAAE,OAAO,CAAC;IACZ,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,oFAAoF;IACpF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AAiCD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA2B/D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,kBAAkB,EAAE,EACnC,YAAY,EAAE,MAAM,GACnB,mBAAmB,CA6BrB;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAQ1E"}
@@ -131,7 +131,8 @@ function checkClaimEvidence(finalText, verifications, currentEpoch) {
131
131
  }
132
132
  else {
133
133
  // Only stale passes (from before the latest edit) exist.
134
- reason = 'the last passing verification predates your most recent code change, so it no longer proves the current code works';
134
+ reason =
135
+ 'the last passing verification predates your most recent code change, so it no longer proves the current code works';
135
136
  }
136
137
  return { claimed: true, contradicted: true, claimPhrases, reason };
137
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAgB,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAIpF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAiCnE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0CvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvD;AAmDD,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CASpC;AAED,kHAAkH;AAClH,wBAAgB,oBAAoB,CAClC,aAAa,SAAY,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGpC;AAMD,eAAO,MAAM,uBAAuB,QAAa,CAAC;AAUlD,eAAO,MAAM,mBAAmB,qBAA4B,CAAC;AAC7D,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,CAI/F;AACD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAY,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAgBtC,eAAO,MAAM,cAAc,QAAkB,CAAC;AAE9C,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAM7D;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQlH;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAOtF;AAED,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,aAA+G,CAAC;AAC7I;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,OAAO,CA8BrG;AAED,gGAAgG;AAChG,eAAO,MAAM,aAAa,QAA2J,CAAC;AAEtL;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK5E;AAUD;;;;;;;GAOG;AACH;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAO7F;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAyBxD;AAoBD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,qFAAqF;IACrF,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD;;;;;;;;;;;OAWG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,IAAI,cAAc,CAE7C;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC1C,EAAE,EAAE,OAAO,EACX,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CA2EN;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgC5D;AAOD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAYnC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,SAAI,GAAG,MAAM,CAwCpF;AAiBD;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;;CAKpD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAExE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EACtD,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GACjC,gBAAgB,CAsBlB;AASD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,gBAAgB,GACjC,OAAO,CAAC,OAAO,CAAC,CA2HlB;AAaD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCrG;AAwBD,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,GACA,OAAO,CAAC,OAAO,CAAC,CAmFlB"}
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAgB,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAIpF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAiCnE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0CvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvD;AAmDD,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CASpC;AAED,kHAAkH;AAClH,wBAAgB,oBAAoB,CAClC,aAAa,SAAY,EACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGpC;AAMD,eAAO,MAAM,uBAAuB,QAAY,CAAC;AAUjD,eAAO,MAAM,mBAAmB,qBAA4B,CAAC;AAC7D,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,CAI/F;AACD,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAY,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAgBtC,eAAO,MAAM,cAAc,QAAkB,CAAC;AAE9C,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAM7D;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAQlH;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAOtF;AAED,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,aAQ3B,CAAC;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,OAAO,CA0BrG;AAED,gGAAgG;AAChG,eAAO,MAAM,aAAa,QACgI,CAAC;AAE3J;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK5E;AAUD;;;;;;;GAOG;AACH;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAO7F;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CA+BxD;AAoBD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,qFAAqF;IACrF,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD;;;;;;;;;;;OAWG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,YAAY,IAAI,cAAc,CAS7C;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC1C,EAAE,EAAE,OAAO,EACX,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CA2EN;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgC5D;AAOD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAYnC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,SAAI,GAAG,MAAM,CAwCpF;AAiBD;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;;CAKpD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAExE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EACtD,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GACjC,gBAAgB,CAuBlB;AASD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,gBAAgB,GACjC,OAAO,CAAC,OAAO,CAAC,CAmJlB;AAaD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCrG;AAwBD,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,GACA,OAAO,CAAC,OAAO,CAAC,CAqFlB"}