@orion-agents/orion-code 0.1.8 → 0.1.9

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 (232) hide show
  1. package/CHANGELOG.md +445 -0
  2. package/README.md +15 -6
  3. package/README.zh-CN.md +26 -7
  4. package/dist/agents/coordinator.d.ts.map +1 -1
  5. package/dist/agents/coordinator.js +49 -9
  6. package/dist/agents/coordinator.js.map +1 -1
  7. package/dist/agents/fork.d.ts +5 -1
  8. package/dist/agents/fork.d.ts.map +1 -1
  9. package/dist/agents/fork.js +9 -10
  10. package/dist/agents/fork.js.map +1 -1
  11. package/dist/agents/worker-pool.d.ts.map +1 -1
  12. package/dist/agents/worker-pool.js +8 -3
  13. package/dist/agents/worker-pool.js.map +1 -1
  14. package/dist/cli.js +6 -6
  15. package/dist/cli.js.map +1 -1
  16. package/dist/commands/context-tool-command-handlers.d.ts.map +1 -1
  17. package/dist/commands/context-tool-command-handlers.js +42 -0
  18. package/dist/commands/context-tool-command-handlers.js.map +1 -1
  19. package/dist/commands/model-command-handlers.d.ts +1 -1
  20. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  21. package/dist/commands/model-command-handlers.js +166 -1
  22. package/dist/commands/model-command-handlers.js.map +1 -1
  23. package/dist/commands/session-command-handlers.d.ts.map +1 -1
  24. package/dist/commands/session-command-handlers.js +97 -5
  25. package/dist/commands/session-command-handlers.js.map +1 -1
  26. package/dist/commands/session-commands.js +2 -2
  27. package/dist/commands/session-commands.js.map +1 -1
  28. package/dist/commands/types.d.ts +6 -0
  29. package/dist/commands/types.d.ts.map +1 -1
  30. package/dist/commands/types.js.map +1 -1
  31. package/dist/framework/index.d.ts +5 -3
  32. package/dist/framework/index.d.ts.map +1 -1
  33. package/dist/framework/index.js +9 -1
  34. package/dist/framework/index.js.map +1 -1
  35. package/dist/framework/query.d.ts +26 -4
  36. package/dist/framework/query.d.ts.map +1 -1
  37. package/dist/framework/query.js +319 -62
  38. package/dist/framework/query.js.map +1 -1
  39. package/dist/framework/stop-decision.d.ts +56 -0
  40. package/dist/framework/stop-decision.d.ts.map +1 -0
  41. package/dist/framework/stop-decision.js +36 -0
  42. package/dist/framework/stop-decision.js.map +1 -0
  43. package/dist/framework/tool-scheduler.d.ts +5 -0
  44. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  45. package/dist/framework/tool-scheduler.js +24 -9
  46. package/dist/framework/tool-scheduler.js.map +1 -1
  47. package/dist/harness/assembler.d.ts.map +1 -1
  48. package/dist/harness/assembler.js +77 -19
  49. package/dist/harness/assembler.js.map +1 -1
  50. package/dist/harness/capability-profile.d.ts +3 -0
  51. package/dist/harness/capability-profile.d.ts.map +1 -0
  52. package/dist/harness/capability-profile.js +44 -0
  53. package/dist/harness/capability-profile.js.map +1 -0
  54. package/dist/harness/capsule.d.ts.map +1 -1
  55. package/dist/harness/capsule.js +22 -3
  56. package/dist/harness/capsule.js.map +1 -1
  57. package/dist/harness/compact-benchmark-corpus.d.ts +10 -0
  58. package/dist/harness/compact-benchmark-corpus.d.ts.map +1 -0
  59. package/dist/harness/compact-benchmark-corpus.js +56 -0
  60. package/dist/harness/compact-benchmark-corpus.js.map +1 -0
  61. package/dist/harness/context-harness.d.ts +23 -3
  62. package/dist/harness/context-harness.d.ts.map +1 -1
  63. package/dist/harness/context-harness.js +183 -11
  64. package/dist/harness/context-harness.js.map +1 -1
  65. package/dist/harness/contract.d.ts.map +1 -1
  66. package/dist/harness/contract.js +106 -11
  67. package/dist/harness/contract.js.map +1 -1
  68. package/dist/harness/drift-guard.d.ts +2 -1
  69. package/dist/harness/drift-guard.d.ts.map +1 -1
  70. package/dist/harness/drift-guard.js +315 -20
  71. package/dist/harness/drift-guard.js.map +1 -1
  72. package/dist/harness/evidence.d.ts.map +1 -1
  73. package/dist/harness/evidence.js +25 -12
  74. package/dist/harness/evidence.js.map +1 -1
  75. package/dist/harness/index.d.ts +7 -2
  76. package/dist/harness/index.d.ts.map +1 -1
  77. package/dist/harness/index.js +19 -1
  78. package/dist/harness/index.js.map +1 -1
  79. package/dist/harness/ledger.d.ts.map +1 -1
  80. package/dist/harness/ledger.js +44 -14
  81. package/dist/harness/ledger.js.map +1 -1
  82. package/dist/harness/progress-controller.d.ts +14 -0
  83. package/dist/harness/progress-controller.d.ts.map +1 -0
  84. package/dist/harness/progress-controller.js +110 -0
  85. package/dist/harness/progress-controller.js.map +1 -0
  86. package/dist/harness/state.d.ts.map +1 -1
  87. package/dist/harness/state.js +5 -2
  88. package/dist/harness/state.js.map +1 -1
  89. package/dist/harness/stop-controller.d.ts +15 -0
  90. package/dist/harness/stop-controller.d.ts.map +1 -0
  91. package/dist/harness/stop-controller.js +87 -0
  92. package/dist/harness/stop-controller.js.map +1 -0
  93. package/dist/harness/types.d.ts +137 -0
  94. package/dist/harness/types.d.ts.map +1 -1
  95. package/dist/harness/verification.d.ts +7 -0
  96. package/dist/harness/verification.d.ts.map +1 -0
  97. package/dist/harness/verification.js +122 -0
  98. package/dist/harness/verification.js.map +1 -0
  99. package/dist/index.d.ts +5 -5
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +7 -1
  102. package/dist/index.js.map +1 -1
  103. package/dist/ink-ui/screens/ReplScreen.d.ts +3 -0
  104. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  105. package/dist/ink-ui/screens/ReplScreen.js +30 -5
  106. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  107. package/dist/memory/index.d.ts +1 -0
  108. package/dist/memory/index.d.ts.map +1 -1
  109. package/dist/memory/index.js +1 -0
  110. package/dist/memory/index.js.map +1 -1
  111. package/dist/memory/prompt-context.d.ts +42 -0
  112. package/dist/memory/prompt-context.d.ts.map +1 -0
  113. package/dist/memory/prompt-context.js +129 -0
  114. package/dist/memory/prompt-context.js.map +1 -0
  115. package/dist/runtime/chat-compact.d.ts +26 -0
  116. package/dist/runtime/chat-compact.d.ts.map +1 -0
  117. package/dist/runtime/chat-compact.js +132 -0
  118. package/dist/runtime/chat-compact.js.map +1 -0
  119. package/dist/runtime/chat-controller.d.ts.map +1 -1
  120. package/dist/runtime/chat-controller.js +64 -74
  121. package/dist/runtime/chat-controller.js.map +1 -1
  122. package/dist/runtime/goals/coordinator.d.ts +3 -0
  123. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  124. package/dist/runtime/goals/coordinator.js +5 -15
  125. package/dist/runtime/goals/coordinator.js.map +1 -1
  126. package/dist/runtime/goals/prompt.js +1 -1
  127. package/dist/runtime/goals/prompt.js.map +1 -1
  128. package/dist/runtime/goals/stop-policy.d.ts +9 -0
  129. package/dist/runtime/goals/stop-policy.d.ts.map +1 -0
  130. package/dist/runtime/goals/stop-policy.js +83 -0
  131. package/dist/runtime/goals/stop-policy.js.map +1 -0
  132. package/dist/runtime/goals/types.d.ts +0 -1
  133. package/dist/runtime/goals/types.d.ts.map +1 -1
  134. package/dist/runtime/goals/types.js +0 -1
  135. package/dist/runtime/goals/types.js.map +1 -1
  136. package/dist/runtime/model-coordinator.d.ts +44 -1
  137. package/dist/runtime/model-coordinator.d.ts.map +1 -1
  138. package/dist/runtime/model-coordinator.js +161 -19
  139. package/dist/runtime/model-coordinator.js.map +1 -1
  140. package/dist/runtime/subagents/index.d.ts +1 -1
  141. package/dist/runtime/subagents/index.d.ts.map +1 -1
  142. package/dist/runtime/subagents/index.js.map +1 -1
  143. package/dist/runtime/subagents/production.d.ts +6 -2
  144. package/dist/runtime/subagents/production.d.ts.map +1 -1
  145. package/dist/runtime/subagents/production.js +25 -6
  146. package/dist/runtime/subagents/production.js.map +1 -1
  147. package/dist/runtime/subagents/runner.d.ts +12 -1
  148. package/dist/runtime/subagents/runner.d.ts.map +1 -1
  149. package/dist/runtime/subagents/runner.js +62 -1
  150. package/dist/runtime/subagents/runner.js.map +1 -1
  151. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  152. package/dist/runtime/subagents/runtime-integration.js +2 -1
  153. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  154. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  155. package/dist/runtime/subagents/supervisor.js +6 -0
  156. package/dist/runtime/subagents/supervisor.js.map +1 -1
  157. package/dist/runtime/subagents/types.d.ts +4 -1
  158. package/dist/runtime/subagents/types.d.ts.map +1 -1
  159. package/dist/runtime/subagents/types.js.map +1 -1
  160. package/dist/runtime/ui-events.d.ts +2 -0
  161. package/dist/runtime/ui-events.d.ts.map +1 -1
  162. package/dist/runtime/ui-events.js.map +1 -1
  163. package/dist/services/compact/auto-compact.d.ts +82 -2
  164. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  165. package/dist/services/compact/auto-compact.js +226 -44
  166. package/dist/services/compact/auto-compact.js.map +1 -1
  167. package/dist/services/compact/compact.d.ts +54 -37
  168. package/dist/services/compact/compact.d.ts.map +1 -1
  169. package/dist/services/compact/compact.js +512 -127
  170. package/dist/services/compact/compact.js.map +1 -1
  171. package/dist/services/compact/coordinator.d.ts +5 -1
  172. package/dist/services/compact/coordinator.d.ts.map +1 -1
  173. package/dist/services/compact/coordinator.js +10 -1
  174. package/dist/services/compact/coordinator.js.map +1 -1
  175. package/dist/services/compact/fingerprint.d.ts +27 -0
  176. package/dist/services/compact/fingerprint.d.ts.map +1 -0
  177. package/dist/services/compact/fingerprint.js +69 -0
  178. package/dist/services/compact/fingerprint.js.map +1 -0
  179. package/dist/services/compact/index.d.ts +7 -5
  180. package/dist/services/compact/index.d.ts.map +1 -1
  181. package/dist/services/compact/index.js +19 -6
  182. package/dist/services/compact/index.js.map +1 -1
  183. package/dist/services/compact/planner.d.ts +41 -0
  184. package/dist/services/compact/planner.d.ts.map +1 -0
  185. package/dist/services/compact/planner.js +102 -0
  186. package/dist/services/compact/planner.js.map +1 -0
  187. package/dist/services/compact/semantic-summary.d.ts +93 -0
  188. package/dist/services/compact/semantic-summary.d.ts.map +1 -0
  189. package/dist/services/compact/semantic-summary.js +158 -0
  190. package/dist/services/compact/semantic-summary.js.map +1 -0
  191. package/dist/services/compact/summary-generator.d.ts +23 -0
  192. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  193. package/dist/services/compact/summary-generator.js +173 -39
  194. package/dist/services/compact/summary-generator.js.map +1 -1
  195. package/dist/services/file-context.d.ts.map +1 -1
  196. package/dist/services/file-context.js +29 -33
  197. package/dist/services/file-context.js.map +1 -1
  198. package/dist/services/global-config.d.ts +6 -0
  199. package/dist/services/global-config.d.ts.map +1 -1
  200. package/dist/services/global-config.js +8 -0
  201. package/dist/services/global-config.js.map +1 -1
  202. package/dist/services/llm.d.ts +3 -0
  203. package/dist/services/llm.d.ts.map +1 -1
  204. package/dist/services/llm.js +7 -0
  205. package/dist/services/llm.js.map +1 -1
  206. package/dist/services/project-instructions.d.ts.map +1 -1
  207. package/dist/services/project-instructions.js +10 -17
  208. package/dist/services/project-instructions.js.map +1 -1
  209. package/dist/services/safe-project-reader.d.ts +30 -0
  210. package/dist/services/safe-project-reader.d.ts.map +1 -0
  211. package/dist/services/safe-project-reader.js +141 -0
  212. package/dist/services/safe-project-reader.js.map +1 -0
  213. package/dist/services/session-storage.d.ts +134 -5
  214. package/dist/services/session-storage.d.ts.map +1 -1
  215. package/dist/services/session-storage.js +727 -57
  216. package/dist/services/session-storage.js.map +1 -1
  217. package/dist/services/usage-state.d.ts +7 -0
  218. package/dist/services/usage-state.d.ts.map +1 -1
  219. package/dist/services/usage-state.js +117 -16
  220. package/dist/services/usage-state.js.map +1 -1
  221. package/dist/skills/runtime.d.ts.map +1 -1
  222. package/dist/skills/runtime.js +34 -35
  223. package/dist/skills/runtime.js.map +1 -1
  224. package/docs/migration/v0.1.8-to-v0.1.9.md +60 -0
  225. package/docs/plan/v0.1.9-release-checklist.md +64 -0
  226. package/docs/readme.md +27 -0
  227. package/npm-shrinkwrap.json +14 -38
  228. package/package.json +5 -1
  229. package/dist/services/compact/micro-compact.d.ts +0 -21
  230. package/dist/services/compact/micro-compact.d.ts.map +0 -1
  231. package/dist/services/compact/micro-compact.js +0 -99
  232. package/dist/services/compact/micro-compact.js.map +0 -1
