@agentstep/agent-sdk 0.5.27 → 0.5.33

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 (205) hide show
  1. package/dist/auth/middleware.js +8 -8
  2. package/dist/backends/claude/args.js +6 -6
  3. package/dist/backends/claude/index.js +11 -11
  4. package/dist/backends/codex/auth.js +6 -6
  5. package/dist/backends/codex/index.js +10 -10
  6. package/dist/backends/factory/auth.js +6 -6
  7. package/dist/backends/factory/index.js +12 -12
  8. package/dist/backends/gemini/auth.js +6 -6
  9. package/dist/backends/gemini/index.js +13 -13
  10. package/dist/backends/opencode/args.js +1 -1
  11. package/dist/backends/opencode/auth.js +6 -6
  12. package/dist/backends/opencode/index.js +14 -14
  13. package/dist/backends/pi/args.js +1 -1
  14. package/dist/backends/pi/auth.js +6 -6
  15. package/dist/backends/pi/index.js +11 -11
  16. package/dist/backends/registry.js +29 -29
  17. package/dist/{chunk-PZKWZKRP.js → chunk-2KF2TIEY.js} +5 -5
  18. package/dist/{chunk-GPGBT7JD.js → chunk-3B4JRSYA.js} +5 -5
  19. package/dist/{chunk-LJNLU5PQ.js → chunk-3NUTTKE5.js} +2 -2
  20. package/dist/{chunk-MZ6HBYGV.js → chunk-65XY7HRS.js} +7 -7
  21. package/dist/{chunk-US26CY2Y.js → chunk-6EIONZ7F.js} +2 -2
  22. package/dist/{chunk-OQ33WLYG.js → chunk-6RRK27I3.js} +3 -3
  23. package/dist/chunk-6SD6MC2B.js +29 -0
  24. package/dist/{chunk-ENFWZ2QM.js → chunk-6U6HEVSN.js} +7 -3
  25. package/dist/{chunk-J7XHNSPO.js → chunk-7JA6HCMK.js} +2 -2
  26. package/dist/{chunk-7HTCDMOB.js → chunk-7PFDF5PN.js} +7 -7
  27. package/dist/{chunk-UB7GS7XT.js → chunk-A3FQHVUG.js} +7 -7
  28. package/dist/{chunk-ZP5QO5BR.js → chunk-ABUNDZCE.js} +1 -1
  29. package/dist/{chunk-Q62QJXGO.js → chunk-AGIXZFHQ.js} +1 -1
  30. package/dist/{chunk-ELK5PVI3.js → chunk-AK6HMO7I.js} +8 -8
  31. package/dist/{chunk-BYUIOMPX.js → chunk-AKGWEACL.js} +23 -23
  32. package/dist/{chunk-NKOGWVP3.js → chunk-AUEKXYNE.js} +4 -4
  33. package/dist/{chunk-A6FHXGSI.js → chunk-B24Q4CUC.js} +5 -5
  34. package/dist/{chunk-SKVAM5H2.js → chunk-B3W3E5CS.js} +1 -1
  35. package/dist/{chunk-5AV732JY.js → chunk-BKMY6TSV.js} +2 -2
  36. package/dist/{chunk-H5UBRKRU.js → chunk-C3UXUDZS.js} +4 -4
  37. package/dist/{chunk-QQGXM2OQ.js → chunk-C7P2TYOG.js} +1 -1
  38. package/dist/{chunk-VOHHDBIX.js → chunk-CHNJK2KW.js} +2 -2
  39. package/dist/{chunk-A3MNXVCR.js → chunk-CJIGDJIJ.js} +3 -3
  40. package/dist/{chunk-BW6OSLW7.js → chunk-CWB2DQN5.js} +14 -6
  41. package/dist/{chunk-JC2XJBV2.js → chunk-CWVYFBZF.js} +4 -4
  42. package/dist/{chunk-4ENK7S24.js → chunk-CXYMVLYK.js} +4 -0
  43. package/dist/{chunk-LDUQ4FHX.js → chunk-DAOKOXGY.js} +17 -17
  44. package/dist/{chunk-R37QM2U4.js → chunk-DF34ESOO.js} +1 -1
  45. package/dist/{chunk-GKNBECPD.js → chunk-DZKBUOYU.js} +2 -2
  46. package/dist/{chunk-XPPOMXTN.js → chunk-EUMA5Q4U.js} +4 -4
  47. package/dist/{chunk-FC3UAHXM.js → chunk-FDLQ3IUB.js} +1 -1
  48. package/dist/{chunk-FDL2JHXO.js → chunk-GCT7A5KR.js} +2 -2
  49. package/dist/{chunk-Z5XQQN7H.js → chunk-HWWFRSAX.js} +4 -4
  50. package/dist/{chunk-KWG7NGYF.js → chunk-I2RVN7CP.js} +4 -4
  51. package/dist/{chunk-JCIAIJFF.js → chunk-IC2ETYU5.js} +3 -3
  52. package/dist/{chunk-3FLQ7KZP.js → chunk-IMJTHYN3.js} +1 -1
  53. package/dist/{chunk-ISGA4AOC.js → chunk-J6ESQUW6.js} +2 -2
  54. package/dist/{chunk-Y3V4COP7.js → chunk-J7F2OFWQ.js} +5 -5
  55. package/dist/chunk-J7VBHBXL.js +210 -0
  56. package/dist/{chunk-A4GJADRQ.js → chunk-JF777FWD.js} +2 -2
  57. package/dist/{chunk-IDQKHWWN.js → chunk-JFHYXFAL.js} +1 -1
  58. package/dist/{chunk-ZTHH374G.js → chunk-JMDV55BV.js} +2 -2
  59. package/dist/{chunk-WG3N6VUA.js → chunk-JN3DHH7Z.js} +11 -11
  60. package/dist/{chunk-MYRTMYTN.js → chunk-JNLVQGSH.js} +6 -6
  61. package/dist/{chunk-FQQ2R6FA.js → chunk-JNSJKHYX.js} +1 -1
  62. package/dist/{chunk-TJORQTH6.js → chunk-KGOOCFQY.js} +1 -1
  63. package/dist/chunk-KLGAE7V4.js +108 -0
  64. package/dist/{chunk-VEPT2NDJ.js → chunk-KSL2D4AD.js} +3 -3
  65. package/dist/{chunk-MNW6D7T4.js → chunk-M72ERPMT.js} +1 -1
  66. package/dist/{chunk-IC5ZTBAW.js → chunk-MUARVVXF.js} +3 -3
  67. package/dist/{chunk-G6XFFNCQ.js → chunk-N7XSXI5O.js} +18 -18
  68. package/dist/{chunk-NOW46DBT.js → chunk-NLJK7FEN.js} +3 -3
  69. package/dist/{chunk-BRULBMRN.js → chunk-NSUVDKNC.js} +3 -3
  70. package/dist/{chunk-IS6CQPAQ.js → chunk-OEFJPZYH.js} +3 -3
  71. package/dist/{chunk-P56WU3UT.js → chunk-PDWLVL34.js} +8 -5
  72. package/dist/{chunk-I2WVMCYN.js → chunk-PWLWDWRL.js} +1 -1
  73. package/dist/{chunk-JTGISCYV.js → chunk-QCGIYXN4.js} +1 -1
  74. package/dist/{chunk-6B66DQAS.js → chunk-QGPHATO3.js} +2 -2
  75. package/dist/{chunk-YS3W5AQA.js → chunk-REHIJQUD.js} +9 -9
  76. package/dist/{chunk-2K3UO6TC.js → chunk-RES4BCTF.js} +4 -4
  77. package/dist/{chunk-HDLPEXWS.js → chunk-S5CMAWEC.js} +20 -0
  78. package/dist/{chunk-KD5Y4XSU.js → chunk-S6HILC3F.js} +2 -2
  79. package/dist/{chunk-CBPO2P4I.js → chunk-SAI6LBXW.js} +2 -2
  80. package/dist/{chunk-EY7LWGRO.js → chunk-SDTRWSGF.js} +51 -14
  81. package/dist/{chunk-CG2VA2YP.js → chunk-SHUFUWAB.js} +61 -4
  82. package/dist/{chunk-YMKQJY5F.js → chunk-SIO4LO2M.js} +1 -1
  83. package/dist/{chunk-IITCQTBZ.js → chunk-T2PXAQND.js} +1 -1
  84. package/dist/{chunk-HPL2MQGY.js → chunk-T3TNJHED.js} +6 -6
  85. package/dist/{chunk-SBYBNAOU.js → chunk-TKFAWQD7.js} +2 -2
  86. package/dist/{chunk-D3LKWVPA.js → chunk-TTDMQ54U.js} +2 -2
  87. package/dist/{chunk-CPCGFE75.js → chunk-TTZGQIQS.js} +1 -1
  88. package/dist/{chunk-GNXIA5WC.js → chunk-TVV7AE3G.js} +2 -2
  89. package/dist/{chunk-2REGK4VO.js → chunk-U4SVWPLC.js} +11 -11
  90. package/dist/{chunk-5BA36MSQ.js → chunk-UMXXZ6OX.js} +1 -1
  91. package/dist/{chunk-HQQWAVL6.js → chunk-UNO3TSAT.js} +1 -1
  92. package/dist/{chunk-MGSVPAVF.js → chunk-USSUE7J2.js} +5 -5
  93. package/dist/{chunk-WHTGWLGJ.js → chunk-UTGP4X74.js} +1 -1
  94. package/dist/{chunk-XMZQW5G5.js → chunk-V5RHOS43.js} +8 -8
  95. package/dist/{chunk-Z2AVP3QL.js → chunk-VB6GGRIA.js} +16 -3
  96. package/dist/{chunk-RSXTLOY3.js → chunk-VY5XWTW7.js} +1 -1
  97. package/dist/{chunk-VVCRJ46V.js → chunk-WEUPM3IN.js} +4 -4
  98. package/dist/{chunk-RZHIYTI3.js → chunk-WK33IBKY.js} +10 -1
  99. package/dist/{chunk-I2GML5Z7.js → chunk-XOWRUT4X.js} +2 -2
  100. package/dist/{chunk-AZLZOG5N.js → chunk-XYNEAJDF.js} +1 -1
  101. package/dist/{chunk-K7Y3EAGL.js → chunk-Y5RNFM44.js} +2 -2
  102. package/dist/{chunk-GSDVHR43.js → chunk-YJCH35J4.js} +5 -3
  103. package/dist/{chunk-T77N7C3M.js → chunk-YKPRNV6J.js} +2 -2
  104. package/dist/chunk-YOZ6WDP3.js +103 -0
  105. package/dist/{chunk-7DPZMROX.js → chunk-YRFWPBGX.js} +2 -2
  106. package/dist/{chunk-F5SHFZUA.js → chunk-YTBVILAH.js} +1 -1
  107. package/dist/{chunk-IPTEXVQG.js → chunk-Z5IENUYV.js} +3 -3
  108. package/dist/{chunk-MQSTE4WH.js → chunk-ZBWKJ42J.js} +3 -3
  109. package/dist/{chunk-GBJ3OT4D.js → chunk-ZC7OR65K.js} +7 -5
  110. package/dist/{chunk-7U62OZSD.js → chunk-ZDDMPGN4.js} +2 -2
  111. package/dist/{chunk-5DFZE5OJ.js → chunk-ZPKQT6X2.js} +16 -6
  112. package/dist/{chunk-SX34YV6L.js → chunk-ZV5Y5JBE.js} +2 -2
  113. package/dist/config/index.js +5 -5
  114. package/dist/containers/client.js +6 -6
  115. package/dist/containers/exec.js +6 -6
  116. package/dist/containers/lifecycle.js +41 -41
  117. package/dist/containers/setup.js +9 -9
  118. package/dist/db/agents.js +6 -6
  119. package/dist/db/api_keys.js +5 -5
  120. package/dist/db/audit.js +3 -3
  121. package/dist/db/batch.js +10 -10
  122. package/dist/db/client.js +2 -2
  123. package/dist/db/credentials.js +5 -3
  124. package/dist/db/drizzle.js +4 -4
  125. package/dist/db/environments.js +6 -6
  126. package/dist/db/events.js +5 -5
  127. package/dist/db/files.js +5 -5
  128. package/dist/db/memory.js +5 -5
  129. package/dist/db/migrations.js +1 -1
  130. package/dist/db/proxy.js +5 -5
  131. package/dist/db/schema.js +1 -1
  132. package/dist/db/session-resources.js +5 -5
  133. package/dist/db/sessions.js +8 -8
  134. package/dist/db/skills.js +5 -5
  135. package/dist/db/sync.js +5 -5
  136. package/dist/db/tenants.js +3 -3
  137. package/dist/db/threads.js +7 -7
  138. package/dist/db/traces.js +5 -5
  139. package/dist/db/upstream_keys.js +3 -3
  140. package/dist/db/user-profiles.js +17 -0
  141. package/dist/db/vaults.js +6 -6
  142. package/dist/db/work.js +5 -5
  143. package/dist/dreaming/review.js +11 -11
  144. package/dist/handlers/agents.js +58 -57
  145. package/dist/handlers/api_keys.js +59 -58
  146. package/dist/handlers/audit.js +59 -58
  147. package/dist/handlers/batch.js +59 -58
  148. package/dist/handlers/credentials.js +61 -58
  149. package/dist/handlers/enrollment.js +103 -0
  150. package/dist/handlers/environments.js +59 -58
  151. package/dist/handlers/events.js +62 -61
  152. package/dist/handlers/files.js +59 -58
  153. package/dist/handlers/index.js +145 -126
  154. package/dist/handlers/license.js +58 -57
  155. package/dist/handlers/memory.js +60 -59
  156. package/dist/handlers/metrics.js +58 -57
  157. package/dist/handlers/models.js +59 -58
  158. package/dist/handlers/openapi.js +3 -3
  159. package/dist/handlers/providers.js +58 -57
  160. package/dist/handlers/resources.js +58 -57
  161. package/dist/handlers/sessions.js +62 -61
  162. package/dist/handlers/settings.js +58 -57
  163. package/dist/handlers/skills-write.js +59 -58
  164. package/dist/handlers/skills.js +59 -58
  165. package/dist/handlers/stream.js +58 -57
  166. package/dist/handlers/tenants.js +59 -58
  167. package/dist/handlers/threads.js +59 -58
  168. package/dist/handlers/traces.js +59 -58
  169. package/dist/handlers/upstream_keys.js +61 -60
  170. package/dist/handlers/user-profiles.js +107 -0
  171. package/dist/handlers/vaults.js +58 -57
  172. package/dist/handlers/whoami.js +58 -57
  173. package/dist/handlers/work.js +59 -58
  174. package/dist/http.js +57 -56
  175. package/dist/index.js +68 -67
  176. package/dist/init.js +54 -53
  177. package/dist/lib/model-registry.js +6 -6
  178. package/dist/lib/skills-cache.js +6 -6
  179. package/dist/observability/otlp.js +12 -12
  180. package/dist/observability/redactor.js +8 -8
  181. package/dist/openapi/schemas.js +1 -1
  182. package/dist/openapi/spec.js +2 -2
  183. package/dist/providers/fly.js +5 -5
  184. package/dist/providers/modal.js +5 -5
  185. package/dist/providers/registry.js +6 -6
  186. package/dist/providers/resolve-secrets.js +7 -7
  187. package/dist/providers/sprites.js +7 -7
  188. package/dist/providers/upstream-keys.js +12 -12
  189. package/dist/providers/vercel.js +6 -6
  190. package/dist/proxy/forward.js +6 -6
  191. package/dist/queue/index.js +6 -6
  192. package/dist/sessions/bus.js +10 -10
  193. package/dist/sessions/driver.js +47 -46
  194. package/dist/sessions/grader.js +5 -5
  195. package/dist/sessions/secrets.js +9 -8
  196. package/dist/sessions/sweeper.js +42 -42
  197. package/dist/sessions/threads.js +55 -47
  198. package/dist/shutdown.js +43 -43
  199. package/dist/sync/anthropic.js +10 -10
  200. package/dist/sync/container-file-sync.js +6 -6
  201. package/dist/sync/file-sync.js +17 -17
  202. package/dist/workers/runner.js +49 -48
  203. package/package.json +1 -1
  204. package/dist/chunk-6KWJASEO.js +0 -21
  205. package/dist/{dist-EY25RQ2S.js → dist-3ZD3ELTH.js} +3 -3
