@crewx/sdk 0.9.0-rc.22 → 0.9.0-rc.220

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 (445) 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-files/args.d.ts +12 -0
  22. package/dist/app/app-files/errors.d.ts +6 -0
  23. package/dist/app/app-files/index.d.ts +35 -0
  24. package/dist/app/app-files/lock.d.ts +26 -0
  25. package/dist/app/app-files/root.d.ts +22 -0
  26. package/dist/app/app-files/store.d.ts +48 -0
  27. package/dist/app/app-files/write.child.d.ts +1 -0
  28. package/dist/app/app.d.ts +168 -0
  29. package/dist/app/backend-env.d.ts +3 -0
  30. package/dist/app/content-media-types.d.ts +2 -0
  31. package/dist/app/context.d.ts +2 -0
  32. package/dist/app/entry.d.ts +9 -0
  33. package/dist/app/frame.d.ts +55 -0
  34. package/dist/app/index.d.ts +20 -0
  35. package/dist/app/index.js +13 -0
  36. package/dist/app/job-bridge.child.d.ts +1 -0
  37. package/dist/app/job-bridge.d.ts +67 -0
  38. package/dist/app/job-bridge.drain.child.d.ts +1 -0
  39. package/dist/app/job-bridge.example.d.ts +11 -0
  40. package/dist/app/job-contract.d.ts +40 -0
  41. package/dist/app/job-wire.d.ts +149 -0
  42. package/dist/app/protocol.d.ts +9 -0
  43. package/dist/app/runtime.d.ts +23 -0
  44. package/dist/app/schedule-contract.d.ts +59 -0
  45. package/dist/app/tool-mode.d.ts +3 -0
  46. package/dist/app-artifact-policy/check.d.ts +2 -0
  47. package/dist/app-artifact-policy/contract.d.ts +54 -0
  48. package/dist/app-artifact-policy/helper.d.ts +15 -0
  49. package/dist/app-artifact-policy/index.d.ts +3 -0
  50. package/dist/app-artifact-policy/index.js +18 -0
  51. package/dist/app-artifact-policy/paths.d.ts +24 -0
  52. package/dist/app-artifact-policy/scan.d.ts +47 -0
  53. package/dist/app-sync/continuation.d.ts +67 -0
  54. package/dist/app-sync/coordinator.d.ts +92 -0
  55. package/dist/app-sync/create-ledger.d.ts +27 -0
  56. package/dist/app-sync/index.d.ts +9 -0
  57. package/dist/app-sync/index.js +390 -0
  58. package/dist/app-sync/scope.d.ts +35 -0
  59. package/dist/app-sync/session-fence.d.ts +26 -0
  60. package/dist/app-sync/sqlite-store.d.ts +237 -0
  61. package/dist/app-sync/types.d.ts +855 -0
  62. package/dist/app-ui/index.d.ts +95 -0
  63. package/dist/app-ui/index.js +1 -0
  64. package/dist/attachment-receive/index.d.ts +76 -0
  65. package/dist/attachment-receive/index.js +2 -0
  66. package/dist/boxing/box.types.d.ts +4 -0
  67. package/dist/config/canonicalize-agent-options.d.ts +2 -0
  68. package/dist/config/default-agent-models.d.ts +11 -0
  69. package/dist/config/global-settings.d.ts +33 -0
  70. package/dist/config/migrate-grok-mode.d.ts +6 -0
  71. package/dist/config/model-compat.d.ts +31 -0
  72. package/dist/config/models.generated.d.ts +38 -0
  73. package/dist/config/models.remote.d.ts +1 -0
  74. package/dist/config/overdrive.d.ts +7 -0
  75. package/dist/config/pricing.d.ts +6 -3
  76. package/dist/config/pricing.generated.d.ts +4 -0
  77. package/dist/config/pricing.types.d.ts +4 -0
  78. package/dist/config/timeout.config.d.ts +4 -0
  79. package/dist/config/wi-boards.d.ts +19 -0
  80. package/dist/context/GoalLoader.d.ts +6 -0
  81. package/dist/context-budget/continuity.d.ts +64 -0
  82. package/dist/context-budget/fixed-slot-shrink.d.ts +97 -0
  83. package/dist/context-budget/index.d.ts +168 -0
  84. package/dist/conversation/index.d.ts +1 -1
  85. package/dist/conversation/sqlite-provider.d.ts +6 -3
  86. package/dist/conversation/to-template-messages.d.ts +9 -0
  87. package/dist/conversation/types.d.ts +86 -1
  88. package/dist/desktop/command-runner.d.ts +4 -0
  89. package/dist/desktop/default-adapters.d.ts +4 -0
  90. package/dist/desktop/global-install.d.ts +19 -0
  91. package/dist/desktop/index.d.ts +3 -0
  92. package/dist/desktop/index.js +3 -0
  93. package/dist/desktop/install.d.ts +5 -0
  94. package/dist/desktop/lnk.d.ts +22 -0
  95. package/dist/desktop/manifest.d.ts +21 -0
  96. package/dist/desktop/types.d.ts +67 -0
  97. package/dist/desktop/version.d.ts +1 -0
  98. package/dist/desktop/windows-paths.d.ts +21 -0
  99. package/dist/desktop/wrapper.d.ts +18 -0
  100. package/dist/esm/account/index.js +2 -0
  101. package/dist/esm/app/index.js +13 -0
  102. package/dist/esm/app-artifact-policy/index.js +18 -0
  103. package/dist/esm/app-sync/index.js +390 -0
  104. package/dist/esm/attachment-receive/index.js +2 -0
  105. package/dist/esm/desktop/index.js +3 -0
  106. package/dist/esm/history-snapshot/index.js +16 -0
  107. package/dist/esm/index.js +1394 -224
  108. package/dist/esm/node/index.js +2 -0
  109. package/dist/esm/plugins/index.js +569 -219
  110. package/dist/esm/process/index.js +1 -0
  111. package/dist/esm/publish/index.js +2 -0
  112. package/dist/esm/repository/index.js +828 -211
  113. package/dist/esm/skills/index.js +2 -0
  114. package/dist/esm/testing/index.js +1 -1
  115. package/dist/events/types.d.ts +44 -0
  116. package/dist/facade/Crewx.d.ts +107 -5
  117. package/dist/facade/task-ticket.d.ts +14 -0
  118. package/dist/highlight/thread-highlight-prompt.d.ts +2 -0
  119. package/dist/highlight/thread-highlighter.d.ts +326 -0
  120. package/dist/history-snapshot/index.d.ts +83 -0
  121. package/dist/history-snapshot/index.js +16 -0
  122. package/dist/index.browser.d.ts +26 -1
  123. package/dist/index.browser.js +6 -2
  124. package/dist/index.d.ts +169 -19
  125. package/dist/index.js +1394 -224
  126. package/dist/internal/console-decoder.d.ts +38 -0
  127. package/dist/internal/windows-spawn.d.ts +10 -0
  128. package/dist/layout/types.d.ts +18 -1
  129. package/dist/lifecycle/process-lease.d.ts +80 -0
  130. package/dist/lifecycle/process-owner.d.ts +20 -0
  131. package/dist/lifecycle/task-heartbeat.d.ts +41 -0
  132. package/dist/lifecycle/task-stop.d.ts +112 -0
  133. package/dist/lifecycle/update-admission.d.ts +45 -0
  134. package/dist/local-server/base-url.d.ts +18 -0
  135. package/dist/local-server/index.d.ts +8 -0
  136. package/dist/local-server/opencode.d.ts +8 -0
  137. package/dist/local-server/probe.d.ts +3 -0
  138. package/dist/local-server/runtime.d.ts +26 -0
  139. package/dist/local-server/types.d.ts +43 -0
  140. package/dist/mcp-app/agent-access.d.ts +33 -0
  141. package/dist/mcp-app/app-handoff.d.ts +109 -0
  142. package/dist/mcp-app/app-icon-read.d.ts +7 -0
  143. package/dist/mcp-app/app-job-bridge.d.ts +30 -0
  144. package/dist/mcp-app/app-job-bridge.example.d.ts +36 -0
  145. package/dist/mcp-app/app-job.d.ts +168 -0
  146. package/dist/mcp-app/app-schedule.d.ts +85 -0
  147. package/dist/mcp-app/apps-context.d.ts +32 -0
  148. package/dist/mcp-app/bundle-provenance.d.ts +3 -0
  149. package/dist/mcp-app/candidate-registration.d.ts +4 -0
  150. package/dist/mcp-app/card-handler.d.ts +7 -0
  151. package/dist/mcp-app/catalog.d.ts +7 -0
  152. package/dist/mcp-app/content-channel.d.ts +86 -0
  153. package/dist/mcp-app/content-declarations.d.ts +31 -0
  154. package/dist/mcp-app/dev-checks.d.ts +31 -0
  155. package/dist/mcp-app/diagnostic-reason.d.ts +3 -0
  156. package/dist/mcp-app/discovery.d.ts +164 -0
  157. package/dist/mcp-app/errors.d.ts +7 -0
  158. package/dist/mcp-app/index.d.ts +46 -0
  159. package/dist/mcp-app/installed-app-ref.d.ts +25 -0
  160. package/dist/mcp-app/model-context.d.ts +29 -0
  161. package/dist/mcp-app/node-app-discovery-fs.d.ts +23 -0
  162. package/dist/mcp-app/product-bundle-assets.d.ts +27 -0
  163. package/dist/mcp-app/product-bundle-loader.d.ts +53 -0
  164. package/dist/mcp-app/projection.d.ts +14 -0
  165. package/dist/mcp-app/prompt-cards.d.ts +28 -0
  166. package/dist/mcp-app/registry.d.ts +28 -0
  167. package/dist/mcp-app/skill-backend.d.ts +141 -0
  168. package/dist/mcp-app/state-set.d.ts +9 -0
  169. package/dist/mcp-app/types.d.ts +501 -0
  170. package/dist/mcp-app/view-call.d.ts +7 -0
  171. package/dist/mcp-app/workspace-app-assets.d.ts +42 -0
  172. package/dist/mcp-app/workspace-app-scan-cache.d.ts +27 -0
  173. package/dist/mcp-app/workspace-snapshot.d.ts +81 -0
  174. package/dist/migrations/0011_far_black_tarantula.sql +1 -0
  175. package/dist/migrations/0012_blue_turbo.sql +23 -0
  176. package/dist/migrations/0013_hesitant_adam_destine.sql +15 -0
  177. package/dist/migrations/0014_organic_mongu.sql +73 -0
  178. package/dist/migrations/0015_panoramic_gorilla_man.sql +71 -0
  179. package/dist/migrations/0016_fuzzy_hemingway.sql +14 -0
  180. package/dist/migrations/0017_project_stage_sdk_migration.sql +29 -0
  181. package/dist/migrations/0018_bored_jackal.sql +33 -0
  182. package/dist/migrations/0019_backfill_task_thread_ids.sql +74 -0
  183. package/dist/migrations/0020_useful_iron_lad.sql +55 -0
  184. package/dist/migrations/0021_dashing_peter_quill.sql +51 -0
  185. package/dist/migrations/0022_wandering_bucky.sql +1 -0
  186. package/dist/migrations/0023_red_payback.sql +1 -0
  187. package/dist/migrations/0024_storage_metadata.sql +262 -0
  188. package/dist/migrations/0025_task_heartbeat.sql +8 -0
  189. package/dist/migrations/0025_thread_app_instance_ledger.sql +2 -0
  190. package/dist/migrations/0026_mcp_action_source.sql +47 -0
  191. package/dist/migrations/0027_task_stop_scope_cleanup.sql +5 -0
  192. package/dist/migrations/0027_ui_instance_active_unique.sql +2 -0
  193. package/dist/migrations/0029_nice_rhino.sql +1 -0
  194. package/dist/migrations/0031_petite_arclight.sql +6 -0
  195. package/dist/migrations/0032_ui_instance_opened_by.sql +1 -0
  196. package/dist/migrations/0033_thread_creator_boundary_guard.sql +38 -0
  197. package/dist/migrations/0034_keen_fallen_one.sql +36 -0
  198. package/dist/migrations/0035_request_log_daily.sql +11 -0
  199. package/dist/migrations/0036_ui_definition_archive.sql +8 -0
  200. package/dist/migrations/0037_ui_instance_agent_open_request.sql +1 -0
  201. package/dist/migrations/0038_task_rating.sql +3 -0
  202. package/dist/migrations/0039_aspiring_purifiers.sql +9 -0
  203. package/dist/migrations/0040_task_provider_inputs.sql +53 -0
  204. package/dist/migrations/0041_tranquil_vivisector.sql +54 -0
  205. package/dist/migrations/0042_breezy_blue_shield.sql +31 -0
  206. package/dist/migrations/0043_nervous_darkstar.sql +1 -0
  207. package/dist/migrations/0044_military_galactus.sql +8 -0
  208. package/dist/migrations/0045_task_pid_started_at.sql +1 -0
  209. package/dist/migrations/0046_acoustic_karnak.sql +49 -0
  210. package/dist/migrations/0047_doc_sync_connect_requests.sql +18 -0
  211. package/dist/migrations/0048_smart_gertrude_yorkes.sql +47 -0
  212. package/dist/migrations/0049_blue_sleepwalker.sql +25 -0
  213. package/dist/migrations/0050_rapid_black_cat.sql +89 -0
  214. package/dist/migrations/0051_lying_sinister_six.sql +1 -0
  215. package/dist/migrations/0052_lying_gambit.sql +33 -0
  216. package/dist/migrations/0053_smart_shriek.sql +172 -0
  217. package/dist/migrations/0054_lying_surge.sql +63 -0
  218. package/dist/migrations/0055_curious_talkback.sql +92 -0
  219. package/dist/migrations/0056_stale_menace.sql +14 -0
  220. package/dist/migrations/0057_eager_captain_flint.sql +18 -0
  221. package/dist/migrations/meta/0011_snapshot.json +1342 -0
  222. package/dist/migrations/meta/0012_snapshot.json +1494 -0
  223. package/dist/migrations/meta/0013_snapshot.json +1592 -0
  224. package/dist/migrations/meta/0014_snapshot.json +1975 -0
  225. package/dist/migrations/meta/0015_snapshot.json +2315 -0
  226. package/dist/migrations/meta/0016_snapshot.json +2419 -0
  227. package/dist/migrations/meta/0017_snapshot.json +2419 -0
  228. package/dist/migrations/meta/0018_snapshot.json +2570 -0
  229. package/dist/migrations/meta/0020_snapshot.json +2895 -0
  230. package/dist/migrations/meta/0021_snapshot.json +3031 -0
  231. package/dist/migrations/meta/0022_snapshot.json +3039 -0
  232. package/dist/migrations/meta/0023_snapshot.json +3047 -0
  233. package/dist/migrations/meta/0029_snapshot.json +3206 -0
  234. package/dist/migrations/meta/0031_snapshot.json +3251 -0
  235. package/dist/migrations/meta/0034_snapshot.json +3473 -0
  236. package/dist/migrations/meta/0035_snapshot.json +3547 -0
  237. package/dist/migrations/meta/0036_snapshot.json +3591 -0
  238. package/dist/migrations/meta/0037_snapshot.json +3598 -0
  239. package/dist/migrations/meta/0038_snapshot.json +3626 -0
  240. package/dist/migrations/meta/0039_snapshot.json +3684 -0
  241. package/dist/migrations/meta/0040_snapshot.json +3759 -0
  242. package/dist/migrations/meta/0041_snapshot.json +4156 -0
  243. package/dist/migrations/meta/0042_snapshot.json +4383 -0
  244. package/dist/migrations/meta/0043_snapshot.json +4390 -0
  245. package/dist/migrations/meta/0044_snapshot.json +4435 -0
  246. package/dist/migrations/meta/0045_snapshot.json +4442 -0
  247. package/dist/migrations/meta/0046_snapshot.json +4733 -0
  248. package/dist/migrations/meta/0047_snapshot.json +4832 -0
  249. package/dist/migrations/meta/0048_snapshot.json +5128 -0
  250. package/dist/migrations/meta/0049_snapshot.json +5165 -0
  251. package/dist/migrations/meta/0050_snapshot.json +5717 -0
  252. package/dist/migrations/meta/0051_snapshot.json +5725 -0
  253. package/dist/migrations/meta/0052_snapshot.json +5930 -0
  254. package/dist/migrations/meta/0053_snapshot.json +6780 -0
  255. package/dist/migrations/meta/0054_snapshot.json +6784 -0
  256. package/dist/migrations/meta/0055_snapshot.json +6896 -0
  257. package/dist/migrations/meta/0056_snapshot.json +6971 -0
  258. package/dist/migrations/meta/0057_snapshot.json +6971 -0
  259. package/dist/migrations/meta/_journal.json +329 -0
  260. package/dist/node/index.d.ts +1 -0
  261. package/dist/node/index.js +2 -0
  262. package/dist/paths.d.ts +1 -0
  263. package/dist/plugin/types.d.ts +1 -0
  264. package/dist/plugins/index.d.ts +1 -1
  265. package/dist/plugins/index.js +569 -219
  266. package/dist/plugins/sqlite-tracing.d.ts +46 -0
  267. package/dist/process/index.d.ts +2 -0
  268. package/dist/process/index.js +1 -0
  269. package/dist/process/process-control.d.ts +74 -0
  270. package/dist/prompt/tag-names.d.ts +22 -0
  271. package/dist/provider/acp/adapter.d.ts +37 -2
  272. package/dist/provider/acp/adapters/antigravity-account.d.ts +4 -0
  273. package/dist/provider/acp/completion-observer.d.ts +24 -0
  274. package/dist/provider/acp/connection.d.ts +69 -3
  275. package/dist/provider/acp/index.d.ts +3 -3
  276. package/dist/provider/acp/meta.d.ts +11 -0
  277. package/dist/provider/acp/register.d.ts +1 -0
  278. package/dist/provider/acp/runtime.d.ts +1 -0
  279. package/dist/provider/acp/types.d.ts +31 -4
  280. package/dist/provider/bridge.browser.d.ts +3 -0
  281. package/dist/provider/bridge.d.ts +27 -4
  282. package/dist/provider/classify-task-error.d.ts +2 -0
  283. package/dist/provider/claude-agent-env.d.ts +1 -0
  284. package/dist/provider/cli/adapter.types.d.ts +35 -7
  285. package/dist/provider/cli/adapters/agent-call.util.d.ts +1 -1
  286. package/dist/provider/cli/adapters/antigravity-stream.d.ts +27 -0
  287. package/dist/provider/cli/adapters/antigravity.d.ts +1 -0
  288. package/dist/provider/cli/adapters/cli-knob.util.d.ts +7 -0
  289. package/dist/provider/cli/adapters/codex-item.d.ts +1 -0
  290. package/dist/provider/cli/adapters/event-timestamp.util.d.ts +1 -0
  291. package/dist/provider/cli/adapters/grok.d.ts +2 -0
  292. package/dist/provider/cli/adapters/index.d.ts +5 -0
  293. package/dist/provider/cli/adapters/opencode-data-dir.d.ts +17 -0
  294. package/dist/provider/cli/adapters/opencode.d.ts +1 -0
  295. package/dist/provider/cli/index.d.ts +3 -2
  296. package/dist/provider/cli/meta.d.ts +18 -1
  297. package/dist/provider/cli/protocol-envelope.d.ts +3 -0
  298. package/dist/provider/errors.d.ts +11 -1
  299. package/dist/provider/idle-watchdog.d.ts +19 -0
  300. package/dist/provider/model-ladder.d.ts +8 -0
  301. package/dist/provider/models.d.ts +17 -12
  302. package/dist/provider/order.d.ts +1 -1
  303. package/dist/provider/parse-usage.d.ts +6 -0
  304. package/dist/provider/provider-selection.d.ts +8 -0
  305. package/dist/provider/redact-technical-message.d.ts +1 -0
  306. package/dist/provider/safe-opencode-text.d.ts +2 -0
  307. package/dist/provider/task-error.types.d.ts +20 -0
  308. package/dist/provider-account/accounts.d.ts +15 -0
  309. package/dist/provider-account/antigravity-acp/auth.d.ts +29 -0
  310. package/dist/provider-account/antigravity-acp/browser.d.ts +4 -0
  311. package/dist/provider-account/antigravity-acp/install.d.ts +42 -0
  312. package/dist/provider-account/antigravity-acp/lease.d.ts +23 -0
  313. package/dist/provider-account/antigravity-acp/lifecycle.d.ts +76 -0
  314. package/dist/provider-account/antigravity-acp/manifest.d.ts +76 -0
  315. package/dist/provider-account/antigravity-acp/profile.d.ts +4 -0
  316. package/dist/provider-account/capabilities.d.ts +6 -0
  317. package/dist/provider-account/index.d.ts +13 -0
  318. package/dist/provider-account/registry.d.ts +30 -0
  319. package/dist/provider-account/types.d.ts +47 -0
  320. package/dist/publish/constants.d.ts +6 -0
  321. package/dist/publish/errors.d.ts +7 -0
  322. package/dist/publish/index.d.ts +55 -0
  323. package/dist/publish/index.js +2 -0
  324. package/dist/publish/manifest.d.ts +47 -0
  325. package/dist/publish/marketplace-api.constants.d.ts +1 -0
  326. package/dist/publish/pack.d.ts +6 -0
  327. package/dist/publish/scan.d.ts +10 -0
  328. package/dist/publish/secrets.d.ts +6 -0
  329. package/dist/publish/upload.d.ts +19 -0
  330. package/dist/remote/execution-profile.d.ts +9 -0
  331. package/dist/remote/index.d.ts +1 -0
  332. package/dist/remote/types.d.ts +28 -0
  333. package/dist/repository/agent-send-history.repository.d.ts +23 -0
  334. package/dist/repository/agent-suggestion.repository.d.ts +34 -0
  335. package/dist/repository/base-sqlite-repository.d.ts +1 -0
  336. package/dist/repository/common-code.repository.d.ts +45 -0
  337. package/dist/repository/db.d.ts +13 -1
  338. package/dist/repository/index.d.ts +62 -6
  339. package/dist/repository/index.js +828 -211
  340. package/dist/repository/logs-db.d.ts +12 -0
  341. package/dist/repository/notification.repository.d.ts +58 -0
  342. package/dist/repository/project.repository.d.ts +90 -0
  343. package/dist/repository/public-task-answer.d.ts +24 -0
  344. package/dist/repository/request-log-mover.d.ts +70 -0
  345. package/dist/repository/request-log.repository.d.ts +7 -3
  346. package/dist/repository/run-columns.d.ts +10 -0
  347. package/dist/repository/run-history.repository.d.ts +112 -0
  348. package/dist/repository/schedule-run.repository.d.ts +103 -0
  349. package/dist/repository/sidebar-tab.repository.d.ts +86 -0
  350. package/dist/repository/storage-metadata.repository.d.ts +64 -0
  351. package/dist/repository/task-log-migration.d.ts +74 -0
  352. package/dist/repository/task-log.repository.d.ts +47 -0
  353. package/dist/repository/task-status.d.ts +21 -0
  354. package/dist/repository/task.repository.d.ts +329 -8
  355. package/dist/repository/thread-history.repository.d.ts +193 -0
  356. package/dist/repository/thread-origin-verdict.d.ts +27 -0
  357. package/dist/repository/thread-title.types.d.ts +29 -0
  358. package/dist/repository/thread.repository.d.ts +134 -5
  359. package/dist/repository/usage-backfill.d.ts +62 -0
  360. package/dist/repository/usage-from-logs.d.ts +22 -0
  361. package/dist/repository/workflow-anchor-kinds.d.ts +4 -0
  362. package/dist/repository/workspace.repository.d.ts +3 -0
  363. package/dist/route/decide.d.ts +56 -0
  364. package/dist/route/eligibility.d.ts +11 -0
  365. package/dist/route/errors.d.ts +11 -0
  366. package/dist/route/index.d.ts +14 -0
  367. package/dist/route/runner.d.ts +15 -0
  368. package/dist/route/sqlite-store.d.ts +18 -0
  369. package/dist/route/store.d.ts +48 -0
  370. package/dist/route/strategies.d.ts +4 -0
  371. package/dist/route/types.d.ts +325 -0
  372. package/dist/schema/agent-send-history.d.ts +85 -0
  373. package/dist/schema/agent-suggestions.d.ts +199 -0
  374. package/dist/schema/app-sync.d.ts +2533 -0
  375. package/dist/schema/common-codes.d.ts +216 -0
  376. package/dist/schema/doc-create-dispatches.d.ts +101 -0
  377. package/dist/schema/doc-sync-connect-requests.d.ts +140 -0
  378. package/dist/schema/doc-sync-links.d.ts +556 -0
  379. package/dist/schema/index.d.ts +23 -0
  380. package/dist/schema/model-routes.d.ts +638 -0
  381. package/dist/schema/notifications.d.ts +303 -0
  382. package/dist/schema/projects.d.ts +610 -0
  383. package/dist/schema/request-log-daily.d.ts +151 -0
  384. package/dist/schema/run-column-backfill.d.ts +81 -0
  385. package/dist/schema/schedule-runs.d.ts +451 -0
  386. package/dist/schema/sidebar-tabs.d.ts +466 -0
  387. package/dist/schema/storage-metadata.d.ts +181 -0
  388. package/dist/schema/task-log-events.d.ts +119 -0
  389. package/dist/schema/task-provider-inputs.d.ts +100 -0
  390. package/dist/schema/tasks.d.ts +1172 -1
  391. package/dist/schema/thread-creator-unverified.d.ts +45 -0
  392. package/dist/schema/thread-history.d.ts +734 -0
  393. package/dist/schema/threads.d.ts +59 -0
  394. package/dist/schema/ui-action-receipts.d.ts +358 -0
  395. package/dist/schema/ui-definition-archive.d.ts +63 -0
  396. package/dist/schema/ui-instance-repins.d.ts +222 -0
  397. package/dist/schema/ui-instances.d.ts +324 -0
  398. package/dist/schema/workspaces.d.ts +17 -0
  399. package/dist/skills/index.d.ts +15 -0
  400. package/dist/skills/index.js +2 -0
  401. package/dist/skills/types.d.ts +18 -0
  402. package/dist/task-log/anchor-child-tasks.d.ts +7 -0
  403. package/dist/task-log/delegation-trailer.d.ts +34 -0
  404. package/dist/template/engine.d.ts +2 -2
  405. package/dist/template/helpers/exec.browser.d.ts +4 -3
  406. package/dist/template/helpers/exec.d.ts +4 -3
  407. package/dist/template/helpers/format-conversation.d.ts +1 -0
  408. package/dist/template/types.d.ts +20 -0
  409. package/dist/testing/index.js +1 -1
  410. package/dist/types/index.d.ts +3171 -96
  411. package/dist/types/task-log.types.d.ts +6 -1
  412. package/dist/ui-card/index.d.ts +2 -0
  413. package/dist/ui-card/legacy-card-parser.d.ts +11 -0
  414. package/dist/ui-instance/definition.d.ts +6 -0
  415. package/dist/ui-instance/errors.d.ts +18 -0
  416. package/dist/ui-instance/index.d.ts +11 -0
  417. package/dist/ui-instance/json.d.ts +19 -0
  418. package/dist/ui-instance/lineage.d.ts +24 -0
  419. package/dist/ui-instance/runtime.d.ts +19 -0
  420. package/dist/ui-instance/store.d.ts +216 -0
  421. package/dist/ui-instance/types.d.ts +384 -0
  422. package/dist/ui-plugin/app-icon.d.ts +50 -0
  423. package/dist/ui-plugin/app-manifest.d.ts +64 -0
  424. package/dist/ui-plugin/csp.d.ts +28 -0
  425. package/dist/ui-plugin/index.d.ts +8 -0
  426. package/dist/ui-plugin/limits.d.ts +27 -0
  427. package/dist/ui-plugin/manifest.d.ts +3 -0
  428. package/dist/ui-plugin/types.d.ts +220 -0
  429. package/dist/ui-plugin/validator.d.ts +18 -0
  430. package/dist/utils/crewx-executable.d.ts +76 -0
  431. package/dist/utils/crewx-home.d.ts +1 -0
  432. package/dist/utils/env-defaults.d.ts +3 -0
  433. package/dist/utils/id.d.ts +1 -1
  434. package/dist/utils/local-identity.d.ts +2 -0
  435. package/dist/utils/runner-env.d.ts +3 -0
  436. package/dist/utils/timestamp.d.ts +1 -0
  437. package/dist/utils/workspace.d.ts +1 -0
  438. package/dist/wi/create.d.ts +48 -0
  439. package/dist/wi/select.d.ts +20 -0
  440. package/package.json +90 -3
  441. package/templates/agents/default.yaml +311 -128
  442. package/templates/documents/crewx-manual.md +138 -138
  443. package/templates/documents/crewx-quick-guide.md +8 -7
  444. package/templates/workflows/wi-default-flow.yaml +65 -0
  445. package/templates/workflows/wi-plan-flow.yaml +140 -0