@@ -14,20 +14,25 @@ exports.normalizeRequestedSkillName = normalizeRequestedSkillName;
14
14
  exports.parseSkillCommandInput = parseSkillCommandInput;
15
15
  exports.loadExplicitSkillReference = loadExplicitSkillReference;
16
16
  exports.skillActivationNames = skillActivationNames;
17
- const fs_1 = require("fs");
18
17
  const os_1 = require("os");
19
18
  const path_1 = require("path");
20
19
  const loader_1 = require("./loader");
21
20
  const registry_1 = require("./registry");
22
21
  const config_dir_1 = require("../services/config-dir");
22
+ const safe_project_reader_1 = require("../services/safe-project-reader");
23
23
  const types_1 = require("./types");
24
24
  exports.MAX_EXPLICIT_SKILL_BYTES = 64 * 1024;
25
+ function explicitSkillAllowedRoots(cwd) {
26
+ return [(0, path_1.resolve)(cwd), (0, path_1.resolve)((0, config_dir_1.getConfigHome)(), types_1.SKILLS_DIR_NAMES.USER)];
27
+ }
25
28
  function resolveSkillsForTurn(context) {
26
29
  const registry = (0, registry_1.getSkillsRegistry)();
27
30
  const parsedInput = parseSkillCommandInput(context.input);
28
31
  const linkedSkill = loadExplicitSkillReference(context.input, context.cwd);
29
32
  const matched = parsedInput.skillPath
30
- ? (linkedSkill ? [linkedSkill] : [])
33
+ ? linkedSkill
34
+ ? [linkedSkill]
35
+ : []
31
36
  : mergeSkillsByName([
32
37
  ...findExplicitSkillReferences(context.input, registry.getAllSkills()),
33
38
  ...registry.findMatchingSkills(context.input),
@@ -52,8 +57,8 @@ function hasMatchingSkill(input, cwd = process.cwd()) {
52
57
  const linkedSkill = loadExplicitSkillReference(input, cwd);
53
58
  if (parsedInput.skillPath)
54
59
  return !!linkedSkill;
55
- return registry.findMatchingSkills(input).length > 0
56
- || findExplicitSkillReferences(input, registry.getAllSkills()).length > 0;
60
+ return (registry.findMatchingSkills(input).length > 0 ||
61
+ findExplicitSkillReferences(input, registry.getAllSkills()).length > 0);
57
62
  }
58
63
  function resolveSkillResourcePath(skill, relativePath) {
59
64
  const root = skill.resourceRoot || skill.source;
@@ -122,31 +127,22 @@ function loadExplicitSkillReference(input, cwd = process.cwd()) {
122
127
  if ((0, path_1.basename)(sourcePath).toLowerCase() !== 'skill.md')
123
128
  return undefined;
124
129
  try {
125
- const descriptor = (0, fs_1.openSync)(sourcePath, 'r');
126
- let content;
127
- try {
128
- if (!(0, fs_1.fstatSync)(descriptor).isFile())
129
- return undefined;
130
- const buffer = Buffer.alloc(exports.MAX_EXPLICIT_SKILL_BYTES + 1);
131
- let bytesRead = 0;
132
- while (bytesRead < buffer.length) {
133
- const count = (0, fs_1.readSync)(descriptor, buffer, bytesRead, buffer.length - bytesRead, null);
134
- if (count === 0)
135
- break;
136
- bytesRead += count;
130
+ let read;
131
+ for (const root of explicitSkillAllowedRoots(cwd)) {
132
+ const candidate = (0, safe_project_reader_1.readSafeProjectFilePrefix)(sourcePath, root, exports.MAX_EXPLICIT_SKILL_BYTES + 1);
133
+ if (candidate.ok) {
134
+ read = candidate;
135
+ break;
137
136
  }
138
- if (bytesRead > exports.MAX_EXPLICIT_SKILL_BYTES)
139
- return undefined;
140
- content = buffer.subarray(0, bytesRead).toString('utf-8');
141
137
  }
142
- finally {
143
- (0, fs_1.closeSync)(descriptor);
138
+ if (!read?.ok || read.sizeBytes > exports.MAX_EXPLICIT_SKILL_BYTES || read.bytes.includes(0)) {
139
+ return undefined;
144
140
  }
141
+ const content = read.bytes.toString('utf-8');
145
142
  const skill = (0, loader_1.parseSkillFile)(content, sourcePath);
146
143
  if (!skill)
147
144
  return undefined;
148
- const nameMatches = skillActivationNames(skill)
149
- .some(name => normalizeRequestedSkillName(name) === parsed.skillName);
145
+ const nameMatches = skillActivationNames(skill).some(name => normalizeRequestedSkillName(name) === parsed.skillName);
150
146
  if (!nameMatches)
151
147
  return undefined;
152
148
  const resourceRoot = (0, path_1.dirname)(sourcePath);
@@ -237,10 +233,7 @@ function resolveExplicitSkillPath(input, cwd) {
237
233
  // Bug #33 B: an explicit skill reference from chat input must not read an
238
234
  // arbitrary SKILL.md anywhere on disk. Restrict to the project (cwd) and the
239
235
  // user's skills directory. Anything else escapes the allowed roots.
240
- const allowedRoots = [
241
- (0, path_1.resolve)(cwd),
242
- (0, path_1.resolve)((0, config_dir_1.getConfigHome)(), types_1.SKILLS_DIR_NAMES.USER),
243
- ];
236
+ const allowedRoots = explicitSkillAllowedRoots(cwd);
244
237
  if (!allowedRoots.some(root => isWithinRoot(resolved, root))) {
245
238
  throw new Error(`Explicit skill path escapes allowed roots: ${resolved}`);
246
239
  }
@@ -249,15 +242,13 @@ function resolveExplicitSkillPath(input, cwd) {
249
242
  function findExplicitSkillReferences(input, skills) {
250
243
  const command = parseSkillCommandInput(input);
251
244
  if (command.skillName) {
252
- const exact = skills.filter(skill => skillActivationNames(skill)
253
- .some(name => normalizeRequestedSkillName(name) === command.skillName));
245
+ const exact = skills.filter(skill => skillActivationNames(skill).some(name => normalizeRequestedSkillName(name) === command.skillName));
254
246
  // Bug #33 C: an exact-name lookup that finds nothing must fall through to
255
247
  // natural-language matching instead of silently dropping all skill activation.
256
248
  if (exact.length > 0)
257
249
  return exact;
258
250
  }
259
- return skills.filter(skill => skillActivationNames(skill)
260
- .some(name => isSkillExplicitlyRequested(input, name)));
251
+ return skills.filter(skill => skillActivationNames(skill).some(name => isSkillExplicitlyRequested(input, name)));
261
252
  }
262
253
  function toAppliedSkill(skill) {
263
254
  return {
@@ -280,11 +271,19 @@ function skillActivationNames(skill) {
280
271
  }
281
272
  const tags = new Set((skill.tags || []).map(tag => tag.toLowerCase()));
282
273
  const name = skill.name.toLowerCase();
283
- const isTeamWorkflow = name.includes('squad')
284
- || name.includes('team')
285
- || (tags.has('agent-workflow') && (tags.has('coding') || name.includes('coding')));
274
+ const isTeamWorkflow = name.includes('squad') ||
275
+ name.includes('team') ||
276
+ (tags.has('agent-workflow') && (tags.has('coding') || name.includes('coding')));
286
277
  if (isTeamWorkflow) {
287
- for (const alias of ['团队开发', '编程小队', '开发小队', '团队协作', '协同开发', '工作团队', '团队工作']) {
278
+ for (const alias of [
279
+ '团队开发',
280
+ '编程小队',
281
+ '开发小队',
282
+ '团队协作',
283
+ '协同开发',
284
+ '工作团队',
285
+ '团队工作',
286
+ ]) {
288
287
  names.add(alias);
289
288
  }
290
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/skills/runtime.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAqDH,oDAwBC;AAED,4CAOC;AAED,4DAaC;AAED,kEAWC;AAED,wDA2BC;AAED,gEAkDC;AAuHD,oDAmBC;AA3UD,2BAA8D;AAC9D,2BAA6B;AAC7B,+BAAwE;AAExE,qCAAoE;AACpE,yCAA+C;AAC/C,uDAAuD;AAEvD,mCAA4D;AAyC/C,QAAA,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,SAAgB,oBAAoB,CAAC,OAA4B;IAC/D,MAAM,QAAQ,GAAG,IAAA,4BAAiB,GAAE,CAAC;IACrC,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,0BAA0B,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS;QACnC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC,CAAC,iBAAiB,CAAC;YAClB,GAAG,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;YACtE,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC;SAC9C,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAe,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,eAAe;QAC3B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAElB,OAAO;QACL,MAAM;QACN,eAAe,EAAE,wBAAwB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,KAAK;QACL,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAa,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACzE,MAAM,QAAQ,GAAG,IAAA,4BAAiB,GAAE,CAAC;IACrC,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC,WAAW,CAAC;IAChD,OAAO,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;WAC/C,2BAA2B,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAqC,EAAE,YAAoB;IAClG,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,gCAAgC,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,IAAA,cAAO,EAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,2BAA2B,CAAC,KAAa;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,SAAS,IAAI,OAAO,CAAC;IAEzD,OAAO,QAAQ;SACZ,IAAI,EAAE;SACN,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAa;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAC;QAEhD,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,SAAS,EAAE,2BAA2B,CAAC,QAAQ,CAAC;YAChD,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC7E,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAEhD,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC1F,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7C,OAAO;QACL,SAAS,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KACxC,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CACxC,KAAa,EACb,MAAc,OAAO,CAAC,GAAG,EAAE;IAE3B,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAE7D,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAA,eAAQ,EAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAExE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,aAAQ,EAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,IAAA,cAAS,EAAC,UAAU,CAAC,CAAC,MAAM,EAAE;gBAAE,OAAO,SAAS,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAwB,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,OAAO,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAA,aAAQ,EAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;gBACvF,IAAI,KAAK,KAAK,CAAC;oBAAE,MAAM;gBACvB,SAAS,IAAI,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,SAAS,GAAG,gCAAwB;gBAAE,OAAO,SAAS,CAAC;YAC3D,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;gBAAS,CAAC;YACT,IAAA,cAAS,EAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,KAAK,GAAG,IAAA,uBAAc,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC;aAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAEnC,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;QACzC,OAAO;YACL,GAAG,KAAK;YACR,MAAM,EAAE,YAAY;YACpB,YAAY;SACb,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAa,EACb,aAAsB;IAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAE/C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,aAAa,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,MAAM,SAAS,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,WAAW,GAAG,QAAQ,GAAG,CAAC,CAAC;IACjC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IAEtB,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;QACjC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;QACnD,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACpC,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,IAAI,KAAK,GAAG,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,CAAC;gBACX,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,SAAS,GAAG,KAAK,CAAC;oBAClB,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC;oBACzB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;IACtC,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAC7B,WAAW,EACX,OAAO,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,iCAAwB,EAAC,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO;QACL,SAAS;QACT,SAAS;QACT,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;KACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY;IAC9C,MAAM,GAAG,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,GAAW;IAC1D,MAAM,UAAU,GAAG,IAAA,iCAAwB,EAAC,KAAK,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,UAAU,KAAK,GAAG;QACjC,CAAC,CAAC,IAAA,YAAO,GAAE;QACX,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,IAAA,cAAO,EAAC,IAAA,YAAO,GAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,UAAU,CAAC;IACjB,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAExC,0EAA0E;IAC1E,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,YAAY,GAAG;QACnB,IAAA,cAAO,EAAC,GAAG,CAAC;QACZ,IAAA,cAAO,EAAC,IAAA,0BAAa,GAAE,EAAE,wBAAgB,CAAC,IAAI,CAAC;KAChD,CAAC;IACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,8CAA8C,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa,EAAE,MAAyB;IAC3E,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC;aAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1E,0EAA0E;QAC1E,+EAA+E;QAC/E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC;SACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM;QAChD,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAyD;IAC5F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;WACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;WACrB,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7E,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAyB;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa,EAAE,SAAiB;IAClE,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;IACtE,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;IACpD,MAAM,YAAY,GAAG,2BAA2B,CAAC;IACjD,MAAM,aAAa,GAAG,sCAAsC,CAAC;IAE7D,MAAM,QAAQ,GAAG;QACf,IAAI,MAAM,CAAC,KAAK,WAAW,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC;QACpD,IAAI,MAAM,CAAC,GAAG,YAAY,GAAG,gBAAgB,sBAAsB,gBAAgB,SAAS,WAAW,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC;QAChI,IAAI,MAAM,CAAC,GAAG,YAAY,GAAG,gBAAgB,OAAO,WAAW,UAAU,gBAAgB,IAAI,aAAa,EAAE,EAAE,IAAI,CAAC;QACnH,IAAI,MAAM,CAAC,GAAG,YAAY,gCAAgC,WAAW,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC;QAC9F,IAAI,MAAM,CAAC,GAAG,YAAY,GAAG,WAAW,+BAA+B,aAAa,EAAE,EAAE,IAAI,CAAC;QAC7F,IAAI,MAAM,CAAC,gCAAgC,WAAW,GAAG,aAAa,EAAE,EAAE,IAAI,CAAC;QAC/E,IAAI,MAAM,CAAC,GAAG,YAAY,GAAG,WAAW,gCAAgC,EAAE,IAAI,CAAC;KAChF,CAAC;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsB;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAsB,EAAE,eAAyB;IACjF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAa;QACtB,kBAAkB;QAClB,EAAE;QACF,sGAAsG;QACtG,EAAE;KACH,CAAC;IAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,6BAA6B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/skills/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ # Orion Code v0.1.8 → v0.1.9 migration and rollback
2
+
3
+ Status: release-candidate guidance. Update release receipts before treating v0.1.9 as published.
4
+
5
+ ## What changes
6
+
7
+ - TaskContract V3 is an additive contract stored inside the existing HarnessState V2 sidecar.
8
+ Legacy string criteria remain readable and normalize deterministically to stable criterion IDs.
9
+ - Compact Checkpoint V1 remains readable. v0.1.9 writes Checkpoint V2 with source and replacement
10
+ hashes, semantic candidate receipts, target-headroom validation, and Harness/Goal bindings.
11
+ - The canonical session transcript remains append-only. Compact replaces only the model-visible
12
+ projection, so an invalid or stale checkpoint can fall back to the transcript without replaying
13
+ external side effects.
14
+ - Legacy Goal continuation counters remain readable as telemetry, but no longer terminate a
15
+ progressing Goal after five continuations. Explicit resource budgets, no-progress, provider,
16
+ permission, abort, and evidence gates remain active.
17
+ - Deprecated subagent turn fields remain accepted for one compatibility window and translate to
18
+ request/tool budgets.
19
+
20
+ ## Before upgrading
21
+
22
+ 1. Stop active Orion CLI processes so session sidecars are quiescent.
23
+ 2. Record the installed version with `orion --version`.
24
+ 3. Make a recoverable backup of `~/.orion-code` using a copy or snapshot tool appropriate for the
25
+ machine. Keep file permissions intact and do not commit the directory.
26
+ 4. Run `orion doctor` on v0.1.8 and resolve storage/native dependency errors first.
27
+
28
+ Install the immutable candidate only after its npm receipt exists:
29
+
30
+ ```bash
31
+ npm install -g @orion-agents/orion-code@0.1.9
32
+ orion --version
33
+ orion doctor
34
+ ```
35
+
36
+ ## First resume on v0.1.9
37
+
38
+ - Resume a non-critical session first and inspect `/context explain`.
39
+ - A valid V1 checkpoint is accepted. The next successful compact writes V2.
40
+ - A stale, corrupt, source-mismatched, Harness-mismatched, or Goal-mismatched V2 checkpoint is not
41
+ installed. Orion keeps the canonical transcript and reports an actionable diagnostic.
42
+ - Do not delete `.candidate`, `.previous`, `.lock`, or `.recovery` files while an Orion process is
43
+ running. Use the explicit storage repair flow after confirming no process owns them.
44
+
45
+ ## Rollback
46
+
47
+ The executable can be rolled back without deleting session data:
48
+
49
+ ```bash
50
+ npm install -g @orion-agents/orion-code@0.1.8
51
+ orion --version
52
+ ```
53
+
54
+ v0.1.8 does not understand V2 Compact sidecars. It can still read the canonical transcript, but it
55
+ may ignore the latest model projection and V3-only criterion metadata. For the cleanest rollback,
56
+ stop Orion, restore the pre-upgrade `~/.orion-code` backup, then resume. Never copy only the compact
57
+ pointer without its session meta, transcript, Harness, and Goal sidecars.
58
+
59
+ If rollback was caused by a data mismatch, preserve the v0.1.9 backup and diagnostic output for
60
+ audit; do not repeatedly compact or resume the affected session until the mismatch is understood.
@@ -0,0 +1,64 @@
1
+ # v0.1.9 release checklist
2
+
3
+ Status: `candidate`; immutable source SHA and delivery receipts are filled only after the relevant
4
+ action succeeds.
5
+
6
+ ## Identity and scope
7
+
8
+ - [x] `package.json` and `npm-shrinkwrap.json` both identify `0.1.9`.
9
+ - [ ] `node scripts/release/release-check.js --expected-version 0.1.9` passes on the exact RC SHA.
10
+ - [x] Original user-owned dirty documentation is excluded from the release commit.
11
+ - [x] CHANGELOG, README files, migration guide, goals, architecture benchmark, and this checklist
12
+ describe the same candidate state.
13
+
14
+ ## Issue and workstream receipts
15
+
16
+ - [x] #206: independent usage-ledger lock, invalid-number fail-closed behavior, lock timeout
17
+ diagnostic, and real multi-process replay test.
18
+ - [x] #207: canonical containment, symlink/non-regular rejection, descriptor revalidation,
19
+ replacement-race regression, and redacted errors.
20
+ - [x] #161: explicit decision is `next` candidate only unless the user separately authorizes
21
+ `latest`; keep the issue open while stable promotion remains pending.
22
+ - [x] Semantic Compact: ten-round invariant retention, tool-group integrity, bounded focus,
23
+ provider fallback, model-switch preflight, stale-CAS rejection, crash rollback, restart/resume.
24
+ - [x] Autonomous Stop: request/Goal/subagent StopDecision parity, 21+ real Goal continuations,
25
+ no-progress pause, resource pause, abort/shutdown, and Print no-ghost behavior.
26
+ - [x] HarnessKernel: TaskContract V3, criterion evidence graph, capability versions, deterministic
27
+ serialization, atomic prompt budgets, opaque evidence rejection, and explain output.
28
+
29
+ ## Source gates
30
+
31
+ - [x] `npm run lint`
32
+ - [x] `npm run build`
33
+ - [x] `npm test -- --runInBand`
34
+ - [x] `npm run test:coverage -- --runInBand`; total coverage does not regress and new core modules
35
+ meet the documented branch target.
36
+ - [ ] `npm run prepublishOnly`
37
+ - [x] `git diff --check`
38
+ - [ ] worktree clean at the release SHA
39
+
40
+ ## Runtime and compatibility matrix
41
+
42
+ - [x] Node 20: clean install, build, full serial Jest, native DB probe, version/help.
43
+ - [x] Node 22: clean install, build, full serial Jest, native DB probe, version/help.
44
+ - [x] Node 24: clean install, build, full serial Jest, native DB probe, version/help.
45
+ - [x] TUI BUILD/PLAN/AUTO/Goal smoke.
46
+ - [x] Terminal, Print text/JSONL, Research, resume/Goal, and Compact lifecycle smoke.
47
+ - [ ] Exact `npm pack` tarball installs into an empty prefix and runs version/help/doctor plus a
48
+ compact/resume smoke.
49
+
50
+ ## Delivery receipts
51
+
52
+ | Receipt | Expected evidence | Result |
53
+ | --------------------- | ----------------------------------------- | -------------------------------- |
54
+ | Source SHA | immutable commit on `v0.1.9` | pending |
55
+ | Pull request | URL, head SHA, CI conclusion | pending |
56
+ | Git tag | separately authorized `v0.1.9` target | not authorized by this checklist |
57
+ | GitHub Release | separately authorized release URL | not authorized by this checklist |
58
+ | npm immutable version | `@orion-agents/orion-code@0.1.9` readback | pending |
59
+ | npm `next` | dist-tag readback equals `0.1.9` | pending |
60
+ | npm `latest` | separate explicit authorization | keep at `0.1.4` |
61
+
62
+ Rollback: do not infer one receipt from another. If npm publication fails, leave `next` on the
63
+ last verified version. Follow [the migration guide](../migration/v0.1.8-to-v0.1.9.md) for
64
+ data-compatible executable rollback.
package/docs/readme.md ADDED
@@ -0,0 +1,27 @@
1
+ # Orion Code Documentation
2
+
3
+ ## Directory ownership
4
+
5
+ - [`architecture/`](architecture/repository-layout.md) — current component ownership, dependency
6
+ direction, and product/runtime contracts.
7
+ - [`goals/`](goals/orion-code-项目级目标.md) — durable product goals and Goal evidence/recovery
8
+ guidance.
9
+ - [`plan/`](plan/v0.1.9-plan.md) — active execution plans, current release gates, and future roadmap.
10
+ - [`archive/releases/v0.1.x/`](archive/releases/v0.1.x/README.md) — immutable historical plans,
11
+ audits, freeze boundaries, and release receipts.
12
+ - `test/` — maintained manual test references that do not belong in the Jest suite.
13
+ - [`orion.example.json`](orion.example.json) — current providers+models configuration example.
14
+ - [`zed-acp-integration.md`](zed-acp-integration.md) — Zed ACP integration guidance.
15
+
16
+ The repository release history is canonical in [`CHANGELOG.md`](../CHANGELOG.md). Active plans may
17
+ link into the archive, but historical evidence is not moved back into `plan/` merely to satisfy an
18
+ old relative path.
19
+
20
+ ## v0.1.9 release set
21
+
22
+ - [Autonomous agent plan](plan/v0.1.9-plan.md)
23
+ - [Mature-agent Compact benchmark](architecture/compact-benchmark.md)
24
+ - [Health ledger](plan/v0.1.9-health-ledger.md)
25
+ - [Release checklist](plan/v0.1.9-release-checklist.md)
26
+ - [Migration and rollback](migration/v0.1.8-to-v0.1.9.md)
27
+ - [Durable product goal](goals/v0.1.9-autonomous-agent-goal.md)
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@orion-agents/orion-code",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@orion-agents/orion-code",
9
- "version": "0.1.8",
9
+ "version": "0.1.9",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@clack/prompts": "^0.7.0",
@@ -585,9 +585,7 @@
585
585
  "version": "0.7.0",
586
586
  "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.7.0.tgz",
587
587
  "integrity": "sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==",
588
- "bundleDependencies": [
589
- "is-unicode-supported"
590
- ],
588
+ "bundleDependencies": ["is-unicode-supported"],
591
589
  "license": "MIT",
592
590
  "dependencies": {
593
591
  "@clack/core": "^0.3.3",
@@ -3454,9 +3452,7 @@
3454
3452
  "hasInstallScript": true,
3455
3453
  "license": "MIT",
3456
3454
  "optional": true,
3457
- "os": [
3458
- "darwin"
3459
- ],
3455
+ "os": ["darwin"],
3460
3456
  "engines": {
3461
3457
  "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
3462
3458
  }
@@ -6339,66 +6335,46 @@
6339
6335
  "version": "0.1.9",
6340
6336
  "resolved": "https://registry.npmjs.org/sqlite-vec-darwin-arm64/-/sqlite-vec-darwin-arm64-0.1.9.tgz",
6341
6337
  "integrity": "sha512-jSsZpE42OfBkGL/ItyJTVCUwl6o6Ka3U5rc4j+UBDIQzC1ulSSKMEhQLthsOnF/MdAf1MuAkYhkdKmmcjaIZQg==",
6342
- "cpu": [
6343
- "arm64"
6344
- ],
6338
+ "cpu": ["arm64"],
6345
6339
  "license": "MIT OR Apache",
6346
6340
  "optional": true,
6347
- "os": [
6348
- "darwin"
6349
- ]
6341
+ "os": ["darwin"]
6350
6342
  },
6351
6343
  "node_modules/sqlite-vec-darwin-x64": {
6352
6344
  "version": "0.1.9",
6353
6345
  "resolved": "https://registry.npmjs.org/sqlite-vec-darwin-x64/-/sqlite-vec-darwin-x64-0.1.9.tgz",
6354
6346
  "integrity": "sha512-KDlVyqQT7pnOhU1ymB9gs7dMbSoVmKHitT+k1/xkjarcX8bBqPxWrGlK/R+C5WmWkfvWwyq5FfXfiBYCBs6PlA==",
6355
- "cpu": [
6356
- "x64"
6357
- ],
6347
+ "cpu": ["x64"],
6358
6348
  "license": "MIT OR Apache",
6359
6349
  "optional": true,
6360
- "os": [
6361
- "darwin"
6362
- ]
6350
+ "os": ["darwin"]
6363
6351
  },
6364
6352
  "node_modules/sqlite-vec-linux-arm64": {
6365
6353
  "version": "0.1.9",
6366
6354
  "resolved": "https://registry.npmjs.org/sqlite-vec-linux-arm64/-/sqlite-vec-linux-arm64-0.1.9.tgz",
6367
6355
  "integrity": "sha512-5wXVJ9c9kR4CHm/wVqXb/R+XUHTdpZ4nWbPHlS+gc9qQFVHs92Km4bPnCKX4rtcPMzvNis+SIzMJR1SCEwpuUw==",
6368
- "cpu": [
6369
- "arm64"
6370
- ],
6356
+ "cpu": ["arm64"],
6371
6357
  "license": "MIT OR Apache",
6372
6358
  "optional": true,
6373
- "os": [
6374
- "linux"
6375
- ]
6359
+ "os": ["linux"]
6376
6360
  },
6377
6361
  "node_modules/sqlite-vec-linux-x64": {
6378
6362
  "version": "0.1.9",
6379
6363
  "resolved": "https://registry.npmjs.org/sqlite-vec-linux-x64/-/sqlite-vec-linux-x64-0.1.9.tgz",
6380
6364
  "integrity": "sha512-w3tCH8xK2finW8fQJ/m8uqKodXUZ9KAuAar2UIhz4BHILfpE0WM/MTGCRfa7RjYbrYim5Luk3guvMOGI7T7JQA==",
6381
- "cpu": [
6382
- "x64"
6383
- ],
6365
+ "cpu": ["x64"],
6384
6366
  "license": "MIT OR Apache",
6385
6367
  "optional": true,
6386
- "os": [
6387
- "linux"
6388
- ]
6368
+ "os": ["linux"]
6389
6369
  },
6390
6370
  "node_modules/sqlite-vec-windows-x64": {
6391
6371
  "version": "0.1.9",
6392
6372
  "resolved": "https://registry.npmjs.org/sqlite-vec-windows-x64/-/sqlite-vec-windows-x64-0.1.9.tgz",
6393
6373
  "integrity": "sha512-y3gEIyy/17bq2QFPQOWLE68TYWcRZkBQVA2XLrTPHNTOp55xJi/BBBmOm40tVMDMjtP+Elpk6UBUXdaq+46b0Q==",
6394
- "cpu": [
6395
- "x64"
6396
- ],
6374
+ "cpu": ["x64"],
6397
6375
  "license": "MIT OR Apache",
6398
6376
  "optional": true,
6399
- "os": [
6400
- "win32"
6401
- ]
6377
+ "os": ["win32"]
6402
6378
  },
6403
6379
  "node_modules/stack-utils": {
6404
6380
  "version": "2.0.6",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orion-agents/orion-code",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Orion Code - goal-driven coding agent for the terminal.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,6 +11,10 @@
11
11
  "dist/",
12
12
  "bin/",
13
13
  "assets/orion-tui-icon.png",
14
+ "CHANGELOG.md",
15
+ "docs/readme.md",
16
+ "docs/migration/v0.1.8-to-v0.1.9.md",
17
+ "docs/plan/v0.1.9-release-checklist.md",
14
18
  "LICENSE",
15
19
  "README.md",
16
20
  "README.zh-CN.md",
@@ -1,21 +0,0 @@
1
- /**
2
- * orion code - 快速压缩
3
- *
4
- * 不生成摘要,仅保留最近 N 条消息。
5
- * 用于紧急情况下的快速压缩。
6
- */
7
- import type { Message } from '../llm';
8
- /**
9
- * 微压缩:保留最近 10 条消息
10
- */
11
- export declare function microCompact(messages: Message[]): Message[];
12
- /**
13
- * 超快速压缩:保留最近 5 条 + 保留关键工具调用
14
- */
15
- export declare function ultraCompact(messages: Message[]): Message[];
16
- /**
17
- * 按角色压缩:保留 system + 最近 user/assistant
18
- */
19
- export declare function roleCompact(messages: Message[]): Message[];
20
- export { microCompact as quickCompact };
21
- //# sourceMappingURL=micro-compact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"micro-compact.d.ts","sourceRoot":"","sources":["../../../src/services/compact/micro-compact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMtC;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAuB3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAgD3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAmB1D;AAMD,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,CAAC"}
@@ -1,99 +0,0 @@
1
- "use strict";
2
- /**
3
- * orion code - 快速压缩
4
- *
5
- * 不生成摘要,仅保留最近 N 条消息。
6
- * 用于紧急情况下的快速压缩。
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.microCompact = microCompact;
10
- exports.quickCompact = microCompact;
11
- exports.ultraCompact = ultraCompact;
12
- exports.roleCompact = roleCompact;
13
- // ============================================================================
14
- // 快速压缩
15
- // ============================================================================
16
- /**
17
- * 微压缩:保留最近 10 条消息
18
- */
19
- function microCompact(messages) {
20
- const KEEP_LAST = 10;
21
- const systemMessage = messages.find(m => m.role === 'system');
22
- const nonSystem = messages.filter(m => m.role !== 'system');
23
- const recent = nonSystem.slice(-KEEP_LAST);
24
- const result = [];
25
- if (systemMessage) {
26
- result.push(systemMessage);
27
- }
28
- // 添加简洁提示
29
- if (nonSystem.length > KEEP_LAST) {
30
- result.push({
31
- role: 'user',
32
- content: `[Context trimmed] Earlier conversation has been compressed. Please continue.`,
33
- });
34
- }
35
- result.push(...recent);
36
- return result;
37
- }
38
- /**
39
- * 超快速压缩:保留最近 5 条 + 保留关键工具调用
40
- */
41
- function ultraCompact(messages) {
42
- const KEEP_LAST = 5;
43
- const systemMessage = messages.find(m => m.role === 'system');
44
- const nonSystem = messages.filter(m => m.role !== 'system');
45
- // 提取关键工具调用
46
- const criticalToolCalls = [];
47
- const CRITICAL_TOOLS = ['write_file', 'edit_file', 'exec_command'];
48
- for (const msg of nonSystem) {
49
- if (msg.role === 'assistant' && msg.tool_calls) {
50
- const criticalCalls = msg.tool_calls.filter(tc => CRITICAL_TOOLS.includes(tc.function.name));
51
- if (criticalCalls.length > 0) {
52
- criticalToolCalls.push({
53
- role: 'assistant',
54
- content: msg.content || '',
55
- tool_calls: criticalCalls,
56
- });
57
- }
58
- }
59
- }
60
- // 保留最近消息
61
- const recent = nonSystem.slice(-KEEP_LAST);
62
- // 构建结果
63
- const result = [];
64
- if (systemMessage) {
65
- result.push(systemMessage);
66
- }
67
- // 合并关键工具调用和最近消息(去重)
68
- const merged = [...criticalToolCalls, ...recent];
69
- const uniqueIds = new Set();
70
- for (const msg of merged) {
71
- // 简单去重:基于内容
72
- const id = `${msg.role}:${msg.content?.slice(0, 50)}`;
73
- if (!uniqueIds.has(id)) {
74
- uniqueIds.add(id);
75
- result.push(msg);
76
- }
77
- }
78
- return result;
79
- }
80
- /**
81
- * 按角色压缩:保留 system + 最近 user/assistant
82
- */
83
- function roleCompact(messages) {
84
- const systemMessage = messages.find(m => m.role === 'system');
85
- // 获取最近的 user 和 assistant 消息
86
- const recentUsers = messages.filter(m => m.role === 'user').slice(-2);
87
- const recentAssistants = messages.filter(m => m.role === 'assistant').slice(-2);
88
- const recentTools = messages.filter(m => m.role === 'tool').slice(-4);
89
- const result = [];
90
- if (systemMessage) {
91
- result.push(systemMessage);
92
- }
93
- // 按时间顺序添加(简化:假设最近顺序)
94
- result.push(...recentUsers);
95
- result.push(...recentAssistants);
96
- result.push(...recentTools);
97
- return result;
98
- }
99
- //# sourceMappingURL=micro-compact.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"micro-compact.js","sourceRoot":"","sources":["../../../src/services/compact/micro-compact.ts"],"names":[],"mappings":"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"}