@crewx/sdk 0.9.0-rc.17 → 0.9.0-rc.170

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 (343) hide show
  1. package/README.md +1 -1
  2. package/dist/account/auth-client.d.ts +61 -0
  3. package/dist/account/auth-json-v2.d.ts +1 -0
  4. package/dist/account/auth-json.d.ts +30 -0
  5. package/dist/account/config.d.ts +37 -0
  6. package/dist/account/env-bootstrap.d.ts +11 -0
  7. package/dist/account/errors.d.ts +24 -0
  8. package/dist/account/index.d.ts +12 -0
  9. package/dist/account/index.js +2 -0
  10. package/dist/account/session-manager.d.ts +47 -0
  11. package/dist/activity-log/builder.d.ts +59 -6
  12. package/dist/agent/agent-list-view.d.ts +19 -0
  13. package/dist/agent-interceptor/chain.d.ts +25 -0
  14. package/dist/agent-interceptor/index.d.ts +6 -0
  15. package/dist/agent-interceptor/model-runner.d.ts +19 -0
  16. package/dist/agent-interceptor/program-runner.d.ts +13 -0
  17. package/dist/agent-interceptor/protocol.d.ts +68 -0
  18. package/dist/agent-interceptor/run-stop.d.ts +3 -0
  19. package/dist/agent-interceptor/schema.d.ts +267 -0
  20. package/dist/agent-interceptor/types.d.ts +88 -0
  21. package/dist/app/app.d.ts +167 -0
  22. package/dist/app/backend-env.d.ts +3 -0
  23. package/dist/app/content-media-types.d.ts +2 -0
  24. package/dist/app/context.d.ts +2 -0
  25. package/dist/app/entry.d.ts +9 -0
  26. package/dist/app/frame.d.ts +55 -0
  27. package/dist/app/index.d.ts +18 -0
  28. package/dist/app/index.js +12 -0
  29. package/dist/app/job-bridge.child.d.ts +1 -0
  30. package/dist/app/job-bridge.d.ts +67 -0
  31. package/dist/app/job-bridge.drain.child.d.ts +1 -0
  32. package/dist/app/job-bridge.example.d.ts +11 -0
  33. package/dist/app/job-contract.d.ts +40 -0
  34. package/dist/app/job-wire.d.ts +149 -0
  35. package/dist/app/protocol.d.ts +9 -0
  36. package/dist/app/runtime.d.ts +23 -0
  37. package/dist/app/schedule-contract.d.ts +59 -0
  38. package/dist/app/tool-mode.d.ts +3 -0
  39. package/dist/app-artifact-policy/check.d.ts +2 -0
  40. package/dist/app-artifact-policy/contract.d.ts +54 -0
  41. package/dist/app-artifact-policy/helper.d.ts +15 -0
  42. package/dist/app-artifact-policy/index.d.ts +3 -0
  43. package/dist/app-artifact-policy/index.js +18 -0
  44. package/dist/app-artifact-policy/paths.d.ts +24 -0
  45. package/dist/app-artifact-policy/scan.d.ts +47 -0
  46. package/dist/boxing/box.types.d.ts +4 -0
  47. package/dist/config/canonicalize-agent-options.d.ts +18 -0
  48. package/dist/config/default-agent-models.d.ts +11 -0
  49. package/dist/config/global-settings.d.ts +33 -0
  50. package/dist/config/migrate-grok-mode.d.ts +6 -0
  51. package/dist/config/model-compat.d.ts +31 -0
  52. package/dist/config/models.generated.d.ts +37 -0
  53. package/dist/config/models.remote.d.ts +1 -0
  54. package/dist/config/overdrive.d.ts +7 -0
  55. package/dist/config/pricing.d.ts +6 -3
  56. package/dist/config/pricing.generated.d.ts +4 -0
  57. package/dist/config/pricing.types.d.ts +4 -0
  58. package/dist/config/timeout.config.d.ts +4 -0
  59. package/dist/config/wi-boards.d.ts +19 -0
  60. package/dist/context-budget/continuity.d.ts +63 -0
  61. package/dist/context-budget/index.d.ts +142 -0
  62. package/dist/conversation/index.d.ts +1 -1
  63. package/dist/conversation/sqlite-provider.d.ts +6 -3
  64. package/dist/conversation/to-template-messages.d.ts +9 -0
  65. package/dist/conversation/types.d.ts +58 -1
  66. package/dist/desktop/command-runner.d.ts +4 -0
  67. package/dist/desktop/default-adapters.d.ts +4 -0
  68. package/dist/desktop/global-install.d.ts +19 -0
  69. package/dist/desktop/index.d.ts +3 -0
  70. package/dist/desktop/index.js +3 -0
  71. package/dist/desktop/install.d.ts +5 -0
  72. package/dist/desktop/lnk.d.ts +22 -0
  73. package/dist/desktop/manifest.d.ts +21 -0
  74. package/dist/desktop/types.d.ts +67 -0
  75. package/dist/desktop/version.d.ts +1 -0
  76. package/dist/desktop/windows-paths.d.ts +21 -0
  77. package/dist/desktop/wrapper.d.ts +18 -0
  78. package/dist/esm/account/index.js +2 -0
  79. package/dist/esm/app/index.js +12 -0
  80. package/dist/esm/app-artifact-policy/index.js +18 -0
  81. package/dist/esm/desktop/index.js +3 -0
  82. package/dist/esm/index.js +1175 -224
  83. package/dist/esm/node/index.js +2 -0
  84. package/dist/esm/plugins/index.js +527 -214
  85. package/dist/esm/process/index.js +1 -0
  86. package/dist/esm/publish/index.js +2 -0
  87. package/dist/esm/repository/index.js +648 -211
  88. package/dist/esm/skills/index.js +2 -0
  89. package/dist/esm/testing/index.js +1 -1
  90. package/dist/events/types.d.ts +28 -0
  91. package/dist/facade/Crewx.d.ts +70 -5
  92. package/dist/facade/task-ticket.d.ts +14 -0
  93. package/dist/highlight/thread-highlight-prompt.d.ts +2 -0
  94. package/dist/highlight/thread-highlighter.d.ts +326 -0
  95. package/dist/index.browser.d.ts +25 -1
  96. package/dist/index.browser.js +6 -2
  97. package/dist/index.d.ts +157 -17
  98. package/dist/index.js +1175 -224
  99. package/dist/internal/console-decoder.d.ts +38 -0
  100. package/dist/internal/windows-spawn.d.ts +10 -0
  101. package/dist/layout/types.d.ts +18 -1
  102. package/dist/lifecycle/process-lease.d.ts +80 -0
  103. package/dist/lifecycle/process-owner.d.ts +20 -0
  104. package/dist/lifecycle/task-heartbeat.d.ts +41 -0
  105. package/dist/lifecycle/task-stop.d.ts +82 -0
  106. package/dist/lifecycle/update-admission.d.ts +45 -0
  107. package/dist/local-server/base-url.d.ts +18 -0
  108. package/dist/local-server/index.d.ts +8 -0
  109. package/dist/local-server/opencode.d.ts +8 -0
  110. package/dist/local-server/probe.d.ts +3 -0
  111. package/dist/local-server/runtime.d.ts +26 -0
  112. package/dist/local-server/types.d.ts +43 -0
  113. package/dist/mcp-app/agent-access.d.ts +26 -0
  114. package/dist/mcp-app/app-handoff.d.ts +109 -0
  115. package/dist/mcp-app/app-icon-read.d.ts +7 -0
  116. package/dist/mcp-app/app-job-bridge.d.ts +30 -0
  117. package/dist/mcp-app/app-job-bridge.example.d.ts +36 -0
  118. package/dist/mcp-app/app-job.d.ts +168 -0
  119. package/dist/mcp-app/app-schedule.d.ts +85 -0
  120. package/dist/mcp-app/apps-context.d.ts +32 -0
  121. package/dist/mcp-app/bundle-provenance.d.ts +3 -0
  122. package/dist/mcp-app/candidate-registration.d.ts +4 -0
  123. package/dist/mcp-app/card-handler.d.ts +7 -0
  124. package/dist/mcp-app/catalog.d.ts +7 -0
  125. package/dist/mcp-app/content-channel.d.ts +86 -0
  126. package/dist/mcp-app/content-declarations.d.ts +31 -0
  127. package/dist/mcp-app/dev-checks.d.ts +31 -0
  128. package/dist/mcp-app/diagnostic-reason.d.ts +3 -0
  129. package/dist/mcp-app/discovery.d.ts +164 -0
  130. package/dist/mcp-app/errors.d.ts +7 -0
  131. package/dist/mcp-app/index.d.ts +45 -0
  132. package/dist/mcp-app/installed-app-ref.d.ts +25 -0
  133. package/dist/mcp-app/model-context.d.ts +29 -0
  134. package/dist/mcp-app/node-app-discovery-fs.d.ts +23 -0
  135. package/dist/mcp-app/product-bundle-assets.d.ts +27 -0
  136. package/dist/mcp-app/product-bundle-loader.d.ts +53 -0
  137. package/dist/mcp-app/projection.d.ts +14 -0
  138. package/dist/mcp-app/prompt-cards.d.ts +28 -0
  139. package/dist/mcp-app/registry.d.ts +28 -0
  140. package/dist/mcp-app/skill-backend.d.ts +141 -0
  141. package/dist/mcp-app/state-set.d.ts +9 -0
  142. package/dist/mcp-app/types.d.ts +488 -0
  143. package/dist/mcp-app/workspace-app-assets.d.ts +42 -0
  144. package/dist/mcp-app/workspace-app-scan-cache.d.ts +27 -0
  145. package/dist/mcp-app/workspace-snapshot.d.ts +75 -0
  146. package/dist/migrations/0011_far_black_tarantula.sql +1 -0
  147. package/dist/migrations/0012_blue_turbo.sql +23 -0
  148. package/dist/migrations/0013_hesitant_adam_destine.sql +15 -0
  149. package/dist/migrations/0014_organic_mongu.sql +73 -0
  150. package/dist/migrations/0015_panoramic_gorilla_man.sql +71 -0
  151. package/dist/migrations/0016_fuzzy_hemingway.sql +14 -0
  152. package/dist/migrations/0017_project_stage_sdk_migration.sql +29 -0
  153. package/dist/migrations/0018_bored_jackal.sql +33 -0
  154. package/dist/migrations/0019_backfill_task_thread_ids.sql +74 -0
  155. package/dist/migrations/0020_useful_iron_lad.sql +55 -0
  156. package/dist/migrations/0021_dashing_peter_quill.sql +51 -0
  157. package/dist/migrations/0022_wandering_bucky.sql +1 -0
  158. package/dist/migrations/0023_red_payback.sql +1 -0
  159. package/dist/migrations/0024_storage_metadata.sql +262 -0
  160. package/dist/migrations/0025_task_heartbeat.sql +8 -0
  161. package/dist/migrations/0025_thread_app_instance_ledger.sql +2 -0
  162. package/dist/migrations/0026_mcp_action_source.sql +47 -0
  163. package/dist/migrations/0027_task_stop_scope_cleanup.sql +5 -0
  164. package/dist/migrations/0027_ui_instance_active_unique.sql +2 -0
  165. package/dist/migrations/0029_nice_rhino.sql +1 -0
  166. package/dist/migrations/0031_petite_arclight.sql +6 -0
  167. package/dist/migrations/0032_ui_instance_opened_by.sql +1 -0
  168. package/dist/migrations/0033_thread_creator_boundary_guard.sql +38 -0
  169. package/dist/migrations/0034_keen_fallen_one.sql +36 -0
  170. package/dist/migrations/0035_request_log_daily.sql +11 -0
  171. package/dist/migrations/0036_ui_definition_archive.sql +8 -0
  172. package/dist/migrations/0037_ui_instance_agent_open_request.sql +1 -0
  173. package/dist/migrations/0038_task_rating.sql +3 -0
  174. package/dist/migrations/0039_aspiring_purifiers.sql +9 -0
  175. package/dist/migrations/0040_task_provider_inputs.sql +53 -0
  176. package/dist/migrations/0041_tranquil_vivisector.sql +54 -0
  177. package/dist/migrations/meta/0011_snapshot.json +1342 -0
  178. package/dist/migrations/meta/0012_snapshot.json +1494 -0
  179. package/dist/migrations/meta/0013_snapshot.json +1592 -0
  180. package/dist/migrations/meta/0014_snapshot.json +1975 -0
  181. package/dist/migrations/meta/0015_snapshot.json +2315 -0
  182. package/dist/migrations/meta/0016_snapshot.json +2419 -0
  183. package/dist/migrations/meta/0017_snapshot.json +2419 -0
  184. package/dist/migrations/meta/0018_snapshot.json +2570 -0
  185. package/dist/migrations/meta/0020_snapshot.json +2895 -0
  186. package/dist/migrations/meta/0021_snapshot.json +3031 -0
  187. package/dist/migrations/meta/0022_snapshot.json +3039 -0
  188. package/dist/migrations/meta/0023_snapshot.json +3047 -0
  189. package/dist/migrations/meta/0029_snapshot.json +3206 -0
  190. package/dist/migrations/meta/0031_snapshot.json +3251 -0
  191. package/dist/migrations/meta/0034_snapshot.json +3473 -0
  192. package/dist/migrations/meta/0035_snapshot.json +3547 -0
  193. package/dist/migrations/meta/0036_snapshot.json +3591 -0
  194. package/dist/migrations/meta/0037_snapshot.json +3598 -0
  195. package/dist/migrations/meta/0038_snapshot.json +3626 -0
  196. package/dist/migrations/meta/0039_snapshot.json +3684 -0
  197. package/dist/migrations/meta/0040_snapshot.json +3759 -0
  198. package/dist/migrations/meta/0041_snapshot.json +4156 -0
  199. package/dist/migrations/meta/_journal.json +217 -0
  200. package/dist/node/index.d.ts +1 -0
  201. package/dist/node/index.js +2 -0
  202. package/dist/paths.d.ts +1 -0
  203. package/dist/plugin/types.d.ts +1 -0
  204. package/dist/plugins/index.d.ts +1 -1
  205. package/dist/plugins/index.js +527 -214
  206. package/dist/plugins/sqlite-tracing.d.ts +46 -0
  207. package/dist/process/index.d.ts +2 -0
  208. package/dist/process/index.js +1 -0
  209. package/dist/process/process-control.d.ts +60 -0
  210. package/dist/prompt/tag-names.d.ts +22 -0
  211. package/dist/provider/acp/connection.d.ts +6 -0
  212. package/dist/provider/acp/meta.d.ts +11 -0
  213. package/dist/provider/bridge.d.ts +12 -2
  214. package/dist/provider/classify-task-error.d.ts +2 -0
  215. package/dist/provider/claude-agent-env.d.ts +1 -0
  216. package/dist/provider/cli/adapter.types.d.ts +23 -2
  217. package/dist/provider/cli/adapters/agent-call.util.d.ts +1 -1
  218. package/dist/provider/cli/adapters/cli-knob.util.d.ts +7 -0
  219. package/dist/provider/cli/adapters/codex-item.d.ts +1 -0
  220. package/dist/provider/cli/adapters/event-timestamp.util.d.ts +1 -0
  221. package/dist/provider/cli/adapters/grok.d.ts +2 -0
  222. package/dist/provider/cli/adapters/index.d.ts +5 -0
  223. package/dist/provider/cli/index.d.ts +3 -2
  224. package/dist/provider/cli/meta.d.ts +5 -0
  225. package/dist/provider/cli/protocol-envelope.d.ts +3 -0
  226. package/dist/provider/errors.d.ts +5 -1
  227. package/dist/provider/idle-watchdog.d.ts +19 -0
  228. package/dist/provider/models.d.ts +17 -12
  229. package/dist/provider/order.d.ts +1 -1
  230. package/dist/provider/parse-usage.d.ts +6 -0
  231. package/dist/provider/provider-selection.d.ts +8 -0
  232. package/dist/provider/redact-technical-message.d.ts +1 -0
  233. package/dist/provider/task-error.types.d.ts +17 -0
  234. package/dist/provider-account/accounts.d.ts +15 -0
  235. package/dist/provider-account/index.d.ts +5 -0
  236. package/dist/provider-account/registry.d.ts +30 -0
  237. package/dist/provider-account/types.d.ts +40 -0
  238. package/dist/publish/constants.d.ts +6 -0
  239. package/dist/publish/errors.d.ts +7 -0
  240. package/dist/publish/index.d.ts +55 -0
  241. package/dist/publish/index.js +2 -0
  242. package/dist/publish/manifest.d.ts +47 -0
  243. package/dist/publish/marketplace-api.constants.d.ts +1 -0
  244. package/dist/publish/pack.d.ts +6 -0
  245. package/dist/publish/scan.d.ts +10 -0
  246. package/dist/publish/secrets.d.ts +6 -0
  247. package/dist/publish/upload.d.ts +19 -0
  248. package/dist/remote/execution-profile.d.ts +9 -0
  249. package/dist/remote/index.d.ts +1 -0
  250. package/dist/remote/types.d.ts +28 -0
  251. package/dist/repository/agent-send-history.repository.d.ts +23 -0
  252. package/dist/repository/agent-suggestion.repository.d.ts +34 -0
  253. package/dist/repository/base-sqlite-repository.d.ts +1 -0
  254. package/dist/repository/common-code.repository.d.ts +45 -0
  255. package/dist/repository/db.d.ts +12 -1
  256. package/dist/repository/index.d.ts +53 -6
  257. package/dist/repository/index.js +648 -211
  258. package/dist/repository/logs-db.d.ts +12 -0
  259. package/dist/repository/notification.repository.d.ts +58 -0
  260. package/dist/repository/project.repository.d.ts +90 -0
  261. package/dist/repository/public-task-answer.d.ts +24 -0
  262. package/dist/repository/request-log-mover.d.ts +70 -0
  263. package/dist/repository/request-log.repository.d.ts +7 -3
  264. package/dist/repository/sidebar-tab.repository.d.ts +86 -0
  265. package/dist/repository/storage-metadata.repository.d.ts +64 -0
  266. package/dist/repository/task-log-migration.d.ts +74 -0
  267. package/dist/repository/task-log.repository.d.ts +44 -0
  268. package/dist/repository/task-status.d.ts +21 -0
  269. package/dist/repository/task.repository.d.ts +307 -8
  270. package/dist/repository/thread-history.repository.d.ts +193 -0
  271. package/dist/repository/thread-origin-verdict.d.ts +27 -0
  272. package/dist/repository/thread-title.types.d.ts +29 -0
  273. package/dist/repository/thread.repository.d.ts +134 -5
  274. package/dist/repository/usage-backfill.d.ts +62 -0
  275. package/dist/repository/usage-from-logs.d.ts +21 -0
  276. package/dist/repository/workspace.repository.d.ts +3 -0
  277. package/dist/schema/agent-send-history.d.ts +85 -0
  278. package/dist/schema/agent-suggestions.d.ts +199 -0
  279. package/dist/schema/common-codes.d.ts +216 -0
  280. package/dist/schema/index.d.ts +16 -0
  281. package/dist/schema/notifications.d.ts +303 -0
  282. package/dist/schema/projects.d.ts +610 -0
  283. package/dist/schema/request-log-daily.d.ts +151 -0
  284. package/dist/schema/sidebar-tabs.d.ts +466 -0
  285. package/dist/schema/storage-metadata.d.ts +181 -0
  286. package/dist/schema/task-log-events.d.ts +119 -0
  287. package/dist/schema/task-provider-inputs.d.ts +100 -0
  288. package/dist/schema/tasks.d.ts +1058 -1
  289. package/dist/schema/thread-creator-unverified.d.ts +45 -0
  290. package/dist/schema/thread-history.d.ts +734 -0
  291. package/dist/schema/threads.d.ts +59 -0
  292. package/dist/schema/ui-action-receipts.d.ts +358 -0
  293. package/dist/schema/ui-definition-archive.d.ts +63 -0
  294. package/dist/schema/ui-instance-repins.d.ts +222 -0
  295. package/dist/schema/ui-instances.d.ts +324 -0
  296. package/dist/schema/workspaces.d.ts +17 -0
  297. package/dist/skills/index.d.ts +15 -0
  298. package/dist/skills/index.js +2 -0
  299. package/dist/skills/types.d.ts +18 -0
  300. package/dist/task-log/anchor-child-tasks.d.ts +7 -0
  301. package/dist/task-log/delegation-trailer.d.ts +34 -0
  302. package/dist/template/engine.d.ts +2 -2
  303. package/dist/template/helpers/exec.browser.d.ts +4 -3
  304. package/dist/template/helpers/exec.d.ts +4 -3
  305. package/dist/template/helpers/format-conversation.d.ts +1 -0
  306. package/dist/template/types.d.ts +20 -0
  307. package/dist/testing/index.js +1 -1
  308. package/dist/types/index.d.ts +1611 -3
  309. package/dist/types/task-log.types.d.ts +6 -1
  310. package/dist/ui-card/index.d.ts +2 -0
  311. package/dist/ui-card/legacy-card-parser.d.ts +11 -0
  312. package/dist/ui-instance/definition.d.ts +6 -0
  313. package/dist/ui-instance/errors.d.ts +18 -0
  314. package/dist/ui-instance/index.d.ts +11 -0
  315. package/dist/ui-instance/json.d.ts +19 -0
  316. package/dist/ui-instance/lineage.d.ts +24 -0
  317. package/dist/ui-instance/runtime.d.ts +19 -0
  318. package/dist/ui-instance/store.d.ts +213 -0
  319. package/dist/ui-instance/types.d.ts +343 -0
  320. package/dist/ui-plugin/app-icon.d.ts +50 -0
  321. package/dist/ui-plugin/app-manifest.d.ts +64 -0
  322. package/dist/ui-plugin/csp.d.ts +28 -0
  323. package/dist/ui-plugin/index.d.ts +8 -0
  324. package/dist/ui-plugin/limits.d.ts +27 -0
  325. package/dist/ui-plugin/manifest.d.ts +3 -0
  326. package/dist/ui-plugin/types.d.ts +207 -0
  327. package/dist/ui-plugin/validator.d.ts +18 -0
  328. package/dist/utils/crewx-executable.d.ts +76 -0
  329. package/dist/utils/crewx-home.d.ts +1 -0
  330. package/dist/utils/env-defaults.d.ts +3 -0
  331. package/dist/utils/id.d.ts +1 -1
  332. package/dist/utils/local-identity.d.ts +2 -0
  333. package/dist/utils/runner-env.d.ts +3 -0
  334. package/dist/utils/timestamp.d.ts +1 -0
  335. package/dist/utils/workspace.d.ts +1 -0
  336. package/dist/wi/create.d.ts +48 -0
  337. package/dist/wi/select.d.ts +20 -0
  338. package/package.json +63 -3
  339. package/templates/agents/default.yaml +303 -128
  340. package/templates/documents/crewx-manual.md +138 -138
  341. package/templates/documents/crewx-quick-guide.md +8 -7
  342. package/templates/workflows/wi-default-flow.yaml +65 -0
  343. package/templates/workflows/wi-plan-flow.yaml +140 -0