@@ -1,15 +1,61 @@
1
1
  import { CrewxPlugin } from '../plugin';
2
2
  import type { Crewx } from '../facade/Crewx';
3
+ export interface SqliteTracingMetrics {
4
+ flushCount: number;
5
+ flushedEntries: number;
6
+ maxQueueEntries: number;
7
+ maxQueueBytes: number;
8
+ appendFailureCount: number;
9
+ appendFailureEntries: number;
10
+ appendFailureBytes: number;
11
+ appendFailureByCode: Record<string, number>;
12
+ appendFailureByCause: Record<string, number>;
13
+ pendingQueueEntries: number;
14
+ pendingQueueBytes: number;
15
+ }
16
+ export interface SqliteTracingRunnerIdentity {
17
+ detachedRunner: boolean;
18
+ assignedTaskId?: string;
19
+ }
20
+ export interface OwnedTaskRun {
21
+ taskId: string;
22
+ runEpoch: number;
23
+ workspaceId: string | null;
24
+ ownership: 'runner' | 'caller';
25
+ }
3
26
  export interface SqliteTracingPluginOptions {
4
27
  dbRoot?: string;
5
28
  version?: string;
29
+ runnerIdentity?: SqliteTracingRunnerIdentity;
30
+ inheritWorktreeOwner?: boolean;
6
31
  }