@@ -0,0 +1,29 @@
1
+ // src/backends/pi/args.ts
2
+ function normalizePiModel(model) {
3
+ if (model.includes("/")) return model;
4
+ if (model.startsWith("gemini-")) return `google/${model}`;
5
+ if (model.startsWith("claude-")) return `anthropic/${model}`;
6
+ if (model.startsWith("gpt-") || model.startsWith("o1-") || model.startsWith("o3-") || model.startsWith("o4-") || model.startsWith("chatgpt-")) return `openai/${model}`;
7
+ return model;
8
+ }
9
+ function buildPiArgs(input) {
10
+ const args = [
11
+ "-p",
12
+ "--mode",
13
+ "json",
14
+ "--no-extensions"
15
+ ];
16
+ if (input.backendSessionId) {
17
+ args.push("--session", input.backendSessionId);
18
+ }
19
+ if (input.agent.model) {
20
+ const modelId = typeof input.agent.model === "string" ? input.agent.model : input.agent.model.id;
21
+ if (modelId) args.push("--model", normalizePiModel(modelId));
22
+ }
23
+ args.push(input.prompt);
24
+ return args;
25
+ }
26
+
27
+ export {
28
+ buildPiArgs
29
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_TENANT_ID
3
- } from "./chunk-F5SHFZUA.js";
3
+ } from "./chunk-YTBVILAH.js";
4
4
  import {
5
5
  init_ids,
6
6
  newId
@@ -13,10 +13,10 @@ import {
13
13
  import {
14
14
  getDrizzle,
15
15
  init_drizzle
16
- } from "./chunk-7U62OZSD.js";
16
+ } from "./chunk-ZDDMPGN4.js";
17
17
  import {
18
18
  schema_exports
19
- } from "./chunk-4ENK7S24.js";
19
+ } from "./chunk-CXYMVLYK.js";
20
20
 
