@agentstep/agent-sdk 0.5.2 → 0.5.4

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 (183) 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 +7 -7
  4. package/dist/backends/codex/auth.js +6 -6
  5. package/dist/backends/codex/index.js +13 -13
  6. package/dist/backends/factory/auth.js +6 -6
  7. package/dist/backends/factory/index.js +10 -10
  8. package/dist/backends/gemini/auth.js +6 -6
  9. package/dist/backends/gemini/index.js +7 -7
  10. package/dist/backends/opencode/auth.js +6 -6
  11. package/dist/backends/opencode/index.js +9 -9
  12. package/dist/backends/pi/auth.js +6 -6
  13. package/dist/backends/pi/index.js +7 -7
  14. package/dist/backends/registry.js +26 -26
  15. package/dist/{chunk-VY6IWBSK.js → chunk-2GIAAUSW.js} +20 -3
  16. package/dist/{chunk-TF36SWHG.js → chunk-2LTNC5C7.js} +2 -2
  17. package/dist/{chunk-LW4OCFIP.js → chunk-2RIOHWZW.js} +6 -6
  18. package/dist/{chunk-AESA3ARX.js → chunk-3ST3YLED.js} +3 -3
  19. package/dist/{chunk-C52BVTYC.js → chunk-5435RAMR.js} +4 -4
  20. package/dist/{chunk-TSR33JMZ.js → chunk-5TOLDBBJ.js} +5 -5
  21. package/dist/{chunk-P4OCCRQW.js → chunk-5WY3LSCS.js} +1 -1
  22. package/dist/{chunk-Q2JYAAJO.js → chunk-64AWIKIO.js} +10 -10
  23. package/dist/{chunk-UQZFFG7U.js → chunk-64M4Z6HW.js} +1 -1
  24. package/dist/{chunk-P4NU74SP.js → chunk-6ZODIFRZ.js} +38 -0
  25. package/dist/{chunk-MV42BTU3.js → chunk-7OM5LP3K.js} +1 -1
  26. package/dist/{chunk-7IYL2O7H.js → chunk-A7DBW4MD.js} +3 -3
  27. package/dist/{chunk-4236UQNZ.js → chunk-ADSZ2OCX.js} +2 -2
  28. package/dist/{chunk-Z6OPLBPQ.js → chunk-AJOG6UYH.js} +1 -1
  29. package/dist/{chunk-YDP3YA5D.js → chunk-B2VM6IRJ.js} +15 -15
  30. package/dist/{chunk-IAKR572X.js → chunk-B374MDPO.js} +1 -1
  31. package/dist/{chunk-5UTTNXNJ.js → chunk-BZYAXHRB.js} +6 -6
  32. package/dist/{chunk-X4ARJS6I.js → chunk-C3PD6T4A.js} +4 -4
  33. package/dist/{chunk-5YGYUGDQ.js → chunk-C4GMG6IB.js} +3 -3
  34. package/dist/{chunk-PICGSLMG.js → chunk-C4YHYPOW.js} +5 -5
  35. package/dist/{chunk-5EFY6UGV.js → chunk-CZH5FQSF.js} +1 -1
  36. package/dist/{chunk-L2DCOJTQ.js → chunk-D5E5XJAU.js} +3 -3
  37. package/dist/{chunk-TE6KCRPP.js → chunk-DAKCDGWV.js} +1 -1
  38. package/dist/{chunk-ACPP4KN7.js → chunk-DDHJHSIR.js} +3 -3
  39. package/dist/{chunk-Y4MI27HU.js → chunk-DL7IPOZF.js} +1 -1
  40. package/dist/{chunk-YL6IQUJC.js → chunk-DMROEZYE.js} +4 -4
  41. package/dist/{chunk-ZEJOFHR7.js → chunk-DPR6K7Y4.js} +24 -6
  42. package/dist/{chunk-G4DTLYOD.js → chunk-DQW2QEK5.js} +1 -1
  43. package/dist/{chunk-7EDLLXFQ.js → chunk-DXRTOMZP.js} +13 -3
  44. package/dist/{chunk-GZZHVIEG.js → chunk-DYRGMJTC.js} +2 -2
  45. package/dist/{chunk-GBLR2CPP.js → chunk-FSQ6I3C7.js} +37 -2
  46. package/dist/{chunk-Z46R47QX.js → chunk-GOFQ63N3.js} +8 -8
  47. package/dist/{chunk-RZOCX57A.js → chunk-H355W724.js} +2 -2
  48. package/dist/{chunk-DZGFZMUE.js → chunk-HRBNDS5T.js} +1 -1
  49. package/dist/{chunk-ANS2TQYT.js → chunk-HWVBBUL2.js} +1 -1
  50. package/dist/{chunk-6TJBZXD4.js → chunk-IUMA4QRX.js} +1 -1
  51. package/dist/{chunk-6URMGCAC.js → chunk-IYVGGJMH.js} +2 -2
  52. package/dist/{chunk-5525T7PL.js → chunk-J2SP5UND.js} +4 -4
  53. package/dist/{chunk-6L4AGHAV.js → chunk-J6WSFODH.js} +10 -18
  54. package/dist/{chunk-PQKIXSEP.js → chunk-JCOR7AIY.js} +2 -2
  55. package/dist/{chunk-3VPTHB7I.js → chunk-JPONGXV5.js} +2 -2
  56. package/dist/{chunk-FILGQF2G.js → chunk-JWVVF66Q.js} +2 -2
  57. package/dist/{chunk-7JAUY5SG.js → chunk-K2UJFAGD.js} +3 -3
  58. package/dist/{chunk-AIAF5ZZA.js → chunk-KB7MV6VS.js} +1 -1
  59. package/dist/chunk-KYLDNVV7.js +176 -0
  60. package/dist/{chunk-7XIAKW75.js → chunk-LII6JJQT.js} +1 -1
  61. package/dist/{chunk-GEC3NFYO.js → chunk-MFSO7IGE.js} +4 -4
  62. package/dist/{chunk-IZ5TUMCF.js → chunk-NOJ3ERIN.js} +50 -17
  63. package/dist/{chunk-LA6IFUVR.js → chunk-OACMO7AL.js} +15 -15
  64. package/dist/{chunk-UGH5JDXX.js → chunk-P2NWS65Y.js} +2 -2
  65. package/dist/{chunk-BCBDHUFY.js → chunk-P4B4V4SV.js} +2 -2
  66. package/dist/{chunk-4B5H2MFO.js → chunk-P5DSHKKP.js} +16 -10
  67. package/dist/{chunk-WFRHLTKI.js → chunk-P5X2DSGQ.js} +3 -3
  68. package/dist/{chunk-M3752GFZ.js → chunk-P7TV5XP4.js} +3 -3
  69. package/dist/{chunk-A2W3USEZ.js → chunk-PEEKWYYE.js} +1 -1
  70. package/dist/{chunk-6WUYI3DJ.js → chunk-PKWN44LF.js} +4 -4
  71. package/dist/{chunk-VMLXV2H6.js → chunk-PUH4LEJZ.js} +1 -1
  72. package/dist/{chunk-TWH4UH6G.js → chunk-PVVJCRII.js} +1 -1
  73. package/dist/{chunk-SQZPJFBF.js → chunk-R6M4V3IG.js} +2 -2
  74. package/dist/{chunk-P6LESAPO.js → chunk-RA25CUV4.js} +29 -15
  75. package/dist/{chunk-6KJS42ZL.js → chunk-SMM7YOM2.js} +2 -2
  76. package/dist/{chunk-VC5DELR4.js → chunk-SZNZZB7J.js} +23 -1
  77. package/dist/{chunk-YEWYRPN4.js → chunk-T7NQMCDT.js} +35 -4
  78. package/dist/{chunk-4A4F4L4H.js → chunk-TC7UW22R.js} +2 -2
  79. package/dist/{chunk-BYIU4WAQ.js → chunk-TWX2D563.js} +3 -3
  80. package/dist/{chunk-CA76BJWL.js → chunk-TXOB3PZH.js} +13 -13
  81. package/dist/{chunk-IBUFLAAJ.js → chunk-UFAYAE3A.js} +7 -7
  82. package/dist/{chunk-WRLCJNQF.js → chunk-UK3ZFCQP.js} +1 -1
  83. package/dist/{chunk-UJW3I3TX.js → chunk-UKCIGI3T.js} +3 -3
  84. package/dist/{chunk-7APAOJIZ.js → chunk-UKCRJFFC.js} +3 -3
  85. package/dist/{chunk-FSVDF57K.js → chunk-UKIOGRMN.js} +5 -5
  86. package/dist/chunk-V5EEO7MU.js +129 -0
  87. package/dist/{chunk-KQTTKYZY.js → chunk-W3YXUIPS.js} +1 -1
  88. package/dist/{chunk-O2X4XBU7.js → chunk-W4FZ4HYD.js} +1 -1
  89. package/dist/{chunk-E35XHOFL.js → chunk-WOL4EVCE.js} +7 -7
  90. package/dist/{chunk-NRX5WHHN.js → chunk-X65C4UZH.js} +4 -4
  91. package/dist/{chunk-MTLM36QD.js → chunk-X7Y4TV6O.js} +2 -2
  92. package/dist/{chunk-BLTCDZ3O.js → chunk-XNEUJKY4.js} +4 -4
  93. package/dist/{chunk-6KQFP32G.js → chunk-YICDEIRE.js} +2 -2
  94. package/dist/{chunk-UAEVL47I.js → chunk-YSZLX4WE.js} +1 -1
  95. package/dist/{chunk-FWJOTEVY.js → chunk-YTZQ5J6L.js} +13 -3
  96. package/dist/{chunk-P4VJADXA.js → chunk-ZFMAACZT.js} +2 -2
  97. package/dist/{chunk-6DPJVMEC.js → chunk-ZIZU3B65.js} +1 -1
  98. package/dist/{chunk-ZFGG62JW.js → chunk-ZXJTXNUX.js} +4 -4
  99. package/dist/config/index.js +5 -5
  100. package/dist/containers/client.js +6 -6
  101. package/dist/containers/exec.js +6 -6
  102. package/dist/containers/lifecycle.js +38 -38
  103. package/dist/containers/setup.js +8 -8
  104. package/dist/db/agents.js +6 -6
  105. package/dist/db/api_keys.js +5 -5
  106. package/dist/db/audit.js +3 -3
  107. package/dist/db/batch.js +10 -10
  108. package/dist/db/client.js +2 -2
  109. package/dist/db/credentials.js +5 -3
  110. package/dist/db/drizzle.js +4 -4
  111. package/dist/db/environments.js +6 -6
  112. package/dist/db/events.js +5 -5
  113. package/dist/db/files.js +5 -5
  114. package/dist/db/memory.js +11 -7
  115. package/dist/db/migrations.js +1 -1
  116. package/dist/db/proxy.js +5 -5
  117. package/dist/db/schema.js +5 -1
  118. package/dist/db/session-resources.js +9 -7
  119. package/dist/db/sessions.js +8 -8
  120. package/dist/db/skills.js +27 -0
  121. package/dist/db/sync.js +5 -5
  122. package/dist/db/tenants.js +3 -3
  123. package/dist/db/threads.js +7 -7
  124. package/dist/db/traces.js +5 -5
  125. package/dist/db/upstream_keys.js +3 -3
  126. package/dist/db/vaults.js +6 -6
  127. package/dist/dreaming/review.js +11 -11
  128. package/dist/handlers/agents.js +54 -54
  129. package/dist/handlers/api_keys.js +55 -55
  130. package/dist/handlers/audit.js +55 -55
  131. package/dist/handlers/batch.js +55 -55
  132. package/dist/handlers/credentials.js +57 -55
  133. package/dist/handlers/environments.js +55 -55
  134. package/dist/handlers/events.js +58 -58
  135. package/dist/handlers/files.js +55 -55
  136. package/dist/handlers/index.js +125 -106
  137. package/dist/handlers/license.js +54 -54
  138. package/dist/handlers/memory.js +61 -57
  139. package/dist/handlers/metrics.js +54 -54
  140. package/dist/handlers/models.js +55 -55
  141. package/dist/handlers/providers.js +54 -54
  142. package/dist/handlers/resources.js +58 -56
  143. package/dist/handlers/sessions.js +58 -58
  144. package/dist/handlers/settings.js +54 -54
  145. package/dist/handlers/skills-write.js +68 -56
  146. package/dist/handlers/skills.js +55 -55
  147. package/dist/handlers/stream.js +54 -54
  148. package/dist/handlers/tenants.js +55 -55
  149. package/dist/handlers/threads.js +55 -55
  150. package/dist/handlers/traces.js +55 -55
  151. package/dist/handlers/upstream_keys.js +57 -57
  152. package/dist/handlers/vaults.js +54 -54
  153. package/dist/handlers/whoami.js +54 -54
  154. package/dist/http.js +53 -53
  155. package/dist/index.js +62 -62
  156. package/dist/init.js +50 -50
  157. package/dist/lib/model-registry.js +6 -6
  158. package/dist/lib/skills-cache.js +6 -6
  159. package/dist/observability/otlp.js +12 -12
  160. package/dist/observability/redactor.js +8 -8
  161. package/dist/providers/fly.js +5 -5
  162. package/dist/providers/modal.js +5 -5
  163. package/dist/providers/registry.js +1 -1
  164. package/dist/providers/resolve-secrets.js +7 -7
  165. package/dist/providers/sprites.js +7 -7
  166. package/dist/providers/upstream-keys.js +12 -12
  167. package/dist/providers/vercel.js +6 -6
  168. package/dist/proxy/forward.js +6 -6
  169. package/dist/queue/index.js +6 -6
  170. package/dist/sessions/bus.js +10 -10
  171. package/dist/sessions/driver.js +43 -43
  172. package/dist/sessions/grader.js +5 -5
  173. package/dist/sessions/secrets.js +8 -8
  174. package/dist/sessions/sweeper.js +39 -39
  175. package/dist/sessions/threads.js +45 -45
  176. package/dist/shutdown.js +40 -40
  177. package/dist/sync/anthropic.js +10 -10
  178. package/dist/sync/container-file-sync.js +24 -6
  179. package/dist/sync/file-sync.js +17 -17
  180. package/package.json +1 -1
  181. package/dist/chunk-WDAFSCYQ.js +0 -31
  182. package/dist/{chunk-LT5PRO54.js → chunk-ZJERBDQE.js} +0 -0
  183. package/dist/{dist-S64ZABZX.js → dist-EY25RQ2S.js} +3 -3