7
32
  export declare class SqliteTracingPlugin extends CrewxPlugin {
8
33
  readonly name = "sqlite-tracing";
9
34
  private unsubs;
10
35
  private readonly dbPath;
11
36
  private readonly version;
37
+ private readonly inheritWorktreeOwner;
38
+ private readonly runnerIdentity;
39
+ private taskRepo?;
40
+ private readonly heartbeatTaskIds;
41
+ private readonly ownedTaskRuns;
42
+ private readonly ignoredDetachedTaskIds;
43
+ private readonly queues;
44
+ private metrics;
12
45
  constructor(opts?: SqliteTracingPluginOptions);
13
46
  attach(crewx: Crewx): void;
14
47
  detach(_crewx: Crewx): void;
48
+ listOwnedRunningTasks(): OwnedTaskRun[];
49
+ stopOwnedRunningTasksForHostShutdown(): Promise<void>;
50
+ getMetrics(): SqliteTracingMetrics;
51
+ private resolveTaskId;
52
+ private recordOwnedTaskRun;
53
+ private removeOwnedTaskRun;
54
+ private enqueueLog;
55
+ private recoverPartialResult;
56
+ private handleStopRequested;
57
+ private flushTaskLogs;
58
+ private flushAllTaskLogs;
59
+ private clearAllTimers;
60
+ private recordAppendFailure;
15
61
  }
