@agentstep/agent-sdk 0.5.0 → 0.5.2
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.
- package/dist/auth/middleware.js +8 -8
- package/dist/backends/claude/args.js +7 -7
- package/dist/backends/claude/index.js +12 -12
- package/dist/backends/claude/wrapper-script.js +1 -1
- package/dist/backends/codex/auth.js +6 -6
- package/dist/backends/codex/index.js +11 -11
- package/dist/backends/factory/auth.js +6 -6
- package/dist/backends/factory/index.js +13 -13
- package/dist/backends/gemini/auth.js +6 -6
- package/dist/backends/gemini/index.js +11 -11
- package/dist/backends/opencode/auth.js +6 -6
- package/dist/backends/opencode/index.js +15 -15
- package/dist/backends/pi/auth.js +6 -6
- package/dist/backends/pi/index.js +13 -13
- package/dist/backends/registry.js +31 -31
- package/dist/backends/shared/wrap-prompt.js +1 -1
- package/dist/chunk-3LUY2POB.js +50 -0
- package/dist/{chunk-3PA4NXRP.js → chunk-3VPTHB7I.js} +2 -2
- package/dist/{chunk-YMCS6AB7.js → chunk-4236UQNZ.js} +2 -2
- package/dist/{chunk-HMOSAXVZ.js → chunk-4A4F4L4H.js} +2 -2
- package/dist/{chunk-JFOHGHW5.js → chunk-4B5H2MFO.js} +59 -16
- package/dist/{chunk-OZFSKR2W.js → chunk-5525T7PL.js} +4 -4
- package/dist/{chunk-AXBM7HAR.js → chunk-5EFY6UGV.js} +1 -1
- package/dist/chunk-5UTTNXNJ.js +166 -0
- package/dist/{chunk-4RDILRIO.js → chunk-5YGYUGDQ.js} +3 -3
- package/dist/{chunk-HWR2HYQJ.js → chunk-6DPJVMEC.js} +1 -1
- package/dist/{chunk-PNZF7HIU.js → chunk-6KJS42ZL.js} +8 -7
- package/dist/{chunk-LQP6XGFU.js → chunk-6KQFP32G.js} +3 -3
- package/dist/{chunk-DMMNAQUM.js → chunk-6L4AGHAV.js} +2 -2
- package/dist/{chunk-WEC625LQ.js → chunk-6TJBZXD4.js} +1 -1
- package/dist/{chunk-QTXAWC5J.js → chunk-6URMGCAC.js} +2 -2
- package/dist/{chunk-DJZSPWG2.js → chunk-6WUYI3DJ.js} +4 -4
- package/dist/{chunk-H6OT5GUL.js → chunk-7APAOJIZ.js} +3 -3
- package/dist/{chunk-HVLYE4S5.js → chunk-7EDLLXFQ.js} +1 -1
- package/dist/chunk-7IYL2O7H.js +185 -0
- package/dist/{chunk-KGBKIJPF.js → chunk-7JAUY5SG.js} +3 -3
- package/dist/{chunk-NDTIDWBE.js → chunk-7XIAKW75.js} +1 -1
- package/dist/{chunk-TUEBRYPZ.js → chunk-A2W3USEZ.js} +1 -1
- package/dist/chunk-ACPP4KN7.js +164 -0
- package/dist/{chunk-22OUZJAV.js → chunk-AESA3ARX.js} +3 -3
- package/dist/{chunk-Z4LFLXRR.js → chunk-AIAF5ZZA.js} +1 -1
- package/dist/{chunk-GIMDS46L.js → chunk-ANS2TQYT.js} +3 -3
- package/dist/{chunk-T3FQPTOA.js → chunk-BCBDHUFY.js} +2 -2
- package/dist/{chunk-MCWCRZM4.js → chunk-BLTCDZ3O.js} +4 -4
- package/dist/{chunk-VP527YC5.js → chunk-BYIU4WAQ.js} +3 -3
- package/dist/{chunk-L26TVIB6.js → chunk-C52BVTYC.js} +8 -8
- package/dist/{chunk-EWIWVXXP.js → chunk-CA76BJWL.js} +44 -14
- package/dist/{chunk-DKLHYSPW.js → chunk-DZGFZMUE.js} +5 -5
- package/dist/{chunk-R3QHLKJG.js → chunk-E35XHOFL.js} +5 -5
- package/dist/{chunk-PZNAQBHQ.js → chunk-FILGQF2G.js} +2 -2
- package/dist/{chunk-JP7Y3TKK.js → chunk-FSVDF57K.js} +5 -5
- package/dist/{chunk-S7DFMJR5.js → chunk-FWJOTEVY.js} +3 -3
- package/dist/{chunk-XSNJ7NT2.js → chunk-G4DTLYOD.js} +1 -1
- package/dist/{chunk-IEZFRNLC.js → chunk-GBLR2CPP.js} +107 -9
- package/dist/{chunk-7SY65LWY.js → chunk-GEC3NFYO.js} +4 -4
- package/dist/{chunk-GLKWJESP.js → chunk-GZZHVIEG.js} +2 -2
- package/dist/{chunk-NHAYKVXG.js → chunk-IAKR572X.js} +8 -8
- package/dist/{chunk-GFSRNOPI.js → chunk-IBUFLAAJ.js} +7 -7
- package/dist/{chunk-OKT2J4ZB.js → chunk-IZ5TUMCF.js} +23 -7
- package/dist/{chunk-W3JMIUHV.js → chunk-KQTTKYZY.js} +1 -1
- package/dist/{chunk-AJL3T5JS.js → chunk-L2DCOJTQ.js} +3 -3
- package/dist/{chunk-JLUCJMAQ.js → chunk-LA6IFUVR.js} +70 -24
- package/dist/{chunk-AB7MPL3H.js → chunk-LW4OCFIP.js} +9 -7
- package/dist/{chunk-BCIFFAGW.js → chunk-M3752GFZ.js} +15 -5
- package/dist/{chunk-5U5LRAFJ.js → chunk-MTLM36QD.js} +2 -2
- package/dist/{chunk-A6VORSKD.js → chunk-MV42BTU3.js} +1 -1
- package/dist/{chunk-5MERXOLJ.js → chunk-NRX5WHHN.js} +4 -4
- package/dist/{chunk-T3HMVHDG.js → chunk-O2X4XBU7.js} +1 -1
- package/dist/{chunk-2YZOIFVN.js → chunk-P4NU74SP.js} +47 -0
- package/dist/{chunk-TVODT2UR.js → chunk-P4OCCRQW.js} +1 -1
- package/dist/{chunk-YXOCKQZU.js → chunk-P4VJADXA.js} +2 -2
- package/dist/{chunk-6QZ23WRF.js → chunk-P6LESAPO.js} +54 -20
- package/dist/{chunk-HY3T4YJV.js → chunk-PICGSLMG.js} +5 -5
- package/dist/{chunk-64IQEPSD.js → chunk-PQKIXSEP.js} +2 -2
- package/dist/{chunk-GV6GUSCP.js → chunk-Q2JYAAJO.js} +9 -9
- package/dist/{chunk-IU457W7Q.js → chunk-QBJOYOVF.js} +2 -1
- package/dist/{chunk-MAJWADF7.js → chunk-RZOCX57A.js} +2 -2
- package/dist/{chunk-4D345E27.js → chunk-SQZPJFBF.js} +2 -2
- package/dist/{chunk-OSNMIPHV.js → chunk-TE6KCRPP.js} +1 -1
- package/dist/{chunk-Z6VZYRVN.js → chunk-TF36SWHG.js} +2 -2
- package/dist/{chunk-KUWJJD6O.js → chunk-TSR33JMZ.js} +14 -5
- package/dist/{chunk-L3IACZ72.js → chunk-TWH4UH6G.js} +1 -1
- package/dist/{chunk-445EL6J5.js → chunk-UAEVL47I.js} +1 -1
- package/dist/{chunk-X6QIWZ33.js → chunk-UGH5JDXX.js} +3 -3
- package/dist/{chunk-FSQ4HGHX.js → chunk-UJW3I3TX.js} +3 -3
- package/dist/{chunk-I26QP3A3.js → chunk-UQZFFG7U.js} +1 -1
- package/dist/{chunk-ILHIHMO3.js → chunk-VC5DELR4.js} +37 -2
- package/dist/{chunk-NKQVOAWN.js → chunk-VMLXV2H6.js} +1 -1
- package/dist/{chunk-FCUXFLNK.js → chunk-VY6IWBSK.js} +17 -4
- package/dist/{chunk-6CVQDSTS.js → chunk-WDAFSCYQ.js} +1 -1
- package/dist/{chunk-GCQDNUS2.js → chunk-WFRHLTKI.js} +3 -3
- package/dist/{chunk-R6EEBWM3.js → chunk-WRLCJNQF.js} +1 -1
- package/dist/{chunk-KKAJC3Z2.js → chunk-X4ARJS6I.js} +10 -10
- package/dist/{chunk-MQBMXAPU.js → chunk-Y4MI27HU.js} +1 -1
- package/dist/{chunk-PN3AWRMX.js → chunk-YDP3YA5D.js} +17 -17
- package/dist/{chunk-FVBDEOTZ.js → chunk-YE2RMJY7.js} +18 -4
- package/dist/{chunk-IRW7AYTP.js → chunk-YEWYRPN4.js} +42 -4
- package/dist/{chunk-24IDJ7LY.js → chunk-YL6IQUJC.js} +4 -4
- package/dist/{chunk-CLSGNQ7J.js → chunk-Z46R47QX.js} +8 -8
- package/dist/{chunk-STJNO6SL.js → chunk-Z6OPLBPQ.js} +1 -1
- package/dist/{chunk-RYJXSXCV.js → chunk-ZEJOFHR7.js} +5 -5
- package/dist/{chunk-EOJ66GY7.js → chunk-ZFGG62JW.js} +4 -4
- package/dist/config/index.js +5 -5
- package/dist/containers/client.js +6 -6
- package/dist/containers/exec.js +6 -6
- package/dist/containers/lifecycle.js +45 -43
- package/dist/containers/setup.js +9 -9
- package/dist/db/agents.js +6 -6
- package/dist/db/api_keys.js +5 -5
- package/dist/db/audit.js +3 -3
- package/dist/db/batch.js +10 -10
- package/dist/db/client.js +2 -2
- package/dist/db/credentials.js +3 -3
- package/dist/db/drizzle.js +4 -4
- package/dist/db/environments.js +6 -6
- package/dist/db/events.js +5 -5
- package/dist/db/files.js +5 -5
- package/dist/db/memory.js +13 -5
- package/dist/db/migrations.js +1 -1
- package/dist/db/proxy.js +5 -5
- package/dist/db/schema.js +5 -1
- package/dist/db/session-resources.js +5 -5
- package/dist/db/sessions.js +8 -8
- package/dist/db/sync.js +5 -5
- package/dist/db/tenants.js +3 -3
- package/dist/db/threads.js +27 -0
- package/dist/db/traces.js +5 -5
- package/dist/db/upstream_keys.js +3 -3
- package/dist/db/vaults.js +6 -6
- package/dist/dreaming/prompts.js +9 -0
- package/dist/dreaming/review.js +22 -0
- package/dist/handlers/agents.js +59 -59
- package/dist/handlers/api_keys.js +60 -60
- package/dist/handlers/audit.js +60 -60
- package/dist/handlers/batch.js +60 -60
- package/dist/handlers/credentials.js +60 -60
- package/dist/handlers/environments.js +60 -60
- package/dist/handlers/events.js +63 -63
- package/dist/handlers/files.js +60 -60
- package/dist/handlers/index.js +159 -144
- package/dist/handlers/license.js +59 -59
- package/dist/handlers/memory.js +66 -60
- package/dist/handlers/metrics.js +59 -59
- package/dist/handlers/models.js +60 -60
- package/dist/handlers/providers.js +59 -59
- package/dist/handlers/resources.js +59 -59
- package/dist/handlers/sessions.js +63 -62
- package/dist/handlers/settings.js +59 -59
- package/dist/handlers/skills-write.js +59 -59
- package/dist/handlers/skills.js +60 -60
- package/dist/handlers/stream.js +59 -59
- package/dist/handlers/tenants.js +60 -60
- package/dist/handlers/threads.js +70 -61
- package/dist/handlers/traces.js +60 -60
- package/dist/handlers/upstream_keys.js +62 -62
- package/dist/handlers/vaults.js +59 -59
- package/dist/handlers/whoami.js +59 -59
- package/dist/http.js +58 -58
- package/dist/index.js +72 -67
- package/dist/init.js +55 -55
- package/dist/lib/model-registry.js +6 -6
- package/dist/lib/skills-cache.js +6 -6
- package/dist/observability/otlp.js +12 -12
- package/dist/observability/redactor.js +8 -8
- package/dist/providers/fly.js +5 -5
- package/dist/providers/modal.js +5 -5
- package/dist/providers/registry.js +1 -1
- package/dist/providers/resolve-secrets.js +7 -7
- package/dist/providers/sprites.js +7 -7
- package/dist/providers/upstream-keys.js +12 -12
- package/dist/providers/vercel.js +6 -6
- package/dist/proxy/forward.js +6 -6
- package/dist/queue/index.js +6 -6
- package/dist/sessions/bus.js +10 -10
- package/dist/sessions/driver.js +48 -48
- package/dist/sessions/grader.js +5 -5
- package/dist/sessions/secrets.js +8 -8
- package/dist/sessions/sweeper.js +44 -44
- package/dist/sessions/threads.js +121 -55
- package/dist/shutdown.js +45 -45
- package/dist/sync/anthropic.js +10 -10
- package/dist/sync/container-file-sync.js +6 -6
- package/dist/sync/file-sync.js +17 -17
- package/dist/sync/memory-sync.js +79 -0
- package/package.json +1 -1
- package/dist/chunk-XTKTIFHC.js +0 -48
- package/dist/{chunk-UE6DNLSV.js → chunk-LT5PRO54.js} +0 -0
- package/dist/{dist-EY25RQ2S.js → dist-S64ZABZX.js} +3 -3
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createGeminiTranslator
|
|
3
|
-
} from "./chunk-S3JRZFF5.js";
|
|
4
1
|
import {
|
|
5
2
|
buildGeminiArgs
|
|
6
3
|
} from "./chunk-IBYOMAZ3.js";
|
|
7
4
|
import {
|
|
8
5
|
buildGeminiAuthEnv,
|
|
9
6
|
validateGeminiRuntime
|
|
10
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Z6OPLBPQ.js";
|
|
11
8
|
import {
|
|
12
9
|
prepareGeminiOnSandbox
|
|
13
10
|
} from "./chunk-XG4UIGDH.js";
|
|
11
|
+
import {
|
|
12
|
+
createGeminiTranslator
|
|
13
|
+
} from "./chunk-S3JRZFF5.js";
|
|
14
14
|
import {
|
|
15
15
|
GEMINI_WRAPPER_PATH
|
|
16
16
|
} from "./chunk-3W6KEDQE.js";
|
|
17
17
|
import {
|
|
18
18
|
wrapPromptWithSystem
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-YE2RMJY7.js";
|
|
20
20
|
import {
|
|
21
21
|
ApiError
|
|
22
22
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createCodexTranslator
|
|
3
|
+
} from "./chunk-CULYZ3VA.js";
|
|
1
4
|
import {
|
|
2
5
|
buildCodexArgs
|
|
3
6
|
} from "./chunk-PJYCPDV5.js";
|
|
4
7
|
import {
|
|
5
8
|
buildCodexAuthEnv,
|
|
6
9
|
validateCodexRuntime
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6TJBZXD4.js";
|
|
8
11
|
import {
|
|
9
12
|
prepareCodexOnSandbox
|
|
10
13
|
} from "./chunk-M2LUXIXU.js";
|
|
11
|
-
import {
|
|
12
|
-
createCodexTranslator
|
|
13
|
-
} from "./chunk-CULYZ3VA.js";
|
|
14
14
|
import {
|
|
15
15
|
CODEX_WRAPPER_PATH
|
|
16
16
|
} from "./chunk-E4FQRMHV.js";
|
|
17
17
|
import {
|
|
18
18
|
wrapPromptWithSystem
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-YE2RMJY7.js";
|
|
20
20
|
import {
|
|
21
21
|
ApiError
|
|
22
22
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_schema,
|
|
3
3
|
schema_exports
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VC5DELR4.js";
|
|
5
5
|
import {
|
|
6
6
|
getDb,
|
|
7
7
|
init_client
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KQTTKYZY.js";
|
|
9
9
|
import {
|
|
10
10
|
__esm
|
|
11
11
|
} from "./chunk-2ESYSVXG.js";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
onAfterCommit
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NRX5WHHN.js";
|
|
4
4
|
import {
|
|
5
5
|
getSessionRow
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TSR33JMZ.js";
|
|
7
7
|
import {
|
|
8
8
|
listEventsByTrace
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7JAUY5SG.js";
|
|
10
10
|
import {
|
|
11
11
|
getAgent
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-M3752GFZ.js";
|
|
13
13
|
import {
|
|
14
14
|
getConfig
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UGH5JDXX.js";
|
|
16
16
|
|
|
17
17
|
// src/observability/otlp.ts
|
|
18
18
|
import { createHash } from "crypto";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadVaultForCaller
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5525T7PL.js";
|
|
4
4
|
import {
|
|
5
5
|
jsonOk,
|
|
6
6
|
paginatedOk,
|
|
7
7
|
routeWrap
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6URMGCAC.js";
|
|
9
9
|
import {
|
|
10
10
|
createCredential,
|
|
11
11
|
deleteCredential,
|
|
12
12
|
getCredential,
|
|
13
13
|
listCredentials,
|
|
14
14
|
updateCredential
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-7EDLLXFQ.js";
|
|
16
16
|
import {
|
|
17
17
|
badRequest,
|
|
18
18
|
conflict,
|
|
@@ -10,27 +10,43 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
getDrizzle,
|
|
12
12
|
init_drizzle
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FILGQF2G.js";
|
|
14
14
|
import {
|
|
15
15
|
schema_exports
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VC5DELR4.js";
|
|
17
17
|
|
|
18
18
|
// src/db/memory.ts
|
|
19
19
|
init_drizzle();
|
|
20
20
|
init_ids();
|
|
21
21
|
init_clock();
|
|
22
22
|
import { createHash } from "crypto";
|
|
23
|
-
import { eq, and, asc, desc, like, or, sql } from "drizzle-orm";
|
|
23
|
+
import { eq, and, asc, desc, like, or, sql, lt } from "drizzle-orm";
|
|
24
24
|
function hydrateStore(row) {
|
|
25
25
|
return {
|
|
26
26
|
id: row.id,
|
|
27
27
|
name: row.name,
|
|
28
28
|
description: row.description,
|
|
29
29
|
agent_id: row.agent_id,
|
|
30
|
+
archived_at: row.archived_at ? toIso(row.archived_at) : null,
|
|
30
31
|
created_at: toIso(row.created_at),
|
|
31
32
|
updated_at: toIso(row.updated_at)
|
|
32
33
|
};
|
|
33
34
|
}
|
|
35
|
+
function hydrateVersion(row) {
|
|
36
|
+
const v = {
|
|
37
|
+
type: "memory_version",
|
|
38
|
+
id: row.id,
|
|
39
|
+
memory_store_id: row.store_id,
|
|
40
|
+
memory_id: row.memory_id,
|
|
41
|
+
path: row.path,
|
|
42
|
+
operation: row.operation,
|
|
43
|
+
created_at: toIso(row.created_at)
|
|
44
|
+
};
|
|
45
|
+
if (row.content != null) v.content = row.content;
|
|
46
|
+
if (row.content_sha256 != null) v.content_sha256 = row.content_sha256;
|
|
47
|
+
if (row.session_id != null) v.session_id = row.session_id;
|
|
48
|
+
return v;
|
|
49
|
+
}
|
|
34
50
|
function hydrateMemory(row) {
|
|
35
51
|
return {
|
|
36
52
|
id: row.id,
|
|
@@ -90,11 +106,13 @@ function deleteMemoryStore(id) {
|
|
|
90
106
|
const res = db.delete(schema_exports.memoryStores).where(eq(schema_exports.memoryStores.id, id)).run();
|
|
91
107
|
return res.changes > 0;
|
|
92
108
|
}
|
|
93
|
-
function createOrUpsertMemory(storeId, path, content) {
|
|
109
|
+
function createOrUpsertMemory(storeId, path, content, sessionId) {
|
|
94
110
|
const db = getDrizzle();
|
|
95
111
|
const hash = sha256(content);
|
|
96
112
|
const now = nowMs();
|
|
97
113
|
const id = newId("mem");
|
|
114
|
+
const existing = getMemoryByPath(storeId, path);
|
|
115
|
+
const isUpdate = !!existing;
|
|
98
116
|
db.insert(schema_exports.memories).values({
|
|
99
117
|
id,
|
|
100
118
|
store_id: storeId,
|
|
@@ -111,7 +129,17 @@ function createOrUpsertMemory(storeId, path, content) {
|
|
|
111
129
|
updated_at: now
|
|
112
130
|
}
|
|
113
131
|
}).run();
|
|
114
|
-
|
|
132
|
+
const memory = getMemoryByPath(storeId, path);
|
|
133
|
+
createMemoryVersion({
|
|
134
|
+
storeId,
|
|
135
|
+
memoryId: memory.id,
|
|
136
|
+
operation: isUpdate ? "update" : "create",
|
|
137
|
+
path,
|
|
138
|
+
content,
|
|
139
|
+
contentSha256: hash,
|
|
140
|
+
sessionId
|
|
141
|
+
});
|
|
142
|
+
return memory;
|
|
115
143
|
}
|
|
116
144
|
function getMemory(id) {
|
|
117
145
|
const db = getDrizzle();
|
|
@@ -143,7 +171,7 @@ function searchMemories(storeId, query) {
|
|
|
143
171
|
).orderBy(asc(schema_exports.memories.path)).all();
|
|
144
172
|
return rows.map(hydrateMemory);
|
|
145
173
|
}
|
|
146
|
-
function updateMemory(id, content, preconditionSha256) {
|
|
174
|
+
function updateMemory(id, content, preconditionSha256, sessionId) {
|
|
147
175
|
const db = getDrizzle();
|
|
148
176
|
const existing = getMemory(id);
|
|
149
177
|
if (!existing) return { memory: null, conflict: false };
|
|
@@ -153,11 +181,77 @@ function updateMemory(id, content, preconditionSha256) {
|
|
|
153
181
|
const hash = sha256(content);
|
|
154
182
|
const now = nowMs();
|
|
155
183
|
db.update(schema_exports.memories).set({ content, content_sha256: hash, updated_at: now }).where(eq(schema_exports.memories.id, id)).run();
|
|
156
|
-
|
|
184
|
+
const memory = getMemory(id);
|
|
185
|
+
createMemoryVersion({
|
|
186
|
+
storeId: existing.store_id,
|
|
187
|
+
memoryId: id,
|
|
188
|
+
operation: "update",
|
|
189
|
+
path: existing.path,
|
|
190
|
+
content,
|
|
191
|
+
contentSha256: hash,
|
|
192
|
+
sessionId
|
|
193
|
+
});
|
|
194
|
+
return { memory, conflict: false };
|
|
157
195
|
}
|
|
158
|
-
function deleteMemory(id) {
|
|
196
|
+
function deleteMemory(id, sessionId) {
|
|
159
197
|
const db = getDrizzle();
|
|
198
|
+
const existing = getMemory(id);
|
|
160
199
|
const res = db.delete(schema_exports.memories).where(eq(schema_exports.memories.id, id)).run();
|
|
200
|
+
if (res.changes > 0 && existing) {
|
|
201
|
+
createMemoryVersion({
|
|
202
|
+
storeId: existing.store_id,
|
|
203
|
+
memoryId: id,
|
|
204
|
+
operation: "delete",
|
|
205
|
+
path: existing.path,
|
|
206
|
+
sessionId
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return res.changes > 0;
|
|
210
|
+
}
|
|
211
|
+
function createMemoryVersion(opts) {
|
|
212
|
+
const db = getDrizzle();
|
|
213
|
+
const id = newId("memver");
|
|
214
|
+
const now = nowMs();
|
|
215
|
+
db.insert(schema_exports.memoryVersions).values({
|
|
216
|
+
id,
|
|
217
|
+
store_id: opts.storeId,
|
|
218
|
+
memory_id: opts.memoryId,
|
|
219
|
+
operation: opts.operation,
|
|
220
|
+
path: opts.path,
|
|
221
|
+
content: opts.content ?? null,
|
|
222
|
+
content_sha256: opts.contentSha256 ?? null,
|
|
223
|
+
session_id: opts.sessionId ?? null,
|
|
224
|
+
created_at: now
|
|
225
|
+
}).run();
|
|
226
|
+
return id;
|
|
227
|
+
}
|
|
228
|
+
function listMemoryVersions(storeId, opts) {
|
|
229
|
+
const db = getDrizzle();
|
|
230
|
+
const limit = opts?.limit ?? 100;
|
|
231
|
+
const conditions = [eq(schema_exports.memoryVersions.store_id, storeId)];
|
|
232
|
+
if (opts?.memoryId) {
|
|
233
|
+
conditions.push(eq(schema_exports.memoryVersions.memory_id, opts.memoryId));
|
|
234
|
+
}
|
|
235
|
+
if (opts?.cursor) {
|
|
236
|
+
conditions.push(lt(schema_exports.memoryVersions.id, opts.cursor));
|
|
237
|
+
}
|
|
238
|
+
const rows = db.select().from(schema_exports.memoryVersions).where(and(...conditions)).orderBy(desc(schema_exports.memoryVersions.created_at), desc(schema_exports.memoryVersions.id)).limit(limit).all();
|
|
239
|
+
return rows.map(hydrateVersion);
|
|
240
|
+
}
|
|
241
|
+
function getMemoryVersion(storeId, versionId) {
|
|
242
|
+
const db = getDrizzle();
|
|
243
|
+
const row = db.select().from(schema_exports.memoryVersions).where(
|
|
244
|
+
and(
|
|
245
|
+
eq(schema_exports.memoryVersions.store_id, storeId),
|
|
246
|
+
eq(schema_exports.memoryVersions.id, versionId)
|
|
247
|
+
)
|
|
248
|
+
).get();
|
|
249
|
+
return row ? hydrateVersion(row) : void 0;
|
|
250
|
+
}
|
|
251
|
+
function archiveMemoryStore(id) {
|
|
252
|
+
const db = getDrizzle();
|
|
253
|
+
const now = nowMs();
|
|
254
|
+
const res = db.update(schema_exports.memoryStores).set({ archived_at: now, updated_at: now }).where(eq(schema_exports.memoryStores.id, id)).run();
|
|
161
255
|
return res.changes > 0;
|
|
162
256
|
}
|
|
163
257
|
|
|
@@ -172,5 +266,9 @@ export {
|
|
|
172
266
|
listMemories,
|
|
173
267
|
searchMemories,
|
|
174
268
|
updateMemory,
|
|
175
|
-
deleteMemory
|
|
269
|
+
deleteMemory,
|
|
270
|
+
createMemoryVersion,
|
|
271
|
+
listMemoryVersions,
|
|
272
|
+
getMemoryVersion,
|
|
273
|
+
archiveMemoryStore
|
|
176
274
|
};
|
|
@@ -2,19 +2,19 @@ import {
|
|
|
2
2
|
getSyncRow,
|
|
3
3
|
getSyncedRemoteId,
|
|
4
4
|
upsertSync
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-AESA3ARX.js";
|
|
6
6
|
import {
|
|
7
7
|
injectMcpAuthHeaders
|
|
8
8
|
} from "./chunk-DBFPJSOY.js";
|
|
9
9
|
import {
|
|
10
10
|
listEntries
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-BYIU4WAQ.js";
|
|
12
12
|
import {
|
|
13
13
|
getEnvironment
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-7APAOJIZ.js";
|
|
15
15
|
import {
|
|
16
16
|
getAgent
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-M3752GFZ.js";
|
|
18
18
|
|
|
19
19
|
// src/sync/anthropic.ts
|
|
20
20
|
import { createHash } from "crypto";
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
jsonOk,
|
|
10
10
|
routeWrap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6URMGCAC.js";
|
|
12
12
|
import {
|
|
13
13
|
snapshotApiMetrics
|
|
14
14
|
} from "./chunk-D2XITRN6.js";
|
|
15
15
|
import {
|
|
16
16
|
getDb,
|
|
17
17
|
init_client
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KQTTKYZY.js";
|
|
19
19
|
import {
|
|
20
20
|
badRequest
|
|
21
21
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
buildPiArgs
|
|
3
|
-
} from "./chunk-6KWJASEO.js";
|
|
4
|
-
import {
|
|
5
|
-
buildPiAuthEnv,
|
|
6
|
-
validatePiRuntime
|
|
7
|
-
} from "./chunk-HWR2HYQJ.js";
|
|
8
1
|
import {
|
|
9
2
|
preparePiOnSandbox
|
|
10
3
|
} from "./chunk-QYSDP6V5.js";
|
|
@@ -14,9 +7,16 @@ import {
|
|
|
14
7
|
import {
|
|
15
8
|
PI_WRAPPER_PATH
|
|
16
9
|
} from "./chunk-JDBXIJKG.js";
|
|
10
|
+
import {
|
|
11
|
+
buildPiArgs
|
|
12
|
+
} from "./chunk-6KWJASEO.js";
|
|
13
|
+
import {
|
|
14
|
+
buildPiAuthEnv,
|
|
15
|
+
validatePiRuntime
|
|
16
|
+
} from "./chunk-6DPJVMEC.js";
|
|
17
17
|
import {
|
|
18
18
|
wrapPromptWithSystem
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-YE2RMJY7.js";
|
|
20
20
|
import {
|
|
21
21
|
ApiError
|
|
22
22
|
} from "./chunk-EZYKRG4W.js";
|
|
@@ -5,25 +5,25 @@ import {
|
|
|
5
5
|
} from "./chunk-23UKWXJH.js";
|
|
6
6
|
import {
|
|
7
7
|
kickoffEnvironmentSetup
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6KQFP32G.js";
|
|
9
9
|
import {
|
|
10
10
|
decodeCursor,
|
|
11
11
|
jsonOk,
|
|
12
12
|
paginatedOk,
|
|
13
13
|
routeWrap
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-6URMGCAC.js";
|
|
15
15
|
import {
|
|
16
16
|
forwardToAnthropic
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-Y4MI27HU.js";
|
|
18
18
|
import {
|
|
19
19
|
getProxiedTenantId,
|
|
20
20
|
isProxied,
|
|
21
21
|
markProxied,
|
|
22
22
|
unmarkProxied
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-MTLM36QD.js";
|
|
24
24
|
import {
|
|
25
25
|
resolveContainerProvider
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-LT5PRO54.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-
|
|
35
|
+
} from "./chunk-7APAOJIZ.js";
|
|
36
36
|
import {
|
|
37
37
|
getDb,
|
|
38
38
|
init_client
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-KQTTKYZY.js";
|
|
40
40
|
import {
|
|
41
41
|
badRequest,
|
|
42
42
|
conflict,
|
|
@@ -8,17 +8,17 @@ import {
|
|
|
8
8
|
jsonOk,
|
|
9
9
|
paginatedOk,
|
|
10
10
|
routeWrap
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6URMGCAC.js";
|
|
12
12
|
import {
|
|
13
13
|
forwardToAnthropic,
|
|
14
14
|
validateAnthropicProxy
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-Y4MI27HU.js";
|
|
16
16
|
import {
|
|
17
17
|
getProxiedTenantId,
|
|
18
18
|
isProxied,
|
|
19
19
|
markProxied,
|
|
20
20
|
unmarkProxied
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-MTLM36QD.js";
|
|
22
22
|
import {
|
|
23
23
|
archiveAgent,
|
|
24
24
|
createAgent,
|
|
@@ -26,14 +26,14 @@ import {
|
|
|
26
26
|
listAgentVersions,
|
|
27
27
|
listAgents,
|
|
28
28
|
updateAgent
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-M3752GFZ.js";
|
|
30
30
|
import {
|
|
31
31
|
resolveBackend
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-Q2JYAAJO.js";
|
|
33
33
|
import {
|
|
34
34
|
getDb,
|
|
35
35
|
init_client
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-KQTTKYZY.js";
|
|
37
37
|
import {
|
|
38
38
|
badRequest,
|
|
39
39
|
conflict,
|
|
@@ -113,6 +113,13 @@ var CreateSchema = z.object({
|
|
|
113
113
|
id: z.string(),
|
|
114
114
|
version: z.number().int().optional()
|
|
115
115
|
})).optional(),
|
|
116
|
+
multiagent: z.object({
|
|
117
|
+
type: z.literal("coordinator"),
|
|
118
|
+
agents: z.array(z.union([
|
|
119
|
+
z.object({ type: z.literal("agent"), id: z.string(), version: z.number().int().optional() }),
|
|
120
|
+
z.object({ type: z.literal("self") })
|
|
121
|
+
])).max(20)
|
|
122
|
+
}).optional(),
|
|
116
123
|
skills: z.array(SkillSchema).max(20).optional(),
|
|
117
124
|
model_config: ModelConfigSchema.optional(),
|
|
118
125
|
/** v0.5: required for global admin, ignored for tenant users. */
|
|
@@ -150,6 +157,13 @@ var UpdateSchema = z.object({
|
|
|
150
157
|
id: z.string(),
|
|
151
158
|
version: z.number().int().optional()
|
|
152
159
|
})).optional(),
|
|
160
|
+
multiagent: z.object({
|
|
161
|
+
type: z.literal("coordinator"),
|
|
162
|
+
agents: z.array(z.union([
|
|
163
|
+
z.object({ type: z.literal("agent"), id: z.string(), version: z.number().int().optional() }),
|
|
164
|
+
z.object({ type: z.literal("self") })
|
|
165
|
+
])).max(20)
|
|
166
|
+
}).nullish(),
|
|
153
167
|
skills: z.array(SkillSchema).max(20).optional(),
|
|
154
168
|
model_config: ModelConfigSchema.optional()
|
|
155
169
|
}).refine((data) => {
|
|
@@ -228,9 +242,10 @@ function handleCreateAgent(request) {
|
|
|
228
242
|
webhook_url: parsed.data.webhook_url ?? null,
|
|
229
243
|
webhook_events: parsed.data.webhook_events,
|
|
230
244
|
webhook_secret: parsed.data.webhook_secret ?? null,
|
|
231
|
-
threads_enabled: parsed.data.threads_enabled ?? false,
|
|
245
|
+
threads_enabled: parsed.data.threads_enabled ?? (parsed.data.multiagent ? true : false),
|
|
232
246
|
confirmation_mode: parsed.data.confirmation_mode ?? false,
|
|
233
247
|
callable_agents: parsed.data.callable_agents,
|
|
248
|
+
multiagent: parsed.data.multiagent,
|
|
234
249
|
skills: parsed.data.skills?.map((s) => ({
|
|
235
250
|
...s,
|
|
236
251
|
installed_at: s.installed_at ?? nowIso
|
|
@@ -313,6 +328,7 @@ function handleUpdateAgent(request, id) {
|
|
|
313
328
|
webhook_secret: parsed.data.webhook_secret,
|
|
314
329
|
confirmation_mode: parsed.data.confirmation_mode,
|
|
315
330
|
callable_agents: parsed.data.callable_agents,
|
|
331
|
+
multiagent: parsed.data.multiagent,
|
|
316
332
|
skills: parsed.data.skills?.map((s) => ({
|
|
317
333
|
...s,
|
|
318
334
|
installed_at: s.installed_at ?? nowIso
|
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
} from "./chunk-23UKWXJH.js";
|
|
4
4
|
import {
|
|
5
5
|
recordAudit
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TWH4UH6G.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-
|
|
13
|
+
} from "./chunk-6URMGCAC.js";
|
|
14
14
|
import {
|
|
15
15
|
archiveTenant,
|
|
16
16
|
createTenant,
|
|
17
17
|
getTenant,
|
|
18
18
|
listTenants,
|
|
19
19
|
renameTenant
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UQZFFG7U.js";
|
|
21
21
|
import {
|
|
22
22
|
badRequest,
|
|
23
23
|
notFound
|