@@ -9,36 +9,36 @@ import {
9
9
  } from "./chunk-72BKGVBE.js";
10
10
  import {
11
11
  loadSessionSecrets
12
- } from "./chunk-4A4F4L4H.js";
12
+ } from "./chunk-TC7UW22R.js";
13
13
  import {
14
14
  childSpan,
15
15
  newTrace
16
16
  } from "./chunk-AU4NAQGA.js";
17
+ import {
18
+ injectMcpAuthHeaders
19
+ } from "./chunk-DBFPJSOY.js";
17
20
  import {
18
21
  buildErrorPayload,
19
22
  classifyError,
20
23
  init_errors
21
24
  } from "./chunk-H6TQGV4L.js";
22
- import {
23
- injectMcpAuthHeaders
24
- } from "./chunk-DBFPJSOY.js";
25
25
  import {
26
26
  isProxied
27
- } from "./chunk-MTLM36QD.js";
27
+ } from "./chunk-X7Y4TV6O.js";
28
28
  import {
29
29
  acquireForFirstTurn,
30
30
  installSkills,
31
31
  provisionResources,
32
32
  wrapProviderWithSecrets
33
- } from "./chunk-4B5H2MFO.js";
33
+ } from "./chunk-P5DSHKKP.js";
34
34
  import {
35
35
  BLOCKED_ENV_KEYS,
36
36
  resolveVaultSecrets
37
- } from "./chunk-O2X4XBU7.js";
37
+ } from "./chunk-W4FZ4HYD.js";
38
38
  import {
39
39
  appendEvent,
40
40
  appendEventsBatch
41
- } from "./chunk-NRX5WHHN.js";
41
+ } from "./chunk-X65C4UZH.js";
42
42
  import {
43
43
  bumpSessionStats,
44
44
  getOutcomeCriteria,
@@ -49,26 +49,26 @@ import {
49
49
  setOutcomeCriteria,
50
50
  updateSessionMutable,
51
51
  updateSessionStatus
52
- } from "./chunk-TSR33JMZ.js";
52
+ } from "./chunk-5TOLDBBJ.js";
53
53
  import {
54
54
  listEvents,
55
55
  markUserEventProcessed
56
- } from "./chunk-7JAUY5SG.js";
56
+ } from "./chunk-K2UJFAGD.js";
57
57
  import {
58
58
  getBySession
59
59
  } from "./chunk-EFOIR7R3.js";
