@agentstep/agent-sdk 0.5.28 → 0.5.34

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 (209) 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-33QZ6KIY.js → chunk-25E64UIV.js} +5 -5
  18. package/dist/{chunk-PZKWZKRP.js → chunk-2KF2TIEY.js} +5 -5
  19. package/dist/{chunk-CXXL77ER.js → chunk-2R4IT7HG.js} +61 -4
  20. package/dist/{chunk-N627DRI6.js → chunk-3EI7IPMI.js} +3 -3
  21. package/dist/{chunk-Z25QQE5Z.js → chunk-3EWEKBVC.js} +4 -4
  22. package/dist/{chunk-V4DEOZFK.js → chunk-3LYNN5VT.js} +5 -5
  23. package/dist/{chunk-LJNLU5PQ.js → chunk-3NUTTKE5.js} +2 -2
  24. package/dist/{chunk-DI5WC2SQ.js → chunk-4EKHW6VS.js} +2 -2
  25. package/dist/{chunk-MZ6HBYGV.js → chunk-65XY7HRS.js} +7 -7
  26. package/dist/{chunk-KHTLT44I.js → chunk-6CODFATQ.js} +3 -3
  27. package/dist/{chunk-US26CY2Y.js → chunk-6EIONZ7F.js} +2 -2
  28. package/dist/chunk-6NEWWPL4.js +210 -0
  29. package/dist/{chunk-TFTJ734B.js → chunk-6NFK5RJX.js} +2 -2
  30. package/dist/chunk-6SD6MC2B.js +29 -0
  31. package/dist/{chunk-ENFWZ2QM.js → chunk-6U6HEVSN.js} +7 -3
  32. package/dist/{chunk-CXIP6H55.js → chunk-75US4UAE.js} +2 -2
  33. package/dist/{chunk-UB7GS7XT.js → chunk-A3FQHVUG.js} +7 -7
  34. package/dist/{chunk-ZP5QO5BR.js → chunk-ABUNDZCE.js} +1 -1
  35. package/dist/{chunk-QCP37SCU.js → chunk-AD2WPGDN.js} +8 -8
  36. package/dist/{chunk-Q62QJXGO.js → chunk-AGIXZFHQ.js} +1 -1
  37. package/dist/{chunk-NKOGWVP3.js → chunk-AUEKXYNE.js} +4 -4
  38. package/dist/{chunk-SKVAM5H2.js → chunk-B3W3E5CS.js} +1 -1
  39. package/dist/chunk-B5RR422E.js +0 -0
  40. package/dist/{chunk-IWI74DWW.js → chunk-BSAF4YJB.js} +51 -14
  41. package/dist/{chunk-CVYNMYIE.js → chunk-CWB2DQN5.js} +3 -3
  42. package/dist/{chunk-4ENK7S24.js → chunk-CXYMVLYK.js} +4 -0
  43. package/dist/{chunk-MNZB2OWP.js → chunk-CZ4N5FJW.js} +2 -2
  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-CACVB5PH.js → chunk-FCPZF7KJ.js} +1 -1
  47. package/dist/{chunk-FC3UAHXM.js → chunk-FDLQ3IUB.js} +1 -1
  48. package/dist/{chunk-HVCY7DET.js → chunk-FHOJOLXU.js} +2 -2
  49. package/dist/{chunk-5AV732JY.js → chunk-GABMXDZZ.js} +2 -2
  50. package/dist/{chunk-LSMTQBMW.js → chunk-GBBQD6VY.js} +2 -2
  51. package/dist/{chunk-FDL2JHXO.js → chunk-GCT7A5KR.js} +2 -2
  52. package/dist/{chunk-QBZMVYDV.js → chunk-GFZ2WIVH.js} +4 -4
  53. package/dist/{chunk-ANTKOI3K.js → chunk-HHLVVJGT.js} +2 -2
  54. package/dist/{chunk-Z5XQQN7H.js → chunk-HWWFRSAX.js} +4 -4
  55. package/dist/{chunk-KWG7NGYF.js → chunk-I2RVN7CP.js} +4 -4
  56. package/dist/{chunk-JCIAIJFF.js → chunk-IC2ETYU5.js} +3 -3
  57. package/dist/{chunk-3FLQ7KZP.js → chunk-IMJTHYN3.js} +1 -1
  58. package/dist/{chunk-ISGA4AOC.js → chunk-J6ESQUW6.js} +2 -2
  59. package/dist/{chunk-Y3V4COP7.js → chunk-J7F2OFWQ.js} +5 -5
  60. package/dist/{chunk-3V4BPIBU.js → chunk-JDAOTVWV.js} +2 -2
  61. package/dist/{chunk-A4GJADRQ.js → chunk-JF777FWD.js} +2 -2
  62. package/dist/{chunk-IDQKHWWN.js → chunk-JFHYXFAL.js} +1 -1
  63. package/dist/{chunk-WLCI57J6.js → chunk-JIXRTWYL.js} +4 -4
  64. package/dist/{chunk-WG3N6VUA.js → chunk-JN3DHH7Z.js} +11 -11
  65. package/dist/{chunk-FQQ2R6FA.js → chunk-JNSJKHYX.js} +1 -1
  66. package/dist/{chunk-HPL2MQGY.js → chunk-K3LM6O44.js} +6 -6
  67. package/dist/{chunk-7DPZMROX.js → chunk-K5J4IN2S.js} +2 -2
  68. package/dist/{chunk-TJORQTH6.js → chunk-KGOOCFQY.js} +1 -1
  69. package/dist/{chunk-BYUIOMPX.js → chunk-KYKVHH7I.js} +23 -23
  70. package/dist/{chunk-ZM33GAEB.js → chunk-LKHJLSYG.js} +7 -7
  71. package/dist/{chunk-RKPT6O7I.js → chunk-LR6FK2J7.js} +5 -5
  72. package/dist/{chunk-MNW6D7T4.js → chunk-M72ERPMT.js} +1 -1
  73. package/dist/{chunk-IC5ZTBAW.js → chunk-MUARVVXF.js} +3 -3
  74. package/dist/{chunk-RRP4F6XC.js → chunk-NQ6BN7WH.js} +16 -6
  75. package/dist/{chunk-BRULBMRN.js → chunk-NSUVDKNC.js} +3 -3
  76. package/dist/chunk-OANORRFX.js +276 -0
  77. package/dist/{chunk-IS6CQPAQ.js → chunk-OEFJPZYH.js} +3 -3
  78. package/dist/{chunk-4BJTLMHV.js → chunk-OEYLPPID.js} +17 -17
  79. package/dist/{chunk-G6XFFNCQ.js → chunk-P7V3S2T3.js} +18 -18
  80. package/dist/{chunk-P56WU3UT.js → chunk-PDWLVL34.js} +8 -5
  81. package/dist/{chunk-I2WVMCYN.js → chunk-PWLWDWRL.js} +1 -1
  82. package/dist/{chunk-JTGISCYV.js → chunk-QCGIYXN4.js} +1 -1
  83. package/dist/{chunk-YS3W5AQA.js → chunk-REHIJQUD.js} +9 -9
  84. package/dist/{chunk-2K3UO6TC.js → chunk-RES4BCTF.js} +4 -4
  85. package/dist/{chunk-HDLPEXWS.js → chunk-S5CMAWEC.js} +20 -0
  86. package/dist/{chunk-CBPO2P4I.js → chunk-SAI6LBXW.js} +2 -2
  87. package/dist/{chunk-YMKQJY5F.js → chunk-SIO4LO2M.js} +1 -1
  88. package/dist/{chunk-QSRH4XUG.js → chunk-SUEPFZN2.js} +1 -1
  89. package/dist/{chunk-IITCQTBZ.js → chunk-T2PXAQND.js} +1 -1
  90. package/dist/{chunk-D3LKWVPA.js → chunk-TTDMQ54U.js} +2 -2
  91. package/dist/{chunk-GNXIA5WC.js → chunk-TVV7AE3G.js} +2 -2
  92. package/dist/{chunk-5BA36MSQ.js → chunk-UMXXZ6OX.js} +1 -1
  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-TV6QMCDS.js → chunk-VQM2MCQR.js} +3 -3
  97. package/dist/{chunk-RSXTLOY3.js → chunk-VY5XWTW7.js} +1 -1
  98. package/dist/{chunk-VVCRJ46V.js → chunk-WEUPM3IN.js} +4 -4
  99. package/dist/{chunk-RZHIYTI3.js → chunk-WK33IBKY.js} +10 -1
  100. package/dist/{chunk-QQGXM2OQ.js → chunk-XLMNSDUJ.js} +1 -1
  101. package/dist/{chunk-MAN6OCOP.js → chunk-XXAO5YYL.js} +3 -3
  102. package/dist/{chunk-AZLZOG5N.js → chunk-XYNEAJDF.js} +1 -1
  103. package/dist/{chunk-GSDVHR43.js → chunk-YJCH35J4.js} +5 -3
  104. package/dist/{chunk-T77N7C3M.js → chunk-YKPRNV6J.js} +2 -2
  105. package/dist/chunk-YOZ6WDP3.js +103 -0
  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-KD5Y4XSU.js → chunk-ZACPJA3G.js} +2 -2
  109. package/dist/{chunk-NOHH2ZH7.js → chunk-ZAUWB5DQ.js} +6 -6
  110. package/dist/{chunk-MQSTE4WH.js → chunk-ZBWKJ42J.js} +3 -3
  111. package/dist/{chunk-GBJ3OT4D.js → chunk-ZC7OR65K.js} +7 -5
  112. package/dist/{chunk-2REGK4VO.js → chunk-ZCCHLDLC.js} +11 -11
  113. package/dist/{chunk-7U62OZSD.js → chunk-ZDDMPGN4.js} +2 -2
  114. package/dist/chunk-ZHEE6UTX.js +108 -0
  115. package/dist/config/index.js +5 -5
  116. package/dist/containers/client.js +6 -6
  117. package/dist/containers/exec.js +6 -6
  118. package/dist/containers/lifecycle.js +41 -41
  119. package/dist/containers/setup.js +9 -9
  120. package/dist/db/agents.js +6 -6
  121. package/dist/db/api_keys.js +5 -5
  122. package/dist/db/audit.js +3 -3
  123. package/dist/db/batch.js +10 -10
  124. package/dist/db/client.js +2 -2
  125. package/dist/db/credentials.js +5 -3
  126. package/dist/db/drizzle.js +4 -4
  127. package/dist/db/environments.js +6 -6
  128. package/dist/db/events.js +5 -5
  129. package/dist/db/files.js +5 -5
  130. package/dist/db/memory.js +5 -5
  131. package/dist/db/migrations.js +1 -1
  132. package/dist/db/proxy.js +5 -5
  133. package/dist/db/schema.js +1 -1
  134. package/dist/db/session-resources.js +5 -5
  135. package/dist/db/sessions.js +8 -8
  136. package/dist/db/skills.js +5 -5
  137. package/dist/db/sync.js +5 -5
  138. package/dist/db/tenants.js +3 -3
  139. package/dist/db/threads.js +7 -7
  140. package/dist/db/traces.js +5 -5
  141. package/dist/db/upstream_keys.js +3 -3
  142. package/dist/db/user-profiles.js +17 -0
  143. package/dist/db/vaults.js +6 -6
  144. package/dist/db/work.js +5 -5
  145. package/dist/dreaming/review.js +11 -11
  146. package/dist/handlers/agents.js +58 -57
  147. package/dist/handlers/api_keys.js +59 -58
  148. package/dist/handlers/audit.js +59 -58
  149. package/dist/handlers/batch.js +59 -58
  150. package/dist/handlers/credentials.js +61 -58
  151. package/dist/handlers/enrollment.js +103 -0
  152. package/dist/handlers/environments.js +59 -58
  153. package/dist/handlers/events.js +62 -61
  154. package/dist/handlers/files.js +59 -58
  155. package/dist/handlers/google-compat/index.js +101 -0
  156. package/dist/handlers/google-compat/interactions.js +100 -0
  157. package/dist/handlers/google-compat/types.js +0 -0
  158. package/dist/handlers/index.js +150 -126
  159. package/dist/handlers/license.js +58 -57
  160. package/dist/handlers/memory.js +60 -59
  161. package/dist/handlers/metrics.js +58 -57
  162. package/dist/handlers/models.js +59 -58
  163. package/dist/handlers/openapi.js +3 -3
  164. package/dist/handlers/providers.js +58 -57
  165. package/dist/handlers/resources.js +58 -57
  166. package/dist/handlers/sessions.js +62 -61
  167. package/dist/handlers/settings.js +58 -57
  168. package/dist/handlers/skills-write.js +59 -58
  169. package/dist/handlers/skills.js +59 -58
  170. package/dist/handlers/stream.js +58 -57
  171. package/dist/handlers/tenants.js +59 -58
  172. package/dist/handlers/threads.js +59 -58
  173. package/dist/handlers/traces.js +59 -58
  174. package/dist/handlers/upstream_keys.js +61 -60
  175. package/dist/handlers/user-profiles.js +107 -0
  176. package/dist/handlers/vaults.js +58 -57
  177. package/dist/handlers/whoami.js +58 -57
  178. package/dist/handlers/work.js +59 -58
  179. package/dist/http.js +57 -56
  180. package/dist/index.js +68 -67
  181. package/dist/init.js +54 -53
  182. package/dist/lib/model-registry.js +6 -6
  183. package/dist/lib/skills-cache.js +6 -6
  184. package/dist/observability/otlp.js +12 -12
  185. package/dist/observability/redactor.js +8 -8
  186. package/dist/openapi/schemas.js +1 -1
  187. package/dist/openapi/spec.js +2 -2
  188. package/dist/providers/fly.js +5 -5
  189. package/dist/providers/modal.js +5 -5
  190. package/dist/providers/registry.js +6 -6
  191. package/dist/providers/resolve-secrets.js +7 -7
  192. package/dist/providers/sprites.js +7 -7
  193. package/dist/providers/upstream-keys.js +12 -12
  194. package/dist/providers/vercel.js +5 -5
  195. package/dist/proxy/forward.js +6 -6
  196. package/dist/queue/index.js +6 -6
  197. package/dist/sessions/bus.js +10 -10
  198. package/dist/sessions/driver.js +47 -46
  199. package/dist/sessions/grader.js +5 -5
  200. package/dist/sessions/secrets.js +9 -8
  201. package/dist/sessions/sweeper.js +42 -42
  202. package/dist/sessions/threads.js +55 -47
  203. package/dist/shutdown.js +43 -43
  204. package/dist/sync/anthropic.js +10 -10
  205. package/dist/sync/container-file-sync.js +6 -6
  206. package/dist/sync/file-sync.js +17 -17
  207. package/dist/workers/runner.js +49 -48
  208. package/package.json +1 -1
  209. package/dist/chunk-6KWJASEO.js +0 -21