@@ -0,0 +1,2 @@
1
+ export { checkProcessOwnership, checkProcessOwnershipAsync, OWNED_GROUP_KILL_CONFIRM_MS, parseProcessElapsedSeconds, parseWindowsCreationDate, PROCESS_START_TIME_TOLERANCE_MS, probeProcessLiveness, readProcessIdentity, readProcessIdentityAsync, terminateOwnedProcessGroup, terminateProcessTree, UNIX_PROCESS_POLL_INTERVAL_MS, UNIX_SIGKILL_CONFIRM_MS, UNIX_SIGTERM_GRACE_MS, } from './process-control.js';
2
+ export type { OwnedProcessGroupErrorKind, OwnedProcessGroupSignal, OwnedProcessGroupStatus, OwnedProcessGroupTerminationResult, ProcessCommandLineResult, ProcessIdentityLookup, ProcessCommandResult, ProcessCommandRunner, ProcessCommandRunnerAsync, ProcessControlOptions, ProcessLiveness, ProcessOwnership, ProcessTerminationResult, ProcessTerminationStatus, TerminateOwnedProcessGroupOptions, } from './process-control.js';
@@ -0,0 +1 @@
1
+ 'use strict';var child_process=require('child_process');var O=3e3;var b=2e3,g=25,L=100;function R(e){return e instanceof Error?e:e===void 0?void 0:new Error(String(e))}function y(e){return typeof e=="object"&&e!==null&&"code"in e?String(e.code):void 0}function S(e){return Number.isSafeInteger(e)&&e>0}function X(e){let r=e.trim();if(!r)return "";let n=/^(?:"([^"]+)"|'([^']+)')/.exec(r);return n?.[1]??n?.[2]??r.split(/\s+/,1)[0]??""}function J(e,r,n){let t=n==="win32"?e.toLowerCase():e,o=n==="win32"?r.toLowerCase():r;if(!o.trim())return false;if(o==="agy"){let s=X(e).split(/[\\/]/).pop()??"",i=n==="win32"?s.toLowerCase():s;return i==="agy"||n==="win32"&&(i==="agy.exe"||i==="agy.cmd")}return t.includes(o)}function h(e,r,n){return r.some(t=>J(e,t,n))}function x(e,r){try{let n=child_process.spawnSync(e,r,{encoding:"utf8",timeout:O,windowsHide:!0});return {status:n.status,stdout:typeof n.stdout=="string"?n.stdout:"",stderr:typeof n.stderr=="string"?n.stderr:"",error:n.error}}catch(n){return {status:null,stdout:"",stderr:"",error:R(n)}}}function B(e,r){return new Promise(n=>{let t;try{t=child_process.spawn(e,r,{windowsHide:!0});}catch(a){n({status:null,stdout:"",stderr:"",error:R(a)});return}let o="",s="",i=false,u,m=setTimeout(()=>{try{t.kill();}catch{}u({status:null,stdout:o,stderr:s,error:new Error(`Command timed out after ${O}ms`)});},O);u=a=>{i||(i=true,clearTimeout(m),n(a));},t.stdout?.setEncoding("utf8"),t.stderr?.setEncoding("utf8"),t.stdout?.on("data",a=>{o+=String(a);}),t.stderr?.on("data",a=>{s+=String(a);}),t.once("error",a=>{u({status:null,stdout:o,stderr:s,error:a});}),t.once("close",a=>{u({status:a,stdout:o,stderr:s});});})}async function I(e,r,n){return n.runCommandAsync?n.runCommandAsync(e,r):n.runCommand?n.runCommand(e,r):B(e,r)}function G(e){return new Promise(r=>{setTimeout(r,Math.max(0,e));})}function E(){return new Promise(e=>{setImmediate(e);})}function w(e,r=process.kill){try{return r(e,0),"alive"}catch(n){return y(n)==="ESRCH"?"not_found":y(n)==="EPERM"?"alive":"unknown"}}function V(e,r){if(!S(e))return {status:"unknown"};let n=r.platform??process.platform,t=r.runCommand??x,o=n==="win32"?"powershell.exe":"ps",s=n==="win32"?["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",`$p = Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${e}' -ErrorAction Stop; if ($null -ne $p) { [Console]::Write([string]$p.CommandLine) }`]:["-p",String(e),"-o","command="],i;try{i=t(o,s);}catch{return {status:"unknown"}}if(i.error||i.status!==0)return {status:"unknown"};let u=i.stdout.trim();return u?{status:"found",commandLine:u}:{status:"not_found"}}function j(e,r){let n=w(-e,r),t=w(e,r);return n==="alive"||t==="alive"?"alive":n==="unknown"||t==="unknown"?"unknown":"not_found"}async function v(e,r,n,t){let o=Math.max(0,n),s=Math.max(1,t.pollIntervalMs??g),i=Date.now()+o,u,m=o===0,a=t.sleep?Promise.resolve().then(()=>t.sleep(o)).then(()=>{},()=>{}):new Promise(c=>{u=setTimeout(c,o);});a.then(()=>{m=true;});try{for(await E();;){let c=j(e,r);if(c==="not_found")return c;let f=i-Date.now();if(m||f<=0)return c;await Promise.race([a,G(Math.min(s,f))]);}}finally{u!==void 0&&clearTimeout(u);}}async function k(e,r,n,t,o){let s=await v(e,r,o.hardConfirmMs??L,{...o,sleep:void 0});return s==="not_found"?n?{status:"not_found",pid:e,method:t}:{status:"terminated",pid:e,method:t}:s==="alive"?{status:"failed",pid:e,method:t,error:"Process is still running after termination attempt"}:{status:"failed",pid:e,method:t,error:"Unable to verify process termination"}}function z(e,r,n={}){let t=V(e,n);if(t.status!=="found")return t.status;let o=n.platform??process.platform;return h(t.commandLine,r,o)?"owned":"not_owned"}async function q(e,r,n={}){if(!S(e))return "unknown";let t=n.platform??process.platform,o=t==="win32"?"powershell.exe":"ps",s=t==="win32"?["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",`$p = Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${e}' -ErrorAction Stop; if ($null -ne $p) { [Console]::Write([string]$p.CommandLine) }`]:["-p",String(e),"-o","command="],i;try{i=await I(o,s,n);}catch{return "unknown"}if(i.error||i.status!==0)return "unknown";let u=i.stdout.trim();return u?h(u,r,t)?"owned":"not_owned":"not_found"}var Y=3e3,Z=/^(?:(\d+)-)?(?:(\d+):)?(\d{1,2}):(\d{2})$/,Q=/^\s*(\d+)\s+(\S+)\s+(\S+)\s*$/,ee=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\.(\d{6})([+-]\d{3})$/;function A(e){let r=Z.exec(e.trim());if(!r)return;let[,n="0",t="0",o="0",s="0"]=r;return ((Number(n)*24+Number(t))*60+Number(o))*60+Number(s)}function U(e){let r=e.trim(),n=ee.exec(r);if(n){let[,o,s,i,u,m,a,c,f]=n;return Date.UTC(Number(o),Number(s)-1,Number(i),Number(u),Number(m),Number(a),Math.trunc(Number(c)/1e3))-Number(f)*6e4}let t=Date.parse(r);return Number.isFinite(t)?t:void 0}function D(e,r){return r==="win32"?{command:"powershell.exe",args:["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",`$p = Get-CimInstance -ClassName Win32_Process -Filter 'ProcessId = ${e}' -ErrorAction Stop; if ($null -ne $p) { [Console]::Write($p.CreationDate.ToUniversalTime().ToString('o')) }`]}:{command:"ps",args:["-p",String(e),"-o","pgid=","-o","etime=","-o","stat="]}}function $(e,r,n){if(e.error)return {status:"unknown"};let t=e.stdout.trim();if(!t)return e.status===0||e.status===1?{status:"not_found"}:{status:"unknown"};if(e.status!==0)return {status:"unknown"};if(r==="win32"){let i=U(t);return i===void 0?{status:"unknown"}:{status:"found",startedAtMs:i,groupId:null}}let o=Q.exec(t),s=o?A(o[2]):void 0;return !o||s===void 0?{status:"unknown"}:o[3].startsWith("Z")?{status:"unknown"}:{status:"found",startedAtMs:n-s*1e3,groupId:Number(o[1])}}function ne(e,r={}){if(!S(e))return {status:"unknown"};let n=r.platform??process.platform,{command:t,args:o}=D(e,n),s=r.runCommand??x,i;try{i=s(t,o);}catch{return {status:"unknown"}}return $(i,n,Date.now())}async function re(e,r={}){if(!S(e))return {status:"unknown"};let n=r.platform??process.platform,{command:t,args:o}=D(e,n),s;try{s=await I(t,o,r);}catch{return {status:"unknown"}}return $(s,n,Date.now())}async function te(e,r={}){let n=r.platform??process.platform,t=n==="win32"?"taskkill":"process-group",o=l=>({status:"failed",pid:e,method:t,error:l});if(!S(e))return o("Invalid process ID");let s=r.kill??process.kill,i=w(e,s);if(i==="not_found")return {status:"not_found",pid:e,method:t};if(i!=="alive")return o("Unable to determine whether the process is alive");if(n==="win32"){let l;try{l=await I("taskkill",["/PID",String(e),"/T","/F"],r);}catch(P){l={status:null,stdout:"",stderr:"",error:R(P)};}let p=w(e,s);return p==="not_found"?l.status===0&&!l.error?{status:"terminated",pid:e,method:t}:{status:"not_found",pid:e,method:t}:o(p==="alive"?"Process is still running after termination attempt":"Unable to verify process termination")}let u,m=r.signal??"SIGKILL";try{s(-e,m);}catch(l){u=l;}if(m==="SIGKILL")return k(e,s,u,t,r);if(await v(e,s,r.graceMs??b,r)==="not_found")return u?{status:"not_found",pid:e,method:t}:{status:"terminated",pid:e,method:t};let c;try{s(-e,"SIGKILL");}catch(l){c=l;}let f=await k(e,s,c,t,r);return f.status==="terminated"?f:f.status==="not_found"?u?f:{status:"terminated",pid:e,method:t}:o(f.error??"Process termination failed")}var K=1e3,oe=["SIGTERM","SIGINT","SIGHUP","SIGKILL"],se=6e4,ie=100,ue=3e4,ae=1e3;function C(e,r,n){return Number.isFinite(e)&&e>=r&&e<=n}function ce(e){return Number.isSafeInteger(e)&&e>1&&e!==process.pid}function N(e,r){try{return r(-e,0),"alive"}catch(n){let t=y(n);return t==="ESRCH"?"not_found":t==="EPERM"?"denied":"unknown"}}function M(e,r,n){try{return n(-e,r),"sent"}catch(t){let o=y(t);return o==="ESRCH"?"empty":o==="EPERM"?"denied":"failed"}}function _(){return performance.now()}async function T(e,r,n,t){let o=_()+n;for(;;){await E();let s=N(e,r);if(s==="not_found")return s;let i=o-_();if(i<=0)return s;await G(Math.min(t,i));}}async function de(e,r,n,t){for(;;){await E();let o=N(e,r);if(o==="not_found"||o==="alive")return o;let s=n-_();if(s<=0)return o;await G(Math.min(t,s));}}function d(e,r,n,t){return {status:r,groupId:e,...n?{lastSignal:n}:{},...t?{errorKind:t}:{}}}async function me(e,r={}){let n=r.signal??"SIGTERM",t=r.graceMs??b,o=r.hardConfirmMs??K,s=r.pollIntervalMs??g;if(!ce(e))return d(e,"failed",void 0,"invalid_group_id");if(!oe.includes(n)||!C(t,0,se)||!C(o,ie,ue)||!C(s,1,ae))return d(e,"failed",void 0,"invalid_option");if((r.platform??process.platform)==="win32")return d(e,"unsupported",void 0,"unsupported_platform");let u=r.kill??process.kill,m=N(e,u);if(m==="not_found")return d(e,"exited");let a=t;if(m==="denied"&&n!=="SIGKILL"&&t>0){let p=_()+t,P=await de(e,u,p,s);if(P==="not_found")return d(e,"exited");if(P!=="alive")return d(e,"failed",void 0,P==="denied"?"probe_denied":"probe_failed");a=Math.max(0,p-_());}else if(m!=="alive")return d(e,"failed",void 0,m==="denied"?"probe_denied":"probe_failed");let c;if(n!=="SIGKILL"){let p=M(e,n,u);if(p==="empty")return d(e,"exited");if(p!=="sent")return d(e,"failed",void 0,p==="denied"?"signal_denied":"signal_failed");c=n;let P=await T(e,u,a,s);if(P==="not_found")return d(e,"exited",c);if(P!=="alive")return d(e,"failed",c,P==="denied"?"probe_denied":"probe_failed")}let f=M(e,"SIGKILL",u);if(f==="empty")return d(e,"exited",c);if(f!=="sent")return d(e,"failed",c,f==="denied"?"signal_denied":"signal_failed");c="SIGKILL";let l=await T(e,u,o,s);return l==="not_found"?d(e,"exited",c):l==="alive"?d(e,"failed",c,"still_running"):d(e,"failed",c,l==="denied"?"probe_denied":"probe_failed")}exports.OWNED_GROUP_KILL_CONFIRM_MS=K;exports.PROCESS_START_TIME_TOLERANCE_MS=Y;exports.UNIX_PROCESS_POLL_INTERVAL_MS=g;exports.UNIX_SIGKILL_CONFIRM_MS=L;exports.UNIX_SIGTERM_GRACE_MS=b;exports.checkProcessOwnership=z;exports.checkProcessOwnershipAsync=q;exports.parseProcessElapsedSeconds=A;exports.parseWindowsCreationDate=U;exports.probeProcessLiveness=w;exports.readProcessIdentity=ne;exports.readProcessIdentityAsync=re;exports.terminateOwnedProcessGroup=me;exports.terminateProcessTree=te;
@@ -0,0 +1,74 @@
1
+ export type ProcessLiveness = 'alive' | 'not_found' | 'unknown';
2
+ export type ProcessOwnership = 'owned' | 'not_owned' | 'not_found' | 'unknown';
3
+ export type ProcessTerminationStatus = 'terminated' | 'not_found' | 'failed';
4
+ export interface ProcessCommandResult {
5
+ status: number | null;
6
+ stdout: string;
7
+ stderr: string;
8
+ error?: Error;
9
+ }
10
+ export type ProcessCommandRunner = (command: string, args: string[]) => ProcessCommandResult;
11
+ export type ProcessCommandRunnerAsync = (command: string, args: string[]) => Promise<ProcessCommandResult>;
12
+ export interface ProcessControlOptions {
13
+ platform?: NodeJS.Platform;
14
+ kill?: typeof process.kill;
15
+ runCommand?: ProcessCommandRunner;
16
+ runCommandAsync?: ProcessCommandRunnerAsync;
17
+ sleep?: (ms: number) => void | PromiseLike<void>;
18
+ graceMs?: number;
19
+ pollIntervalMs?: number;
20
+ hardConfirmMs?: number;
21
+ }
22
+ export interface ProcessCommandLineResult {
23
+ status: 'found' | 'not_found' | 'unknown';
24
+ commandLine?: string;
25
+ }
26
+ export interface ProcessTerminationResult {
27
+ status: ProcessTerminationStatus;
28
+ pid: number;
29
+ method: 'taskkill' | 'process-group';
30
+ error?: string;
31
+ }
32
+ export declare const POSIX_COOPERATIVE_STOP_SIGNAL: NodeJS.Signals;
33
+ export declare const UNIX_SIGTERM_GRACE_MS = 2000;
34
+ export declare const UNIX_PROCESS_POLL_INTERVAL_MS = 25;
35
+ export declare const UNIX_SIGKILL_CONFIRM_MS = 100;
36
+ export declare function probeProcessLiveness(pid: number, kill?: typeof process.kill): ProcessLiveness;
37
+ export declare function checkProcessOwnership(pid: number, markers: readonly string[], options?: ProcessControlOptions): ProcessOwnership;
38
+ export declare function checkProcessOwnershipAsync(pid: number, markers: readonly string[], options?: ProcessControlOptions): Promise<ProcessOwnership>;
39
+ export declare const PROCESS_START_TIME_TOLERANCE_MS = 3000;
40
+ export type ProcessIdentityLookup = {
41
+ status: 'found';
42
+ startedAtMs: number;
43
+ groupId: number | null;
44
+ } | {
45
+ status: 'not_found';
46
+ } | {
47
+ status: 'unknown';
48
+ };
49
+ export declare function parseProcessElapsedSeconds(value: string): number | undefined;
50
+ export declare function parseWindowsCreationDate(value: string): number | undefined;
51
+ export declare function readProcessIdentity(pid: number, options?: ProcessControlOptions): ProcessIdentityLookup;
52
+ export declare function readProcessIdentityAsync(pid: number, options?: ProcessControlOptions): Promise<ProcessIdentityLookup>;
53
+ export declare function terminateProcessTree(pid: number, options?: ProcessControlOptions & {
54
+ signal?: NodeJS.Signals;
55
+ }): Promise<ProcessTerminationResult>;
56
+ export declare const OWNED_GROUP_KILL_CONFIRM_MS = 1000;
57
+ export type OwnedProcessGroupSignal = 'SIGTERM' | 'SIGINT' | 'SIGHUP' | 'SIGKILL';
58
+ export type OwnedProcessGroupStatus = 'exited' | 'failed' | 'unsupported';
59
+ export type OwnedProcessGroupErrorKind = 'invalid_group_id' | 'invalid_option' | 'unsupported_platform' | 'probe_denied' | 'probe_failed' | 'signal_denied' | 'signal_failed' | 'still_running';
60
+ export interface OwnedProcessGroupTerminationResult {
61
+ status: OwnedProcessGroupStatus;
62
+ groupId: number;
63
+ lastSignal?: OwnedProcessGroupSignal;
64
+ errorKind?: OwnedProcessGroupErrorKind;
65
+ }
66
+ export interface TerminateOwnedProcessGroupOptions {
67
+ signal?: OwnedProcessGroupSignal;
68
+ graceMs?: number;
69
+ hardConfirmMs?: number;
70
+ pollIntervalMs?: number;
71
+ platform?: NodeJS.Platform;
72
+ kill?: typeof process.kill;
73
+ }
74
+ export declare function terminateOwnedProcessGroup(groupId: number, options?: TerminateOwnedProcessGroupOptions): Promise<OwnedProcessGroupTerminationResult>;
@@ -0,0 +1,22 @@
1
+ export declare const PROMPT_TAGS: {
2
+ readonly crewxSystemPrompt: "crewx_system_prompt";
3
+ readonly systemPrompt: "system_prompt";
4
+ readonly threadContext: "crewx_thread_context";
5
+ readonly threadState: "thread_state";
6
+ readonly apps: "apps";
7
+ readonly appsGuidance: "apps_guidance";
8
+ readonly availableApps: "available_apps";
9
+ readonly crewxUiState: "crewx_ui_state";
10
+ readonly highlights: "highlights";
11
+ readonly highlight: "highlight";
12
+ readonly omittedTurns: "omitted_turns";
13
+ readonly messages: "messages";
14
+ readonly message: "message";
15
+ readonly userQuery: "user_query";
16
+ readonly execOutput: "exec_output";
17
+ };
18
+ export declare const LEGACY_PROMPT_TAGS: {
19
+ readonly conversationHistory: "conversation_history";
20
+ readonly semanticContinuity: "semantic_continuity";
21
+ readonly execOutput: "exec-output";
22
+ };
@@ -1,6 +1,7 @@
1
- import type { NewSessionRequest, SessionNotification, PromptResponse } from './types.js';
2
- import type { ProviderUsage } from '../bridge.js';
1
+ import type { RequestPermissionRequest, RequestPermissionResponse, NewSessionRequest, NewSessionResponse, ResumeSessionResponse, SessionNotification, PromptResponse, InitializeResponse, ClientCapabilities } from './types.js';
2
+ import type { ProviderQueryOptions, ProviderUsage } from '../bridge.js';
3
3
  import type { AcpSessionOptions, AcpOptionAction } from './types.js';