60
60
  import {
61
61
  resolveContainerProvider
62
- } from "./chunk-LT5PRO54.js";
62
+ } from "./chunk-ZJERBDQE.js";
63
63
  import {
64
64
  getEnvironment
65
- } from "./chunk-7APAOJIZ.js";
65
+ } from "./chunk-UKCRJFFC.js";
66
66
  import {
67
67
  getAgent
68
- } from "./chunk-M3752GFZ.js";
68
+ } from "./chunk-P7TV5XP4.js";
69
69
  import {
70
70
  resolveBackend
71
- } from "./chunk-Q2JYAAJO.js";
71
+ } from "./chunk-64AWIKIO.js";
72
72
  import {
73
73
  PERMISSION_BRIDGE_PENDING_PATH,
74
74
  PERMISSION_BRIDGE_REQUEST_PATH,
@@ -84,7 +84,7 @@ import {
84
84
  } from "./chunk-XBHDQK4Z.js";
85
85
  import {
86
86
  getConfig
87
- } from "./chunk-UGH5JDXX.js";
87
+ } from "./chunk-P2NWS65Y.js";
88
88
  import {
89
89
  init_clock,
90
90
  nowMs
@@ -5,10 +5,10 @@ import {
5
5
  import {
6
6
  getDrizzle,
7
7
  init_drizzle
8
- } from "./chunk-FILGQF2G.js";
8
+ } from "./chunk-JWVVF66Q.js";
9
9
  import {
10
10
  schema_exports
11
- } from "./chunk-VC5DELR4.js";
11
+ } from "./chunk-SZNZZB7J.js";
12
12
 