@@ -0,0 +1,103 @@
1
+ import {
2
+ init_ids,
3
+ newId
4
+ } from "./chunk-F4WUVOLE.js";
5
+ import {
6
+ init_clock,
7
+ nowMs,
8
+ toIso
9
+ } from "./chunk-HFDLUBWN.js";
10
+ import {
11
+ getDb,
12
+ init_client
13
+ } from "./chunk-AGIXZFHQ.js";
14
+
15
+ // src/db/user-profiles.ts
16
+ init_client();
17
+ init_ids();
18
+ init_clock();
19
+ function hydrate(row) {
20
+ return {
21
+ type: "user_profile",
22
+ id: row.id,
23
+ external_id: row.external_id,
24
+ display_name: row.display_name,
25
+ trust_grants: JSON.parse(row.trust_grants_json),
26
+ tenant_id: row.tenant_id,
27
+ created_at: toIso(row.created_at),
28
+ updated_at: toIso(row.updated_at)
29
+ };
30
+ }
31
+ function createUserProfile(input) {
32
+ const db = getDb();
33
+ const id = newId("uprof");
34
+ const now = nowMs();
35
+ db.prepare(
36
+ `INSERT INTO user_profiles (id, external_id, display_name, trust_grants_json, tenant_id, created_at, updated_at)
37
+ VALUES (?, ?, ?, ?, ?, ?, ?)`
38
+ ).run(
39
+ id,
40
+ input.external_id ?? null,
41
+ input.display_name ?? null,
42
+ JSON.stringify(input.trust_grants ?? []),
43
+ input.tenant_id ?? null,
44
+ now,
45
+ now
46
+ );
47
+ return getUserProfile(id);
48
+ }
49
+ function getUserProfile(id) {
50
+ const db = getDb();
51
+ const row = db.prepare(`SELECT * FROM user_profiles WHERE id = ?`).get(id);
52
+ return row ? hydrate(row) : null;
53
+ }
54
+ function listUserProfiles(opts) {
55
+ const db = getDb();
56
+ const limit = Math.min(opts.limit ?? 50, 100);
57
+ const parts = [];
58
+ const args = [];
59
+ if (opts.tenant_id) {
60
+ parts.push("tenant_id = ?");
61
+ args.push(opts.tenant_id);
62
+ }
63
+ if (opts.after_id) {
64
+ parts.push("id > ?");
65
+ args.push(opts.after_id);
66
+ }
67
+ const where = parts.length > 0 ? `WHERE ${parts.join(" AND ")}` : "";
68
+ const rows = db.prepare(
69
+ `SELECT * FROM user_profiles ${where} ORDER BY id ASC LIMIT ?`
70
+ ).all(...args, limit + 1);
71
+ const hasMore = rows.length > limit;
72
+ if (hasMore) rows.pop();
73
+ return { data: rows.map(hydrate), has_more: hasMore };
74
+ }
75
+ function updateUserProfile(id, input) {
76
+ const db = getDb();
77
+ const existing = db.prepare(`SELECT * FROM user_profiles WHERE id = ?`).get(id);
78
+ if (!existing) return null;
79
+ const now = nowMs();
80
+ const parts = ["updated_at = ?"];
81
+ const args = [now];
82
+ if (input.external_id !== void 0) {
83
+ parts.push("external_id = ?");
84
+ args.push(input.external_id);
85
+ }
86
+ if (input.display_name !== void 0) {
87
+ parts.push("display_name = ?");
88
+ args.push(input.display_name);
89
+ }
90
+ if (input.trust_grants !== void 0) {
91
+ parts.push("trust_grants_json = ?");
92
+ args.push(JSON.stringify(input.trust_grants));
93
+ }
94
+ db.prepare(`UPDATE user_profiles SET ${parts.join(", ")} WHERE id = ?`).run(...args, id);
95
+ return getUserProfile(id);
96
+ }
97
+
98
+ export {
99
+ createUserProfile,
100
+ getUserProfile,
101
+ listUserProfiles,
102
+ updateUserProfile
103
+ };
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  getDb,
12
12
  init_client