4
+ import type { AcpConnection } from './connection.js';
4
5
  import type { TaskLogEntry } from '../../types/task-log.types.js';
5
6
  export type { AcpSessionOptions, AcpOptionAction };
6
7
  export interface AcpToolCallParsed {
@@ -27,9 +28,42 @@ export interface AcpProviderMeta {
27
28
  displayName: string;
28
29
  defaultMode?: string;
29
30
  }
31
+ export type AcpPermissionPolicy = (request: RequestPermissionRequest) => RequestPermissionResponse | Promise<RequestPermissionResponse>;
32
+ export interface AcpSessionSelectionContext {
33
+ readonly connection: AcpConnection;
34
+ readonly sessionId: string;
35
+ readonly resumed: boolean;
36
+ readonly sessionState?: NewSessionResponse | ResumeSessionResponse;
37
+ readonly options: ProviderQueryOptions;
38
+ }
39
+ export interface AcpAppliedSelection {
40
+ readonly model?: {
41
+ readonly requested?: string;
42
+ readonly applied?: string;
43
+ };
44
+ readonly effort?: {
45
+ readonly requested?: string;
46
+ readonly applied?: string;
47
+ };
48
+ }
49
+ export type AcpLineInterceptor = (stream: 'stdout' | 'stderr', line: string) => boolean;
30
50
  export interface AcpProviderAdapter {
31
51
  readonly spawn: AcpSpawnConfig;
52
+ readonly completionProof?: boolean;
53
+ readonly completionEligible?: () => boolean;
32
54
  readonly meta?: AcpProviderMeta;
55
+ readonly strictOptions?: boolean;
56
+ readonly connectTimeoutMs?: number;
57
+ readonly sessionTimeoutMs?: number;
58
+ readonly permissionPolicy?: AcpPermissionPolicy;
59
+ readonly autoAuthenticate?: boolean;
60
+ readonly allowIdOnlyAuth?: boolean;
61
+ readonly sessionResume?: boolean;
62
+ readonly clientCapabilities?: ClientCapabilities;
63
+ readonly validateInitialize?: (initializeResult: InitializeResponse) => void;
64
+ readonly beforeSession?: (connection: AcpConnection, initializeResult: InitializeResponse, options: ProviderQueryOptions) => void | Promise<void>;
65
+ readonly applySessionSelection?: (context: AcpSessionSelectionContext) => Promise<AcpAppliedSelection | void>;
66
+ readonly interceptLine?: AcpLineInterceptor;
33
67
  readonly npmPackage?: string;
34
68
  readonly clientInfo?: {
35
69
  name: string;
@@ -40,6 +74,7 @@ export interface AcpProviderAdapter {
40
74
  extractUsage?(result: PromptResponse): ProviderUsage | null;
41
75
  buildEffortAction?(effort: string, model?: string): AcpOptionAction | null;
42
76
  buildSpawnEnv?(model: string): Record<string, string> | undefined;
77
+ buildTrustedSpawnEnv?(options: ProviderQueryOptions): Record<string, string> | undefined;
43
78
  resolveMode?(mode: string): string | null;
44
79
  readonly yoloModeId?: string;
45
80
  parseToolCall?(event: AcpToolCallEvent): AcpToolCallParsed | null;
@@ -0,0 +1,4 @@
1
+ import type { AiAccountRunBinding } from '../../../provider-account/antigravity-acp/lifecycle.js';
2
+ import type { AcpProviderAdapter } from '../adapter.js';
3
+ export declare function createAntigravityAccountAdapter(input: AiAccountRunBinding): AcpProviderAdapter;
4
+ export declare function resolveAntigravityAccountMode(mode: string): string | null;
@@ -0,0 +1,24 @@
1
+ export declare class AcpCompletionObserver {
2
+ private valid;
3
+ private eofObserved;
4
+ private sessionId;
5
+ private readonly pendingSessionUpdates;
6
+ private readonly tools;
7
+ private readonly pendingAgentRequests;
8
+ private readonly pendingClientRequests;
9
+ private readonly seenAgentRequestIds;
10
+ private readonly seenClientRequestIds;
11
+ observeLine(line: string): void;
12
+ observeOutgoingLine(line: string): void;
13
+ setSessionId(sessionId: string): void;
14
+ observeEndOfStream(): void;
15
+ invalidate(): void;
16
+ isCompleteFor(sessionId: string): boolean;
17
+ private observeAgentRequest;
18
+ private observeAgentNotification;
19
+ private observeAgentResponse;
20
+ private observeClientRequest;
21
+ private observeClientNotification;
22
+ private observeClientResponse;
23
+ private applySessionUpdate;
24
+ }
@@ -1,27 +1,65 @@
1
- import type { NewSessionRequest, NewSessionResponse, InitializeResponse, SessionNotification, PromptResponse, ContentBlock } from './types.js';
1
+ import type { SetSessionConfigOptionResponse } from '@agentclientprotocol/sdk';
2
+ import type { NewSessionRequest, NewSessionResponse, InitializeResponse, SessionNotification, PromptResponse, ContentBlock, ResumeSessionRequest, ResumeSessionResponse, ClientCapabilities } from './types.js';
2
3
  import { AcpProtocolError } from './types.js';
3
- import type { AcpSpawnConfig } from './adapter.js';
4
+ import type { AcpLineInterceptor, AcpPermissionPolicy, AcpSpawnConfig } from './adapter.js';
4
5
  export interface AcpConnectionOptions {
5
6
  spawn: AcpSpawnConfig;
6
7
  env?: Record<string, string>;
8
+ trustedEnv?: Record<string, string>;
9
+ unsetEnv?: readonly string[];
10
+ unsetEnvPrefixes?: readonly string[];
7
11
  cwd?: string;
8
12
  timeoutMs?: number;
13
+ connectTimeoutMs?: number;
14
+ sessionTimeoutMs?: number;
15
+ strictOptions?: boolean;
16
+ autoAuthenticate?: boolean;
17
+ allowIdOnlyAuth?: boolean;
18
+ sessionResume?: boolean;
19
+ clientCapabilities?: ClientCapabilities;
20
+ interceptLine?: AcpLineInterceptor;
21
+ onProtocolLine?: (line: string) => void;
22
+ onOutgoingProtocolLine?: (line: string) => void;
23
+ verifyOwnedProcessGroup?: boolean;
24
+ signal?: AbortSignal;
25
+ idleMs?: number;
9
26
  onStderr?: (line: string) => void;
10
27
  onPid?: (pid: number) => void;
11
28
  configOptions?: Record<string, string>;
29
+ permissionPolicy?: AcpPermissionPolicy;
12
30
  }
13
31
  export declare class AcpConnection {
14
32
  private readonly options;
15
33
  private proc;
16
34
  private sdkConnection;
17
35
  private disposed;
36
+ private disposePromise;
18
37
  private stderrBuffer;
19
38
  private collectedStderr;
39
+ private stderrDecoder;
40
+ private stderrDecodeChain;
20
41
  private pendingUpdateCallback;
42
+ private idleWatchdog;
43
+ private idleReject;
44
+ private idlePromise;
21
45
  private authMethods;
46
+ private effectiveEnv;
22
47
  private _initResponse;
48
+ private stdoutDecoder;
49
+ private stdoutLineBuffer;
50
+ private outgoingDecoder;
51
+ private outgoingLineBuffer;
52
+ private _stdoutTailObserved;
53
+ private stdoutTailDone;
54
+ private readonly stdoutTailPromise;
55
+ private resolveStdoutTail;
56
+ private processClosePromise;
57
+ private ownedProcessGroupId;
58
+ private _ownedProcessGroupDisposed;
23
59
  get initResponse(): InitializeResponse | null;
24
60
  constructor(options: AcpConnectionOptions);
61
+ get ownedProcessGroupDisposed(): boolean;
62
+ get stdoutTailObserved(): boolean;
25
63
  connect(clientInfo?: {
26
64
  name: string;
27
65
  version: string;
@@ -31,14 +69,42 @@ export declare class AcpConnection {
31
69
  private newSessionWithTimeout;
32
70
  newSessionRaw(params: NewSessionRequest): Promise<NewSessionResponse>;
33
71
  private newSessionRawTimeout;
72
+ resumeSession(params: ResumeSessionRequest): Promise<string>;
73
+ resumeSessionRaw(params: ResumeSessionRequest): Promise<ResumeSessionResponse>;
74
+ private resumeSessionRawTimeout;
75
+ getAuthMethods(): Array<{
76
+ id: string;
77
+ name?: string;
78
+ type?: string;
79
+ }>;
80
+ authenticate(methodId: string, options?: {
81
+ signal?: AbortSignal;
82
+ }): Promise<void>;
83
+ logout(options?: {
84
+ signal?: AbortSignal;
85
+ }): Promise<void>;
86
+ private withProcessReply;
34
87
  private isAuthError;
35
88
  private tryAuthenticate;
36
89
  private hasEnvVarsFor;
90
+ private hasResumeCapability;
91
+ private createAuthRequiredError;
92
+ private assertCanOperate;
93
+ private withSignal;
94
+ private withTimeoutAndSignal;
95
+ private shouldConsumeLine;
96
+ private consumeStdoutText;
97
+ private finishStdoutTail;
98
+ private consumeOutgoingText;
99
+ private consumeStderrText;
100
+ private emitStderrLine;
37
101
  setModel(sessionId: string, modelId: string): Promise<void>;
38
102
  setMode(sessionId: string, modeId: string): Promise<void>;
39
- setConfigOption(sessionId: string, configId: string, value: string): Promise<void>;
103
+ setConfigOption(sessionId: string, configId: string, value: string): Promise<SetSessionConfigOptionResponse>;
40
104
  prompt(sessionId: string, promptBlocks: ContentBlock[], onUpdate?: (notification: SessionNotification) => void, timeoutMs?: number): Promise<PromptResponse>;
41
105
  dispose(): Promise<void>;
106
+ private disposeResources;
107
+ private disposeOwnedProcessGroup;
42
108
  get isConnected(): boolean;
43
109
  }
44
110
  export { AcpProtocolError };
@@ -1,6 +1,6 @@
1
- export { AcpProtocolError } from './types.js';
2
- export type { AcpSessionOptions, InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, SessionNotification, SessionUpdate, ContentBlock, McpServer, } from './types.js';
3
- export type { AcpProviderAdapter, AcpProviderMeta, AcpSpawnConfig } from './adapter.js';
1
+ export { AcpAbortError, AcpAuthMethodError, AcpAuthRequiredError, AcpCapabilityError, AcpOptionError, AcpProtocolError, } from './types.js';
2
+ export type { AcpSessionOptions, AcpProtocolErrorReason, ClientCapabilities, InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ResumeSessionRequest, ResumeSessionResponse, RequestPermissionRequest, RequestPermissionResponse, SessionNotification, SessionUpdate, ContentBlock, McpServer, } from './types.js';
3
+ export type { AcpAppliedSelection, AcpLineInterceptor, AcpPermissionPolicy, AcpProviderAdapter, AcpProviderMeta, AcpSessionSelectionContext, AcpSpawnConfig, } from './adapter.js';
4
4
  export { defaultExtractText, defaultParseEvent } from './adapter.js';
5
5
  export type { AcpProviderMetaResult } from './meta.js';
6
6
  export { queryAcpProviderMeta, queryAllAcpProviderMetas } from './meta.js';
@@ -1,3 +1,7 @@
1
+ import type { ProviderDefaultProfile } from '../models.js';
2
+ import type { ProviderOptionSpec } from '../models.js';
3
+ import type { ModelTier } from '../../config/models.generated.js';
4
+ import type { ModelApiPricing } from '../../config/pricing.types.js';
1
5
  import type { InitializeResponse, NewSessionResponse } from './types.js';
2
6
  export interface AcpProviderMetaResult {
3
7
  id: string;
@@ -11,11 +15,18 @@ export interface AcpProviderMetaResult {
11
15
  models: Array<{
12
16
  id: string;
13
17
  name?: string;
18
+ description?: string;
19
+ contextWindowTokens?: number;
20
+ tier?: ModelTier;
21
+ recommended?: boolean;
22
+ apiPricing?: ModelApiPricing;
14
23
  }>;
15
24
  modelOverrides?: Record<string, {
16
25
  effort?: string[];
17
26
  defaultEffort?: string;
18
27
  }>;
28
+ providerOptions?: ProviderOptionSpec[];
29
+ defaults?: ProviderDefaultProfile;
19
30
  capabilities: Record<string, boolean>;
20
31
  }
21
32
  declare function extractProviderMeta(adapterId: string, displayName: string | undefined, initResponse: InitializeResponse, sessionResponse: NewSessionResponse): AcpProviderMetaResult;
@@ -1,2 +1,3 @@
1
1
  import type { ProviderFactory } from '../bridge.js';
2
2
  export declare function registerAcpProviders(factory?: ProviderFactory): void;
3
+ export declare function registerAntigravityAccountProvider(): void;
@@ -7,6 +7,7 @@ export declare class AcpProviderRuntime implements ProviderRuntime {
7
7
  execute(message: string, options?: ProviderQueryOptions): Promise<string>;
8
8
  dispose(): Promise<void>;
9
9
  private runPrompt;
10
+ private awaitWithSignal;
10
11
  private applySessionOptions;
11
12
  private composePrompt;
12
13
  private handleUpdate;
@@ -1,5 +1,5 @@
1
- import type { InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, SessionNotification, SessionUpdate, ContentBlock, McpServer, ClientCapabilities } from '@agentclientprotocol/sdk';
2
- export type { InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, SessionNotification, SessionUpdate, ContentBlock, McpServer, ClientCapabilities, };
1
+ import type { InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ResumeSessionRequest, ResumeSessionResponse, RequestPermissionRequest, RequestPermissionResponse, SessionNotification, SessionUpdate, ContentBlock, McpServer, ClientCapabilities } from '@agentclientprotocol/sdk';
2
+ export type { InitializeRequest, InitializeResponse, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ResumeSessionRequest, ResumeSessionResponse, RequestPermissionRequest, RequestPermissionResponse, SessionNotification, SessionUpdate, ContentBlock, McpServer, ClientCapabilities, };
3
3
  export interface AcpSessionOptions {
4
4
  cwd?: string;
5
5
  env?: Record<string, string>;
@@ -16,9 +16,36 @@ export type AcpOptionAction = {
16
16
  type: 'set_model';
17
17
  modelId: string;
18
18
  };
19
+ export type AcpProtocolErrorReason = 'connect_timeout' | 'session_timeout' | 'resume_unsupported' | 'auth_required' | 'auth_method_unsupported' | 'aborted';
19
20
  export declare class AcpProtocolError extends Error {
20
21
  readonly code?: number | undefined;
21
22
  readonly data?: unknown | undefined;
22
- readonly name = "AcpProtocolError";
23
- constructor(message: string, code?: number | undefined, data?: unknown | undefined);
23
+ readonly reason?: AcpProtocolErrorReason | undefined;
24
+ readonly name: string;
25
+ constructor(message: string, code?: number | undefined, data?: unknown | undefined, reason?: AcpProtocolErrorReason | undefined);
26
+ }
27
+ export declare class AcpAuthRequiredError extends AcpProtocolError {
28
+ readonly name = "AcpAuthRequiredError";
29
+ readonly methodIds: readonly string[];
30
+ constructor(methodIds: readonly string[]);
31
+ }
32
+ export declare class AcpAuthMethodError extends AcpProtocolError {
33
+ readonly name = "AcpAuthMethodError";
34
+ constructor();
35
+ }
36
+ export declare class AcpCapabilityError extends AcpProtocolError {
37
+ readonly capability: 'session.resume' | 'auth.logout';
38
+ readonly name = "AcpCapabilityError";
39
+ constructor(capability: 'session.resume' | 'auth.logout');
40
+ }
41
+ export declare class AcpAbortError extends AcpProtocolError {
42
+ readonly name = "AcpAbortError";
43
+ constructor();
44
+ }
45
+ export declare class AcpOptionError extends AcpProtocolError {
46
+ readonly name: string;
47
+ readonly option: 'model' | 'mode' | 'config';
48
+ readonly requestedValue: string;
49
+ readonly supportedValues?: readonly string[];
50
+ constructor(option: 'model' | 'mode' | 'config', requestedValue: string, supportedValues?: readonly string[], reason?: string);
24
51
  }
@@ -5,13 +5,16 @@ export interface ProviderUsage {
5
5
  outputTokens: number;
6
6
  cachedInputTokens: number;
7
7
  costUsd: number;
8
+ complete?: boolean;
8
9
  }
9
10
  export interface ProviderQueryOptions {
11
+ signal?: AbortSignal;
10
12
  model?: string;
11
13
  context?: string;
12
14
  systemPrompt?: string;
13
15
  additionalArgs?: string[];
14
16
  onOutput?: (line: string, level: 'stdout' | 'stderr') => void;
17
+ onSpawn?: () => void;
15
18
  onPid?: (pid: number) => void;
16
19
  onCommand?: (command: string) => void;
17
20
  onUsage?: (usage: ProviderUsage) => void;
@@ -1,20 +1,27 @@
1
- import type { CliProviderAdapter } from './cli/adapter.types.js';
1
+ import type { CliProviderAdapter, CliProviderInvocation, ProviderRateLimitWindows } from './cli/adapter.types.js';
2
2
  export declare function parseStreamJsonOutput(raw: string): string;
3
3
  export declare function parseResultEventUsage(raw: string): ProviderUsage | null;
4
- export { ProviderError, IdleTimeoutError, TotalTimeoutError, type ProviderErrorCode, type ProviderErrorKind, type ProviderErrorOptions, } from './errors.js';
4
+ export { ProviderError, IdleTimeoutError, TotalTimeoutError, type ProviderErrorCode, type ProviderErrorKind, type ProviderErrorOptions, ResumeTimeoutError, } from './errors.js';
5
5
  export declare function shouldFallbackToGhCopilot(providerId: string, err: unknown, platform?: NodeJS.Platform): boolean;
6
6
  export declare const KILL_GRACE_MS = 2000;
7
7
  export interface RunCliProcessOptions {
8
+ signal?: AbortSignal;
8
9
  timeoutMs?: number;
10
+ idleMs?: number;
11
+ resumeSessionId?: string;
12
+ onProviderSessionId?: (id: string) => void;
9
13
  env?: Record<string, string>;
14
+ unsetEnv?: readonly string[];
10
15
  cwd?: string;
11
16
  onOutput?: (line: string, level: 'stdout' | 'stderr') => void;
17
+ onRateLimitObserved?: (windows: ProviderRateLimitWindows) => void;
18
+ onSpawn?: () => void;
12
19
  onPid?: (pid: number) => void;
13
20
  onExitCode?: (code: number) => void;
14
21
  onUsage?: (usage: ProviderUsage) => void;
15
22
  onModel?: (model: string) => void;
16
23
  }
17
- export declare function runCliProcess(command: string, args: string[], providerStr: string, _providerId: string, options?: RunCliProcessOptions, stdinMessage?: string, adapter?: CliProviderAdapter): Promise<{
24
+ export declare function runCliProcess(command: string, args: string[], providerStr: string, _providerId: string, options?: RunCliProcessOptions, stdinMessage?: string, adapter?: CliProviderAdapter, disposeInvocation?: CliProviderInvocation['dispose']): Promise<{
18
25
  stdout: string;
19
26
  parsed: string;
20
27
  }>;
@@ -37,7 +44,7 @@ export declare class ClientToolCallRequiredError extends Error {
37
44
  readonly name = "ClientToolCallRequiredError";
38
45
  constructor(toolCall: ClientToolCall, continuationState: ContinuationState);
39
46
  }
40
- export type ProviderFactory = (id: string, providerStr: string) => ProviderRuntime;
47
+ export type ProviderFactory = (id: string, providerStr: string, context?: unknown) => ProviderRuntime;
41
48
  export type AdditionalArgsProvider = (ctx: {
42
49
  providerStr: string;
43
50
  providerId: string;
@@ -49,15 +56,26 @@ export interface ProviderUsage {
49
56
  outputTokens: number;
50
57
  cachedInputTokens: number;
51
58
  costUsd: number;
59
+ complete?: boolean;
52
60
  }
53
61
  export interface ProviderQueryOptions {
62
+ signal?: AbortSignal;
54
63
  model?: string;
55
64
  effort?: string;
56
65
  mode?: string;
66
+ providerOptions?: Record<string, unknown>;
57
67
  context?: string;
58
68
  systemPrompt?: string;
59
69
  additionalArgs?: string[];
60
70
  resumeSessionId?: string;
71
+ providerSessionId?: string;
72
+ onProviderSessionId?: (id: string) => void;
73
+ onAcpCompletionProof?: (proof: {
74
+ sessionId: string;
75
+ stopReason: 'end_turn';
76
+ lifecycleComplete: true;
77
+ }) => void;
78
+ onSpawn?: () => void;
61
79
  onOutput?: (line: string, level: 'stdout' | 'stderr') => void;
62
80
  onPid?: (pid: number) => void;
63
81
  onCommand?: (command: string) => void;
@@ -66,8 +84,12 @@ export interface ProviderQueryOptions {
66
84
  onModel?: (model: string) => void;
67
85
  onTaskLog?: (entries: import('../types/task-log.types').TaskLogEntry[]) => void;
68
86
  env?: Record<string, string>;
87
+ unsetEnv?: readonly string[];
88
+ unsetEnvPrefixes?: readonly string[];
89
+ onRateLimitObserved?: (windows: ProviderRateLimitWindows) => void;
69
90
  cwd?: string;
70
91
  timeoutMs?: number;
92
+ idleMs?: number;
71
93
  configOptions?: Record<string, string>;
72
94
  tools?: import('../facade/Crewx').ToolDefinition[];
73
95
  maxSteps?: number;
@@ -83,6 +105,7 @@ export interface ProviderRuntime {
83
105
  dispose?(): Promise<void>;
84
106
  }
85
107
  export declare function createProvider(providerStr: string, additionalArgsProvider?: AdditionalArgsProvider): ProviderRuntime;
108
+ export declare function createProviderWithContext(providerStr: string, additionalArgsProvider?: AdditionalArgsProvider, context?: unknown): ProviderRuntime;
86
109
  export declare function mergeAdditionalArgs(options: ProviderQueryOptions | undefined, provider: AdditionalArgsProvider | undefined, ctx: {
87
110
  providerStr: string;
88
111
  providerId: string;
@@ -0,0 +1,2 @@
1
+ import type { TaskErrorProjection } from './task-error.types.js';
2
+ export declare function classifyTaskError(input: unknown): TaskErrorProjection;
@@ -0,0 +1 @@
1
+ export declare const CLAUDE_AGENT_ENV: Readonly<Record<string, string>>;