@@ -1,2 +1,6 @@
1
- import {load}from'js-yaml';import {z as z$1}from'zod';var m=class extends Error{constructor(e,r){let t=r.length>0?` Available: ${r.join(", ")}`:"";super(`Agent not found: "${e}".${t}`),this.name="AgentNotFoundError";}},D={claude:{id:"claude",provider:"cli/claude"},copilot:{id:"copilot",provider:"cli/copilot"},codex:{id:"codex",provider:"cli/codex"}};function w(s,e){let r=s.startsWith("@")?s.slice(1):s,t=e.find(o=>o.id===r);if(t)return t;let i=D[r];if(i)return i;throw new m(s,e.map(o=>o.id))}var l=class extends Error{constructor(r,t,i){super(r);this.providerStr=t;this.name="ProviderError",this.code=i?.code??"UNKNOWN",this.kind=i?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=i?.retryAfterMs;}providerStr;code;kind;retryAfterMs};var I=new Map;function P(s,e){I.set(s,e);}function x(s){let e=s.split("/");if(e.length!==2)throw new l(`Invalid provider format: "${s}". Expected namespace/id (e.g., api/webllm)`,s);let[r,t]=e,i=I.get(r);if(i)return i(t,s);throw new l(`Unsupported provider namespace: "${r}". Register a factory with registerProviderFactory('${r}', factory).`,s)}var j=new Function("u","return import(u)"),A=class s{_agents;_config;_tools=new Map;_apiProviders=new Map;constructor(e,r){this._agents=new Map(e.map(t=>[t.id,t])),this._config=r;}static async fromConfig(e,r){let t=new s(e.agents??[],e),i=e.agents??[],o=a=>Array.isArray(a.provider)?a.provider[0]:a.provider,d=i.filter(a=>o(a)==="api/webllm"),c=i.filter(a=>o(a)==="api/openrouter");if(d.length>0&&await t._initWebLLM(d,r?.onProgress),c.length>0){if(!r?.openrouterApiKey)throw new Error("openrouterApiKey is required when using api/openrouter provider");t._initOpenRouter(c,r.openrouterApiKey);}return t._apiProviders.size>0&&P("api",(a,g)=>{let p=t._apiProviders.get(a);if(!p)throw new l(`Unknown api provider: ${a}`,g);return p}),t}async _initWebLLM(e,r){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not available. Chrome 113+ or Edge 113+ required.");let t=await j("https://esm.run/@mlc-ai/web-llm"),i=e[0]?.inline?.model??"gemma-2-2b-it-q4f16_1-MLC",o=await t.CreateMLCEngine(i,{initProgressCallback:r?c=>r(c):void 0}),d=[];this._apiProviders.set("webllm",{async query(c,a){let g=[];a?.systemPrompt&&g.push({role:"system",content:a.systemPrompt}),g.push(...d),g.push({role:"user",content:c});let p="",u=await o.chat.completions.create({messages:g,stream:true,temperature:.7,max_tokens:4096});for await(let y of u){let v=y.choices?.[0]?.delta?.content??"";p+=v,a?.onOutput&&a.onOutput(p,"stdout");}return d.push({role:"user",content:c}),d.push({role:"assistant",content:p}),p},async execute(c,a){return this.query(c,a)}});}_initOpenRouter(e,r){let t=e[0]?.inline?.model??"google/gemma-2-2b-it",i=[];this._apiProviders.set("openrouter",{async query(o,d){let c=[];d?.systemPrompt&&c.push({role:"system",content:d.systemPrompt}),c.push(...i),c.push({role:"user",content:o});let a=await fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"},body:JSON.stringify({model:d?.model||t,messages:c,stream:true})});if(!a.ok){let v=await a.text();throw new Error(`OpenRouter API error (${a.status}): ${v}`)}let g=a.body.getReader(),p=new TextDecoder,u="",y="";for(;;){let{done:v,value:T}=await g.read();if(v)break;y+=p.decode(T,{stream:true});let O=y.split(`
2
- `);y=O.pop();for(let M of O){let h=M.trim();if(!h||!h.startsWith("data: "))continue;let k=h.slice(6);if(k!=="[DONE]")try{let b=JSON.parse(k).choices?.[0]?.delta?.content??"";u+=b,b&&d?.onOutput&&d.onOutput(u,"stdout");}catch{}}}return i.push({role:"user",content:o}),i.push({role:"assistant",content:u}),u},async execute(o,d){return this.query(o,d)}});}get agents(){return this._agents}get config(){return this._config}get tools(){return this._tools}registerTool(e,r){this._tools.set(e,{name:e,...r});}async query(e,r,t){let i=Date.now(),o;try{o=w(e,Array.from(this._agents.values()));}catch(p){if(p instanceof m)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:p.message},meta:{agentId:e.replace(/^@/,""),provider:"",durationMs:Date.now()-i}};throw p}let d=Array.isArray(o.provider)?o.provider[0]??"api/default":o.provider,c=t?.provider??d,a=t?.model??o.inline?.model,g;try{g=x(c);}catch(p){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:p.message},meta:{agentId:o.id,provider:c,model:a,durationMs:Date.now()-i}}}try{return {ok:!0,data:await g.query(r,{model:a,context:t?.context,systemPrompt:o.inline?.system_prompt??o.inline?.prompt,onOutput:t?.onOutput?u=>t.onOutput(u):void 0}),meta:{agentId:o.id,provider:c,model:a,durationMs:Date.now()-i}}}catch(p){return {ok:false,data:"",error:{code:"QUERY_FAILED",message:p.message},meta:{agentId:o.id,provider:c,model:a,durationMs:Date.now()-i}}}}async execute(e,r,t){let i=Date.now(),o;try{o=w(e,Array.from(this._agents.values()));}catch(p){if(p instanceof m)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:p.message},meta:{agentId:e.replace(/^@/,""),provider:"",durationMs:Date.now()-i}};throw p}let d=Array.isArray(o.provider)?o.provider[0]??"api/default":o.provider,c=t?.provider??d,a=t?.model??o.inline?.model,g;try{g=x(c);}catch(p){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:p.message},meta:{agentId:o.id,provider:c,model:a,durationMs:Date.now()-i}}}try{return {ok:!0,data:await g.execute(r,{model:a,context:t?.context,systemPrompt:o.inline?.system_prompt??o.inline?.prompt}),meta:{agentId:o.id,provider:c,model:a,durationMs:Date.now()-i}}}catch(p){return {ok:false,data:"",error:{code:"EXECUTE_FAILED",message:p.message},meta:{agentId:o.id,provider:c,model:a,durationMs:Date.now()-i}}}}};var F=z$1.object({model:z$1.string().optional(),system_prompt:z$1.string().optional(),prompt:z$1.string().optional(),layout:z$1.union([z$1.string(),z$1.object({id:z$1.string(),props:z$1.record(z$1.unknown()).optional()}),z$1.object({props:z$1.record(z$1.unknown())}),z$1.object({template:z$1.string()})]).optional()}).catchall(z$1.unknown()),U=z$1.object({include:z$1.array(z$1.string()).optional()}).optional(),N=z$1.object({id:z$1.string(),name:z$1.string().optional(),role:z$1.string().optional(),team:z$1.string().optional(),provider:z$1.union([z$1.string(),z$1.array(z$1.string())]),working_directory:z$1.string().optional(),description:z$1.string().optional(),tags:z$1.array(z$1.string()).optional(),inline:F.optional(),skills:U}).catchall(z$1.unknown()),_=z$1.object({agents:z$1.array(N).optional(),hooks:z$1.array(z$1.unknown()).optional(),settings:z$1.record(z$1.unknown()).optional(),skills:z$1.unknown().optional(),layouts:z$1.record(z$1.unknown()).optional(),documents:z$1.record(z$1.unknown()).optional()}).catchall(z$1.unknown());var f=class extends Error{constructor(r,t){super(r);this.cause=t;this.name="ConfigLoadError";}cause};function S(s){if(!s||typeof s!="string"||!s.trim())throw new f("YAML content must be a non-empty string");let e;try{e=load(s);}catch(i){throw new f(`YAML parse error: ${i.message}`,i)}let r=Q(e),t=_.safeParse(r);if(!t.success)throw new f(`Config validation error: ${t.error.message}`);return t.data}function Q(s){if(!s||typeof s!="object")return {agents:[]};let e=s;if(e.agents&&typeof e.agents=="object"&&!Array.isArray(e.agents)){let r=e.agents,t=Object.entries(r).map(([i,o])=>({id:i,...o&&typeof o=="object"?o:{}}));return {...e,agents:t}}return e.agents?e:{...e,agents:[]}}var $="crewx:fs:",E=class{prefix;store;constructor(e){this.prefix=e?.prefix??$,this.store=e?.storage??new Map;}async readFile(e){let r=this.toKey(e),t=this.store.get(r);if(t===void 0)throw new Error(`BrowserFsAdapter: file not found: ${e}`);return t}async exists(e){return this.store.has(this.toKey(e))}resolvePath(...e){let r=e.map(d=>d.replace(/\\/g,"/")).join("/").replace(/\/+/g,"/"),t=r.split("/"),i=[];for(let d of t)d==="."||d===""||(d===".."?i.pop():i.push(d));let o=i.join("/");return r.startsWith("/")?`/${o}`:o}isAbsolute(e){return e.startsWith("/")}setItem(e,r){this.store.set(this.toKey(e),r);}removeItem(e){this.store.delete(this.toKey(e));}keys(){return Array.from(this.store.keys()).filter(e=>e.startsWith(this.prefix)).map(e=>e.slice(this.prefix.length))}async readdir(e){let r=e.replace(/\\/g,"/").replace(/\/$/,""),t=this.toKey(r+"/"),i=[];for(let o of this.store.keys())if(o.startsWith(t)){let c=o.slice(t.length).split("/")[0];c&&!i.includes(c)&&i.push(c);}return i}toKey(e){return `${this.prefix}${e.replace(/\\/g,"/")}`}};var C=["codex","claude","opencode","antigravity","copilot"];function K(s){let e=s.indexOf("/");return e===-1?s:s.slice(e+1)}function R(s){let e=K(s),r=C.indexOf(e);return r===-1?C.length:r}function B(s,e){return R(s)-R(e)}var W=new Set(["claude","copilot","codex","opencode"]);function z(s){if(!s)return "";if(s.startsWith("acp/")){let e=s.slice(4);if(W.has(e))return `cli/${e}`}return s}export{E as BrowserFsAdapter,f as ConfigLoadError,A as Crewx,C as PROVIDER_ORDER,l as ProviderError,B as compareProviders,x as createProvider,z as normalizeProviderId,S as parseYamlContent,R as providerRank,P as registerProviderFactory};
1
+ import {load}from'js-yaml';import'js-tiktoken';import'js-tiktoken/lite';import Xn from'js-tiktoken/ranks/o200k_base';import {z as z$1}from'zod';var I=class extends Error{constructor(n,t){let r=t.length>0?` Available: ${t.join(", ")}`:"";super(`Agent not found: "${n}".${r}`),this.name="AgentNotFoundError";}},Tn={claude:{id:"claude",provider:"cli/claude"},copilot:{id:"copilot",provider:"cli/copilot"},codex:{id:"codex",provider:"cli/codex"}};function X(e,n){let t=e.startsWith("@")?e.slice(1):e,r=n.find(i=>i.id===t);if(r)return r;let o=Tn[t];if(o)return o;throw new I(e,n.map(i=>i.id))}var m=class extends Error{constructor(t,r,o){super(t);this.providerStr=r;this.name="ProviderError",this.code=o?.code??"UNKNOWN",this.kind=o?.kind??(this.code==="UNKNOWN"?"transient":void 0),this.retryAfterMs=o?.retryAfterMs;}providerStr;code;kind;retryAfterMs;stdout};var we=new Map;function Y(e,n){we.set(e,n);}function N(e){let n=e.split("/");if(n.length!==2)throw new m(`Invalid provider format: "${e}". Expected namespace/id (e.g., api/webllm)`,e);let[t,r]=n,o=we.get(t);if(o)return o(r,e);throw new m(`Unsupported provider namespace: "${t}". Register a factory with registerProviderFactory('${t}', factory).`,e)}var En=new Function("u","return import(u)"),K=class e{_agents;_config;_tools=new Map;_apiProviders=new Map;constructor(n,t){this._agents=new Map(n.map(r=>[r.id,r])),this._config=t;}static async fromConfig(n,t){let r=new e(n.agents??[],n),o=n.agents??[],i=p=>Array.isArray(p.provider)?p.provider[0]:p.provider,a=o.filter(p=>i(p)==="api/webllm"),s=o.filter(p=>i(p)==="api/openrouter");if(a.length>0&&await r._initWebLLM(a,t?.onProgress),s.length>0){if(!t?.openrouterApiKey)throw new Error("openrouterApiKey is required when using api/openrouter provider");r._initOpenRouter(s,t.openrouterApiKey);}return r._apiProviders.size>0&&Y("api",(p,l)=>{let c=r._apiProviders.get(p);if(!c)throw new m(`Unknown api provider: ${p}`,l);return c}),r}async _initWebLLM(n,t){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not available. Chrome 113+ or Edge 113+ required.");let r=await En("https://esm.run/@mlc-ai/web-llm"),o=n[0]?.inline?.model??"gemma-2-2b-it-q4f16_1-MLC",i=await r.CreateMLCEngine(o,{initProgressCallback:t?s=>t(s):void 0}),a=[];this._apiProviders.set("webllm",{async query(s,p){let l=[];p?.systemPrompt&&l.push({role:"system",content:p.systemPrompt}),l.push(...a),l.push({role:"user",content:s});let c="",A=await i.chat.completions.create({messages:l,stream:true,temperature:.7,max_tokens:4096});for await(let _ of A){let f=_.choices?.[0]?.delta?.content??"";c+=f,p?.onOutput&&p.onOutput(c,"stdout");}return a.push({role:"user",content:s}),a.push({role:"assistant",content:c}),c},async execute(s,p){return this.query(s,p)}});}_initOpenRouter(n,t){let r=n[0]?.inline?.model??"google/gemma-2-2b-it",o=[];this._apiProviders.set("openrouter",{async query(i,a){let s=[];a?.systemPrompt&&s.push({role:"system",content:a.systemPrompt}),s.push(...o),s.push({role:"user",content:i});let p=await fetch("https://openrouter.ai/api/v1/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:a?.model||r,messages:s,stream:true})});if(!p.ok){let f=await p.text();throw new Error(`OpenRouter API error (${p.status}): ${f}`)}let l=p.body.getReader(),c=new TextDecoder,A="",_="";for(;;){let{done:f,value:W}=await l.read();if(f)break;_+=c.decode(W,{stream:true});let Re=_.split(`
2
+ `);_=Re.pop();for(let _n of Re){let $=_n.trim();if(!$||!$.startsWith("data: "))continue;let Me=$.slice(6);if(Me!=="[DONE]")try{let Se=JSON.parse(Me).choices?.[0]?.delta?.content??"";A+=Se,Se&&a?.onOutput&&a.onOutput(A,"stdout");}catch{}}}return o.push({role:"user",content:i}),o.push({role:"assistant",content:A}),A},async execute(i,a){return this.query(i,a)}});}get agents(){return this._agents}get config(){return this._config}get tools(){return this._tools}registerTool(n,t){this._tools.set(n,{name:n,...t});}async query(n,t,r){let o=Date.now(),i;try{i=X(n,Array.from(this._agents.values()));}catch(f){if(f instanceof I)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:f.message},meta:{agentId:n.replace(/^@/,""),provider:"",durationMs:Date.now()-o}};throw f}let a=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,s=r?.provider??a,p=r?.model??i.inline?.model,l=i.options,c=l&&typeof l=="object"&&!Array.isArray(l)?l.query:void 0,A=c&&typeof c=="object"&&!Array.isArray(c)&&typeof c.mode=="string"&&c.mode.trim()||void 0,_;try{_=N(s);}catch(f){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:f.message,...f instanceof m?{providerCode:f.code}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}try{return {ok:!0,data:await _.query(t,{model:p,context:r?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt,onOutput:r?.onOutput?W=>r.onOutput(W):void 0}),meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}catch(f){return {ok:false,data:"",error:{code:"QUERY_FAILED",message:f.message,...f instanceof m?{providerCode:f.code}:{},...A?{mode:A}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}}async execute(n,t,r){let o=Date.now(),i;try{i=X(n,Array.from(this._agents.values()));}catch(c){if(c instanceof I)return {ok:false,data:"",error:{code:"AGENT_NOT_FOUND",message:c.message},meta:{agentId:n.replace(/^@/,""),provider:"",durationMs:Date.now()-o}};throw c}let a=Array.isArray(i.provider)?i.provider[0]??"api/default":i.provider,s=r?.provider??a,p=r?.model??i.inline?.model,l;try{l=N(s);}catch(c){return {ok:false,data:"",error:{code:"PROVIDER_ERROR",message:c.message,...c instanceof m?{providerCode:c.code}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}try{return {ok:!0,data:await l.execute(t,{model:p,context:r?.context,systemPrompt:i.inline?.system_prompt??i.inline?.prompt}),meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}catch(c){return {ok:false,data:"",error:{code:"EXECUTE_FAILED",message:c.message,...c instanceof m?{providerCode:c.code}:{}},meta:{agentId:i.id,provider:s,model:p,durationMs:Date.now()-o}}}}};var g="[REDACTED]",ke="[PATH]";function Z(e){if(typeof e!="string")return;let n=e.trim();if(n)return n=n.replace(/^\s*at\s+[^\r\n]+(?:\r?\n|$)/gim,""),n=n.replace(/(^|[\r\n])\s*(?:authorization|proxy-authorization|x-api-key|x-goog-api-key|x-auth-token|cookie|set-cookie)\s*:\s*[^\r\n]*/gim,`$1[HTTP HEADER ${g}]`),n=xn(n),n=n.replace(/\b(?:Bearer|Basic)\s+[A-Za-z0-9._~+\-/]+=*/gi,`${g}`),n=n.replace(/\bsk-[A-Za-z0-9][A-Za-z0-9_-]*/g,g),n=n.replace(/\bghp_[A-Za-z0-9][A-Za-z0-9_-]*/g,g),n=n.replace(/\bxoxb-[A-Za-z0-9-]+/g,g),n=n.replace(/\bxoxp-[A-Za-z0-9-]+/g,g),n=n.replace(/\bAKIA[0-9A-Z]{12,}\b/g,g),n=n.replace(/\bgithub_pat_[A-Za-z0-9_]+/g,g),n=n.replace(/\bgho_[A-Za-z0-9_]+/g,g),n=n.replace(/\bAIza[A-Za-z0-9_-]{20,}\b/g,g),n=n.replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,g),n=n.replace(/\b(?:authorization|api[_ -]?key|access[_ -]?token|auth[_ -]?token|refresh[_ -]?token|token|secret|password)\s*([:=])\s*["']?[^\s,;&"']+/gi,(t,r)=>`${g}${r}${g}`),n=n.replace(/([?&](?:api[_-]?key|access[_-]?token|token)=)[^&\s]+/gi,`$1${g}`),n=n.replace(/(?:\/(?:Users|home|private|var\/folders|tmp|workspace|workspaces|Volumes|opt|etc|srv|Applications)\/[^\s"'`),;]+)/g,ke),n=n.replace(/\b[A-Z]:\\(?:Users|home|Windows|Program Files|workspace|workspaces)\\[^\s"'`),;]*/gi,ke),n=n.replace(/[\r\n]{3,}/g,`
3
+
4
+ `).trim(),In(n,1024)||void 0}function In(e,n){let t=new TextEncoder;if(t.encode(e).byteLength<=n)return e;let r="",o=0;for(let i of e){let a=t.encode(i).byteLength;if(o+a>n)break;r+=i,o+=a;}return r}function xn(e){let n=/\b(?:request|response|http)?\s*body\s*[:=]\s*/gim,t="",r=0,o;for(;(o=n.exec(e))!==null;){if(o.index<r)continue;let i=o.index+o[0].length,a=Pn(e,i),s=a>=0?a:e.indexOf(`
5
+ `,i)>=0?e.indexOf(`
6
+ `,i):e.length;t+=e.slice(r,o.index),t+=`[HTTP BODY ${g}]`,r=s;}return t+e.slice(r)}function Pn(e,n){let t=e[n];if(t==='"'||t==="'")return Cn(e,n,t);if(t!=="{"&&t!=="[")return -1;let r=[],o,i=false;for(let a=n;a<e.length;a+=1){let s=e[a];if(o){i?i=false:s==="\\"?i=true:s===o&&(o=void 0);continue}if(s==='"'||s==="'"){o=s;continue}if(s==="{"||s==="["){r.push(s);continue}if(s!=="}"&&s!=="]")continue;let p=r.pop();if(s==="}"&&p!=="{"||s==="]"&&p!=="[")return -1;if(r.length===0)return a+1}return -1}function Cn(e,n,t){let r=false;for(let o=n+1;o<e.length;o+=1){let i=e[o];if(r)r=false;else if(i==="\\")r=true;else if(i===t)return o+1}return -1}var On=new Set(["USAGE_LIMITED","CONTEXT_WINDOW_EXCEEDED","INPUT_TOO_LARGE","MODEL_NOT_SUPPORTED","MODEL_AT_CAPACITY","AUTH_REQUIRED","CLI_NOT_AVAILABLE","CLI_UPDATE_REQUIRED","AGENT_NOT_FOUND","PERMISSION_OR_TRUST","TIMEOUT_OR_STUCK","NETWORK_OR_PROVIDER_TRANSIENT","PROVIDER_CONFIGURATION","AGENT_MODE_RESTRICTED","PROCESS_FAILED"]),bn=new Set(["plan","plan-auto","read-only"]),Rn={QUOTA_EXHAUSTED:"USAGE_LIMITED",RATE_LIMITED:"USAGE_LIMITED",AUTH_REQUIRED:"AUTH_REQUIRED",TIMEOUT_IDLE:"TIMEOUT_OR_STUCK",TIMEOUT_TOTAL:"TIMEOUT_OR_STUCK",TIMEOUT_RESUME:"NETWORK_OR_PROVIDER_TRANSIENT",PROVIDER_NOT_FOUND:"PROVIDER_CONFIGURATION",INVALID_PROVIDER_FORMAT:"PROVIDER_CONFIGURATION",PROVIDER_CRASHED:"PROCESS_FAILED",EMPTY_OUTPUT:"PROCESS_FAILED"},Mn=[{code:"USAGE_LIMITED",pattern:/(?:rate[ _-]?limit|quota|usage[ /_-]?limit|usage exhausted|too many requests|429\b)/i},{code:"CONTEXT_WINDOW_EXCEEDED",pattern:/context (?:window|length)|maximum context|context[_ -]?window[_ -]?exceeded|too many tokens/i},{code:"INPUT_TOO_LARGE",pattern:/input[_ -]?(?:is[_ -]?)?too[_ -]?large|prompt (?:is )?too (?:large|long)|request[_ -]?(?:is[_ -]?)?too[_ -]?large|payload[_ -]?(?:is[_ -]?)?too[_ -]?large|maximum input/i},{code:"MODEL_AT_CAPACITY",pattern:/(?:model|service|provider).*(?:at capacity|overloaded|temporarily busy)|at capacity|overloaded/i},{code:"MODEL_NOT_SUPPORTED",pattern:/(?:model|invalid_request_error).*(?:not[ _-]?supported|unsupported|does[ _-]?not[ _-]?exist|not[ _-]?found|invalid)|model[_-]?not[_-]?(?:found|supported)/i},{code:"MODEL_NOT_SUPPORTED",pattern:/\bunrecognized_model\b/i},{code:"AUTH_REQUIRED",pattern:/(?:401\b|unauthori[sz]ed|not logged in|login required|sign[ -]?in required|api key (?:is )?(?:missing|invalid|required)|authentication required)/i},{code:"CLI_UPDATE_REQUIRED",pattern:/(?:requires? a newer version|update (?:your )?cli|cli version.*(?:old|outdated|unsupported)|version mismatch)/i},{code:"CLI_NOT_AVAILABLE",pattern:/(?:ENOENT|command not found|executable.*not found|cli.*(?:not installed|unavailable)|is .* installed\?)/i},{code:"AGENT_NOT_FOUND",pattern:/agent[_ -]?not[_ -]?found|unknown agent/i},{code:"PERMISSION_OR_TRUST",pattern:/(?:permission denied|operation not permitted|workspace trust|not trusted|access denied|EACCES|EPERM)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:resume failed|failed .*resum(?:e|ing)|after resuming the session|재개 실패|세션 재개)/i},{code:"TIMEOUT_OR_STUCK",pattern:/(?:timeout|timed out|took too long|stuck|idle timeout|ETIMEDOUT)/i},{code:"NETWORK_OR_PROVIDER_TRANSIENT",pattern:/(?:network (?:unreachable|error)|connection (?:reset|refused|closed)|ECONN(?:RESET|REFUSED|ABORTED)|service unavailable|upstream.*(?:5\d\d|error)|provider.*(?:5\d\d|unavailable|down)|\b5\d\d\b)/i},{code:"PROVIDER_CONFIGURATION",pattern:/(?:invalid provider|unsupported provider|provider namespace|provider configuration|provider config|missing provider)/i}];function Sn(e){try{if(!T(e)||e.status!=="failed")return Q();let n=wn(e.error);if(te(n.message))return Q();let t=y(e.providerId)??n.provider??null,r=vn(e.logs),o=De(n.code);if(o)return R(o,t,n.message,n);let i=U(n.providerCode)??U(n.code),a=i?ne(i,n.message,{exitCode:Hn(e.exitCode),mode:n.mode,fromProviderCodeField:!!n.providerCode}):void 0;if(a)return R(a,t,n.message,n,i);let s=Dn(r);if(!kn(n)&&s&&(s.type==="user_stop"||te(s.message)))return Q();if(s){let l=Nn(s.code,s.providerCode,s.message);if(l)return R(l,t,s.message??n.message,n,s.providerCode??s.code,s,s.structuredFailure?"terminal":"envelope")}let p=Un(n.message,r);return p?R(p.code,t,p.message,n,p.terminal?.providerCode??p.terminal?.code,p.terminal,p.terminal?.structuredFailure?"terminal":"envelope"):R("PROCESS_FAILED",t,n.message,n)}catch{return {errorCode:"PROCESS_FAILED",errorProvider:null}}}function Q(){return {errorCode:null,errorProvider:null}}function R(e,n,t,r,o,i,a="envelope"){let s={};if(i?.resetAt!==void 0&&(s.resetAt=i.resetAt),r?.model&&(s.model=r.model),r?.mode&&(s.mode=r.mode),i?.type&&(s.upstreamType=i.type),o&&(s.upstreamCode=o),e==="CLI_NOT_AVAILABLE"||e==="CLI_UPDATE_REQUIRED"){let A=n?.startsWith("cli/")?n.slice(4):void 0;A&&(s.cliName=A);}let p=a==="terminal"?t:r?.message,l=a==="terminal"?i?.structuredFailure?p:void 0:r?.isEnvelope?p:void 0,c=Z(l);return c&&(s.technicalMessage=c),Object.keys(s).length>0?{errorCode:e,errorProvider:n,errorMeta:s}:{errorCode:e,errorProvider:n}}function wn(e){let n=typeof e=="string"?P(e):e;return T(n)?{isEnvelope:true,code:y(n.code),providerCode:y(n.providerCode),message:y(n.message)??y(n.error),provider:y(n.provider)??y(n.errorProvider),model:y(n.model),mode:y(n.mode)}:{isEnvelope:false,...typeof e=="string"&&e.trim()?{message:e.trim()}:{}}}function P(e){try{return JSON.parse(e)}catch{return}}function kn(e){return !!(e.code||e.providerCode||e.message)}function vn(e){let n=[];if(typeof e=="string"){let t=P(e);if(Array.isArray(t))n.push(...t);else for(let r of e.split(/\r?\n/)){let o=P(r.trim());o!==void 0&&n.push(o);}}else Array.isArray(e)?n.push(...e):T(e)&&n.push(e);return n.flatMap(x)}function x(e){if(!T(e))return [];let n=y(e.type),t=y(e.message);if(t&&!n){let o=P(t);if(Array.isArray(o))return o.flatMap(x);if(T(o))return x(o);let i=t.split(/\r?\n/).map(a=>P(a.trim())).filter(a=>T(a));return i.length>0?i.flatMap(x):e.level==="stderr"?[{type:"stderr",message:t,rank:1,structuredFailure:false}]:x({type:"info",content:t})}if(n==="rate_limit_event"){let o=ve(e.rate_limit_info);return y(o?.status)!=="rejected"?[]:[{type:n,code:"RATE_LIMITED",message:M(o?.message,e.message),resetAt:Bn(o?.resetsAt),rank:4,structuredFailure:true}]}if(n==="turn.failed"||n==="error"){let o=ve(e.error),i=M(o?.message,o?.detail,e.message,e.errorMessage,e.content),a=M(o?.code,e.code,e.errorCode);return [{type:n,code:a,providerCode:M(o?.providerCode,e.providerCode),message:i,rank:n==="turn.failed"?3:2,structuredFailure:true}]}if(n==="text"&&typeof e.content=="string"){let o=P(e.content);if(T(o))return x(o)}let r=M(e.errorMessage,e.content);return r&&te(r)?[{type:"user_stop",message:r,rank:1,structuredFailure:false}]:r&&/(?:turn\.failed|type:error)/i.test(r)?[{type:r.match(/turn\.failed/i)?"turn.failed":"error",message:r,rank:3,structuredFailure:false}]:[]}function Dn(e){return [...e].sort((n,t)=>t.rank-n.rank)[0]}function Nn(e,n,t){let r=De(e);if(r)return r;if(e){let o=ne(e,t);if(o)return o}if(n){let o=ne(n,t);if(o)return o}return ee(t)}function Un(e,n){let t=ee(e);if(t)return {code:t,message:e};for(let r of [...n].sort((o,i)=>i.rank-o.rank)){let o=ee(r.message);if(o)return {code:o,message:r.message,terminal:r}}}function ee(e){if(!(typeof e!="string"||!e.trim()))return Mn.find(n=>n.pattern.test(e))?.code}function ne(e,n,t){let r=U(e)??e;if(r==="MODEL_UNAVAILABLE")return /(?:capacity|overloaded|busy)/i.test(n??"")?"MODEL_AT_CAPACITY":"MODEL_NOT_SUPPORTED";if(r==="EMPTY_OUTPUT"&&t?.fromProviderCodeField===true&&t.exitCode===0&&Ln(t.mode))return "AGENT_MODE_RESTRICTED";if(r!=="UNKNOWN")return Rn[r]}function De(e){let n=U(e);return n&&On.has(n)?n:void 0}function U(e){return typeof e=="string"&&e.trim()?e.trim().toUpperCase():void 0}function Ln(e){return typeof e=="string"&&bn.has(e.trim().toLowerCase())}function te(e){return e?/\b(?:stopped|killed|aborted|cancelled|canceled)\s+by\s+user\b/i.test(e)||/사용자에 의해 중지됨/.test(e)||/\b(?:SIGTERM\s+143|143\s+SIGTERM)\b/i.test(e):false}function T(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ve(e){return T(e)?e:void 0}function y(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function Bn(e){return typeof e=="string"||typeof e=="number"&&Number.isFinite(e)?e:void 0}function Hn(e){return typeof e=="number"&&Number.isInteger(e)?e:void 0}function M(...e){return e.map(y).find(n=>!!n)}var jn=["none","minimal","low","medium","high","xhigh","max","ultra"],Gn={claude:["low","medium","high","xhigh","max"],codex:["none","minimal","low","medium","high","xhigh","max","ultra"],opencode:[],copilot:["none","low","medium","high","xhigh","max"],antigravity:["low","medium","high"],grok:["low","medium","high","xhigh"]};var L={claude:{models:[{id:"claude-fable-5-1",name:"Claude Fable 5.1",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-fable-5",name:"Claude Fable 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-5-5",name:"Claude Opus 5.5",contextWindowTokens:1e6,tier:"flagship",recommended:true},{id:"claude-opus-5",name:"Claude Opus 5",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",contextWindowTokens:1e6,tier:"balanced",recommended:true},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6",contextWindowTokens:1e6,tier:"flagship"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",contextWindowTokens:1e6,tier:"speed"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindowTokens:2e5,tier:"speed"}],modes:[{id:"default",name:"Default",description:"Uses Claude's default permission handling with normal approval prompts."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without approval; other permission checks remain in place."},{id:"plan",name:"Plan",description:"Keeps Claude in plan mode so it can inspect and propose changes without applying them."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permissions; only pre-approved tool actions can proceed."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Claude permission checks so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5-1":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-opus-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-5-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"medium"},"claude-haiku-4-5":{effort:[]}},providerOptions:[]},codex:{models:[{id:"gpt-6-astra",name:"GPT-6 Astra",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",contextWindowTokens:105e4,tier:"balanced",recommended:true},{id:"gpt-6-sol",name:"GPT-6 Sol",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-6-luna",name:"GPT-6 Luna",contextWindowTokens:105e4,tier:"speed",recommended:true},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindowTokens:105e4,tier:"flagship"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindowTokens:105e4,tier:"balanced"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindowTokens:105e4,tier:"speed"}],modes:[{id:"agent",name:"Agent",description:"Uses the workspace-write sandbox; can read and modify workspace files without full machine access."},{id:"read-only",name:"Read Only",description:"Uses the read-only sandbox; can inspect files but cannot write to the workspace."},{id:"plan",name:"Plan",description:"Uses the read-only sandbox for planning and inspection; cannot write to the workspace."},{id:"agent-full-access",name:"Agent Full Access",description:"Bypasses approvals and the sandbox; can access and modify files beyond the workspace."},{id:"yolo",name:"YOLO",description:"Bypasses approvals and the sandbox for unrestricted execution and full filesystem access."}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-6-astra":{effort:["low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-6.1-sol":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"max"},"gpt-6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"medium"},"gpt-5.6-sol":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["low","medium","high","xhigh","max","ultra"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["low","medium","high","xhigh"],defaultEffort:"high"}},providerOptions:[]},opencode:{models:[],modes:[{id:"plan",name:"Plan",description:"Uses the plan agent without --auto; planning follows standard approval behavior."},{id:"plan-auto",name:"Plan \xB7 Auto",description:"Uses the plan agent with --auto; planning uses automatic approvals."},{id:"build",name:"Build",description:"Uses the build agent without --auto; work follows standard approval behavior."},{id:"build-auto",name:"Build \xB7 Auto",description:"Uses the build agent with --auto; work uses automatic approvals."}],effort:[],modelOverrides:{},providerOptions:[]},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindowTokens:1e6,tier:"balanced"}],modes:[{id:"interactive",name:"Interactive",description:"Passes --mode interactive; tool access follows Copilot's interactive mode behavior."},{id:"plan",name:"Plan",description:"Passes --mode plan; planning and permission behavior follow Copilot's plan mode."},{id:"autopilot",name:"Autopilot",description:"Passes --mode autopilot; execution behavior follows Copilot's autonomous mode."}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{},providerOptions:[]},antigravity:{models:[{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",contextWindowTokens:1048576,tier:"balanced"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",contextWindowTokens:1048576,tier:"flagship"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindowTokens:1e6,tier:"balanced"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",contextWindowTokens:1e6,tier:"flagship"},{id:"gpt-oss-120b",name:"GPT-OSS 120B",contextWindowTokens:128e3,tier:"balanced"}],modes:[{id:"default",name:"Default",description:"Uses Antigravity's default permission handling. No extra permission flags are passed."},{id:"plan",name:"Plan",description:"Passes --mode plan. This turns on /plan; it is not a Claude-style permission mode."},{id:"acceptEdits",name:"Accept Edits",description:"Passes --mode accept-edits."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Passes --dangerously-skip-permissions so tools can run without approval prompts."}],effort:["low","medium","high"],modelOverrides:{"gemini-3.7-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.6-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.5-flash":{effort:["low","medium","high"],defaultEffort:"medium"},"gemini-3.1-pro":{effort:["low","high"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:[]},"claude-opus-4-6-thinking":{effort:[]},"gpt-oss-120b":{effort:["medium"],defaultEffort:"medium"}},providerOptions:[]},grok:{models:[{id:"grok-4.7",name:"Grok 4.7",contextWindowTokens:5e5,tier:"flagship",recommended:true},{id:"grok-4.6",name:"Grok 4.6",contextWindowTokens:5e5,tier:"flagship"},{id:"grok-4.5",name:"Grok 4.5",contextWindowTokens:5e5,tier:"flagship"}],modes:[{id:"default",name:"Default",description:"Uses Grok's default permission handling."},{id:"acceptEdits",name:"Accept Edits",description:"Allows file edits without changing the selected sandbox profile."},{id:"auto",name:"Auto",description:"Uses Grok automatic permission handling."},{id:"dontAsk",name:"Don't Ask",description:"Does not ask for permission before tool execution."},{id:"bypassPermissions",name:"Bypass Permissions",description:"Bypasses Grok permission checks for tool execution."},{id:"plan",name:"Plan",description:"Keeps Grok in planning mode without applying changes."}],effort:["low","medium","high"],modelOverrides:{"grok-4.7":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.6":{effort:["low","medium","high","xhigh"],defaultEffort:"high"},"grok-4.5":{effort:["low","medium","high"],defaultEffort:"high"}},providerOptions:[{key:"alwaysApprove",type:"boolean"},{key:"sandbox",type:"enum",values:["workspace","read-only","off"]}]}},re={providers:{"cli/codex":{model:"gpt-6.1-sol",query:{mode:"agent",effort:"high"},execute:{mode:"agent-full-access",effort:"high"}},"cli/claude":{model:"claude-opus-5-5",query:{mode:"default",effort:"high"},execute:{mode:"bypassPermissions",effort:"xhigh"}},"cli/grok":{model:"grok-4.7",query:{mode:"default",effort:"high",providerOptions:{alwaysApprove:true,sandbox:"off"}},execute:{mode:"bypassPermissions",effort:"xhigh",providerOptions:{alwaysApprove:true,sandbox:"off"}}}}};Object.fromEntries(Object.entries(L).map(([e,n])=>[e,n.models]));var Vn="claude-opus-4-8",zn="claude-opus-4-8[1m]",Ne=[{baseModelId:"claude-opus-4-8",catalogModelId:"claude-opus-4-8[1m]"},{baseModelId:"claude-opus-4-7",catalogModelId:"claude-opus-4-7[1m]"},{baseModelId:"claude-opus-4-6",catalogModelId:"claude-opus-4-6[1m]"},{baseModelId:"claude-sonnet-4-6",catalogModelId:"claude-sonnet-4-6[1m]"}];var qn=new Map(Ne.map(({baseModelId:e,catalogModelId:n})=>[e,n]));function Ue(e){return qn.get(e)??e}var Le=[{legacyId:"Gemini 3.7 Flash (High)",model:"gemini-3.7-flash",effort:"high"},{legacyId:"Gemini 3.7 Flash (Medium)",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"Gemini 3.7 Flash (Low)",model:"gemini-3.7-flash",effort:"low"},{legacyId:"Gemini 3.6 Flash (High)",model:"gemini-3.6-flash",effort:"high"},{legacyId:"Gemini 3.6 Flash (Medium)",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"Gemini 3.6 Flash (Low)",model:"gemini-3.6-flash",effort:"low"},{legacyId:"Gemini 3.5 Flash (Medium)",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"Gemini 3.5 Flash (High)",model:"gemini-3.5-flash",effort:"high"},{legacyId:"Gemini 3.5 Flash (Low)",model:"gemini-3.5-flash",effort:"low"},{legacyId:"Gemini 3.1 Pro (Low)",model:"gemini-3.1-pro",effort:"low"},{legacyId:"Gemini 3.1 Pro (High)",model:"gemini-3.1-pro",effort:"high"},{legacyId:"Claude Sonnet 4.6 (Thinking)",model:"claude-sonnet-4-6"},{legacyId:"Claude Opus 4.6 (Thinking)",model:"claude-opus-4-6-thinking"},{legacyId:"GPT-OSS 120B (Medium)",model:"gpt-oss-120b",effort:"medium"},{legacyId:"gemini-3.7-flash-high",model:"gemini-3.7-flash",effort:"high"},{legacyId:"gemini-3.7-flash-medium",model:"gemini-3.7-flash",effort:"medium"},{legacyId:"gemini-3.7-flash-low",model:"gemini-3.7-flash",effort:"low"},{legacyId:"gemini-3.6-flash-high",model:"gemini-3.6-flash",effort:"high"},{legacyId:"gemini-3.6-flash-medium",model:"gemini-3.6-flash",effort:"medium"},{legacyId:"gemini-3.6-flash-low",model:"gemini-3.6-flash",effort:"low"},{legacyId:"gemini-3.5-flash-high",model:"gemini-3.5-flash",effort:"high"},{legacyId:"gemini-3.5-flash-medium",model:"gemini-3.5-flash",effort:"medium"},{legacyId:"gemini-3.5-flash-low",model:"gemini-3.5-flash",effort:"low"},{legacyId:"gemini-3.1-pro-high",model:"gemini-3.1-pro",effort:"high"},{legacyId:"gemini-3.1-pro-low",model:"gemini-3.1-pro",effort:"low"},{legacyId:"gpt-oss-120b-medium",model:"gpt-oss-120b",effort:"medium"}],Wn=new Map(Le.map(({legacyId:e,model:n,effort:t})=>[e,t===void 0?{model:n}:{model:n,effort:t}]));function Be(e){if(!e)return {};let n=Wn.get(e);return n?{...n}:{model:e}}function oe(e,n){return e==="antigravity"||e==="cli/antigravity"?Be(n):n===void 0?{}:{model:Ue(n)}}var He=30,je=80;Object.keys(Xn.special_tokens);var Yn=z$1.object({model:z$1.string().optional(),system_prompt:z$1.string().optional(),prompt:z$1.string().optional(),layout:z$1.union([z$1.string(),z$1.object({id:z$1.string(),props:z$1.record(z$1.unknown()).optional()}),z$1.object({props:z$1.record(z$1.unknown())}),z$1.object({template:z$1.string(),capabilities:z$1.object({semanticContinuity:z$1.boolean().optional(),continuity:z$1.boolean().optional(),continuitySlot:z$1.string().optional(),slot:z$1.string().optional()}).optional()})]).optional()}).catchall(z$1.unknown()),Kn=z$1.object({include:z$1.array(z$1.string()).optional()}).optional(),Zn=z$1.object({id:z$1.string(),name:z$1.string().optional(),role:z$1.string().optional(),team:z$1.string().optional(),provider:z$1.union([z$1.string(),z$1.array(z$1.string())]),provider_account:z$1.string().min(1).optional(),working_directory:z$1.string().optional(),description:z$1.string().optional(),tags:z$1.array(z$1.string()).optional(),inline:Yn.optional(),skills:Kn,interceptors:z$1.unknown().optional()}).catchall(z$1.unknown());z$1.object({id:z$1.string(),name:z$1.string(),workflow_id:z$1.string(),description:z$1.string().optional(),goal_id:z$1.string().optional()});var Qn=z$1.number().finite().int().min(He).max(je),et=z$1.object({inputBudgetPercent:Qn.optional()}).catchall(z$1.unknown()),nt=z$1.object({continuity:et.optional()}).catchall(z$1.unknown()),tt=z$1.object({bin_resolution:z$1.enum(["global_first","local_first"]).optional(),dreaming:nt.optional(),wi:z$1.object({boards:z$1.array(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()).optional().catch(()=>{})}).catchall(z$1.unknown()),Ge=z$1.object({agents:z$1.array(Zn).optional(),hooks:z$1.array(z$1.unknown()).optional(),settings:tt.optional(),skills:z$1.unknown().optional(),layouts:z$1.record(z$1.unknown()).optional(),documents:z$1.record(z$1.unknown()).optional()}).catchall(z$1.unknown());var C=class extends Error{constructor(t,r){super(t);this.cause=r;this.name="ConfigLoadError";}cause};function ot(e){if(!e||typeof e!="string"||!e.trim())throw new C("YAML content must be a non-empty string");let n;try{n=load(e);}catch(o){throw new C(`YAML parse error: ${o.message}`,o)}let t=it(n),r=Ge.safeParse(t);if(!r.success)throw new C(`Config validation error: ${r.error.message}`);return r.data}function it(e){if(!e||typeof e!="object")return {agents:[]};let n=e;if(n.agents&&typeof n.agents=="object"&&!Array.isArray(n.agents)){let t=n.agents,r=Object.entries(t).map(([o,i])=>({id:o,...i&&typeof i=="object"?i:{}}));return {...n,agents:r}}return n.agents?n:{...n,agents:[]}}var st={auto:"default"};function at(e){return st[e]??e}var dt="crewx:fs:",ie=class{prefix;store;constructor(n){this.prefix=n?.prefix??dt,this.store=n?.storage??new Map;}async readFile(n){let t=this.toKey(n),r=this.store.get(t);if(r===void 0)throw new Error(`BrowserFsAdapter: file not found: ${n}`);return r}async exists(n){return this.store.has(this.toKey(n))}resolvePath(...n){let t=n.map(a=>a.replace(/\\/g,"/")).join("/").replace(/\/+/g,"/"),r=t.split("/"),o=[];for(let a of r)a==="."||a===""||(a===".."?o.pop():o.push(a));let i=o.join("/");return t.startsWith("/")?`/${i}`:i}isAbsolute(n){return n.startsWith("/")}setItem(n,t){this.store.set(this.toKey(n),t);}removeItem(n){this.store.delete(this.toKey(n));}keys(){return Array.from(this.store.keys()).filter(n=>n.startsWith(this.prefix)).map(n=>n.slice(this.prefix.length))}async readdir(n){let t=n.replace(/\\/g,"/").replace(/\/$/,""),r=this.toKey(t+"/"),o=[];for(let i of this.store.keys())if(i.startsWith(r)){let s=i.slice(r.length).split("/")[0];s&&!o.includes(s)&&o.push(s);}return o}toKey(n){return `${this.prefix}${n.replace(/\\/g,"/")}`}};var se=["codex","claude","grok","opencode","antigravity","copilot"];function pt(e){let n=e.indexOf("/");return n===-1?e:e.slice(n+1)}function ae(e){let n=pt(e),t=se.indexOf(n);return t===-1?se.length:t}function ct(e,n){return ae(e)-ae(n)}var lt=new Set(["claude","copilot","codex","grok","opencode"]);function ut(e){if(!e)return "";if(e.startsWith("acp/")){let n=e.slice(4);if(lt.has(n))return `cli/${n}`}return e}function B(e){return {mode:e.mode,effort:e.effort}}function ft(e){let n=re.providers[e];if(!n)return;let t=e.startsWith("cli/")?e.slice(4):e,r=L[t]?.models.find(a=>a.recommended===true&&a.tier==="balanced")?.id??n.model,o={query:B(n.query),execute:B(n.execute)},i={query:B(n.query),execute:B(n.execute)};return {planner:{model:n.model,...o},worker:{model:r,...i}}}var Fe=["urgent","high","medium","low"],Ve=["investigating","in-progress","in-review","on-hold","done"],S="custom:";var gt=new Set(Fe),mt=new Set(Ve),yt={urgent:"U \uAE34\uAE09 Urgent",high:"P0 \uAE09\uD568 High",medium:"P1 \uC911\uC694 Medium",low:"P2 \uBCF4\uD1B5 Low"},de={investigating:"\uC870\uC0AC\uC911 Looking into","in-progress":"\uC9C4\uD589\uC911 In progress","in-review":"\uAC80\uD1A0\uC911 In review","on-hold":"\uBCF4\uB958 On hold",done:"\uC644\uB8CC Done"};function Je(e,n){return !n||n.includes(e)?n??e:`${e} ${n}`}function pe(e){return typeof e=="string"&&gt.has(e)}function ce(e){if(typeof e!="string")return false;if(mt.has(e))return true;if(e.startsWith("c_"))return e.length>2;if(!e.startsWith(S))return false;let n=e.slice(S.length);return n.length>=1&&n.length<=20}function ze(e){if(e.startsWith(S))return e.slice(S.length)}function le(e){if(!e)return null;try{let n=JSON.parse(e);return !n||typeof n!="object"||Array.isArray(n)?null:n}catch{return null}}function At(e){let n=le(e);return !!n&&Object.prototype.hasOwnProperty.call(n,"threadTitle")}function qe(e){let n=le(e);if(!n)return {};let t=n.threadTitle;if(!t||typeof t!="object"||Array.isArray(t))return {};let r=t,o={};return pe(r.priority)&&(o.priority=r.priority),ce(r.state)&&(o.state=r.state),o}function ht(e,n){let t=le(e)??{},r={...qe(e)};return n.priority===null?delete r.priority:n.priority!==void 0&&(r.priority=n.priority),n.state===null?delete r.state:n.state!==void 0&&(r.state=n.state),r.priority===void 0&&r.state===void 0?delete t.threadTitle:t.threadTitle=r,Object.keys(t).length===0?null:JSON.stringify(t)}function _t(e,n=new Map){let t=[];return e.priority&&t.push(Je(yt[e.priority],n.get(e.priority))),e.state&&(e.state.startsWith(S)?t.push(ze(e.state)??""):de[e.state]?t.push(Je(de[e.state],n.get(e.state))):n.has(e.state)?t.push(e.state,n.get(e.state)??""):e.state.startsWith("c_")?t.push(e.state):t.push(de[e.state]??"")),t.filter(Boolean).join(" ")}function We(e,n){if(!e||e.trim().length===0)return;let t=new Set,r=false,o=false;for(let i of e.split(",")){let a=i.trim();if(a){if(a==="none"){r=true,o=true;continue}n(a)&&(t.add(a),o=true);}}if(o)return {values:t,includeNone:r}}function Tt(e){return We(e,pe)}function Et(e){return We(e,ce)}function It(e,n){return n?e?n.values.has(e):n.includeNone:true}var xt=["crewx_app_terminal_connect","crewx_app_html_viewer_open"];var ue=["text/plain","application/json"];var Pt=["__proto__","prototype","constructor","proof","token","secret","password","cookie","authorization","private_key","private-key","stack","exception","plugin_text","url","uri","endpoint","path","filename","filepath","cwd","shell","directory","dir","folder"];new Set(Pt);var $e=/^[A-Za-z][A-Za-z0-9._-]{0,127}$/;var Ct=/^uic_[A-Za-z0-9_-]+$/,Ot=/^[0-9a-f]{64}$/,h="MCP App content declarations are invalid";function k(e){return typeof e=="string"&&ue.includes(e)}function H(e){return typeof e=="string"&&e.length<=128&&Ct.test(e)}function bt(e,n){try{let t=n,r=w(t,"actions");if(!Ye(r))throw new Error(h);let o=[];for(let a of Object.keys(r)){let s=w(r,a);if(s===null||typeof s!="object"||Array.isArray(s))throw new Error(h);let p=Object.getOwnPropertyDescriptor(s,"content");if(p===void 0)continue;if(!Object.hasOwn(p,"value"))throw new Error(h);let l=Mt(p.value);o.push({actionId:a,...l});}if(o.length===0)return;o.sort((a,s)=>a.actionId<s.actionId?-1:a.actionId>s.actionId?1:0);let i={schemaVersion:1,instanceId:e,definition:{id:w(t,"id"),version:w(t,"version"),hash:w(t,"hash")},actions:o};if(!fe(i))throw new Error(h);for(let a of o)a.in!==void 0&&Object.freeze(a.in),a.out!==void 0&&Object.freeze(a.out),Object.freeze(a);return Object.freeze(o),Object.freeze(i.definition),Object.freeze(i)}catch{throw new Error(h)}}function fe(e){try{if(!j(e,["schemaVersion","instanceId","definition","actions"]))return !1;let n=e;if(n.schemaVersion!==1||!H(n.instanceId)||!kt(n.definition))return !1;let t=n.actions;if(!Lt(t)||t.length===0)return !1;let r;for(let o=0;o<t.length;o+=1){let i=t[o];if(!vt(i)||r!==void 0&&!(r<i.actionId))return !1;r=i.actionId;}return !0}catch{return false}}function Rt(e,n,t){return fe(e)?e.instanceId===n&&e.definition.id===t.id&&e.definition.version===t.version&&e.definition.hash===t.hash:false}function Mt(e){if(!v(e,["in","out"]))throw new Error(h);let n=e,t=Object.hasOwn(n,"in"),r=Object.hasOwn(n,"out");if(!t&&!r)throw new Error(h);return {...t?{in:St(n.in)}:{},...r?{out:wt(n.out)}:{}}}function St(e){if(!v(e,["mediaType","required"],["mediaType"]))throw new Error(h);let n=e,t=n.mediaType,r=Object.hasOwn(n,"required")?n.required:false;if(!k(t)||typeof r!="boolean")throw new Error(h);return {mediaType:t,required:r}}function wt(e){if(!v(e,["mediaType","range"],["mediaType"]))throw new Error(h);let n=e,t=n.mediaType,r=Object.hasOwn(n,"range")?n.range:false;if(!k(t)||typeof r!="boolean")throw new Error(h);return {mediaType:t,range:r}}function kt(e){if(!j(e,["id","version","hash"]))return false;let n=e;return Xe(n.id)&&Ut(n.version)&&typeof n.hash=="string"&&Ot.test(n.hash)}function vt(e){if(!v(e,["actionId","in","out"],["actionId"]))return false;let n=e,t=n.actionId,r=Object.hasOwn(n,"in"),o=Object.hasOwn(n,"out");return !(typeof t!="string"||!Xe(t)||!r&&!o||r&&!Dt(n.in)||o&&!Nt(n.out))}function Dt(e){if(!j(e,["mediaType","required"]))return false;let n=e;return k(n.mediaType)&&typeof n.required=="boolean"}function Nt(e){if(!j(e,["mediaType","range"]))return false;let n=e;return k(n.mediaType)&&typeof n.range=="boolean"}function Xe(e){return typeof e=="string"&&$e.test(e)}function Ut(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function Lt(e){if(!Array.isArray(e))return false;let n=Reflect.ownKeys(e);if(n.length!==e.length+1||n[e.length]!=="length")return false;for(let t=0;t<e.length;t+=1){if(n[t]!==String(t))return false;let r=Object.getOwnPropertyDescriptor(e,String(t));if(r===void 0||!Object.hasOwn(r,"value"))return false}return true}function j(e,n){return v(e,n,n)}function v(e,n,t=[]){if(!Ye(e))return false;let r=Reflect.ownKeys(e);if(r.length>n.length||r.length<t.length)return false;for(let o of r){if(typeof o!="string"||!n.includes(o))return false;let i=Object.getOwnPropertyDescriptor(e,o);if(i===void 0||!Object.hasOwn(i,"value"))return false}return t.every(o=>Object.hasOwn(e,o))}function Ye(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function w(e,n){if(e===null||typeof e!="object")return;let t=Object.getOwnPropertyDescriptor(e,n);return t!==void 0&&Object.hasOwn(t,"value")?t.value:void 0}var Ke=[5,15,30,60],ge=Object.freeze({min:15e3,max:6e5,default:3e5}),Bt=1;var Ht="exit 78",Ze=["standby","disabled","draining","degraded"],jt=["cron","cron_manual","app_enable"],Gt=/^[A-Z][A-Z0-9_]{0,63}$/u;function Jt(e){return typeof e=="string"&&Gt.test(e)}function Ft(e){return Ke.includes(e)}function Vt(e){return Number.isSafeInteger(e)&&e>=ge.min&&e<=ge.max}function zt(e){return Ze.includes(e)}var me=Object.freeze({min:6e4,max:18e5,default:6e5}),qt=1,Qe="crewx/appJobs",en=1,ye=["starting","running","stopping","finished"],Ae=["succeeded","failed","timed_out","cancelled","shutdown","interrupted"],he=["cancelled","timed_out","shutdown"],_e=["manual","schedule"],Wt=/^[a-z][a-z0-9_]{0,63}$/u,$t=/^[A-Z][A-Z0-9_]{0,63}$/u,nn=["start","status","cancel"],tn=["APP_JOB_NOT_DECLARED","APP_JOB_NOT_AUTHORIZED","APP_JOB_SELF_START","APP_JOB_OWNER_INVALID","APP_JOB_DEFINITION_INVALID","APP_JOB_DEFINITION_CHANGED","APP_JOB_DEADLINE_INVALID","APP_JOB_SHUTTING_DOWN","APP_JOB_OWNER_MISMATCH","APP_JOB_STALE_HANDLE","APP_JOB_NOT_ACTIVE","APP_JOB_NOT_GRANTED"],Xt="APP_JOB_RUN_REQUIRED";function Yt(e){return Number.isSafeInteger(e)&&e>=me.min&&e<=me.max}function Te(e){return typeof e=="string"&&$t.test(e)}function Ee(e){return typeof e=="string"&&Wt.test(e)}function rn(e){return nn.includes(e)}function Kt(e){return e?.some(({name:n,version:t})=>n===Qe&&t===en)===true}var Zt="CREWX_APP_JOB_CHANNEL",Qt=1,er=4096,nr=1e4,tr=5e3;var rr=/^[A-Za-z0-9._:-]{1,128}$/u,or=64,ir=2147483647;function sr(e){return e==="schedule"?"schedule":"manual"}function ar(e){return dr(e)}function dr(e){let n=dn(e)?e:void 0;if(n===void 0||!an(n,["handle","state","stopReason","trigger","outcome","phase","completed","total","resumable","lastHeartbeatAt","startedAt","finishedAt","errorCode","recoverable"],[]))return;let t=pr(n.handle),r=n.stopReason,o=n.outcome,i=n.phase,a=n.errorCode,s=n.recoverable;if(!(t===void 0||!ye.includes(n.state)||!(r===null||he.includes(r))||r!==null&&n.state!=="stopping"||!_e.includes(n.trigger)||!(o===null||Ae.includes(o))||!(i===null||Ee(i))||!(n.completed===null||on(n.completed))||!(n.total===null||on(n.total))||typeof n.resumable!="boolean"||!sn(n.lastHeartbeatAt)||!pn(n.startedAt)||!sn(n.finishedAt)||!(a===null||Te(a))||!(s===null||typeof s=="boolean")))return {handle:t,state:n.state,stopReason:r,trigger:n.trigger,outcome:o,phase:i,completed:n.completed,total:n.total,resumable:n.resumable,lastHeartbeatAt:n.lastHeartbeatAt,startedAt:n.startedAt,finishedAt:n.finishedAt,errorCode:a,recoverable:s}}function pr(e){if(!(!dn(e)||!an(e,["runId","generation"],[]))&&!(typeof e.runId!="string"||!rr.test(e.runId)||!cr(e.generation)))return {runId:e.runId,generation:e.generation}}function an(e,n,t){let r=new Set([...n,...t]);return Object.keys(e).every(o=>r.has(o))&&n.every(o=>Object.hasOwn(e,o))}function dn(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function cr(e){return Number.isSafeInteger(e)&&e>=1&&e<=ir}function on(e){return Number.isSafeInteger(e)&&e>=0}function pn(e){return typeof e=="string"&&e.length>0&&e.length<=or}function sn(e){return e===null||pn(e)}var lr="crewx/openApp",xe=1,ur="ui/crewx-open-app",fr="ui/crewx-open-app-status",ln=32768,un=8,Pe=["opened","completed","pending"],Ce=["UI_APP_OPEN_INVALID","UI_APP_OPEN_UNAVAILABLE","UI_APP_OPEN_GESTURE_REQUIRED","UI_APP_OPEN_STALE","UI_APP_OPEN_BUSY","UI_APP_OPEN_REJECTED","UI_APP_OPEN_FAILED","UI_APP_OPEN_REQUEST_ID_CONFLICT"],Oe=["RECEIPT_FAILED","RECEIPT_REJECTED","RECEIPT_CONFLICTED","RECEIPT_EXPIRED","LEDGER_MISSING","LEDGER_EXPIRED"],J=class extends Error{constructor(t,r){super(t);this.errorCode=t;this.causeCode=r;}errorCode;causeCode;name="CrewxOpenAppError"},gr=/^[A-Za-z0-9-]{8,64}$/,mr=/^[A-Za-z0-9_-]{1,128}$/,F=/^[A-Za-z][A-Za-z0-9._-]{0,127}$/,yr=new TextEncoder,cn=/\p{Surrogate}/u,Ar=new Set(["__proto__","constructor","prototype"]);function u(){throw new J("UI_APP_OPEN_INVALID")}function D(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function z(e){if(e===null||typeof e!="object"||Array.isArray(e))return false;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function E(e,n,t=[]){z(e)||u();let r=new Set([...n,...t]);for(let o of Object.keys(e))r.has(o)||u();for(let o of n)D(e,o)||u();return e}function V(e,n){return (typeof e!="string"||!n.test(e))&&u(),e}function q(e){return (typeof e!="string"||!gr.test(e))&&u(),e}function b(e){(typeof e!="string"||!mr.test(e))&&u();let n=e.indexOf("_");return (n<0||n===e.length-1)&&u(),q(e.slice(0,n)),e}function fn(e){return b(e).slice(0,e.indexOf("_"))}function gn(e){return H(e)||u(),e}function O(e,n){let t=n.find(r=>r===e);return t===void 0&&u(),t}function Ie(e,n){if(e===null)return "null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return Number.isFinite(e)||u(),JSON.stringify(e);if(typeof e=="string")return cn.test(e)&&u(),JSON.stringify(e);if(n>un&&u(),Array.isArray(e)){let o=[];for(let i=0;i<e.length;i+=1)D(e,String(i))||u(),o.push(Ie(e[i],n+1));return `[${o.join(",")}]`}z(e)||u();let t=e;return `{${Object.keys(t).sort().map(o=>((Ar.has(o)||cn.test(o))&&u(),`${JSON.stringify(o)}:${Ie(t[o],n+1)}`)).join(",")}}`}function hr(e){let n=E(e,["requestId","appId"],["action"]),t=b(n.requestId),r=V(n.appId,F);if(!D(n,"action"))return {requestId:t,appId:r};let o=E(n.action,["actionId","input"]),i=o.input;return z(i)||u(),{requestId:t,appId:r,action:{actionId:V(o.actionId,F),input:i}}}function mn(e){return {version:xe,sessionId:q(e)}}function _r(e){let n=E(e,["version","sessionId"]);return n.version!==xe&&u(),mn(q(n.sessionId))}function Tr(e,n){return typeof n!="string"&&u(),b(`${q(e)}_${n}`)}function yn(e){let n=Ie(hr(e),1);return yr.encode(n).byteLength>ln&&u(),n}function Er(e){return JSON.parse(yn(e))}function Ir(e){let n=E(e,["requestId"]);return {requestId:b(n.requestId)}}function An(e){return {status:O(e.status,Pe),appId:V(e.appId,F),instanceId:gn(e.instanceId),requestId:b(e.requestId)}}function hn(e,n){let t=O(e,Ce);return n===void 0?{isError:true,_meta:{errorCode:t}}:{isError:true,_meta:{errorCode:t,causeCode:O(n,Oe)}}}function xr(e){if(z(e)||u(),D(e,"isError")){let t=E(e,["isError","_meta"]);t.isError!==true&&u();let r=E(t._meta,["errorCode"],["causeCode"]);return hn(O(r.errorCode,Ce),D(r,"causeCode")?O(r.causeCode,Oe):void 0)}let n=E(e,["status","appId","instanceId","requestId"]);return An({status:O(n.status,Pe),appId:V(n.appId,F),instanceId:gn(n.instanceId),requestId:b(n.requestId)})}function G(e,n){return {state:"failed",errorCode:e,causeCode:n}}function Pr(e){if(e.kind==="pending"||e.status==="requested")return {state:"pending"};if(e.outcome==="succeeded")return {state:"completed"};switch(e.outcome){case "rejected":return G("UI_APP_OPEN_REJECTED","RECEIPT_REJECTED");case "conflicted":return G("UI_APP_OPEN_STALE","RECEIPT_CONFLICTED");case "expired":return G("UI_APP_OPEN_STALE","RECEIPT_EXPIRED");default:return G("UI_APP_OPEN_FAILED","RECEIPT_FAILED")}}function be(e,n){return e.workspaceId===n.workspaceId&&e.threadId===n.threadId&&e.instanceId===n.instanceId&&e.definition.id===n.definition.id&&e.definition.version===n.definition.version&&e.definition.hash===n.definition.hash&&e.entryHash===n.entryHash}function Cr(e){if(fn(e.requestId)!==e.activeSessionId)return "stale";let{lookup:n}=e;return n.kind==="absent"?n.capacity==="full"?"busy":"new":be(n.record.source,e.source)&&n.record.payloadDigest===e.payloadDigest?"known":"conflict"}function Or(e){return fn(e.requestId)!==e.activeSessionId||e.lookup.kind!=="present"?"stale":be(e.lookup.record.source,e.source)?"known":"stale"}export{Le as ANTIGRAVITY_MODEL_COMPATIBILITY,tr as APP_JOB_BRIDGE_DRAIN_TIMEOUT_MS,Zt as APP_JOB_BRIDGE_ENV,er as APP_JOB_BRIDGE_MAX_LINE_BYTES,nr as APP_JOB_BRIDGE_REPLY_TIMEOUT_MS,Qt as APP_JOB_BRIDGE_VERSION,Qe as APP_JOB_CAPABILITY,en as APP_JOB_CAPABILITY_VERSION,me as APP_JOB_DEADLINE_MS,qt as APP_JOB_MAX_PER_APP,nn as APP_JOB_OPERATIONS,Ae as APP_JOB_OUTCOMES,tn as APP_JOB_REFUSAL_CODES,Xt as APP_JOB_RUN_REQUIRED,ye as APP_JOB_STATES,he as APP_JOB_STOP_REASONS,_e as APP_JOB_TRIGGERS,Ht as APP_SCHEDULE_INERT_COMMAND,Ke as APP_SCHEDULE_INTERVALS_MINUTES,Bt as APP_SCHEDULE_MAX_PER_APP,Ze as APP_SCHEDULE_PERIODIC_REASONS,ge as APP_SCHEDULE_TIMEOUT_MS,Ve as BUILTIN_THREAD_STATES,ie as BrowserFsAdapter,Ne as CLAUDE_MODEL_COMPATIBILITY_PAIRS,Vn as CLAUDE_OPUS_4_8_BASE_MODEL_ID,zn as CLAUDE_OPUS_4_8_LEGACY_MODEL_ID,lr as CREWX_OPEN_APP_CAPABILITY,xe as CREWX_OPEN_APP_CAPABILITY_VERSION,un as CREWX_OPEN_APP_MAX_JSON_DEPTH,ln as CREWX_OPEN_APP_MAX_PARAMS_BYTES,ur as CREWX_OPEN_APP_METHOD,fr as CREWX_OPEN_APP_STATUS_METHOD,Pe as CREWX_OPEN_APP_SUCCESS_STATUSES,C as ConfigLoadError,K as Crewx,J as CrewxOpenAppError,jn as EFFORT_LEVELS,xt as MCP_APP_HOST_TOOL_ALLOWLIST,Gn as PROVIDER_ARGV_EFFORTS,se as PROVIDER_ORDER,m as ProviderError,jt as SCHEDULE_TRIGGERS,Fe as THREAD_PRIORITIES,Oe as UI_APP_OPEN_CAUSE_CODES,Ce as UI_APP_OPEN_ERROR_CODES,ue as UI_CONTENT_MEDIA_TYPES,sr as appJobTriggerForActor,bt as buildMcpAppContentActions,yn as canonicalCrewxOpenAppPayload,Sn as classifyTaskError,ct as compareProviders,Rt as contentActionsMatch,mn as createCrewxOpenAppCapabilityDeclaration,hn as createCrewxOpenAppErrorResult,Tr as createCrewxOpenAppRequestId,An as createCrewxOpenAppSuccessResult,N as createProvider,ze as customStateLabel,Cr as decideCrewxOpenAppOpen,Or as decideCrewxOpenAppStatus,ft as getDefaultAgentProfile,Kt as hasAppJobCapability,At as hasThreadTitleKey,Te as isAppJobCode,Yt as isAppJobDeadlineMs,rn as isAppJobOperation,Ee as isAppJobPhase,Jt as isAppScheduleCode,Ft as isAppScheduleIntervalMinutes,zt as isAppSchedulePeriodicReason,Vt as isAppScheduleTimeoutMs,fe as isMcpAppContentActions,be as isSameCrewxOpenAppSourceBinding,pe as isThreadPriority,ce as isThreadState,k as isUiContentMediaType,H as isValidUiAppInstanceId,It as matchesThreadTitleFilter,ht as mergeThreadTitleMeta,at as normalizeClaudeMode,ut as normalizeProviderId,ar as parseAppJobView,_r as parseCrewxOpenAppCapabilityDeclaration,Er as parseCrewxOpenAppRequest,xr as parseCrewxOpenAppResult,Ir as parseCrewxOpenAppStatusRequest,Tt as parseThreadPriorityFilter,Et as parseThreadStateFilter,ot as parseYamlContent,ae as providerRank,qe as readThreadTitleMeta,Z as redactTechnicalMessage,Y as registerProviderFactory,Be as resolveAntigravityModel,Ue as resolveCatalogModelId,Pr as resolveCrewxOpenAppActionOutcome,oe as resolveProviderCatalogModel,_t as threadTitleSearchHaystack};
package/dist/index.d.ts CHANGED
@@ -1,57 +1,155 @@
1
- export { Crewx } from './facade/Crewx';
1
+ export { Crewx, loadAgentSkills } from './facade/Crewx';
2
2
  export type { ToolDefinition } from './facade/Crewx';
3
+ export { resolveTaskTicketEnv } from './facade/task-ticket.js';
4
+ export type { TaskTicketGrant, TaskTicketIssuer, TaskTicketRequest } from './facade/task-ticket.js';
5
+ export { getVerifiedProductAppBundleExecutable } from './mcp-app/bundle-provenance.js';
6
+ export { isVerifiedProductAppBundleProvenance } from './mcp-app/bundle-provenance.js';
7
+ export { projectAppManifestFiles, projectAppManifestReason } from './mcp-app/diagnostic-reason.js';
8
+ export { discover as discoverSkills, findEntrypoint, resolve as resolveSkill, } from './skills/index.js';
9
+ export type { SkillDefinition, SkillFrontmatter, SkillFrontmatterReadResult } from './skills/index.js';
10
+ export type { ActionReceipt, ActionReceiptResultSummary, ActionExecutionReceipt, ActionReceiptOutcome, CreateUiInstanceInput, JsonObject, JsonPrimitive, JsonValue, UiActionHandlerContext, UiActionHandlerRegistration, UiActionHandlerResult, UiActionEnvelope, UiActionConfirmation, UiActor, UiDefinition, UiDefinitionAction, UiDefinitionDisplayMode, UiDefinitionInput, UiDefinitionLegacyMetadata, UiDefinitionLegacyTool, UiDefinitionLegacyReadTool, UiDefinitionLegacyToolVisibility, UiDefinitionRef, UiDefinitionUsage, UiProjectionPolicy, UiExecutionContext, UiAuthenticatedActor, UiTaskActorSnapshot, UiAuthenticatedExecutionContext, UiApprovalRequestContext, UiApprovalDecisionProvenance, UiApprovalPendingReceipt, UiApprovalRequestReceiptResult, UiAuthenticatedGrantPolicy, UiServerRuntimeFacade, UiServerRuntimeOptions, UiAgentContextProjection, UiExternalActionHandlerRegistration, UiAgentOpenReason, UiAgentOpenRequest, UiInstance, UiInstanceStatus, UiLocalGrantPolicy, UiRuntimeFacade, UiRuntimeOptions, UiStateActionHandlerRegistration, UiSkillBackendEnvironmentKey, } from './ui-instance/types.js';
11
+ export { isUiAuthenticatedActor } from './ui-instance/types.js';
12
+ export type { UiRuntimeStoreOptions } from './ui-instance/runtime.js';
13
+ export { UI_ACTION_INPUT_MAX_BYTES } from './ui-instance/runtime.js';
14
+ export { UiInstanceStore, WORKSPACE_REPIN_ENV, isWorkspaceRepinEnabled, openUiInstanceReadStore, UiRuntimeError, hashUiDefinition, hasUiDefinitionLineageBreak, projectSafeJsonObject, redactJsonPaths, selectUiDefinitionLineageEntry, UiDefinitionLineageError, uiDefinitionStaticCompatibilityViolations, validateUiDefinitionLineage, createUiServerRuntime, resolveUiEffectiveCapabilities, } from './ui-instance/index.js';
15
+ export type { UiAuditSnapshotInput, UiDefinitionLineageEntry, UiDefinitionLineageFailureCode, ValidatedUiDefinitionLineage, UiInstanceReadStore, UiInstanceRepinInput, UiInstanceRepinLedgerEntry, UiInstanceRepinResult, UiInstanceRepinWorkspaceGenerationInput, UiInstanceRepinWorkspaceInput, ReservationInput, } from './ui-instance/index.js';
16
+ export type { UiRuntimeErrorCode } from './ui-instance/index.js';
17
+ export { findProjectionViolations } from './ui-instance/json.js';
18
+ export type { FindProjectionViolationsOptions, ProjectionRule, ProjectionViolation, } from './ui-instance/json.js';
19
+ export { MAX_HTML_LENGTH, MCP_APP_HOST_TOOL_ALLOWLIST, MCP_CORE_TOOL_NAMES, MCP_APP_LOCAL_RESOURCE_MIME_TYPE, MCP_APP_RESOURCE_MIME_TYPE, MCP_APP_RESOURCE_URI_PREFIX, McpAppContractError, resolveAgentAccess, listMcpAppAgentActions, MCP_APP_CARD_HANDLERS, isMcpAppCardHandler, isMcpAppCardAction, MCP_APP_PROJECTION_MAX_BYTES, MCP_APP_MODEL_CONTEXT_MAX_ARRAY_LENGTH, MCP_APP_MODEL_CONTEXT_MAX_BYTES, MCP_APP_MODEL_CONTEXT_MAX_DEPTH, MCP_APP_MODEL_CONTEXT_MAX_STRING_LENGTH, buildMcpAppStateDescriptor, buildMcpAppStateProjections, projectMcpAppSummaryState, attachAvailableApps, buildMcpAppsContext, createBuiltinMcpAppRegistry, buildMcpAppLocalRegistration, buildMcpAppBundleRegistrationInput, buildMcpAppBundleAgentActionDescriptors, planProductBundleLegacyToolNames, productAppBundleReservations, createMcpAppLocalRegistration, registerLocalMcpApp, createMcpAppWorkspaceRegistry, createWorkspaceAppRegistry, createWorkspaceMcpAppRegistry, buildInstalledAppRef, createMcpAppRegistry, createMcpAppToolResult, makeUiUri, resolveMcpAppFixedResultCall, INSTALLED_APP_ENTRY, InstalledAppRefError, registerMcpApp, requireMcpAppResource, resolveLocalMcpAppResource, resolveMcpAppResource, serializeMcpAppStateJson, serializeMcpAppStateXml, sanitizeMcpAppModelContext, serializeMcpAppModelContextXml, toMcpAppToolRegistration, validateInstalledAppRef, AppDiscoveryFsError, NodeAppDiscoveryFs, NodeAppDiscoveryFsAdapter, defaultAppDiscoveryFs, defaultNodeAppDiscoveryFs, deriveWorkspaceAppToolName, deriveWorkspaceAppToolNames, createWorkspaceAppScanCache, discoverWorkspaceAppCandidates, discoverWorkspaceApps, loadProductAppBundleAssets, createWorkspaceAppCatalog, discoverWorkspaceAppCatalog, hashAppDefinition, hashCrewxAppDefinition, listWorkspaceApps, buildWorkspaceAppSnapshot, discoverWorkspaceAppSnapshot, reconfirmWorkspaceAppSnapshot, LOCAL_APP_TOOL_PREFIX, MCP_APP_WORKSPACE_TOOL_PREFIX, scanWorkspaceApps, WORKSPACE_APP_TOOL_PREFIX, SKILL_BACKEND_DEFAULT_TIMEOUT_MS, SKILL_BACKEND_INHERITED_ENV_ALLOWLIST, SKILL_BACKEND_MAX_INPUT_BYTES, SKILL_BACKEND_MAX_OUTPUT_BYTES, SKILL_BACKEND_CONTENT_SCHEMA_VERSION, SKILL_BACKEND_SCHEMA_VERSION, buildSkillBackendHandler, buildSkillBackendChildEnvironment, buildVerifiedBundleSkillBackendHandler, buildMcpAppContentActions, contentActionsMatch, UI_CONTENT_ERROR_CODES, UI_CONTENT_MAX_BYTES, UI_CONTENT_MAX_LINES, UI_CONTENT_MAX_MEMORY_BYTES, UI_CONTENT_MEDIA_TYPES, UI_CONTENT_OUTPUT_TTL_MS, UI_CONTENT_TICKET_TTL_MS, UiContentChannelError, contentBindingMatches, countContentLines, decodeContentUtf8, isUiContentDeclaration, isUiContentMediaType, isMcpAppContentActions, isUiContentRangeRequest, isValidUiAppInstanceId, isValidUiThreadIdentity, sha256Content, validateContentBytes, validateContentFrame, externalResourceCheckItems, appIconCheckItems, readWorkspaceAppIconFile, inspectSkillBackendOutput, scanExternalResources, } from './mcp-app/index.js';
20
+ export type { WorkspaceAppIconBytes, AppDevCheckItem, ExternalResourceFinding, ExternalResourceKind, InspectSkillBackendOutputOptions, ScanExternalResourcesOptions, AppDiscoveryBytes, AppDiscoveryDiagnostic, AppDiscoveryDirectoryEntry, AppDiscoveryDirectoryEntryKind, AppDiscoveryDirectoryListing, AppDiscoveryFileSystem, AppDiscoveryFileFingerprint, AppDiscoveryFsErrorCode, AppDiscoveryMaybePromise, AppDiscoveryRootIdentity, AppDiscoveryOptions, McpAppDiscoveryDiagnostic, WorkspaceAppBuiltinCatalog, WorkspaceAppCandidate, WorkspaceAppDiscoveryIncompleteReason, WorkspaceAppDiscoveryOptions, WorkspaceAppDiscoveryResult, WorkspaceAppDiscoverySource, WorkspaceAppDiagnostic, WorkspaceAppDiagnosticCode, WorkspaceAppResourceSnapshot, WorkspaceAppScanCache, WorkspaceAppReservedCatalog, WorkspaceAppSource, WorkspaceAppToolNames, ProductAppBundleDefinitionIdentity, ProductAppBundleFileHash, ProductAppBundleIndex, ProductAppBundleInput, ProductAppBundlePackageIndex, ProductAppBundleReservations, ProductAppBundleProvenance, ProductAppBundleSnapshotMetadata, ProductAppBundleAsset, ProductAppBundleAssetCatalog, ProductAppBundleAssetLoadOptions, WorkspaceAppAsset, WorkspaceAppAssetCatalog, WorkspaceAppAssetDescriptorV1, WorkspaceAppAssetLocator, CrewxAppBuiltinCatalog, CrewxAppCapability, CrewxAppCatalogOptions, CrewxAppCatalogResult, CrewxAppDefinitionHashInput, CrewxAppDefinitionSummary, CrewxAppDiagnostic, CrewxAppDiagnosticCode, CrewxAppDiagnosticSource, CrewxAppInstalledProjection, CrewxAppLocalDefinitionRef, CrewxAppOrigin, CrewxAppOwnership, CrewxAppShareability, CrewxAppSharingAvailability, CrewxAppSummary, McpAppActionDispatcherToolInput, McpAppActionToolDescriptor, McpAppActionToolInput, McpAppButtonDescriptor, McpAppButtonInput, McpAppContractErrorCode, McpAppDescriptor, McpAppDescriptorInput, McpAppInputSchema, McpAppTone, McpUiResourceCsp, McpAppRegistry, McpAppResource, McpAppServerStateInput, McpAppStateDescriptor, McpAppStateProjections, McpAppLayoutSnapshot, McpAppPromptResult, McpAppPromptStatus, McpAppWindowState, McpAppStateView, McpAppsContext, McpAppsContextOptions, McpAppModelContext, McpAppModelContextInput, McpAppHostToolInput, McpAppHostToolName, McpCoreToolName, McpAppReadToolInput, McpAppSingleActionToolInput, McpAppToolCommonInput, McpAppToolDescriptor, McpAppFixedResult, McpAppFixedResultCall, McpAppFixedResultInvalidParams, McpAppFixedResultResolution, McpAppFixedResultUnavailable, McpAppToolInput, McpAppToolMetadata, McpAppToolRegistration, McpAppToolResult, McpAppToolVisibility, McpAppInstanceResourceBinding, McpAppMcpResourceBinding, McpAppResourceBinding, McpAppLocalResource, McpAppLocalRegistrationInput, McpAppLocalReadToolDescriptor, McpAppLocalActionToolDescriptor, McpAppLocalSingleActionToolDescriptor, McpAppLocalHostToolDescriptor, McpAppLocalToolDiagnostic, McpAppAgentAccess, McpAppAgentAccessAction, McpAppVerifiedBundleAccessContext, McpAppCardHandler, McpAppLocalToolDescriptor, McpAppLocalRegistration, McpAppBuiltinRegistration, McpAppResolvedRegistration, McpAppLocalLauncher, McpAppBuiltinLauncher, McpAppLauncher, WorkspaceAppLauncher, WorkspaceAppResolvedRegistration, McpAppWorkspaceRegistry, WorkspaceAppRegistry, McpAppWorkspaceRegistryInput, WorkspaceAppSnapshot, WorkspaceAppSnapshotBuildOptions, WorkspaceAppSnapshotOptions, WorkspaceAppSnapshotReconfirmResult, WorkspaceAppSnapshotResource, WorkspaceAppSnapshotInitialState, WorkspaceAppInitialState, BuildInstalledAppRefInput, InstalledAppPackageFile, InstalledAppRef, InstalledAppRefErrorCode, SkillBackendExecutionPort, SkillBackendExecutionRequest, SkillBackendExecutionResponse, SkillBackendHandlerBuildInput, SkillBackendInfrastructureErrorCode, SkillBackendPayload, SkillBackendChildEnvironment, VerifiedBundleSkillBackendBuildInput, VerifiedBundleSkillRunnerPort, VerifiedBundleSkillSpawnRequest, McpAppRegistryOptions, McpAppBundleHostToolTemplate, McpAppBundleAgentActionDescriptor, SkillBackendPayloadV1, SkillBackendPayloadV2, SkillBackendContentInputHeader, SkillBackendContentOutputHeader, ContentFrame, McpAppContentActionDeclaration, McpAppContentActions, UiActionContentDeclaration, UiContentBinding, UiContentChannelPort, UiContentErrorCode, UiContentInputDeclaration, UiContentInputTicket, UiContentMediaType, UiContentOutputDeclaration, UiContentRange, UiContentRangeRequest, ValidateContentFrameOptions, } from './mcp-app/index.js';
21
+ export { APP_MANIFEST_FILE, APP_MANIFEST_FILES, APP_TOOLS_FILE, APP_MANIFEST_PASSTHROUGH_KEYS, APP_MANIFEST_REQUIRED_KEYS, CREWX_META_NAMESPACE, CREWX_META_OPTIONAL_KEYS, CREWX_META_REQUIRED_KEYS, LEGACY_APP_MANIFEST_FILE, MCPB_MANIFEST_KEYS, MCPB_MANIFEST_VERSION, appManifestDefinitionHash, canonicalManifestJson, isAppSemver, manifestHash, normalizeManifest, resolveAppManifest, UiPluginValidationError, validateInitialState, validateManifest, validatePayload, } from './ui-plugin/index.js';
22
+ export type { AppManifestFailure, AppManifestFileBytes, AppManifestFileName, AppManifestFileResult, AppManifestIdentity, AppManifestOptions, AppManifestReason, AppManifestRejection, AppManifestRejectionCode, AppManifestResult, AppManifestSource, AppToolsFileName, } from './ui-plugin/index.js';
23
+ export { APP_ICON_MAX_BYTES, classifyAppIconDeclaration, inspectAppIconBytes, resolveAppIcon, } from './ui-plugin/index.js';
24
+ export type { AppIconContentType, AppIconDiagnostic, AppIconFile, AppIconReason, } from './ui-plugin/index.js';
25
+ export { APP_TOOLS_SCHEMA_VERSION, APP_TOOL_ENTRY } from './app/tool-mode.js';
26
+ export { APP_SCHEDULE_INERT_COMMAND, APP_SCHEDULE_INTERVALS_MINUTES, APP_SCHEDULE_MAX_PER_APP, APP_SCHEDULE_PERIODIC_REASONS, APP_SCHEDULE_TIMEOUT_MS, SCHEDULE_TRIGGERS, isAppSchedulePeriodicReason, isAppScheduleCode, isAppScheduleIntervalMinutes, isAppScheduleTimeoutMs, } from './app/schedule-contract.js';
27
+ export type { AppScheduleDirective, AppScheduleIntervalMinutes, AppSchedulePeriodic, AppSchedulePeriodicReason, AppScheduleRunVerdict, AppScheduleSnapshot, AppScheduleStatus, ScheduleTrigger, ToolScheduleDeclaration, } from './app/schedule-contract.js';
28
+ export { appScheduleCommandLabel, cronExpressionForInterval, decideScheduleDirective, planScheduledFire, resolveDeclaredSchedule, scheduleTemplateFor, toScheduledRunVerdict, toScheduleSnapshot, } from './mcp-app/index.js';
29
+ export type { AppScheduleAvailability, AppScheduleBinding, AppScheduleOwner, AppScheduleOwnerSource, AppScheduleRowView, AppScheduleTemplate, AppScheduledRunPayload, AppScheduledRunPlan, ResolvedAppSchedule, ScheduleLifecycleEntry, ScheduleLifecyclePlan, ScheduledAppLaunchRequest, } from './mcp-app/index.js';
30
+ export { APP_JOB_CAPABILITY, APP_JOB_CAPABILITY_VERSION, APP_JOB_DEADLINE_MS, APP_JOB_MAX_PER_APP, APP_JOB_OPERATIONS, APP_JOB_OUTCOMES, APP_JOB_RUN_REQUIRED, APP_JOB_REFUSAL_CODES, APP_JOB_STATES, APP_JOB_STOP_GRACE_MS, APP_JOB_STOP_REASONS, APP_JOB_TRIGGERS, hasAppJobCapability, isAppJobCode, isAppJobDeadlineMs, isAppJobOperation, isAppJobPhase, } from './app/job-contract.js';
31
+ export type { AppJobCapabilityDeclaration, AppJobOperation, AppJobOutcome, AppJobState, AppJobTrigger, ToolJobDeclaration, } from './app/job-contract.js';
32
+ export { APP_JOB_BRIDGE_CHANNEL_MAX_BYTES, APP_JOB_BRIDGE_DRAIN_TIMEOUT_MS, APP_JOB_BRIDGE_ENV, APP_JOB_BRIDGE_ERROR_CODES, APP_JOB_BRIDGE_FD, APP_JOB_BRIDGE_MAX_LINE_BYTES, APP_JOB_BRIDGE_REPLY_TIMEOUT_MS, APP_JOB_BRIDGE_VERSION, AppJobBridge, AppJobLineReader, appJobTriggerForActor, buildAppJobChannelEnvironment, encodeAppJobLine, openInheritedAppJobTransport, parseAppJobChannel, parseAppJobControlReply, parseAppJobControlRequest, parseAppJobRunPush, parseAppJobRunReport, parseAppJobView, readAppJobChannel, } from './app/index.js';
33
+ export type { AppJobBridgeErrorCode, AppJobBridgeOptions, AppJobChannel, AppJobControlReply, AppJobControlRequest, AppJobLineEvent, AppJobLineTransport, AppJobProgress, AppJobRun, AppJobRunPush, AppJobRunReport, AppJobStartOutcome, AppJobStatusOutcome, AppJobStopOutcome, AppJobs, AppJobTransportOpener, AppJobView, AppJobWireHandle, } from './app/index.js';
34
+ export { AppJobCoordinator, appJobOwnerKey, resolveDeclaredJob, } from './mcp-app/index.js';
35
+ export type { AppJobCancelRefusalCode, AppJobCancelResult, AppJobCoordinatorOptions, AppJobError, AppJobEvent, AppJobExecutionPort, AppJobHandle, AppJobLaunchRequest, AppJobOwner, AppJobRecord, AppJobRefusalCode, AppJobReport, AppJobReportResult, AppJobSnapshot, AppJobStartRequest, AppJobStartResult, AppJobStopReason, ResolvedAppJob, AppJobStartRefusalCode, } from './mcp-app/index.js';
36
+ export { answerAppJobControlLine, answerAppJobRunLine, buildAppJobControlChannel, buildAppJobRunChannel, encodeAppJobStopPush, toAppJobView, } from './mcp-app/index.js';
37
+ export type { AppJobControlAnswer, AppJobControlSession, AppJobRunAnswer, AppJobRunBinding, } from './mcp-app/index.js';
38
+ export { normalizeUiPluginCsp, policyHash } from './ui-plugin/csp.js';
39
+ export type { NormalizedUiPluginCsp, UiPluginCspInput, UiPluginCspNormalizeOptions, UiPluginCspNormalizationErrorCode, UiPluginPolicyHashInput, UiPluginPolicyRuntime, } from './ui-plugin/csp.js';
40
+ export { UI_PLUGIN_CAPABILITY_PATTERN, UI_PLUGIN_HANDLER_PATTERN, UI_PLUGIN_IDENTIFIER_PATTERN, UI_PLUGIN_MAX_CANDIDATE_DEPTH, UI_PLUGIN_MAX_ACTIONS, UI_PLUGIN_MAX_ARRAY_LENGTH, UI_PLUGIN_MAX_COMMAND_LENGTH, UI_PLUGIN_MAX_COMMAND_PARTS, UI_PLUGIN_MAX_DISCOVERED_APPS, UI_PLUGIN_MAX_DISCOVERY_TIME_MS, UI_PLUGIN_MAX_HEIGHT, UI_PLUGIN_MAX_INITIAL_STATE_BYTES, UI_PLUGIN_MAX_JSON_DEPTH, UI_PLUGIN_MAX_MANIFEST_BYTES, UI_PLUGIN_MAX_PROJECTION_PATHS, UI_PLUGIN_MAX_SCHEMA_DEPTH, UI_PLUGIN_MAX_SCHEMA_PROPERTIES, UI_PLUGIN_MAX_STRING_LENGTH, UI_PLUGIN_MAX_SUBTREE_BYTES, UI_PLUGIN_MAX_SURFACES, UI_PLUGIN_RESERVED_STATE_KEYS, UI_PLUGIN_SAFE_PATH_PATTERN, UI_PLUGIN_SAFE_PATH_SEGMENT_PATTERN, UI_PLUGIN_SKILL_TOKEN_PATTERN, UI_PLUGIN_SURFACES, UI_PLUGIN_TONES, isUiPluginReservedStateKey, } from './ui-plugin/index.js';
41
+ export type { UiPluginActivation, UiPluginCardShellNode, UiPluginFieldSchema, UiPluginHeadingNode, UiPluginLabeledTextNode, UiPluginLayoutNode, UiPluginLayout, UiPluginManifest, UiPluginAction, UiPluginBackend, UiPluginCoreBackend, UiPluginInputSchema, UiPluginJsonSchema, UiPluginJsonSchemaType, UiPluginManifestMode, UiPluginManifestV1, UiPluginManifestV2, UiPluginCspRequest, UiPluginRuntimeRequest, UiPluginNormalizedManifestV2, UiPluginNormalizedV2, UiPluginMetaBannerNode, UiPluginPayload, UiPluginPayloadValue, UiPluginPrimitive, UiPluginSchemaType, UiPluginSchema, UiPluginStep, UiPluginStepFlowNode, UiPluginStepListSchema, UiPluginTextListNode, UiPluginTextListSchema, UiPluginTextSchema, UiPluginProjectionPolicy, UiPluginResourceMetadata, UiPluginResourceRef, UiPluginSize, UiPluginSkillBackend, UiPluginSurface, UiPluginTone, UiPluginHandlerMetadata, UiPluginValidationErrorCode, UiPluginValidationOptions, } from './ui-plugin/index.js';
42
+ export { DEFAULT_PUBLISH_MAX_BYTES, DEFAULT_PUBLISH_MAX_FILES, packApp, packPublish, packTemplate, planPublish, PublishError, uploadToMarketplace, } from './publish/index.js';
43
+ export type { BuildAppManifestOptions, BuildManifestOptions, CreateArchiveOptions, ExcludedEntry, ManifestFile, PublishAppManifest, PublishErrorCode, PublishManifest, PublishOptions, PublishPlan, PublishTemplateManifest, PublishUploadOptions, PublishUploadResult, ScanResult, SecretFinding, } from './publish/index.js';
3
44
  export { CrewxPlugin } from './plugin';
4
45
  export { TypedEventEmitter } from './events/TypedEventEmitter';
5
- export type { CrewxEvents, CrewxEventName, CrewxEventPayload, BaseEvent, TaskStartEvent, TaskEndEvent, TaskOutputEvent, AdapterLifecycleEvent, AdapterMessageEvent, UnsubscribeFn, } from './events/types';
46
+ export type { CrewxEvents, CrewxEventName, CrewxEventPayload, BaseEvent, ActorKind, TaskStartEvent, TaskEndEvent, TaskOutputEvent, TaskProviderInputEvent, AdapterLifecycleEvent, AdapterMessageEvent, UnsubscribeFn, } from './events/types';
6
47
  export type { LayoutSpec, RenderAgentPromptOptions, SkillEntry } from './facade/Crewx';
7
48
  export { LayoutLoader } from './layout/loader';
8
49
  export { LayoutRenderer } from './layout/renderer';
9
50
  export type { RenderOptions } from './layout/renderer';
10
51
  export { PropsValidator } from './layout/props-validator';
11
- export type { LayoutDefinition, CustomLayoutDefinition, InlineLayoutSpec, LoaderOptions, RenderContext, PropSchema, ValidationResult, ValidationError, TemplateVars, RawLayoutYaml, } from './layout/types';
52
+ export type { LayoutDefinition, LayoutCapabilities, CustomLayoutDefinition, InlineLayoutSpec, LoaderOptions, RenderContext, PropSchema, ValidationResult, ValidationError, TemplateVars, RawLayoutYaml, } from './layout/types';
12
53
  export { LayoutLoadError, PropsValidationError } from './layout/types';
13
54
  export { TemplateEngine } from './template/engine';
14
55
  export type { ExecPolicy, TemplateContext, TemplateEngineOptions } from './template/types';
56
+ export { PROMPT_TAGS, LEGACY_PROMPT_TAGS } from './prompt/tag-names';
15
57
  export { DocumentLoader } from './template/loader/DocumentLoader';
16
58
  export type { IFsAdapter } from './platform/IFsAdapter';
17
59
  export { NodeFsAdapter, defaultFsAdapter } from './platform/NodeFsAdapter';
18
60
  export { BrowserFsAdapter } from './platform/BrowserFsAdapter';
19
61
  export { truncateHelper, lengthHelper, escapeHandlebarsHelper, formatFileSizeHelper, formatTimestampHelper, } from './template/helpers/p1p2';
20
62
  export { setAuditVerbose } from './template/helpers/exec';
21
- export type { AgentConfig, CrewxProjectConfig, CrewxOptions, QueryOptions, QueryResult, ExecuteOptions, ExecuteResult, TraceContext, YamlHookEntry, GuideRule, } from './types';
22
- export { AgentSkillsSchema } from './types';
63
+ export type { AgentConfig, CrewxProjectConfig, CrewxOptions, QueryOptions, QueryResult, ExecuteOptions, ExecuteResult, ContextMode, CanResumeSessionReason, CanResumeSessionParams, CanResumeSessionResult, TraceContext, TaskActor, YamlHookEntry, GuideRule, WiBoardConfig, ProviderRateLimitObservation, } from './types';
64
+ export { AgentSkillsSchema, WiBoardSchema } from './types';
65
+ export { addAiAccount, applyAiAccountEnv, aiAccountEnvPlan, defaultAiAccountDir, getLoginInvocation, getStatusInvocation, listAiAccounts, loadProviderAccountsRegistry, providerAccountsRegistryPath, providerAccountsRoot, removeAiAccount, resolveAiAccountForRun, setActiveAiAccount, AiAccountError, AI_ACCOUNT_PROVIDERS, CLAUDE_ACCOUNT_STRIPPED_ENV, DEFAULT_AI_ACCOUNT_ID, } from './provider-account';
66
+ export type { AddedAiAccount, AiAccountEnvPlan, AiAccountErrorCode, AiAccountInvocation, AiAccountProvider, AiAccountSummary, ProviderAccountsRegistry, RemovedAiAccount, ResolveAiAccountInput, ResolvedAiAccount, StoredAiAccount, } from './provider-account';
67
+ export type { ProviderRateLimitWindow, ProviderRateLimitWindows } from './provider/cli/adapter.types';
23
68
  export { loadYamlFile, parseYamlContent, ConfigLoadError } from './config/loader';
69
+ export { AgentInterceptorChain, AgentInterceptorConfigError, parseAgentInterceptorItems, INTERCEPTOR_BLOCKED, INTERCEPTOR_CONFIG_INVALID, } from './agent-interceptor';
70
+ export type { AgentInterceptorItem, InterceptorInvocation, InterceptorLaneRun, InterceptorOutcome, InterceptorPhase, InterceptorRunContext, InterceptorStepLog, InterceptorVerdict, } from './agent-interceptor';
71
+ export { resolveWiBoards, isReservedWiBoardId, WI_BOARD_ID_PATTERN, DEFAULT_WI_BOARD_ID, ARCHIVE_WI_BOARD_ID, DEFAULT_WI_WORKFLOW_ID, WI_PLAN_WORKFLOW_ID, WI_DEFAULT_FLOW_FILENAME, WI_PLAN_FLOW_FILENAME, } from './config/wi-boards';
72
+ export type { ResolvedWiBoard } from './config/wi-boards';
73
+ export { createWorkInstruction, createWorkInstructionBatch, WiCreateError, } from './wi/create';
74
+ export type { WiCreateInput, WiBatchCreateInput, WiBatchCreateResult, WiCreatedDetail, WiCreatedSummary, WiStatus as SdkWiStatus, } from './wi/create';
75
+ export { selectNextWi } from './wi/select';
76
+ export type { SelectNextWiResult, WiSummary as SelectableWiSummary, WiSelectableStatus, } from './wi/select';
77
+ export { createGlobalSettingsStore } from './config/global-settings';
78
+ export type { GlobalSettings, GlobalSettingsStore, DeepPartial, CreateGlobalSettingsStoreOptions } from './config/global-settings';
79
+ export { DEFAULT_LOCAL_SERVER_PROBE_TIMEOUT_MS, isAllowedLocalServerIp, parseLocalServerBaseUrl, probeLocalServer, buildLocalServerOpenCodeOverlay, LocalServerOpenCodeOverlayError, } from './local-server';
80
+ export type { LocalServerBaseUrlErrorCode, LocalServerBaseUrlFailure, LocalServerBaseUrlOptions, LocalServerBaseUrlResult, LocalServerBaseUrlSuccess, LocalServerHostClass, LocalServerDefinition, LocalServerFetch, LocalServerKind, LocalServerModel, LocalServerOpenCodeOverlay, LocalServerOpenCodeOverlayErrorCode, LocalServerProbeOptions, LocalServerProbeReason, LocalServerProbeResponse, LocalServerProbeResult, LocalServerSettings, } from './local-server';
24
81
  export { resolveOverdrive, parseOverdriveProfile, parseOverdriveSignal, } from './config/overdrive';
25
82
  export type { OverdriveProfile, OverdriveSignal, OverdriveSignalInput, OverdriveResolution, } from './config/overdrive';
83
+ export { migrateGrokLegacyMode } from './config/migrate-grok-mode';
84
+ export type { GrokSandbox, GrokNativeOptions } from './config/migrate-grok-mode';
85
+ export { canonicalizeAgentOptions, normalizeClaudeMode } from './config/canonicalize-agent-options';
86
+ export type { AgentOptionsLike, CanonicalizeAgentOptionsInput, CanonicalizeAgentOptionsResult, } from './config/canonicalize-agent-options';
87
+ export { ANTIGRAVITY_MODEL_COMPATIBILITY, CLAUDE_MODEL_COMPATIBILITY_PAIRS, CLAUDE_OPUS_4_8_BASE_MODEL_ID, CLAUDE_OPUS_4_8_LEGACY_MODEL_ID, resolveAntigravityModel, resolveCatalogModelId, resolveProviderCatalogModel, } from './config/model-compat';
88
+ export type { AntigravityResolvedModel } from './config/model-compat';
26
89
  export { initPricingRemote } from './config/pricing.remote';
90
+ export type { ModelApiPricing } from './config/pricing.types';
27
91
  export { initModelsRemote } from './config/models.remote';
28
92
  export { resolveAgent, AgentNotFoundError } from './agent/resolver';
29
93
  export { resolveAgentSkills } from './agent/resolve-skills';
30
94
  export { PROVIDER_ORDER, providerRank, compareProviders, normalizeProviderId } from './provider/order';
31
- export { getProviderModels, getClaudeModels, getCodexModels, getCopilotModels, getAntigravityModels, setModelsOverride, clearModelsOverride, mergeModels, type ModelCatalogEntry, } from './provider/models';
95
+ export { getProviderModels, getClaudeModels, getCodexModels, getCopilotModels, getAntigravityModels, setModelsOverride, clearModelsOverride, mergeModels, type ModelCatalogEntry, type ModelMergeEntry, type ModelTier, type ProviderOptionSpec, } from './provider/models';
96
+ export { getDefaultAgentProfile } from './config/default-agent-models.js';
97
+ export type { DefaultAgentProfile, DefaultAgentStage } from './config/default-agent-models.js';
98
+ export { isProviderAvailable } from './provider/provider-selection';
99
+ export type { ProviderAvailabilityDeps } from './provider/provider-selection';
100
+ export { EFFORT_LEVELS, PROVIDER_ARGV_EFFORTS } from './config/models.generated.js';
101
+ export type { EffortLevel, KnownEffortLevel } from './config/models.generated.js';
102
+ export { DEFAULT_INPUT_BUDGET_PERCENT, MIN_INPUT_BUDGET_PERCENT, MAX_INPUT_BUDGET_PERCENT, INPUT_BUDGET_TOKENIZER_ENCODING, FRESH_PROVIDER_INITIAL_INPUT_FRAMING, RESUME_PROVIDER_INITIAL_INPUT_FRAMING, normalizeInputBudgetProvider, resolveTokenizerMetadata, countTokens, createTokenCounter, resolveInputBudget, } from './context-budget';
103
+ export type { InputBudgetUnresolvedReason, TokenizerFallbackReason, ResolveInputBudgetOptions, TokenizerOptions, TokenizerMetadata, ResolvedInputBudget, UnresolvedInputBudget, ResolveInputBudgetResult, ContextBudgetPhase, ProviderInitialInputFraming, ContextBudgetManifest, TokenCountResult, TokenCounter, ContextBudgetLayoutCapability, ContextBudgetActivityDegradation, ContextBudgetAssemblyErrorCode, } from './context-budget';
104
+ export { ContextBudgetLayoutError, DEFAULT_HIGHLIGHT_BUDGET_PERCENT, DEFAULT_PROTECTED_TURN_COUNT, MAX_ACTIVE_HIGHLIGHT_CHARS, MAX_ACTIVE_HIGHLIGHTS, MAX_THREAD_STATE_VALUE_CHARS, MAX_THREAD_TITLE_CHARS, buildSemanticContinuityContext, buildThreadStateContext, getConversationMessageTaskId, groupConversationTurns, materializeConversationTurn, selectConversationHighlights, selectConversationTurns, } from './context-budget';
105
+ export type { BuildSemanticContinuityContextOptions, ConversationHighlightSelection, ConversationTurn, ConversationTurnSelection, GroupedConversationTurns, SelectConversationHighlightsOptions, SelectConversationTurnsOptions, } from './context-budget';
106
+ export type { ConversationHighlight, ConversationMessage, ConversationSemanticContinuityContext, ConversationThreadState, ConversationThreadStateValue, ConversationThread, FetchHistoryOptions, IConversationHistoryProvider, Platform, SemanticContinuityContext, TemplateMessage, TemplateAppCard, ThreadStateContext, } from './conversation/types.js';
107
+ export { MAX_THREAD_HIGHLIGHTS_PER_THREAD, MAX_THREAD_HIGHLIGHTS_PER_RUN, MAX_THREAD_HIGHLIGHT_REGENERATION_CANDIDATES, MAX_THREAD_HIGHLIGHT_PROMPT_LENGTH, MAX_THREAD_HIGHLIGHT_TURN_TEXT_LENGTH, THREAD_HIGHLIGHT_CONSOLIDATION_PROMPT_INSTRUCTIONS, THREAD_HIGHLIGHT_PROMPT_INSTRUCTIONS, THREAD_HIGHLIGHTER_AGENT_ID, THREAD_HIGHLIGHTER_PROVIDER_ORDER, ThreadHighlightGenerationError, ThreadHighlightGenerator, ThreadHighlighter, ThreadHighlightConsolidationItemSchema, ThreadHighlightConsolidationResponseSchema, ThreadHighlightInputValidationError, ThreadHighlightItemSchema, ThreadHighlightOutputValidationError, ThreadHighlightResponseSchema, buildThreadHighlightPrompt, buildThreadHighlightConsolidationPrompt, consolidateThreadHighlights, detectThreadHighlightBatches, generateThreadHighlightBatches, generateThreadHighlights, parseThreadHighlightResponse, parseThreadHighlightConsolidationResponse, redactThreadHighlightSecrets, } from './highlight/thread-highlighter.js';
108
+ export type { ThreadHighlightConsolidationHighlight, ThreadHighlightConsolidationInput, ThreadHighlightConsolidationItem, ThreadHighlightConsolidationOptions, ThreadHighlightConsolidationResponse, ThreadHighlightConsolidationResult, ThreadHighlightConsolidationSuccess, ThreadHighlightFailureCode, ThreadHighlightBatchDetectionResult, ThreadHighlightBatchDetectionSuccess, ThreadHighlightBatchDetectorOptions, ThreadHighlightGenerationFailure, ThreadHighlightGenerationFailureResult, ThreadHighlightGenerationInput, ThreadHighlightGenerationResult, ThreadHighlightGenerationSuccess, ThreadHighlightGeneratorOptions, ThreadHighlightItem, ThreadHighlightRegenerationInput, ThreadHighlightProviderAttempt, ThreadHighlightProviderAttemptOutcome, ThreadHighlightProviderId, ThreadHighlightResponse, ThreadHighlightTaskTurn, ThreadHighlightWriter, } from './highlight/thread-highlighter.js';
32
109
  export { createProvider, ProviderError, ClientToolCallRequiredError, registerProviderFactory, mergeAdditionalArgs } from './provider/bridge';
33
110
  export type { ProviderRuntime, ProviderQueryOptions, ProviderFactory, ProviderUsage, ClientToolCall, ContinuationState, AdditionalArgsProvider } from './provider/bridge';
34
111
  export { VercelProviderRuntime } from './provider/vercel-runtime';
35
112
  export type { VercelProviderConfig } from './provider/vercel-runtime';
36
113
  export { registerApiProviders } from './provider/register-api';
37
114
  export * from './provider/acp/index.js';
38
- export type { CliProviderAdapter } from './provider/cli/adapter.types';
115
+ export type { CliProviderAdapter, ParseEventContext } from './provider/cli/adapter.types';
39
116
  export { RateLimitError } from './provider/cli/adapter.types';
40
- export { BUILTIN_ADAPTERS, claudeAdapter, copilotAdapter, codexAdapter, opencodeAdapter } from './provider/cli/adapters/index';
117
+ export { BUILTIN_ADAPTERS, claudeAdapter, copilotAdapter, codexAdapter, opencodeAdapter, grokAdapter } from './provider/cli/adapters/index';
41
118
  export { queryAllCliProviderMetas, queryOpencodeModels } from './provider/cli/meta';
119
+ export { isMetadataOnlyProtocolLine, isProtocolOnlyText, shouldSkipRawStdoutJsonFallback, } from './provider/cli/protocol-envelope';
120
+ export { ConsoleDecoder, decodeConsoleBuffer, decodeConsoleBufferAsync, getWindowsConsoleCodePage, parseWindowsConsoleCodePage, primeWindowsConsoleCodePage, } from './internal/console-decoder';
121
+ export type { ConsoleBufferDecodeOptions, ConsoleDecoderOptions, } from './internal/console-decoder';
42
122
  export { createDelegateTool } from './tools/delegate';
43
- export { resolveTemplatesPath, resolveDefaultAgentsYaml } from './paths';
44
- export { resolveCrewxCli, resolveCrewxWorkspace } from './utils/env-defaults';
123
+ export { resolveTemplatesPath, resolveDefaultAgentsYaml, resolveWorkflowTemplatesPath } from './paths';
124
+ export { resolveCrewxCli, resolveCrewxCliArgv, resolveCrewxCliDisplay, resolveCrewxWorkspace, } from './utils/env-defaults';
125
+ export { createCrewxChildInvocation, crewxCliShimFingerprint, formatCrewxExecutableArgv, formatCrewxExecutableFailure, getCrewxStableEntrypoint, isRotatingInstallPath, isVolatilePath, materializeCrewxCliShim, materializeCrewxStableEntrypoint, resolveCrewxExecutable, } from './utils/crewx-executable';
126
+ export type { CrewxChildInvocation, CrewxChildInvocationOptions, CrewxElectronRuntimeContext, CrewxElectronRuntimePredicate, CrewxExecutableAttempt, CrewxExecutableFailure, CrewxExecutablePathLookupOptions, CrewxExecutablePathLookupResult, CrewxExecutableResolution, CrewxExecutableResolverOptions, CrewxExecutableStage, CrewxExecutableSuccess, CrewxRequiredEnv, CrewxCliShim, CrewxCliShimOptions, CrewxStableEntrypointOptions, } from './utils/crewx-executable';
127
+ export { getCrewxHome } from './utils/crewx-home';
128
+ export { CREWX_RUNNER_IDENTITY_ENV, withoutCrewxRootContext, withoutCrewxRunnerIdentity, } from './utils/runner-env';
45
129
  export { generateId, generateFingerprint } from './utils/id';
46
130
  export type { EntityPrefix, PrefixedId } from './utils/id';
47
- export { hashWorkspaceId, normalizeWorkspacePath } from './utils/workspace';
48
- export { formatTimestamp } from './utils/timestamp';
131
+ export { acquireDurableQuiesceMarker, admitDurableTask, DEFAULT_CLI_ADMISSION_TIMEOUT_MS, isDurablyQuiescing, isProcessAlive, readDurableQuiesceMarkerOwner, readUpdateAdmissionReservations, reconcileDurableQuiesceMarkerIfOwnerDead, releaseDurableQuiesceMarker, releaseUpdateAdmissionReservation, reserveUpdateAdmission, resolveUpdateAdmissionReservationDir, resolveUpdateQuiesceLockFile, UPDATE_ADMISSION_RESERVATION_DIRNAME, UPDATE_ADMISSION_SCOPE_ENV, UPDATE_QUIESCE_LOCK_FILENAME, } from './lifecycle/update-admission.js';
132
+ export type { AdmissionMarkerResult, DurableQuiesceMarkerState, DurableTaskAdmission, ReconcileOutcome, UpdateAdmissionReservationEntry, } from './lifecycle/update-admission.js';
133
+ export { acquireProcessLease, getProcessStartIdentity, getProcessStartTime, readProcessLease, reclaimProcessLease, releaseProcessLease, renewProcessLease, resolveProcessLeasePath, PROCESS_LEASE_FILENAME, } from './lifecycle/process-lease.js';
134
+ export type { ProcessLeaseAcquireResult, ProcessLeaseClock, ProcessLeaseHandle, ProcessLeaseMutationOptions, ProcessLeaseOptions, ProcessLeasePathOptions, ProcessLeaseProcessProbe, ProcessLeaseReason, ProcessLeaseReadResult, ProcessLeaseRecord, ProcessLeaseReclaimOptions, } from './lifecycle/process-lease.js';
135
+ export { hashWorkspaceId, normalizeWorkspacePath, resolveWorkspaceOwnerPath, slugify } from './utils/workspace';
136
+ export { formatTimestamp, formatDisplayTimestamp } from './utils/timestamp';
49
137
  export type { TaskLogEntry, TaskLogEntryType } from './types/task-log.types';
138
+ export { anchorChildTasks } from './task-log/anchor-child-tasks';
139
+ export type { AnchorChildInput } from './task-log/anchor-child-tasks';
140
+ export { DELEGATION_RESULT_MARKER, DELEGATION_RESULT_PREFIX, consumeDelegationResult, formatDelegationResult, formatDelegationTrailer, isDelegationResult, parseDelegationResult, parseDelegationTrailer, stripDelegationResult, stripDelegationTrailer, } from './task-log/delegation-trailer';
141
+ export type { ConsumedDelegationResult, DelegationResult, DelegationResultInput, ParsedDelegationResult, } from './task-log/delegation-trailer';
142
+ export { extractLegacyWorkflowRunId, scanLegacyUiCardAt, scanLegacyUiCardTags, } from './ui-card/index';
143
+ export type { LegacyUiCardTag } from './ui-card/index';
144
+ export { classifyTaskError } from './provider/classify-task-error';
145
+ export { redactTechnicalMessage } from './provider/redact-technical-message';
146
+ export type { TaskErrorCode, TaskErrorMeta, TaskErrorProjection } from './provider/task-error.types';
50
147
  export { SdkBoxService } from './boxing/box.service';
51
148
  export { buildContext } from './boxing/context-builder';
52
149
  export type { IBoxStorage, ITaskReader, ITokenizer } from './boxing/box-storage.interface';
53
150
  export type { BoxRow, BoxSummary, BoxResponse as SdkBoxResponse, InsertBoxData, CreateBoxParams, ThreadMessage as BoxingThreadMessage, ContextBuildParams, ContextBuildResponse, } from './boxing/box.types';
54
- export { parseStdoutEvent } from './provider/cli/adapters/index.js';
151
+ export { parseStdoutEvent, createLogParseSession } from './provider/cli/adapters/index.js';
152
+ export type { LogParseSession } from './provider/cli/adapters/index.js';
55
153
  export { parseUsage } from './provider/parse-usage';
56
154
  export type { ParsedUsage } from './provider/parse-usage';
57
155
  export { ParallelRunner, ParallelRunnerTimeoutError } from './parallel/parallel-runner';
@@ -62,17 +160,56 @@ export { AgentRuntime } from './parallel/agent-runtime';
62
160
  export type { AgentResult, AgentQueryRequest, AgentExecuteRequest } from './parallel/agent-runtime';
63
161
  export { PluginProviderRuntime, createPluginProviderFactory } from './plugin/plugin-provider';
64
162
  export type { PluginProviderConfig } from './plugin/types';
65
- export { TaskRepository } from './repository/task.repository.js';
66
- export type { TaskRow } from './repository/task.repository.js';
163
+ export { DEFAULT_TASK_REAPER_TICK_INTERVAL_MS, mergeTerminalReason, TaskRepository, TASK_HEARTBEAT_HARD_STALE_MS, TASK_HEARTBEAT_INTERVAL_MS, TASK_HEARTBEAT_STALE_MS, resolveTaskHeartbeatHardStaleMs, resolveTaskHeartbeatIntervalMs, resolveTaskHeartbeatStaleMs, } from './repository/task.repository.js';
164
+ export type { ReapOrphanedTasksOptions } from './repository/task.repository.js';
165
+ export { countRatedTasks, listRatedTasks, RATED_TASK_EXCERPT_MAX_CHARS, RATED_TASK_LIST_MAX_LIMIT, setTaskRating, TASK_RATINGS, TaskRatingError, } from './repository/task.repository.js';
166
+ export type { CountRatedTasksInput, ListRatedTasksInput, RatedTaskRow, SetTaskRatingInput, SetTaskRatingResult, TaskRating, TaskRatingErrorCode, } from './repository/task.repository.js';
167
+ export type { FinalizeTaskStopOptions, TaskStopMethod, TaskStopOrigin, TaskStopRequestContext, TaskStopRequestResult, } from './repository/task.repository.js';
168
+ export { INSTRUCTION_STOP_EPOCH_MISMATCH, INSTRUCTION_STOP_GENERATION_ALREADY_SETTLED, INSTRUCTION_STOP_PROCESS_TERMINATION_FAILED, INSTRUCTION_STOP_REQUEST_FAILED, INSTRUCTION_STOP_SETTLE_CAS_FAILED, INSTRUCTION_STOP_TARGET_PID_MISSING, INSTRUCTION_STOP_WORKSPACE_MISMATCH, stopTask, resolveTaskStopMethod, TASK_STOP_DEFAULT_GRACE_MS, TASK_STOP_DEFAULT_POLL_MS, TASK_STOP_OWNED_PROCESS_MARKERS, } from './lifecycle/task-stop.js';
169
+ export type { StopTaskGenerationForInstructionOptions, StopTaskOptions, StopTaskProcessControl, StopTaskResult, StopTaskStatus, } from './lifecycle/task-stop.js';
170
+ export { isTaskRetryableByDefault, LEGACY_TASK_TERMINAL_ERROR_PATTERNS, normalizeTaskRow, normalizeTaskStatus, readTaskTerminalReason, storedTaskStatusesFor, TASK_TERMINAL_STATUSES, TASK_TERMINAL_STORED_STATUSES, } from './repository/task-status.js';
171
+ export type { TaskStatus, TaskStatusInput, TaskTerminalReason, TaskTerminalStatus, } from './repository/task-status.js';
172
+ export type { TaskRow, TaskKillResult, TaskKillStatus } from './repository/task.repository.js';
173
+ export type { ProviderInputEpochEntry, ProviderInputRecord } from './repository/task.repository.js';
174
+ export { runHeartbeatTick, startTaskHeartbeat, stopTaskHeartbeat, TASK_STOP_POLL_INTERVAL_MS, taskHeartbeatRegistry, } from './lifecycle/task-heartbeat.js';
175
+ export type { HeartbeatTickResult, TaskHeartbeatHandle, TaskHeartbeatOptions, TaskHeartbeatRow, } from './lifecycle/task-heartbeat.js';
176
+ export { checkProcessOwnership, checkProcessOwnershipAsync, OWNED_GROUP_KILL_CONFIRM_MS, probeProcessLiveness, terminateOwnedProcessGroup, terminateProcessTree, UNIX_PROCESS_POLL_INTERVAL_MS, UNIX_SIGKILL_CONFIRM_MS, UNIX_SIGTERM_GRACE_MS, } from './process/process-control.js';
177
+ export type { OwnedProcessGroupErrorKind, OwnedProcessGroupSignal, OwnedProcessGroupStatus, OwnedProcessGroupTerminationResult, ProcessCommandLineResult, ProcessCommandResult, ProcessCommandRunner, ProcessCommandRunnerAsync, ProcessControlOptions, ProcessLiveness, ProcessOwnership, ProcessTerminationResult, ProcessTerminationStatus, TerminateOwnedProcessGroupOptions, } from './process/process-control.js';
67
178
  export { SpanRepository } from './repository/span.repository.js';
68
179
  export type { SpanRow } from './repository/span.repository.js';
180
+ export { COMMON_CODE_COLORS, COMMON_CODE_GROUPS, CommonCodeRepository, CommonCodeRepositoryError, generateCommonCodeId, } from './repository/common-code.repository.js';
181
+ export type { CommonCodeColor, CommonCodeErrorReason, CommonCodeGroup, CreateThreadStateInput, UpdateCommonCodeDisplayInput, } from './repository/common-code.repository.js';
182
+ export type { CommonCode, NewCommonCode } from './schema/common-codes.js';
183
+ export { SIDEBAR_CLOSED_TAB_LIMIT, SIDEBAR_CLOSED_TAB_TTL_MS, SidebarTabRepository, SidebarTabRepositoryError, } from './repository/sidebar-tab.repository.js';
184
+ export type { CreateSidebarGroupInput, CreateSidebarGroupResult, InitSidebarResult, MarkThreadReadResult, MoveSidebarTabInput, OpenSidebarTabOptions, ReopenSidebarTabResult, SidebarGroupSnapshot, SidebarSnapshot, SidebarTabErrorReason, UpdateSidebarGroupPatch, } from './repository/sidebar-tab.repository.js';
185
+ export { SIDEBAR_GROUP_COLORS } from './schema/sidebar-tabs.js';
186
+ export type { SidebarGroupColor } from './schema/sidebar-tabs.js';
187
+ export { StorageMetadataRepository } from './repository/storage-metadata.repository.js';
188
+ export { STORAGE_METADATA_KINDS, STORAGE_METADATA_UNITS, } from './repository/storage-metadata.repository.js';
189
+ export type { StorageMetadataAge, StorageMetadataAggregateRow, StorageMetadataBatchResult, StorageMetadataCutoffs, StorageMetadataKind, StorageMetadataReadiness, StorageMetadataSnapshot, StorageMetadataUnit, StorageMetadataUnitReadiness, StorageMetadataVerificationMismatch, } from './repository/storage-metadata.repository.js';
190
+ export { ThreadRepository, ThreadTitleMetadataPatchError, } from './repository/thread.repository.js';
191
+ export type { UnreadReplyWatermark } from './repository/thread.repository.js';
192
+ export { UNREAD_PREVIEW_MAX_LENGTH, publicTaskAnswerContent, summarizeUnreadReplies, toPreviewPlainText, } from './repository/public-task-answer.js';
193
+ export type { PublicTaskAnswerInput, UnreadReplyCandidate, UnreadReplySummary, } from './repository/public-task-answer.js';
194
+ export { AgentSendHistoryRepository } from './repository/agent-send-history.repository.js';
195
+ export type { RecordAcceptedAgentSendInput, RecentAgentSend } from './repository/agent-send-history.repository.js';
196
+ export type { ThreadRow, NewThread, TaskDescendantList, TaskDescendantListOptions, TaskDescendantRow, TaskDescendantSummary, RespondedAgent, ThreadTitleMetadataPatch, ThreadTitleMetadataPatchResult, ThreadTitleMetadataPatchErrorReason, } from './repository/thread.repository.js';
197
+ export { ThreadHistoryConflictError, ThreadHighlightConflictError, ThreadHighlightRegenerationConflictError, ThreadHistoryRepository, } from './repository/thread-history.repository.js';
198
+ export { THREAD_HIGHLIGHT_DELETION_REASON_REGENERATION_REPLACED, THREAD_HIGHLIGHT_REGENERATION_COMMIT_FAILED, THREAD_HIGHLIGHT_REGENERATION_DETECTION_FAILED, THREAD_HIGHLIGHT_REGENERATION_INTERRUPTED, THREAD_HIGHLIGHT_REGENERATION_NO_ELIGIBLE_TURNS, } from './repository/thread-history.repository.js';
199
+ export type { CompleteThreadHighlightRegenerationInput, CompleteThreadHighlightRegenerationResult, CreateThreadHighlightRegenerationRunInput, CreateThreadHighlightRegenerationRunResult, CreateThreadHighlightInput, DismissThreadHighlightInput, FailThreadHighlightRegenerationRunInput, ListActiveHighlightsOptions, ThreadActorInput, ThreadHighlightDeletionReason, ThreadHighlightEligibleTurn, ThreadHighlightRegenerationCandidate, ThreadHighlightRegenerationErrorCode, ThreadSnapshot, ThreadSnapshotMutationInput, ThreadTimeline, ThreadTimelineOptions, ThreadTimelineQuery, UpdateThreadHighlightInput, } from './repository/thread-history.repository.js';
200
+ export { BUILTIN_THREAD_STATES, THREAD_PRIORITIES, customStateLabel, hasThreadTitleKey, isThreadPriority, isThreadState, matchesThreadTitleFilter, mergeThreadTitleMeta, parseThreadPriorityFilter, parseThreadStateFilter, readThreadTitleMeta, threadTitleSearchHaystack, } from './repository/thread-title.types.js';
201
+ export type { BuiltinThreadState, LegacyThreadState, StableThreadState, ThreadPriority, ThreadState, ThreadTitleFilter, ThreadTitleMeta, ThreadTitlePatch, } from './repository/thread-title.types.js';
202
+ export { THREAD_ACTOR_TYPES, THREAD_EVENT_TYPES, THREAD_HIGHLIGHT_KINDS, THREAD_HIGHLIGHT_SOURCES, THREAD_HIGHLIGHT_STATUSES, THREAD_HIGHLIGHT_RUN_STATUSES, } from './schema/thread-history.js';
203
+ export type { NewThreadEvent, NewThreadHighlight, NewThreadHighlightRun, ThreadActorType, ThreadEvent, ThreadEventType, ThreadHighlight, ThreadHighlightKind, ThreadHighlightSource, ThreadHighlightStatus, ThreadHighlightRun, ThreadHighlightRunStatus, } from './schema/thread-history.js';
69
204
  export { RemoteProviderRuntime, createRemoteProviderFactory } from './remote/remote-provider';
70
205
  export { RemoteAgentManager } from './remote/remote-agent-manager';
71
206
  export { McpHttpTransport } from './remote/remote-transport';
72
- export type { RemoteTransport, RemoteAgentConfig, RemoteProviderConfig, RemoteAgentQueryRequest, RemoteAgentExecuteRequest, RemoteAgentResponse, McpJsonRpcRequest, McpJsonRpcResponse, RemoteAgentDescriptor, } from './remote/types';
207
+ export { resolveAgentExecutionProfile, resolveAgentExecutionProfiles, } from './remote/execution-profile';
208
+ export type { RemoteTransport, RemoteAgentConfig, RemoteProviderConfig, RemoteAgentQueryRequest, RemoteAgentExecuteRequest, RemoteAgentResponse, McpJsonRpcRequest, McpJsonRpcResponse, RemoteAgentDescriptor, AgentExecutionProfile, AgentExecutionProfileSlot, AgentExecutionProfileStatus, AgentExecutionProfileErrorCode, } from './remote/types';
73
209
  export { createHandler } from './server/handler';
74
210
  export type { HandlerOptions, CrewxHandler } from './server/handler';
75
211
  export type { AuthOptions } from './server/auth';
212
+ export * from './account/index';
76
213
  export { YamlHookPlugin, validateHooksSchema } from './hooks/yaml-plugin';
77
214
  export type { YamlHookConfig } from './hooks/yaml-plugin';
78
215
  export * from './conversation/index.js';
@@ -83,5 +220,8 @@ export { createScopedAdapterStore } from './adapter/scoped-store';
83
220
  export { createAdapterContext, runInSyncWindow, getSyncWindowStore } from './adapter/context-builder';
84
221
  export type { SyncWindow, AdapterContextOptions } from './adapter/context-builder';
85
222
  export type { ChannelAdapterPluginSpec } from './adapter/plugin-helper';
86
- export { resolveWindowsSpawnProgram, materializeWindowsSpawnProgram, resolveWindowsExecutablePath, } from './internal/windows-spawn';
223
+ export { resolveExecutablePath, resolveWindowsSpawnProgram, materializeWindowsSpawnProgram, resolveWindowsExecutablePath, } from './internal/windows-spawn';
87
224
  export type { WindowsSpawnProgram, WindowsSpawnInvocation, ResolveWindowsSpawnProgramParams, } from './internal/windows-spawn';
225
+ export { filterAgentConfigs, formatAgentList } from './agent/agent-list-view';
226
+ export type { AgentListFilters, AgentListSnapshot, AgentListFormatOptions } from './agent/agent-list-view';
227
+ export type { PromptListResolver } from './template/types';