13
- } from "./chunk-Q62QJXGO.js";
13
+ } from "./chunk-AGIXZFHQ.js";
14
14
 
15
15
  // src/db/tenants.ts
16
16
  init_client();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getAgent
3
- } from "./chunk-ENFWZ2QM.js";
3
+ } from "./chunk-6U6HEVSN.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/threads.ts
22
22
  init_drizzle();
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  markStopping
3
- } from "./chunk-HPL2MQGY.js";
3
+ } from "./chunk-K3LM6O44.js";
4
4
  import {
5
5
  closeDb,
6
6
  init_client,
7
7
  syncDb
8
- } from "./chunk-Q62QJXGO.js";
8
+ } from "./chunk-AGIXZFHQ.js";
9
9
  import {
10
10
  getRuntime
11
11
  } from "./chunk-UYTSKFGK.js";
@@ -2,7 +2,7 @@ import {
2
2
  archiveThread,
3
3
  getThread,
4
4
  listThreads
5
- } from "./chunk-IPTEXVQG.js";
5
+ } from "./chunk-Z5IENUYV.js";
6
6
  import {
7
7
  assertResourceTenant
8
8
  } from "./chunk-23UKWXJH.js";
@@ -10,21 +10,21 @@ import {
10
10
  jsonOk,
11
11
  paginatedOk,
12
12
  routeWrap
13
- } from "./chunk-DI5WC2SQ.js";
13
+ } from "./chunk-4EKHW6VS.js";
14
14
  import {
15
15
  subscribe
16
- } from "./chunk-2K3UO6TC.js";
16
+ } from "./chunk-RES4BCTF.js";
17
17
  import {
18
18
  getSession
19
- } from "./chunk-GBJ3OT4D.js";
19
+ } from "./chunk-ZC7OR65K.js";
20
20
  import {
21
21
  listEvents,
22
22
  rowToManagedEvent
23
- } from "./chunk-IS6CQPAQ.js";
23
+ } from "./chunk-OEFJPZYH.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
@@ -5,14 +5,14 @@ import {
5
5
  import {
6
6
  getDrizzle,
7
7
  init_drizzle
8
- } from "./chunk-7U62OZSD.js";
8
+ } from "./chunk-ZDDMPGN4.js";
9
9
  import {
10
10
  schema_exports
11
- } from "./chunk-4ENK7S24.js";
11
+ } from "./chunk-CXYMVLYK.js";
12
12
  import {
13
13
  getDb,
14
14
  init_client
15
- } from "./chunk-Q62QJXGO.js";
15
+ } from "./chunk-AGIXZFHQ.js";
16
16
 