13
13
  // src/config/index.ts
14
14
  init_drizzle();
@@ -9,10 +9,10 @@ import {
9
9
  import {
10
10
  getDrizzle,
11
11
  init_drizzle
12
- } from "./chunk-FILGQF2G.js";
12
+ } from "./chunk-JWVVF66Q.js";
13
13
  import {
14
14
  schema_exports
15
- } from "./chunk-VC5DELR4.js";
15
+ } from "./chunk-SZNZZB7J.js";
16
16
 
17
17
  // src/db/api_keys.ts
18
18
  init_drizzle();
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  resolveVaultSecrets
3
- } from "./chunk-O2X4XBU7.js";
3
+ } from "./chunk-W4FZ4HYD.js";
4
4
  import {
5
5
  dockerProvider
6
6
  } from "./chunk-4XXQAVKE.js";
7
7
  import {
8
8
  appendEvent
9
- } from "./chunk-NRX5WHHN.js";
9
+ } from "./chunk-X65C4UZH.js";
10
10
  import {
11
11
  getSession,
12
12
  getSessionRow,
13
13
  setSessionSandbox
14
- } from "./chunk-TSR33JMZ.js";
14
+ } from "./chunk-5TOLDBBJ.js";
15
15
  import {
16
16
  deleteSprite,
17
17
  listSprites
18
- } from "./chunk-VMLXV2H6.js";
18
+ } from "./chunk-PUH4LEJZ.js";
19
19
  import {
20
20
  allSessionSandboxes,
21
21
  countInEnv,
@@ -24,12 +24,12 @@ import {
24
24
  } from "./chunk-EFOIR7R3.js";
25
25
  import {
26
26
  resolveContainerProvider
27
- } from "./chunk-LT5PRO54.js";
27
+ } from "./chunk-ZJERBDQE.js";
28
28
  import {
29
29
  getEnvironment,
30
30
  getEnvironmentRow,
31
31
  listEnvironments
32
- } from "./chunk-7APAOJIZ.js";
32
+ } from "./chunk-UKCRJFFC.js";
33
33
  import {
34
34
  addWarm,
35
35
  claimWarm,
@@ -40,13 +40,13 @@ import {
40
40
  } from "./chunk-G7KUVNDY.js";
41
41
  import {
42
42
  getAgent
43
- } from "./chunk-M3752GFZ.js";
43
+ } from "./chunk-P7TV5XP4.js";
44
44
  import {
45
45
  resolveBackend
46
- } from "./chunk-Q2JYAAJO.js";
46
+ } from "./chunk-64AWIKIO.js";
47
47
  import {
48
48
  getConfig
49
- } from "./chunk-UGH5JDXX.js";
49
+ } from "./chunk-P2NWS65Y.js";
50
50
  import {
51
51
  init_clock,
52
52
  nowMs
@@ -487,7 +487,13 @@ async function provisionResources(sandboxName, resources, provider) {
487
487
  console.warn(`[lifecycle] skipping file ${r.file_id}: too large`);
488
488
  continue;
489
489
  }
490
- await writeTo(mountTarget, data.toString("utf8"));
490
+ const b64 = data.toString("base64");
491
+ await provider.exec(
492
+ sandboxName,
493
+ ["sh", "-c", 'base64 -d > "$1"', "sh", mountTarget],
494
+ { stdin: b64 }
495
+ );
496
+ await provider.exec(sandboxName, ["chmod", "a-w", mountTarget]);
491
497
  } catch (err) {
492
498
  console.warn(`[lifecycle] failed to provision file resource ${r.file_id}:`, err);
493
499
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  forwardToAnthropic
3
- } from "./chunk-Y4MI27HU.js";
3
+ } from "./chunk-DL7IPOZF.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-BCBDHUFY.js";
11
+ } from "./chunk-P4B4V4SV.js";
12
12
  import {
13
13
  getConfig
14
- } from "./chunk-UGH5JDXX.js";
14
+ } from "./chunk-P2NWS65Y.js";
15
15
  import {
16
16
  unauthorized
17
17
  } from "./chunk-EZYKRG4W.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_TENANT_ID
