wotann 0.5.39 → 0.5.41

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 (149) hide show
  1. package/dist/autopilot/completion-oracle.d.ts +71 -0
  2. package/dist/autopilot/completion-oracle.d.ts.map +1 -1
  3. package/dist/autopilot/completion-oracle.js +69 -2
  4. package/dist/autopilot/completion-oracle.js.map +1 -1
  5. package/dist/context/compaction-floor.d.ts +100 -0
  6. package/dist/context/compaction-floor.d.ts.map +1 -0
  7. package/dist/context/compaction-floor.js +94 -0
  8. package/dist/context/compaction-floor.js.map +1 -0
  9. package/dist/context/compaction.d.ts +27 -1
  10. package/dist/context/compaction.d.ts.map +1 -1
  11. package/dist/context/compaction.js +31 -0
  12. package/dist/context/compaction.js.map +1 -1
  13. package/dist/daemon/kairos-rpc.d.ts +1 -0
  14. package/dist/daemon/kairos-rpc.d.ts.map +1 -1
  15. package/dist/daemon/kairos-rpc.js +24 -0
  16. package/dist/daemon/kairos-rpc.js.map +1 -1
  17. package/dist/daemon/rpc-handlers/ports-rpc.d.ts +100 -0
  18. package/dist/daemon/rpc-handlers/ports-rpc.d.ts.map +1 -0
  19. package/dist/daemon/rpc-handlers/ports-rpc.js +278 -0
  20. package/dist/daemon/rpc-handlers/ports-rpc.js.map +1 -0
  21. package/dist/hooks/agentmemory-event-taxonomy.d.ts +144 -0
  22. package/dist/hooks/agentmemory-event-taxonomy.d.ts.map +1 -0
  23. package/dist/hooks/agentmemory-event-taxonomy.js +85 -0
  24. package/dist/hooks/agentmemory-event-taxonomy.js.map +1 -0
  25. package/dist/hooks/built-in.d.ts.map +1 -1
  26. package/dist/hooks/built-in.js +7 -3
  27. package/dist/hooks/built-in.js.map +1 -1
  28. package/dist/hooks/engine.d.ts +14 -0
  29. package/dist/hooks/engine.d.ts.map +1 -1
  30. package/dist/hooks/engine.js +62 -0
  31. package/dist/hooks/engine.js.map +1 -1
  32. package/dist/index.js +91 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/lib.d.ts +1 -1
  35. package/dist/lib.d.ts.map +1 -1
  36. package/dist/lib.js +1 -1
  37. package/dist/lib.js.map +1 -1
  38. package/dist/memory/injection-scanner.d.ts +78 -0
  39. package/dist/memory/injection-scanner.d.ts.map +1 -0
  40. package/dist/memory/injection-scanner.js +204 -0
  41. package/dist/memory/injection-scanner.js.map +1 -0
  42. package/dist/middleware/output-truncation.d.ts +18 -5
  43. package/dist/middleware/output-truncation.d.ts.map +1 -1
  44. package/dist/middleware/output-truncation.js +73 -1
  45. package/dist/middleware/output-truncation.js.map +1 -1
  46. package/dist/middleware/ttsr.d.ts +79 -3
  47. package/dist/middleware/ttsr.d.ts.map +1 -1
  48. package/dist/middleware/ttsr.js +136 -16
  49. package/dist/middleware/ttsr.js.map +1 -1
  50. package/dist/orchestration/autonomous.d.ts +182 -0
  51. package/dist/orchestration/autonomous.d.ts.map +1 -1
  52. package/dist/orchestration/autonomous.js +288 -1
  53. package/dist/orchestration/autonomous.js.map +1 -1
  54. package/dist/orchestration/ports-bridge.d.ts +325 -0
  55. package/dist/orchestration/ports-bridge.d.ts.map +1 -0
  56. package/dist/orchestration/ports-bridge.js +712 -0
  57. package/dist/orchestration/ports-bridge.js.map +1 -0
  58. package/dist/orchestration/textgrad-refinement.d.ts +123 -0
  59. package/dist/orchestration/textgrad-refinement.d.ts.map +1 -0
  60. package/dist/orchestration/textgrad-refinement.js +111 -0
  61. package/dist/orchestration/textgrad-refinement.js.map +1 -0
  62. package/dist/prompt/engine.d.ts +15 -0
  63. package/dist/prompt/engine.d.ts.map +1 -1
  64. package/dist/prompt/engine.js +20 -7
  65. package/dist/prompt/engine.js.map +1 -1
  66. package/dist/prompt/modules/capabilities.d.ts.map +1 -1
  67. package/dist/prompt/modules/capabilities.js +1 -0
  68. package/dist/prompt/modules/capabilities.js.map +1 -1
  69. package/dist/prompt/modules/caveman.d.ts.map +1 -1
  70. package/dist/prompt/modules/caveman.js +1 -0
  71. package/dist/prompt/modules/caveman.js.map +1 -1
  72. package/dist/prompt/modules/conventions.d.ts.map +1 -1
  73. package/dist/prompt/modules/conventions.js +1 -0
  74. package/dist/prompt/modules/conventions.js.map +1 -1
  75. package/dist/prompt/modules/identity.d.ts.map +1 -1
  76. package/dist/prompt/modules/identity.js +1 -0
  77. package/dist/prompt/modules/identity.js.map +1 -1
  78. package/dist/prompt/modules/index.d.ts +29 -0
  79. package/dist/prompt/modules/index.d.ts.map +1 -1
  80. package/dist/prompt/modules/index.js +51 -9
  81. package/dist/prompt/modules/index.js.map +1 -1
  82. package/dist/prompt/modules/llms-txt.d.ts.map +1 -1
  83. package/dist/prompt/modules/llms-txt.js +2 -4
  84. package/dist/prompt/modules/llms-txt.js.map +1 -1
  85. package/dist/prompt/modules/safety.d.ts.map +1 -1
  86. package/dist/prompt/modules/safety.js +1 -0
  87. package/dist/prompt/modules/safety.js.map +1 -1
  88. package/dist/prompt/modules/security.d.ts.map +1 -1
  89. package/dist/prompt/modules/security.js +1 -0
  90. package/dist/prompt/modules/security.js.map +1 -1
  91. package/dist/prompt/modules/skills.d.ts.map +1 -1
  92. package/dist/prompt/modules/skills.js +1 -0
  93. package/dist/prompt/modules/skills.js.map +1 -1
  94. package/dist/prompt/modules/tools.d.ts.map +1 -1
  95. package/dist/prompt/modules/tools.js +1 -0
  96. package/dist/prompt/modules/tools.js.map +1 -1
  97. package/dist/prompt/modules/user.d.ts.map +1 -1
  98. package/dist/prompt/modules/user.js +1 -0
  99. package/dist/prompt/modules/user.js.map +1 -1
  100. package/dist/providers/credential-pool.d.ts +45 -1
  101. package/dist/providers/credential-pool.d.ts.map +1 -1
  102. package/dist/providers/credential-pool.js +94 -1
  103. package/dist/providers/credential-pool.js.map +1 -1
  104. package/dist/providers/sticky-rotation-wire.d.ts +133 -0
  105. package/dist/providers/sticky-rotation-wire.d.ts.map +1 -0
  106. package/dist/providers/sticky-rotation-wire.js +185 -0
  107. package/dist/providers/sticky-rotation-wire.js.map +1 -0
  108. package/dist/runtime-hooks/ttsr-rule.d.ts +82 -0
  109. package/dist/runtime-hooks/ttsr-rule.d.ts.map +1 -0
  110. package/dist/runtime-hooks/ttsr-rule.js +207 -0
  111. package/dist/runtime-hooks/ttsr-rule.js.map +1 -0
  112. package/dist/runtime-hooks/ttsr-runner.d.ts +129 -0
  113. package/dist/runtime-hooks/ttsr-runner.d.ts.map +1 -0
  114. package/dist/runtime-hooks/ttsr-runner.js +193 -0
  115. package/dist/runtime-hooks/ttsr-runner.js.map +1 -0
  116. package/dist/runtime-hooks/ttsr-scope.d.ts +115 -0
  117. package/dist/runtime-hooks/ttsr-scope.d.ts.map +1 -0
  118. package/dist/runtime-hooks/ttsr-scope.js +378 -0
  119. package/dist/runtime-hooks/ttsr-scope.js.map +1 -0
  120. package/dist/sandbox/unified-exec.d.ts.map +1 -1
  121. package/dist/sandbox/unified-exec.js +6 -1
  122. package/dist/sandbox/unified-exec.js.map +1 -1
  123. package/dist/skills/cli-anything.d.ts.map +1 -1
  124. package/dist/skills/cli-anything.js +4 -1
  125. package/dist/skills/cli-anything.js.map +1 -1
  126. package/dist/skills/limits.d.ts +86 -0
  127. package/dist/skills/limits.d.ts.map +1 -0
  128. package/dist/skills/limits.js +140 -0
  129. package/dist/skills/limits.js.map +1 -0
  130. package/dist/skills/loader.d.ts +9 -0
  131. package/dist/skills/loader.d.ts.map +1 -1
  132. package/dist/skills/loader.js +29 -1
  133. package/dist/skills/loader.js.map +1 -1
  134. package/dist/storage/session-artifacts.d.ts +105 -0
  135. package/dist/storage/session-artifacts.d.ts.map +1 -0
  136. package/dist/storage/session-artifacts.js +198 -0
  137. package/dist/storage/session-artifacts.js.map +1 -0
  138. package/dist/tools/workspace-pack.d.ts +97 -0
  139. package/dist/tools/workspace-pack.d.ts.map +1 -0
  140. package/dist/tools/workspace-pack.js +228 -0
  141. package/dist/tools/workspace-pack.js.map +1 -0
  142. package/dist/tui/composer-history.d.ts +99 -0
  143. package/dist/tui/composer-history.d.ts.map +1 -0
  144. package/dist/tui/composer-history.js +169 -0
  145. package/dist/tui/composer-history.js.map +1 -0
  146. package/dist/ui/components/PromptInput.d.ts.map +1 -1
  147. package/dist/ui/components/PromptInput.js +80 -9
  148. package/dist/ui/components/PromptInput.js.map +1 -1
  149. package/package.json +1 -1
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Skill Size Caps — Port from Zed agent_skills.
3
+ *
4
+ * Skills are loaded from untrusted-ish directories (.claude/, .cursor/,
5
+ * .gemini/, .codex/, .cline/, .copilot/, plus the project's own ./skills).
6
+ * Each skill carries (a) a body that ships into the model context on
7
+ * activation and (b) a description that ships into every system-prompt
8
+ * assembly. Both have failure modes if uncapped:
9
+ *
10
+ * - Single skill file too large -> context bloat / OOM during read.
11
+ * - Aggregate descriptions too large -> system-prompt > model window
12
+ * before any task message is even appended.
13
+ *
14
+ * Zed's reference values:
15
+ * MAX_SKILL_FILE_SIZE = 100 KiB (100 * 1024 bytes)
16
+ * MAX_SKILL_DESCRIPTIONS = 50 KiB total across all injected descriptions
17
+ * SKILL_IO_CONCURRENCY = 16 concurrent FS ops
18
+ *
19
+ * Errors are typed so callers can branch on them (loader logs and rejects;
20
+ * doctor command surfaces user-actionable advice).
21
+ *
22
+ * The concurrency helper is a small semaphore — runs `tasks` with a hard cap
23
+ * of {@link SKILL_IO_CONCURRENCY} in flight at once. Return order matches
24
+ * input order regardless of completion order. Errors are propagated; the
25
+ * first rejection causes `withSkillIoConcurrency` to reject (other tasks are
26
+ * still allowed to settle — we await them so we never leak handles).
27
+ */
28
+ // ── Constants ───────────────────────────────────────────────
29
+ /** Single skill file (SKILL.md or .md) hard cap. */
30
+ export const MAX_SKILL_FILE_SIZE = 100 * 1024;
31
+ /** Aggregate length cap across all skill descriptions injected into a system prompt. */
32
+ export const MAX_SKILL_DESCRIPTIONS_SIZE = 50 * 1024;
33
+ /** Max concurrent FS operations during skill discovery/loading. */
34
+ export const SKILL_IO_CONCURRENCY = 16;
35
+ // ── Error types ─────────────────────────────────────────────
36
+ /**
37
+ * Thrown by {@link validateSkillFileSize} when a single skill file exceeds
38
+ * {@link MAX_SKILL_FILE_SIZE}. Carries the offending path + measured size so
39
+ * callers can render an actionable diagnostic.
40
+ */
41
+ export class SkillTooLargeError extends Error {
42
+ path;
43
+ size;
44
+ limit;
45
+ constructor(path, size, limit = MAX_SKILL_FILE_SIZE) {
46
+ super(`Skill file too large: ${path} is ${size} bytes (limit: ${limit} bytes / ${Math.floor(limit / 1024)} KiB)`);
47
+ this.name = "SkillTooLargeError";
48
+ this.path = path;
49
+ this.size = size;
50
+ this.limit = limit;
51
+ }
52
+ }
53
+ /**
54
+ * Thrown by {@link validateSkillDescriptionsTotal} when the sum of all skill
55
+ * descriptions about to be injected into the system prompt exceeds
56
+ * {@link MAX_SKILL_DESCRIPTIONS_SIZE}. Carries the measured total so callers
57
+ * can budget across skills.
58
+ */
59
+ export class SkillDescriptionsTooBigError extends Error {
60
+ total;
61
+ limit;
62
+ count;
63
+ constructor(total, count, limit = MAX_SKILL_DESCRIPTIONS_SIZE) {
64
+ super(`Skill descriptions exceed system-prompt budget: ${total} chars across ${count} skills (limit: ${limit} chars / ${Math.floor(limit / 1024)} KiB)`);
65
+ this.name = "SkillDescriptionsTooBigError";
66
+ this.total = total;
67
+ this.limit = limit;
68
+ this.count = count;
69
+ }
70
+ }
71
+ // ── Validators ──────────────────────────────────────────────
72
+ /**
73
+ * Reject any single skill file whose on-disk byte count exceeds
74
+ * {@link MAX_SKILL_FILE_SIZE}. Throws {@link SkillTooLargeError} — the error
75
+ * pathname matches the input pathname exactly so callers can correlate.
76
+ *
77
+ * Note: this validates the **on-disk byte size**, not the in-memory string
78
+ * length. Pass `stat.size` (or `Buffer.byteLength(content, "utf-8")`) — do
79
+ * NOT pass `content.length` (that counts code units, not bytes, and
80
+ * undercounts multi-byte UTF-8).
81
+ */
82
+ export function validateSkillFileSize(filePath, bytes) {
83
+ if (bytes > MAX_SKILL_FILE_SIZE) {
84
+ throw new SkillTooLargeError(filePath, bytes);
85
+ }
86
+ }
87
+ /**
88
+ * Reject the *aggregate* of skill description strings if their sum-of-lengths
89
+ * exceeds {@link MAX_SKILL_DESCRIPTIONS_SIZE}. Throws
90
+ * {@link SkillDescriptionsTooBigError}. Use this just before assembling the
91
+ * progressive-disclosure section of the system prompt.
92
+ */
93
+ export function validateSkillDescriptionsTotal(descriptions) {
94
+ let total = 0;
95
+ for (const d of descriptions) {
96
+ total += d.length;
97
+ }
98
+ if (total > MAX_SKILL_DESCRIPTIONS_SIZE) {
99
+ throw new SkillDescriptionsTooBigError(total, descriptions.length);
100
+ }
101
+ }
102
+ // ── Concurrency limiter ─────────────────────────────────────
103
+ /**
104
+ * Run a batch of async tasks with a hard cap of {@link SKILL_IO_CONCURRENCY}
105
+ * in-flight at once. Returns results in input order (not completion order).
106
+ *
107
+ * Implementation notes:
108
+ * - Each task is a thunk so we control when promises are kicked off.
109
+ * - We track every promise we've created and `await Promise.all(...)` at
110
+ * the end so partial-failure cases still settle (no leaked handles).
111
+ * - Empty input returns an empty array without touching the event loop.
112
+ */
113
+ export async function withSkillIoConcurrency(tasks) {
114
+ const n = tasks.length;
115
+ if (n === 0)
116
+ return [];
117
+ const results = new Array(n);
118
+ // Hard cap >= 1 even if a future change passes 0; defensive.
119
+ const cap = Math.max(1, SKILL_IO_CONCURRENCY);
120
+ let cursor = 0;
121
+ const workers = [];
122
+ // We pick the next index off `cursor` rather than a fixed-stride slice
123
+ // so when one worker finishes early it can pull another task immediately.
124
+ const worker = async () => {
125
+ while (true) {
126
+ const i = cursor++;
127
+ if (i >= n)
128
+ return;
129
+ const task = tasks[i];
130
+ results[i] = await task();
131
+ }
132
+ };
133
+ const inFlightCount = Math.min(cap, n);
134
+ for (let w = 0; w < inFlightCount; w++) {
135
+ workers.push(worker());
136
+ }
137
+ await Promise.all(workers);
138
+ return results;
139
+ }
140
+ //# sourceMappingURL=limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/skills/limits.ts"],"names":[],"mappings":"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"}
@@ -124,6 +124,15 @@ export declare class SkillRegistry {
124
124
  static createWithDefaults(skillsDir: string): SkillRegistry;
125
125
  /**
126
126
  * Get all skill summaries (~10 tokens each for progressive disclosure).
127
+ *
128
+ * Zed port: gates the aggregate description budget before returning.
129
+ * `getSummaries()` is the single funnel for progressive-disclosure text
130
+ * that flows into the system prompt assembly (see prompt/engine.ts +
131
+ * index.ts:3443), so validating here covers every downstream consumer.
132
+ * Throws SkillDescriptionsTooBigError when the sum of all descriptions
133
+ * exceeds MAX_SKILL_DESCRIPTIONS_SIZE — that is loud-by-design: if the
134
+ * registry has bloated past the system-prompt budget, the user needs
135
+ * to see it (a silent truncation would degrade triggering accuracy).
127
136
  */
128
137
  getSummaries(): readonly SkillSummary[];
129
138
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,EAIL,KAAK,eAAe,IAAI,yBAAyB,EAClD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAM/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,uBAAuB,CAAC;IAC5D,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA0MD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAE3B,WAAW,GAAE,SAAS,MAAM,EAAO;IAW/C;;;OAGG;IACH,iBAAiB,IAAI,SAAS,aAAa,EAAE;IAI7C;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAM3D;;OAEG;IACH,YAAY,IAAI,SAAS,YAAY,EAAE;IAUvC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,aAAa,EAAE;IAwBtE;;;OAGG;IACH,eAAe,IAAI,SAAS,aAAa,EAAE;IAI3C;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IA8ErD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IA8C3C;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAiB3C;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAYlC,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIjD;;;;;;;;OAQG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GACvE,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IA2B5C;;;;;;OAMG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;CAgCrE"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { SkillCompositor, } from "./skill-compositor.js";
19
19
  import { SkillsGuard } from "../security/skills-guard.js";
20
20
  import { parseToolRulesFrontmatter } from "./tool-rules-parser.js";
21
21
  import { sanitizeSkillInput } from "./input-sanitizer.js";
22
+ import { validateSkillFileSize, validateSkillDescriptionsTotal, SkillTooLargeError, } from "./limits.js";
22
23
  // ── Built-in Skills (metadata only — progressive disclosure) ─
23
24
  const BUILT_IN_SKILLS = [
24
25
  // Languages (4)
@@ -265,15 +266,26 @@ export class SkillRegistry {
265
266
  }
266
267
  /**
267
268
  * Get all skill summaries (~10 tokens each for progressive disclosure).
269
+ *
270
+ * Zed port: gates the aggregate description budget before returning.
271
+ * `getSummaries()` is the single funnel for progressive-disclosure text
272
+ * that flows into the system prompt assembly (see prompt/engine.ts +
273
+ * index.ts:3443), so validating here covers every downstream consumer.
274
+ * Throws SkillDescriptionsTooBigError when the sum of all descriptions
275
+ * exceeds MAX_SKILL_DESCRIPTIONS_SIZE — that is loud-by-design: if the
276
+ * registry has bloated past the system-prompt budget, the user needs
277
+ * to see it (a silent truncation would degrade triggering accuracy).
268
278
  */
269
279
  getSummaries() {
270
- return [...this.skills.values()].map((s) => ({
280
+ const summaries = [...this.skills.values()].map((s) => ({
271
281
  name: s.name,
272
282
  description: s.description,
273
283
  category: s.category,
274
284
  version: s.version,
275
285
  always: s.always,
276
286
  }));
287
+ validateSkillDescriptionsTotal(summaries.map((s) => s.description));
288
+ return summaries;
277
289
  }
278
290
  /**
279
291
  * Auto-detect relevant skills from file paths.
@@ -604,6 +616,22 @@ function resolveSkillEntry(entryPath) {
604
616
  const source = resolveSkillSource(entryPath);
605
617
  if (!source)
606
618
  return null;
619
+ // Zed port: cap single-file size before reading into memory. We use
620
+ // statSync().size (true on-disk byte count) rather than content.length
621
+ // (string code-unit count, which under-counts multi-byte UTF-8). Throws
622
+ // SkillTooLargeError when over MAX_SKILL_FILE_SIZE — that propagates out
623
+ // of registerFromFile()/loadSkill() and is recorded by the caller's
624
+ // try/catch wrapper if present; bare callers receive the throw.
625
+ try {
626
+ const stat = statSync(source.skillFilePath);
627
+ validateSkillFileSize(source.skillFilePath, stat.size);
628
+ }
629
+ catch (e) {
630
+ if (e instanceof SkillTooLargeError)
631
+ throw e;
632
+ // statSync failures (vanished file, permission) -> treat as not-resolvable.
633
+ return null;
634
+ }
607
635
  const content = sanitizeSkillInput(readFileSync(source.skillFilePath, "utf-8"));
608
636
  const metadata = parseSkillFrontmatter(content);
609
637
  if (!metadata)
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EACL,eAAe,GAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAwB,MAAM,6BAA6B,CAAC;AAEhF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAuE1D,gEAAgE;AAEhE,MAAM,eAAe,GAA6B;IAChD,gBAAgB;IAChB;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,MAAM,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;QACxC,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;QAC/B,MAAM,EAAE,CAAC,aAAa,CAAC;QACvB,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,SAAS,CAAC;QAClB,MAAM,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;QACrC,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;KAC7C;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAC/B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE;KAC3B;IAED,eAAe;IACf;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,+CAA+C;QAC5D,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,iBAAiB,CAAC;QAC1B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;QACnC,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;KAC9B;IAED,eAAe;IACf;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,QAAQ,EAAE,UAAU;KACrB;IAED,gBAAgB;IAChB;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,WAAW;KACtB;IAED,cAAc;IACd;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;QACrC,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,SAAS;KACpB;IAED,cAAc;IACd;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oDAAoD;QACjE,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;QACtC,QAAQ,EAAE,SAAS;KACpB;IAED,UAAU;IACV;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,KAAK;KAChB;IAED,eAAe;IACf;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,UAAU;KACrB;IAED,eAAe;IACf;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,UAAU;KACrB;IAED,eAAe;IACf;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,UAAU;KACrB;IAED,aAAa;IACb;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;QAC9C,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;KAC5C;IAED,mBAAmB;IACnB;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+CAA+C;QAC5D,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,cAAc;KACzB;IAED,eAAe;IACf;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC;AAiBF;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,aAAa;IACP,MAAM,GAA+B,IAAI,GAAG,EAAE,CAAC;IAC/C,aAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC/C,YAAY,GAA6B,IAAI,GAAG,EAAE,CAAC;IACnD,WAAW,CAAoB;IAC/B,KAAK,CAAc;IACnB,QAAQ,GAAoB,EAAE,CAAC;IAC/B,YAAY,CAAU;IAEvC,YAAY,cAAiC,EAAE;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,4DAA4D;QAC5D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,GAAG,CAAC;QAElE,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,OAAe,EAAE,QAAgB,EAAE,IAAmB;QACxE,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAiB;QACzC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChD,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,SAA4B;QACzC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEvC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAE9F,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,sDAAsD;YACtD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACrC,KAAK,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CACxD,CAAC;gBACF,IAAI,QAAQ;oBAAE,SAAS;YACzB,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,oBAAoB,SAAS,EAAE;aACzC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,iBAAiB;aAC3B,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,uBAAuB;QACvB,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAChF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,SAAS;YACX,KAAK,CAAC,IAAI,CACR,8BAA8B,KAAK,CAAC,QAAQ,CAAC,EAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,QAAQ,EAAE,EAAE,CAC1F,CAAC;QAEJ,OAAO;YACL,KAAK;YACL,WAAW;YACX,UAAU;YACV,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,QAAQ;gBACR,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,aAAa,IAAI,YAAY,IAAI,EAAE;aAC3E,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO;oBACL,QAAQ;oBACR,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;iBACxC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,OAAO,EAAE,KAAK,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,WAAW,EAAE;YACxD,QAAQ,EAAE,YAAY,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,uDAAuD;QACvD,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC1F,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,GAAW;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,UAAU,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,IAAY,EACZ,KAAc,EACd,QAAwE;QAExE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM;gBAAE,SAAS;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI;gBAAE,SAAS;YACjD,MAAM,UAAU,GAAoB;gBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS;gBACT,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC;YACF,IAAI,CAAC;gBACH,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAsB,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,OAAe,EAAE,UAAkB;QACzD,MAAM,eAAe,GAIf;YACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;YAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;YACzD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;YAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;YACxD,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;YACxD,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9D,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACvE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;oBAAE,SAAS;gBAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC/B,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+DAA+D;AAE/D,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7B,IAAI,EAA2B,CAAC;IAChC,IAAI,CAAC;QACH,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAA4B,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1D,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAwC,CAAC;IACvE,MAAM,cAAc,GAAG,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAI,EAAE,CAAC,SAAS,CAAwB,IAAI,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,iBAAiB,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAClF,oEAAoE;IACpE,gEAAgE;IAChE,iEAAiE;IACjE,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAE1D,OAAO;QACL,IAAI,EAAE,EAAE,CAAC,MAAM,CAAW;QAC1B,WAAW,EAAE,EAAE,CAAC,aAAa,CAAW;QACxC,OAAO;QACP,OAAO,EAAE,EAAE,CAAC,SAAS,CAAuB;QAC5C,aAAa,EAAE,EAAE,CAAC,eAAe,CAAuB;QACxD,YAAY;QACZ,aAAa,EAAE,cAAc;QAC7B,MAAM,EAAE,eAAe;QACvB,OAAO,EAAG,EAAE,CAAC,SAAS,CAAqB,IAAI,MAAM;QACrD,KAAK,EAAG,EAAE,CAAC,OAAO,CAAc,IAAI,EAAE;QACtC,MAAM,EAAG,EAAE,CAAC,SAAS,CAAc,IAAK,EAAE,CAAC,QAAQ,CAAc,IAAI,SAAS;QAC9E,MAAM,EAAG,EAAE,CAAC,QAAQ,CAAa,IAAI,SAAS;QAC9C,QAAQ,EAAG,EAAE,CAAC,UAAU,CAAY,IAAI,QAAQ;QAChD,QAAQ,EAAE,QAAQ;YAChB,CAAC,CAAC;gBACE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAyB;gBAC9C,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAyB;gBACpD,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAyB;gBAC5C,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAyB;aAC3C;YACH,CAAC,CAAC,SAAS;QACb,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;QAC9C,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBACX,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ;aAC1E;YACD,OAAO,EAAE,uBAAuB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;YAC3D,MAAM;SACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,GAAG,QAAQ;YACX,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB;QACD,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO;YACL,SAAS;YACT,aAAa;YACb,MAAM,EAAE,uBAAuB;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAE9C,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,SAAS;YACxB,MAAM,EAAE,uBAAuB;SAChC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS;QACT,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,eAAe;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB,EAAE,IAAY;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,SAAS,EAAE,YAAY;YACvB,aAAa,EAAE,YAAY;YAC3B,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,eAAe;YAC9B,MAAM,EAAE,uBAAuB;SAChC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACvD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAEnC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB,EAAE,YAAoB;IACtE,MAAM,QAAQ,GAAG;QACf,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE;QACrF,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,EAAE;QAC3F,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE;QACnF,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE;KAC7E,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC,OAAO,EAAE;QACxB,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,EAAE;KACH,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,CAAC,OAAO,EAAE;QACtB,EAAE;QACF,kEAAkE;QAClE,0BAA0B;QAC1B,EAAE;QACF,8DAA8D;QAC9D,gBAAgB,SAAS,EAAE;QAC3B,4EAA4E;QAC5E,EAAE;QACF,GAAG,SAAS;KACb;SACE,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,IAAY;IAChD,OAAO,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACrD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACxD,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,KAAK,CAAC,IAAI,KAAK,SAAS;QACxB,KAAK,CAAC,IAAI,KAAK,YAAY;QAC3B,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC1B;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,IAAY,EAAE,KAAa;IAClE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,CAAC,UAAkB,EAAQ,EAAE;QACzC,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;YAAE,OAAO;QAEpC,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;YAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEzE,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,GAAG,CAAC,CAAC;IAEX,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,SAAS,aAAa,GAAG,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAE/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAI,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CACxB,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CACtE,CAAC;QACF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAElF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC;SAC1D,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAoB,CAAC,CAAC,CAAC;IAE3D,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,OAAe;IAClD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,KAAK,MAAM,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC;QACH,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Session artifacts — ported from Hmbown/DeepSeek-TUI's `artifacts.rs`
3
+ * (crates/tui/src/artifacts.rs).
4
+ *
5
+ * WHAT: Spill large tool outputs to disk so the in-context transcript can
6
+ * reference them by path/sha rather than inlining the full payload.
7
+ * `spill()` writes a tool output under
8
+ * `~/.wotann/artifacts/{sessionId}/{sha8}-{name}` and returns metadata
9
+ * the caller (transcript renderer) embeds inline. `read()` and `list()`
10
+ * are the round-trip / index APIs.
11
+ *
12
+ * WHY: Tool outputs over ~8 KB consume an outsized share of the context
13
+ * window and burn the prefix cache on every replay. Most large outputs
14
+ * are reference material — `ls -R`, `cat <big-file>`, `npm test` logs —
15
+ * that the model wants to fetch on demand, not re-read on every turn.
16
+ * Spilling them to disk lets the transcript carry a small reference
17
+ * block (`artifact_id`, path, sha, preview, size) instead of the body;
18
+ * the model can `read_artifact` to pull the full content back in only
19
+ * when it actually needs it.
20
+ *
21
+ * WHERE: Wire from the tool-result handler in the runtime. After a tool
22
+ * produces output:
23
+ * if (output.length >= threshold) {
24
+ * const { path, sizeBytes, sha } = artifacts.spill(sessionId, name, output);
25
+ * transcript.push(renderArtifactRef({ name, path, sizeBytes, sha, preview }));
26
+ * } else {
27
+ * transcript.push(output);
28
+ * }
29
+ *
30
+ * HOW: For each spill we compute a SHA-256 of the content, take the first
31
+ * 8 hex chars as the filename prefix, write `{sha8}-{name}` to the
32
+ * session directory, and write a `.meta.json` sidecar with the full
33
+ * metadata block. `read()` looks the artifact up by name and returns
34
+ * the body. `list()` enumerates the session directory and returns the
35
+ * metadata for each artifact.
36
+ *
37
+ * Safety:
38
+ * - Names are sanitised (only `[A-Za-z0-9._-]`; anything else becomes `_`).
39
+ * - Session ids are validated (must be non-empty alphanumeric / `-` / `_`).
40
+ * - We never follow symlinks out of the session directory.
41
+ * - All file operations are best-effort: if disk is full or the user
42
+ * deleted the session dir mid-flight, we surface the error rather
43
+ * than corrupting the in-context transcript.
44
+ */
45
+ /** Default threshold (in bytes) above which we spill rather than inline. */
46
+ export declare const DEFAULT_SPILL_THRESHOLD_BYTES: number;
47
+ /** Default artifacts root: `~/.wotann/artifacts`. */
48
+ export declare function defaultArtifactsRoot(): string;
49
+ /** Public metadata returned by `spill` and `list`. */
50
+ export interface ArtifactRecord {
51
+ /** Display name — exactly as passed to `spill`. */
52
+ readonly name: string;
53
+ /** Absolute path to the spilled content file. */
54
+ readonly path: string;
55
+ /** Byte size of the content on disk. */
56
+ readonly sizeBytes: number;
57
+ /** SHA-256 (hex) of the content. */
58
+ readonly sha: string;
59
+ }
60
+ /**
61
+ * `SessionArtifacts` is the spill / read / list API.
62
+ *
63
+ * Construct one per process. The class is stateless beyond its root path
64
+ * — there's no in-memory index, so two `SessionArtifacts` instances over
65
+ * the same root see the same filesystem state.
66
+ */
67
+ export declare class SessionArtifacts {
68
+ private readonly root;
69
+ private readonly threshold;
70
+ constructor(opts?: {
71
+ root?: string;
72
+ spillThresholdBytes?: number;
73
+ });
74
+ /**
75
+ * The spill threshold in bytes. Exposed so callers can decide whether to
76
+ * spill *before* paying the disk write — e.g. small outputs can stay
77
+ * inline without touching disk at all.
78
+ */
79
+ get spillThreshold(): number;
80
+ /**
81
+ * Write `content` to disk under the session directory and return its
82
+ * metadata. The metadata block is what the transcript should reference
83
+ * — `path`, `sizeBytes`, `sha` — instead of inlining the body.
84
+ *
85
+ * Throws if `sessionId` or `name` are invalid (would otherwise let a
86
+ * malicious tool result escape the session directory).
87
+ */
88
+ spill(sessionId: string, name: string, content: string): ArtifactRecord;
89
+ /**
90
+ * Read back a previously-spilled artifact's content by session + name.
91
+ * Returns `null` if no artifact with that name exists in the session
92
+ * directory.
93
+ */
94
+ read(sessionId: string, name: string): string | null;
95
+ /**
96
+ * List every artifact for `sessionId`. Returns an empty array if the
97
+ * session directory doesn't exist or is unreadable.
98
+ *
99
+ * The returned array is sorted by name for deterministic output.
100
+ */
101
+ list(sessionId: string): readonly ArtifactRecord[];
102
+ }
103
+ /** Lower-level helper exposed for tests. */
104
+ export declare function sanitizeName(input: string): string;
105
+ //# sourceMappingURL=session-artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-artifacts.d.ts","sourceRoot":"","sources":["../../src/storage/session-artifacts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAOH,4EAA4E;AAC5E,eAAO,MAAM,6BAA6B,QAAW,CAAC;AAEtD,qDAAqD;AACrD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAUD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE;IAKlE;;;;OAIG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc;IAyBvE;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqBpD;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE;CA4BnD;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD"}