17
17
  // src/db/sync.ts
18
18
  init_drizzle();
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  init_session_resources,
3
3
  session_resources_exports
4
- } from "./chunk-FDL2JHXO.js";
4
+ } from "./chunk-GCT7A5KR.js";
5
5
  import {
6
6
  getAgent
7
- } from "./chunk-ENFWZ2QM.js";
7
+ } from "./chunk-6U6HEVSN.js";
8
8
  import {
9
9
  DEFAULT_TENANT_ID
10
- } from "./chunk-F5SHFZUA.js";
10
+ } from "./chunk-YTBVILAH.js";
11
11
  import {
12
12
  init_ids,
13
13
  newId
@@ -20,10 +20,10 @@ import {
20
20
  import {
21
21
  getDrizzle,
22
22
  init_drizzle
23
- } from "./chunk-7U62OZSD.js";
23
+ } from "./chunk-ZDDMPGN4.js";
24
24
  import {
25
25
  schema_exports
26
- } from "./chunk-4ENK7S24.js";
26
+ } from "./chunk-CXYMVLYK.js";
27
27
  import {
28
28
  __toCommonJS
29
29
  } from "./chunk-2ESYSVXG.js";
@@ -111,6 +111,7 @@ function hydrateSession(row) {
111
111
  })) : [],
