@astrofoundry/pi-astro 0.14.6 → 0.16.0

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 (1515) hide show
  1. package/README.md +37 -26
  2. package/{extensions/astro-agents/agents → agents}/code-reviewer.md +11 -12
  3. package/agents/flourish-architect.md +76 -0
  4. package/agents/flourish-example-builder.md +47 -0
  5. package/agents/flourish-input-codebase.md +53 -0
  6. package/agents/flourish-input-narrative.md +54 -0
  7. package/agents/flourish-input-vision.md +46 -0
  8. package/agents/flourish-preview-runner.md +55 -0
  9. package/agents/flourish-reviewer.md +91 -0
  10. package/agents/flourish-template-developer.md +54 -0
  11. package/{extensions/astro-agents/agents → agents}/google-tech-lead.md +10 -11
  12. package/{extensions/astro-agents/agents → agents}/spec-writer.md +13 -14
  13. package/{extensions/astro-agents/agents → agents}/tester-api.md +19 -20
  14. package/{extensions/astro-agents/agents → agents}/tester-ui.md +23 -24
  15. package/{extensions/astro-agents/agents → agents}/ui-architect.md +18 -19
  16. package/{extensions/astro-agents/agents → agents}/ui-design-system.md +29 -30
  17. package/{extensions/astro-agents/agents → agents}/ui-frontend-developer.md +22 -23
  18. package/extensions/astro-agents-loader/index.test.ts +102 -0
  19. package/extensions/astro-agents-loader/index.ts +48 -0
  20. package/extensions/astro-agents-loader/sync.test.ts +111 -0
  21. package/extensions/astro-agents-loader/sync.ts +86 -0
  22. package/extensions/astro-footer/README.md +4 -9
  23. package/extensions/astro-footer/icons.ts +0 -3
  24. package/extensions/astro-footer/index.test.ts +0 -23
  25. package/extensions/astro-footer/index.ts +2 -14
  26. package/extensions/astro-footer/segments.test.ts +0 -10
  27. package/extensions/astro-footer/segments.ts +0 -5
  28. package/node_modules/jiti/LICENSE +21 -0
  29. package/node_modules/jiti/README.md +258 -0
  30. package/node_modules/jiti/dist/babel.cjs +257 -0
  31. package/node_modules/jiti/dist/jiti.cjs +1 -0
  32. package/node_modules/jiti/lib/jiti-cli.mjs +34 -0
  33. package/node_modules/jiti/lib/jiti-hooks.mjs +124 -0
  34. package/node_modules/jiti/lib/jiti-native.mjs +121 -0
  35. package/node_modules/jiti/lib/jiti-register.d.mts +1 -0
  36. package/node_modules/jiti/lib/jiti-register.mjs +4 -0
  37. package/node_modules/jiti/lib/jiti-static.mjs +23 -0
  38. package/node_modules/jiti/lib/jiti.cjs +30 -0
  39. package/node_modules/jiti/lib/jiti.d.cts +8 -0
  40. package/node_modules/jiti/lib/jiti.d.mts +8 -0
  41. package/node_modules/jiti/lib/jiti.mjs +29 -0
  42. package/node_modules/jiti/lib/types.d.ts +420 -0
  43. package/node_modules/jiti/package.json +146 -0
  44. package/node_modules/pi-subagents/CHANGELOG.md +1006 -0
  45. package/node_modules/pi-subagents/README.md +985 -0
  46. package/node_modules/pi-subagents/agents/context-builder.md +46 -0
  47. package/node_modules/pi-subagents/agents/delegate.md +12 -0
  48. package/node_modules/pi-subagents/agents/oracle.md +73 -0
  49. package/node_modules/pi-subagents/agents/planner.md +55 -0
  50. package/node_modules/pi-subagents/agents/researcher.md +52 -0
  51. package/node_modules/pi-subagents/agents/reviewer.md +79 -0
  52. package/node_modules/pi-subagents/agents/scout.md +50 -0
  53. package/node_modules/pi-subagents/agents/worker.md +55 -0
  54. package/node_modules/pi-subagents/install.mjs +92 -0
  55. package/node_modules/pi-subagents/package.json +84 -0
  56. package/node_modules/pi-subagents/prompts/gather-context-and-clarify.md +13 -0
  57. package/node_modules/pi-subagents/prompts/parallel-cleanup.md +59 -0
  58. package/node_modules/pi-subagents/prompts/parallel-context-build.md +53 -0
  59. package/node_modules/pi-subagents/prompts/parallel-handoff-plan.md +59 -0
  60. package/node_modules/pi-subagents/prompts/parallel-research.md +50 -0
  61. package/node_modules/pi-subagents/prompts/parallel-review.md +54 -0
  62. package/node_modules/pi-subagents/skills/pi-subagents/SKILL.md +747 -0
  63. package/node_modules/pi-subagents/src/agents/agent-management.ts +643 -0
  64. package/node_modules/pi-subagents/src/agents/agent-scope.ts +6 -0
  65. package/node_modules/pi-subagents/src/agents/agent-selection.ts +23 -0
  66. package/node_modules/pi-subagents/src/agents/agent-serializer.ts +84 -0
  67. package/node_modules/pi-subagents/src/agents/agents.ts +808 -0
  68. package/node_modules/pi-subagents/src/agents/chain-serializer.ts +137 -0
  69. package/node_modules/pi-subagents/src/agents/frontmatter.ts +29 -0
  70. package/node_modules/pi-subagents/src/agents/identity.ts +30 -0
  71. package/node_modules/pi-subagents/src/agents/skills.ts +630 -0
  72. package/node_modules/pi-subagents/src/extension/control-notices.ts +92 -0
  73. package/node_modules/pi-subagents/src/extension/doctor.ts +199 -0
  74. package/node_modules/pi-subagents/src/extension/index.ts +585 -0
  75. package/node_modules/pi-subagents/src/extension/schemas.ts +168 -0
  76. package/node_modules/pi-subagents/src/intercom/intercom-bridge.ts +378 -0
  77. package/node_modules/pi-subagents/src/intercom/result-intercom.ts +269 -0
  78. package/node_modules/pi-subagents/src/runs/background/async-execution.ts +604 -0
  79. package/node_modules/pi-subagents/src/runs/background/async-job-tracker.ts +267 -0
  80. package/node_modules/pi-subagents/src/runs/background/async-resume.ts +332 -0
  81. package/node_modules/pi-subagents/src/runs/background/async-status.ts +292 -0
  82. package/node_modules/pi-subagents/src/runs/background/completion-dedupe.ts +63 -0
  83. package/node_modules/pi-subagents/src/runs/background/notify.ts +108 -0
  84. package/node_modules/pi-subagents/src/runs/background/parallel-groups.ts +45 -0
  85. package/node_modules/pi-subagents/src/runs/background/result-watcher.ts +250 -0
  86. package/node_modules/pi-subagents/src/runs/background/run-status.ts +190 -0
  87. package/node_modules/pi-subagents/src/runs/background/stale-run-reconciler.ts +291 -0
  88. package/node_modules/pi-subagents/src/runs/background/subagent-runner.ts +1744 -0
  89. package/node_modules/pi-subagents/src/runs/background/top-level-async.ts +13 -0
  90. package/node_modules/pi-subagents/src/runs/foreground/chain-clarify.ts +1333 -0
  91. package/node_modules/pi-subagents/src/runs/foreground/chain-execution.ts +932 -0
  92. package/node_modules/pi-subagents/src/runs/foreground/execution.ts +902 -0
  93. package/node_modules/pi-subagents/src/runs/foreground/subagent-executor.ts +2232 -0
  94. package/node_modules/pi-subagents/src/runs/shared/completion-guard.ts +125 -0
  95. package/node_modules/pi-subagents/src/runs/shared/long-running-guard.ts +175 -0
  96. package/node_modules/pi-subagents/src/runs/shared/model-fallback.ts +103 -0
  97. package/node_modules/pi-subagents/src/runs/shared/parallel-utils.ts +107 -0
  98. package/node_modules/pi-subagents/src/runs/shared/pi-args.ts +158 -0
  99. package/node_modules/pi-subagents/src/runs/shared/pi-spawn.ts +115 -0
  100. package/node_modules/pi-subagents/src/runs/shared/run-history.ts +55 -0
  101. package/node_modules/pi-subagents/src/runs/shared/single-output.ts +154 -0
  102. package/node_modules/pi-subagents/src/runs/shared/subagent-control.ts +226 -0
  103. package/node_modules/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +150 -0
  104. package/node_modules/pi-subagents/src/runs/shared/worktree.ts +577 -0
  105. package/node_modules/pi-subagents/src/shared/artifacts.ts +98 -0
  106. package/node_modules/pi-subagents/src/shared/atomic-json.ts +16 -0
  107. package/node_modules/pi-subagents/src/shared/file-coalescer.ts +40 -0
  108. package/node_modules/pi-subagents/src/shared/fork-context.ts +76 -0
  109. package/node_modules/pi-subagents/src/shared/formatters.ts +120 -0
  110. package/node_modules/pi-subagents/src/shared/jsonl-writer.ts +81 -0
  111. package/node_modules/pi-subagents/src/shared/model-info.ts +68 -0
  112. package/node_modules/pi-subagents/src/shared/post-exit-stdio-guard.ts +85 -0
  113. package/node_modules/pi-subagents/src/shared/session-identity.ts +10 -0
  114. package/node_modules/pi-subagents/src/shared/session-tokens.ts +44 -0
  115. package/node_modules/pi-subagents/src/shared/settings.ts +397 -0
  116. package/node_modules/pi-subagents/src/shared/status-format.ts +49 -0
  117. package/node_modules/pi-subagents/src/shared/types.ts +726 -0
  118. package/node_modules/pi-subagents/src/shared/utils.ts +440 -0
  119. package/node_modules/pi-subagents/src/slash/prompt-template-bridge.ts +397 -0
  120. package/node_modules/pi-subagents/src/slash/slash-bridge.ts +174 -0
  121. package/node_modules/pi-subagents/src/slash/slash-commands.ts +528 -0
  122. package/node_modules/pi-subagents/src/slash/slash-live-state.ts +292 -0
  123. package/node_modules/pi-subagents/src/tui/render-helpers.ts +80 -0
  124. package/node_modules/pi-subagents/src/tui/render.ts +1248 -0
  125. package/node_modules/typebox/build/compile/code.d.mts +12 -0
  126. package/node_modules/typebox/build/compile/code.mjs +65 -0
  127. package/node_modules/typebox/build/compile/compile.d.mts +6 -0
  128. package/node_modules/typebox/build/compile/compile.mjs +12 -0
  129. package/node_modules/typebox/build/compile/index.d.mts +8 -0
  130. package/node_modules/typebox/build/compile/index.mjs +14 -0
  131. package/node_modules/typebox/build/compile/validator.d.mts +43 -0
  132. package/node_modules/typebox/build/compile/validator.mjs +121 -0
  133. package/node_modules/typebox/build/error/errors.d.mts +214 -0
  134. package/node_modules/typebox/build/error/errors.mjs +18 -0
  135. package/node_modules/typebox/build/error/index.d.mts +1 -0
  136. package/node_modules/typebox/build/error/index.mjs +1 -0
  137. package/node_modules/typebox/build/format/_idna.d.mts +2 -0
  138. package/node_modules/typebox/build/format/_idna.mjs +216 -0
  139. package/node_modules/typebox/build/format/_puny.d.mts +1 -0
  140. package/node_modules/typebox/build/format/_puny.mjs +74 -0
  141. package/node_modules/typebox/build/format/_registry.d.mts +15 -0
  142. package/node_modules/typebox/build/format/_registry.mjs +96 -0
  143. package/node_modules/typebox/build/format/date.d.mts +6 -0
  144. package/node_modules/typebox/build/format/date.mjs +19 -0
  145. package/node_modules/typebox/build/format/date_time.d.mts +6 -0
  146. package/node_modules/typebox/build/format/date_time.mjs +11 -0
  147. package/node_modules/typebox/build/format/duration.d.mts +5 -0
  148. package/node_modules/typebox/build/format/duration.mjs +8 -0
  149. package/node_modules/typebox/build/format/email.d.mts +5 -0
  150. package/node_modules/typebox/build/format/email.mjs +8 -0
  151. package/node_modules/typebox/build/format/format.d.mts +22 -0
  152. package/node_modules/typebox/build/format/format.mjs +22 -0
  153. package/node_modules/typebox/build/format/hostname.d.mts +7 -0
  154. package/node_modules/typebox/build/format/hostname.mjs +18 -0
  155. package/node_modules/typebox/build/format/idn_email.d.mts +5 -0
  156. package/node_modules/typebox/build/format/idn_email.mjs +8 -0
  157. package/node_modules/typebox/build/format/idn_hostname.d.mts +7 -0
  158. package/node_modules/typebox/build/format/idn_hostname.mjs +19 -0
  159. package/node_modules/typebox/build/format/index.d.mts +4 -0
  160. package/node_modules/typebox/build/format/index.mjs +4 -0
  161. package/node_modules/typebox/build/format/ipv4.d.mts +6 -0
  162. package/node_modules/typebox/build/format/ipv4.mjs +38 -0
  163. package/node_modules/typebox/build/format/ipv6.d.mts +5 -0
  164. package/node_modules/typebox/build/format/ipv6.mjs +67 -0
  165. package/node_modules/typebox/build/format/iri.d.mts +5 -0
  166. package/node_modules/typebox/build/format/iri.mjs +13 -0
  167. package/node_modules/typebox/build/format/iri_reference.d.mts +5 -0
  168. package/node_modules/typebox/build/format/iri_reference.mjs +60 -0
  169. package/node_modules/typebox/build/format/json_pointer.d.mts +6 -0
  170. package/node_modules/typebox/build/format/json_pointer.mjs +9 -0
  171. package/node_modules/typebox/build/format/json_pointer_uri_fragment.d.mts +6 -0
  172. package/node_modules/typebox/build/format/json_pointer_uri_fragment.mjs +9 -0
  173. package/node_modules/typebox/build/format/regex.d.mts +6 -0
  174. package/node_modules/typebox/build/format/regex.mjs +17 -0
  175. package/node_modules/typebox/build/format/relative_json_pointer.d.mts +6 -0
  176. package/node_modules/typebox/build/format/relative_json_pointer.mjs +9 -0
  177. package/node_modules/typebox/build/format/time.d.mts +5 -0
  178. package/node_modules/typebox/build/format/time.mjs +27 -0
  179. package/node_modules/typebox/build/format/uri.d.mts +5 -0
  180. package/node_modules/typebox/build/format/uri.mjs +135 -0
  181. package/node_modules/typebox/build/format/uri_reference.d.mts +5 -0
  182. package/node_modules/typebox/build/format/uri_reference.mjs +9 -0
  183. package/node_modules/typebox/build/format/uri_template.d.mts +6 -0
  184. package/node_modules/typebox/build/format/uri_template.mjs +10 -0
  185. package/node_modules/typebox/build/format/url.d.mts +6 -0
  186. package/node_modules/typebox/build/format/url.mjs +9 -0
  187. package/node_modules/typebox/build/format/uuid.d.mts +6 -0
  188. package/node_modules/typebox/build/format/uuid.mjs +9 -0
  189. package/node_modules/typebox/build/guard/emit.d.mts +58 -0
  190. package/node_modules/typebox/build/guard/emit.mjs +194 -0
  191. package/node_modules/typebox/build/guard/globals.d.mts +35 -0
  192. package/node_modules/typebox/build/guard/globals.mjs +90 -0
  193. package/node_modules/typebox/build/guard/guard.d.mts +69 -0
  194. package/node_modules/typebox/build/guard/guard.mjs +217 -0
  195. package/node_modules/typebox/build/guard/index.d.mts +6 -0
  196. package/node_modules/typebox/build/guard/index.mjs +6 -0
  197. package/node_modules/typebox/build/guard/native.d.mts +20 -0
  198. package/node_modules/typebox/build/guard/native.mjs +60 -0
  199. package/node_modules/typebox/build/guard/string.d.mts +6 -0
  200. package/node_modules/typebox/build/guard/string.mjs +164 -0
  201. package/node_modules/typebox/build/index.d.mts +8 -0
  202. package/node_modules/typebox/build/index.mjs +14 -0
  203. package/node_modules/typebox/build/schema/build.d.mts +39 -0
  204. package/node_modules/typebox/build/schema/build.mjs +118 -0
  205. package/node_modules/typebox/build/schema/check.d.mts +6 -0
  206. package/node_modules/typebox/build/schema/check.mjs +14 -0
  207. package/node_modules/typebox/build/schema/compile.d.mts +22 -0
  208. package/node_modules/typebox/build/schema/compile.mjs +46 -0
  209. package/node_modules/typebox/build/schema/engine/_context.d.mts +35 -0
  210. package/node_modules/typebox/build/schema/engine/_context.mjs +129 -0
  211. package/node_modules/typebox/build/schema/engine/_exact_optional.d.mts +3 -0
  212. package/node_modules/typebox/build/schema/engine/_exact_optional.mjs +20 -0
  213. package/node_modules/typebox/build/schema/engine/_externals.d.mts +7 -0
  214. package/node_modules/typebox/build/schema/engine/_externals.mjs +25 -0
  215. package/node_modules/typebox/build/schema/engine/_functions.d.mts +6 -0
  216. package/node_modules/typebox/build/schema/engine/_functions.mjs +47 -0
  217. package/node_modules/typebox/build/schema/engine/_guard.d.mts +6 -0
  218. package/node_modules/typebox/build/schema/engine/_guard.mjs +26 -0
  219. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +4 -0
  220. package/node_modules/typebox/build/schema/engine/_reducer.mjs +45 -0
  221. package/node_modules/typebox/build/schema/engine/_refine.d.mts +6 -0
  222. package/node_modules/typebox/build/schema/engine/_refine.mjs +29 -0
  223. package/node_modules/typebox/build/schema/engine/_stack.d.mts +18 -0
  224. package/node_modules/typebox/build/schema/engine/_stack.mjs +107 -0
  225. package/node_modules/typebox/build/schema/engine/_unique.d.mts +2 -0
  226. package/node_modules/typebox/build/schema/engine/_unique.mjs +5 -0
  227. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +6 -0
  228. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +50 -0
  229. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +9 -0
  230. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +110 -0
  231. package/node_modules/typebox/build/schema/engine/allOf.d.mts +6 -0
  232. package/node_modules/typebox/build/schema/engine/allOf.mjs +47 -0
  233. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +6 -0
  234. package/node_modules/typebox/build/schema/engine/anyOf.mjs +52 -0
  235. package/node_modules/typebox/build/schema/engine/boolean.d.mts +5 -0
  236. package/node_modules/typebox/build/schema/engine/boolean.mjs +25 -0
  237. package/node_modules/typebox/build/schema/engine/const.d.mts +6 -0
  238. package/node_modules/typebox/build/schema/engine/const.mjs +30 -0
  239. package/node_modules/typebox/build/schema/engine/contains.d.mts +6 -0
  240. package/node_modules/typebox/build/schema/engine/contains.mjs +42 -0
  241. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +6 -0
  242. package/node_modules/typebox/build/schema/engine/dependencies.mjs +45 -0
  243. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +6 -0
  244. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +40 -0
  245. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +6 -0
  246. package/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +38 -0
  247. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +6 -0
  248. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +25 -0
  249. package/node_modules/typebox/build/schema/engine/enum.d.mts +6 -0
  250. package/node_modules/typebox/build/schema/engine/enum.mjs +33 -0
  251. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +6 -0
  252. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +25 -0
  253. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +6 -0
  254. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +25 -0
  255. package/node_modules/typebox/build/schema/engine/format.d.mts +6 -0
  256. package/node_modules/typebox/build/schema/engine/format.mjs +26 -0
  257. package/node_modules/typebox/build/schema/engine/if.d.mts +6 -0
  258. package/node_modules/typebox/build/schema/engine/if.mjs +47 -0
  259. package/node_modules/typebox/build/schema/engine/index.d.mts +49 -0
  260. package/node_modules/typebox/build/schema/engine/index.mjs +55 -0
  261. package/node_modules/typebox/build/schema/engine/items.d.mts +6 -0
  262. package/node_modules/typebox/build/schema/engine/items.mjs +68 -0
  263. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +6 -0
  264. package/node_modules/typebox/build/schema/engine/maxContains.mjs +42 -0
  265. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +6 -0
  266. package/node_modules/typebox/build/schema/engine/maxItems.mjs +25 -0
  267. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +6 -0
  268. package/node_modules/typebox/build/schema/engine/maxLength.mjs +25 -0
  269. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +6 -0
  270. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +25 -0
  271. package/node_modules/typebox/build/schema/engine/maximum.d.mts +6 -0
  272. package/node_modules/typebox/build/schema/engine/maximum.mjs +25 -0
  273. package/node_modules/typebox/build/schema/engine/minContains.d.mts +6 -0
  274. package/node_modules/typebox/build/schema/engine/minContains.mjs +41 -0
  275. package/node_modules/typebox/build/schema/engine/minItems.d.mts +6 -0
  276. package/node_modules/typebox/build/schema/engine/minItems.mjs +25 -0
  277. package/node_modules/typebox/build/schema/engine/minLength.d.mts +6 -0
  278. package/node_modules/typebox/build/schema/engine/minLength.mjs +25 -0
  279. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +6 -0
  280. package/node_modules/typebox/build/schema/engine/minProperties.mjs +25 -0
  281. package/node_modules/typebox/build/schema/engine/minimum.d.mts +6 -0
  282. package/node_modules/typebox/build/schema/engine/minimum.mjs +25 -0
  283. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +6 -0
  284. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +25 -0
  285. package/node_modules/typebox/build/schema/engine/not.d.mts +6 -0
  286. package/node_modules/typebox/build/schema/engine/not.mjs +37 -0
  287. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +6 -0
  288. package/node_modules/typebox/build/schema/engine/oneOf.mjs +58 -0
  289. package/node_modules/typebox/build/schema/engine/pattern.d.mts +6 -0
  290. package/node_modules/typebox/build/schema/engine/pattern.mjs +28 -0
  291. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +6 -0
  292. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +44 -0
  293. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +6 -0
  294. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +35 -0
  295. package/node_modules/typebox/build/schema/engine/properties.d.mts +6 -0
  296. package/node_modules/typebox/build/schema/engine/properties.mjs +75 -0
  297. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +6 -0
  298. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +39 -0
  299. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +6 -0
  300. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +25 -0
  301. package/node_modules/typebox/build/schema/engine/ref.d.mts +6 -0
  302. package/node_modules/typebox/build/schema/engine/ref.mjs +58 -0
  303. package/node_modules/typebox/build/schema/engine/required.d.mts +6 -0
  304. package/node_modules/typebox/build/schema/engine/required.mjs +32 -0
  305. package/node_modules/typebox/build/schema/engine/schema.d.mts +9 -0
  306. package/node_modules/typebox/build/schema/engine/schema.mjs +352 -0
  307. package/node_modules/typebox/build/schema/engine/type.d.mts +6 -0
  308. package/node_modules/typebox/build/schema/engine/type.mjs +74 -0
  309. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +6 -0
  310. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +51 -0
  311. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +6 -0
  312. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +51 -0
  313. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +6 -0
  314. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +51 -0
  315. package/node_modules/typebox/build/schema/errors.d.mts +6 -0
  316. package/node_modules/typebox/build/schema/errors.mjs +24 -0
  317. package/node_modules/typebox/build/schema/index.d.mts +3 -0
  318. package/node_modules/typebox/build/schema/index.mjs +9 -0
  319. package/node_modules/typebox/build/schema/parse.d.mts +13 -0
  320. package/node_modules/typebox/build/schema/parse.mjs +27 -0
  321. package/node_modules/typebox/build/schema/pointer/index.d.mts +2 -0
  322. package/node_modules/typebox/build/schema/pointer/index.mjs +2 -0
  323. package/node_modules/typebox/build/schema/pointer/pointer.d.mts +10 -0
  324. package/node_modules/typebox/build/schema/pointer/pointer.mjs +106 -0
  325. package/node_modules/typebox/build/schema/pointer/pointer_get.d.mts +9 -0
  326. package/node_modules/typebox/build/schema/pointer/pointer_get.mjs +2 -0
  327. package/node_modules/typebox/build/schema/resolve/index.d.mts +1 -0
  328. package/node_modules/typebox/build/schema/resolve/index.mjs +1 -0
  329. package/node_modules/typebox/build/schema/resolve/ref.d.mts +3 -0
  330. package/node_modules/typebox/build/schema/resolve/ref.mjs +146 -0
  331. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +1 -0
  332. package/node_modules/typebox/build/schema/resolve/resolve.mjs +1 -0
  333. package/node_modules/typebox/build/schema/schema.d.mts +10 -0
  334. package/node_modules/typebox/build/schema/schema.mjs +10 -0
  335. package/node_modules/typebox/build/schema/static/_canonical.d.mts +7 -0
  336. package/node_modules/typebox/build/schema/static/_canonical.mjs +2 -0
  337. package/node_modules/typebox/build/schema/static/_comparer.d.mts +6 -0
  338. package/node_modules/typebox/build/schema/static/_comparer.mjs +2 -0
  339. package/node_modules/typebox/build/schema/static/_elements.d.mts +18 -0
  340. package/node_modules/typebox/build/schema/static/_elements.mjs +2 -0
  341. package/node_modules/typebox/build/schema/static/additionalProperties.d.mts +7 -0
  342. package/node_modules/typebox/build/schema/static/additionalProperties.mjs +3 -0
  343. package/node_modules/typebox/build/schema/static/allOf.d.mts +3 -0
  344. package/node_modules/typebox/build/schema/static/allOf.mjs +2 -0
  345. package/node_modules/typebox/build/schema/static/anyOf.d.mts +3 -0
  346. package/node_modules/typebox/build/schema/static/anyOf.mjs +2 -0
  347. package/node_modules/typebox/build/schema/static/const.d.mts +1 -0
  348. package/node_modules/typebox/build/schema/static/const.mjs +2 -0
  349. package/node_modules/typebox/build/schema/static/enum.d.mts +1 -0
  350. package/node_modules/typebox/build/schema/static/enum.mjs +2 -0
  351. package/node_modules/typebox/build/schema/static/if.d.mts +15 -0
  352. package/node_modules/typebox/build/schema/static/if.mjs +2 -0
  353. package/node_modules/typebox/build/schema/static/index.d.mts +1 -0
  354. package/node_modules/typebox/build/schema/static/index.mjs +1 -0
  355. package/node_modules/typebox/build/schema/static/items.d.mts +7 -0
  356. package/node_modules/typebox/build/schema/static/items.mjs +2 -0
  357. package/node_modules/typebox/build/schema/static/oneOf.d.mts +3 -0
  358. package/node_modules/typebox/build/schema/static/oneOf.mjs +2 -0
  359. package/node_modules/typebox/build/schema/static/patternProperties.d.mts +7 -0
  360. package/node_modules/typebox/build/schema/static/patternProperties.mjs +2 -0
  361. package/node_modules/typebox/build/schema/static/prefixItems.d.mts +3 -0
  362. package/node_modules/typebox/build/schema/static/prefixItems.mjs +2 -0
  363. package/node_modules/typebox/build/schema/static/properties.d.mts +32 -0
  364. package/node_modules/typebox/build/schema/static/properties.mjs +2 -0
  365. package/node_modules/typebox/build/schema/static/ref.d.mts +8 -0
  366. package/node_modules/typebox/build/schema/static/ref.mjs +3 -0
  367. package/node_modules/typebox/build/schema/static/required.d.mts +3 -0
  368. package/node_modules/typebox/build/schema/static/required.mjs +3 -0
  369. package/node_modules/typebox/build/schema/static/schema.d.mts +56 -0
  370. package/node_modules/typebox/build/schema/static/schema.mjs +2 -0
  371. package/node_modules/typebox/build/schema/static/static.d.mts +4 -0
  372. package/node_modules/typebox/build/schema/static/static.mjs +3 -0
  373. package/node_modules/typebox/build/schema/static/type.d.mts +4 -0
  374. package/node_modules/typebox/build/schema/static/type.mjs +3 -0
  375. package/node_modules/typebox/build/schema/static/unevaluatedProperties.d.mts +7 -0
  376. package/node_modules/typebox/build/schema/static/unevaluatedProperties.mjs +3 -0
  377. package/node_modules/typebox/build/schema/types/_guard.d.mts +10 -0
  378. package/node_modules/typebox/build/schema/types/_guard.mjs +16 -0
  379. package/node_modules/typebox/build/schema/types/_refine.d.mts +13 -0
  380. package/node_modules/typebox/build/schema/types/_refine.mjs +18 -0
  381. package/node_modules/typebox/build/schema/types/additionalItems.d.mts +9 -0
  382. package/node_modules/typebox/build/schema/types/additionalItems.mjs +14 -0
  383. package/node_modules/typebox/build/schema/types/additionalProperties.d.mts +9 -0
  384. package/node_modules/typebox/build/schema/types/additionalProperties.mjs +14 -0
  385. package/node_modules/typebox/build/schema/types/allOf.d.mts +9 -0
  386. package/node_modules/typebox/build/schema/types/allOf.mjs +15 -0
  387. package/node_modules/typebox/build/schema/types/anchor.d.mts +8 -0
  388. package/node_modules/typebox/build/schema/types/anchor.mjs +12 -0
  389. package/node_modules/typebox/build/schema/types/anyOf.d.mts +9 -0
  390. package/node_modules/typebox/build/schema/types/anyOf.mjs +15 -0
  391. package/node_modules/typebox/build/schema/types/const.d.mts +9 -0
  392. package/node_modules/typebox/build/schema/types/const.mjs +12 -0
  393. package/node_modules/typebox/build/schema/types/contains.d.mts +9 -0
  394. package/node_modules/typebox/build/schema/types/contains.mjs +14 -0
  395. package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +9 -0
  396. package/node_modules/typebox/build/schema/types/contentEncoding.mjs +13 -0
  397. package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +9 -0
  398. package/node_modules/typebox/build/schema/types/contentMediaType.mjs +13 -0
  399. package/node_modules/typebox/build/schema/types/default.d.mts +9 -0
  400. package/node_modules/typebox/build/schema/types/default.mjs +12 -0
  401. package/node_modules/typebox/build/schema/types/defs.d.mts +6 -0
  402. package/node_modules/typebox/build/schema/types/defs.mjs +12 -0
  403. package/node_modules/typebox/build/schema/types/dependencies.d.mts +11 -0
  404. package/node_modules/typebox/build/schema/types/dependencies.mjs +16 -0
  405. package/node_modules/typebox/build/schema/types/dependentRequired.d.mts +9 -0
  406. package/node_modules/typebox/build/schema/types/dependentRequired.mjs +15 -0
  407. package/node_modules/typebox/build/schema/types/dependentSchemas.d.mts +9 -0
  408. package/node_modules/typebox/build/schema/types/dependentSchemas.mjs +15 -0
  409. package/node_modules/typebox/build/schema/types/dynamicAnchor.d.mts +8 -0
  410. package/node_modules/typebox/build/schema/types/dynamicAnchor.mjs +12 -0
  411. package/node_modules/typebox/build/schema/types/dynamicRef.d.mts +8 -0
  412. package/node_modules/typebox/build/schema/types/dynamicRef.mjs +12 -0
  413. package/node_modules/typebox/build/schema/types/else.d.mts +9 -0
  414. package/node_modules/typebox/build/schema/types/else.mjs +14 -0
  415. package/node_modules/typebox/build/schema/types/enum.d.mts +9 -0
  416. package/node_modules/typebox/build/schema/types/enum.mjs +13 -0
  417. package/node_modules/typebox/build/schema/types/exclusiveMaximum.d.mts +9 -0
  418. package/node_modules/typebox/build/schema/types/exclusiveMaximum.mjs +13 -0
  419. package/node_modules/typebox/build/schema/types/exclusiveMinimum.d.mts +9 -0
  420. package/node_modules/typebox/build/schema/types/exclusiveMinimum.mjs +13 -0
  421. package/node_modules/typebox/build/schema/types/format.d.mts +9 -0
  422. package/node_modules/typebox/build/schema/types/format.mjs +13 -0
  423. package/node_modules/typebox/build/schema/types/id.d.mts +9 -0
  424. package/node_modules/typebox/build/schema/types/id.mjs +13 -0
  425. package/node_modules/typebox/build/schema/types/if.d.mts +9 -0
  426. package/node_modules/typebox/build/schema/types/if.mjs +14 -0
  427. package/node_modules/typebox/build/schema/types/index.d.mts +54 -0
  428. package/node_modules/typebox/build/schema/types/index.mjs +60 -0
  429. package/node_modules/typebox/build/schema/types/items.d.mts +19 -0
  430. package/node_modules/typebox/build/schema/types/items.mjs +26 -0
  431. package/node_modules/typebox/build/schema/types/maxContains.d.mts +9 -0
  432. package/node_modules/typebox/build/schema/types/maxContains.mjs +13 -0
  433. package/node_modules/typebox/build/schema/types/maxItems.d.mts +9 -0
  434. package/node_modules/typebox/build/schema/types/maxItems.mjs +13 -0
  435. package/node_modules/typebox/build/schema/types/maxLength.d.mts +9 -0
  436. package/node_modules/typebox/build/schema/types/maxLength.mjs +13 -0
  437. package/node_modules/typebox/build/schema/types/maxProperties.d.mts +9 -0
  438. package/node_modules/typebox/build/schema/types/maxProperties.mjs +13 -0
  439. package/node_modules/typebox/build/schema/types/maximum.d.mts +9 -0
  440. package/node_modules/typebox/build/schema/types/maximum.mjs +13 -0
  441. package/node_modules/typebox/build/schema/types/minContains.d.mts +9 -0
  442. package/node_modules/typebox/build/schema/types/minContains.mjs +13 -0
  443. package/node_modules/typebox/build/schema/types/minItems.d.mts +9 -0
  444. package/node_modules/typebox/build/schema/types/minItems.mjs +13 -0
  445. package/node_modules/typebox/build/schema/types/minLength.d.mts +9 -0
  446. package/node_modules/typebox/build/schema/types/minLength.mjs +13 -0
  447. package/node_modules/typebox/build/schema/types/minProperties.d.mts +9 -0
  448. package/node_modules/typebox/build/schema/types/minProperties.mjs +13 -0
  449. package/node_modules/typebox/build/schema/types/minimum.d.mts +9 -0
  450. package/node_modules/typebox/build/schema/types/minimum.mjs +13 -0
  451. package/node_modules/typebox/build/schema/types/multipleOf.d.mts +9 -0
  452. package/node_modules/typebox/build/schema/types/multipleOf.mjs +13 -0
  453. package/node_modules/typebox/build/schema/types/not.d.mts +9 -0
  454. package/node_modules/typebox/build/schema/types/not.mjs +14 -0
  455. package/node_modules/typebox/build/schema/types/oneOf.d.mts +9 -0
  456. package/node_modules/typebox/build/schema/types/oneOf.mjs +15 -0
  457. package/node_modules/typebox/build/schema/types/pattern.d.mts +9 -0
  458. package/node_modules/typebox/build/schema/types/pattern.mjs +14 -0
  459. package/node_modules/typebox/build/schema/types/patternProperties.d.mts +9 -0
  460. package/node_modules/typebox/build/schema/types/patternProperties.mjs +15 -0
  461. package/node_modules/typebox/build/schema/types/prefixItems.d.mts +8 -0
  462. package/node_modules/typebox/build/schema/types/prefixItems.mjs +14 -0
  463. package/node_modules/typebox/build/schema/types/properties.d.mts +9 -0
  464. package/node_modules/typebox/build/schema/types/properties.mjs +15 -0
  465. package/node_modules/typebox/build/schema/types/propertyNames.d.mts +9 -0
  466. package/node_modules/typebox/build/schema/types/propertyNames.mjs +15 -0
  467. package/node_modules/typebox/build/schema/types/recursiveAnchor.d.mts +12 -0
  468. package/node_modules/typebox/build/schema/types/recursiveAnchor.mjs +19 -0
  469. package/node_modules/typebox/build/schema/types/recursiveRef.d.mts +8 -0
  470. package/node_modules/typebox/build/schema/types/recursiveRef.mjs +12 -0
  471. package/node_modules/typebox/build/schema/types/ref.d.mts +9 -0
  472. package/node_modules/typebox/build/schema/types/ref.mjs +13 -0
  473. package/node_modules/typebox/build/schema/types/required.d.mts +9 -0
  474. package/node_modules/typebox/build/schema/types/required.mjs +14 -0
  475. package/node_modules/typebox/build/schema/types/schema.d.mts +9 -0
  476. package/node_modules/typebox/build/schema/types/schema.mjs +14 -0
  477. package/node_modules/typebox/build/schema/types/then.d.mts +9 -0
  478. package/node_modules/typebox/build/schema/types/then.mjs +14 -0
  479. package/node_modules/typebox/build/schema/types/type.d.mts +9 -0
  480. package/node_modules/typebox/build/schema/types/type.mjs +15 -0
  481. package/node_modules/typebox/build/schema/types/unevaluatedItems.d.mts +9 -0
  482. package/node_modules/typebox/build/schema/types/unevaluatedItems.mjs +14 -0
  483. package/node_modules/typebox/build/schema/types/unevaluatedProperties.d.mts +9 -0
  484. package/node_modules/typebox/build/schema/types/unevaluatedProperties.mjs +14 -0
  485. package/node_modules/typebox/build/schema/types/uniqueItems.d.mts +9 -0
  486. package/node_modules/typebox/build/schema/types/uniqueItems.mjs +13 -0
  487. package/node_modules/typebox/build/system/arguments/arguments.d.mts +5 -0
  488. package/node_modules/typebox/build/system/arguments/arguments.mjs +9 -0
  489. package/node_modules/typebox/build/system/arguments/index.d.mts +1 -0
  490. package/node_modules/typebox/build/system/arguments/index.mjs +1 -0
  491. package/node_modules/typebox/build/system/environment/environment.d.mts +1 -0
  492. package/node_modules/typebox/build/system/environment/environment.mjs +1 -0
  493. package/node_modules/typebox/build/system/environment/evaluate.d.mts +9 -0
  494. package/node_modules/typebox/build/system/environment/evaluate.mjs +37 -0
  495. package/node_modules/typebox/build/system/environment/index.d.mts +1 -0
  496. package/node_modules/typebox/build/system/environment/index.mjs +1 -0
  497. package/node_modules/typebox/build/system/hashing/hash.d.mts +4 -0
  498. package/node_modules/typebox/build/system/hashing/hash.mjs +232 -0
  499. package/node_modules/typebox/build/system/hashing/index.d.mts +1 -0
  500. package/node_modules/typebox/build/system/hashing/index.mjs +1 -0
  501. package/node_modules/typebox/build/system/index.d.mts +4 -0
  502. package/node_modules/typebox/build/system/index.mjs +4 -0
  503. package/node_modules/typebox/build/system/locale/_config.d.mts +7 -0
  504. package/node_modules/typebox/build/system/locale/_config.mjs +15 -0
  505. package/node_modules/typebox/build/system/locale/_locale.d.mts +40 -0
  506. package/node_modules/typebox/build/system/locale/_locale.mjs +40 -0
  507. package/node_modules/typebox/build/system/locale/ar_001.d.mts +3 -0
  508. package/node_modules/typebox/build/system/locale/ar_001.mjs +41 -0
  509. package/node_modules/typebox/build/system/locale/bn_BD.d.mts +3 -0
  510. package/node_modules/typebox/build/system/locale/bn_BD.mjs +41 -0
  511. package/node_modules/typebox/build/system/locale/cs_CZ.d.mts +3 -0
  512. package/node_modules/typebox/build/system/locale/cs_CZ.mjs +41 -0
  513. package/node_modules/typebox/build/system/locale/de_DE.d.mts +3 -0
  514. package/node_modules/typebox/build/system/locale/de_DE.mjs +41 -0
  515. package/node_modules/typebox/build/system/locale/el_GR.d.mts +3 -0
  516. package/node_modules/typebox/build/system/locale/el_GR.mjs +41 -0
  517. package/node_modules/typebox/build/system/locale/en_US.d.mts +3 -0
  518. package/node_modules/typebox/build/system/locale/en_US.mjs +40 -0
  519. package/node_modules/typebox/build/system/locale/es_419.d.mts +3 -0
  520. package/node_modules/typebox/build/system/locale/es_419.mjs +41 -0
  521. package/node_modules/typebox/build/system/locale/es_AR.d.mts +3 -0
  522. package/node_modules/typebox/build/system/locale/es_AR.mjs +41 -0
  523. package/node_modules/typebox/build/system/locale/es_ES.d.mts +3 -0
  524. package/node_modules/typebox/build/system/locale/es_ES.mjs +41 -0
  525. package/node_modules/typebox/build/system/locale/es_MX.d.mts +3 -0
  526. package/node_modules/typebox/build/system/locale/es_MX.mjs +41 -0
  527. package/node_modules/typebox/build/system/locale/fa_IR.d.mts +3 -0
  528. package/node_modules/typebox/build/system/locale/fa_IR.mjs +41 -0
  529. package/node_modules/typebox/build/system/locale/fil_PH.d.mts +3 -0
  530. package/node_modules/typebox/build/system/locale/fil_PH.mjs +41 -0
  531. package/node_modules/typebox/build/system/locale/fr_CA.d.mts +3 -0
  532. package/node_modules/typebox/build/system/locale/fr_CA.mjs +41 -0
  533. package/node_modules/typebox/build/system/locale/fr_FR.d.mts +3 -0
  534. package/node_modules/typebox/build/system/locale/fr_FR.mjs +41 -0
  535. package/node_modules/typebox/build/system/locale/ha_NG.d.mts +3 -0
  536. package/node_modules/typebox/build/system/locale/ha_NG.mjs +41 -0
  537. package/node_modules/typebox/build/system/locale/hi_IN.d.mts +3 -0
  538. package/node_modules/typebox/build/system/locale/hi_IN.mjs +41 -0
  539. package/node_modules/typebox/build/system/locale/hu_HU.d.mts +3 -0
  540. package/node_modules/typebox/build/system/locale/hu_HU.mjs +41 -0
  541. package/node_modules/typebox/build/system/locale/id_ID.d.mts +3 -0
  542. package/node_modules/typebox/build/system/locale/id_ID.mjs +41 -0
  543. package/node_modules/typebox/build/system/locale/index.d.mts +1 -0
  544. package/node_modules/typebox/build/system/locale/index.mjs +1 -0
  545. package/node_modules/typebox/build/system/locale/it_IT.d.mts +3 -0
  546. package/node_modules/typebox/build/system/locale/it_IT.mjs +41 -0
  547. package/node_modules/typebox/build/system/locale/ja_JP.d.mts +3 -0
  548. package/node_modules/typebox/build/system/locale/ja_JP.mjs +41 -0
  549. package/node_modules/typebox/build/system/locale/ko_KR.d.mts +3 -0
  550. package/node_modules/typebox/build/system/locale/ko_KR.mjs +41 -0
  551. package/node_modules/typebox/build/system/locale/ms_MY.d.mts +3 -0
  552. package/node_modules/typebox/build/system/locale/ms_MY.mjs +41 -0
  553. package/node_modules/typebox/build/system/locale/nl_NL.d.mts +3 -0
  554. package/node_modules/typebox/build/system/locale/nl_NL.mjs +41 -0
  555. package/node_modules/typebox/build/system/locale/pl_PL.d.mts +3 -0
  556. package/node_modules/typebox/build/system/locale/pl_PL.mjs +41 -0
  557. package/node_modules/typebox/build/system/locale/pt_BR.d.mts +3 -0
  558. package/node_modules/typebox/build/system/locale/pt_BR.mjs +41 -0
  559. package/node_modules/typebox/build/system/locale/pt_PT.d.mts +3 -0
  560. package/node_modules/typebox/build/system/locale/pt_PT.mjs +41 -0
  561. package/node_modules/typebox/build/system/locale/ro_RO.d.mts +3 -0
  562. package/node_modules/typebox/build/system/locale/ro_RO.mjs +41 -0
  563. package/node_modules/typebox/build/system/locale/ru_RU.d.mts +3 -0
  564. package/node_modules/typebox/build/system/locale/ru_RU.mjs +41 -0
  565. package/node_modules/typebox/build/system/locale/sv_SE.d.mts +3 -0
  566. package/node_modules/typebox/build/system/locale/sv_SE.mjs +41 -0
  567. package/node_modules/typebox/build/system/locale/sw_TZ.d.mts +3 -0
  568. package/node_modules/typebox/build/system/locale/sw_TZ.mjs +41 -0
  569. package/node_modules/typebox/build/system/locale/th_TH.d.mts +3 -0
  570. package/node_modules/typebox/build/system/locale/th_TH.mjs +41 -0
  571. package/node_modules/typebox/build/system/locale/tr_TR.d.mts +3 -0
  572. package/node_modules/typebox/build/system/locale/tr_TR.mjs +41 -0
  573. package/node_modules/typebox/build/system/locale/uk_UA.d.mts +3 -0
  574. package/node_modules/typebox/build/system/locale/uk_UA.mjs +41 -0
  575. package/node_modules/typebox/build/system/locale/ur_PK.d.mts +3 -0
  576. package/node_modules/typebox/build/system/locale/ur_PK.mjs +41 -0
  577. package/node_modules/typebox/build/system/locale/vi_VN.d.mts +3 -0
  578. package/node_modules/typebox/build/system/locale/vi_VN.mjs +41 -0
  579. package/node_modules/typebox/build/system/locale/yo_NG.d.mts +3 -0
  580. package/node_modules/typebox/build/system/locale/yo_NG.mjs +41 -0
  581. package/node_modules/typebox/build/system/locale/zh_Hans.d.mts +3 -0
  582. package/node_modules/typebox/build/system/locale/zh_Hans.mjs +41 -0
  583. package/node_modules/typebox/build/system/locale/zh_Hant.d.mts +3 -0
  584. package/node_modules/typebox/build/system/locale/zh_Hant.mjs +41 -0
  585. package/node_modules/typebox/build/system/memory/assign.d.mts +14 -0
  586. package/node_modules/typebox/build/system/memory/assign.mjs +11 -0
  587. package/node_modules/typebox/build/system/memory/clone.d.mts +6 -0
  588. package/node_modules/typebox/build/system/memory/clone.mjs +63 -0
  589. package/node_modules/typebox/build/system/memory/create.d.mts +8 -0
  590. package/node_modules/typebox/build/system/memory/create.mjs +30 -0
  591. package/node_modules/typebox/build/system/memory/discard.d.mts +4 -0
  592. package/node_modules/typebox/build/system/memory/discard.mjs +17 -0
  593. package/node_modules/typebox/build/system/memory/index.d.mts +1 -0
  594. package/node_modules/typebox/build/system/memory/index.mjs +1 -0
  595. package/node_modules/typebox/build/system/memory/memory.d.mts +6 -0
  596. package/node_modules/typebox/build/system/memory/memory.mjs +7 -0
  597. package/node_modules/typebox/build/system/memory/metrics.d.mts +14 -0
  598. package/node_modules/typebox/build/system/memory/metrics.mjs +8 -0
  599. package/node_modules/typebox/build/system/memory/update.d.mts +7 -0
  600. package/node_modules/typebox/build/system/memory/update.mjs +32 -0
  601. package/node_modules/typebox/build/system/settings/index.d.mts +1 -0
  602. package/node_modules/typebox/build/system/settings/index.mjs +1 -0
  603. package/node_modules/typebox/build/system/settings/settings.d.mts +56 -0
  604. package/node_modules/typebox/build/system/settings/settings.mjs +32 -0
  605. package/node_modules/typebox/build/system/system.d.mts +6 -0
  606. package/node_modules/typebox/build/system/system.mjs +6 -0
  607. package/node_modules/typebox/build/system/unreachable/index.d.mts +1 -0
  608. package/node_modules/typebox/build/system/unreachable/index.mjs +1 -0
  609. package/node_modules/typebox/build/system/unreachable/unreachable.d.mts +3 -0
  610. package/node_modules/typebox/build/system/unreachable/unreachable.mjs +6 -0
  611. package/node_modules/typebox/build/type/action/_optional.d.mts +19 -0
  612. package/node_modules/typebox/build/type/action/_optional.mjs +40 -0
  613. package/node_modules/typebox/build/type/action/_readonly.d.mts +19 -0
  614. package/node_modules/typebox/build/type/action/_readonly.mjs +40 -0
  615. package/node_modules/typebox/build/type/action/awaited.d.mts +15 -0
  616. package/node_modules/typebox/build/type/action/awaited.mjs +15 -0
  617. package/node_modules/typebox/build/type/action/capitalize.d.mts +11 -0
  618. package/node_modules/typebox/build/type/action/capitalize.mjs +11 -0
  619. package/node_modules/typebox/build/type/action/conditional.d.mts +13 -0
  620. package/node_modules/typebox/build/type/action/conditional.mjs +12 -0
  621. package/node_modules/typebox/build/type/action/constructor_parameters.d.mts +11 -0
  622. package/node_modules/typebox/build/type/action/constructor_parameters.mjs +11 -0
  623. package/node_modules/typebox/build/type/action/evaluate.d.mts +11 -0
  624. package/node_modules/typebox/build/type/action/evaluate.mjs +11 -0
  625. package/node_modules/typebox/build/type/action/exclude.d.mts +11 -0
  626. package/node_modules/typebox/build/type/action/exclude.mjs +11 -0
  627. package/node_modules/typebox/build/type/action/extract.d.mts +11 -0
  628. package/node_modules/typebox/build/type/action/extract.mjs +11 -0
  629. package/node_modules/typebox/build/type/action/index.d.mts +27 -0
  630. package/node_modules/typebox/build/type/action/index.mjs +27 -0
  631. package/node_modules/typebox/build/type/action/indexed.d.mts +14 -0
  632. package/node_modules/typebox/build/type/action/indexed.mjs +14 -0
  633. package/node_modules/typebox/build/type/action/instance_type.d.mts +11 -0
  634. package/node_modules/typebox/build/type/action/instance_type.mjs +11 -0
  635. package/node_modules/typebox/build/type/action/interface.d.mts +14 -0
  636. package/node_modules/typebox/build/type/action/interface.mjs +22 -0
  637. package/node_modules/typebox/build/type/action/keyof.d.mts +11 -0
  638. package/node_modules/typebox/build/type/action/keyof.mjs +11 -0
  639. package/node_modules/typebox/build/type/action/lowercase.d.mts +11 -0
  640. package/node_modules/typebox/build/type/action/lowercase.mjs +11 -0
  641. package/node_modules/typebox/build/type/action/mapped.d.mts +14 -0
  642. package/node_modules/typebox/build/type/action/mapped.mjs +12 -0
  643. package/node_modules/typebox/build/type/action/module.d.mts +12 -0
  644. package/node_modules/typebox/build/type/action/module.mjs +12 -0
  645. package/node_modules/typebox/build/type/action/non_nullable.d.mts +11 -0
  646. package/node_modules/typebox/build/type/action/non_nullable.mjs +11 -0
  647. package/node_modules/typebox/build/type/action/omit.d.mts +14 -0
  648. package/node_modules/typebox/build/type/action/omit.mjs +14 -0
  649. package/node_modules/typebox/build/type/action/options.d.mts +11 -0
  650. package/node_modules/typebox/build/type/action/options.mjs +11 -0
  651. package/node_modules/typebox/build/type/action/parameters.d.mts +11 -0
  652. package/node_modules/typebox/build/type/action/parameters.mjs +11 -0
  653. package/node_modules/typebox/build/type/action/partial.d.mts +11 -0
  654. package/node_modules/typebox/build/type/action/partial.mjs +11 -0
  655. package/node_modules/typebox/build/type/action/pick.d.mts +14 -0
  656. package/node_modules/typebox/build/type/action/pick.mjs +14 -0
  657. package/node_modules/typebox/build/type/action/readonly_object.d.mts +16 -0
  658. package/node_modules/typebox/build/type/action/readonly_object.mjs +16 -0
  659. package/node_modules/typebox/build/type/action/required.d.mts +11 -0
  660. package/node_modules/typebox/build/type/action/required.mjs +11 -0
  661. package/node_modules/typebox/build/type/action/return_type.d.mts +11 -0
  662. package/node_modules/typebox/build/type/action/return_type.mjs +11 -0
  663. package/node_modules/typebox/build/type/action/uncapitalize.d.mts +11 -0
  664. package/node_modules/typebox/build/type/action/uncapitalize.mjs +11 -0
  665. package/node_modules/typebox/build/type/action/uppercase.d.mts +11 -0
  666. package/node_modules/typebox/build/type/action/uppercase.mjs +11 -0
  667. package/node_modules/typebox/build/type/engine/awaited/index.d.mts +1 -0
  668. package/node_modules/typebox/build/type/engine/awaited/index.mjs +1 -0
  669. package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +11 -0
  670. package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +20 -0
  671. package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +15 -0
  672. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +53 -0
  673. package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +23 -0
  674. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +48 -0
  675. package/node_modules/typebox/build/type/engine/call/resolve_arguments.d.mts +13 -0
  676. package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +33 -0
  677. package/node_modules/typebox/build/type/engine/call/resolve_target.d.mts +25 -0
  678. package/node_modules/typebox/build/type/engine/call/resolve_target.mjs +27 -0
  679. package/node_modules/typebox/build/type/engine/conditional/index.d.mts +1 -0
  680. package/node_modules/typebox/build/type/engine/conditional/index.mjs +1 -0
  681. package/node_modules/typebox/build/type/engine/conditional/instantiate.d.mts +12 -0
  682. package/node_modules/typebox/build/type/engine/conditional/instantiate.mjs +23 -0
  683. package/node_modules/typebox/build/type/engine/constructor_parameters/index.d.mts +1 -0
  684. package/node_modules/typebox/build/type/engine/constructor_parameters/index.mjs +1 -0
  685. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +15 -0
  686. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +24 -0
  687. package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +9 -0
  688. package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +19 -0
  689. package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +24 -0
  690. package/node_modules/typebox/build/type/engine/cyclic/check.mjs +51 -0
  691. package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +25 -0
  692. package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +53 -0
  693. package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +31 -0
  694. package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +53 -0
  695. package/node_modules/typebox/build/type/engine/cyclic/index.d.mts +6 -0
  696. package/node_modules/typebox/build/type/engine/cyclic/index.mjs +6 -0
  697. package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +20 -0
  698. package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +30 -0
  699. package/node_modules/typebox/build/type/engine/cyclic/target.d.mts +10 -0
  700. package/node_modules/typebox/build/type/engine/cyclic/target.mjs +16 -0
  701. package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +14 -0
  702. package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +24 -0
  703. package/node_modules/typebox/build/type/engine/enum/index.d.mts +2 -0
  704. package/node_modules/typebox/build/type/engine/enum/index.mjs +2 -0
  705. package/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.d.mts +8 -0
  706. package/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.mjs +9 -0
  707. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +16 -0
  708. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +47 -0
  709. package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +15 -0
  710. package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +22 -0
  711. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +30 -0
  712. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +63 -0
  713. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +27 -0
  714. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +45 -0
  715. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +14 -0
  716. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +27 -0
  717. package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +6 -0
  718. package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +11 -0
  719. package/node_modules/typebox/build/type/engine/evaluate/index.d.mts +8 -0
  720. package/node_modules/typebox/build/type/engine/evaluate/index.mjs +8 -0
  721. package/node_modules/typebox/build/type/engine/evaluate/instantiate.d.mts +8 -0
  722. package/node_modules/typebox/build/type/engine/evaluate/instantiate.mjs +12 -0
  723. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -0
  724. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +11 -0
  725. package/node_modules/typebox/build/type/engine/exclude/index.d.mts +1 -0
  726. package/node_modules/typebox/build/type/engine/exclude/index.mjs +1 -0
  727. package/node_modules/typebox/build/type/engine/exclude/instantiate.d.mts +9 -0
  728. package/node_modules/typebox/build/type/engine/exclude/instantiate.mjs +16 -0
  729. package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +11 -0
  730. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +24 -0
  731. package/node_modules/typebox/build/type/engine/extract/index.d.mts +1 -0
  732. package/node_modules/typebox/build/type/engine/extract/index.mjs +1 -0
  733. package/node_modules/typebox/build/type/engine/extract/instantiate.d.mts +9 -0
  734. package/node_modules/typebox/build/type/engine/extract/instantiate.mjs +16 -0
  735. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +11 -0
  736. package/node_modules/typebox/build/type/engine/extract/operation.mjs +24 -0
  737. package/node_modules/typebox/build/type/engine/helpers/index.d.mts +3 -0
  738. package/node_modules/typebox/build/type/engine/helpers/index.mjs +3 -0
  739. package/node_modules/typebox/build/type/engine/helpers/keys.d.mts +3 -0
  740. package/node_modules/typebox/build/type/engine/helpers/keys.mjs +8 -0
  741. package/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.d.mts +7 -0
  742. package/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.mjs +15 -0
  743. package/node_modules/typebox/build/type/engine/helpers/union.d.mts +7 -0
  744. package/node_modules/typebox/build/type/engine/helpers/union.mjs +3 -0
  745. package/node_modules/typebox/build/type/engine/index.d.mts +31 -0
  746. package/node_modules/typebox/build/type/engine/index.mjs +37 -0
  747. package/node_modules/typebox/build/type/engine/indexable/from_cyclic.d.mts +6 -0
  748. package/node_modules/typebox/build/type/engine/indexable/from_cyclic.mjs +8 -0
  749. package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +6 -0
  750. package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +8 -0
  751. package/node_modules/typebox/build/type/engine/indexable/from_intersect.d.mts +5 -0
  752. package/node_modules/typebox/build/type/engine/indexable/from_intersect.mjs +8 -0
  753. package/node_modules/typebox/build/type/engine/indexable/from_literal.d.mts +3 -0
  754. package/node_modules/typebox/build/type/engine/indexable/from_literal.mjs +5 -0
  755. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +5 -0
  756. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +8 -0
  757. package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +17 -0
  758. package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +22 -0
  759. package/node_modules/typebox/build/type/engine/indexable/from_union.d.mts +4 -0
  760. package/node_modules/typebox/build/type/engine/indexable/from_union.mjs +7 -0
  761. package/node_modules/typebox/build/type/engine/indexable/to_indexable.d.mts +9 -0
  762. package/node_modules/typebox/build/type/engine/indexable/to_indexable.mjs +14 -0
  763. package/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.d.mts +10 -0
  764. package/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.mjs +12 -0
  765. package/node_modules/typebox/build/type/engine/indexed/array_indexer.d.mts +12 -0
  766. package/node_modules/typebox/build/type/engine/indexed/array_indexer.mjs +18 -0
  767. package/node_modules/typebox/build/type/engine/indexed/from_array.d.mts +15 -0
  768. package/node_modules/typebox/build/type/engine/indexed/from_array.mjs +35 -0
  769. package/node_modules/typebox/build/type/engine/indexed/from_object.d.mts +16 -0
  770. package/node_modules/typebox/build/type/engine/indexed/from_object.mjs +40 -0
  771. package/node_modules/typebox/build/type/engine/indexed/from_tuple.d.mts +13 -0
  772. package/node_modules/typebox/build/type/engine/indexed/from_tuple.mjs +35 -0
  773. package/node_modules/typebox/build/type/engine/indexed/from_type.d.mts +11 -0
  774. package/node_modules/typebox/build/type/engine/indexed/from_type.mjs +14 -0
  775. package/node_modules/typebox/build/type/engine/indexed/index.d.mts +1 -0
  776. package/node_modules/typebox/build/type/engine/indexed/index.mjs +1 -0
  777. package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +15 -0
  778. package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +25 -0
  779. package/node_modules/typebox/build/type/engine/instance_type/index.d.mts +1 -0
  780. package/node_modules/typebox/build/type/engine/instance_type/index.mjs +1 -0
  781. package/node_modules/typebox/build/type/engine/instance_type/instantiate.d.mts +12 -0
  782. package/node_modules/typebox/build/type/engine/instance_type/instantiate.mjs +21 -0
  783. package/node_modules/typebox/build/type/engine/instantiate.d.mts +165 -0
  784. package/node_modules/typebox/build/type/engine/instantiate.mjs +159 -0
  785. package/node_modules/typebox/build/type/engine/interface/index.d.mts +1 -0
  786. package/node_modules/typebox/build/type/engine/interface/index.mjs +1 -0
  787. package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +18 -0
  788. package/node_modules/typebox/build/type/engine/interface/instantiate.mjs +23 -0
  789. package/node_modules/typebox/build/type/engine/intrinsics/from_literal.d.mts +5 -0
  790. package/node_modules/typebox/build/type/engine/intrinsics/from_literal.mjs +9 -0
  791. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +6 -0
  792. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +8 -0
  793. package/node_modules/typebox/build/type/engine/intrinsics/from_type.d.mts +10 -0
  794. package/node_modules/typebox/build/type/engine/intrinsics/from_type.mjs +13 -0
  795. package/node_modules/typebox/build/type/engine/intrinsics/from_union.d.mts +6 -0
  796. package/node_modules/typebox/build/type/engine/intrinsics/from_union.mjs +7 -0
  797. package/node_modules/typebox/build/type/engine/intrinsics/index.d.mts +1 -0
  798. package/node_modules/typebox/build/type/engine/intrinsics/index.mjs +1 -0
  799. package/node_modules/typebox/build/type/engine/intrinsics/instantiate.d.mts +38 -0
  800. package/node_modules/typebox/build/type/engine/intrinsics/instantiate.mjs +52 -0
  801. package/node_modules/typebox/build/type/engine/intrinsics/mapping.d.mts +9 -0
  802. package/node_modules/typebox/build/type/engine/intrinsics/mapping.mjs +4 -0
  803. package/node_modules/typebox/build/type/engine/keyof/from_any.d.mts +6 -0
  804. package/node_modules/typebox/build/type/engine/keyof/from_any.mjs +8 -0
  805. package/node_modules/typebox/build/type/engine/keyof/from_array.d.mts +4 -0
  806. package/node_modules/typebox/build/type/engine/keyof/from_array.mjs +5 -0
  807. package/node_modules/typebox/build/type/engine/keyof/from_object.d.mts +10 -0
  808. package/node_modules/typebox/build/type/engine/keyof/from_object.mjs +20 -0
  809. package/node_modules/typebox/build/type/engine/keyof/from_record.d.mts +4 -0
  810. package/node_modules/typebox/build/type/engine/keyof/from_record.mjs +5 -0
  811. package/node_modules/typebox/build/type/engine/keyof/from_tuple.d.mts +5 -0
  812. package/node_modules/typebox/build/type/engine/keyof/from_tuple.mjs +7 -0
  813. package/node_modules/typebox/build/type/engine/keyof/from_type.d.mts +15 -0
  814. package/node_modules/typebox/build/type/engine/keyof/from_type.mjs +23 -0
  815. package/node_modules/typebox/build/type/engine/keyof/index.d.mts +1 -0
  816. package/node_modules/typebox/build/type/engine/keyof/index.mjs +1 -0
  817. package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +15 -0
  818. package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +25 -0
  819. package/node_modules/typebox/build/type/engine/mapped/index.d.mts +1 -0
  820. package/node_modules/typebox/build/type/engine/mapped/index.mjs +1 -0
  821. package/node_modules/typebox/build/type/engine/mapped/instantiate.d.mts +10 -0
  822. package/node_modules/typebox/build/type/engine/mapped/instantiate.mjs +15 -0
  823. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +22 -0
  824. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +42 -0
  825. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +16 -0
  826. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +34 -0
  827. package/node_modules/typebox/build/type/engine/module/index.d.mts +1 -0
  828. package/node_modules/typebox/build/type/engine/module/index.mjs +1 -0
  829. package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +21 -0
  830. package/node_modules/typebox/build/type/engine/module/instantiate.mjs +34 -0
  831. package/node_modules/typebox/build/type/engine/non_nullable/index.d.mts +1 -0
  832. package/node_modules/typebox/build/type/engine/non_nullable/index.mjs +1 -0
  833. package/node_modules/typebox/build/type/engine/non_nullable/instantiate.d.mts +14 -0
  834. package/node_modules/typebox/build/type/engine/non_nullable/instantiate.mjs +22 -0
  835. package/node_modules/typebox/build/type/engine/object/collapse.d.mts +12 -0
  836. package/node_modules/typebox/build/type/engine/object/collapse.mjs +14 -0
  837. package/node_modules/typebox/build/type/engine/object/from_cyclic.d.mts +6 -0
  838. package/node_modules/typebox/build/type/engine/object/from_cyclic.mjs +8 -0
  839. package/node_modules/typebox/build/type/engine/object/from_intersect.d.mts +17 -0
  840. package/node_modules/typebox/build/type/engine/object/from_intersect.mjs +22 -0
  841. package/node_modules/typebox/build/type/engine/object/from_object.d.mts +3 -0
  842. package/node_modules/typebox/build/type/engine/object/from_object.mjs +4 -0
  843. package/node_modules/typebox/build/type/engine/object/from_tuple.d.mts +6 -0
  844. package/node_modules/typebox/build/type/engine/object/from_tuple.mjs +9 -0
  845. package/node_modules/typebox/build/type/engine/object/from_type.d.mts +14 -0
  846. package/node_modules/typebox/build/type/engine/object/from_type.mjs +20 -0
  847. package/node_modules/typebox/build/type/engine/object/from_union.d.mts +12 -0
  848. package/node_modules/typebox/build/type/engine/object/from_union.mjs +19 -0
  849. package/node_modules/typebox/build/type/engine/object/index.d.mts +1 -0
  850. package/node_modules/typebox/build/type/engine/object/index.mjs +1 -0
  851. package/node_modules/typebox/build/type/engine/omit/from_type.d.mts +12 -0
  852. package/node_modules/typebox/build/type/engine/omit/from_type.mjs +18 -0
  853. package/node_modules/typebox/build/type/engine/omit/index.d.mts +1 -0
  854. package/node_modules/typebox/build/type/engine/omit/index.mjs +1 -0
  855. package/node_modules/typebox/build/type/engine/omit/instantiate.d.mts +9 -0
  856. package/node_modules/typebox/build/type/engine/omit/instantiate.mjs +16 -0
  857. package/node_modules/typebox/build/type/engine/options/index.d.mts +1 -0
  858. package/node_modules/typebox/build/type/engine/options/index.mjs +1 -0
  859. package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +8 -0
  860. package/node_modules/typebox/build/type/engine/options/instantiate.mjs +14 -0
  861. package/node_modules/typebox/build/type/engine/parameters/index.d.mts +1 -0
  862. package/node_modules/typebox/build/type/engine/parameters/index.mjs +1 -0
  863. package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +15 -0
  864. package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +24 -0
  865. package/node_modules/typebox/build/type/engine/partial/from_cyclic.d.mts +10 -0
  866. package/node_modules/typebox/build/type/engine/partial/from_cyclic.mjs +11 -0
  867. package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +5 -0
  868. package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +7 -0
  869. package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +8 -0
  870. package/node_modules/typebox/build/type/engine/partial/from_object.mjs +11 -0
  871. package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +12 -0
  872. package/node_modules/typebox/build/type/engine/partial/from_type.mjs +17 -0
  873. package/node_modules/typebox/build/type/engine/partial/from_union.d.mts +5 -0
  874. package/node_modules/typebox/build/type/engine/partial/from_union.mjs +7 -0
  875. package/node_modules/typebox/build/type/engine/partial/index.d.mts +1 -0
  876. package/node_modules/typebox/build/type/engine/partial/index.mjs +1 -0
  877. package/node_modules/typebox/build/type/engine/partial/instantiate.d.mts +9 -0
  878. package/node_modules/typebox/build/type/engine/partial/instantiate.mjs +15 -0
  879. package/node_modules/typebox/build/type/engine/patterns/index.d.mts +2 -0
  880. package/node_modules/typebox/build/type/engine/patterns/index.mjs +2 -0
  881. package/node_modules/typebox/build/type/engine/patterns/pattern.d.mts +6 -0
  882. package/node_modules/typebox/build/type/engine/patterns/pattern.mjs +11 -0
  883. package/node_modules/typebox/build/type/engine/patterns/template.d.mts +7 -0
  884. package/node_modules/typebox/build/type/engine/patterns/template.mjs +20 -0
  885. package/node_modules/typebox/build/type/engine/pick/from_type.d.mts +13 -0
  886. package/node_modules/typebox/build/type/engine/pick/from_type.mjs +20 -0
  887. package/node_modules/typebox/build/type/engine/pick/index.d.mts +1 -0
  888. package/node_modules/typebox/build/type/engine/pick/index.mjs +1 -0
  889. package/node_modules/typebox/build/type/engine/pick/instantiate.d.mts +9 -0
  890. package/node_modules/typebox/build/type/engine/pick/instantiate.mjs +16 -0
  891. package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +5 -0
  892. package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +7 -0
  893. package/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.d.mts +10 -0
  894. package/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.mjs +11 -0
  895. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +5 -0
  896. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +7 -0
  897. package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +8 -0
  898. package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +11 -0
  899. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +5 -0
  900. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +7 -0
  901. package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +16 -0
  902. package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +22 -0
  903. package/node_modules/typebox/build/type/engine/readonly_object/from_union.d.mts +5 -0
  904. package/node_modules/typebox/build/type/engine/readonly_object/from_union.mjs +7 -0
  905. package/node_modules/typebox/build/type/engine/readonly_object/index.d.mts +1 -0
  906. package/node_modules/typebox/build/type/engine/readonly_object/index.mjs +1 -0
  907. package/node_modules/typebox/build/type/engine/readonly_object/instantiate.d.mts +9 -0
  908. package/node_modules/typebox/build/type/engine/readonly_object/instantiate.mjs +15 -0
  909. package/node_modules/typebox/build/type/engine/record/from_key.d.mts +24 -0
  910. package/node_modules/typebox/build/type/engine/record/from_key.mjs +40 -0
  911. package/node_modules/typebox/build/type/engine/record/from_key_any.d.mts +4 -0
  912. package/node_modules/typebox/build/type/engine/record/from_key_any.mjs +6 -0
  913. package/node_modules/typebox/build/type/engine/record/from_key_boolean.d.mts +7 -0
  914. package/node_modules/typebox/build/type/engine/record/from_key_boolean.mjs +5 -0
  915. package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +6 -0
  916. package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +8 -0
  917. package/node_modules/typebox/build/type/engine/record/from_key_integer.d.mts +5 -0
  918. package/node_modules/typebox/build/type/engine/record/from_key_integer.mjs +7 -0
  919. package/node_modules/typebox/build/type/engine/record/from_key_intersect.d.mts +5 -0
  920. package/node_modules/typebox/build/type/engine/record/from_key_intersect.mjs +8 -0
  921. package/node_modules/typebox/build/type/engine/record/from_key_literal.d.mts +11 -0
  922. package/node_modules/typebox/build/type/engine/record/from_key_literal.mjs +10 -0
  923. package/node_modules/typebox/build/type/engine/record/from_key_number.d.mts +5 -0
  924. package/node_modules/typebox/build/type/engine/record/from_key_number.mjs +7 -0
  925. package/node_modules/typebox/build/type/engine/record/from_key_string.d.mts +5 -0
  926. package/node_modules/typebox/build/type/engine/record/from_key_string.mjs +12 -0
  927. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +8 -0
  928. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +12 -0
  929. package/node_modules/typebox/build/type/engine/record/from_key_union.d.mts +20 -0
  930. package/node_modules/typebox/build/type/engine/record/from_key_union.mjs +39 -0
  931. package/node_modules/typebox/build/type/engine/record/index.d.mts +1 -0
  932. package/node_modules/typebox/build/type/engine/record/index.mjs +1 -0
  933. package/node_modules/typebox/build/type/engine/record/instantiate.d.mts +9 -0
  934. package/node_modules/typebox/build/type/engine/record/instantiate.mjs +17 -0
  935. package/node_modules/typebox/build/type/engine/record/record_create.d.mts +3 -0
  936. package/node_modules/typebox/build/type/engine/record/record_create.mjs +7 -0
  937. package/node_modules/typebox/build/type/engine/ref/index.d.mts +1 -0
  938. package/node_modules/typebox/build/type/engine/ref/index.mjs +1 -0
  939. package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +6 -0
  940. package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +10 -0
  941. package/node_modules/typebox/build/type/engine/required/from_cyclic.d.mts +10 -0
  942. package/node_modules/typebox/build/type/engine/required/from_cyclic.mjs +11 -0
  943. package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +5 -0
  944. package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +7 -0
  945. package/node_modules/typebox/build/type/engine/required/from_object.d.mts +8 -0
  946. package/node_modules/typebox/build/type/engine/required/from_object.mjs +11 -0
  947. package/node_modules/typebox/build/type/engine/required/from_type.d.mts +12 -0
  948. package/node_modules/typebox/build/type/engine/required/from_type.mjs +17 -0
  949. package/node_modules/typebox/build/type/engine/required/from_union.d.mts +5 -0
  950. package/node_modules/typebox/build/type/engine/required/from_union.mjs +7 -0
  951. package/node_modules/typebox/build/type/engine/required/index.d.mts +1 -0
  952. package/node_modules/typebox/build/type/engine/required/index.mjs +1 -0
  953. package/node_modules/typebox/build/type/engine/required/instantiate.d.mts +9 -0
  954. package/node_modules/typebox/build/type/engine/required/instantiate.mjs +15 -0
  955. package/node_modules/typebox/build/type/engine/rest/index.d.mts +1 -0
  956. package/node_modules/typebox/build/type/engine/rest/index.mjs +1 -0
  957. package/node_modules/typebox/build/type/engine/rest/spread.d.mts +12 -0
  958. package/node_modules/typebox/build/type/engine/rest/spread.mjs +19 -0
  959. package/node_modules/typebox/build/type/engine/return_type/index.d.mts +1 -0
  960. package/node_modules/typebox/build/type/engine/return_type/index.mjs +1 -0
  961. package/node_modules/typebox/build/type/engine/return_type/instantiate.d.mts +12 -0
  962. package/node_modules/typebox/build/type/engine/return_type/instantiate.mjs +21 -0
  963. package/node_modules/typebox/build/type/engine/template_literal/create.d.mts +1 -0
  964. package/node_modules/typebox/build/type/engine/template_literal/create.mjs +5 -0
  965. package/node_modules/typebox/build/type/engine/template_literal/decode.d.mts +30 -0
  966. package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +81 -0
  967. package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +33 -0
  968. package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +81 -0
  969. package/node_modules/typebox/build/type/engine/template_literal/index.d.mts +6 -0
  970. package/node_modules/typebox/build/type/engine/template_literal/index.mjs +6 -0
  971. package/node_modules/typebox/build/type/engine/template_literal/instantiate.d.mts +9 -0
  972. package/node_modules/typebox/build/type/engine/template_literal/instantiate.mjs +15 -0
  973. package/node_modules/typebox/build/type/engine/template_literal/is_finite.d.mts +12 -0
  974. package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +26 -0
  975. package/node_modules/typebox/build/type/engine/template_literal/is_pattern.d.mts +6 -0
  976. package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +9 -0
  977. package/node_modules/typebox/build/type/engine/template_literal/static.d.mts +18 -0
  978. package/node_modules/typebox/build/type/engine/template_literal/static.mjs +2 -0
  979. package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +19 -0
  980. package/node_modules/typebox/build/type/engine/this/expand_this.mjs +32 -0
  981. package/node_modules/typebox/build/type/engine/tuple/to_object.d.mts +12 -0
  982. package/node_modules/typebox/build/type/engine/tuple/to_object.mjs +14 -0
  983. package/node_modules/typebox/build/type/extends/any.d.mts +9 -0
  984. package/node_modules/typebox/build/type/extends/any.mjs +12 -0
  985. package/node_modules/typebox/build/type/extends/array.d.mts +20 -0
  986. package/node_modules/typebox/build/type/extends/array.mjs +21 -0
  987. package/node_modules/typebox/build/type/extends/async_iterator.d.mts +7 -0
  988. package/node_modules/typebox/build/type/extends/async_iterator.mjs +9 -0
  989. package/node_modules/typebox/build/type/extends/bigint.d.mts +7 -0
  990. package/node_modules/typebox/build/type/extends/bigint.mjs +9 -0
  991. package/node_modules/typebox/build/type/extends/boolean.d.mts +7 -0
  992. package/node_modules/typebox/build/type/extends/boolean.mjs +9 -0
  993. package/node_modules/typebox/build/type/extends/constructor.d.mts +10 -0
  994. package/node_modules/typebox/build/type/extends/constructor.mjs +17 -0
  995. package/node_modules/typebox/build/type/extends/enum.d.mts +7 -0
  996. package/node_modules/typebox/build/type/extends/enum.mjs +6 -0
  997. package/node_modules/typebox/build/type/extends/extends.d.mts +13 -0
  998. package/node_modules/typebox/build/type/extends/extends.mjs +17 -0
  999. package/node_modules/typebox/build/type/extends/extends_left.d.mts +55 -0
  1000. package/node_modules/typebox/build/type/extends/extends_left.mjs +83 -0
  1001. package/node_modules/typebox/build/type/extends/extends_right.d.mts +25 -0
  1002. package/node_modules/typebox/build/type/extends/extends_right.mjs +44 -0
  1003. package/node_modules/typebox/build/type/extends/function.d.mts +10 -0
  1004. package/node_modules/typebox/build/type/extends/function.mjs +17 -0
  1005. package/node_modules/typebox/build/type/extends/index.d.mts +2 -0
  1006. package/node_modules/typebox/build/type/extends/index.mjs +2 -0
  1007. package/node_modules/typebox/build/type/extends/inference.d.mts +34 -0
  1008. package/node_modules/typebox/build/type/extends/inference.mjs +62 -0
  1009. package/node_modules/typebox/build/type/extends/integer.d.mts +8 -0
  1010. package/node_modules/typebox/build/type/extends/integer.mjs +10 -0
  1011. package/node_modules/typebox/build/type/extends/intersect.d.mts +6 -0
  1012. package/node_modules/typebox/build/type/extends/intersect.mjs +15 -0
  1013. package/node_modules/typebox/build/type/extends/iterator.d.mts +7 -0
  1014. package/node_modules/typebox/build/type/extends/iterator.mjs +9 -0
  1015. package/node_modules/typebox/build/type/extends/literal.d.mts +18 -0
  1016. package/node_modules/typebox/build/type/extends/literal.mjs +44 -0
  1017. package/node_modules/typebox/build/type/extends/never.d.mts +8 -0
  1018. package/node_modules/typebox/build/type/extends/never.mjs +9 -0
  1019. package/node_modules/typebox/build/type/extends/null.d.mts +7 -0
  1020. package/node_modules/typebox/build/type/extends/null.mjs +9 -0
  1021. package/node_modules/typebox/build/type/extends/number.d.mts +7 -0
  1022. package/node_modules/typebox/build/type/extends/number.mjs +9 -0
  1023. package/node_modules/typebox/build/type/extends/object.d.mts +25 -0
  1024. package/node_modules/typebox/build/type/extends/object.mjs +87 -0
  1025. package/node_modules/typebox/build/type/extends/parameters.d.mts +15 -0
  1026. package/node_modules/typebox/build/type/extends/parameters.mjs +28 -0
  1027. package/node_modules/typebox/build/type/extends/promise.d.mts +7 -0
  1028. package/node_modules/typebox/build/type/extends/promise.mjs +9 -0
  1029. package/node_modules/typebox/build/type/extends/result.d.mts +24 -0
  1030. package/node_modules/typebox/build/type/extends/result.mjs +36 -0
  1031. package/node_modules/typebox/build/type/extends/return_type.d.mts +7 -0
  1032. package/node_modules/typebox/build/type/extends/return_type.mjs +9 -0
  1033. package/node_modules/typebox/build/type/extends/string.d.mts +7 -0
  1034. package/node_modules/typebox/build/type/extends/string.mjs +9 -0
  1035. package/node_modules/typebox/build/type/extends/symbol.d.mts +7 -0
  1036. package/node_modules/typebox/build/type/extends/symbol.mjs +9 -0
  1037. package/node_modules/typebox/build/type/extends/template_literal.d.mts +6 -0
  1038. package/node_modules/typebox/build/type/extends/template_literal.mjs +7 -0
  1039. package/node_modules/typebox/build/type/extends/tuple.d.mts +25 -0
  1040. package/node_modules/typebox/build/type/extends/tuple.mjs +60 -0
  1041. package/node_modules/typebox/build/type/extends/undefined.d.mts +8 -0
  1042. package/node_modules/typebox/build/type/extends/undefined.mjs +10 -0
  1043. package/node_modules/typebox/build/type/extends/union.d.mts +11 -0
  1044. package/node_modules/typebox/build/type/extends/union.mjs +24 -0
  1045. package/node_modules/typebox/build/type/extends/unknown.d.mts +9 -0
  1046. package/node_modules/typebox/build/type/extends/unknown.mjs +12 -0
  1047. package/node_modules/typebox/build/type/extends/void.d.mts +7 -0
  1048. package/node_modules/typebox/build/type/extends/void.mjs +9 -0
  1049. package/node_modules/typebox/build/type/index.d.mts +5 -0
  1050. package/node_modules/typebox/build/type/index.mjs +5 -0
  1051. package/node_modules/typebox/build/type/script/index.d.mts +1 -0
  1052. package/node_modules/typebox/build/type/script/index.mjs +1 -0
  1053. package/node_modules/typebox/build/type/script/mapping.d.mts +365 -0
  1054. package/node_modules/typebox/build/type/script/mapping.mjs +532 -0
  1055. package/node_modules/typebox/build/type/script/parser.d.mts +260 -0
  1056. package/node_modules/typebox/build/type/script/parser.mjs +135 -0
  1057. package/node_modules/typebox/build/type/script/script.d.mts +17 -0
  1058. package/node_modules/typebox/build/type/script/script.mjs +21 -0
  1059. package/node_modules/typebox/build/type/script/token/bigint.d.mts +8 -0
  1060. package/node_modules/typebox/build/type/script/token/bigint.mjs +14 -0
  1061. package/node_modules/typebox/build/type/script/token/const.d.mts +11 -0
  1062. package/node_modules/typebox/build/type/script/token/const.mjs +18 -0
  1063. package/node_modules/typebox/build/type/script/token/ident.d.mts +16 -0
  1064. package/node_modules/typebox/build/type/script/token/ident.mjs +26 -0
  1065. package/node_modules/typebox/build/type/script/token/index.d.mts +12 -0
  1066. package/node_modules/typebox/build/type/script/token/index.mjs +12 -0
  1067. package/node_modules/typebox/build/type/script/token/integer.d.mts +11 -0
  1068. package/node_modules/typebox/build/type/script/token/integer.mjs +19 -0
  1069. package/node_modules/typebox/build/type/script/token/internal/char.d.mts +75 -0
  1070. package/node_modules/typebox/build/type/script/token/internal/char.mjs +26 -0
  1071. package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -0
  1072. package/node_modules/typebox/build/type/script/token/internal/guard.mjs +15 -0
  1073. package/node_modules/typebox/build/type/script/token/internal/many.d.mts +7 -0
  1074. package/node_modules/typebox/build/type/script/token/internal/many.mjs +14 -0
  1075. package/node_modules/typebox/build/type/script/token/internal/match.d.mts +6 -0
  1076. package/node_modules/typebox/build/type/script/token/internal/match.mjs +11 -0
  1077. package/node_modules/typebox/build/type/script/token/internal/optional.d.mts +5 -0
  1078. package/node_modules/typebox/build/type/script/token/internal/optional.mjs +9 -0
  1079. package/node_modules/typebox/build/type/script/token/internal/take.d.mts +6 -0
  1080. package/node_modules/typebox/build/type/script/token/internal/take.mjs +30 -0
  1081. package/node_modules/typebox/build/type/script/token/internal/trim.d.mts +19 -0
  1082. package/node_modules/typebox/build/type/script/token/internal/trim.mjs +34 -0
  1083. package/node_modules/typebox/build/type/script/token/number.d.mts +11 -0
  1084. package/node_modules/typebox/build/type/script/token/number.mjs +19 -0
  1085. package/node_modules/typebox/build/type/script/token/rest.d.mts +4 -0
  1086. package/node_modules/typebox/build/type/script/token/rest.mjs +9 -0
  1087. package/node_modules/typebox/build/type/script/token/span.d.mts +11 -0
  1088. package/node_modules/typebox/build/type/script/token/span.mjs +24 -0
  1089. package/node_modules/typebox/build/type/script/token/string.d.mts +11 -0
  1090. package/node_modules/typebox/build/type/script/token/string.mjs +20 -0
  1091. package/node_modules/typebox/build/type/script/token/unsigned_integer.d.mts +16 -0
  1092. package/node_modules/typebox/build/type/script/token/unsigned_integer.mjs +26 -0
  1093. package/node_modules/typebox/build/type/script/token/unsigned_number.d.mts +17 -0
  1094. package/node_modules/typebox/build/type/script/token/unsigned_number.mjs +38 -0
  1095. package/node_modules/typebox/build/type/script/token/until.d.mts +7 -0
  1096. package/node_modules/typebox/build/type/script/token/until.mjs +21 -0
  1097. package/node_modules/typebox/build/type/script/token/until_1.d.mts +5 -0
  1098. package/node_modules/typebox/build/type/script/token/until_1.mjs +12 -0
  1099. package/node_modules/typebox/build/type/types/_codec.d.mts +30 -0
  1100. package/node_modules/typebox/build/type/types/_codec.mjs +61 -0
  1101. package/node_modules/typebox/build/type/types/_immutable.d.mts +16 -0
  1102. package/node_modules/typebox/build/type/types/_immutable.mjs +26 -0
  1103. package/node_modules/typebox/build/type/types/_optional.d.mts +16 -0
  1104. package/node_modules/typebox/build/type/types/_optional.mjs +27 -0
  1105. package/node_modules/typebox/build/type/types/_readonly.d.mts +16 -0
  1106. package/node_modules/typebox/build/type/types/_readonly.mjs +26 -0
  1107. package/node_modules/typebox/build/type/types/_refine.d.mts +26 -0
  1108. package/node_modules/typebox/build/type/types/_refine.mjs +37 -0
  1109. package/node_modules/typebox/build/type/types/any.d.mts +10 -0
  1110. package/node_modules/typebox/build/type/types/any.mjs +18 -0
  1111. package/node_modules/typebox/build/type/types/array.d.mts +18 -0
  1112. package/node_modules/typebox/build/type/types/array.mjs +25 -0
  1113. package/node_modules/typebox/build/type/types/async_iterator.d.mts +20 -0
  1114. package/node_modules/typebox/build/type/types/async_iterator.mjs +28 -0
  1115. package/node_modules/typebox/build/type/types/base.d.mts +50 -0
  1116. package/node_modules/typebox/build/type/types/base.mjs +84 -0
  1117. package/node_modules/typebox/build/type/types/bigint.d.mts +12 -0
  1118. package/node_modules/typebox/build/type/types/bigint.mjs +21 -0
  1119. package/node_modules/typebox/build/type/types/boolean.d.mts +11 -0
  1120. package/node_modules/typebox/build/type/types/boolean.mjs +17 -0
  1121. package/node_modules/typebox/build/type/types/call.d.mts +16 -0
  1122. package/node_modules/typebox/build/type/types/call.mjs +22 -0
  1123. package/node_modules/typebox/build/type/types/constructor.d.mts +18 -0
  1124. package/node_modules/typebox/build/type/types/constructor.mjs +24 -0
  1125. package/node_modules/typebox/build/type/types/cyclic.d.mts +16 -0
  1126. package/node_modules/typebox/build/type/types/cyclic.mjs +29 -0
  1127. package/node_modules/typebox/build/type/types/deferred.d.mts +12 -0
  1128. package/node_modules/typebox/build/type/types/deferred.mjs +16 -0
  1129. package/node_modules/typebox/build/type/types/enum.d.mts +16 -0
  1130. package/node_modules/typebox/build/type/types/enum.mjs +17 -0
  1131. package/node_modules/typebox/build/type/types/function.d.mts +21 -0
  1132. package/node_modules/typebox/build/type/types/function.mjs +25 -0
  1133. package/node_modules/typebox/build/type/types/generic.d.mts +13 -0
  1134. package/node_modules/typebox/build/type/types/generic.mjs +17 -0
  1135. package/node_modules/typebox/build/type/types/identifier.d.mts +11 -0
  1136. package/node_modules/typebox/build/type/types/identifier.mjs +17 -0
  1137. package/node_modules/typebox/build/type/types/index.d.mts +48 -0
  1138. package/node_modules/typebox/build/type/types/index.mjs +54 -0
  1139. package/node_modules/typebox/build/type/types/infer.d.mts +15 -0
  1140. package/node_modules/typebox/build/type/types/infer.mjs +20 -0
  1141. package/node_modules/typebox/build/type/types/integer.d.mts +12 -0
  1142. package/node_modules/typebox/build/type/types/integer.mjs +21 -0
  1143. package/node_modules/typebox/build/type/types/intersect.d.mts +15 -0
  1144. package/node_modules/typebox/build/type/types/intersect.mjs +24 -0
  1145. package/node_modules/typebox/build/type/types/iterator.d.mts +20 -0
  1146. package/node_modules/typebox/build/type/types/iterator.mjs +28 -0
  1147. package/node_modules/typebox/build/type/types/literal.d.mts +31 -0
  1148. package/node_modules/typebox/build/type/types/literal.mjs +62 -0
  1149. package/node_modules/typebox/build/type/types/never.d.mts +12 -0
  1150. package/node_modules/typebox/build/type/types/never.mjs +22 -0
  1151. package/node_modules/typebox/build/type/types/null.d.mts +11 -0
  1152. package/node_modules/typebox/build/type/types/null.mjs +17 -0
  1153. package/node_modules/typebox/build/type/types/number.d.mts +12 -0
  1154. package/node_modules/typebox/build/type/types/number.mjs +21 -0
  1155. package/node_modules/typebox/build/type/types/object.d.mts +18 -0
  1156. package/node_modules/typebox/build/type/types/object.mjs +28 -0
  1157. package/node_modules/typebox/build/type/types/parameter.d.mts +17 -0
  1158. package/node_modules/typebox/build/type/types/parameter.mjs +21 -0
  1159. package/node_modules/typebox/build/type/types/promise.d.mts +21 -0
  1160. package/node_modules/typebox/build/type/types/promise.mjs +29 -0
  1161. package/node_modules/typebox/build/type/types/properties.d.mts +43 -0
  1162. package/node_modules/typebox/build/type/types/properties.mjs +15 -0
  1163. package/node_modules/typebox/build/type/types/record.d.mts +46 -0
  1164. package/node_modules/typebox/build/type/types/record.mjs +60 -0
  1165. package/node_modules/typebox/build/type/types/ref.d.mts +19 -0
  1166. package/node_modules/typebox/build/type/types/ref.mjs +18 -0
  1167. package/node_modules/typebox/build/type/types/rest.d.mts +11 -0
  1168. package/node_modules/typebox/build/type/types/rest.mjs +17 -0
  1169. package/node_modules/typebox/build/type/types/schema.d.mts +176 -0
  1170. package/node_modules/typebox/build/type/types/schema.mjs +15 -0
  1171. package/node_modules/typebox/build/type/types/static.d.mts +48 -0
  1172. package/node_modules/typebox/build/type/types/static.mjs +3 -0
  1173. package/node_modules/typebox/build/type/types/string.d.mts +12 -0
  1174. package/node_modules/typebox/build/type/types/string.mjs +22 -0
  1175. package/node_modules/typebox/build/type/types/symbol.d.mts +11 -0
  1176. package/node_modules/typebox/build/type/types/symbol.mjs +17 -0
  1177. package/node_modules/typebox/build/type/types/template_literal.d.mts +28 -0
  1178. package/node_modules/typebox/build/type/types/template_literal.mjs +37 -0
  1179. package/node_modules/typebox/build/type/types/this.d.mts +14 -0
  1180. package/node_modules/typebox/build/type/types/this.mjs +17 -0
  1181. package/node_modules/typebox/build/type/types/tuple.d.mts +38 -0
  1182. package/node_modules/typebox/build/type/types/tuple.mjs +25 -0
  1183. package/node_modules/typebox/build/type/types/undefined.d.mts +11 -0
  1184. package/node_modules/typebox/build/type/types/undefined.mjs +17 -0
  1185. package/node_modules/typebox/build/type/types/union.d.mts +15 -0
  1186. package/node_modules/typebox/build/type/types/union.mjs +24 -0
  1187. package/node_modules/typebox/build/type/types/unknown.d.mts +10 -0
  1188. package/node_modules/typebox/build/type/types/unknown.mjs +17 -0
  1189. package/node_modules/typebox/build/type/types/unsafe.d.mts +10 -0
  1190. package/node_modules/typebox/build/type/types/unsafe.mjs +20 -0
  1191. package/node_modules/typebox/build/type/types/void.d.mts +11 -0
  1192. package/node_modules/typebox/build/type/types/void.mjs +17 -0
  1193. package/node_modules/typebox/build/typebox.d.mts +73 -0
  1194. package/node_modules/typebox/build/typebox.mjs +89 -0
  1195. package/node_modules/typebox/build/value/assert/assert.d.mts +14 -0
  1196. package/node_modules/typebox/build/value/assert/assert.mjs +28 -0
  1197. package/node_modules/typebox/build/value/assert/index.d.mts +1 -0
  1198. package/node_modules/typebox/build/value/assert/index.mjs +1 -0
  1199. package/node_modules/typebox/build/value/check/check.d.mts +5 -0
  1200. package/node_modules/typebox/build/value/check/check.mjs +11 -0
  1201. package/node_modules/typebox/build/value/check/index.d.mts +1 -0
  1202. package/node_modules/typebox/build/value/check/index.mjs +1 -0
  1203. package/node_modules/typebox/build/value/clean/additional.d.mts +2 -0
  1204. package/node_modules/typebox/build/value/clean/additional.mjs +6 -0
  1205. package/node_modules/typebox/build/value/clean/clean.d.mts +15 -0
  1206. package/node_modules/typebox/build/value/clean/clean.mjs +15 -0
  1207. package/node_modules/typebox/build/value/clean/from_array.d.mts +2 -0
  1208. package/node_modules/typebox/build/value/clean/from_array.mjs +8 -0
  1209. package/node_modules/typebox/build/value/clean/from_base.d.mts +2 -0
  1210. package/node_modules/typebox/build/value/clean/from_base.mjs +4 -0
  1211. package/node_modules/typebox/build/value/clean/from_cyclic.d.mts +2 -0
  1212. package/node_modules/typebox/build/value/clean/from_cyclic.mjs +6 -0
  1213. package/node_modules/typebox/build/value/clean/from_intersect.d.mts +2 -0
  1214. package/node_modules/typebox/build/value/clean/from_intersect.mjs +26 -0
  1215. package/node_modules/typebox/build/value/clean/from_object.d.mts +2 -0
  1216. package/node_modules/typebox/build/value/clean/from_object.mjs +31 -0
  1217. package/node_modules/typebox/build/value/clean/from_record.d.mts +2 -0
  1218. package/node_modules/typebox/build/value/clean/from_record.mjs +32 -0
  1219. package/node_modules/typebox/build/value/clean/from_ref.d.mts +2 -0
  1220. package/node_modules/typebox/build/value/clean/from_ref.mjs +8 -0
  1221. package/node_modules/typebox/build/value/clean/from_tuple.d.mts +2 -0
  1222. package/node_modules/typebox/build/value/clean/from_tuple.mjs +14 -0
  1223. package/node_modules/typebox/build/value/clean/from_type.d.mts +2 -0
  1224. package/node_modules/typebox/build/value/clean/from_type.mjs +23 -0
  1225. package/node_modules/typebox/build/value/clean/from_union.d.mts +2 -0
  1226. package/node_modules/typebox/build/value/clean/from_union.mjs +13 -0
  1227. package/node_modules/typebox/build/value/clean/index.d.mts +1 -0
  1228. package/node_modules/typebox/build/value/clean/index.mjs +1 -0
  1229. package/node_modules/typebox/build/value/clone/clone.d.mts +5 -0
  1230. package/node_modules/typebox/build/value/clone/clone.mjs +83 -0
  1231. package/node_modules/typebox/build/value/clone/index.d.mts +1 -0
  1232. package/node_modules/typebox/build/value/clone/index.mjs +1 -0
  1233. package/node_modules/typebox/build/value/codec/callback.d.mts +2 -0
  1234. package/node_modules/typebox/build/value/codec/callback.mjs +25 -0
  1235. package/node_modules/typebox/build/value/codec/decode.d.mts +12 -0
  1236. package/node_modules/typebox/build/value/codec/decode.mjs +50 -0
  1237. package/node_modules/typebox/build/value/codec/encode.d.mts +12 -0
  1238. package/node_modules/typebox/build/value/codec/encode.mjs +50 -0
  1239. package/node_modules/typebox/build/value/codec/from_array.d.mts +2 -0
  1240. package/node_modules/typebox/build/value/codec/from_array.mjs +38 -0
  1241. package/node_modules/typebox/build/value/codec/from_cyclic.d.mts +2 -0
  1242. package/node_modules/typebox/build/value/codec/from_cyclic.mjs +8 -0
  1243. package/node_modules/typebox/build/value/codec/from_intersect.d.mts +2 -0
  1244. package/node_modules/typebox/build/value/codec/from_intersect.mjs +58 -0
  1245. package/node_modules/typebox/build/value/codec/from_object.d.mts +2 -0
  1246. package/node_modules/typebox/build/value/codec/from_object.mjs +45 -0
  1247. package/node_modules/typebox/build/value/codec/from_record.d.mts +2 -0
  1248. package/node_modules/typebox/build/value/codec/from_record.mjs +44 -0
  1249. package/node_modules/typebox/build/value/codec/from_ref.d.mts +2 -0
  1250. package/node_modules/typebox/build/value/codec/from_ref.mjs +31 -0
  1251. package/node_modules/typebox/build/value/codec/from_tuple.d.mts +2 -0
  1252. package/node_modules/typebox/build/value/codec/from_tuple.mjs +35 -0
  1253. package/node_modules/typebox/build/value/codec/from_type.d.mts +2 -0
  1254. package/node_modules/typebox/build/value/codec/from_type.mjs +22 -0
  1255. package/node_modules/typebox/build/value/codec/from_union.d.mts +2 -0
  1256. package/node_modules/typebox/build/value/codec/from_union.mjs +40 -0
  1257. package/node_modules/typebox/build/value/codec/has.d.mts +5 -0
  1258. package/node_modules/typebox/build/value/codec/has.mjs +93 -0
  1259. package/node_modules/typebox/build/value/codec/index.d.mts +3 -0
  1260. package/node_modules/typebox/build/value/codec/index.mjs +3 -0
  1261. package/node_modules/typebox/build/value/convert/convert.d.mts +13 -0
  1262. package/node_modules/typebox/build/value/convert/convert.mjs +15 -0
  1263. package/node_modules/typebox/build/value/convert/from_additional.d.mts +6 -0
  1264. package/node_modules/typebox/build/value/convert/from_additional.mjs +18 -0
  1265. package/node_modules/typebox/build/value/convert/from_array.d.mts +2 -0
  1266. package/node_modules/typebox/build/value/convert/from_array.mjs +7 -0
  1267. package/node_modules/typebox/build/value/convert/from_base.d.mts +2 -0
  1268. package/node_modules/typebox/build/value/convert/from_base.mjs +4 -0
  1269. package/node_modules/typebox/build/value/convert/from_bigint.d.mts +2 -0
  1270. package/node_modules/typebox/build/value/convert/from_bigint.mjs +6 -0
  1271. package/node_modules/typebox/build/value/convert/from_boolean.d.mts +2 -0
  1272. package/node_modules/typebox/build/value/convert/from_boolean.mjs +6 -0
  1273. package/node_modules/typebox/build/value/convert/from_cyclic.d.mts +2 -0
  1274. package/node_modules/typebox/build/value/convert/from_cyclic.mjs +6 -0
  1275. package/node_modules/typebox/build/value/convert/from_enum.d.mts +2 -0
  1276. package/node_modules/typebox/build/value/convert/from_enum.mjs +7 -0
  1277. package/node_modules/typebox/build/value/convert/from_integer.d.mts +2 -0
  1278. package/node_modules/typebox/build/value/convert/from_integer.mjs +6 -0
  1279. package/node_modules/typebox/build/value/convert/from_intersect.d.mts +2 -0
  1280. package/node_modules/typebox/build/value/convert/from_intersect.mjs +8 -0
  1281. package/node_modules/typebox/build/value/convert/from_literal.d.mts +2 -0
  1282. package/node_modules/typebox/build/value/convert/from_literal.mjs +44 -0
  1283. package/node_modules/typebox/build/value/convert/from_null.d.mts +2 -0
  1284. package/node_modules/typebox/build/value/convert/from_null.mjs +6 -0
  1285. package/node_modules/typebox/build/value/convert/from_number.d.mts +2 -0
  1286. package/node_modules/typebox/build/value/convert/from_number.mjs +6 -0
  1287. package/node_modules/typebox/build/value/convert/from_object.d.mts +2 -0
  1288. package/node_modules/typebox/build/value/convert/from_object.mjs +28 -0
  1289. package/node_modules/typebox/build/value/convert/from_record.d.mts +2 -0
  1290. package/node_modules/typebox/build/value/convert/from_record.mjs +23 -0
  1291. package/node_modules/typebox/build/value/convert/from_ref.d.mts +2 -0
  1292. package/node_modules/typebox/build/value/convert/from_ref.mjs +8 -0
  1293. package/node_modules/typebox/build/value/convert/from_string.d.mts +2 -0
  1294. package/node_modules/typebox/build/value/convert/from_string.mjs +6 -0
  1295. package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +2 -0
  1296. package/node_modules/typebox/build/value/convert/from_template_literal.mjs +7 -0
  1297. package/node_modules/typebox/build/value/convert/from_tuple.d.mts +2 -0
  1298. package/node_modules/typebox/build/value/convert/from_tuple.mjs +11 -0
  1299. package/node_modules/typebox/build/value/convert/from_type.d.mts +2 -0
  1300. package/node_modules/typebox/build/value/convert/from_type.mjs +45 -0
  1301. package/node_modules/typebox/build/value/convert/from_undefined.d.mts +2 -0
  1302. package/node_modules/typebox/build/value/convert/from_undefined.mjs +6 -0
  1303. package/node_modules/typebox/build/value/convert/from_union.d.mts +2 -0
  1304. package/node_modules/typebox/build/value/convert/from_union.mjs +13 -0
  1305. package/node_modules/typebox/build/value/convert/from_void.d.mts +2 -0
  1306. package/node_modules/typebox/build/value/convert/from_void.mjs +6 -0
  1307. package/node_modules/typebox/build/value/convert/index.d.mts +1 -0
  1308. package/node_modules/typebox/build/value/convert/index.mjs +1 -0
  1309. package/node_modules/typebox/build/value/convert/try/index.d.mts +1 -0
  1310. package/node_modules/typebox/build/value/convert/try/index.mjs +1 -0
  1311. package/node_modules/typebox/build/value/convert/try/try.d.mts +8 -0
  1312. package/node_modules/typebox/build/value/convert/try/try.mjs +8 -0
  1313. package/node_modules/typebox/build/value/convert/try/try_array.d.mts +2 -0
  1314. package/node_modules/typebox/build/value/convert/try/try_array.mjs +6 -0
  1315. package/node_modules/typebox/build/value/convert/try/try_bigint.d.mts +2 -0
  1316. package/node_modules/typebox/build/value/convert/try/try_bigint.mjs +45 -0
  1317. package/node_modules/typebox/build/value/convert/try/try_boolean.d.mts +2 -0
  1318. package/node_modules/typebox/build/value/convert/try/try_boolean.mjs +41 -0
  1319. package/node_modules/typebox/build/value/convert/try/try_null.d.mts +2 -0
  1320. package/node_modules/typebox/build/value/convert/try/try_null.mjs +44 -0
  1321. package/node_modules/typebox/build/value/convert/try/try_number.d.mts +2 -0
  1322. package/node_modules/typebox/build/value/convert/try/try_number.mjs +44 -0
  1323. package/node_modules/typebox/build/value/convert/try/try_result.d.mts +8 -0
  1324. package/node_modules/typebox/build/value/convert/try/try_result.mjs +17 -0
  1325. package/node_modules/typebox/build/value/convert/try/try_string.d.mts +2 -0
  1326. package/node_modules/typebox/build/value/convert/try/try_string.mjs +12 -0
  1327. package/node_modules/typebox/build/value/convert/try/try_undefined.d.mts +2 -0
  1328. package/node_modules/typebox/build/value/convert/try/try_undefined.mjs +44 -0
  1329. package/node_modules/typebox/build/value/create/create.d.mts +5 -0
  1330. package/node_modules/typebox/build/value/create/create.mjs +11 -0
  1331. package/node_modules/typebox/build/value/create/error.d.mts +5 -0
  1332. package/node_modules/typebox/build/value/create/error.mjs +7 -0
  1333. package/node_modules/typebox/build/value/create/from_array.d.mts +2 -0
  1334. package/node_modules/typebox/build/value/create/from_array.mjs +10 -0
  1335. package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +2 -0
  1336. package/node_modules/typebox/build/value/create/from_async_iterator.mjs +5 -0
  1337. package/node_modules/typebox/build/value/create/from_base.d.mts +2 -0
  1338. package/node_modules/typebox/build/value/create/from_base.mjs +4 -0
  1339. package/node_modules/typebox/build/value/create/from_bigint.d.mts +2 -0
  1340. package/node_modules/typebox/build/value/create/from_bigint.mjs +7 -0
  1341. package/node_modules/typebox/build/value/create/from_boolean.d.mts +2 -0
  1342. package/node_modules/typebox/build/value/create/from_boolean.mjs +4 -0
  1343. package/node_modules/typebox/build/value/create/from_constructor.d.mts +2 -0
  1344. package/node_modules/typebox/build/value/create/from_constructor.mjs +10 -0
  1345. package/node_modules/typebox/build/value/create/from_cyclic.d.mts +2 -0
  1346. package/node_modules/typebox/build/value/create/from_cyclic.mjs +6 -0
  1347. package/node_modules/typebox/build/value/create/from_default.d.mts +3 -0
  1348. package/node_modules/typebox/build/value/create/from_default.mjs +10 -0
  1349. package/node_modules/typebox/build/value/create/from_enum.d.mts +2 -0
  1350. package/node_modules/typebox/build/value/create/from_enum.mjs +6 -0
  1351. package/node_modules/typebox/build/value/create/from_function.d.mts +2 -0
  1352. package/node_modules/typebox/build/value/create/from_function.mjs +6 -0
  1353. package/node_modules/typebox/build/value/create/from_integer.d.mts +2 -0
  1354. package/node_modules/typebox/build/value/create/from_integer.mjs +8 -0
  1355. package/node_modules/typebox/build/value/create/from_intersect.d.mts +2 -0
  1356. package/node_modules/typebox/build/value/create/from_intersect.mjs +8 -0
  1357. package/node_modules/typebox/build/value/create/from_iterator.d.mts +2 -0
  1358. package/node_modules/typebox/build/value/create/from_iterator.mjs +5 -0
  1359. package/node_modules/typebox/build/value/create/from_literal.d.mts +2 -0
  1360. package/node_modules/typebox/build/value/create/from_literal.mjs +4 -0
  1361. package/node_modules/typebox/build/value/create/from_never.d.mts +2 -0
  1362. package/node_modules/typebox/build/value/create/from_never.mjs +5 -0
  1363. package/node_modules/typebox/build/value/create/from_null.d.mts +2 -0
  1364. package/node_modules/typebox/build/value/create/from_null.mjs +4 -0
  1365. package/node_modules/typebox/build/value/create/from_number.d.mts +2 -0
  1366. package/node_modules/typebox/build/value/create/from_number.mjs +8 -0
  1367. package/node_modules/typebox/build/value/create/from_object.d.mts +2 -0
  1368. package/node_modules/typebox/build/value/create/from_object.mjs +9 -0
  1369. package/node_modules/typebox/build/value/create/from_promise.d.mts +2 -0
  1370. package/node_modules/typebox/build/value/create/from_promise.mjs +5 -0
  1371. package/node_modules/typebox/build/value/create/from_record.d.mts +2 -0
  1372. package/node_modules/typebox/build/value/create/from_record.mjs +8 -0
  1373. package/node_modules/typebox/build/value/create/from_ref.d.mts +2 -0
  1374. package/node_modules/typebox/build/value/create/from_ref.mjs +9 -0
  1375. package/node_modules/typebox/build/value/create/from_string.d.mts +2 -0
  1376. package/node_modules/typebox/build/value/create/from_string.mjs +9 -0
  1377. package/node_modules/typebox/build/value/create/from_symbol.d.mts +2 -0
  1378. package/node_modules/typebox/build/value/create/from_symbol.mjs +4 -0
  1379. package/node_modules/typebox/build/value/create/from_template_literal.d.mts +2 -0
  1380. package/node_modules/typebox/build/value/create/from_template_literal.mjs +11 -0
  1381. package/node_modules/typebox/build/value/create/from_tuple.d.mts +2 -0
  1382. package/node_modules/typebox/build/value/create/from_tuple.mjs +5 -0
  1383. package/node_modules/typebox/build/value/create/from_type.d.mts +2 -0
  1384. package/node_modules/typebox/build/value/create/from_type.mjs +69 -0
  1385. package/node_modules/typebox/build/value/create/from_undefined.d.mts +2 -0
  1386. package/node_modules/typebox/build/value/create/from_undefined.mjs +4 -0
  1387. package/node_modules/typebox/build/value/create/from_union.d.mts +2 -0
  1388. package/node_modules/typebox/build/value/create/from_union.mjs +9 -0
  1389. package/node_modules/typebox/build/value/create/from_void.d.mts +2 -0
  1390. package/node_modules/typebox/build/value/create/from_void.mjs +4 -0
  1391. package/node_modules/typebox/build/value/create/index.d.mts +2 -0
  1392. package/node_modules/typebox/build/value/create/index.mjs +2 -0
  1393. package/node_modules/typebox/build/value/default/default.d.mts +13 -0
  1394. package/node_modules/typebox/build/value/default/default.mjs +15 -0
  1395. package/node_modules/typebox/build/value/default/from_array.d.mts +2 -0
  1396. package/node_modules/typebox/build/value/default/from_array.mjs +12 -0
  1397. package/node_modules/typebox/build/value/default/from_base.d.mts +2 -0
  1398. package/node_modules/typebox/build/value/default/from_base.mjs +5 -0
  1399. package/node_modules/typebox/build/value/default/from_cyclic.d.mts +2 -0
  1400. package/node_modules/typebox/build/value/default/from_cyclic.mjs +7 -0
  1401. package/node_modules/typebox/build/value/default/from_default.d.mts +3 -0
  1402. package/node_modules/typebox/build/value/default/from_default.mjs +13 -0
  1403. package/node_modules/typebox/build/value/default/from_intersect.d.mts +2 -0
  1404. package/node_modules/typebox/build/value/default/from_intersect.mjs +9 -0
  1405. package/node_modules/typebox/build/value/default/from_object.d.mts +2 -0
  1406. package/node_modules/typebox/build/value/default/from_object.mjs +32 -0
  1407. package/node_modules/typebox/build/value/default/from_record.d.mts +2 -0
  1408. package/node_modules/typebox/build/value/default/from_record.mjs +26 -0
  1409. package/node_modules/typebox/build/value/default/from_ref.d.mts +2 -0
  1410. package/node_modules/typebox/build/value/default/from_ref.mjs +9 -0
  1411. package/node_modules/typebox/build/value/default/from_tuple.d.mts +2 -0
  1412. package/node_modules/typebox/build/value/default/from_tuple.mjs +14 -0
  1413. package/node_modules/typebox/build/value/default/from_type.d.mts +2 -0
  1414. package/node_modules/typebox/build/value/default/from_type.mjs +27 -0
  1415. package/node_modules/typebox/build/value/default/from_union.d.mts +2 -0
  1416. package/node_modules/typebox/build/value/default/from_union.mjs +14 -0
  1417. package/node_modules/typebox/build/value/default/index.d.mts +1 -0
  1418. package/node_modules/typebox/build/value/default/index.mjs +1 -0
  1419. package/node_modules/typebox/build/value/delta/diff.d.mts +10 -0
  1420. package/node_modules/typebox/build/value/delta/diff.mjs +135 -0
  1421. package/node_modules/typebox/build/value/delta/edit.d.mts +24 -0
  1422. package/node_modules/typebox/build/value/delta/edit.mjs +17 -0
  1423. package/node_modules/typebox/build/value/delta/index.d.mts +3 -0
  1424. package/node_modules/typebox/build/value/delta/index.mjs +3 -0
  1425. package/node_modules/typebox/build/value/delta/patch.d.mts +8 -0
  1426. package/node_modules/typebox/build/value/delta/patch.mjs +42 -0
  1427. package/node_modules/typebox/build/value/equal/equal.d.mts +2 -0
  1428. package/node_modules/typebox/build/value/equal/equal.mjs +6 -0
  1429. package/node_modules/typebox/build/value/equal/index.d.mts +1 -0
  1430. package/node_modules/typebox/build/value/equal/index.mjs +1 -0
  1431. package/node_modules/typebox/build/value/errors/errors.d.mts +16 -0
  1432. package/node_modules/typebox/build/value/errors/errors.mjs +17 -0
  1433. package/node_modules/typebox/build/value/errors/index.d.mts +1 -0
  1434. package/node_modules/typebox/build/value/errors/index.mjs +1 -0
  1435. package/node_modules/typebox/build/value/hash/hash.d.mts +6 -0
  1436. package/node_modules/typebox/build/value/hash/hash.mjs +10 -0
  1437. package/node_modules/typebox/build/value/hash/index.d.mts +1 -0
  1438. package/node_modules/typebox/build/value/hash/index.mjs +1 -0
  1439. package/node_modules/typebox/build/value/index.d.mts +21 -0
  1440. package/node_modules/typebox/build/value/index.mjs +30 -0
  1441. package/node_modules/typebox/build/value/mutate/error.d.mts +3 -0
  1442. package/node_modules/typebox/build/value/mutate/error.mjs +6 -0
  1443. package/node_modules/typebox/build/value/mutate/from_array.d.mts +2 -0
  1444. package/node_modules/typebox/build/value/mutate/from_array.mjs +16 -0
  1445. package/node_modules/typebox/build/value/mutate/from_object.d.mts +2 -0
  1446. package/node_modules/typebox/build/value/mutate/from_object.mjs +40 -0
  1447. package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +2 -0
  1448. package/node_modules/typebox/build/value/mutate/from_unknown.mjs +7 -0
  1449. package/node_modules/typebox/build/value/mutate/from_value.d.mts +2 -0
  1450. package/node_modules/typebox/build/value/mutate/from_value.mjs +12 -0
  1451. package/node_modules/typebox/build/value/mutate/index.d.mts +1 -0
  1452. package/node_modules/typebox/build/value/mutate/index.mjs +1 -0
  1453. package/node_modules/typebox/build/value/mutate/mutate.d.mts +11 -0
  1454. package/node_modules/typebox/build/value/mutate/mutate.mjs +41 -0
  1455. package/node_modules/typebox/build/value/parse/index.d.mts +1 -0
  1456. package/node_modules/typebox/build/value/parse/index.mjs +1 -0
  1457. package/node_modules/typebox/build/value/parse/parse.d.mts +11 -0
  1458. package/node_modules/typebox/build/value/parse/parse.mjs +47 -0
  1459. package/node_modules/typebox/build/value/pipeline/index.d.mts +1 -0
  1460. package/node_modules/typebox/build/value/pipeline/index.mjs +1 -0
  1461. package/node_modules/typebox/build/value/pipeline/pipeline.d.mts +10 -0
  1462. package/node_modules/typebox/build/value/pipeline/pipeline.mjs +15 -0
  1463. package/node_modules/typebox/build/value/pointer/index.d.mts +1 -0
  1464. package/node_modules/typebox/build/value/pointer/index.mjs +1 -0
  1465. package/node_modules/typebox/build/value/repair/error.d.mts +7 -0
  1466. package/node_modules/typebox/build/value/repair/error.mjs +8 -0
  1467. package/node_modules/typebox/build/value/repair/from_array.d.mts +2 -0
  1468. package/node_modules/typebox/build/value/repair/from_array.mjs +39 -0
  1469. package/node_modules/typebox/build/value/repair/from_base.d.mts +2 -0
  1470. package/node_modules/typebox/build/value/repair/from_base.mjs +8 -0
  1471. package/node_modules/typebox/build/value/repair/from_enum.d.mts +2 -0
  1472. package/node_modules/typebox/build/value/repair/from_enum.mjs +7 -0
  1473. package/node_modules/typebox/build/value/repair/from_intersect.d.mts +2 -0
  1474. package/node_modules/typebox/build/value/repair/from_intersect.mjs +8 -0
  1475. package/node_modules/typebox/build/value/repair/from_object.d.mts +2 -0
  1476. package/node_modules/typebox/build/value/repair/from_object.mjs +33 -0
  1477. package/node_modules/typebox/build/value/repair/from_record.d.mts +2 -0
  1478. package/node_modules/typebox/build/value/repair/from_record.mjs +33 -0
  1479. package/node_modules/typebox/build/value/repair/from_ref.d.mts +2 -0
  1480. package/node_modules/typebox/build/value/repair/from_ref.mjs +9 -0
  1481. package/node_modules/typebox/build/value/repair/from_template_literal.d.mts +2 -0
  1482. package/node_modules/typebox/build/value/repair/from_template_literal.mjs +7 -0
  1483. package/node_modules/typebox/build/value/repair/from_tuple.d.mts +2 -0
  1484. package/node_modules/typebox/build/value/repair/from_tuple.mjs +12 -0
  1485. package/node_modules/typebox/build/value/repair/from_type.d.mts +2 -0
  1486. package/node_modules/typebox/build/value/repair/from_type.mjs +86 -0
  1487. package/node_modules/typebox/build/value/repair/from_union.d.mts +2 -0
  1488. package/node_modules/typebox/build/value/repair/from_union.mjs +24 -0
  1489. package/node_modules/typebox/build/value/repair/from_unknown.d.mts +2 -0
  1490. package/node_modules/typebox/build/value/repair/from_unknown.mjs +12 -0
  1491. package/node_modules/typebox/build/value/repair/index.d.mts +1 -0
  1492. package/node_modules/typebox/build/value/repair/index.mjs +1 -0
  1493. package/node_modules/typebox/build/value/repair/repair.d.mts +17 -0
  1494. package/node_modules/typebox/build/value/repair/repair.mjs +20 -0
  1495. package/node_modules/typebox/build/value/shared/index.d.mts +3 -0
  1496. package/node_modules/typebox/build/value/shared/index.mjs +4 -0
  1497. package/node_modules/typebox/build/value/shared/optional_undefined.d.mts +2 -0
  1498. package/node_modules/typebox/build/value/shared/optional_undefined.mjs +15 -0
  1499. package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +3 -0
  1500. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +36 -0
  1501. package/node_modules/typebox/build/value/shared/union_score_select.d.mts +3 -0
  1502. package/node_modules/typebox/build/value/shared/union_score_select.mjs +51 -0
  1503. package/node_modules/typebox/build/value/value.d.mts +16 -0
  1504. package/node_modules/typebox/build/value/value.mjs +16 -0
  1505. package/node_modules/typebox/license +23 -0
  1506. package/node_modules/typebox/package.json +87 -0
  1507. package/node_modules/typebox/readme.md +356 -0
  1508. package/package.json +14 -6
  1509. package/skills/flourish-chart-spec/SKILL.md +81 -0
  1510. package/extensions/astro-agents/discovery.test.ts +0 -152
  1511. package/extensions/astro-agents/discovery.ts +0 -115
  1512. package/extensions/astro-agents/index.test.ts +0 -214
  1513. package/extensions/astro-agents/index.ts +0 -156
  1514. package/extensions/astro-agents/spawn.test.ts +0 -315
  1515. package/extensions/astro-agents/spawn.ts +0 -201