21
21
  // src/db/agents.ts
22
22
  init_drizzle();
@@ -38,6 +38,7 @@ function hydrate(row, ver) {
38
38
  threadsEnabled = true;
39
39
  callableAgents = multiagent.agents.filter((a) => a.type === "agent").map((a) => ({ type: "agent", id: a.id, version: a.version }));
40
40
  }
41
+ const permissionPolicy = ver.permission_policy_json ? JSON.parse(ver.permission_policy_json) : null;
41
42
  return {
42
43
  type: "agent",
43
44
  id: row.id,
@@ -57,6 +58,7 @@ function hydrate(row, ver) {
57
58
  confirmation_mode: Boolean(ver.confirmation_mode),
58
59
  callable_agents: callableAgents,
59
60
  multiagent,
61
+ permission_policy: permissionPolicy,
60
62
  skills: ver.skills_json ? JSON.parse(ver.skills_json) : [],
61
63
  model_config: modelConfig,
62
64
  fallback_json: row.fallback_json ?? null,
@@ -95,6 +97,7 @@ function createAgent(input) {
95
97
  confirmation_mode: input.confirmation_mode ? 1 : 0,
96
98
  callable_agents_json: input.callable_agents?.length ? JSON.stringify(input.callable_agents) : null,
97
99
  multiagent_json: input.multiagent ? JSON.stringify(input.multiagent) : null,
100
+ permission_policy_json: input.permission_policy ? JSON.stringify(input.permission_policy) : null,
98
101
  skills_json: JSON.stringify(input.skills ?? []),
99
102
  model_config_json: JSON.stringify(input.model_config ?? {}),
100
103
  created_at: now
@@ -148,6 +151,7 @@ function updateAgent(id, input) {
148
151
  confirmation_mode: input.confirmation_mode !== void 0 ? input.confirmation_mode ? 1 : 0 : existing.confirmation_mode ? 1 : 0,
149
152
  callable_agents_json: input.callable_agents !== void 0 ? input.callable_agents.length ? JSON.stringify(input.callable_agents) : null : existing.callable_agents.length ? JSON.stringify(existing.callable_agents) : null,
150
153
  multiagent_json: input.multiagent !== void 0 ? input.multiagent ? JSON.stringify(input.multiagent) : null : existing.multiagent ? JSON.stringify(existing.multiagent) : null,
154
+ permission_policy_json: input.permission_policy !== void 0 ? input.permission_policy ? JSON.stringify(input.permission_policy) : null : existing.permission_policy ? JSON.stringify(existing.permission_policy) : null,
151
155
  skills_json: JSON.stringify(input.skills ?? existing.skills),
152
156
  model_config_json: JSON.stringify(input.model_config !== void 0 ? input.model_config : existing.model_config),
153
157
  created_at: now
@@ -6,7 +6,7 @@ import {
6
6
  getSkill,
7
7
  getSkillVersion,
8
8
  listSkillVersions
9
- } from "./chunk-D3LKWVPA.js";
9
+ } from "./chunk-TTDMQ54U.js";
10
10
  import {
11
11
  resolveCreateTenant
12
12
  } from "./chunk-23UKWXJH.js";
@@ -15,7 +15,7 @@ import {
15
15
  jsonOk,
16
16
  paginatedOk,
17
17
  routeWrap
18
- } from "./chunk-I2GML5Z7.js";
18
+ } from "./chunk-XOWRUT4X.js";
19
19
  import {
20
20
  badRequest,
21
21
  notFound
@@ -5,25 +5,25 @@ import {
5
5
  } from "./chunk-23UKWXJH.js";
6
6
  import {
7
7
  kickoffEnvironmentSetup
8
- } from "./chunk-7DPZMROX.js";
8
+ } from "./chunk-YRFWPBGX.js";
9
9
  import {
10
10
  decodeCursor,
11
11
  jsonOk,
12
12
  paginatedOk,
13
13
  routeWrap
14
- } from "./chunk-I2GML5Z7.js";
14
+ } from "./chunk-XOWRUT4X.js";
15
15
  import {
16
16
  forwardToAnthropic
17
- } from "./chunk-IDQKHWWN.js";
17
+ } from "./chunk-JFHYXFAL.js";
18
18
  import {
19
19
  getProxiedTenantId,
20
20
  isProxied,
21
21
  markProxied,
22
22
  unmarkProxied
23
- } from "./chunk-GKNBECPD.js";
23
+ } from "./chunk-DZKBUOYU.js";
24
24
  import {
25
25
  resolveContainerProvider
26
- } from "./chunk-QQGXM2OQ.js";
26
+ } from "./chunk-C7P2TYOG.js";
27
27
  import {
28
28
  archiveEnvironment,
29
29
  createEnvironment,
@@ -32,11 +32,11 @@ import {
32
32
  hasSessionsAttached,
33
33
  listEnvironments,
34
34
  updateEnvironment
35
- } from "./chunk-BRULBMRN.js";
35
+ } from "./chunk-NSUVDKNC.js";
36
36
  import {
37
37
  getDb,
38
38
  init_client
39
- } from "./chunk-Q62QJXGO.js";
39
+ } from "./chunk-AGIXZFHQ.js";
40
40
  import {
41
41
  badRequest,
42
42
  conflict,
@@ -1,19 +1,19 @@
1
- import {
2
- createGeminiTranslator
3
- } from "./chunk-S3JRZFF5.js";
4
- import {
5
- buildGeminiArgs
6
- } from "./chunk-IBYOMAZ3.js";
7
1
  import {
8
2
  buildGeminiAuthEnv,
9
3
  validateGeminiRuntime
10
- } from "./chunk-TJORQTH6.js";
4
+ } from "./chunk-KGOOCFQY.js";
11
5
  import {
12
6
  prepareGeminiOnSandbox
13
7
  } from "./chunk-PAQ2JFVD.js";