112
112
  resources,
113
113
  vault_ids: row.vault_ids_json ? JSON.parse(row.vault_ids_json) : [],
114
+ user_profile_id: row.user_profile_id ?? null,
114
115
  parent_session_id: row.parent_session_id ?? null,
115
116
  thread_depth: row.thread_depth ?? 0,
116
117
  stats: {
@@ -151,6 +152,7 @@ function createSession(input) {
151
152
  max_wall_duration_ms: input.max_wall_duration_ms ?? null,
152
153
  resources_json: input.resources ? JSON.stringify(input.resources) : null,
153
154
  vault_ids_json: input.vault_ids ? JSON.stringify(input.vault_ids) : null,
155
+ user_profile_id: input.user_profile_id ?? null,
154
156
  parent_session_id: input.parent_session_id ?? null,
155
157
  thread_depth: input.thread_depth ?? 0,
156
158
  api_key_id: input.api_key_id ?? null,
@@ -1,21 +1,21 @@
1
- import {
2
- resolveVaultSecrets
3
- } from "./chunk-FQQ2R6FA.js";
4
1
  import {
5
2
  dockerProvider
6
3
  } from "./chunk-4XXQAVKE.js";
4
+ import {
5
+ resolveVaultSecrets
6
+ } from "./chunk-JNSJKHYX.js";
7
7
  import {
8
8
  appendEvent
9
- } from "./chunk-2K3UO6TC.js";
9
+ } from "./chunk-RES4BCTF.js";
10
10
  import {
11
11
  getSession,
12
12
  getSessionRow,
13
13
  setSessionSandbox
14
- } from "./chunk-GBJ3OT4D.js";
14
+ } from "./chunk-ZC7OR65K.js";
15
15
  import {
16
16
  deleteSprite,
17
17
  listSprites
18
- } from "./chunk-AZLZOG5N.js";
18
+ } from "./chunk-XYNEAJDF.js";
19
19
  import {
20
20
  allSessionSandboxes,
21
21
  countInEnv,
@@ -25,12 +25,12 @@ import {
25
25
  import {
26
26
  resolveProvider,
27
27
  tryResolveProvider
28
- } from "./chunk-QQGXM2OQ.js";
28
+ } from "./chunk-XLMNSDUJ.js";
29
29
  import {
30
30
  getEnvironment,
31
31
  getEnvironmentRow,
32
32
  listEnvironments
33
- } from "./chunk-BRULBMRN.js";
33
+ } from "./chunk-NSUVDKNC.js";
34
34
  import {
35
35
  addWarm,
36
36
  claimWarm,
@@ -41,13 +41,13 @@ import {
41
41
  } from "./chunk-G7KUVNDY.js";
42
42
  import {
43
43
  getAgent
44
- } from "./chunk-ENFWZ2QM.js";
44
+ } from "./chunk-6U6HEVSN.js";
45
45
  import {
46
46
  resolveBackend
47
- } from "./chunk-XMZQW5G5.js";
47
+ } from "./chunk-V5RHOS43.js";
48
48
  import {
49
49
  getConfig
50
- } from "./chunk-US26CY2Y.js";
50
+ } from "./chunk-6EIONZ7F.js";
51
51
  import {
52
52
  init_clock,
53
53
  nowMs
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  init_schema,
3
3
  schema_exports
4
- } from "./chunk-4ENK7S24.js";
4
+ } from "./chunk-CXYMVLYK.js";
5
5
  import {
6
6
  getDb,
7
7
  init_client
8
- } from "./chunk-Q62QJXGO.js";
8
+ } from "./chunk-AGIXZFHQ.js";
9
9
  import {
10
10
  __esm
11
11
  } from "./chunk-2ESYSVXG.js";