3
- } from "./chunk-UQZFFG7U.js";
3
+ } from "./chunk-64M4Z6HW.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-FILGQF2G.js";
16
+ } from "./chunk-JWVVF66Q.js";
17
17
  import {
18
18
  schema_exports
19
- } from "./chunk-VC5DELR4.js";
19
+ } from "./chunk-SZNZZB7J.js";
20
20
 
21
21
  // src/db/agents.ts
22
22
  init_drizzle();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getConfig
3
- } from "./chunk-UGH5JDXX.js";
3
+ } from "./chunk-P2NWS65Y.js";
4
4
  import {
5
5
  ApiError
6
6
  } from "./chunk-EZYKRG4W.js";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  listTraces
3
- } from "./chunk-G4DTLYOD.js";
3
+ } from "./chunk-DQW2QEK5.js";
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-6URMGCAC.js";
7
+ } from "./chunk-IYVGGJMH.js";
8
8
  import {
9
9
  exportTrace
10
- } from "./chunk-FSVDF57K.js";
10
+ } from "./chunk-UKIOGRMN.js";
11
11
  import {
12
12
  listEventsByTrace,
13
13
  rowToManagedEvent
14
- } from "./chunk-7JAUY5SG.js";
14
+ } from "./chunk-K2UJFAGD.js";
15
15
  import {
16
16
  badRequest,
17
17
  notFound
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getConfig
3
- } from "./chunk-UGH5JDXX.js";
3
+ } from "./chunk-P2NWS65Y.js";
4
4
  import {
5
5
  ApiError
6
6
  } from "./chunk-EZYKRG4W.js";
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  getDb,
16
16
  init_client
17
- } from "./chunk-KQTTKYZY.js";
17
+ } from "./chunk-W3YXUIPS.js";
18
18
 
19
19
  // src/db/audit.ts
20
20
  init_client();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getModels
3
- } from "./chunk-MV42BTU3.js";
3
+ } from "./chunk-7OM5LP3K.js";
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-6URMGCAC.js";
7
+ } from "./chunk-IYVGGJMH.js";
8
8
 
9
9
  // src/handlers/models.ts
10
10
  function handleListModels(request) {
@@ -2,10 +2,10 @@ import {
2
2
  reportUpstreamFailure,
3
3
  reportUpstreamSuccess,
4
4
  resolveAnthropicKey
5
- } from "./chunk-YL6IQUJC.js";
5
+ } from "./chunk-DMROEZYE.js";
6
6
  import {
7
7
  resolveRemoteSessionId
8
- } from "./chunk-AESA3ARX.js";
8
+ } from "./chunk-3ST3YLED.js";
9
9
  import {
10
10
  assertResourceTenant
11
11
  } from "./chunk-23UKWXJH.js";