8
+ import {
9
+ createGeminiTranslator
10
+ } from "./chunk-S3JRZFF5.js";
14
11
  import {
15
12
  GEMINI_WRAPPER_PATH
16
13
  } from "./chunk-PZ5EGY64.js";
14
+ import {
15
+ buildGeminiArgs
16
+ } from "./chunk-IBYOMAZ3.js";
17
17
  import {
18
18
  wrapPromptWithSystem
19
19
  } from "./chunk-YE2RMJY7.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  getDb,
15
15
  init_client
16
- } from "./chunk-Q62QJXGO.js";
16
+ } from "./chunk-AGIXZFHQ.js";
17
17
 
18
18
  // src/db/upstream_keys.ts
19
19
  init_client();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_migrations,
3
3
  runMigrations
4
- } from "./chunk-HDLPEXWS.js";
4
+ } from "./chunk-S5CMAWEC.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./chunk-2ESYSVXG.js";
@@ -1,32 +1,32 @@
1
1
  import {
2
2
  resolveRemoteSessionId
3
- } from "./chunk-MQSTE4WH.js";
3
+ } from "./chunk-ZBWKJ42J.js";
4
4
  import {
5
5
  assertResourceTenant
6
6
  } from "./chunk-23UKWXJH.js";
7
7
  import {
8
8
  authenticateAndIntercept
9
- } from "./chunk-BW6OSLW7.js";
9
+ } from "./chunk-CWB2DQN5.js";
10
10
  import {
11
11
  forwardToAnthropic
12
- } from "./chunk-IDQKHWWN.js";
12
+ } from "./chunk-JFHYXFAL.js";
13
13
  import {
14
14
  ensureInitialized
15
- } from "./chunk-G6XFFNCQ.js";
15
+ } from "./chunk-N7XSXI5O.js";
16
16
  import {
17
17
  getProxiedTenantId,
18
18
  isProxied
19
- } from "./chunk-GKNBECPD.js";
19
+ } from "./chunk-DZKBUOYU.js";
20
20
  import {
21
21
  subscribe
22
- } from "./chunk-2K3UO6TC.js";
22
+ } from "./chunk-RES4BCTF.js";
23
23
  import {
24
24
  getSession
25
- } from "./chunk-GBJ3OT4D.js";
25
+ } from "./chunk-ZC7OR65K.js";
26
26
  import {
27
27
  getDb,
28
28
  init_client
29
- } from "./chunk-Q62QJXGO.js";
29
+ } from "./chunk-AGIXZFHQ.js";
30
30
  import {
31
31
  notFound,
32
32
  toResponse
@@ -5,6 +5,11 @@ import {
5
5
  childSpan,
6
6
  newTrace
7
7
  } from "./chunk-AU4NAQGA.js";
8
+ import {
9
+ buildErrorPayload,
10
+ classifyError,
11
+ init_errors
12
+ } from "./chunk-H6TQGV4L.js";
8
13
  import {
9
14
  injectMcpAuthHeaders
10
15
  } from "./chunk-DBFPJSOY.js";
@@ -16,29 +21,24 @@ import {
16
21
  } from "./chunk-72BKGVBE.js";
17
22
  import {
18
23
  loadSessionSecrets
19
- } from "./chunk-Z2AVP3QL.js";
20
- import {
21
- buildErrorPayload,
22
- classifyError,
23
- init_errors
24
- } from "./chunk-H6TQGV4L.js";
24
+ } from "./chunk-VB6GGRIA.js";
25
25
  import {
26
26
  isProxied
27
- } from "./chunk-GKNBECPD.js";
27
+ } from "./chunk-DZKBUOYU.js";
28
28
  import {
29
29
  acquireForFirstTurn,
30
30
  installSkills,
31
31
  provisionResources,
32
32
  wrapProviderWithSecrets
33
- } from "./chunk-2REGK4VO.js";
33
+ } from "./chunk-U4SVWPLC.js";
34
34
  import {
35
35
  BLOCKED_ENV_KEYS,
36
36
  resolveVaultSecrets
37
- } from "./chunk-FQQ2R6FA.js";
37
+ } from "./chunk-JNSJKHYX.js";
38
38
  import {
39
39
  appendEvent,
40
40
  appendEventsBatch
41
- } from "./chunk-2K3UO6TC.js";
41
+ } from "./chunk-RES4BCTF.js";
42
42
  import {
43
43
  bumpSessionStats,
44
44
  getOutcomeCriteria,
@@ -49,43 +49,43 @@ import {
49
49
  setOutcomeCriteria,
50
50
  updateSessionMutable,
51
51
  updateSessionStatus
52
- } from "./chunk-GBJ3OT4D.js";
52
+ } from "./chunk-ZC7OR65K.js";
53
53
  import {
54
54
  listEvents,
55
55
  markUserEventProcessed
56
- } from "./chunk-IS6CQPAQ.js";
56
+ } from "./chunk-OEFJPZYH.js";
57
57
  import {
58
58
  getBySession
59
59
  } from "./chunk-EFOIR7R3.js";