@@ -0,0 +1,108 @@
1
+ import {
2
+ resolveCreateTenant,
3
+ tenantFilter
4
+ } from "./chunk-23UKWXJH.js";
5
+ import {
6
+ jsonOk,
7
+ paginatedOk,
8
+ routeWrap
9
+ } from "./chunk-4EKHW6VS.js";
10
+ import {
11
+ createUserProfile,
12
+ getUserProfile,
13
+ listUserProfiles,
14
+ updateUserProfile
15
+ } from "./chunk-YOZ6WDP3.js";
16
+ import {
17
+ badRequest,
18
+ notFound
19
+ } from "./chunk-EZYKRG4W.js";
20
+
21
+ // src/handlers/user-profiles.ts
22
+ import { z } from "zod";
23
+ var TrustGrantSchema = z.object({
24
+ type: z.literal("vault_credential"),
25
+ vault_id: z.string().min(1),
26
+ credential_id: z.string().min(1)
27
+ });
28
+ var CreateSchema = z.object({
29
+ external_id: z.string().max(256).optional(),
30
+ display_name: z.string().max(256).optional(),
31
+ trust_grants: z.array(TrustGrantSchema).max(50).optional()
32
+ });
33
+ var UpdateSchema = z.object({
34
+ external_id: z.string().max(256).nullish(),
35
+ display_name: z.string().max(256).nullish(),
36
+ trust_grants: z.array(TrustGrantSchema).max(50).optional()
37
+ });
38
+ function handleCreateUserProfile(request) {
39
+ return routeWrap(request, async ({ auth }) => {
40
+ const body = await request.json().catch(() => null);
41
+ const parsed = CreateSchema.safeParse(body);
42
+ if (!parsed.success) {
43
+ throw badRequest(`invalid body: ${parsed.error.issues.map((i) => i.message).join("; ")}`);
44
+ }
45
+ const tenantId = resolveCreateTenant(auth, void 0);
46
+ const profile = createUserProfile({
47
+ external_id: parsed.data.external_id,
48
+ display_name: parsed.data.display_name,
49
+ trust_grants: parsed.data.trust_grants,
50
+ tenant_id: tenantId
51
+ });
52
+ return jsonOk(profile, 201);
53
+ });
54
+ }
55
+ function handleListUserProfiles(request) {
56
+ return routeWrap(request, async ({ auth }) => {
57
+ const url = new URL(request.url);
58
+ const limit = Math.min(Number(url.searchParams.get("limit") ?? 50), 100);
59
+ const afterId = url.searchParams.get("after_id") ?? void 0;
60
+ const filter = tenantFilter(auth);
61
+ const result = listUserProfiles({
62
+ tenant_id: filter ?? void 0,
63
+ limit,
64
+ after_id: afterId
65
+ });
66
+ return paginatedOk(result.data, limit);
67
+ });
68
+ }
69
+ function handleGetUserProfile(request, id) {
70
+ return routeWrap(request, async ({ auth }) => {
71
+ const profile = getUserProfile(id);
72
+ if (!profile) throw notFound(`user profile not found: ${id}`);
73
+ const filter = tenantFilter(auth);
74
+ if (filter && profile.tenant_id !== filter) {
75
+ throw notFound(`user profile not found: ${id}`);
76
+ }
77
+ return jsonOk(profile);
78
+ });
79
+ }
80
+ function handleUpdateUserProfile(request, id) {
81
+ return routeWrap(request, async ({ auth }) => {
82
+ const existing = getUserProfile(id);
83
+ if (!existing) throw notFound(`user profile not found: ${id}`);
84
+ const filter = tenantFilter(auth);
85
+ if (filter && existing.tenant_id !== filter) {
86
+ throw notFound(`user profile not found: ${id}`);
87
+ }
88
+ const body = await request.json().catch(() => null);
89
+ const parsed = UpdateSchema.safeParse(body);
90
+ if (!parsed.success) {
91
+ throw badRequest(`invalid body: ${parsed.error.issues.map((i) => i.message).join("; ")}`);
92
+ }
93
+ const updated = updateUserProfile(id, {
94
+ external_id: parsed.data.external_id,
95
+ display_name: parsed.data.display_name,
96
+ trust_grants: parsed.data.trust_grants
97
+ });
98
+ if (!updated) throw notFound(`user profile not found: ${id}`);
99
+ return jsonOk(updated);
100
+ });
101
+ }
102
+
103
+ export {
104
+ handleCreateUserProfile,
105
+ handleListUserProfiles,
106
+ handleGetUserProfile,
107
+ handleUpdateUserProfile
108
+ };
@@ -5,12 +5,12 @@ import {
5
5
  readSetting,
6
6
  writeSetting,
7
7
  writeTokenSetting
8
- } from "../chunk-US26CY2Y.js";
8
+ } from "../chunk-6EIONZ7F.js";
9
9
  import "../chunk-HFDLUBWN.js";
10
- import "../chunk-7U62OZSD.js";
11
- import "../chunk-4ENK7S24.js";
12
- import "../chunk-Q62QJXGO.js";
13
- import "../chunk-HDLPEXWS.js";
10
+ import "../chunk-ZDDMPGN4.js";
11
+ import "../chunk-CXYMVLYK.js";
12
+ import "../chunk-AGIXZFHQ.js";
13
+ import "../chunk-S5CMAWEC.js";
14
14
  import "../chunk-2ESYSVXG.js";
15
15
  export {
16
16
  getConfig,
@@ -7,13 +7,13 @@ import {
7
7
  killExecSession,
8
8
  listSprites,
9
9
  restoreCheckpoint
10
- } from "../chunk-AZLZOG5N.js";
11
- import "../chunk-US26CY2Y.js";
10
+ } from "../chunk-XYNEAJDF.js";
11
+ import "../chunk-6EIONZ7F.js";
12
12
  import "../chunk-HFDLUBWN.js";
