@desplega.ai/agent-swarm 1.173.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/README.md +1 -1
  2. package/dist/{acp-adapter-ccm9xrep.js → acp-adapter-kr4abrsk.js} +17 -16
  3. package/dist/{actions-sgeyv08k.js → actions-eh4g6w2r.js} +39 -34
  4. package/dist/{amp-adapter-gpxp3kc9.js → amp-adapter-7h7wdt8q.js} +8 -7
  5. package/dist/{app-km9qnv2f.js → app-7k8s9w5p.js} +18 -14
  6. package/dist/{assistant-5r8tcvvd.js → assistant-wswt2y7p.js} +40 -35
  7. package/dist/{boot-reembed-16rv9843.js → boot-reembed-9apm9qw6.js} +10 -9
  8. package/dist/{boot-reembed-swwzdgd7.js → boot-reembed-whzbdthj.js} +10 -9
  9. package/dist/{boot-scrub-sweep-zkr6vkqb.js → boot-scrub-sweep-ndzmvmgt.js} +11 -10
  10. package/dist/{boot-seeds-d8sp49t2.js → boot-seeds-e9sta0yt.js} +16 -13
  11. package/dist/{claude-adapter-yzzzh8jp.js → claude-adapter-4mqd3r6r.js} +19 -18
  12. package/dist/{claude-managed-adapter-xgxhqrt2.js → claude-managed-adapter-9wswb52m.js} +7 -5
  13. package/dist/{claude-managed-setup-bnmjarjc.js → claude-managed-setup-tpe1effx.js} +6 -4
  14. package/dist/{claude-sdk-session-4whxere4.js → claude-sdk-session-q49ghmh9.js} +12402 -11850
  15. package/dist/{cli-ne7smj1b.js → cli-01xvj1rq.js} +10 -10
  16. package/dist/{cli-nwrdx840.js → cli-035vekcw.js} +3 -3
  17. package/dist/{cli-9xf7fdtp.js → cli-0pd8hzhc.js} +29 -6
  18. package/dist/{cli-tmhsxhb8.js → cli-0veb92a3.js} +28 -6
  19. package/dist/{cli-c3rk1v0x.js → cli-10jesr25.js} +3 -3
  20. package/dist/{cli-6thk4jz3.js → cli-1y7yywmj.js} +6 -6
  21. package/dist/{cli-6r2f7edk.js → cli-20krdhz5.js} +47 -19
  22. package/dist/{cli-rfs4vddv.js → cli-29rja109.js} +39 -20
  23. package/dist/cli-2m1ktfzz.js +17795 -0
  24. package/dist/{cli-na2pxe4f.js → cli-2pwa0q4d.js} +15 -4
  25. package/dist/{cli-7a93cv8c.js → cli-4mengw46.js} +441 -43
  26. package/dist/{cli-94b48jhk.js → cli-5twdke5x.js} +16 -14
  27. package/dist/{cli-7a0sde2x.js → cli-6cagzc96.js} +9 -0
  28. package/dist/cli-6cvfxs8r.js +47 -0
  29. package/dist/{cli-w1apjecb.js → cli-711vwbxn.js} +2 -2
  30. package/dist/{cli-r4fqfpwf.js → cli-78vv7446.js} +50 -27
  31. package/dist/{cli-srqq3gc5.js → cli-7n6s5man.js} +5 -5
  32. package/dist/{cli-m89t9jdf.js → cli-7x0g4sn1.js} +15416 -16024
  33. package/dist/{cli-2bw3w47j.js → cli-8wwxw8a3.js} +1 -1
  34. package/dist/{cli-yatxqynm.js → cli-9ha6hs2d.js} +1 -290
  35. package/dist/{cli-ywm1azg9.js → cli-9jzdj90z.js} +8 -4
  36. package/dist/cli-9traj3dn.js +638 -0
  37. package/dist/{cli-smcrrmhy.js → cli-agzebbd5.js} +9 -9
  38. package/dist/{cli-c5km5znr.js → cli-c8r3kzzb.js} +1 -1
  39. package/dist/cli-cvv9k0hh.js +10143 -0
  40. package/dist/{cli-anzdk0z4.js → cli-d9286m9h.js} +2 -2
  41. package/dist/cli-e3g5mbkz.js +776 -0
  42. package/dist/cli-f527ce74.js +781 -0
  43. package/dist/{cli-gmdajfw5.js → cli-gxzkg1de.js} +5020 -1729
  44. package/dist/{cli-451ks6aw.js → cli-h1arqn31.js} +1 -1
  45. package/dist/cli-hjwmhcg1.js +10622 -0
  46. package/dist/{cli-jpc4r224.js → cli-hqr88ew6.js} +19 -3
  47. package/dist/{cli-h7k0xtry.js → cli-hvqbtna4.js} +4 -1256
  48. package/dist/{cli-cd0hv9nh.js → cli-j67mh2vg.js} +2 -2
  49. package/dist/cli-jta2eyzc.js +619 -0
  50. package/dist/{cli-wd0hz6ah.js → cli-kbrt8gqa.js} +9 -91
  51. package/dist/cli-kceah1eh.js +92 -0
  52. package/dist/{cli-d603qf86.js → cli-ksphgh48.js} +10 -8
  53. package/dist/{cli-3nxdmjrc.js → cli-mgz4nbgg.js} +4 -4
  54. package/dist/{cli-saqyage0.js → cli-mz5as5ha.js} +179 -27
  55. package/dist/cli-n2wq4j7m.js +6985 -0
  56. package/dist/{cli-ppy4nnnh.js → cli-n8ndw8j7.js} +2 -2
  57. package/dist/{cli-1w0vj3gw.js → cli-naqzr17j.js} +7 -7
  58. package/dist/{cli-0a7mm3zp.js → cli-nm1p8jfr.js} +25 -21
  59. package/dist/{cli-wrh08zjd.js → cli-p3zbc1rw.js} +5 -18
  60. package/dist/{cli-hsem16hb.js → cli-pe05f8yk.js} +29 -6
  61. package/dist/{cli-5wpw4rab.js → cli-qmzsbkvy.js} +5 -5
  62. package/dist/{cli-bv2etw2y.js → cli-qnm4e9e4.js} +99 -590
  63. package/dist/{cli-1x7da0de.js → cli-qqy4q48b.js} +8 -8
  64. package/dist/{cli-r44t9wqc.js → cli-r106725k.js} +2 -2
  65. package/dist/{cli-5er5gjbm.js → cli-r35rw5de.js} +15 -15
  66. package/dist/{cli-v3zhnxsb.js → cli-r610p9bs.js} +2 -2
  67. package/dist/{cli-7jykv7ef.js → cli-rc6pf5kv.js} +1 -1
  68. package/dist/{cli-x119kdba.js → cli-rdxm77k3.js} +1 -1
  69. package/dist/cli-rhs9pz33.js +294 -0
  70. package/dist/{cli-0p3enk35.js → cli-s69nfyeh.js} +9 -1
  71. package/dist/{cli-0kxf81jj.js → cli-sawv63e8.js} +2 -2
  72. package/dist/{cli-e3pmyt39.js → cli-sg19gbf0.js} +1 -1
  73. package/dist/{cli-d161g69q.js → cli-shk7r5cs.js} +57 -6
  74. package/dist/{cli-7pz3b7x5.js → cli-sksetb2q.js} +36 -1
  75. package/dist/{cli-014vns2y.js → cli-stfs0k5s.js} +208 -525
  76. package/dist/{cli-db3m6zdt.js → cli-t02z59f2.js} +1 -1
  77. package/dist/{cli-b07hr3bt.js → cli-txqb9s38.js} +2 -2
  78. package/dist/{cli-s8z6x4b4.js → cli-v7g551te.js} +225 -113
  79. package/dist/{cli-rfz2ve55.js → cli-vgqzp4em.js} +3341 -955
  80. package/dist/{cli-7avy4v8w.js → cli-w1q7h2r2.js} +5 -3
  81. package/dist/{cli-rcp5aqdw.js → cli-w7m81tb7.js} +1 -1
  82. package/dist/cli-wfnemr1t.js +86 -0
  83. package/dist/cli-wmgrkscj.js +23254 -0
  84. package/dist/{cli-qm1448f9.js → cli-wms6x9db.js} +8 -8
  85. package/dist/{cli-tadfgd0t.js → cli-x1r545x8.js} +33 -4
  86. package/dist/{cli-xc7p7s3g.js → cli-xczsgshn.js} +6 -6
  87. package/dist/{cli-fmhj1ehj.js → cli-y3167wt1.js} +882 -271
  88. package/dist/{cli-r0byd61h.js → cli-yjmqpxt3.js} +17 -16
  89. package/dist/{cli-81r1wjyv.js → cli-z780ec7c.js} +1 -1
  90. package/dist/{cli-phcqp1b9.js → cli-zm9t2vde.js} +2 -2
  91. package/dist/cli.js +34 -49
  92. package/dist/{codex-adapter-r3dn4fp5.js → codex-adapter-4z16v9n0.js} +15 -14
  93. package/dist/{codex-login-841kv5fk.js → codex-login-pkepy2j1.js} +3 -2
  94. package/dist/{codex-session-runner-fwt793h4.js → codex-session-runner-rvms9y2x.js} +15 -14
  95. package/dist/{commands-z8fq9qna.js → commands-2a9rtyat.js} +11 -10
  96. package/dist/{controller-hq5ggpcp.js → controller-3k3madbn.js} +5 -4
  97. package/dist/{controllers-connect-3mf2btyj.js → controllers-connect-v9yn8zb9.js} +42 -37
  98. package/dist/{cursor-adapter-q8pgv5qa.js → cursor-adapter-98gbhyzn.js} +7 -6
  99. package/dist/{db-qfpq4bt7.js → db-eywwsnjw.js} +30 -9
  100. package/dist/{db-yyhqqrbf.js → db-ncypk9np.js} +12 -11
  101. package/dist/{devin-adapter-xgtj680j.js → devin-adapter-zeq8b9gz.js} +3 -2
  102. package/dist/{dispatcher-x0x7qfcq.js → dispatcher-w94kc575.js} +38 -33
  103. package/dist/{docker-f503k9p0.js → docker-b1e4cqab.js} +3 -2
  104. package/dist/{dsh-adapter-34etvb5m.js → dsh-adapter-47ztej36.js} +7 -6
  105. package/dist/{e2b-66xra4az.js → e2b-bbt8ey45.js} +4 -3
  106. package/dist/{e2b-xwhyj8cw.js → e2b-dp804sen.js} +4 -3
  107. package/dist/{event-bus-vjtv82gm.js → event-bus-j2jdg3qb.js} +3 -2
  108. package/dist/{external-channel-h1fjecwe.js → external-channel-zrkg8ar9.js} +11 -10
  109. package/dist/{google-generative-ai-szdxbpqg.js → google-generative-ai-g8db7x0f.js} +4 -2
  110. package/dist/{google-vertex-qzw3p36d.js → google-vertex-r2692q0r.js} +4 -2
  111. package/dist/{grok-adapter-e7mr287e.js → grok-adapter-s9ncp9vy.js} +18 -17
  112. package/dist/{handlers-znb9n7d4.js → handlers-kqftvjgw.js} +41 -36
  113. package/dist/{heartbeat-bm4qkn8d.js → heartbeat-9q96p8v9.js} +43 -38
  114. package/dist/{hook-254r4mza.js → hook-56qe10dp.js} +11 -23
  115. package/dist/{hook-xaa3q80s.js → hook-yy6rw42k.js} +12 -11
  116. package/dist/{http-3dgrgp8y.js → http-r2dnb8f8.js} +2411 -275
  117. package/dist/{index-fx3jqq1e.js → index-3gtmkhc6.js} +38 -33
  118. package/dist/{index-bdsqa799.js → index-3k5hkz7r.js} +43 -38
  119. package/dist/index-52j1aja4.js +3465 -0
  120. package/dist/{index-g2byveez.js → index-5e101240.js} +38 -33
  121. package/dist/{index-2ybk7khy.js → index-5wyfjc2c.js} +845 -683
  122. package/dist/index-9gw58n4k.js +193 -0
  123. package/dist/index-9j87mcm8.js +56305 -0
  124. package/dist/index-bsmcresk.js +79424 -0
  125. package/dist/index-mh85qhec.js +475 -0
  126. package/dist/{index-jd7sejm2.js → index-vxvhxxbn.js} +10 -9
  127. package/dist/index-we27kd31.js +12810 -0
  128. package/dist/{keepalive-6ywhpja1.js → keepalive-psj6j54c.js} +12 -11
  129. package/dist/{lead-cw45n21s.js → lead-hajz4688.js} +61 -56
  130. package/dist/{maintenance-ss1a1ge9.js → maintenance-ps02sb5m.js} +10 -9
  131. package/dist/{node-fkajaq96.js → node-mwb5r697.js} +2 -1
  132. package/dist/{oauth-refresh-sweep-3c6f8vyy.js → oauth-refresh-sweep-0284h93b.js} +11 -10
  133. package/dist/{onboard-8hzdhc1k.js → onboard-rbf6bg01.js} +11 -3
  134. package/dist/{opencode-adapter-qbchbcfz.js → opencode-adapter-13dcatgq.js} +18 -13
  135. package/dist/{otel-impl-e6mnvc4v.js → otel-impl-zvqcbhp7.js} +242 -868
  136. package/dist/{pi-mono-adapter-3c9g9snh.js → pi-mono-adapter-xxy47q4v.js} +244 -106
  137. package/dist/{pricing-refresh-gedkjdw0.js → pricing-refresh-kefx9v3t.js} +12 -11
  138. package/dist/{rbac-roles-dt4vh1yy.js → rbac-roles-3m36rxm2.js} +11 -10
  139. package/dist/{rbac-roles-eszdg6pm.js → rbac-roles-z76xv0hq.js} +12 -11
  140. package/dist/{render-v2-907cy6sa.js → render-v2-wz73bs25.js} +18 -14
  141. package/dist/{resume-42stcaz0.js → resume-k4wzge8w.js} +25 -21
  142. package/dist/{runtime-qfry88v2.js → runtime-sa2vr16g.js} +2 -2
  143. package/dist/{setup-adbc1c10.js → setup-2fp2pypp.js} +2 -2
  144. package/dist/{virtual-modules-rtmt494q.js → virtual-modules-9gkxqrap.js} +6 -5
  145. package/dist/{work-objects-wpj8ck95.js → work-objects-6k0ywz3m.js} +41 -36
  146. package/dist/{worker-bzdra9rf.js → worker-5v3rxsdh.js} +61 -56
  147. package/dist/{x-qfmygqqv.js → x-4mtdeym1.js} +3 -2
  148. package/openapi.json +1279 -329
  149. package/package.json +15 -15
  150. package/src/agentmail/handlers.ts +21 -11
  151. package/src/apps/definition.ts +16 -0
  152. package/src/azure-devops/api.ts +52 -2
  153. package/src/azure-devops/boards-sync.ts +50 -20
  154. package/src/azure-devops/index.ts +1 -0
  155. package/src/azure-devops/outbound.ts +95 -0
  156. package/src/be/boot-seeds.ts +11 -0
  157. package/src/be/config-refs.ts +60 -0
  158. package/src/be/db/model-profiles.ts +315 -0
  159. package/src/be/db/page-versions.ts +15 -0
  160. package/src/be/db/runtime.ts +35 -8
  161. package/src/be/db/skill-name-resolution.ts +36 -0
  162. package/src/be/db/tasks/read.ts +237 -0
  163. package/src/be/db/tasks/write.ts +7 -0
  164. package/src/be/db.ts +87 -36
  165. package/src/be/migrations/215_swarm_config_export_to_env.sql +34 -0
  166. package/src/be/migrations/216_task_resolved_effort.sql +5 -0
  167. package/src/be/migrations/217_chat_sdk_state.sql +104 -0
  168. package/src/be/migrations/219_relabel_pi_context_compactions.sql +22 -0
  169. package/src/be/migrations/220_model_profiles.sql +137 -0
  170. package/src/be/model-catalog-store.ts +5 -1
  171. package/src/be/model-tier-resolution.ts +155 -10
  172. package/src/be/model-validation.ts +12 -2
  173. package/src/be/models-catalog.ts +26 -1
  174. package/src/be/modelsdev-cache.json +198 -63
  175. package/src/be/modelsdev-cache.ts +9 -1
  176. package/src/be/script-credential-broker.ts +39 -2
  177. package/src/be/scripts/run-saved.ts +1 -0
  178. package/src/be/scripts/typecheck.ts +22 -8
  179. package/src/be/secret-registry.ts +6 -2
  180. package/src/be/seed/runner.ts +13 -1
  181. package/src/be/seed/state-db.ts +5 -0
  182. package/src/be/seed/types.ts +6 -0
  183. package/src/be/seed-model-profiles.ts +41 -0
  184. package/src/be/seed-pricing.ts +19 -2
  185. package/src/be/seed-scripts/catalog/heartbeat-jev-gate.ts +368 -0
  186. package/src/be/seed-scripts/catalog/ops-catalog-audit.inline.ts +1 -1
  187. package/src/be/seed-scripts/catalog/ops-catalog-audit.ts +1 -1
  188. package/src/be/seed-scripts/index.ts +9 -0
  189. package/src/be/seed-skills/bundled-files.generated.json +0 -18
  190. package/src/be/seed-skills/index.ts +104 -3
  191. package/src/be/swarm-config-guard.ts +53 -0
  192. package/src/cli.tsx +0 -16
  193. package/src/commands/onboard/non-interactive.ts +4 -2
  194. package/src/commands/provider-credentials.ts +52 -6
  195. package/src/commands/runner.ts +193 -71
  196. package/src/e2b/env.ts +5 -0
  197. package/src/extensions/catalog.generated.json +17 -0
  198. package/src/extensions/contract-types.generated.ts +1 -1
  199. package/src/extensions/contract.ts +45 -0
  200. package/src/extensions/dispatcher.ts +7 -0
  201. package/src/extensions/loader.ts +10 -5
  202. package/src/extensions/post-bridge.ts +40 -0
  203. package/src/github/handlers.ts +11 -4
  204. package/src/heartbeat/heartbeat.ts +2 -1
  205. package/src/heartbeat/templates.ts +8 -5
  206. package/src/hooks/hook.ts +0 -26
  207. package/src/http/agents.ts +49 -2
  208. package/src/http/all-routes.ts +1 -1
  209. package/src/http/apps.ts +30 -3
  210. package/src/http/config.ts +62 -19
  211. package/src/http/core.ts +8 -0
  212. package/src/http/index.ts +25 -3
  213. package/src/http/integrations.ts +88 -1
  214. package/src/http/mcp.ts +15 -5
  215. package/src/http/model-profiles.ts +303 -0
  216. package/src/http/page-proxy.ts +2 -4
  217. package/src/http/pages-public.ts +13 -7
  218. package/src/http/pages.ts +3 -13
  219. package/src/http/poll.ts +42 -71
  220. package/src/http/requested-by.ts +54 -0
  221. package/src/http/script-runs.ts +1 -1
  222. package/src/http/scripts.ts +26 -2
  223. package/src/http/stats.ts +1 -30
  224. package/src/http/tasks.ts +79 -5
  225. package/src/http/utils.ts +14 -0
  226. package/src/http/webhooks.ts +160 -3
  227. package/src/http/x.ts +1 -0
  228. package/src/integrations/chat-sdk/adapters.ts +129 -0
  229. package/src/integrations/chat-sdk/attachments.ts +232 -0
  230. package/src/integrations/chat-sdk/background.ts +36 -0
  231. package/src/integrations/chat-sdk/commands.ts +194 -0
  232. package/src/integrations/chat-sdk/config.ts +198 -0
  233. package/src/integrations/chat-sdk/discord-api.ts +63 -0
  234. package/src/integrations/chat-sdk/discord-gateway.ts +185 -0
  235. package/src/integrations/chat-sdk/handlers.ts +28 -0
  236. package/src/integrations/chat-sdk/inbound.ts +426 -0
  237. package/src/integrations/chat-sdk/limits.ts +48 -0
  238. package/src/integrations/chat-sdk/logger.ts +81 -0
  239. package/src/integrations/chat-sdk/outbound.ts +123 -0
  240. package/src/integrations/chat-sdk/relay.ts +172 -0
  241. package/src/integrations/chat-sdk/router.ts +169 -0
  242. package/src/integrations/chat-sdk/runtime.ts +351 -0
  243. package/src/integrations/chat-sdk/schema.ts +245 -0
  244. package/src/integrations/chat-sdk/state.ts +243 -0
  245. package/src/integrations/chat-sdk/status.ts +244 -0
  246. package/src/integrations/chat-sdk/steering.ts +58 -0
  247. package/src/integrations/chat-sdk/teams-origin.ts +77 -0
  248. package/src/integrations/chat-sdk/telegram-api.ts +56 -0
  249. package/src/integrations/chat-sdk/templates.ts +16 -0
  250. package/src/integrations/chat-sdk/test-hooks.ts +37 -0
  251. package/src/integrations/chat-sdk/thread-buffer.ts +100 -0
  252. package/src/integrations/chat-sdk/typing.ts +65 -0
  253. package/src/{artifact-sdk → pages}/feedback-overlay.ts +65 -6
  254. package/src/pages/version.ts +4 -5
  255. package/src/prompts/base-prompt.ts +111 -45
  256. package/src/providers/acp-target-catalog.ts +6 -0
  257. package/src/providers/acp-targets.ts +56 -3
  258. package/src/providers/amp-adapter.ts +1 -1
  259. package/src/providers/claude-adapter.ts +1 -1
  260. package/src/providers/claude-flag-settings.ts +17 -5
  261. package/src/providers/claude-managed-adapter.ts +1 -1
  262. package/src/providers/claude-session-events.ts +6 -1
  263. package/src/providers/dsh-adapter.ts +1 -1
  264. package/src/providers/opencode-adapter.ts +243 -26
  265. package/src/providers/opencode-swarm-plugin.ts +31 -0
  266. package/src/providers/pi-mono-adapter.ts +398 -153
  267. package/src/providers/pi-mono-extension.ts +17 -3
  268. package/src/providers/pricing-sources.md +33 -2
  269. package/src/providers/reasoning-effort.ts +37 -0
  270. package/src/providers/types.ts +6 -2
  271. package/src/rbac/legacy-policy.ts +16 -2
  272. package/src/rbac/permissions.ts +26 -0
  273. package/src/scheduler/deferred-task-waits.ts +18 -5
  274. package/src/scheduler/scheduler.ts +11 -3
  275. package/src/scripts-runtime/executors/quickjs-prelude.ts +75 -6
  276. package/src/scripts-runtime/executors/quickjs-runner.ts +85 -8
  277. package/src/scripts-runtime/executors/quickjs-web-shims.ts +1041 -0
  278. package/src/scripts-runtime/extract-args-schema.ts +9 -8
  279. package/src/scripts-runtime/loader.ts +19 -7
  280. package/src/scripts-runtime/quickjs-compat.ts +464 -0
  281. package/src/scripts-runtime/sdk-allowlist.ts +12 -6
  282. package/src/scripts-runtime/swarm-sdk.ts +0 -11
  283. package/src/scripts-runtime/types/stdlib.d.ts +39 -15
  284. package/src/scripts-runtime/types/swarm-extension.d.ts +66 -1
  285. package/src/scripts-runtime/types/swarm-sdk.d.ts +39 -15
  286. package/src/server.ts +62 -19
  287. package/src/slack/blocks.ts +4 -2
  288. package/src/slack/event-dedup.ts +1 -1
  289. package/src/slack/reaction-shortcode.ts +14 -0
  290. package/src/slack/render-v2.ts +12 -7
  291. package/src/slack/responses.ts +5 -4
  292. package/src/slack/thread-buffer.ts +41 -22
  293. package/src/tasks/additive-buffer.ts +4 -2
  294. package/src/tasks/context-key.ts +60 -1
  295. package/src/tasks/model-pin.ts +67 -0
  296. package/src/tasks/worker-follow-up.ts +15 -33
  297. package/src/tests/acp-adapter.test.ts +42 -0
  298. package/src/tests/agentmail-filters.test.ts +47 -0
  299. package/src/tests/api-drain-worker-e2e.test.ts +1 -6
  300. package/src/tests/apps-spike2.test.ts +35 -0
  301. package/src/tests/azure-devops-outbound.test.ts +420 -0
  302. package/src/tests/base-prompt.test.ts +58 -54
  303. package/src/tests/chat-sdk-commands.test.ts +191 -0
  304. package/src/tests/chat-sdk-config.test.ts +334 -0
  305. package/src/tests/chat-sdk-discord-api.test.ts +68 -0
  306. package/src/tests/chat-sdk-discord-gateway.test.ts +252 -0
  307. package/src/tests/chat-sdk-discord-webhook.test.ts +126 -0
  308. package/src/tests/chat-sdk-fields-sync.test.ts +50 -0
  309. package/src/tests/chat-sdk-harness.ts +146 -0
  310. package/src/tests/chat-sdk-inbound.test.ts +363 -0
  311. package/src/tests/chat-sdk-relay.test.ts +470 -0
  312. package/src/tests/chat-sdk-reload.test.ts +128 -0
  313. package/src/tests/chat-sdk-shutdown.test.ts +220 -0
  314. package/src/tests/chat-sdk-slack.test.ts +268 -0
  315. package/src/tests/chat-sdk-state.test.ts +163 -0
  316. package/src/tests/chat-sdk-status-route.test.ts +382 -0
  317. package/src/tests/chat-sdk-teams.test.ts +277 -0
  318. package/src/tests/chat-sdk-tools.test.ts +520 -0
  319. package/src/tests/chat-sdk-typing.test.ts +120 -0
  320. package/src/tests/chat-sdk-webhook-telegram.test.ts +200 -0
  321. package/src/tests/claude-adapter-binary.test.ts +9 -4
  322. package/src/tests/claude-flag-settings.test.ts +11 -3
  323. package/src/tests/claude-managed-adapter.test.ts +1 -1
  324. package/src/tests/claude-sdk-lifecycle.test.ts +9 -3
  325. package/src/tests/claude-thinking-tokens.test.ts +57 -0
  326. package/src/tests/claude-worker-parity.test.ts +2 -7
  327. package/src/tests/config-env-export-chat-sdk.test.ts +11 -0
  328. package/src/tests/config-refs.test.ts +66 -0
  329. package/src/tests/context-key.test.ts +19 -0
  330. package/src/tests/cors-allowlist.test.ts +25 -0
  331. package/src/tests/create-page-tool.test.ts +18 -0
  332. package/src/tests/credential-check.test.ts +139 -0
  333. package/src/tests/credentials.test.ts +21 -0
  334. package/src/tests/db-runtime.test.ts +61 -0
  335. package/src/tests/db-task-read-contract.test.ts +22 -0
  336. package/src/tests/db-task-write-contract.test.ts +11 -0
  337. package/src/tests/deferred-task-wake.test.ts +78 -1
  338. package/src/tests/docs-index-footprint.test.js +3 -3
  339. package/src/tests/dsh-adapter.test.ts +1 -1
  340. package/src/tests/enabled-capabilities.test.ts +20 -0
  341. package/src/tests/entrypoint-api-readiness.test.ts +14 -8
  342. package/src/tests/entrypoint-config-env-export.test.ts +5 -2
  343. package/src/tests/entrypoint-export-to-env.test.ts +78 -0
  344. package/src/tests/env-flag.test.ts +1 -0
  345. package/src/tests/explicit-model-validation.test.ts +105 -1
  346. package/src/tests/extensions-catalog.test.ts +1 -0
  347. package/src/tests/extensions-example-comms-adherence-gate.test.ts +413 -0
  348. package/src/tests/extensions-example-route-chat-channel.test.ts +154 -0
  349. package/src/tests/extensions-loader.test.ts +15 -0
  350. package/src/tests/extensions-post-bridge.test.ts +51 -0
  351. package/src/tests/fetch-resolved-env.test.ts +128 -0
  352. package/src/tests/fixtures/chat-sdk/telegram-private-text.json +10 -0
  353. package/src/tests/fixtures/extensions/route-chat-channel-to-agent/hooks.ts +27 -0
  354. package/src/tests/fixtures/extensions/route-chat-channel-to-agent/manifest.json +9 -0
  355. package/src/tests/fixtures/openai-compatible-registry-extension.child.ts +146 -0
  356. package/src/tests/fixtures/runner-legacy-resume-prompt.ts +122 -0
  357. package/src/tests/github-handlers.test.ts +35 -0
  358. package/src/tests/harness-provider-resolution.test.ts +12 -0
  359. package/src/tests/heartbeat-checklist.test.ts +3 -2
  360. package/src/tests/heartbeat-jev-gate-credentials.test.ts +168 -0
  361. package/src/tests/heartbeat-jev-gate.test.ts +385 -0
  362. package/src/tests/hook-runtime-close.test.ts +0 -2
  363. package/src/tests/http-api-integration.test.ts +0 -25
  364. package/src/tests/migration-046-budgets.test.ts +17 -16
  365. package/src/tests/migration-217-chat-sdk-state.test.ts +113 -0
  366. package/src/tests/model-profile-backcompat.test.ts +327 -0
  367. package/src/tests/model-profile-providers.test.ts +302 -0
  368. package/src/tests/model-profile-runtime-secrets.test.ts +223 -0
  369. package/src/tests/model-profiles-api.test.ts +614 -0
  370. package/src/tests/model-tier-resolution.test.ts +93 -0
  371. package/src/tests/models-catalog.test.ts +42 -1
  372. package/src/tests/openai-compatible-providers.test.ts +134 -0
  373. package/src/tests/openai-compatible-registry-extension.test.ts +42 -0
  374. package/src/tests/opencode-adapter.test.ts +216 -2
  375. package/src/tests/opencode-helmcode-sdk.test.ts +201 -0
  376. package/src/tests/opencode-shell-env.test.ts +145 -0
  377. package/src/tests/openrouter-base-url.test.ts +101 -151
  378. package/src/tests/page-proxy.test.ts +1 -1
  379. package/src/tests/pages-browser-sdk.test.ts +76 -0
  380. package/src/tests/pages-feedback-keys.test.ts +121 -0
  381. package/src/tests/pages-feedback.test.ts +4 -1
  382. package/src/tests/paused-tasks-requested-by.test.ts +102 -0
  383. package/src/tests/pi-context-compaction.test.ts +193 -0
  384. package/src/tests/pi-custom-provider-fake-server.test.ts +442 -0
  385. package/src/tests/pi-mono-adapter.test.ts +385 -5
  386. package/src/tests/pi-shell-env.test.ts +170 -0
  387. package/src/tests/profile-claim.test.ts +269 -0
  388. package/src/tests/prompt-template-remaining.test.ts +35 -0
  389. package/src/tests/quickjs-compat.test.ts +213 -0
  390. package/src/tests/rbac-engine.test.ts +32 -3
  391. package/src/tests/runner-exit-after-tasks.test.ts +0 -4
  392. package/src/tests/runner-legacy-resume-prompt.test.ts +64 -0
  393. package/src/tests/script-connections.test.ts +6 -0
  394. package/src/tests/script-executor-conformance.test.ts +252 -1
  395. package/src/tests/script-executor-quickjs.test.ts +96 -0
  396. package/src/tests/script-runs-http.test.ts +89 -0
  397. package/src/tests/scripts-http.test.ts +217 -1
  398. package/src/tests/scripts-only-gating.test.ts +2 -3
  399. package/src/tests/scripts-runtime.test.ts +58 -40
  400. package/src/tests/secret-scrubber.test.ts +96 -0
  401. package/src/tests/seed-model-profiles.test.ts +174 -0
  402. package/src/tests/seed-scripts.test.ts +2 -2
  403. package/src/tests/seed-skills-bundled-files.test.ts +45 -53
  404. package/src/tests/seed-skills-retire.test.ts +182 -0
  405. package/src/tests/send-task-requester-gate.test.ts +58 -0
  406. package/src/tests/session-cost-recompute-unit.test.ts +46 -0
  407. package/src/tests/skill-get-name-resolution.test.ts +137 -0
  408. package/src/tests/skill-invocations.test.ts +4 -2
  409. package/src/tests/slack-blocks.test.ts +36 -0
  410. package/src/tests/slack-inline-output.test.ts +14 -0
  411. package/src/tests/slack-reaction-config.test.ts +20 -0
  412. package/src/tests/slack-render-v2.test.ts +37 -0
  413. package/src/tests/slack-thread-buffer.test.ts +98 -1
  414. package/src/tests/sonnet-5-5-registry.test.ts +9 -1
  415. package/src/tests/swarm-config-export-to-env.test.ts +267 -0
  416. package/src/tests/swarm-config-reserved-keys.test.ts +16 -0
  417. package/src/tests/swarm-diff.test.ts +1 -1
  418. package/src/tests/task-model-effort-rerun.test.ts +164 -0
  419. package/src/tests/task-session-prompts.test.ts +132 -0
  420. package/src/tests/task-tool-manifest.test.ts +14 -0
  421. package/src/tests/task-tools-ctx.test.ts +2 -0
  422. package/src/tests/tool-annotations.test.ts +6 -6
  423. package/src/tests/ui-logs-parser.test.ts +43 -0
  424. package/src/tests/used-by-route.test.ts +6 -0
  425. package/src/tests/vercel-ai-gateway.test.ts +149 -0
  426. package/src/tests/workflow-llm.test.ts +61 -0
  427. package/src/tests/workflow-swarm-script.test.ts +38 -0
  428. package/src/tests/workflow-wait-filter.test.ts +5 -3
  429. package/src/tools/chat-access.ts +41 -0
  430. package/src/tools/chat-open-dm.ts +59 -0
  431. package/src/tools/chat-post.ts +74 -0
  432. package/src/tools/chat-read-thread.ts +100 -0
  433. package/src/tools/chat-reply.ts +75 -0
  434. package/src/tools/create-page.ts +3 -13
  435. package/src/tools/model-catalog/index.ts +2 -1
  436. package/src/tools/model-profiles/list-model-profiles.ts +54 -0
  437. package/src/tools/register-chat-channel.ts +139 -0
  438. package/src/tools/request-human-input.ts +11 -3
  439. package/src/tools/script-apis.ts +5 -1
  440. package/src/tools/script-upsert.ts +4 -1
  441. package/src/tools/send-task.ts +48 -1
  442. package/src/tools/skills/skill-get.ts +17 -9
  443. package/src/tools/swarm-config/get-config.ts +2 -1
  444. package/src/tools/swarm-config/list-config.ts +2 -1
  445. package/src/tools/swarm-config/set-config.ts +16 -3
  446. package/src/tools/system-one-decide.ts +104 -0
  447. package/src/tools/task-action.ts +22 -1
  448. package/src/tools/tool-config.ts +14 -6
  449. package/src/types.ts +48 -3
  450. package/src/utils/config-env-export.ts +74 -0
  451. package/src/utils/credentials.test.ts +92 -0
  452. package/src/utils/credentials.ts +52 -4
  453. package/src/utils/harness-provider.ts +15 -6
  454. package/src/utils/runtime-model-catalog.ts +11 -1
  455. package/src/utils/secret-scrubber.ts +86 -10
  456. package/src/utils/task-tool-manifest.ts +19 -2
  457. package/src/utils/vcs-repo-match.ts +29 -0
  458. package/src/workflows/executors/raw-llm.ts +8 -3
  459. package/src/workflows/executors/swarm-script.ts +1 -0
  460. package/src/workflows/executors/system-one-decision.ts +21 -11
  461. package/src/workflows/executors/workflow-llm.ts +22 -0
  462. package/src/workflows/index.ts +21 -12
  463. package/templates/extensions/README.md +1 -0
  464. package/templates/extensions/comms-adherence-gate/README.md +88 -0
  465. package/templates/extensions/comms-adherence-gate/hooks.ts +489 -0
  466. package/templates/extensions/comms-adherence-gate/manifest.json +8 -0
  467. package/templates/skills/agent-browser/SKILL.md +1 -1
  468. package/templates/skills/agent-browser/content.md +1 -1
  469. package/templates/skills/apps/SKILL.md +8 -1
  470. package/templates/skills/apps/content.md +8 -1
  471. package/templates/skills/chat-sdk/config.json +14 -0
  472. package/templates/skills/chat-sdk/content.md +84 -0
  473. package/templates/skills/composio-gmail/content.md +7 -0
  474. package/templates/skills/composio-google-docs/content.md +1 -1
  475. package/templates/skills/email-domain-health/config.json +14 -0
  476. package/templates/skills/email-domain-health/content.md +131 -0
  477. package/templates/skills/kv-storage/content.md +2 -2
  478. package/templates/skills/pages/content.md +8 -10
  479. package/templates/skills/swarm-extensions/content.md +2 -0
  480. package/templates/skills/swarm-scripts/SKILL.md +4 -2
  481. package/templates/skills/swarm-scripts/config.json +1 -1
  482. package/templates/skills/swarm-scripts/content.md +4 -2
  483. package/templates/skills/workflow-iterate/content.md +38 -0
  484. package/dist/artifact-eczsknc3.js +0 -3843
  485. package/dist/cli-42qhyvwx.js +0 -33
  486. package/dist/cli-bd957dgb.js +0 -153
  487. package/dist/cli-q51yprfq.js +0 -1104
  488. package/dist/cli-t1ze64h3.js +0 -811
  489. package/dist/cli-tcc4wd5d.js +0 -56471
  490. package/dist/index-9ch1n761.js +0 -1102
  491. package/src/artifact-sdk/index.ts +0 -2
  492. package/src/artifact-sdk/localtunnel.d.ts +0 -20
  493. package/src/artifact-sdk/port.ts +0 -12
  494. package/src/artifact-sdk/server.ts +0 -183
  495. package/src/artifact-sdk/tunnel.ts +0 -19
  496. package/src/commands/artifact.ts +0 -249
  497. package/src/http/ecosystem.ts +0 -77
  498. package/src/tests/artifact-commands.test.ts +0 -92
  499. package/src/tests/artifact-sdk.test.ts +0 -793
  500. package/src/tests/register-service-security.test.ts +0 -194
  501. package/src/tools/list-services.ts +0 -107
  502. package/src/tools/register-service.ts +0 -177
  503. package/src/tools/unregister-service.ts +0 -73
  504. package/src/tools/update-service-status.ts +0 -96
  505. package/templates/skills/artifacts/config.json +0 -14
  506. package/templates/skills/artifacts/content.md +0 -344
  507. package/templates/skills/artifacts/files/examples/approval-flow.ts +0 -34
  508. package/templates/skills/artifacts/files/examples/hono-dashboard.ts +0 -31
  509. package/templates/skills/artifacts/files/examples/multi-artifact.ts +0 -20
  510. package/templates/skills/artifacts/files/examples/static-report.sh +0 -17
  511. /package/src/{artifact-sdk → pages}/browser-sdk.ts +0 -0