60
60
  import {
61
61
  resolveProvider,
62
62
  resolveProviderName
63
- } from "./chunk-QQGXM2OQ.js";
63
+ } from "./chunk-C7P2TYOG.js";
64
64
  import {
65
65
  getEnvironment
66
- } from "./chunk-BRULBMRN.js";
66
+ } from "./chunk-NSUVDKNC.js";
67
67
  import {
68
68
  getAgent
69
- } from "./chunk-ENFWZ2QM.js";
69
+ } from "./chunk-6U6HEVSN.js";
70
70
  import {
71
71
  resolveBackend
72
- } from "./chunk-XMZQW5G5.js";
73
- import {
74
- PERMISSION_BRIDGE_PENDING_PATH,
75
- PERMISSION_BRIDGE_REQUEST_PATH,
76
- PERMISSION_BRIDGE_RESPONSE_PATH
77
- } from "./chunk-CY6AWCC6.js";
72
+ } from "./chunk-V5RHOS43.js";
78
73
  import {
79
74
  TOOL_BRIDGE_PENDING_PATH,
80
75
  TOOL_BRIDGE_REQUEST_PATH,
81
76
  TOOL_BRIDGE_RESPONSE_PATH
82
77
  } from "./chunk-VRRGSQI7.js";
78
+ import {
79
+ PERMISSION_BRIDGE_PENDING_PATH,
80
+ PERMISSION_BRIDGE_REQUEST_PATH,
81
+ PERMISSION_BRIDGE_RESPONSE_PATH
82
+ } from "./chunk-CY6AWCC6.js";
83
83
  import {
84
84
  resolveToolset
85
85
  } from "./chunk-FX2AEKOV.js";