13
- import "../chunk-7U62OZSD.js";
14
- import "../chunk-4ENK7S24.js";
15
- import "../chunk-Q62QJXGO.js";
16
- import "../chunk-HDLPEXWS.js";
13
+ import "../chunk-ZDDMPGN4.js";
14
+ import "../chunk-CXYMVLYK.js";
15
+ import "../chunk-AGIXZFHQ.js";
16
+ import "../chunk-S5CMAWEC.js";
17
17
  import "../chunk-EZYKRG4W.js";
18
18
  import "../chunk-2ESYSVXG.js";
19
19
  export {
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  startExec
3
- } from "../chunk-RSXTLOY3.js";
4
- import "../chunk-US26CY2Y.js";
3
+ } from "../chunk-VY5XWTW7.js";
4
+ import "../chunk-6EIONZ7F.js";
5
5
  import "../chunk-HFDLUBWN.js";
6
- import "../chunk-7U62OZSD.js";
7
- import "../chunk-4ENK7S24.js";
8
- import "../chunk-Q62QJXGO.js";
9
- import "../chunk-HDLPEXWS.js";
6
+ import "../chunk-ZDDMPGN4.js";
7
+ import "../chunk-CXYMVLYK.js";
8
+ import "../chunk-AGIXZFHQ.js";
9
+ import "../chunk-S5CMAWEC.js";
10
10
  import "../chunk-EZYKRG4W.js";
11
11
  import "../chunk-2ESYSVXG.js";
12
12
  export {
@@ -9,73 +9,73 @@ import {
9
9
  releaseSession,
10
10
  replenishWarmPool,
11
11
  wrapProviderWithSecrets
12
- } from "../chunk-2REGK4VO.js";
13
- import "../chunk-FQQ2R6FA.js";
12
+ } from "../chunk-ZCCHLDLC.js";
14
13
  import "../chunk-4XXQAVKE.js";
14
+ import "../chunk-JNSJKHYX.js";
15
15
  import "../chunk-5ZFOKZGR.js";
16
- import "../chunk-2K3UO6TC.js";
17
- import "../chunk-IC5ZTBAW.js";
18
- import "../chunk-GBJ3OT4D.js";
19
- import "../chunk-FDL2JHXO.js";
16
+ import "../chunk-RES4BCTF.js";
17
+ import "../chunk-MUARVVXF.js";
18
+ import "../chunk-ZC7OR65K.js";
19
+ import "../chunk-GCT7A5KR.js";
20
20
  import "../chunk-AIBH32FN.js";
21
21
  import "../chunk-YPXI7Q2M.js";
22
- import "../chunk-IS6CQPAQ.js";
23
- import "../chunk-AZLZOG5N.js";
22
+ import "../chunk-OEFJPZYH.js";
23
+ import "../chunk-XYNEAJDF.js";
24
24
  import "../chunk-EFOIR7R3.js";
25
- import "../chunk-QQGXM2OQ.js";
26
- import "../chunk-BRULBMRN.js";
25
+ import "../chunk-XLMNSDUJ.js";
26
+ import "../chunk-NSUVDKNC.js";
27
27
  import "../chunk-G7KUVNDY.js";
28
- import "../chunk-ENFWZ2QM.js";
29
- import "../chunk-F5SHFZUA.js";
30
- import "../chunk-XMZQW5G5.js";
31
- import "../chunk-Y3V4COP7.js";
32
- import "../chunk-6KWJASEO.js";
33
- import "../chunk-IITCQTBZ.js";
34
- import "../chunk-CMOU2OFW.js";
28
+ import "../chunk-6U6HEVSN.js";
29
+ import "../chunk-YTBVILAH.js";
30
+ import "../chunk-V5RHOS43.js";
31
+ import "../chunk-J7F2OFWQ.js";
35
32
  import "../chunk-B6E6BVNK.js";
33
+ import "../chunk-6SD6MC2B.js";
34
+ import "../chunk-T2PXAQND.js";
35
+ import "../chunk-CMOU2OFW.js";
36
36
  import "../chunk-OGA7KDQZ.js";
37
- import "../chunk-YS3W5AQA.js";
38
- import "../chunk-P56WU3UT.js";
39
- import "../chunk-JTGISCYV.js";
37
+ import "../chunk-A3FQHVUG.js";
38
+ import "../chunk-KGOOCFQY.js";
39
+ import "../chunk-PAQ2JFVD.js";
40
+ import "../chunk-S3JRZFF5.js";
41
+ import "../chunk-PZ5EGY64.js";
42
+ import "../chunk-REHIJQUD.js";
40
43
  import "../chunk-V5DH3OAC.js";
41
44
  import "../chunk-URNG7ZX2.js";
42
- import "../chunk-UY3VT3HQ.js";
43
45
  import "../chunk-ETWGCBIQ.js";
44
- import "../chunk-MZ6HBYGV.js";
46
+ import "../chunk-UY3VT3HQ.js";
47
+ import "../chunk-PDWLVL34.js";
48
+ import "../chunk-QCGIYXN4.js";
49
+ import "../chunk-65XY7HRS.js";
50
+ import "../chunk-TPMZO6S2.js";
51
+ import "../chunk-M72ERPMT.js";
45
52
  import "../chunk-AQHYCRTO.js";