@@ -20,46 +20,46 @@ import {
20
20
  listMemoryStores,
21
21
  searchMemories,
22
22
  updateMemory
23
- } from "./chunk-GBLR2CPP.js";
23
+ } from "./chunk-FSQ6I3C7.js";
24
24
  import {
25
25
  jsonOk,
26
26
  paginatedOk,
27
27
  routeWrap
28
- } from "./chunk-6URMGCAC.js";
28
+ } from "./chunk-IYVGGJMH.js";
29
29
  import {
30
30
  forwardToAnthropic
31
- } from "./chunk-Y4MI27HU.js";
31
+ } from "./chunk-DL7IPOZF.js";
32
32
  import {
33
33
  enqueueTurn
34
- } from "./chunk-AIAF5ZZA.js";
34
+ } from "./chunk-KB7MV6VS.js";
35
35
  import {
36
36
  runTurn,
37
37
  writePermissionResponse
38
- } from "./chunk-LA6IFUVR.js";
38
+ } from "./chunk-OACMO7AL.js";
39
39
  import {
40
40
  getProxiedTenantId,
41
41
  isProxied
42
- } from "./chunk-MTLM36QD.js";
42
+ } from "./chunk-X7Y4TV6O.js";
43
43
  import {
44
44
  getActor
45
45
  } from "./chunk-LAWTTG2E.js";