@@ -1,1104 +0,0 @@
1
- import {
2
- exports_supports_color,
3
- init_supports_color
4
- } from "./cli-bd957dgb.js";
5
- import {
6
- __commonJS,
7
- __require,
8
- __toCommonJS
9
- } from "./cli-bc05qbss.js";
10
-
11
- // node_modules/ms/index.js
12
- var require_ms = __commonJS(function(exports, module) {
13
- var s = 1000;
14
- var m = s * 60;
15
- var h = m * 60;
16
- var d = h * 24;
17
- var w = d * 7;
18
- var y = d * 365.25;
19
- module.exports = function(val, options) {
20
- options = options || {};
21
- var type = typeof val;
22
- if (type === "string" && val.length > 0) {
23
- return parse(val);
24
- } else if (type === "number" && isFinite(val)) {
25
- return options.long ? fmtLong(val) : fmtShort(val);
26
- }
27
- throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(val));
28
- };
29
- function parse(str) {
30
- str = String(str);
31
- if (str.length > 100) {
32
- return;
33
- }
34
- var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);
35
- if (!match) {
36
- return;
37
- }
38
- var n = parseFloat(match[1]);
39
- var type = (match[2] || "ms").toLowerCase();
40
- switch (type) {
41
- case "years":
42
- case "year":
43
- case "yrs":
44
- case "yr":
45
- case "y":
46
- return n * y;
47
- case "weeks":
48
- case "week":
49
- case "w":
50
- return n * w;
51
- case "days":
52
- case "day":
53
- case "d":
54
- return n * d;
55
- case "hours":
56
- case "hour":
57
- case "hrs":
58
- case "hr":
59
- case "h":
60
- return n * h;
61
- case "minutes":
62
- case "minute":
63
- case "mins":
64
- case "min":
65
- case "m":
66
- return n * m;
67
- case "seconds":
68
- case "second":
69
- case "secs":
70
- case "sec":
71
- case "s":
72
- return n * s;
73
- case "milliseconds":
74
- case "millisecond":
75
- case "msecs":
76
- case "msec":
77
- case "ms":
78
- return n;
79
- default:
80
- return;
81
- }
82
- }
83
- function fmtShort(ms) {
84
- var msAbs = Math.abs(ms);
85
- if (msAbs >= d) {
86
- return Math.round(ms / d) + "d";
87
- }
88
- if (msAbs >= h) {
89
- return Math.round(ms / h) + "h";
90
- }
91
- if (msAbs >= m) {
92
- return Math.round(ms / m) + "m";
93
- }
94
- if (msAbs >= s) {
95
- return Math.round(ms / s) + "s";
96
- }
97
- return ms + "ms";
98
- }
99
- function fmtLong(ms) {
100
- var msAbs = Math.abs(ms);
101
- if (msAbs >= d) {
102
- return plural(ms, msAbs, d, "day");
103
- }
104
- if (msAbs >= h) {
105
- return plural(ms, msAbs, h, "hour");
106
- }
107
- if (msAbs >= m) {
108
- return plural(ms, msAbs, m, "minute");
109
- }
110
- if (msAbs >= s) {
111
- return plural(ms, msAbs, s, "second");
112
- }
113
- return ms + " ms";
114
- }
115
- function plural(ms, msAbs, n, name) {
116
- var isPlural = msAbs >= n * 1.5;
117
- return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
118
- }
119
- });
120
-
121
- // node_modules/debug/src/common.js
122
- var require_common = __commonJS(function(exports, module) {
123
- function setup(env) {
124
- createDebug.debug = createDebug;
125
- createDebug.default = createDebug;
126
- createDebug.coerce = coerce;
127
- createDebug.disable = disable;
128
- createDebug.enable = enable;
129
- createDebug.enabled = enabled;
130
- createDebug.humanize = require_ms();
131
- createDebug.destroy = destroy;
132
- Object.keys(env).forEach((key) => {
133
- createDebug[key] = env[key];
134
- });
135
- createDebug.names = [];
136
- createDebug.skips = [];
137
- createDebug.formatters = {};
138
- function selectColor(namespace) {
139
- let hash = 0;
140
- for (let i = 0;i < namespace.length; i++) {
141
- hash = (hash << 5) - hash + namespace.charCodeAt(i);
142
- hash |= 0;
143
- }
144
- return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
145
- }
146
- createDebug.selectColor = selectColor;
147
- function createDebug(namespace) {
148
- let prevTime;
149
- let enableOverride = null;
150
- let namespacesCache;
151
- let enabledCache;
152
- function debug(...args) {
153
- if (!debug.enabled) {
154
- return;
155
- }
156
- const self = debug;
157
- const curr = Number(new Date);
158
- const ms = curr - (prevTime || curr);
159
- self.diff = ms;
160
- self.prev = prevTime;
161
- self.curr = curr;
162
- prevTime = curr;
163
- args[0] = createDebug.coerce(args[0]);
164
- if (typeof args[0] !== "string") {
165
- args.unshift("%O");
166
- }
167
- let index = 0;
168
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
169
- if (match === "%%") {
170
- return "%";
171
- }
172
- index++;
173
- const formatter = createDebug.formatters[format];
174
- if (typeof formatter === "function") {
175
- const val = args[index];
176
- match = formatter.call(self, val);
177
- args.splice(index, 1);
178
- index--;
179
- }
180
- return match;
181
- });
182
- createDebug.formatArgs.call(self, args);
183
- const logFn = self.log || createDebug.log;
184
- logFn.apply(self, args);
185
- }
186
- debug.namespace = namespace;
187
- debug.useColors = createDebug.useColors();
188
- debug.color = createDebug.selectColor(namespace);
189
- debug.extend = extend;
190
- debug.destroy = createDebug.destroy;
191
- Object.defineProperty(debug, "enabled", {
192
- enumerable: true,
193
- configurable: false,
194
- get: () => {
195
- if (enableOverride !== null) {
196
- return enableOverride;
197
- }
198
- if (namespacesCache !== createDebug.namespaces) {
199
- namespacesCache = createDebug.namespaces;
200
- enabledCache = createDebug.enabled(namespace);
201
- }
202
- return enabledCache;
203
- },
204
- set: (v) => {
205
- enableOverride = v;
206
- }
207
- });
208
- if (typeof createDebug.init === "function") {
209
- createDebug.init(debug);
210
- }
211
- return debug;
212
- }
213
- function extend(namespace, delimiter) {
214
- const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
215
- newDebug.log = this.log;
216
- return newDebug;
217
- }
218
- function enable(namespaces) {
219
- createDebug.save(namespaces);
220
- createDebug.namespaces = namespaces;
221
- createDebug.names = [];
222
- createDebug.skips = [];
223
- let i;
224
- const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
225
- const len = split.length;
226
- for (i = 0;i < len; i++) {
227
- if (!split[i]) {
228
- continue;
229
- }
230
- namespaces = split[i].replace(/\*/g, ".*?");
231
- if (namespaces[0] === "-") {
232
- createDebug.skips.push(new RegExp("^" + namespaces.substr(1) + "$"));
233
- } else {
234
- createDebug.names.push(new RegExp("^" + namespaces + "$"));
235
- }
236
- }
237
- }
238
- function disable() {
239
- const namespaces = [
240
- ...createDebug.names.map(toNamespace),
241
- ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace)
242
- ].join(",");
243
- createDebug.enable("");
244
- return namespaces;
245
- }
246
- function enabled(name) {
247
- if (name[name.length - 1] === "*") {
248
- return true;
249
- }
250
- let i;
251
- let len;
252
- for (i = 0, len = createDebug.skips.length;i < len; i++) {
253
- if (createDebug.skips[i].test(name)) {
254
- return false;
255
- }
256
- }
257
- for (i = 0, len = createDebug.names.length;i < len; i++) {
258
- if (createDebug.names[i].test(name)) {
259
- return true;
260
- }
261
- }
262
- return false;
263
- }
264
- function toNamespace(regexp) {
265
- return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*");
266
- }
267
- function coerce(val) {
268
- if (val instanceof Error) {
269
- return val.stack || val.message;
270
- }
271
- return val;
272
- }
273
- function destroy() {
274
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
275
- }
276
- createDebug.enable(createDebug.load());
277
- return createDebug;
278
- }
279
- module.exports = setup;
280
- });
281
-
282
- // node_modules/debug/src/browser.js
283
- var require_browser = __commonJS(function(exports, module) {
284
- exports.formatArgs = formatArgs;
285
- exports.save = save;
286
- exports.load = load;
287
- exports.useColors = useColors;
288
- exports.storage = localstorage();
289
- exports.destroy = (() => {
290
- let warned = false;
291
- return () => {
292
- if (!warned) {
293
- warned = true;
294
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
295
- }
296
- };
297
- })();
298
- exports.colors = [
299
- "#0000CC",
300
- "#0000FF",
301
- "#0033CC",
302
- "#0033FF",
303
- "#0066CC",
304
- "#0066FF",
305
- "#0099CC",
306
- "#0099FF",
307
- "#00CC00",
308
- "#00CC33",
309
- "#00CC66",
310
- "#00CC99",
311
- "#00CCCC",
312
- "#00CCFF",
313
- "#3300CC",
314
- "#3300FF",
315
- "#3333CC",
316
- "#3333FF",
317
- "#3366CC",
318
- "#3366FF",
319
- "#3399CC",
320
- "#3399FF",
321
- "#33CC00",
322
- "#33CC33",
323
- "#33CC66",
324
- "#33CC99",
325
- "#33CCCC",
326
- "#33CCFF",
327
- "#6600CC",
328
- "#6600FF",
329
- "#6633CC",
330
- "#6633FF",
331
- "#66CC00",
332
- "#66CC33",
333
- "#9900CC",
334
- "#9900FF",
335
- "#9933CC",
336
- "#9933FF",
337
- "#99CC00",
338
- "#99CC33",
339
- "#CC0000",
340
- "#CC0033",
341
- "#CC0066",
342
- "#CC0099",
343
- "#CC00CC",
344
- "#CC00FF",
345
- "#CC3300",
346
- "#CC3333",
347
- "#CC3366",
348
- "#CC3399",
349
- "#CC33CC",
350
- "#CC33FF",
351
- "#CC6600",
352
- "#CC6633",
353
- "#CC9900",
354
- "#CC9933",
355
- "#CCCC00",
356
- "#CCCC33",
357
- "#FF0000",
358
- "#FF0033",
359
- "#FF0066",
360
- "#FF0099",
361
- "#FF00CC",
362
- "#FF00FF",
363
- "#FF3300",
364
- "#FF3333",
365
- "#FF3366",
366
- "#FF3399",
367
- "#FF33CC",
368
- "#FF33FF",
369
- "#FF6600",
370
- "#FF6633",
371
- "#FF9900",
372
- "#FF9933",
373
- "#FFCC00",
374
- "#FFCC33"
375
- ];
376
- function useColors() {
377
- if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
378
- return true;
379
- }
380
- if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
381
- return false;
382
- }
383
- return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
384
- }
385
- function formatArgs(args) {
386
- args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff);
387
- if (!this.useColors) {
388
- return;
389
- }
390
- const c = "color: " + this.color;
391
- args.splice(1, 0, c, "color: inherit");
392
- let index = 0;
393
- let lastC = 0;
394
- args[0].replace(/%[a-zA-Z%]/g, (match) => {
395
- if (match === "%%") {
396
- return;
397
- }
398
- index++;
399
- if (match === "%c") {
400
- lastC = index;
401
- }
402
- });
403
- args.splice(lastC, 0, c);
404
- }
405
- exports.log = console.debug || console.log || (() => {});
406
- function save(namespaces) {
407
- try {
408
- if (namespaces) {
409
- exports.storage.setItem("debug", namespaces);
410
- } else {
411
- exports.storage.removeItem("debug");
412
- }
413
- } catch (error) {}
414
- }
415
- function load() {
416
- let r;
417
- try {
418
- r = exports.storage.getItem("debug");
419
- } catch (error) {}
420
- if (!r && typeof process !== "undefined" && "env" in process) {
421
- r = process.env.DEBUG;
422
- }
423
- return r;
424
- }
425
- function localstorage() {
426
- try {
427
- return localStorage;
428
- } catch (error) {}
429
- }
430
- module.exports = require_common()(exports);
431
- var { formatters } = module.exports;
432
- formatters.j = function(v) {
433
- try {
434
- return JSON.stringify(v);
435
- } catch (error) {
436
- return "[UnexpectedJSONParseError]: " + error.message;
437
- }
438
- };
439
- });
440
-
441
- // node_modules/debug/src/node.js
442
- var require_node = __commonJS(function(exports, module) {
443
- var tty = __require("tty");
444
- var util = __require("util");
445
- exports.init = init;
446
- exports.log = log;
447
- exports.formatArgs = formatArgs;
448
- exports.save = save;
449
- exports.load = load;
450
- exports.useColors = useColors;
451
- exports.destroy = util.deprecate(() => {}, "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
452
- exports.colors = [6, 2, 3, 4, 5, 1];
453
- try {
454
- const supportsColor = (init_supports_color(), __toCommonJS(exports_supports_color));
455
- if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
456
- exports.colors = [
457
- 20,
458
- 21,
459
- 26,
460
- 27,
461
- 32,
462
- 33,
463
- 38,
464
- 39,
465
- 40,
466
- 41,
467
- 42,
468
- 43,
469
- 44,
470
- 45,
471
- 56,
472
- 57,
473
- 62,
474
- 63,
475
- 68,
476
- 69,
477
- 74,
478
- 75,
479
- 76,
480
- 77,
481
- 78,
482
- 79,
483
- 80,
484
- 81,
485
- 92,
486
- 93,
487
- 98,
488
- 99,
489
- 112,
490
- 113,
491
- 128,
492
- 129,
493
- 134,
494
- 135,
495
- 148,
496
- 149,
497
- 160,
498
- 161,
499
- 162,
500
- 163,
501
- 164,
502
- 165,
503
- 166,
504
- 167,
505
- 168,
506
- 169,
507
- 170,
508
- 171,
509
- 172,
510
- 173,
511
- 178,
512
- 179,
513
- 184,
514
- 185,
515
- 196,
516
- 197,
517
- 198,
518
- 199,
519
- 200,
520
- 201,
521
- 202,
522
- 203,
523
- 204,
524
- 205,
525
- 206,
526
- 207,
527
- 208,
528
- 209,
529
- 214,
530
- 215,
531
- 220,
532
- 221
533
- ];
534
- }
535
- } catch (error) {}
536
- exports.inspectOpts = Object.keys(process.env).filter((key) => {
537
- return /^debug_/i.test(key);
538
- }).reduce((obj, key) => {
539
- const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
540
- return k.toUpperCase();
541
- });
542
- let val = process.env[key];
543
- if (/^(yes|on|true|enabled)$/i.test(val)) {
544
- val = true;
545
- } else if (/^(no|off|false|disabled)$/i.test(val)) {
546
- val = false;
547
- } else if (val === "null") {
548
- val = null;
549
- } else {
550
- val = Number(val);
551
- }
552
- obj[prop] = val;
553
- return obj;
554
- }, {});
555
- function useColors() {
556
- return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty.isatty(process.stderr.fd);
557
- }
558
- function formatArgs(args) {
559
- const { namespace: name, useColors: useColors2 } = this;
560
- if (useColors2) {
561
- const c = this.color;
562
- const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
563
- const prefix = ` ${colorCode};1m${name} \x1B[0m`;
564
- args[0] = prefix + args[0].split(`
565
- `).join(`
566
- ` + prefix);
567
- args.push(colorCode + "m+" + module.exports.humanize(this.diff) + "\x1B[0m");
568
- } else {
569
- args[0] = getDate() + name + " " + args[0];
570
- }
571
- }
572
- function getDate() {
573
- if (exports.inspectOpts.hideDate) {
574
- return "";
575
- }
576
- return new Date().toISOString() + " ";
577
- }
578
- function log(...args) {
579
- return process.stderr.write(util.format(...args) + `
580
- `);
581
- }
582
- function save(namespaces) {
583
- if (namespaces) {
584
- process.env.DEBUG = namespaces;
585
- } else {
586
- delete process.env.DEBUG;
587
- }
588
- }
589
- function load() {
590
- return process.env.DEBUG;
591
- }
592
- function init(debug) {
593
- debug.inspectOpts = {};
594
- const keys = Object.keys(exports.inspectOpts);
595
- for (let i = 0;i < keys.length; i++) {
596
- debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
597
- }
598
- }
599
- module.exports = require_common()(exports);
600
- var { formatters } = module.exports;
601
- formatters.o = function(v) {
602
- this.inspectOpts.colors = this.useColors;
603
- return util.inspect(v, this.inspectOpts).split(`
604
- `).map((str) => str.trim()).join(" ");
605
- };
606
- formatters.O = function(v) {
607
- this.inspectOpts.colors = this.useColors;
608
- return util.inspect(v, this.inspectOpts);
609
- };
610
- });
611
-
612
- // node_modules/debug/src/index.js
613
- var require_src = __commonJS(function(exports, module) {
614
- if (typeof process === "undefined" || process.type === "renderer" || false || process.__nwjs) {
615
- module.exports = require_browser();
616
- } else {
617
- module.exports = require_node();
618
- }
619
- });
620
-
621
- // node_modules/follow-redirects/debug.js
622
- var require_debug = __commonJS(function(exports, module) {
623
- var debug;
624
- module.exports = function() {
625
- if (!debug) {
626
- try {
627
- debug = require_src()("follow-redirects");
628
- } catch (error) {}
629
- if (typeof debug !== "function") {
630
- debug = function() {};
631
- }
632
- }
633
- debug.apply(null, arguments);
634
- };
635
- });
636
-
637
- // node_modules/follow-redirects/index.js
638
- var require_follow_redirects = __commonJS(function(exports, module) {
639
- var url = __require("url");
640
- var URL = url.URL;
641
- var http = __require("http");
642
- var https = __require("https");
643
- var Writable = __require("stream").Writable;
644
- var assert = __require("assert");
645
- var debug = require_debug();
646
- (function detectUnsupportedEnvironment() {
647
- var looksLikeNode = typeof process !== "undefined";
648
- var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
649
- var looksLikeV8 = isFunction(Error.captureStackTrace);
650
- if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
651
- console.warn("The follow-redirects package should be excluded from browser builds.");
652
- }
653
- })();
654
- var useNativeURL = false;
655
- try {
656
- assert(new URL(""));
657
- } catch (error) {
658
- useNativeURL = error.code === "ERR_INVALID_URL";
659
- }
660
- var preservedUrlFields = [
661
- "auth",
662
- "host",
663
- "hostname",
664
- "href",
665
- "path",
666
- "pathname",
667
- "port",
668
- "protocol",
669
- "query",
670
- "search",
671
- "hash"
672
- ];
673
- var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
674
- var eventHandlers = Object.create(null);
675
- events.forEach(function(event) {
676
- eventHandlers[event] = function(arg1, arg2, arg3) {
677
- this._redirectable.emit(event, arg1, arg2, arg3);
678
- };
679
- });
680
- var InvalidUrlError = createErrorType("ERR_INVALID_URL", "Invalid URL", TypeError);
681
- var RedirectionError = createErrorType("ERR_FR_REDIRECTION_FAILURE", "Redirected request failed");
682
- var TooManyRedirectsError = createErrorType("ERR_FR_TOO_MANY_REDIRECTS", "Maximum number of redirects exceeded", RedirectionError);
683
- var MaxBodyLengthExceededError = createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED", "Request body larger than maxBodyLength limit");
684
- var WriteAfterEndError = createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");
685
- var destroy = Writable.prototype.destroy || noop;
686
- function RedirectableRequest(options, responseCallback) {
687
- Writable.call(this);
688
- this._sanitizeOptions(options);
689
- this._options = options;
690
- this._ended = false;
691
- this._ending = false;
692
- this._redirectCount = 0;
693
- this._redirects = [];
694
- this._requestBodyLength = 0;
695
- this._requestBodyBuffers = [];
696
- if (responseCallback) {
697
- this.on("response", responseCallback);
698
- }
699
- var self = this;
700
- this._onNativeResponse = function(response) {
701
- try {
702
- self._processResponse(response);
703
- } catch (cause) {
704
- self.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause }));
705
- }
706
- };
707
- this._performRequest();
708
- }
709
- RedirectableRequest.prototype = Object.create(Writable.prototype);
710
- RedirectableRequest.prototype.abort = function() {
711
- destroyRequest(this._currentRequest);
712
- this._currentRequest.abort();
713
- this.emit("abort");
714
- };
715
- RedirectableRequest.prototype.destroy = function(error) {
716
- destroyRequest(this._currentRequest, error);
717
- destroy.call(this, error);
718
- return this;
719
- };
720
- RedirectableRequest.prototype.write = function(data, encoding, callback) {
721
- if (this._ending) {
722
- throw new WriteAfterEndError;
723
- }
724
- if (!isString(data) && !isBuffer(data)) {
725
- throw new TypeError("data should be a string, Buffer or Uint8Array");
726
- }
727
- if (isFunction(encoding)) {
728
- callback = encoding;
729
- encoding = null;
730
- }
731
- if (data.length === 0) {
732
- if (callback) {
733
- callback();
734
- }
735
- return;
736
- }
737
- if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {
738
- this._requestBodyLength += data.length;
739
- this._requestBodyBuffers.push({ data, encoding });
740
- this._currentRequest.write(data, encoding, callback);
741
- } else {
742
- this.emit("error", new MaxBodyLengthExceededError);
743
- this.abort();
744
- }
745
- };
746
- RedirectableRequest.prototype.end = function(data, encoding, callback) {
747
- if (isFunction(data)) {
748
- callback = data;
749
- data = encoding = null;
750
- } else if (isFunction(encoding)) {
751
- callback = encoding;
752
- encoding = null;
753
- }
754
- if (!data) {
755
- this._ended = this._ending = true;
756
- this._currentRequest.end(null, null, callback);
757
- } else {
758
- var self = this;
759
- var currentRequest = this._currentRequest;
760
- this.write(data, encoding, function() {
761
- self._ended = true;
762
- currentRequest.end(null, null, callback);
763
- });
764
- this._ending = true;
765
- }
766
- };
767
- RedirectableRequest.prototype.setHeader = function(name, value) {
768
- this._options.headers[name] = value;
769
- this._currentRequest.setHeader(name, value);
770
- };
771
- RedirectableRequest.prototype.removeHeader = function(name) {
772
- delete this._options.headers[name];
773
- this._currentRequest.removeHeader(name);
774
- };
775
- RedirectableRequest.prototype.setTimeout = function(msecs, callback) {
776
- var self = this;
777
- function destroyOnTimeout(socket) {
778
- socket.setTimeout(msecs);
779
- socket.removeListener("timeout", socket.destroy);
780
- socket.addListener("timeout", socket.destroy);
781
- }
782
- function startTimer(socket) {
783
- if (self._timeout) {
784
- clearTimeout(self._timeout);
785
- }
786
- self._timeout = setTimeout(function() {
787
- self.emit("timeout");
788
- clearTimer();
789
- }, msecs);
790
- destroyOnTimeout(socket);
791
- }
792
- function clearTimer() {
793
- if (self._timeout) {
794
- clearTimeout(self._timeout);
795
- self._timeout = null;
796
- }
797
- self.removeListener("abort", clearTimer);
798
- self.removeListener("error", clearTimer);
799
- self.removeListener("response", clearTimer);
800
- self.removeListener("close", clearTimer);
801
- if (callback) {
802
- self.removeListener("timeout", callback);
803
- }
804
- if (!self.socket) {
805
- self._currentRequest.removeListener("socket", startTimer);
806
- }
807
- }
808
- if (callback) {
809
- this.on("timeout", callback);
810
- }
811
- if (this.socket) {
812
- startTimer(this.socket);
813
- } else {
814
- this._currentRequest.once("socket", startTimer);
815
- }
816
- this.on("socket", destroyOnTimeout);
817
- this.on("abort", clearTimer);
818
- this.on("error", clearTimer);
819
- this.on("response", clearTimer);
820
- this.on("close", clearTimer);
821
- return this;
822
- };
823
- [
824
- "flushHeaders",
825
- "getHeader",
826
- "setNoDelay",
827
- "setSocketKeepAlive"
828
- ].forEach(function(method) {
829
- RedirectableRequest.prototype[method] = function(a, b) {
830
- return this._currentRequest[method](a, b);
831
- };
832
- });
833
- ["aborted", "connection", "socket"].forEach(function(property) {
834
- Object.defineProperty(RedirectableRequest.prototype, property, {
835
- get: function() {
836
- return this._currentRequest[property];
837
- }
838
- });
839
- });
840
- RedirectableRequest.prototype._sanitizeOptions = function(options) {
841
- if (!options.headers) {
842
- options.headers = {};
843
- }
844
- if (options.host) {
845
- if (!options.hostname) {
846
- options.hostname = options.host;
847
- }
848
- delete options.host;
849
- }
850
- if (!options.pathname && options.path) {
851
- var searchPos = options.path.indexOf("?");
852
- if (searchPos < 0) {
853
- options.pathname = options.path;
854
- } else {
855
- options.pathname = options.path.substring(0, searchPos);
856
- options.search = options.path.substring(searchPos);
857
- }
858
- }
859
- };
860
- RedirectableRequest.prototype._performRequest = function() {
861
- var protocol = this._options.protocol;
862
- var nativeProtocol = this._options.nativeProtocols[protocol];
863
- if (!nativeProtocol) {
864
- throw new TypeError("Unsupported protocol " + protocol);
865
- }
866
- if (this._options.agents) {
867
- var scheme = protocol.slice(0, -1);
868
- this._options.agent = this._options.agents[scheme];
869
- }
870
- var request = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse);
871
- request._redirectable = this;
872
- for (var event of events) {
873
- request.on(event, eventHandlers[event]);
874
- }
875
- this._currentUrl = /^\//.test(this._options.path) ? url.format(this._options) : this._options.path;
876
- if (this._isRedirect) {
877
- var i = 0;
878
- var self = this;
879
- var buffers = this._requestBodyBuffers;
880
- (function writeNext(error) {
881
- if (request === self._currentRequest) {
882
- if (error) {
883
- self.emit("error", error);
884
- } else if (i < buffers.length) {
885
- var buffer = buffers[i++];
886
- if (!request.finished) {
887
- request.write(buffer.data, buffer.encoding, writeNext);
888
- }
889
- } else if (self._ended) {
890
- request.end();
891
- }
892
- }
893
- })();
894
- }
895
- };
896
- RedirectableRequest.prototype._processResponse = function(response) {
897
- var statusCode = response.statusCode;
898
- if (this._options.trackRedirects) {
899
- this._redirects.push({
900
- url: this._currentUrl,
901
- headers: response.headers,
902
- statusCode
903
- });
904
- }
905
- var location = response.headers.location;
906
- if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
907
- response.responseUrl = this._currentUrl;
908
- response.redirects = this._redirects;
909
- this.emit("response", response);
910
- this._requestBodyBuffers = [];
911
- return;
912
- }
913
- destroyRequest(this._currentRequest);
914
- response.destroy();
915
- if (++this._redirectCount > this._options.maxRedirects) {
916
- throw new TooManyRedirectsError;
917
- }
918
- var requestHeaders;
919
- var beforeRedirect = this._options.beforeRedirect;
920
- if (beforeRedirect) {
921
- requestHeaders = Object.assign({
922
- Host: response.req.getHeader("host")
923
- }, this._options.headers);
924
- }
925
- var method = this._options.method;
926
- if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
927
- this._options.method = "GET";
928
- this._requestBodyBuffers = [];
929
- removeMatchingHeaders(/^content-/i, this._options.headers);
930
- }
931
- var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
932
- var currentUrlParts = parseUrl(this._currentUrl);
933
- var currentHost = currentHostHeader || currentUrlParts.host;
934
- var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url.format(Object.assign(currentUrlParts, { host: currentHost }));
935
- var redirectUrl = resolveUrl(location, currentUrl);
936
- debug("redirecting to", redirectUrl.href);
937
- this._isRedirect = true;
938
- spreadUrlObject(redirectUrl, this._options);
939
- if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) {
940
- removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
941
- }
942
- if (isFunction(beforeRedirect)) {
943
- var responseDetails = {
944
- headers: response.headers,
945
- statusCode
946
- };
947
- var requestDetails = {
948
- url: currentUrl,
949
- method,
950
- headers: requestHeaders
951
- };
952
- beforeRedirect(this._options, responseDetails, requestDetails);
953
- this._sanitizeOptions(this._options);
954
- }
955
- this._performRequest();
956
- };
957
- function wrap(protocols) {
958
- var exports2 = {
959
- maxRedirects: 21,
960
- maxBodyLength: 10 * 1024 * 1024
961
- };
962
- var nativeProtocols = {};
963
- Object.keys(protocols).forEach(function(scheme) {
964
- var protocol = scheme + ":";
965
- var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];
966
- var wrappedProtocol = exports2[scheme] = Object.create(nativeProtocol);
967
- function request(input, options, callback) {
968
- if (isURL(input)) {
969
- input = spreadUrlObject(input);
970
- } else if (isString(input)) {
971
- input = spreadUrlObject(parseUrl(input));
972
- } else {
973
- callback = options;
974
- options = validateUrl(input);
975
- input = { protocol };
976
- }
977
- if (isFunction(options)) {
978
- callback = options;
979
- options = null;
980
- }
981
- options = Object.assign({
982
- maxRedirects: exports2.maxRedirects,
983
- maxBodyLength: exports2.maxBodyLength
984
- }, input, options);
985
- options.nativeProtocols = nativeProtocols;
986
- if (!isString(options.host) && !isString(options.hostname)) {
987
- options.hostname = "::1";
988
- }
989
- assert.equal(options.protocol, protocol, "protocol mismatch");
990
- debug("options", options);
991
- return new RedirectableRequest(options, callback);
992
- }
993
- function get(input, options, callback) {
994
- var wrappedRequest = wrappedProtocol.request(input, options, callback);
995
- wrappedRequest.end();
996
- return wrappedRequest;
997
- }
998
- Object.defineProperties(wrappedProtocol, {
999
- request: { value: request, configurable: true, enumerable: true, writable: true },
1000
- get: { value: get, configurable: true, enumerable: true, writable: true }
1001
- });
1002
- });
1003
- return exports2;
1004
- }
1005
- function noop() {}
1006
- function parseUrl(input) {
1007
- var parsed;
1008
- if (useNativeURL) {
1009
- parsed = new URL(input);
1010
- } else {
1011
- parsed = validateUrl(url.parse(input));
1012
- if (!isString(parsed.protocol)) {
1013
- throw new InvalidUrlError({ input });
1014
- }
1015
- }
1016
- return parsed;
1017
- }
1018
- function resolveUrl(relative, base) {
1019
- return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));
1020
- }
1021
- function validateUrl(input) {
1022
- if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
1023
- throw new InvalidUrlError({ input: input.href || input });
1024
- }
1025
- if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
1026
- throw new InvalidUrlError({ input: input.href || input });
1027
- }
1028
- return input;
1029
- }
1030
- function spreadUrlObject(urlObject, target) {
1031
- var spread = target || {};
1032
- for (var key of preservedUrlFields) {
1033
- spread[key] = urlObject[key];
1034
- }
1035
- if (spread.hostname.startsWith("[")) {
1036
- spread.hostname = spread.hostname.slice(1, -1);
1037
- }
1038
- if (spread.port !== "") {
1039
- spread.port = Number(spread.port);
1040
- }
1041
- spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
1042
- return spread;
1043
- }
1044
- function removeMatchingHeaders(regex, headers) {
1045
- var lastValue;
1046
- for (var header in headers) {
1047
- if (regex.test(header)) {
1048
- lastValue = headers[header];
1049
- delete headers[header];
1050
- }
1051
- }
1052
- return lastValue === null || typeof lastValue === "undefined" ? undefined : String(lastValue).trim();
1053
- }
1054
- function createErrorType(code, message, baseClass) {
1055
- function CustomError(properties) {
1056
- if (isFunction(Error.captureStackTrace)) {
1057
- Error.captureStackTrace(this, this.constructor);
1058
- }
1059
- Object.assign(this, properties || {});
1060
- this.code = code;
1061
- this.message = this.cause ? message + ": " + this.cause.message : message;
1062
- }
1063
- CustomError.prototype = new (baseClass || Error);
1064
- Object.defineProperties(CustomError.prototype, {
1065
- constructor: {
1066
- value: CustomError,
1067
- enumerable: false
1068
- },
1069
- name: {
1070
- value: "Error [" + code + "]",
1071
- enumerable: false
1072
- }
1073
- });
1074
- return CustomError;
1075
- }
1076
- function destroyRequest(request, error) {
1077
- for (var event of events) {
1078
- request.removeListener(event, eventHandlers[event]);
1079
- }
1080
- request.on("error", noop);
1081
- request.destroy(error);
1082
- }
1083
- function isSubdomain(subdomain, domain) {
1084
- assert(isString(subdomain) && isString(domain));
1085
- var dot = subdomain.length - domain.length - 1;
1086
- return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
1087
- }
1088
- function isString(value) {
1089
- return typeof value === "string" || value instanceof String;
1090
- }
1091
- function isFunction(value) {
1092
- return typeof value === "function";
1093
- }
1094
- function isBuffer(value) {
1095
- return typeof value === "object" && "length" in value;
1096
- }
1097
- function isURL(value) {
1098
- return URL && value instanceof URL;
1099
- }
1100
- module.exports = wrap({ http, https });
1101
- module.exports.wrap = wrap;
1102
- });
1103
-
1104
- export { require_src, require_follow_redirects };