86
86
  import {
87
87
  getConfig
88
- } from "./chunk-US26CY2Y.js";
88
+ } from "./chunk-6EIONZ7F.js";
89
89
  import {
90
90
  init_clock,
91
91
  nowMs
@@ -139,7 +139,7 @@ async function runTurn(sessionId, inputs, _depth = 0, parentTrace) {
139
139
  const backend = resolveBackend(agent.engine);
140
140
  const vaultEntries = [];
141
141
  if (session.vault_ids && session.vault_ids.length > 0) {
142
- const secrets2 = loadSessionSecrets(session.vault_ids);
142
+ const secrets2 = loadSessionSecrets(session.vault_ids, session.user_profile_id);
143
143
  vaultEntries.push(...secrets2.map((s) => ({ key: s.key, value: s.value })));
144
144
  }
145
145
  const hasVaultKeys = vaultEntries.length > 0;
@@ -2,19 +2,19 @@ import {
2
2
  getSyncRow,
3
3
  getSyncedRemoteId,
4
4
  upsertSync
5
- } from "./chunk-MQSTE4WH.js";
5
+ } from "./chunk-ZBWKJ42J.js";
6
6
  import {
7
7
  injectMcpAuthHeaders
8
8
  } from "./chunk-DBFPJSOY.js";
9
9
  import {
10
10
  listEntries
11
- } from "./chunk-IC5ZTBAW.js";
11
+ } from "./chunk-MUARVVXF.js";
12
12
  import {
13
13
  getEnvironment
14
- } from "./chunk-BRULBMRN.js";
14
+ } from "./chunk-NSUVDKNC.js";
15
15
  import {
16
16
  getAgent
17
- } from "./chunk-ENFWZ2QM.js";
17
+ } from "./chunk-6U6HEVSN.js";
18
18
 