46
46
  import {
47
47
  appendEvent
48
- } from "./chunk-NRX5WHHN.js";
48
+ } from "./chunk-X65C4UZH.js";
49
49
  import {
50
50
  bumpSessionStats,
51
51
  getSession,
52
52
  getSessionRow,
53
53
  setOutcomeCriteria,
54
54
  updateSessionMutable
55
- } from "./chunk-TSR33JMZ.js";
55
+ } from "./chunk-5TOLDBBJ.js";
56
56
  import {
57
57
  listEvents,
58
58
  rowToManagedEvent
59
- } from "./chunk-7JAUY5SG.js";
59
+ } from "./chunk-K2UJFAGD.js";
60
60
  import {
61
61
  getAgent
62
- } from "./chunk-M3752GFZ.js";
62
+ } from "./chunk-P7TV5XP4.js";
63
63
  import {
64
64
  init_clock,
65
65
  nowMs
@@ -67,7 +67,7 @@ import {
67
67
  import {
68
68
  getDb,
69
69
  init_client
70
- } from "./chunk-KQTTKYZY.js";
70
+ } from "./chunk-W3YXUIPS.js";
71
71
  import {
72
72
  badRequest,
73
73
  notFound
@@ -425,7 +425,8 @@ var UserDefineOutcome = z.object({
425
425
  description: z.string().min(1),
426
426
  rubric: z.union([
427
427
  z.string(),
428
- z.object({ type: z.literal("text"), content: z.string() })
428
+ z.object({ type: z.literal("text"), content: z.string() }),
429
+ z.object({ type: z.literal("file"), file_id: z.string() })
429
430
  ]).optional(),
430
431
  max_iterations: z.number().int().min(1).max(20).optional()
431
432
  });
@@ -594,7 +595,20 @@ function handlePostEvents(request, sessionId) {
594
595
  if (event.type === "user.define_outcome") {
595
596
  const { newId: genId } = await import("./util/ids.js");
596
597
  const outcomeId = genId("outc");
597
- const rubricText = typeof event.rubric === "string" ? event.rubric : event.rubric?.content ?? "";
598
+ let rubricText;
599
+ if (typeof event.rubric === "string") {
600
+ rubricText = event.rubric;
601
+ } else if (event.rubric && event.rubric.type === "text") {
602
+ rubricText = event.rubric.content;
603
+ } else if (event.rubric && event.rubric.type === "file") {
604
+ const { getFile: getFileRow } = await import("./db/files.js");
605
+ const { readFile: readStoredFile } = await import("./files/storage.js");
606
+ const fileRow = getFileRow(event.rubric.file_id);
607
+ if (!fileRow) throw badRequest(`Rubric file not found: ${event.rubric.file_id}`);
608
+ rubricText = readStoredFile(fileRow.storage_path).toString("utf-8");
609
+ } else {
610
+ rubricText = "";
611
+ }
598
612
  const maxIterations = event.max_iterations ?? 3;
599
613
  const processedAt = nowMs();
600
614
  const outcomeData = {
@@ -18,14 +18,14 @@ import {
18
18
  import {
19
19
  buildClaudeArgs,
20
20
  buildClaudeAuthEnv
21
- } from "./chunk-ANS2TQYT.js";
21
+ } from "./chunk-HWVBBUL2.js";
22
22
  import {
23
23
  CLAUDE_WRAPPER_PATH,
24
24
  installClaudeWrapper
25
25
  } from "./chunk-QBJOYOVF.js";
26
26
  import {
27
27
  getConfig
28
- } from "./chunk-UGH5JDXX.js";
28
+ } from "./chunk-P2NWS65Y.js";
29
29
 
30
30
  // src/backends/claude/index.ts
31
31
  function buildTurn(input) {
@@ -21,11 +21,13 @@ __export(schema_exports, {
21
21
  sessionThreads: () => sessionThreads,
22
22
  sessions: () => sessions,
23
23
  settings: () => settings,
24
+ skillVersions: () => skillVersions,
25
+ skills: () => skills,
24
26
  vaultEntries: () => vaultEntries,
25
27
  vaults: () => vaults
26
28
  });
27
29
  import { sqliteTable, text, integer, real, primaryKey } from "drizzle-orm/sqlite-core";
28
- var settings, proxyResources, apiKeys, agents, agentVersions, environments, sessions, events, sessionThreads, vaults, vaultEntries, memoryStores, memoryVersions, memories, files, sessionResources, anthropicSync;
30
+ var settings, proxyResources, apiKeys, agents, agentVersions, environments, sessions, events, sessionThreads, vaults, vaultEntries, memoryStores, memoryVersions, memories, files, sessionResources, skills, skillVersions, anthropicSync;
29
31
  var init_schema = __esm({
30
32
  "src/db/schema.ts"() {
31
33
  settings = sqliteTable("settings", {
@@ -217,6 +219,7 @@ var init_schema = __esm({
217
219
  content: text("content"),
218
220
  content_sha256: text("content_sha256"),
219
221
  session_id: text("session_id"),
222
+ redacted_at: integer("redacted_at"),
220
223
  created_at: integer("created_at").notNull()
221
224
  });
222
225
  memories = sqliteTable("memories", {
@@ -254,6 +257,23 @@ var init_schema = __esm({
254
257
  created_at: integer("created_at").notNull(),
255
258
  updated_at: integer("updated_at").notNull()
256
259
  });
260
+ skills = sqliteTable("skills", {
261
+ id: text("id").primaryKey(),
262
+ name: text("name").notNull(),
263
+ description: text("description"),
264
+ current_version: text("current_version"),
265
+ tenant_id: text("tenant_id"),
266
+ created_at: integer("created_at").notNull(),
267
+ updated_at: integer("updated_at").notNull(),
268
+ archived_at: integer("archived_at")
269
+ });
270
+ skillVersions = sqliteTable("skill_versions", {
271
+ id: text("id").primaryKey(),
272
+ skill_id: text("skill_id").notNull(),
273
+ version: text("version").notNull(),
274
+ content: text("content").notNull(),
275
+ created_at: integer("created_at").notNull()
276
+ });
257
277
  anthropicSync = sqliteTable("anthropic_sync", {
258
278
  local_id: text("local_id").notNull(),
259
279
  resource_type: text("resource_type").notNull(),
@@ -283,6 +303,8 @@ export {
283
303
  memories,
284
304
  files,
285
305
  sessionResources,
306
+ skills,
307
+ skillVersions,
286
308
  anthropicSync,
287
309
  schema_exports,
288
310
  init_schema
@@ -14,17 +14,19 @@ import {
14
14
  listMemories,
15
15
  listMemoryStores,
16
16
  listMemoryVersions,
17
- updateMemory
18
- } from "./chunk-GBLR2CPP.js";
17
+ redactMemoryVersion,
18
+ updateMemory,
19
+ updateMemoryStore
20
+ } from "./chunk-FSQ6I3C7.js";
19
21
  import {
20
22
  jsonOk,
21
23
  paginatedOk,
22
24
  routeWrap
23
- } from "./chunk-6URMGCAC.js";
25
+ } from "./chunk-IYVGGJMH.js";
24
26
  import {
25
27
  getDb,
26
28
  init_client
27
- } from "./chunk-KQTTKYZY.js";
29
+ } from "./chunk-W3YXUIPS.js";
28
30
  import {
29
31
  badRequest,
30
32
  conflict,
@@ -96,6 +98,22 @@ function handleDeleteMemoryStore(request, id) {
96
98
  return jsonOk({ id, type: "memory_store_deleted" });
97
99
  });
98
100
  }
101
+ var UpdateStoreSchema = z.object({
102
+ name: z.string().min(1).optional(),
103
+ description: z.string().optional(),
104
+ metadata: z.record(z.string()).optional()
105
+ });
106
+ function handleUpdateMemoryStore(request, id) {
107
+ return routeWrap(request, async ({ auth }) => {
108
+ loadStoreForCaller(auth, id);
109
+ const body = await request.json();
110
+ const parsed = UpdateStoreSchema.safeParse(body);
111
+ if (!parsed.success) throw badRequest(parsed.error.message);
112
+ const store = updateMemoryStore(id, parsed.data);
113
+ if (!store) throw notFound(`memory store not found: ${id}`);
114
+ return jsonOk(store);
115
+ });
116
+ }
99
117
  var CreateMemorySchema = z.object({
100
118
  path: z.string().min(1),
101
119
  content: z.string()
@@ -182,6 +200,17 @@ function handleGetMemoryVersion(request, storeId, versionId) {
182
200
  return jsonOk(version);
183
201
  });
184
202
  }
203
+ function handleRedactMemoryVersion(request, storeId, versionId) {
204
+ return routeWrap(request, async ({ auth }) => {
205
+ loadStoreForCaller(auth, storeId);
206
+ const version = getMemoryVersion(storeId, versionId);
207
+ if (!version) throw notFound(`memory version not found: ${versionId}`);
208
+ const redacted = redactMemoryVersion(storeId, versionId);
209
+ if (!redacted) throw badRequest(`cannot redact this version: it is the current head of a live memory`);
210
+ const updated = getMemoryVersion(storeId, versionId);
211
+ return jsonOk(updated);
212
+ });
213
+ }
185
214
  function handleArchiveMemoryStore(request, storeId) {
186
215
  return routeWrap(request, async ({ auth }) => {
187
216
  loadStoreForCaller(auth, storeId);
@@ -197,6 +226,7 @@ export {
197
226
  handleListMemoryStores,
198
227
  handleGetMemoryStore,
199
228
  handleDeleteMemoryStore,
229
+ handleUpdateMemoryStore,
200
230
  handleCreateMemory,
201
231
  handleListMemories,
202
232
  handleGetMemory,
@@ -204,5 +234,6 @@ export {
204
234
  handleDeleteMemory,
205
235
  handleListMemoryVersions,
206
236
  handleGetMemoryVersion,
237
+ handleRedactMemoryVersion,
207
238
  handleArchiveMemoryStore
208
239
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  listCredentialsWithTokens
3
- } from "./chunk-7EDLLXFQ.js";
3
+ } from "./chunk-DXRTOMZP.js";
4
4
  import {
5
5
  listEntries
6
- } from "./chunk-BYIU4WAQ.js";
6
+ } from "./chunk-TWX2D563.js";
7
7
 
8
8
  // src/sessions/secrets.ts
9
9
  function loadSessionSecrets(vaultIds) {
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-AIBH32FN.js";
5
5
  import {
6
6
  DEFAULT_TENANT_ID
7
- } from "./chunk-UQZFFG7U.js";
7
+ } from "./chunk-64M4Z6HW.js";
8
8
  import {
9
9
  init_ids,
10
10
  newId
@@ -17,10 +17,10 @@ import {
17
17
  import {
18
18
  getDrizzle,
19
19
  init_drizzle
20
- } from "./chunk-FILGQF2G.js";
20
+ } from "./chunk-JWVVF66Q.js";
21
21
  import {
22
22
  schema_exports
23
- } from "./chunk-VC5DELR4.js";
23
+ } from "./chunk-SZNZZB7J.js";
24
24
 
25
25
  // src/db/vaults.ts
26
26
  init_drizzle();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  syncAndCreateSession
3
- } from "./chunk-GEC3NFYO.js";
3
+ } from "./chunk-MFSO7IGE.js";
4
4
  import {
5
5
  resolveRemoteSessionId,
6
6
  upsertSync
7
- } from "./chunk-AESA3ARX.js";
7
+ } from "./chunk-3ST3YLED.js";
8
8
  import {
9
9
  assertResourceTenant,
10
10
  tenantFilter
@@ -14,19 +14,19 @@ import {
14
14
  } from "./chunk-DC2UMEQH.js";
15
15
  import {
16
16
  getMemoryStore
17
- } from "./chunk-GBLR2CPP.js";
17
+ } from "./chunk-FSQ6I3C7.js";
18
18
  import {
19
19
  kickoffEnvironmentSetup
20
- } from "./chunk-6KQFP32G.js";
20
+ } from "./chunk-YICDEIRE.js";
21
21
  import {
22
22
  decodeCursor,
23
23
  jsonOk,
24
24
  paginatedOk,
25
25
  routeWrap
26
- } from "./chunk-6URMGCAC.js";
26
+ } from "./chunk-IYVGGJMH.js";
27
27
  import {
28
28
  forwardToAnthropic
29
- } from "./chunk-Y4MI27HU.js";
29
+ } from "./chunk-DL7IPOZF.js";
30
30
  import {
31
31
  errors_exports,
32
32
  init_errors
@@ -36,18 +36,18 @@ import {
36
36
  isProxied,
37
37
  markProxied,
38
38
  unmarkProxied
39
- } from "./chunk-MTLM36QD.js";
39
+ } from "./chunk-X7Y4TV6O.js";
40
40
  import {
41
41
  dropActor,
42
42
  getActor
43
43
  } from "./chunk-LAWTTG2E.js";
44
44
  import {
45
45
  releaseSession
46
- } from "./chunk-4B5H2MFO.js";
46
+ } from "./chunk-P5DSHKKP.js";
47
47
  import {
48
48
  appendEvent,
49
49
  dropEmitter
50
- } from "./chunk-NRX5WHHN.js";
50
+ } from "./chunk-X65C4UZH.js";
51
51
  import {
52
52
  archiveSession,
53
53
  createSession,
@@ -55,13 +55,13 @@ import {
55
55
  listSessions,
56
56
  updateSessionMutable,
57
57
  updateSessionStatus
58
- } from "./chunk-TSR33JMZ.js";
58
+ } from "./chunk-5TOLDBBJ.js";
59
59
  import {
60
60
  getEnvironment
61
- } from "./chunk-7APAOJIZ.js";
61
+ } from "./chunk-UKCRJFFC.js";
62
62
  import {
63
63
  getAgent
64
- } from "./chunk-M3752GFZ.js";
64
+ } from "./chunk-P7TV5XP4.js";
65
65
  import {
66
66
  init_clock,
67
67
  nowMs
@@ -69,7 +69,7 @@ import {
69
69
  import {
70
70
  getDb,
71
71
  init_client
72
- } from "./chunk-KQTTKYZY.js";
72
+ } from "./chunk-W3YXUIPS.js";
73
73
  import {
74
74
  badRequest,
75
75
  notFound