46
53
  import "../chunk-7TSTCMII.js";
47
54
  import "../chunk-KJ2GJLPQ.js";
48
- import "../chunk-UB7GS7XT.js";
49
- import "../chunk-S3JRZFF5.js";
50
55
  import "../chunk-IBYOMAZ3.js";
51
- import "../chunk-TJORQTH6.js";
52
- import "../chunk-PAQ2JFVD.js";
53
- import "../chunk-PZ5EGY64.js";
54
- import "../chunk-VVCRJ46V.js";
56
+ import "../chunk-WEUPM3IN.js";
55
57
  import "../chunk-PJYCPDV5.js";
56
- import "../chunk-YMKQJY5F.js";
58
+ import "../chunk-SIO4LO2M.js";
57
59
  import "../chunk-NMZMRH3E.js";
58
- import "../chunk-CULYZ3VA.js";
59
60
  import "../chunk-XJYR5HE3.js";
60
- import "../chunk-TPMZO6S2.js";
61
- import "../chunk-MNW6D7T4.js";
62
- import "../chunk-WG3N6VUA.js";
63
- import "../chunk-GSDVHR43.js";
64
- import "../chunk-YE2RMJY7.js";
65
- import "../chunk-CY6AWCC6.js";
61
+ import "../chunk-CULYZ3VA.js";
62
+ import "../chunk-JN3DHH7Z.js";
66
63
  import "../chunk-VRRGSQI7.js";
67
64
  import "../chunk-D6RQPBRG.js";
65
+ import "../chunk-YJCH35J4.js";
66
+ import "../chunk-YE2RMJY7.js";
67
+ import "../chunk-CY6AWCC6.js";
68
68
  import "../chunk-FX2AEKOV.js";
69
69
  import {
70
70
  installClaudeWrapper
71
71
  } from "../chunk-J6T3W6RY.js";
72
72
  import "../chunk-F4WUVOLE.js";
73
- import "../chunk-US26CY2Y.js";
73
+ import "../chunk-6EIONZ7F.js";
74
74
  import "../chunk-HFDLUBWN.js";
75
- import "../chunk-7U62OZSD.js";
76
- import "../chunk-4ENK7S24.js";
77
- import "../chunk-Q62QJXGO.js";
78
- import "../chunk-HDLPEXWS.js";
75
+ import "../chunk-ZDDMPGN4.js";
76
+ import "../chunk-CXYMVLYK.js";
77
+ import "../chunk-AGIXZFHQ.js";
78
+ import "../chunk-S5CMAWEC.js";
79
79
  import "../chunk-EZYKRG4W.js";
80
80
  import "../chunk-7XQLG5P2.js";
81
81
  import "../chunk-2ESYSVXG.js";
@@ -2,20 +2,20 @@ import {
2
2
  SENTINEL_DIR,
3
3
  kickoffEnvironmentSetup,
4
4
  prepareSprite
5
- } from "../chunk-7DPZMROX.js";
6
- import "../chunk-QQGXM2OQ.js";
7
- import "../chunk-BRULBMRN.js";
8
- import "../chunk-F5SHFZUA.js";
5
+ } from "../chunk-K5J4IN2S.js";
6
+ import "../chunk-XLMNSDUJ.js";
7
+ import "../chunk-NSUVDKNC.js";
8
+ import "../chunk-YTBVILAH.js";
9
9
  import {
10
10
  CLAUDE_WRAPPER_PATH
11
11
  } from "../chunk-J6T3W6RY.js";
12
12
  import "../chunk-F4WUVOLE.js";
13
- import "../chunk-US26CY2Y.js";
13
+ import "../chunk-6EIONZ7F.js";
14
14
  import "../chunk-HFDLUBWN.js";
15
- import "../chunk-7U62OZSD.js";
16
- import "../chunk-4ENK7S24.js";
17
- import "../chunk-Q62QJXGO.js";
18
- import "../chunk-HDLPEXWS.js";
15
+ import "../chunk-ZDDMPGN4.js";
16
+ import "../chunk-CXYMVLYK.js";
17
+ import "../chunk-AGIXZFHQ.js";
18
+ import "../chunk-S5CMAWEC.js";
19
19
  import "../chunk-2ESYSVXG.js";
20
20
  export {
21
21
  SENTINEL_DIR,
package/dist/db/agents.js CHANGED
@@ -5,14 +5,14 @@ import {
5
5
  listAgentVersions,
6
6
  listAgents,
7
7
  updateAgent
8
- } from "../chunk-ENFWZ2QM.js";
9
- import "../chunk-F5SHFZUA.js";
8
+ } from "../chunk-6U6HEVSN.js";
9
+ import "../chunk-YTBVILAH.js";
10
10
  import "../chunk-F4WUVOLE.js";
11
11
  import "../chunk-HFDLUBWN.js";
12
- import "../chunk-7U62OZSD.js";
13
- import "../chunk-4ENK7S24.js";
14
- import "../chunk-Q62QJXGO.js";
15
- import "../chunk-HDLPEXWS.js";
12
+ import "../chunk-ZDDMPGN4.js";
13
+ import "../chunk-CXYMVLYK.js";
14
+ import "../chunk-AGIXZFHQ.js";
15
+ import "../chunk-S5CMAWEC.js";
16
16
  import "../chunk-2ESYSVXG.js";
17
17
  export {
18
18
  archiveAgent,