19
19
  // src/sync/anthropic.ts
20
20
  import { createHash } from "crypto";
@@ -4,14 +4,14 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-I2GML5Z7.js";
7
+ } from "./chunk-XOWRUT4X.js";
8
8
  import {
9
9
  getProxiedTenantId
10
- } from "./chunk-GKNBECPD.js";
10
+ } from "./chunk-DZKBUOYU.js";
11
11
  import {
12
12
  getSession,
13
13
  updateSessionResources
14
- } from "./chunk-GBJ3OT4D.js";
14
+ } from "./chunk-ZC7OR65K.js";
15
15
  import {
16
16
  countResources,
17
17
  createResource,
@@ -20,11 +20,11 @@ import {
20
20
  init_session_resources,
21
21
  listResources,
22
22
  updateResource
23
- } from "./chunk-FDL2JHXO.js";
23
+ } from "./chunk-GCT7A5KR.js";
24
24
  import {
25
25
  getDb,
26
26
  init_client
27
- } from "./chunk-Q62QJXGO.js";
27
+ } from "./chunk-AGIXZFHQ.js";
28
28
  import {
29
29
  badRequest,
30
30
  notFound
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getConfig
3
- } from "./chunk-US26CY2Y.js";
3
+ } from "./chunk-6EIONZ7F.js";
4
4
  import {
5
5
  serverBusy
6
6
  } from "./chunk-EZYKRG4W.js";
@@ -4,10 +4,10 @@ import {
4
4
  getWorkItemInputs,
5
5
  heartbeatWorkItem,
6
6
  pollWorkItem
7
- } from "./chunk-A4GJADRQ.js";
7
+ } from "./chunk-JF777FWD.js";
8
8
  import {
9
9
  runTurn
10
- } from "./chunk-BYUIOMPX.js";
10
+ } from "./chunk-AKGWEACL.js";
11
11
 
12
12
  // src/workers/runner.ts
13
13
  async function startWorker(opts) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SUPPORTED_PROVIDERS
3
- } from "./chunk-Z5XQQN7H.js";
3
+ } from "./chunk-HWWFRSAX.js";
4
4
  import {
5
5
  addUpstreamKey,
6
6
  deleteUpstreamKey,
@@ -8,20 +8,20 @@ import {
8
8
  enableUpstreamKey,
9
9
  getUpstreamKey,
10
10
  listUpstreamKeys
11
- } from "./chunk-ZP5QO5BR.js";
11
+ } from "./chunk-ABUNDZCE.js";
12
12
  import {
13
13
  requireGlobalAdmin
14
14
  } from "./chunk-23UKWXJH.js";
15
15
  import {
16
16
  recordAudit
17
- } from "./chunk-FC3UAHXM.js";
17
+ } from "./chunk-FDLQ3IUB.js";
18
18
  import {
19
19
  requireFeature
20
20
  } from "./chunk-2N2KL4KM.js";
21
21
  import {
22
22
  jsonOk,
23
23
  routeWrap
24
- } from "./chunk-I2GML5Z7.js";
24
+ } from "./chunk-XOWRUT4X.js";
25
25
  import {
26
26
  badRequest,
27
27
  notFound
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getConfig
3
- } from "./chunk-US26CY2Y.js";
3
+ } from "./chunk-6EIONZ7F.js";
4
4
 
5
5
  // src/providers/registry.ts