@@ -0,0 +1,1744 @@
1
+ import { spawn, spawnSync } from "node:child_process";
2
+ import * as fs from "node:fs";
3
+ import * as path from "node:path";
4
+ import { pathToFileURL } from "node:url";
5
+ import type { Message } from "@earendil-works/pi-ai";
6
+ import { writeAtomicJson } from "../../shared/atomic-json.ts";
7
+ import { appendJsonl, getArtifactPaths } from "../../shared/artifacts.ts";
8
+ import { PI_CODING_AGENT_PACKAGE, getPiSpawnCommand, resolveInstalledPiPackageRoot } from "../shared/pi-spawn.ts";
9
+ import { captureSingleOutputSnapshot, finalizeSingleOutput, formatSavedOutputReference, resolveSingleOutput, type SingleOutputSnapshot } from "../shared/single-output.ts";
10
+ import {
11
+ type ActivityState,
12
+ type ArtifactConfig,
13
+ type ArtifactPaths,
14
+ type AsyncParallelGroupStatus,
15
+ type AsyncStatus,
16
+ type ModelAttempt,
17
+ type ResolvedControlConfig,
18
+ type SubagentRunMode,
19
+ type Usage,
20
+ DEFAULT_MAX_OUTPUT,
21
+ type MaxOutputConfig,
22
+ truncateOutput,
23
+ getSubagentDepthEnv,
24
+ } from "../../shared/types.ts";
25
+ import {
26
+ DEFAULT_CONTROL_CONFIG,
27
+ buildControlEvent,
28
+ deriveActivityState,
29
+ claimControlNotification,
30
+ formatControlIntercomMessage,
31
+ formatControlNoticeMessage,
32
+ } from "../shared/subagent-control.ts";
33
+ import {
34
+ type RunnerSubagentStep as SubagentStep,
35
+ type RunnerStep,
36
+ isParallelGroup,
37
+ flattenSteps,
38
+ mapConcurrent,
39
+ aggregateParallelOutputs,
40
+ MAX_PARALLEL_CONCURRENCY,
41
+ } from "../shared/parallel-utils.ts";
42
+ import { buildPiArgs, cleanupTempDir } from "../shared/pi-args.ts";
43
+ import { formatModelAttemptNote, isRetryableModelFailure } from "../shared/model-fallback.ts";
44
+ import { attachPostExitStdioGuard, trySignalChild } from "../../shared/post-exit-stdio-guard.ts";
45
+ import { detectSubagentError, extractTextFromContent, extractToolArgsPreview, getFinalOutput } from "../../shared/utils.ts";
46
+ import { evaluateCompletionMutationGuard } from "../shared/completion-guard.ts";
47
+ import {
48
+ createMutatingFailureState,
49
+ didMutatingToolFail,
50
+ isMutatingTool,
51
+ nextLongRunningTrigger,
52
+ recordMutatingFailure,
53
+ resetMutatingFailureState,
54
+ resolveCurrentPath,
55
+ shouldEscalateMutatingFailures,
56
+ summarizeRecentMutatingFailures,
57
+ } from "../shared/long-running-guard.ts";
58
+ import { parseSessionTokens } from "../../shared/session-tokens.ts";
59
+ import type { TokenUsage } from "../../shared/types.ts";
60
+ import {
61
+ cleanupWorktrees,
62
+ createWorktrees,
63
+ diffWorktrees,
64
+ findWorktreeTaskCwdConflict,
65
+ formatWorktreeDiffSummary,
66
+ formatWorktreeTaskCwdConflict,
67
+ type WorktreeSetup,
68
+ } from "../shared/worktree.ts";
69
+ import { writeInitialProgressFile } from "../../shared/settings.ts";
70
+
71
+ interface SubagentRunConfig {
72
+ id: string;
73
+ steps: RunnerStep[];
74
+ resultPath: string;
75
+ cwd: string;
76
+ placeholder: string;
77
+ taskIndex?: number;
78
+ totalTasks?: number;
79
+ maxOutput?: MaxOutputConfig;
80
+ artifactsDir?: string;
81
+ artifactConfig?: Partial<ArtifactConfig>;
82
+ share?: boolean;
83
+ sessionDir?: string;
84
+ asyncDir: string;
85
+ sessionId?: string | null;
86
+ piPackageRoot?: string;
87
+ piArgv1?: string;
88
+ worktreeSetupHook?: string;
89
+ worktreeSetupHookTimeoutMs?: number;
90
+ controlConfig?: ResolvedControlConfig;
91
+ controlIntercomTarget?: string;
92
+ childIntercomTargets?: Array<string | undefined>;
93
+ resultMode?: SubagentRunMode;
94
+ }
95
+
96
+ interface StepResult {
97
+ agent: string;
98
+ output: string;
99
+ error?: string;
100
+ success: boolean;
101
+ skipped?: boolean;
102
+ sessionFile?: string;
103
+ intercomTarget?: string;
104
+ model?: string;
105
+ attemptedModels?: string[];
106
+ modelAttempts?: ModelAttempt[];
107
+ artifactPaths?: ArtifactPaths;
108
+ truncated?: boolean;
109
+ }
110
+
111
+ const ASYNC_INTERRUPT_SIGNAL: NodeJS.Signals = process.platform === "win32" ? "SIGBREAK" : "SIGUSR2";
112
+
113
+ function findLatestSessionFile(sessionDir: string): string | null {
114
+ try {
115
+ const files = fs
116
+ .readdirSync(sessionDir)
117
+ .filter((f) => f.endsWith(".jsonl"))
118
+ .map((f) => path.join(sessionDir, f));
119
+ if (files.length === 0) return null;
120
+ files.sort((a, b) => fs.statSync(b).mtimeMs - fs.statSync(a).mtimeMs);
121
+ return files[0] ?? null;
122
+ } catch {
123
+ // Session lookup is optional metadata.
124
+ return null;
125
+ }
126
+ }
127
+
128
+ function emptyUsage(): Usage {
129
+ return { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, cost: 0, turns: 0 };
130
+ }
131
+
132
+ function tokenUsageFromAttempts(attempts: ModelAttempt[] | undefined): TokenUsage | null {
133
+ if (!attempts || attempts.length === 0) return null;
134
+ let input = 0;
135
+ let output = 0;
136
+ for (const attempt of attempts) {
137
+ input += attempt.usage?.input ?? 0;
138
+ output += attempt.usage?.output ?? 0;
139
+ }
140
+ const total = input + output;
141
+ return total > 0 ? { input, output, total } : null;
142
+ }
143
+
144
+ function appendRecentStepOutput(step: RunnerStatusStep, lines: string[]): void {
145
+ const nonEmpty = lines.filter((line) => line.trim());
146
+ if (nonEmpty.length === 0) return;
147
+ step.recentOutput ??= [];
148
+ step.recentOutput.push(...nonEmpty);
149
+ if (step.recentOutput.length > 50) {
150
+ step.recentOutput.splice(0, step.recentOutput.length - 50);
151
+ }
152
+ }
153
+
154
+ function resetStepLiveDetail(step: RunnerStatusStep): void {
155
+ step.currentTool = undefined;
156
+ step.currentToolArgs = undefined;
157
+ step.currentToolStartedAt = undefined;
158
+ step.currentPath = undefined;
159
+ step.recentTools = [];
160
+ step.recentOutput = [];
161
+ }
162
+
163
+ interface ChildEventContext {
164
+ eventsPath: string;
165
+ runId: string;
166
+ stepIndex: number;
167
+ agent: string;
168
+ }
169
+
170
+ interface ChildUsage {
171
+ input?: number;
172
+ inputTokens?: number;
173
+ output?: number;
174
+ outputTokens?: number;
175
+ cacheRead?: number;
176
+ cacheWrite?: number;
177
+ cost?: { total?: number };
178
+ }
179
+
180
+ type ChildMessage = Message & {
181
+ model?: string;
182
+ errorMessage?: string;
183
+ usage?: ChildUsage;
184
+ };
185
+
186
+ interface ChildEvent {
187
+ type?: string;
188
+ message?: ChildMessage;
189
+ toolName?: string;
190
+ args?: Record<string, unknown>;
191
+ }
192
+
193
+ interface RunPiStreamingResult {
194
+ stderr: string;
195
+ exitCode: number | null;
196
+ messages: Message[];
197
+ usage: Usage;
198
+ model?: string;
199
+ error?: string;
200
+ finalOutput: string;
201
+ interrupted?: boolean;
202
+ observedMutationAttempt?: boolean;
203
+ }
204
+
205
+ function runPiStreaming(
206
+ args: string[],
207
+ cwd: string,
208
+ outputFile: string,
209
+ env?: Record<string, string | undefined>,
210
+ piPackageRoot?: string,
211
+ piArgv1?: string,
212
+ maxSubagentDepth?: number,
213
+ childEventContext?: ChildEventContext,
214
+ registerInterrupt?: (interrupt: (() => void) | undefined) => void,
215
+ onChildEvent?: (event: ChildEvent) => void,
216
+ ): Promise<RunPiStreamingResult> {
217
+ return new Promise((resolve) => {
218
+ const outputStream = fs.createWriteStream(outputFile, { flags: "w" });
219
+ const spawnEnv = { ...process.env, ...(env ?? {}), ...getSubagentDepthEnv(maxSubagentDepth) };
220
+ const spawnSpec = getPiSpawnCommand(args, {
221
+ ...(piPackageRoot ? { piPackageRoot } : {}),
222
+ ...(piArgv1 ? { argv1: piArgv1 } : {}),
223
+ });
224
+ const child = spawn(spawnSpec.command, spawnSpec.args, { cwd, stdio: ["ignore", "pipe", "pipe"], env: spawnEnv });
225
+ let stderr = "";
226
+ let stdoutBuf = "";
227
+ let stderrBuf = "";
228
+ const messages: Message[] = [];
229
+ const usage = emptyUsage();
230
+ let model: string | undefined;
231
+ let error: string | undefined;
232
+ let interrupted = false;
233
+ let observedMutationAttempt = false;
234
+ const rawStdoutLines: string[] = [];
235
+
236
+ const writeOutputLine = (line: string) => {
237
+ if (!line.trim()) return;
238
+ outputStream.write(`${line}\n`);
239
+ };
240
+
241
+ const writeOutputText = (text: string) => {
242
+ for (const line of text.split("\n")) {
243
+ writeOutputLine(line);
244
+ }
245
+ };
246
+
247
+ const appendChildEvent = (event: Record<string, unknown>) => {
248
+ if (!childEventContext) return;
249
+ appendJsonl(childEventContext.eventsPath, JSON.stringify({
250
+ ...event,
251
+ subagentSource: "child",
252
+ subagentRunId: childEventContext.runId,
253
+ subagentStepIndex: childEventContext.stepIndex,
254
+ subagentAgent: childEventContext.agent,
255
+ observedAt: Date.now(),
256
+ }));
257
+ };
258
+
259
+ const appendChildLine = (type: "subagent.child.stdout" | "subagent.child.stderr", line: string) => {
260
+ appendChildEvent({ type, line });
261
+ };
262
+
263
+ const processStdoutLine = (line: string) => {
264
+ if (!line.trim()) return;
265
+ let event: ChildEvent;
266
+ try {
267
+ event = JSON.parse(line) as ChildEvent;
268
+ } catch {
269
+ rawStdoutLines.push(line);
270
+ writeOutputLine(line);
271
+ appendChildLine("subagent.child.stdout", line);
272
+ return;
273
+ }
274
+
275
+ appendChildEvent(event);
276
+ onChildEvent?.(event);
277
+
278
+ if (event.type === "tool_execution_start" && event.toolName) {
279
+ observedMutationAttempt = observedMutationAttempt || isMutatingTool(event.toolName, event.args);
280
+ const toolArgs = extractToolArgsPreview(event.args ?? {});
281
+ writeOutputLine(toolArgs ? `${event.toolName}: ${toolArgs}` : event.toolName);
282
+ return;
283
+ }
284
+
285
+ if ((event.type === "message_end" || event.type === "tool_result_end") && event.message) {
286
+ messages.push(event.message);
287
+ const text = extractTextFromContent(event.message.content);
288
+ if (text) writeOutputText(text);
289
+
290
+ if (event.type !== "message_end" || event.message.role !== "assistant") return;
291
+ if (event.message.model) model = event.message.model;
292
+ if (event.message.errorMessage) error = event.message.errorMessage;
293
+ const eventUsage = event.message.usage;
294
+ if (eventUsage) {
295
+ usage.turns++;
296
+ usage.input += eventUsage.input ?? eventUsage.inputTokens ?? 0;
297
+ usage.output += eventUsage.output ?? eventUsage.outputTokens ?? 0;
298
+ usage.cacheRead += eventUsage.cacheRead ?? 0;
299
+ usage.cacheWrite += eventUsage.cacheWrite ?? 0;
300
+ usage.cost += eventUsage.cost?.total ?? 0;
301
+ }
302
+ const stopReason = (event.message as { stopReason?: string }).stopReason;
303
+ const hasToolCall = Array.isArray(event.message.content)
304
+ && event.message.content.some((part) => (part as { type?: string }).type === "toolCall");
305
+ if (stopReason === "stop" && !hasToolCall) {
306
+ cleanTerminalAssistantStopReceived ||= !event.message.errorMessage;
307
+ startFinalDrain();
308
+ }
309
+ }
310
+ };
311
+
312
+ const processStderrText = (text: string) => {
313
+ stderr += text;
314
+ stderrBuf += text;
315
+ outputStream.write(text);
316
+ if (!childEventContext) return;
317
+ const lines = stderrBuf.split("\n");
318
+ stderrBuf = lines.pop() || "";
319
+ for (const line of lines) {
320
+ if (!line.trim()) continue;
321
+ appendChildLine("subagent.child.stderr", line);
322
+ }
323
+ };
324
+
325
+ // Guard both cases that can leave the parent waiting on `close` forever:
326
+ // a lingering stdio holder after `exit`, or a child that never exits.
327
+ const FINAL_STOP_GRACE_MS = 1000;
328
+ const HARD_KILL_MS = 3000;
329
+ let childExited = false;
330
+ let forcedTerminationSignal = false;
331
+ let cleanTerminalAssistantStopReceived = false;
332
+ let finalDrainTimer: NodeJS.Timeout | undefined;
333
+ let finalHardKillTimer: NodeJS.Timeout | undefined;
334
+ let settled = false;
335
+ const clearStdioGuard = attachPostExitStdioGuard(child, { idleMs: 2000, hardMs: 8000 });
336
+ child.stdout.on("data", (chunk: Buffer) => {
337
+ const text = chunk.toString();
338
+ stdoutBuf += text;
339
+ const lines = stdoutBuf.split("\n");
340
+ stdoutBuf = lines.pop() || "";
341
+ for (const line of lines) processStdoutLine(line);
342
+ });
343
+
344
+ child.stderr.on("data", (chunk: Buffer) => {
345
+ processStderrText(chunk.toString());
346
+ });
347
+ registerInterrupt?.(() => {
348
+ if (settled) return;
349
+ interrupted = true;
350
+ if (!error) error = "Interrupted. Waiting for explicit next action.";
351
+ trySignalChild(child, "SIGINT");
352
+ setTimeout(() => {
353
+ if (!settled) trySignalChild(child, "SIGTERM");
354
+ }, 1000).unref?.();
355
+ });
356
+ const clearDrainTimers = () => {
357
+ if (finalDrainTimer) {
358
+ clearTimeout(finalDrainTimer);
359
+ finalDrainTimer = undefined;
360
+ }
361
+ if (finalHardKillTimer) {
362
+ clearTimeout(finalHardKillTimer);
363
+ finalHardKillTimer = undefined;
364
+ }
365
+ };
366
+ function startFinalDrain(): void {
367
+ if (childExited || finalDrainTimer || settled) return;
368
+ finalDrainTimer = setTimeout(() => {
369
+ if (settled) return;
370
+ const termSent = trySignalChild(child, "SIGTERM");
371
+ if (!termSent) return;
372
+ forcedTerminationSignal = true;
373
+ if (!cleanTerminalAssistantStopReceived && !error) {
374
+ error = `Subagent process did not exit within ${FINAL_STOP_GRACE_MS}ms after its final message. Forcing termination.`;
375
+ }
376
+ finalHardKillTimer = setTimeout(() => {
377
+ if (settled) return;
378
+ forcedTerminationSignal = trySignalChild(child, "SIGKILL") || forcedTerminationSignal;
379
+ }, HARD_KILL_MS);
380
+ finalHardKillTimer.unref?.();
381
+ }, FINAL_STOP_GRACE_MS);
382
+ finalDrainTimer.unref?.();
383
+ }
384
+ child.on("exit", () => {
385
+ childExited = true;
386
+ clearDrainTimers();
387
+ });
388
+ child.on("close", (exitCode, signal) => {
389
+ settled = true;
390
+ registerInterrupt?.(undefined);
391
+ clearDrainTimers();
392
+ clearStdioGuard();
393
+ if (stdoutBuf.trim()) processStdoutLine(stdoutBuf);
394
+ if (stderrBuf.trim()) appendChildLine("subagent.child.stderr", stderrBuf);
395
+ outputStream.end();
396
+ const finalOutput = getFinalOutput(messages) || rawStdoutLines.join("\n").trim();
397
+ const forcedDrainAfterFinalSuccess = forcedTerminationSignal && cleanTerminalAssistantStopReceived && !error;
398
+ resolve({
399
+ stderr,
400
+ exitCode: interrupted || forcedDrainAfterFinalSuccess ? 0 : forcedTerminationSignal || signal ? (exitCode ?? 1) : exitCode,
401
+ messages,
402
+ usage,
403
+ model,
404
+ error: interrupted || forcedDrainAfterFinalSuccess ? undefined : error,
405
+ finalOutput,
406
+ interrupted,
407
+ observedMutationAttempt,
408
+ });
409
+ });
410
+
411
+ child.on("error", (spawnError) => {
412
+ settled = true;
413
+ registerInterrupt?.(undefined);
414
+ clearDrainTimers();
415
+ clearStdioGuard();
416
+ outputStream.end();
417
+ const finalOutput = getFinalOutput(messages) || rawStdoutLines.join("\n").trim();
418
+ const spawnErrorMessage = spawnError instanceof Error ? spawnError.message : String(spawnError);
419
+ resolve({ stderr, exitCode: 1, messages, usage, model, error: error ?? spawnErrorMessage, finalOutput, observedMutationAttempt });
420
+ });
421
+ });
422
+ }
423
+
424
+ function resolvePiPackageRootFallback(): string {
425
+ const root = resolveInstalledPiPackageRoot();
426
+ if (root) return root;
427
+ throw new Error(`Could not resolve ${PI_CODING_AGENT_PACKAGE} package root`);
428
+ }
429
+
430
+ async function exportSessionHtml(sessionFile: string, outputDir: string, piPackageRoot?: string): Promise<string> {
431
+ const pkgRoot = piPackageRoot ?? resolvePiPackageRootFallback();
432
+ const exportModulePath = path.join(pkgRoot, "dist", "core", "export-html", "index.js");
433
+ const moduleUrl = pathToFileURL(exportModulePath).href;
434
+ const mod = await import(moduleUrl);
435
+ const exportFromFile = (mod as { exportFromFile?: (inputPath: string, options?: { outputPath?: string }) => string })
436
+ .exportFromFile;
437
+ if (typeof exportFromFile !== "function") {
438
+ throw new Error("exportFromFile not available");
439
+ }
440
+ const outputPath = path.join(outputDir, `${path.basename(sessionFile, ".jsonl")}.html`);
441
+ return exportFromFile(sessionFile, { outputPath });
442
+ }
443
+
444
+ function createShareLink(htmlPath: string): { shareUrl: string; gistUrl: string } | { error: string } {
445
+ try {
446
+ const auth = spawnSync("gh", ["auth", "status"], { encoding: "utf-8" });
447
+ if (auth.status !== 0) {
448
+ return { error: "GitHub CLI is not logged in. Run 'gh auth login' first." };
449
+ }
450
+ } catch {
451
+ return { error: "GitHub CLI (gh) is not installed." };
452
+ }
453
+
454
+ try {
455
+ const result = spawnSync("gh", ["gist", "create", htmlPath], { encoding: "utf-8" });
456
+ if (result.status !== 0) {
457
+ const err = (result.stderr || "").trim() || "Failed to create gist.";
458
+ return { error: err };
459
+ }
460
+ const gistUrl = (result.stdout || "").trim();
461
+ const gistId = gistUrl.split("/").pop();
462
+ if (!gistId) return { error: "Failed to parse gist ID." };
463
+ const shareUrl = `https://shittycodingagent.ai/session/?${gistId}`;
464
+ return { shareUrl, gistUrl };
465
+ } catch (err) {
466
+ return { error: String(err) };
467
+ }
468
+ }
469
+
470
+ function formatDuration(ms: number): string {
471
+ if (ms < 1000) return `${ms}ms`;
472
+ if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;
473
+ const minutes = Math.floor(ms / 60000);
474
+ const seconds = Math.floor((ms % 60000) / 1000);
475
+ return `${minutes}m${seconds}s`;
476
+ }
477
+
478
+ function writeRunLog(
479
+ logPath: string,
480
+ input: {
481
+ id: string;
482
+ mode: SubagentRunMode;
483
+ cwd: string;
484
+ startedAt: number;
485
+ endedAt: number;
486
+ steps: Array<{
487
+ agent: string;
488
+ status: string;
489
+ durationMs?: number;
490
+ }>;
491
+ summary: string;
492
+ truncated: boolean;
493
+ artifactsDir?: string;
494
+ sessionFile?: string;
495
+ shareUrl?: string;
496
+ shareError?: string;
497
+ },
498
+ ): void {
499
+ const lines: string[] = [];
500
+ lines.push(`# Subagent run ${input.id}`);
501
+ lines.push("");
502
+ lines.push(`- **Mode:** ${input.mode}`);
503
+ lines.push(`- **CWD:** ${input.cwd}`);
504
+ lines.push(`- **Started:** ${new Date(input.startedAt).toISOString()}`);
505
+ lines.push(`- **Ended:** ${new Date(input.endedAt).toISOString()}`);
506
+ lines.push(`- **Duration:** ${formatDuration(input.endedAt - input.startedAt)}`);
507
+ if (input.sessionFile) lines.push(`- **Session:** ${input.sessionFile}`);
508
+ if (input.shareUrl) lines.push(`- **Share:** ${input.shareUrl}`);
509
+ if (input.shareError) lines.push(`- **Share error:** ${input.shareError}`);
510
+ if (input.artifactsDir) lines.push(`- **Artifacts:** ${input.artifactsDir}`);
511
+ lines.push("");
512
+ lines.push("## Steps");
513
+ lines.push("| Step | Agent | Status | Duration |");
514
+ lines.push("| --- | --- | --- | --- |");
515
+ input.steps.forEach((step, i) => {
516
+ const duration = step.durationMs !== undefined ? formatDuration(step.durationMs) : "-";
517
+ lines.push(`| ${i + 1} | ${step.agent} | ${step.status} | ${duration} |`);
518
+ });
519
+ lines.push("");
520
+ lines.push("## Summary");
521
+ if (input.truncated) {
522
+ lines.push("_Output truncated_");
523
+ lines.push("");
524
+ }
525
+ lines.push(input.summary.trim() || "(no output)");
526
+ lines.push("");
527
+ fs.writeFileSync(logPath, lines.join("\n"), "utf-8");
528
+ }
529
+
530
+ /** Context for running a single step */
531
+ interface SingleStepContext {
532
+ previousOutput: string;
533
+ placeholder: string;
534
+ cwd: string;
535
+ sessionEnabled: boolean;
536
+ sessionDir?: string;
537
+ artifactsDir?: string;
538
+ artifactConfig?: Partial<ArtifactConfig>;
539
+ id: string;
540
+ flatIndex: number;
541
+ flatStepCount: number;
542
+ outputFile: string;
543
+ piPackageRoot?: string;
544
+ piArgv1?: string;
545
+ registerInterrupt?: (interrupt: (() => void) | undefined) => void;
546
+ childIntercomTarget?: string;
547
+ orchestratorIntercomTarget?: string;
548
+ onChildEvent?: (event: ChildEvent) => void;
549
+ }
550
+
551
+ /** Run a single pi agent step, returning output and metadata */
552
+ async function runSingleStep(
553
+ step: SubagentStep,
554
+ ctx: SingleStepContext,
555
+ ): Promise<{
556
+ agent: string;
557
+ output: string;
558
+ exitCode: number | null;
559
+ error?: string;
560
+ model?: string;
561
+ attemptedModels?: string[];
562
+ modelAttempts?: ModelAttempt[];
563
+ artifactPaths?: ArtifactPaths;
564
+ interrupted?: boolean;
565
+ sessionFile?: string;
566
+ intercomTarget?: string;
567
+ completionGuardTriggered?: boolean;
568
+ }> {
569
+ const placeholderRegex = new RegExp(ctx.placeholder.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g");
570
+ const task = step.task.replace(placeholderRegex, () => ctx.previousOutput);
571
+ const sessionEnabled = Boolean(step.sessionFile) || ctx.sessionEnabled;
572
+ const sessionDir = step.sessionFile ? undefined : ctx.sessionDir;
573
+
574
+ let artifactPaths: ArtifactPaths | undefined;
575
+ if (ctx.artifactsDir && ctx.artifactConfig?.enabled !== false) {
576
+ const index = ctx.flatStepCount > 1 ? ctx.flatIndex : undefined;
577
+ artifactPaths = getArtifactPaths(ctx.artifactsDir, ctx.id, step.agent, index);
578
+ fs.mkdirSync(ctx.artifactsDir, { recursive: true });
579
+ if (ctx.artifactConfig?.includeInput !== false) {
580
+ fs.writeFileSync(artifactPaths.inputPath, `# Task for ${step.agent}\n\n${task}`, "utf-8");
581
+ }
582
+ }
583
+
584
+ const candidates = step.modelCandidates && step.modelCandidates.length > 0
585
+ ? step.modelCandidates
586
+ : step.model
587
+ ? [step.model]
588
+ : [undefined];
589
+ const attemptedModels: string[] = [];
590
+ const modelAttempts: ModelAttempt[] = [];
591
+ const attemptNotes: string[] = [];
592
+ const eventsPath = path.join(path.dirname(ctx.outputFile), "events.jsonl");
593
+ let finalResult: RunPiStreamingResult | undefined;
594
+ let finalOutputSnapshot: SingleOutputSnapshot | undefined;
595
+ let completionGuardTriggeredFinal = false;
596
+
597
+ for (let index = 0; index < candidates.length; index++) {
598
+ const candidate = candidates[index];
599
+ const outputSnapshot = captureSingleOutputSnapshot(step.outputPath);
600
+ const { args, env, tempDir } = buildPiArgs({
601
+ baseArgs: ["--mode", "json", "-p"],
602
+ task,
603
+ sessionEnabled,
604
+ sessionDir,
605
+ sessionFile: step.sessionFile,
606
+ model: candidate,
607
+ inheritProjectContext: step.inheritProjectContext,
608
+ inheritSkills: step.inheritSkills,
609
+ tools: step.tools,
610
+ extensions: step.extensions,
611
+ systemPrompt: step.systemPrompt,
612
+ systemPromptMode: step.systemPromptMode,
613
+ mcpDirectTools: step.mcpDirectTools,
614
+ promptFileStem: step.agent,
615
+ intercomSessionName: ctx.childIntercomTarget,
616
+ orchestratorIntercomTarget: ctx.orchestratorIntercomTarget,
617
+ runId: ctx.id,
618
+ childAgentName: step.agent,
619
+ childIndex: ctx.flatIndex,
620
+ });
621
+ const run = await runPiStreaming(
622
+ args,
623
+ step.cwd ?? ctx.cwd,
624
+ ctx.outputFile,
625
+ env,
626
+ ctx.piPackageRoot,
627
+ ctx.piArgv1,
628
+ step.maxSubagentDepth,
629
+ { eventsPath, runId: ctx.id, stepIndex: ctx.flatIndex, agent: step.agent },
630
+ ctx.registerInterrupt,
631
+ ctx.onChildEvent,
632
+ );
633
+ cleanupTempDir(tempDir);
634
+
635
+ const hiddenError = run.exitCode === 0 && !run.error ? detectSubagentError(run.messages) : null;
636
+ const completionGuard = run.exitCode === 0 && !run.error && !hiddenError?.hasError
637
+ ? evaluateCompletionMutationGuard({
638
+ agent: step.agent,
639
+ task,
640
+ messages: run.messages,
641
+ })
642
+ : undefined;
643
+ const completionGuardTriggered = completionGuard?.triggered === true && !run.observedMutationAttempt;
644
+ const completionGuardError = completionGuardTriggered
645
+ ? "Subagent completed without making edits for an implementation task.\nIt appears to have returned planning or scratchpad output instead of applying changes."
646
+ : undefined;
647
+ const effectiveExitCode = completionGuardTriggered
648
+ ? 1
649
+ : hiddenError?.hasError
650
+ ? (hiddenError.exitCode ?? 1)
651
+ : run.error && run.exitCode === 0
652
+ ? 1
653
+ : run.exitCode;
654
+ const error = completionGuardError
655
+ ?? (hiddenError?.hasError
656
+ ? hiddenError.details
657
+ ? `${hiddenError.errorType} failed (exit ${effectiveExitCode}): ${hiddenError.details}`
658
+ : `${hiddenError.errorType} failed with exit code ${effectiveExitCode}`
659
+ : run.error || (run.exitCode !== 0 && run.stderr.trim() ? run.stderr.trim() : undefined));
660
+ const attempt: ModelAttempt = {
661
+ model: candidate ?? run.model ?? step.model ?? "default",
662
+ success: effectiveExitCode === 0 && !error,
663
+ exitCode: effectiveExitCode,
664
+ error,
665
+ usage: run.usage,
666
+ };
667
+ modelAttempts.push(attempt);
668
+ if (candidate) attemptedModels.push(candidate);
669
+ completionGuardTriggeredFinal = completionGuardTriggered;
670
+ finalOutputSnapshot = outputSnapshot;
671
+ finalResult = { ...run, exitCode: effectiveExitCode, model: candidate ?? run.model, error };
672
+ if (attempt.success || completionGuardTriggered) break;
673
+ if (!isRetryableModelFailure(error) || index === candidates.length - 1) break;
674
+ attemptNotes.push(formatModelAttemptNote(attempt, candidates[index + 1]));
675
+ }
676
+
677
+ const rawOutput = finalResult?.finalOutput ?? "";
678
+ const resolvedOutput = step.outputPath && finalResult?.exitCode === 0
679
+ ? resolveSingleOutput(step.outputPath, rawOutput, finalOutputSnapshot)
680
+ : { fullOutput: rawOutput };
681
+ const output = resolvedOutput.fullOutput;
682
+ const outputReference = resolvedOutput.savedPath ? formatSavedOutputReference(resolvedOutput.savedPath, output) : undefined;
683
+ let outputForSummary = output;
684
+ if (attemptNotes.length > 0) {
685
+ outputForSummary = `${attemptNotes.join("\n")}\n\n${outputForSummary}`.trim();
686
+ }
687
+ const finalizedOutput = finalizeSingleOutput({
688
+ fullOutput: outputForSummary,
689
+ outputPath: step.outputPath,
690
+ outputMode: step.outputMode,
691
+ exitCode: finalResult?.exitCode ?? 1,
692
+ savedPath: resolvedOutput.savedPath,
693
+ outputReference,
694
+ saveError: resolvedOutput.saveError,
695
+ });
696
+ outputForSummary = finalizedOutput.displayOutput;
697
+
698
+ if (artifactPaths && ctx.artifactConfig?.enabled !== false) {
699
+ if (ctx.artifactConfig?.includeOutput !== false) {
700
+ fs.writeFileSync(artifactPaths.outputPath, output, "utf-8");
701
+ }
702
+ if (ctx.artifactConfig?.includeMetadata !== false) {
703
+ fs.writeFileSync(
704
+ artifactPaths.metadataPath,
705
+ JSON.stringify({
706
+ runId: ctx.id,
707
+ agent: step.agent,
708
+ task,
709
+ exitCode: finalResult?.exitCode,
710
+ model: finalResult?.model,
711
+ attemptedModels: attemptedModels.length > 0 ? attemptedModels : undefined,
712
+ modelAttempts,
713
+ skills: step.skills,
714
+ timestamp: Date.now(),
715
+ }, null, 2),
716
+ "utf-8",
717
+ );
718
+ }
719
+ }
720
+
721
+ return {
722
+ agent: step.agent,
723
+ output: outputForSummary,
724
+ exitCode: finalResult?.exitCode ?? 1,
725
+ error: finalResult?.error,
726
+ sessionFile: step.sessionFile,
727
+ intercomTarget: ctx.childIntercomTarget,
728
+ model: finalResult?.model,
729
+ attemptedModels: attemptedModels.length > 0 ? attemptedModels : undefined,
730
+ modelAttempts,
731
+ artifactPaths,
732
+ interrupted: finalResult?.interrupted,
733
+ completionGuardTriggered: completionGuardTriggeredFinal,
734
+ };
735
+ }
736
+
737
+ type RunnerStatusStep = NonNullable<AsyncStatus["steps"]>[number] & {
738
+ exitCode?: number | null;
739
+ };
740
+
741
+ type RunnerStatusPayload = Omit<AsyncStatus, "steps" | "parallelGroups" | "pid" | "cwd" | "currentStep" | "chainStepCount" | "lastUpdate"> & {
742
+ pid: number;
743
+ cwd: string;
744
+ currentStep: number;
745
+ chainStepCount: number;
746
+ parallelGroups: AsyncParallelGroupStatus[];
747
+ steps: RunnerStatusStep[];
748
+ lastUpdate: number;
749
+ artifactsDir?: string;
750
+ shareUrl?: string;
751
+ gistUrl?: string;
752
+ shareError?: string;
753
+ error?: string;
754
+ };
755
+
756
+ function markParallelGroupSetupFailure(input: {
757
+ statusPayload: RunnerStatusPayload;
758
+ results: StepResult[];
759
+ group: Extract<RunnerStep, { parallel: SubagentStep[] }>;
760
+ groupStartFlatIndex: number;
761
+ setupError: string;
762
+ failedAt: number;
763
+ statusPath: string;
764
+ eventsPath: string;
765
+ asyncDir: string;
766
+ runId: string;
767
+ stepIndex: number;
768
+ }): void {
769
+ for (let taskIndex = 0; taskIndex < input.group.parallel.length; taskIndex++) {
770
+ const flatTaskIndex = input.groupStartFlatIndex + taskIndex;
771
+ input.statusPayload.steps[flatTaskIndex].status = "failed";
772
+ input.statusPayload.steps[flatTaskIndex].startedAt = input.failedAt;
773
+ input.statusPayload.steps[flatTaskIndex].endedAt = input.failedAt;
774
+ input.statusPayload.steps[flatTaskIndex].durationMs = 0;
775
+ input.statusPayload.steps[flatTaskIndex].exitCode = 1;
776
+ input.results.push({ agent: input.group.parallel[taskIndex].agent, output: input.setupError, success: false, sessionFile: input.group.parallel[taskIndex].sessionFile });
777
+ }
778
+ input.statusPayload.currentStep = input.groupStartFlatIndex;
779
+ input.statusPayload.lastUpdate = input.failedAt;
780
+ input.statusPayload.outputFile = path.join(input.asyncDir, `output-${input.groupStartFlatIndex}.log`);
781
+ writeAtomicJson(input.statusPath, input.statusPayload);
782
+ appendJsonl(input.eventsPath, JSON.stringify({
783
+ type: "subagent.parallel.completed",
784
+ ts: input.failedAt,
785
+ runId: input.runId,
786
+ stepIndex: input.stepIndex,
787
+ success: false,
788
+ }));
789
+ }
790
+
791
+ function markParallelGroupRunning(input: {
792
+ statusPayload: RunnerStatusPayload;
793
+ group: Extract<RunnerStep, { parallel: SubagentStep[] }>;
794
+ groupStartFlatIndex: number;
795
+ groupStartTime: number;
796
+ statusPath: string;
797
+ eventsPath: string;
798
+ asyncDir: string;
799
+ runId: string;
800
+ stepIndex: number;
801
+ }): void {
802
+ for (let taskIndex = 0; taskIndex < input.group.parallel.length; taskIndex++) {
803
+ const flatTaskIndex = input.groupStartFlatIndex + taskIndex;
804
+ input.statusPayload.steps[flatTaskIndex].status = "pending";
805
+ input.statusPayload.steps[flatTaskIndex].startedAt = undefined;
806
+ input.statusPayload.steps[flatTaskIndex].endedAt = undefined;
807
+ input.statusPayload.steps[flatTaskIndex].durationMs = undefined;
808
+ input.statusPayload.steps[flatTaskIndex].lastActivityAt = undefined;
809
+ input.statusPayload.steps[flatTaskIndex].activityState = undefined;
810
+ input.statusPayload.steps[flatTaskIndex].error = undefined;
811
+ }
812
+ input.statusPayload.currentStep = input.groupStartFlatIndex;
813
+ input.statusPayload.activityState = undefined;
814
+ input.statusPayload.lastActivityAt = input.groupStartTime;
815
+ input.statusPayload.lastUpdate = input.groupStartTime;
816
+ input.statusPayload.outputFile = path.join(input.asyncDir, `output-${input.groupStartFlatIndex}.log`);
817
+ writeAtomicJson(input.statusPath, input.statusPayload);
818
+ appendJsonl(input.eventsPath, JSON.stringify({
819
+ type: "subagent.parallel.started",
820
+ ts: input.groupStartTime,
821
+ runId: input.runId,
822
+ stepIndex: input.stepIndex,
823
+ agents: input.group.parallel.map((task) => task.agent),
824
+ count: input.group.parallel.length,
825
+ }));
826
+ }
827
+
828
+ function prepareParallelTaskRun(
829
+ task: SubagentStep,
830
+ cwd: string,
831
+ worktreeSetup: WorktreeSetup | undefined,
832
+ taskIndex: number,
833
+ ): { taskForRun: SubagentStep; taskCwd: string } {
834
+ if (!worktreeSetup) return { taskForRun: task, taskCwd: cwd };
835
+ return {
836
+ taskForRun: { ...task, cwd: undefined },
837
+ taskCwd: worktreeSetup.worktrees[taskIndex]!.agentCwd,
838
+ };
839
+ }
840
+
841
+ function appendParallelWorktreeSummary(
842
+ previousOutput: string,
843
+ worktreeSetup: WorktreeSetup | undefined,
844
+ asyncDir: string,
845
+ stepIndex: number,
846
+ group: Extract<RunnerStep, { parallel: SubagentStep[] }>,
847
+ ): string {
848
+ if (!worktreeSetup) return previousOutput;
849
+ const diffsDir = path.join(asyncDir, "worktree-diffs", `step-${stepIndex}`);
850
+ const diffs = diffWorktrees(worktreeSetup, group.parallel.map((task) => task.agent), diffsDir);
851
+ const diffSummary = formatWorktreeDiffSummary(diffs);
852
+ if (!diffSummary) return previousOutput;
853
+ return `${previousOutput}\n\n${diffSummary}`;
854
+ }
855
+
856
+ function ensureParallelProgressFile(cwd: string, group: Extract<RunnerStep, { parallel: SubagentStep[] }>): void {
857
+ const progressPath = path.join(cwd, "progress.md");
858
+ if (!group.parallel.some((task) => task.task.includes(`Update progress at: ${progressPath}`))) return;
859
+ writeInitialProgressFile(cwd);
860
+ }
861
+
862
+ async function runSubagent(config: SubagentRunConfig): Promise<void> {
863
+ const { id, steps, resultPath, cwd, placeholder, taskIndex, totalTasks, maxOutput, artifactsDir, artifactConfig } =
864
+ config;
865
+ let previousOutput = "";
866
+ const results: StepResult[] = [];
867
+ const overallStartTime = Date.now();
868
+ const shareEnabled = config.share === true;
869
+ const asyncDir = config.asyncDir;
870
+ const statusPath = path.join(asyncDir, "status.json");
871
+ const eventsPath = path.join(asyncDir, "events.jsonl");
872
+ const logPath = path.join(asyncDir, `subagent-log-${id}.md`);
873
+ const controlConfig = config.controlConfig ?? DEFAULT_CONTROL_CONFIG;
874
+ let activeChildInterrupt: (() => void) | undefined;
875
+ let interrupted = false;
876
+ let currentActivityState: ActivityState | undefined;
877
+ let activityTimer: NodeJS.Timeout | undefined;
878
+ let previousCumulativeTokens: TokenUsage = { input: 0, output: 0, total: 0 };
879
+ let latestSessionFile: string | undefined;
880
+
881
+ const parallelGroups: Array<{ start: number; count: number; stepIndex: number }> = [];
882
+ let flatStepCount = 0;
883
+ for (let stepIndex = 0; stepIndex < steps.length; stepIndex++) {
884
+ const step = steps[stepIndex]!;
885
+ if (isParallelGroup(step)) {
886
+ parallelGroups.push({ start: flatStepCount, count: step.parallel.length, stepIndex });
887
+ flatStepCount += step.parallel.length;
888
+ } else {
889
+ flatStepCount++;
890
+ }
891
+ }
892
+ const flatSteps = flattenSteps(steps);
893
+ const sessionEnabled = Boolean(config.sessionDir)
894
+ || shareEnabled
895
+ || flatSteps.some((step) => Boolean(step.sessionFile));
896
+ const statusPayload: RunnerStatusPayload = {
897
+ runId: id,
898
+ ...(config.sessionId ? { sessionId: config.sessionId } : {}),
899
+ mode: config.resultMode ?? (flatSteps.length > 1 ? "chain" : "single"),
900
+ state: "running",
901
+ lastActivityAt: overallStartTime,
902
+ startedAt: overallStartTime,
903
+ lastUpdate: overallStartTime,
904
+ pid: process.pid,
905
+ cwd,
906
+ currentStep: 0,
907
+ chainStepCount: steps.length,
908
+ parallelGroups,
909
+ steps: flatSteps.map((step) => ({
910
+ agent: step.agent,
911
+ status: "pending",
912
+ ...(step.sessionFile ? { sessionFile: step.sessionFile } : {}),
913
+ skills: step.skills,
914
+ model: step.model,
915
+ attemptedModels: step.modelCandidates && step.modelCandidates.length > 0 ? step.modelCandidates : step.model ? [step.model] : undefined,
916
+ recentTools: [],
917
+ recentOutput: [],
918
+ })),
919
+ artifactsDir,
920
+ sessionDir: config.sessionDir,
921
+ outputFile: path.join(asyncDir, "output-0.log"),
922
+ };
923
+
924
+ fs.mkdirSync(asyncDir, { recursive: true });
925
+ writeAtomicJson(statusPath, statusPayload);
926
+
927
+ const stepOutputActivityAt = (index: number): number => {
928
+ const step = statusPayload.steps[index];
929
+ let lastActivityAt = step?.lastActivityAt ?? step?.startedAt ?? overallStartTime;
930
+ const outputPath = path.join(asyncDir, `output-${index}.log`);
931
+ try {
932
+ lastActivityAt = Math.max(lastActivityAt, fs.statSync(outputPath).mtimeMs);
933
+ } catch (error) {
934
+ if ((error as NodeJS.ErrnoException).code !== "ENOENT") {
935
+ console.error(`Failed to inspect async output file '${outputPath}':`, error);
936
+ }
937
+ }
938
+ return lastActivityAt;
939
+ };
940
+ const emittedControlEventKeys = new Set<string>();
941
+ const activeLongRunningSteps = new Set<number>();
942
+ const mutatingFailureStates = flatSteps.map(() => createMutatingFailureState());
943
+ const pendingToolResults: Array<{ tool: string; path?: string; mutates: boolean; startedAt?: number } | undefined> = [];
944
+ const mutatingFailureWindowMs = 5 * 60_000;
945
+ const appendControlEvent = (event: ReturnType<typeof buildControlEvent>) => {
946
+ if (!controlConfig.enabled) return;
947
+ const childIntercomTarget = config.childIntercomTargets?.[event.index ?? statusPayload.currentStep];
948
+ const channels = event.type === "active_long_running"
949
+ ? controlConfig.notifyChannels.filter((channel) => channel !== "intercom")
950
+ : controlConfig.notifyChannels;
951
+ if (channels.length === 0 || !claimControlNotification(controlConfig, event, emittedControlEventKeys, childIntercomTarget)) return;
952
+ appendJsonl(eventsPath, JSON.stringify({
953
+ type: "subagent.control",
954
+ event,
955
+ channels,
956
+ childIntercomTarget,
957
+ noticeText: formatControlNoticeMessage(event, childIntercomTarget),
958
+ ...(config.controlIntercomTarget && channels.includes("intercom") ? {
959
+ intercom: {
960
+ to: config.controlIntercomTarget,
961
+ message: formatControlIntercomMessage(event, childIntercomTarget),
962
+ },
963
+ } : {}),
964
+ }));
965
+ };
966
+ const syncTopLevelCurrentTool = (): void => {
967
+ const activeStep = statusPayload.steps
968
+ .filter((step) => step.status === "running" && typeof step.currentTool === "string" && step.currentTool.length > 0)
969
+ .sort((left, right) => (right.currentToolStartedAt ?? 0) - (left.currentToolStartedAt ?? 0))[0];
970
+ statusPayload.currentTool = activeStep?.currentTool;
971
+ statusPayload.currentToolStartedAt = activeStep?.currentToolStartedAt;
972
+ statusPayload.currentPath = activeStep?.currentPath;
973
+ };
974
+ const maybeEmitActiveLongRunning = (flatIndex: number, now: number): boolean => {
975
+ if (!controlConfig.enabled || activeLongRunningSteps.has(flatIndex)) return false;
976
+ const step = statusPayload.steps[flatIndex];
977
+ if (!step || step.status !== "running" || step.activityState === "needs_attention") return false;
978
+ const reason = nextLongRunningTrigger(controlConfig, {
979
+ startedAt: step.startedAt ?? overallStartTime,
980
+ now,
981
+ turns: step.turnCount ?? 0,
982
+ tokens: step.tokens?.total ?? 0,
983
+ });
984
+ if (!reason) return false;
985
+ activeLongRunningSteps.add(flatIndex);
986
+ const previous = step.activityState;
987
+ step.activityState = "active_long_running";
988
+ statusPayload.activityState = statusPayload.activityState === "needs_attention" ? "needs_attention" : "active_long_running";
989
+ const event = buildControlEvent({
990
+ type: "active_long_running",
991
+ from: previous,
992
+ to: "active_long_running",
993
+ runId: id,
994
+ agent: step.agent,
995
+ index: flatIndex,
996
+ ts: now,
997
+ message: `${step.agent} is still active but long-running`,
998
+ reason,
999
+ turns: step.turnCount,
1000
+ tokens: step.tokens?.total,
1001
+ toolCount: step.toolCount,
1002
+ currentTool: step.currentTool,
1003
+ currentToolDurationMs: step.currentToolStartedAt ? Math.max(0, now - step.currentToolStartedAt) : undefined,
1004
+ currentPath: step.currentPath,
1005
+ elapsedMs: now - (step.startedAt ?? overallStartTime),
1006
+ });
1007
+ appendControlEvent(event);
1008
+ return true;
1009
+ };
1010
+ const updateStepFromChildEvent = (flatIndex: number, event: ChildEvent): void => {
1011
+ const step = statusPayload.steps[flatIndex];
1012
+ if (!step) return;
1013
+ const now = Date.now();
1014
+ statusPayload.currentStep = flatIndex;
1015
+ if (event.type === "tool_execution_start" && event.toolName) {
1016
+ const mutates = isMutatingTool(event.toolName, event.args);
1017
+ const currentPath = resolveCurrentPath(event.toolName, event.args);
1018
+ step.toolCount = (step.toolCount ?? 0) + 1;
1019
+ step.currentTool = event.toolName;
1020
+ step.currentToolArgs = extractToolArgsPreview(event.args ?? {});
1021
+ step.currentToolStartedAt = now;
1022
+ step.currentPath = currentPath;
1023
+ pendingToolResults[flatIndex] = { tool: event.toolName, path: currentPath, mutates, startedAt: now };
1024
+ statusPayload.toolCount = (statusPayload.toolCount ?? 0) + 1;
1025
+ syncTopLevelCurrentTool();
1026
+ } else if (event.type === "tool_execution_end") {
1027
+ if (step.currentTool) {
1028
+ step.recentTools ??= [];
1029
+ step.recentTools.push({ tool: step.currentTool, args: step.currentToolArgs || "", endMs: now });
1030
+ }
1031
+ step.currentTool = undefined;
1032
+ step.currentToolArgs = undefined;
1033
+ step.currentToolStartedAt = undefined;
1034
+ step.currentPath = undefined;
1035
+ syncTopLevelCurrentTool();
1036
+ } else if (event.type === "tool_result_end" && event.message) {
1037
+ const toolSnapshot = pendingToolResults[flatIndex];
1038
+ pendingToolResults[flatIndex] = undefined;
1039
+ const resultText = extractTextFromContent(event.message.content);
1040
+ appendRecentStepOutput(step, resultText.split("\n").slice(-10));
1041
+ if (toolSnapshot?.mutates && didMutatingToolFail(resultText)) {
1042
+ const state = mutatingFailureStates[flatIndex]!;
1043
+ recordMutatingFailure(state, {
1044
+ tool: toolSnapshot.tool,
1045
+ path: toolSnapshot.path,
1046
+ error: resultText.split("\n").find((line) => line.trim())?.trim().slice(0, 180) ?? "mutating tool failed",
1047
+ ts: now,
1048
+ }, mutatingFailureWindowMs);
1049
+ if (controlConfig.enabled && shouldEscalateMutatingFailures(state, controlConfig.failedToolAttemptsBeforeAttention) && step.activityState !== "needs_attention") {
1050
+ const previous = step.activityState;
1051
+ step.activityState = "needs_attention";
1052
+ statusPayload.activityState = "needs_attention";
1053
+ appendControlEvent(buildControlEvent({
1054
+ type: "needs_attention",
1055
+ from: previous,
1056
+ to: "needs_attention",
1057
+ runId: id,
1058
+ agent: step.agent,
1059
+ index: flatIndex,
1060
+ ts: now,
1061
+ message: `${step.agent} needs attention after repeated mutating tool failures`,
1062
+ reason: "tool_failures",
1063
+ turns: step.turnCount,
1064
+ tokens: step.tokens?.total,
1065
+ toolCount: step.toolCount,
1066
+ currentTool: toolSnapshot.tool,
1067
+ currentToolDurationMs: toolSnapshot.startedAt ? Math.max(0, now - toolSnapshot.startedAt) : undefined,
1068
+ currentPath: toolSnapshot.path,
1069
+ recentFailureSummary: summarizeRecentMutatingFailures(state),
1070
+ }));
1071
+ }
1072
+ } else if (toolSnapshot?.mutates) {
1073
+ resetMutatingFailureState(mutatingFailureStates[flatIndex]!);
1074
+ }
1075
+ } else if (event.type === "message_end" && event.message?.role === "assistant") {
1076
+ appendRecentStepOutput(step, extractTextFromContent(event.message.content).split("\n").slice(-10));
1077
+ step.turnCount = (step.turnCount ?? 0) + 1;
1078
+ const usage = event.message.usage;
1079
+ if (usage) {
1080
+ const input = usage.input ?? usage.inputTokens ?? 0;
1081
+ const output = usage.output ?? usage.outputTokens ?? 0;
1082
+ const previousInput = step.tokens?.input ?? 0;
1083
+ const previousOutput = step.tokens?.output ?? 0;
1084
+ step.tokens = { input: previousInput + input, output: previousOutput + output, total: previousInput + previousOutput + input + output };
1085
+ const totalInput = statusPayload.totalTokens?.input ?? 0;
1086
+ const totalOutput = statusPayload.totalTokens?.output ?? 0;
1087
+ statusPayload.totalTokens = { input: totalInput + input, output: totalOutput + output, total: totalInput + totalOutput + input + output };
1088
+ }
1089
+ statusPayload.turnCount = Math.max(statusPayload.turnCount ?? 0, step.turnCount);
1090
+ }
1091
+ syncTopLevelCurrentTool();
1092
+ step.lastActivityAt = now;
1093
+ statusPayload.lastActivityAt = now;
1094
+ statusPayload.lastUpdate = now;
1095
+ maybeEmitActiveLongRunning(flatIndex, now);
1096
+ writeAtomicJson(statusPath, statusPayload);
1097
+ };
1098
+ const updateRunnerActivityState = (now: number): boolean => {
1099
+ if (!controlConfig.enabled) return false;
1100
+ let changed = false;
1101
+ let runLastActivityAt = statusPayload.lastActivityAt ?? overallStartTime;
1102
+ for (let index = 0; index < statusPayload.steps.length; index++) {
1103
+ const step = statusPayload.steps[index]!;
1104
+ if (step.status !== "running") continue;
1105
+ const lastActivityAt = stepOutputActivityAt(index);
1106
+ runLastActivityAt = Math.max(runLastActivityAt, lastActivityAt);
1107
+ if (step.lastActivityAt !== lastActivityAt) {
1108
+ step.lastActivityAt = lastActivityAt;
1109
+ changed = true;
1110
+ }
1111
+ const idleState = deriveActivityState({
1112
+ config: controlConfig,
1113
+ startedAt: step.startedAt ?? overallStartTime,
1114
+ lastActivityAt,
1115
+ now,
1116
+ });
1117
+ if (idleState === "needs_attention") {
1118
+ const previous = step.activityState;
1119
+ step.activityState = "needs_attention";
1120
+ if (previous !== "needs_attention") {
1121
+ appendControlEvent(buildControlEvent({
1122
+ from: previous,
1123
+ to: "needs_attention",
1124
+ runId: id,
1125
+ agent: step.agent,
1126
+ index,
1127
+ ts: now,
1128
+ lastActivityAt,
1129
+ }));
1130
+ changed = true;
1131
+ }
1132
+ } else if (maybeEmitActiveLongRunning(index, now)) {
1133
+ changed = true;
1134
+ }
1135
+ }
1136
+ if (statusPayload.lastActivityAt !== runLastActivityAt) {
1137
+ statusPayload.lastActivityAt = runLastActivityAt;
1138
+ changed = true;
1139
+ }
1140
+ const nextRunState = statusPayload.steps.some((step) => step.activityState === "needs_attention")
1141
+ ? "needs_attention"
1142
+ : statusPayload.steps.some((step) => step.activityState === "active_long_running")
1143
+ ? "active_long_running"
1144
+ : undefined;
1145
+ if (nextRunState !== currentActivityState) {
1146
+ currentActivityState = nextRunState;
1147
+ statusPayload.activityState = nextRunState;
1148
+ changed = true;
1149
+ }
1150
+ statusPayload.lastUpdate = now;
1151
+ if (changed) writeAtomicJson(statusPath, statusPayload);
1152
+ return changed;
1153
+ };
1154
+ if (controlConfig.enabled) {
1155
+ activityTimer = setInterval(() => {
1156
+ if (statusPayload.state !== "running") return;
1157
+ const now = Date.now();
1158
+ updateRunnerActivityState(now);
1159
+ }, 1000);
1160
+ activityTimer.unref?.();
1161
+ }
1162
+
1163
+ const interruptRunner = () => {
1164
+ if (interrupted || statusPayload.state !== "running") return;
1165
+ interrupted = true;
1166
+ const now = Date.now();
1167
+ statusPayload.state = "paused";
1168
+ currentActivityState = undefined;
1169
+ statusPayload.activityState = undefined;
1170
+ statusPayload.lastUpdate = now;
1171
+ for (const step of statusPayload.steps) {
1172
+ if (step.status === "running") {
1173
+ step.status = "paused";
1174
+ step.activityState = undefined;
1175
+ step.endedAt = now;
1176
+ step.durationMs = step.startedAt ? now - step.startedAt : undefined;
1177
+ step.lastActivityAt = now;
1178
+ }
1179
+ }
1180
+ writeAtomicJson(statusPath, statusPayload);
1181
+ appendJsonl(eventsPath, JSON.stringify({
1182
+ type: "subagent.run.paused",
1183
+ ts: now,
1184
+ runId: id,
1185
+ }));
1186
+ activeChildInterrupt?.();
1187
+ };
1188
+ process.on(ASYNC_INTERRUPT_SIGNAL, interruptRunner);
1189
+ appendJsonl(
1190
+ eventsPath,
1191
+ JSON.stringify({
1192
+ type: "subagent.run.started",
1193
+ ts: overallStartTime,
1194
+ runId: id,
1195
+ mode: statusPayload.mode,
1196
+ cwd,
1197
+ pid: process.pid,
1198
+ }),
1199
+ );
1200
+
1201
+ let flatIndex = 0;
1202
+
1203
+ for (let stepIndex = 0; stepIndex < steps.length; stepIndex++) {
1204
+ if (interrupted) break;
1205
+ const step = steps[stepIndex];
1206
+
1207
+ if (isParallelGroup(step)) {
1208
+ const group = step;
1209
+ const concurrency = group.concurrency ?? MAX_PARALLEL_CONCURRENCY;
1210
+ const failFast = group.failFast ?? false;
1211
+ const groupStartFlatIndex = flatIndex;
1212
+ let aborted = false;
1213
+ let worktreeSetup: WorktreeSetup | undefined;
1214
+ if (group.worktree) {
1215
+ const worktreeTaskCwdConflict = findWorktreeTaskCwdConflict(group.parallel, cwd);
1216
+ if (worktreeTaskCwdConflict) {
1217
+ const failedAt = Date.now();
1218
+ markParallelGroupSetupFailure({
1219
+ statusPayload,
1220
+ results,
1221
+ group,
1222
+ groupStartFlatIndex,
1223
+ setupError: formatWorktreeTaskCwdConflict(worktreeTaskCwdConflict, cwd),
1224
+ failedAt,
1225
+ statusPath,
1226
+ eventsPath,
1227
+ asyncDir,
1228
+ runId: id,
1229
+ stepIndex,
1230
+ });
1231
+ flatIndex += group.parallel.length;
1232
+ break;
1233
+ }
1234
+ try {
1235
+ worktreeSetup = createWorktrees(cwd, `${id}-s${stepIndex}`, group.parallel.length, {
1236
+ agents: group.parallel.map((task) => task.agent),
1237
+ setupHook: config.worktreeSetupHook
1238
+ ? { hookPath: config.worktreeSetupHook, timeoutMs: config.worktreeSetupHookTimeoutMs }
1239
+ : undefined,
1240
+ });
1241
+ } catch (error) {
1242
+ const setupError = error instanceof Error ? error.message : String(error);
1243
+ const failedAt = Date.now();
1244
+ markParallelGroupSetupFailure({
1245
+ statusPayload,
1246
+ results,
1247
+ group,
1248
+ groupStartFlatIndex,
1249
+ setupError,
1250
+ failedAt,
1251
+ statusPath,
1252
+ eventsPath,
1253
+ asyncDir,
1254
+ runId: id,
1255
+ stepIndex,
1256
+ });
1257
+ flatIndex += group.parallel.length;
1258
+ break;
1259
+ }
1260
+ }
1261
+
1262
+ try {
1263
+ if (group.worktree) ensureParallelProgressFile(cwd, group);
1264
+ const groupStartTime = Date.now();
1265
+ markParallelGroupRunning({
1266
+ statusPayload,
1267
+ group,
1268
+ groupStartFlatIndex,
1269
+ groupStartTime,
1270
+ statusPath,
1271
+ eventsPath,
1272
+ asyncDir,
1273
+ runId: id,
1274
+ stepIndex,
1275
+ });
1276
+ const parallelResults = await mapConcurrent(
1277
+ group.parallel,
1278
+ concurrency,
1279
+ async (task, taskIdx) => {
1280
+ const fi = groupStartFlatIndex + taskIdx;
1281
+ if (aborted && failFast) {
1282
+ const skippedAt = Date.now();
1283
+ statusPayload.steps[fi].status = "failed";
1284
+ statusPayload.steps[fi].error = "Skipped due to fail-fast";
1285
+ statusPayload.steps[fi].startedAt = skippedAt;
1286
+ statusPayload.steps[fi].endedAt = skippedAt;
1287
+ statusPayload.steps[fi].durationMs = 0;
1288
+ statusPayload.steps[fi].exitCode = -1;
1289
+ statusPayload.steps[fi].activityState = undefined;
1290
+ statusPayload.lastUpdate = skippedAt;
1291
+ writeAtomicJson(statusPath, statusPayload);
1292
+ appendJsonl(eventsPath, JSON.stringify({
1293
+ type: "subagent.step.failed", ts: skippedAt, runId: id, stepIndex: fi, agent: task.agent, exitCode: -1, durationMs: 0,
1294
+ }));
1295
+ return { agent: task.agent, output: "(skipped — fail-fast)", exitCode: -1 as number | null, skipped: true };
1296
+ }
1297
+
1298
+ const taskStartTime = Date.now();
1299
+ statusPayload.currentStep = fi;
1300
+ statusPayload.steps[fi].status = "running";
1301
+ statusPayload.steps[fi].error = undefined;
1302
+ statusPayload.steps[fi].activityState = undefined;
1303
+ resetStepLiveDetail(statusPayload.steps[fi]);
1304
+ statusPayload.steps[fi].startedAt = taskStartTime;
1305
+ statusPayload.steps[fi].endedAt = undefined;
1306
+ statusPayload.steps[fi].durationMs = undefined;
1307
+ statusPayload.steps[fi].lastActivityAt = taskStartTime;
1308
+ statusPayload.outputFile = path.join(asyncDir, `output-${fi}.log`);
1309
+ statusPayload.lastActivityAt = taskStartTime;
1310
+ statusPayload.lastUpdate = taskStartTime;
1311
+ writeAtomicJson(statusPath, statusPayload);
1312
+
1313
+ appendJsonl(eventsPath, JSON.stringify({
1314
+ type: "subagent.step.started", ts: taskStartTime, runId: id, stepIndex: fi, agent: task.agent,
1315
+ }));
1316
+
1317
+ const taskSessionDir = config.sessionDir
1318
+ ? path.join(config.sessionDir, `parallel-${taskIdx}`)
1319
+ : undefined;
1320
+ const { taskForRun, taskCwd } = prepareParallelTaskRun(task, cwd, worktreeSetup, taskIdx);
1321
+
1322
+ const singleResult = await runSingleStep(taskForRun, {
1323
+ previousOutput, placeholder, cwd: taskCwd, sessionEnabled,
1324
+ sessionDir: taskSessionDir,
1325
+ artifactsDir, artifactConfig, id,
1326
+ flatIndex: fi, flatStepCount: flatSteps.length,
1327
+ outputFile: path.join(asyncDir, `output-${fi}.log`),
1328
+ piPackageRoot: config.piPackageRoot,
1329
+ piArgv1: config.piArgv1,
1330
+ childIntercomTarget: config.childIntercomTargets?.[fi],
1331
+ orchestratorIntercomTarget: config.controlIntercomTarget,
1332
+ registerInterrupt: (interrupt) => {
1333
+ activeChildInterrupt = interrupt;
1334
+ },
1335
+ onChildEvent: (event) => updateStepFromChildEvent(fi, event),
1336
+ });
1337
+ if (task.sessionFile) {
1338
+ latestSessionFile = task.sessionFile;
1339
+ }
1340
+
1341
+ const taskEndTime = Date.now();
1342
+ const taskDuration = taskEndTime - taskStartTime;
1343
+
1344
+ statusPayload.steps[fi].status = singleResult.exitCode === 0 ? "complete" : "failed";
1345
+ statusPayload.steps[fi].endedAt = taskEndTime;
1346
+ statusPayload.steps[fi].durationMs = taskDuration;
1347
+ statusPayload.steps[fi].exitCode = singleResult.exitCode;
1348
+ statusPayload.steps[fi].model = singleResult.model;
1349
+ statusPayload.steps[fi].attemptedModels = singleResult.attemptedModels;
1350
+ statusPayload.steps[fi].modelAttempts = singleResult.modelAttempts;
1351
+ statusPayload.steps[fi].error = singleResult.error;
1352
+ statusPayload.lastUpdate = taskEndTime;
1353
+ writeAtomicJson(statusPath, statusPayload);
1354
+
1355
+ appendJsonl(eventsPath, JSON.stringify({
1356
+ type: singleResult.exitCode === 0 ? "subagent.step.completed" : "subagent.step.failed",
1357
+ ts: taskEndTime, runId: id, stepIndex: fi, agent: task.agent,
1358
+ exitCode: singleResult.exitCode, durationMs: taskDuration,
1359
+ }));
1360
+ if (singleResult.completionGuardTriggered) {
1361
+ const event = buildControlEvent({
1362
+ from: statusPayload.steps[fi].activityState,
1363
+ to: "needs_attention",
1364
+ runId: id,
1365
+ agent: task.agent,
1366
+ index: fi,
1367
+ ts: taskEndTime,
1368
+ message: `${task.agent} completed without making edits for an implementation task`,
1369
+ reason: "completion_guard",
1370
+ });
1371
+ appendControlEvent(event);
1372
+ }
1373
+
1374
+ if (singleResult.exitCode !== 0 && failFast) aborted = true;
1375
+ return { ...singleResult, skipped: false };
1376
+ },
1377
+ );
1378
+
1379
+ flatIndex += group.parallel.length;
1380
+
1381
+ for (let t = 0; t < group.parallel.length; t++) {
1382
+ const fi = groupStartFlatIndex + t;
1383
+ const sessionTokens = config.sessionDir
1384
+ ? parseSessionTokens(path.join(config.sessionDir, `parallel-${t}`))
1385
+ : null;
1386
+ const taskTokens = sessionTokens ?? tokenUsageFromAttempts(parallelResults[t]?.modelAttempts);
1387
+ if (!taskTokens) continue;
1388
+ statusPayload.steps[fi].tokens = taskTokens;
1389
+ previousCumulativeTokens = {
1390
+ input: previousCumulativeTokens.input + taskTokens.input,
1391
+ output: previousCumulativeTokens.output + taskTokens.output,
1392
+ total: previousCumulativeTokens.total + taskTokens.total,
1393
+ };
1394
+ }
1395
+ statusPayload.totalTokens = { ...previousCumulativeTokens };
1396
+ statusPayload.lastUpdate = Date.now();
1397
+ writeAtomicJson(statusPath, statusPayload);
1398
+
1399
+ for (const pr of parallelResults) {
1400
+ results.push({
1401
+ agent: pr.agent,
1402
+ output: pr.output,
1403
+ error: pr.error,
1404
+ success: pr.exitCode === 0,
1405
+ skipped: pr.skipped,
1406
+ sessionFile: pr.sessionFile,
1407
+ intercomTarget: pr.intercomTarget,
1408
+ model: pr.model,
1409
+ attemptedModels: pr.attemptedModels,
1410
+ modelAttempts: pr.modelAttempts,
1411
+ artifactPaths: pr.artifactPaths,
1412
+ });
1413
+ }
1414
+
1415
+ previousOutput = aggregateParallelOutputs(
1416
+ parallelResults.map((r) => ({
1417
+ agent: r.agent,
1418
+ output: r.output,
1419
+ exitCode: r.exitCode,
1420
+ error: r.error,
1421
+ model: r.model,
1422
+ attemptedModels: r.attemptedModels,
1423
+ })),
1424
+ );
1425
+ previousOutput = appendParallelWorktreeSummary(previousOutput, worktreeSetup, asyncDir, stepIndex, group);
1426
+
1427
+ appendJsonl(eventsPath, JSON.stringify({
1428
+ type: "subagent.parallel.completed",
1429
+ ts: Date.now(),
1430
+ runId: id,
1431
+ stepIndex,
1432
+ success: parallelResults.every((r) => r.exitCode === 0 || r.exitCode === -1),
1433
+ }));
1434
+
1435
+ if (parallelResults.some((r) => r.exitCode !== 0 && r.exitCode !== -1)) {
1436
+ break;
1437
+ }
1438
+ } finally {
1439
+ if (worktreeSetup) cleanupWorktrees(worktreeSetup);
1440
+ }
1441
+ } else {
1442
+ const seqStep = step as SubagentStep;
1443
+ const stepStartTime = Date.now();
1444
+ statusPayload.currentStep = flatIndex;
1445
+ statusPayload.steps[flatIndex].status = "running";
1446
+ statusPayload.steps[flatIndex].activityState = undefined;
1447
+ statusPayload.activityState = undefined;
1448
+ resetStepLiveDetail(statusPayload.steps[flatIndex]);
1449
+ statusPayload.steps[flatIndex].skills = seqStep.skills;
1450
+ statusPayload.steps[flatIndex].startedAt = stepStartTime;
1451
+ statusPayload.steps[flatIndex].lastActivityAt = stepStartTime;
1452
+ statusPayload.lastActivityAt = stepStartTime;
1453
+ statusPayload.lastUpdate = stepStartTime;
1454
+ statusPayload.outputFile = path.join(asyncDir, `output-${flatIndex}.log`);
1455
+ writeAtomicJson(statusPath, statusPayload);
1456
+
1457
+ appendJsonl(eventsPath, JSON.stringify({
1458
+ type: "subagent.step.started",
1459
+ ts: stepStartTime,
1460
+ runId: id,
1461
+ stepIndex: flatIndex,
1462
+ agent: seqStep.agent,
1463
+ }));
1464
+
1465
+ const singleResult = await runSingleStep(seqStep, {
1466
+ previousOutput, placeholder, cwd, sessionEnabled,
1467
+ sessionDir: config.sessionDir,
1468
+ artifactsDir, artifactConfig, id,
1469
+ flatIndex, flatStepCount: flatSteps.length,
1470
+ outputFile: path.join(asyncDir, `output-${flatIndex}.log`),
1471
+ piPackageRoot: config.piPackageRoot,
1472
+ piArgv1: config.piArgv1,
1473
+ childIntercomTarget: config.childIntercomTargets?.[flatIndex],
1474
+ orchestratorIntercomTarget: config.controlIntercomTarget,
1475
+ registerInterrupt: (interrupt) => {
1476
+ activeChildInterrupt = interrupt;
1477
+ },
1478
+ onChildEvent: (event) => updateStepFromChildEvent(flatIndex, event),
1479
+ });
1480
+ if (seqStep.sessionFile) {
1481
+ latestSessionFile = seqStep.sessionFile;
1482
+ }
1483
+
1484
+ previousOutput = singleResult.output;
1485
+ results.push({
1486
+ agent: singleResult.agent,
1487
+ output: singleResult.output,
1488
+ error: singleResult.error,
1489
+ success: singleResult.exitCode === 0,
1490
+ sessionFile: singleResult.sessionFile,
1491
+ intercomTarget: singleResult.intercomTarget,
1492
+ model: singleResult.model,
1493
+ attemptedModels: singleResult.attemptedModels,
1494
+ modelAttempts: singleResult.modelAttempts,
1495
+ artifactPaths: singleResult.artifactPaths,
1496
+ });
1497
+
1498
+ const cumulativeTokens = config.sessionDir ? parseSessionTokens(config.sessionDir) : null;
1499
+ let stepTokens: TokenUsage | null = cumulativeTokens
1500
+ ? {
1501
+ input: cumulativeTokens.input - previousCumulativeTokens.input,
1502
+ output: cumulativeTokens.output - previousCumulativeTokens.output,
1503
+ total: cumulativeTokens.total - previousCumulativeTokens.total,
1504
+ }
1505
+ : null;
1506
+ if (cumulativeTokens) {
1507
+ previousCumulativeTokens = cumulativeTokens;
1508
+ } else {
1509
+ stepTokens = tokenUsageFromAttempts(singleResult.modelAttempts);
1510
+ if (stepTokens) {
1511
+ previousCumulativeTokens = {
1512
+ input: previousCumulativeTokens.input + stepTokens.input,
1513
+ output: previousCumulativeTokens.output + stepTokens.output,
1514
+ total: previousCumulativeTokens.total + stepTokens.total,
1515
+ };
1516
+ }
1517
+ }
1518
+
1519
+ const stepEndTime = Date.now();
1520
+ statusPayload.steps[flatIndex].status = singleResult.exitCode === 0 ? "complete" : "failed";
1521
+ statusPayload.steps[flatIndex].endedAt = stepEndTime;
1522
+ statusPayload.steps[flatIndex].durationMs = stepEndTime - stepStartTime;
1523
+ statusPayload.steps[flatIndex].exitCode = singleResult.exitCode;
1524
+ statusPayload.steps[flatIndex].model = singleResult.model;
1525
+ statusPayload.steps[flatIndex].attemptedModels = singleResult.attemptedModels;
1526
+ statusPayload.steps[flatIndex].modelAttempts = singleResult.modelAttempts;
1527
+ statusPayload.steps[flatIndex].error = singleResult.error;
1528
+ if (stepTokens) {
1529
+ statusPayload.steps[flatIndex].tokens = stepTokens;
1530
+ statusPayload.totalTokens = { ...previousCumulativeTokens };
1531
+ }
1532
+ statusPayload.lastUpdate = stepEndTime;
1533
+ writeAtomicJson(statusPath, statusPayload);
1534
+
1535
+ appendJsonl(eventsPath, JSON.stringify({
1536
+ type: singleResult.exitCode === 0 ? "subagent.step.completed" : "subagent.step.failed",
1537
+ ts: stepEndTime,
1538
+ runId: id,
1539
+ stepIndex: flatIndex,
1540
+ agent: seqStep.agent,
1541
+ exitCode: singleResult.exitCode,
1542
+ durationMs: stepEndTime - stepStartTime,
1543
+ tokens: stepTokens,
1544
+ }));
1545
+ if (singleResult.completionGuardTriggered) {
1546
+ const event = buildControlEvent({
1547
+ from: statusPayload.steps[flatIndex].activityState,
1548
+ to: "needs_attention",
1549
+ runId: id,
1550
+ agent: seqStep.agent,
1551
+ index: flatIndex,
1552
+ ts: stepEndTime,
1553
+ message: `${seqStep.agent} completed without making edits for an implementation task`,
1554
+ reason: "completion_guard",
1555
+ });
1556
+ appendControlEvent(event);
1557
+ }
1558
+
1559
+ flatIndex++;
1560
+ if (singleResult.exitCode !== 0) {
1561
+ break;
1562
+ }
1563
+ }
1564
+ }
1565
+
1566
+ let summary = results.map((r) => `${r.agent}:\n${r.output}`).join("\n\n");
1567
+ let truncated = false;
1568
+
1569
+ if (maxOutput) {
1570
+ const config = { ...DEFAULT_MAX_OUTPUT, ...maxOutput };
1571
+ const lastArtifactPath = results[results.length - 1]?.artifactPaths?.outputPath;
1572
+ const truncResult = truncateOutput(summary, config, lastArtifactPath);
1573
+ if (truncResult.truncated) {
1574
+ summary = truncResult.text;
1575
+ truncated = true;
1576
+ }
1577
+ }
1578
+
1579
+ const resultMode = config.resultMode ?? statusPayload.mode;
1580
+ const agentName = flatSteps.length === 1
1581
+ ? flatSteps[0].agent
1582
+ : resultMode === "parallel"
1583
+ ? `parallel:${flatSteps.map((s) => s.agent).join("+")}`
1584
+ : `chain:${flatSteps.map((s) => s.agent).join("->")}`;
1585
+ let sessionFile: string | undefined;
1586
+ let shareUrl: string | undefined;
1587
+ let gistUrl: string | undefined;
1588
+ let shareError: string | undefined;
1589
+
1590
+ if (shareEnabled) {
1591
+ sessionFile = config.sessionDir
1592
+ ? (findLatestSessionFile(config.sessionDir) ?? undefined)
1593
+ : undefined;
1594
+ if (!sessionFile && latestSessionFile) {
1595
+ sessionFile = latestSessionFile;
1596
+ }
1597
+ if (sessionFile) {
1598
+ try {
1599
+ const exportDir = config.sessionDir ?? path.dirname(sessionFile);
1600
+ const htmlPath = await exportSessionHtml(sessionFile, exportDir, config.piPackageRoot);
1601
+ const share = createShareLink(htmlPath);
1602
+ if ("error" in share) shareError = share.error;
1603
+ else {
1604
+ shareUrl = share.shareUrl;
1605
+ gistUrl = share.gistUrl;
1606
+ }
1607
+ } catch (err) {
1608
+ shareError = String(err);
1609
+ }
1610
+ } else {
1611
+ shareError = "Session file not found.";
1612
+ }
1613
+ }
1614
+
1615
+ if (activityTimer) {
1616
+ clearInterval(activityTimer);
1617
+ activityTimer = undefined;
1618
+ }
1619
+ const effectiveSessionFile = sessionFile ?? latestSessionFile;
1620
+ const runEndedAt = Date.now();
1621
+ statusPayload.state = interrupted ? "paused" : results.every((r) => r.success) ? "complete" : "failed";
1622
+ statusPayload.activityState = undefined;
1623
+ statusPayload.endedAt = runEndedAt;
1624
+ statusPayload.lastUpdate = runEndedAt;
1625
+ statusPayload.sessionFile = effectiveSessionFile;
1626
+ statusPayload.shareUrl = shareUrl;
1627
+ statusPayload.gistUrl = gistUrl;
1628
+ statusPayload.shareError = shareError;
1629
+ if (statusPayload.state === "failed") {
1630
+ const failedStep = statusPayload.steps.find((s) => s.status === "failed");
1631
+ if (failedStep?.agent) {
1632
+ statusPayload.error = `Step failed: ${failedStep.agent}`;
1633
+ }
1634
+ }
1635
+ writeAtomicJson(statusPath, statusPayload);
1636
+ appendJsonl(
1637
+ eventsPath,
1638
+ JSON.stringify({
1639
+ type: "subagent.run.completed",
1640
+ ts: runEndedAt,
1641
+ runId: id,
1642
+ status: statusPayload.state,
1643
+ durationMs: runEndedAt - overallStartTime,
1644
+ }),
1645
+ );
1646
+ writeRunLog(logPath, {
1647
+ id,
1648
+ mode: statusPayload.mode,
1649
+ cwd,
1650
+ startedAt: overallStartTime,
1651
+ endedAt: runEndedAt,
1652
+ steps: statusPayload.steps.map((step) => ({
1653
+ agent: step.agent,
1654
+ status: step.status,
1655
+ durationMs: step.durationMs,
1656
+ })),
1657
+ summary,
1658
+ truncated,
1659
+ artifactsDir,
1660
+ sessionFile: effectiveSessionFile,
1661
+ shareUrl,
1662
+ shareError,
1663
+ });
1664
+
1665
+ try {
1666
+ writeAtomicJson(resultPath, {
1667
+ id,
1668
+ agent: agentName,
1669
+ mode: resultMode,
1670
+ success: !interrupted && results.every((r) => r.success),
1671
+ state: interrupted ? "paused" : results.every((r) => r.success) ? "complete" : "failed",
1672
+ summary: interrupted ? "Paused after interrupt. Waiting for explicit next action." : summary,
1673
+ results: results.map((r) => ({
1674
+ agent: r.agent,
1675
+ output: r.output,
1676
+ error: r.error,
1677
+ success: r.success,
1678
+ skipped: r.skipped || undefined,
1679
+ sessionFile: r.sessionFile,
1680
+ intercomTarget: r.intercomTarget,
1681
+ model: r.model,
1682
+ attemptedModels: r.attemptedModels,
1683
+ modelAttempts: r.modelAttempts,
1684
+ artifactPaths: r.artifactPaths,
1685
+ truncated: r.truncated,
1686
+ })),
1687
+ exitCode: interrupted || results.every((r) => r.success) ? 0 : 1,
1688
+ timestamp: runEndedAt,
1689
+ durationMs: runEndedAt - overallStartTime,
1690
+ truncated,
1691
+ artifactsDir,
1692
+ cwd,
1693
+ asyncDir,
1694
+ sessionId: config.sessionId,
1695
+ sessionFile: effectiveSessionFile,
1696
+ intercomTarget: config.controlIntercomTarget,
1697
+ shareUrl,
1698
+ gistUrl,
1699
+ shareError,
1700
+ ...(taskIndex !== undefined && { taskIndex }),
1701
+ ...(totalTasks !== undefined && { totalTasks }),
1702
+ });
1703
+ } catch (err) {
1704
+ console.error(`Failed to write result file ${resultPath}:`, err);
1705
+ }
1706
+ }
1707
+
1708
+ const configArg = process.argv[2];
1709
+ if (configArg) {
1710
+ try {
1711
+ const configJson = fs.readFileSync(configArg, "utf-8");
1712
+ const config = JSON.parse(configJson) as SubagentRunConfig;
1713
+ try {
1714
+ fs.unlinkSync(configArg);
1715
+ } catch {
1716
+ // Temp config cleanup is best effort.
1717
+ }
1718
+ runSubagent(config).catch((runErr) => {
1719
+ console.error("Subagent runner error:", runErr);
1720
+ process.exit(1);
1721
+ });
1722
+ } catch (err) {
1723
+ console.error("Subagent runner error:", err);
1724
+ process.exit(1);
1725
+ }
1726
+ } else {
1727
+ let input = "";
1728
+ process.stdin.setEncoding("utf-8");
1729
+ process.stdin.on("data", (chunk) => {
1730
+ input += chunk;
1731
+ });
1732
+ process.stdin.on("end", () => {
1733
+ try {
1734
+ const config = JSON.parse(input) as SubagentRunConfig;
1735
+ runSubagent(config).catch((runErr) => {
1736
+ console.error("Subagent runner error:", runErr);
1737
+ process.exit(1);
1738
+ });
1739
+ } catch (err) {
1740
+ console.error("Subagent runner error:", err);
1741
+ process.exit(1);
1742
+ }
1743
+ });
1744
+ }