6
6
  var PROVIDERS = {
@@ -4,11 +4,11 @@ import {
4
4
  getSources,
5
5
  getStats,
6
6
  searchSkills
7
- } from "./chunk-R37QM2U4.js";
7
+ } from "./chunk-DF34ESOO.js";
8
8
  import {
9
9
  jsonOk,
10
10
  routeWrap
11
- } from "./chunk-I2GML5Z7.js";
11
+ } from "./chunk-XOWRUT4X.js";
12
12
 
13
13
  // src/handlers/skills.ts
14
14
  async function handleGetSkillsCatalog(request) {
@@ -3,21 +3,21 @@ import {
3
3
  } from "./chunk-23UKWXJH.js";
4
4
  import {
5
5
  recordAudit
6
- } from "./chunk-FC3UAHXM.js";
6
+ } from "./chunk-FDLQ3IUB.js";
7
7
  import {
8
8
  requireFeature
9
9
  } from "./chunk-2N2KL4KM.js";
10
10
  import {
11
11
  jsonOk,
12
12
  routeWrap
13
- } from "./chunk-I2GML5Z7.js";
13
+ } from "./chunk-XOWRUT4X.js";
14
14
  import {
15
15
  archiveTenant,
16
16
  createTenant,
17
17
  getTenant,
18
18
  listTenants,
19
19
  renameTenant
20
- } from "./chunk-F5SHFZUA.js";
20
+ } from "./chunk-YTBVILAH.js";
21
21
  import {
22
22
  badRequest,
23
23
  notFound
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  forwardToAnthropic
3
- } from "./chunk-IDQKHWWN.js";
3
+ } from "./chunk-JFHYXFAL.js";
4
4
  import {
5
5
  isAnthropicApiKey,
6
6
  isPassthroughAllowedPath
@@ -8,10 +8,10 @@ import {
8
8
  import {
9
9
  findByRawKey,
10
10
  hydratePermissions
11
- } from "./chunk-LJNLU5PQ.js";
11
+ } from "./chunk-3NUTTKE5.js";
12
12
  import {
13
13
  getConfig
14
- } from "./chunk-US26CY2Y.js";
14
+ } from "./chunk-6EIONZ7F.js";
15
15
  import {
16
16
  unauthorized
17
17
  } from "./chunk-EZYKRG4W.js";
@@ -21,9 +21,17 @@ function extractKey(request) {
21
21
  const xKey = request.headers.get("x-api-key");
22
22
  if (xKey && xKey.length > 0) return xKey;
23
23
  const auth = request.headers.get("authorization") || request.headers.get("Authorization");
24
- if (!auth) return null;
25
- const m = /^Bearer\s+(.+)$/i.exec(auth);
26
- return m ? m[1] : null;
24
+ if (auth) {
25
+ const m = /^Bearer\s+(.+)$/i.exec(auth);
26
+ if (m) return m[1];
27
+ }
28
+ try {
29
+ const url = new URL(request.url);
30
+ const qKey = url.searchParams.get("x-api-key");
31
+ if (qKey && qKey.length > 0 && !qKey.startsWith("sk-ant-api")) return qKey;
32
+ } catch {
33
+ }
34
+ return null;
27
35
  }
28
36
  async function authenticate(request) {
29
37
  const key = extractKey(request);
@@ -7,7 +7,7 @@ import {
7
7
  jsonOk,
8
8
  paginatedOk,
9
9
  routeWrap
10
- } from "./chunk-I2GML5Z7.js";
10
+ } from "./chunk-XOWRUT4X.js";
11
11
  import {
12
12
  archiveVault,
13
13
  createVault,
@@ -19,14 +19,14 @@ import {
19
19
  listVaults,
20
20
  setEntry,
21
21
  updateVault
22
- } from "./chunk-IC5ZTBAW.js";
22
+ } from "./chunk-MUARVVXF.js";
23
23
  import {
24
24
  getAgent
25
- } from "./chunk-ENFWZ2QM.js";
25
+ } from "./chunk-6U6HEVSN.js";
26
26
  import {
27
27
  getDb,
28
28
  init_client
29
- } from "./chunk-Q62QJXGO.js";
29
+ } from "./chunk-AGIXZFHQ.js";
30
30
  import {
31
31
  badRequest,
32
32
  conflict,
@@ -91,6 +91,8 @@ var init_schema = __esm({
91
91
  webhook_secret: text("webhook_secret"),
92
92
  // Multi-agent orchestration config:
93
93
  multiagent_json: text("multiagent_json"),
94
+ // Per-agent tool permission overrides:
95
+ permission_policy_json: text("permission_policy_json"),
94
96
  created_at: integer("created_at").notNull()
95
97
  }, (table) => [
96
98
  primaryKey({ columns: [table.agent_id, table.version] })
@@ -147,6 +149,8 @@ var init_schema = __esm({
147
149
  api_key_id: text("api_key_id"),
148
150
  // v0.5 ALTER TABLE addition:
149
151
  tenant_id: text("tenant_id"),
152
+ // User profile scoping:
153
+ user_profile_id: text("user_profile_id"),
150
154
  created_at: integer("created_at").notNull(),
151
155
  updated_at: integer("updated_at").notNull(),
152
156
  archived_at: integer("archived_at")