agentenkit 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -2
- package/dist/adapters/memory.d.ts +2 -2
- package/dist/adapters/memory.d.ts.map +1 -1
- package/dist/adapters/memory.js +3 -9
- package/dist/adapters/memory.js.map +1 -1
- package/dist/adapters/prisma.d.ts +61 -18
- package/dist/adapters/prisma.d.ts.map +1 -1
- package/dist/adapters/prisma.js +65 -16
- package/dist/adapters/prisma.js.map +1 -1
- package/dist/adapters/sqlite.d.ts +3 -2
- package/dist/adapters/sqlite.d.ts.map +1 -1
- package/dist/adapters/sqlite.js +82 -11
- package/dist/adapters/sqlite.js.map +1 -1
- package/dist/admin/default.d.ts +11 -4
- package/dist/admin/default.d.ts.map +1 -1
- package/dist/admin/default.js +11 -6
- package/dist/admin/default.js.map +1 -1
- package/dist/admin/memory.d.ts.map +1 -1
- package/dist/admin/memory.js +8 -2
- package/dist/admin/memory.js.map +1 -1
- package/dist/admin/migrations/postgres/0001-init.d.ts +10 -0
- package/dist/admin/migrations/postgres/0001-init.d.ts.map +1 -0
- package/dist/admin/migrations/postgres/0001-init.js +56 -0
- package/dist/admin/migrations/postgres/0001-init.js.map +1 -0
- package/dist/admin/migrations/postgres/index.d.ts +9 -0
- package/dist/admin/migrations/postgres/index.d.ts.map +1 -0
- package/dist/admin/migrations/postgres/index.js +17 -0
- package/dist/admin/migrations/postgres/index.js.map +1 -0
- package/dist/admin/migrations/runner.d.ts +81 -0
- package/dist/admin/migrations/runner.d.ts.map +1 -0
- package/dist/admin/migrations/runner.js +137 -0
- package/dist/admin/migrations/runner.js.map +1 -0
- package/dist/admin/migrations/sqlite/0001-init.d.ts +11 -0
- package/dist/admin/migrations/sqlite/0001-init.d.ts.map +1 -0
- package/dist/admin/migrations/sqlite/0001-init.js +44 -0
- package/dist/admin/migrations/sqlite/0001-init.js.map +1 -0
- package/dist/admin/migrations/sqlite/index.d.ts +7 -0
- package/dist/admin/migrations/sqlite/index.d.ts.map +1 -0
- package/dist/admin/migrations/sqlite/index.js +38 -0
- package/dist/admin/migrations/sqlite/index.js.map +1 -0
- package/dist/admin/postgres.d.ts +27 -4
- package/dist/admin/postgres.d.ts.map +1 -1
- package/dist/admin/postgres.js +49 -55
- package/dist/admin/postgres.js.map +1 -1
- package/dist/admin/sqlite.d.ts +18 -2
- package/dist/admin/sqlite.d.ts.map +1 -1
- package/dist/admin/sqlite.js +51 -54
- package/dist/admin/sqlite.js.map +1 -1
- package/dist/core/admin.d.ts +8 -1
- package/dist/core/admin.d.ts.map +1 -1
- package/dist/core/admin.js +21 -2
- package/dist/core/admin.js.map +1 -1
- package/dist/core/agent.d.ts +3 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +4 -4
- package/dist/core/agent.js.map +1 -1
- package/dist/core/context.d.ts +5 -0
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +38 -9
- package/dist/core/context.js.map +1 -1
- package/dist/core/engine.d.ts +4 -1
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +93 -20
- package/dist/core/engine.js.map +1 -1
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +6 -0
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/loop.d.ts +35 -0
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +134 -19
- package/dist/core/loop.js.map +1 -1
- package/dist/core/messages.d.ts +48 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +74 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/publish.d.ts +21 -1
- package/dist/core/publish.d.ts.map +1 -1
- package/dist/core/publish.js +57 -3
- package/dist/core/publish.js.map +1 -1
- package/dist/core/run.d.ts.map +1 -1
- package/dist/core/run.js +44 -4
- package/dist/core/run.js.map +1 -1
- package/dist/core/stop.d.ts.map +1 -1
- package/dist/core/stop.js +42 -0
- package/dist/core/stop.js.map +1 -1
- package/dist/core/subagent.d.ts +5 -0
- package/dist/core/subagent.d.ts.map +1 -1
- package/dist/core/subagent.js +23 -10
- package/dist/core/subagent.js.map +1 -1
- package/dist/core/tools.d.ts +12 -0
- package/dist/core/tools.d.ts.map +1 -1
- package/dist/core/tools.js.map +1 -1
- package/dist/core/types.d.ts +164 -9
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/usage.d.ts +47 -2
- package/dist/core/usage.d.ts.map +1 -1
- package/dist/core/usage.js +130 -2
- package/dist/core/usage.js.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/ports/admin.d.ts +18 -0
- package/dist/ports/admin.d.ts.map +1 -1
- package/dist/ports/runtime.d.ts +78 -4
- package/dist/ports/runtime.d.ts.map +1 -1
- package/dist/ports/storage.d.ts +16 -4
- package/dist/ports/storage.d.ts.map +1 -1
- package/dist/pricing.d.ts +66 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +98 -0
- package/dist/pricing.js.map +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +7 -2
- package/dist/runtime.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/adapters/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/adapters/sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/admin/default.d.ts
CHANGED
|
@@ -8,8 +8,15 @@ export declare const DEFAULT_ADMIN_DB = "agentic-kit-admin.sqlite";
|
|
|
8
8
|
* apart. Without it, SQLite on disk at `AGENTIC_KIT_ADMIN_DB`, with whichever
|
|
9
9
|
* driver the process has.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
* worth failing on at startup: degrading quietly would
|
|
13
|
-
* and a dashboard showing nothing looks the same as no
|
|
14
|
-
|
|
11
|
+
* The connection is opened eagerly. A store that cannot be opened is a
|
|
12
|
+
* configuration problem worth failing on at startup: degrading quietly would
|
|
13
|
+
* lose every run record, and a dashboard showing nothing looks the same as no
|
|
14
|
+
* traffic.
|
|
15
|
+
*
|
|
16
|
+
* The SCHEMA is brought up to date behind it: a service starts at the same
|
|
17
|
+
* speed whether or not it has migrating to do, and the first admin call waits
|
|
18
|
+
* for the schema rather than meeting a table that is not there yet. */
|
|
19
|
+
export declare function openDefaultAdminStore(log?: {
|
|
20
|
+
error(message: string, ...rest: unknown[]): void;
|
|
21
|
+
}): Promise<AdminStore>;
|
|
15
22
|
//# sourceMappingURL=default.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/admin/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKpD,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/admin/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKpD,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAE3D;;;;;;;;;;;;;;wEAcwE;AACxE,wBAAsB,qBAAqB,CACzC,GAAG,CAAC,EAAE;IAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAAE,GACzD,OAAO,CAAC,UAAU,CAAC,CAOrB"}
|
package/dist/admin/default.js
CHANGED
|
@@ -10,13 +10,18 @@ export const DEFAULT_ADMIN_DB = 'agentic-kit-admin.sqlite';
|
|
|
10
10
|
* apart. Without it, SQLite on disk at `AGENTIC_KIT_ADMIN_DB`, with whichever
|
|
11
11
|
* driver the process has.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
* worth failing on at startup: degrading quietly would
|
|
15
|
-
* and a dashboard showing nothing looks the same as no
|
|
16
|
-
|
|
13
|
+
* The connection is opened eagerly. A store that cannot be opened is a
|
|
14
|
+
* configuration problem worth failing on at startup: degrading quietly would
|
|
15
|
+
* lose every run record, and a dashboard showing nothing looks the same as no
|
|
16
|
+
* traffic.
|
|
17
|
+
*
|
|
18
|
+
* The SCHEMA is brought up to date behind it: a service starts at the same
|
|
19
|
+
* speed whether or not it has migrating to do, and the first admin call waits
|
|
20
|
+
* for the schema rather than meeting a table that is not there yet. */
|
|
21
|
+
export async function openDefaultAdminStore(log) {
|
|
17
22
|
const url = process.env.AGENTIC_KIT_ADMIN_DATABASE_URL;
|
|
18
23
|
if (url)
|
|
19
|
-
return PostgresAdminStore.connect(await openPostgres(url));
|
|
20
|
-
return
|
|
24
|
+
return PostgresAdminStore.connect(await openPostgres(url), log);
|
|
25
|
+
return SqliteAdminStore.open(await openSqlite(process.env.AGENTIC_KIT_ADMIN_DB ?? DEFAULT_ADMIN_DB), log);
|
|
21
26
|
}
|
|
22
27
|
//# sourceMappingURL=default.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/admin/default.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjE,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/admin/default.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjE,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAE3D;;;;;;;;;;;;;;wEAcwE;AACxE,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAA0D;IAE1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACvD,IAAI,GAAG;QAAE,OAAO,kBAAkB,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACzE,OAAO,gBAAgB,CAAC,IAAI,CAC1B,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,gBAAgB,CAAC,EACtE,GAAG,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/admin/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EACV,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAC1D,aAAa,EAAE,SAAS,EAAE,UAAU,EACrC,MAAM,mBAAmB,CAAC;AAE3B;;mDAEmD;AACnD,qBAAa,gBAAiB,YAAW,UAAU;IACjD,QAAQ,CAAC,OAAO,yBAAgC;IAChD,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAM;IAErC,QAAQ,CAAC,UAAU,2BAAkC;IAErD,OAAO;oBACa,cAAc;;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/admin/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EACV,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAC1D,aAAa,EAAE,SAAS,EAAE,UAAU,EACrC,MAAM,mBAAmB,CAAC;AAE3B;;mDAEmD;AACnD,qBAAa,gBAAiB,YAAW,UAAU;IACjD,QAAQ,CAAC,OAAO,yBAAgC;IAChD,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAM;IAErC,QAAQ,CAAC,UAAU,2BAAkC;IAErD,OAAO;oBACa,cAAc;;kBAgBhB,iBAAiB;MAQjC;IAEF,IAAI;mBACe,YAAY;uBASR,MAAM,SAAS,QAAQ;qBAIzB,MAAM;iCACM,MAAM;kBAIrB,SAAS;;MAgBzB;IAEF,KAAK;oBACe,aAAa;2BAGN,MAAM;iCAEA,MAAM;MAIrC;CACH"}
|
package/dist/admin/memory.js
CHANGED
|
@@ -9,7 +9,13 @@ export class MemoryAdminStore {
|
|
|
9
9
|
upsert: async (t) => {
|
|
10
10
|
const now = new Date();
|
|
11
11
|
const prior = this.threadRows.get(t.id);
|
|
12
|
-
this.threadRows.set(t.id, {
|
|
12
|
+
this.threadRows.set(t.id, {
|
|
13
|
+
...t,
|
|
14
|
+
// First sight only: a later upsert never replaces what started it.
|
|
15
|
+
startedWith: prior?.startedWith ?? t.startedWith ?? null,
|
|
16
|
+
firstSeenAt: prior?.firstSeenAt ?? now,
|
|
17
|
+
updatedAt: now,
|
|
18
|
+
});
|
|
13
19
|
},
|
|
14
20
|
countByState: async () => {
|
|
15
21
|
const out = {};
|
|
@@ -31,7 +37,7 @@ export class MemoryAdminStore {
|
|
|
31
37
|
runs = {
|
|
32
38
|
start: async (r) => {
|
|
33
39
|
const rec = {
|
|
34
|
-
parentRunId: null, depth: 0, prompt: null, tokenBudget: null, runState: null, ...r,
|
|
40
|
+
parentRunId: null, depth: 0, prompt: null, tokenBudget: null, runState: null, providerOptions: null, ...r,
|
|
35
41
|
state: 'RUNNING', startedAt: new Date(), steps: 0, attempts: 0,
|
|
36
42
|
inputTokens: 0, cachedInputTokens: 0, outputTokens: 0, totalTokens: 0,
|
|
37
43
|
};
|
package/dist/admin/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/admin/memory.ts"],"names":[],"mappings":"AAMA;;mDAEmD;AACnD,MAAM,OAAO,gBAAgB;IAClB,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IACvC,QAAQ,GAAiB,EAAE,CAAC;IAE5B,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAErD,OAAO,GAAG;QACR,MAAM,EAAE,KAAK,EAAE,CAAiB,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/admin/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** The admin schema as it stood before the migrator existed (§2.9).
|
|
2
|
+
*
|
|
3
|
+
* Written so that running it against a database that already holds these
|
|
4
|
+
* tables changes nothing: an existing install picks the migrator up without a
|
|
5
|
+
* separate baseline step, and one that stopped on an older release gets the
|
|
6
|
+
* columns it missed, through the ADD COLUMN IF NOT EXISTS statements below.
|
|
7
|
+
*
|
|
8
|
+
* Never edit a released migration. Add the next number instead. */
|
|
9
|
+
export declare const sql = "\nCREATE TABLE IF NOT EXISTS agentic_threads (\n id TEXT PRIMARY KEY, state TEXT NOT NULL, model TEXT NOT NULL,\n \"firstSeenAt\" TIMESTAMPTZ NOT NULL DEFAULT now(),\n \"updatedAt\" TIMESTAMPTZ NOT NULL DEFAULT now(), \"startedWith\" JSONB\n);\n\nALTER TABLE agentic_threads ADD COLUMN IF NOT EXISTS \"startedWith\" JSONB;\nCREATE INDEX IF NOT EXISTS agentic_threads_state ON agentic_threads(state, \"updatedAt\");\n\nCREATE TABLE IF NOT EXISTS agentic_runs (\n id TEXT PRIMARY KEY, \"threadId\" TEXT NOT NULL, \"parentRunId\" TEXT,\n depth INT NOT NULL DEFAULT 0, agent TEXT NOT NULL, model TEXT NOT NULL,\n state TEXT NOT NULL DEFAULT 'RUNNING', \"stopReason\" TEXT, error TEXT,\n \"startedAt\" TIMESTAMPTZ NOT NULL DEFAULT now(), \"endedAt\" TIMESTAMPTZ,\n \"durationMs\" INT, \"queuedMs\" INT,\n attempts INT NOT NULL DEFAULT 0, steps INT NOT NULL DEFAULT 0,\n \"inputTokens\" INT NOT NULL DEFAULT 0, \"cachedInputTokens\" INT NOT NULL DEFAULT 0,\n \"outputTokens\" INT NOT NULL DEFAULT 0, \"totalTokens\" INT NOT NULL DEFAULT 0,\n result JSONB, prompt TEXT, \"tokenBudget\" INT, \"runState\" JSONB, \"providerOptions\" JSONB\n);\n\nALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS \"providerOptions\" JSONB;\nALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS prompt TEXT;\nALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS \"tokenBudget\" INT;\nALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS \"runState\" JSONB;\n\nCREATE INDEX IF NOT EXISTS agentic_runs_thread ON agentic_runs(\"threadId\", \"startedAt\" DESC);\nCREATE INDEX IF NOT EXISTS agentic_runs_state ON agentic_runs(state, \"startedAt\" DESC);\nCREATE INDEX IF NOT EXISTS agentic_runs_parent ON agentic_runs(\"parentRunId\");\n\nCREATE TABLE IF NOT EXISTS agentic_steps (\n \"runId\" TEXT NOT NULL, \"threadId\" TEXT, \"agentId\" TEXT, \"index\" INT NOT NULL,\n \"durationMs\" INT NOT NULL, \"finishReason\" TEXT NOT NULL,\n \"inputTokens\" INT NOT NULL DEFAULT 0, \"cachedInputTokens\" INT NOT NULL DEFAULT 0,\n \"outputTokens\" INT NOT NULL DEFAULT 0, \"totalTokens\" INT NOT NULL DEFAULT 0,\n tools JSONB, text TEXT, \"toolCalls\" JSONB,\n at TIMESTAMPTZ NOT NULL DEFAULT now()\n);\n\nALTER TABLE agentic_steps ADD COLUMN IF NOT EXISTS text TEXT;\nALTER TABLE agentic_steps ADD COLUMN IF NOT EXISTS \"threadId\" TEXT;\nALTER TABLE agentic_steps ADD COLUMN IF NOT EXISTS \"toolCalls\" JSONB;\n\nCREATE INDEX IF NOT EXISTS agentic_steps_run ON agentic_steps(\"runId\", \"index\");\nCREATE INDEX IF NOT EXISTS agentic_steps_thread ON agentic_steps(\"threadId\", at);\n";
|
|
10
|
+
//# sourceMappingURL=0001-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0001-init.d.ts","sourceRoot":"","sources":["../../../../src/admin/migrations/postgres/0001-init.ts"],"names":[],"mappings":"AAAA;;;;;;;oEAOoE;AACpE,eAAO,MAAM,GAAG,ggFA8Cf,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** The admin schema as it stood before the migrator existed (§2.9).
|
|
2
|
+
*
|
|
3
|
+
* Written so that running it against a database that already holds these
|
|
4
|
+
* tables changes nothing: an existing install picks the migrator up without a
|
|
5
|
+
* separate baseline step, and one that stopped on an older release gets the
|
|
6
|
+
* columns it missed, through the ADD COLUMN IF NOT EXISTS statements below.
|
|
7
|
+
*
|
|
8
|
+
* Never edit a released migration. Add the next number instead. */
|
|
9
|
+
export const sql = `
|
|
10
|
+
CREATE TABLE IF NOT EXISTS agentic_threads (
|
|
11
|
+
id TEXT PRIMARY KEY, state TEXT NOT NULL, model TEXT NOT NULL,
|
|
12
|
+
"firstSeenAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
13
|
+
"updatedAt" TIMESTAMPTZ NOT NULL DEFAULT now(), "startedWith" JSONB
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
ALTER TABLE agentic_threads ADD COLUMN IF NOT EXISTS "startedWith" JSONB;
|
|
17
|
+
CREATE INDEX IF NOT EXISTS agentic_threads_state ON agentic_threads(state, "updatedAt");
|
|
18
|
+
|
|
19
|
+
CREATE TABLE IF NOT EXISTS agentic_runs (
|
|
20
|
+
id TEXT PRIMARY KEY, "threadId" TEXT NOT NULL, "parentRunId" TEXT,
|
|
21
|
+
depth INT NOT NULL DEFAULT 0, agent TEXT NOT NULL, model TEXT NOT NULL,
|
|
22
|
+
state TEXT NOT NULL DEFAULT 'RUNNING', "stopReason" TEXT, error TEXT,
|
|
23
|
+
"startedAt" TIMESTAMPTZ NOT NULL DEFAULT now(), "endedAt" TIMESTAMPTZ,
|
|
24
|
+
"durationMs" INT, "queuedMs" INT,
|
|
25
|
+
attempts INT NOT NULL DEFAULT 0, steps INT NOT NULL DEFAULT 0,
|
|
26
|
+
"inputTokens" INT NOT NULL DEFAULT 0, "cachedInputTokens" INT NOT NULL DEFAULT 0,
|
|
27
|
+
"outputTokens" INT NOT NULL DEFAULT 0, "totalTokens" INT NOT NULL DEFAULT 0,
|
|
28
|
+
result JSONB, prompt TEXT, "tokenBudget" INT, "runState" JSONB, "providerOptions" JSONB
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
ALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS "providerOptions" JSONB;
|
|
32
|
+
ALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS prompt TEXT;
|
|
33
|
+
ALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS "tokenBudget" INT;
|
|
34
|
+
ALTER TABLE agentic_runs ADD COLUMN IF NOT EXISTS "runState" JSONB;
|
|
35
|
+
|
|
36
|
+
CREATE INDEX IF NOT EXISTS agentic_runs_thread ON agentic_runs("threadId", "startedAt" DESC);
|
|
37
|
+
CREATE INDEX IF NOT EXISTS agentic_runs_state ON agentic_runs(state, "startedAt" DESC);
|
|
38
|
+
CREATE INDEX IF NOT EXISTS agentic_runs_parent ON agentic_runs("parentRunId");
|
|
39
|
+
|
|
40
|
+
CREATE TABLE IF NOT EXISTS agentic_steps (
|
|
41
|
+
"runId" TEXT NOT NULL, "threadId" TEXT, "agentId" TEXT, "index" INT NOT NULL,
|
|
42
|
+
"durationMs" INT NOT NULL, "finishReason" TEXT NOT NULL,
|
|
43
|
+
"inputTokens" INT NOT NULL DEFAULT 0, "cachedInputTokens" INT NOT NULL DEFAULT 0,
|
|
44
|
+
"outputTokens" INT NOT NULL DEFAULT 0, "totalTokens" INT NOT NULL DEFAULT 0,
|
|
45
|
+
tools JSONB, text TEXT, "toolCalls" JSONB,
|
|
46
|
+
at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
ALTER TABLE agentic_steps ADD COLUMN IF NOT EXISTS text TEXT;
|
|
50
|
+
ALTER TABLE agentic_steps ADD COLUMN IF NOT EXISTS "threadId" TEXT;
|
|
51
|
+
ALTER TABLE agentic_steps ADD COLUMN IF NOT EXISTS "toolCalls" JSONB;
|
|
52
|
+
|
|
53
|
+
CREATE INDEX IF NOT EXISTS agentic_steps_run ON agentic_steps("runId", "index");
|
|
54
|
+
CREATE INDEX IF NOT EXISTS agentic_steps_thread ON agentic_steps("threadId", at);
|
|
55
|
+
`;
|
|
56
|
+
//# sourceMappingURL=0001-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0001-init.js","sourceRoot":"","sources":["../../../../src/admin/migrations/postgres/0001-init.ts"],"names":[],"mappings":"AAAA;;;;;;;oEAOoE;AACpE,MAAM,CAAC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ClB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Migration, MigrationDialect } from '../runner.js';
|
|
2
|
+
/** The admin migrations for Postgres, in apply order. Append only. */
|
|
3
|
+
export declare const migrations: Migration[];
|
|
4
|
+
/** Postgres takes a transaction-scoped advisory lock, so several workers
|
|
5
|
+
* starting at once queue rather than racing on the same DDL. The key is
|
|
6
|
+
* arbitrary and constant: it only has to be the same in every process
|
|
7
|
+
* migrating this database, and it matches the Go package's. */
|
|
8
|
+
export declare const dialect: MigrationDialect;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/admin/migrations/postgres/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhE,sEAAsE;AACtE,eAAO,MAAM,UAAU,EAAE,SAAS,EAA0C,CAAC;AAE7E;;;gEAGgE;AAChE,eAAO,MAAM,OAAO,EAAE,gBAQrB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { sql as init } from './0001-init.js';
|
|
2
|
+
/** The admin migrations for Postgres, in apply order. Append only. */
|
|
3
|
+
export const migrations = [{ version: '0001_init', sql: init }];
|
|
4
|
+
/** Postgres takes a transaction-scoped advisory lock, so several workers
|
|
5
|
+
* starting at once queue rather than racing on the same DDL. The key is
|
|
6
|
+
* arbitrary and constant: it only has to be the same in every process
|
|
7
|
+
* migrating this database, and it matches the Go package's. */
|
|
8
|
+
export const dialect = {
|
|
9
|
+
name: 'postgres',
|
|
10
|
+
ledger: `CREATE TABLE IF NOT EXISTS agentic_migrations (
|
|
11
|
+
version TEXT PRIMARY KEY, checksum TEXT NOT NULL,
|
|
12
|
+
"appliedAt" TIMESTAMPTZ NOT NULL DEFAULT now())`,
|
|
13
|
+
insert: 'INSERT INTO agentic_migrations (version, checksum) VALUES ($1, $2)',
|
|
14
|
+
selectOne: 'SELECT version FROM agentic_migrations WHERE version = $1',
|
|
15
|
+
lock: 'SELECT pg_advisory_xact_lock(4171939288)',
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/admin/migrations/postgres/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE7C,sEAAsE;AACtE,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7E;;;gEAGgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAqB;IACvC,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE;;oDAE0C;IAClD,MAAM,EAAE,oEAAoE;IAC5E,SAAS,EAAE,2DAA2D;IACtE,IAAI,EAAE,0CAA0C;CACjD,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { AdminStore } from '../../ports/admin.js';
|
|
2
|
+
/** One versioned step. */
|
|
3
|
+
export interface Migration {
|
|
4
|
+
/** Sorts and identifies it. Never reused, never renamed. */
|
|
5
|
+
version: string;
|
|
6
|
+
sql: string;
|
|
7
|
+
}
|
|
8
|
+
/** The two calls a migration runner needs. Both stores already have them. */
|
|
9
|
+
export interface MigrationDriver {
|
|
10
|
+
exec(sql: string, params?: unknown[]): Promise<void>;
|
|
11
|
+
rows(sql: string, params?: unknown[]): Promise<Array<Record<string, unknown>>>;
|
|
12
|
+
}
|
|
13
|
+
/** The little that differs between databases. */
|
|
14
|
+
export interface MigrationDialect {
|
|
15
|
+
name: string;
|
|
16
|
+
/** Creates the table recording what has run. */
|
|
17
|
+
ledger: string;
|
|
18
|
+
/** Records one applied migration. Two bind parameters. */
|
|
19
|
+
insert: string;
|
|
20
|
+
/** Reads one version back. One bind parameter. */
|
|
21
|
+
selectOne: string;
|
|
22
|
+
/** Taken first inside each migration's transaction, so two workers starting
|
|
23
|
+
* together queue rather than both applying the same file. Omitted for a
|
|
24
|
+
* database that serialises writers by itself. */
|
|
25
|
+
lock?: string;
|
|
26
|
+
/** Runs once BEFORE the migration files, for the one thing portable SQL
|
|
27
|
+
* cannot express: SQLite has no ADD COLUMN IF NOT EXISTS, so a database
|
|
28
|
+
* left behind by an older release needs a column check instead.
|
|
29
|
+
*
|
|
30
|
+
* Before, not after, because the baseline creates indexes over columns that
|
|
31
|
+
* such a database may not have yet — and an index on a column that does not
|
|
32
|
+
* exist is an error, not a no-op.
|
|
33
|
+
*
|
|
34
|
+
* Must be idempotent, and must tolerate a database where none of the tables
|
|
35
|
+
* exist: on a fresh one it runs before anything is created. */
|
|
36
|
+
repair?: (db: MigrationDriver) => Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
/** Split a migration into the statements to run one at a time, because
|
|
39
|
+
* neither driver reliably takes several at once.
|
|
40
|
+
*
|
|
41
|
+
* Line comments are stripped BEFORE the split, so a semicolon inside one
|
|
42
|
+
* cannot cut a statement in half. A semicolon inside a string literal still
|
|
43
|
+
* would: migrations must not contain one. */
|
|
44
|
+
export declare function statements(sql: string): string[];
|
|
45
|
+
/** Hashed with carriage returns stripped: a Windows checkout can rewrite line
|
|
46
|
+
* endings, and a checksum that changed with the platform would reject every
|
|
47
|
+
* upgrade on it. */
|
|
48
|
+
export declare const checksum: (sql: string) => string;
|
|
49
|
+
/** Apply every migration the ledger does not already carry, in order. Safe to
|
|
50
|
+
* call from several processes at once.
|
|
51
|
+
*
|
|
52
|
+
* The whole run is ONE transaction, taken under the dialect's lock: the
|
|
53
|
+
* ledger, the repair step and every file commit together or not at all. Both
|
|
54
|
+
* databases roll DDL back with the transaction, so a run that fails part way
|
|
55
|
+
* leaves nothing behind to confuse the next attempt.
|
|
56
|
+
*
|
|
57
|
+
* The lock has to cover the ledger too. Postgres's CREATE TABLE IF NOT EXISTS
|
|
58
|
+
* is not atomic against another session creating the same table: both see it
|
|
59
|
+
* missing, both create it, and one gets a duplicate-type error. Two workers
|
|
60
|
+
* starting together is the normal case here, so that is not a rare race.
|
|
61
|
+
*
|
|
62
|
+
* `db` must be ONE connection, not a pool: BEGIN on one connection and DDL on
|
|
63
|
+
* another is not a transaction at all.
|
|
64
|
+
*
|
|
65
|
+
* One consequence worth knowing: a migration that cannot run inside a
|
|
66
|
+
* transaction (CREATE INDEX CONCURRENTLY, say) does not belong in a file
|
|
67
|
+
* here. */
|
|
68
|
+
export declare function runMigrations(db: MigrationDriver, dialect: MigrationDialect, migrations: Migration[]): Promise<void>;
|
|
69
|
+
/** An AdminStore that waits for the schema before it does anything.
|
|
70
|
+
*
|
|
71
|
+
* `setupAgentCore` returns as soon as the store is OPEN, and the schema is
|
|
72
|
+
* brought up to date behind it, so a service starts at the same speed whether
|
|
73
|
+
* or not it has migrating to do. Any admin call made in that window waits
|
|
74
|
+
* here rather than meeting a table that does not exist yet — and a migration
|
|
75
|
+
* that failed surfaces on the first call rather than as a mystery empty
|
|
76
|
+
* dashboard.
|
|
77
|
+
*
|
|
78
|
+
* Written once here so every admin store, including one added later, gets the
|
|
79
|
+
* same behaviour for free. */
|
|
80
|
+
export declare function gatedAdminStore(inner: AdminStore, ready: Promise<void>): AdminStore;
|
|
81
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/admin/migrations/runner.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,0BAA0B;AAC1B,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAChF;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB;;sDAEkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;oEASgE;IAChE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED;;;;;8CAK8C;AAC9C,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAWhD;AAED;;qBAEqB;AACrB,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MACgC,CAAC;AAExE;;;;;;;;;;;;;;;;;;YAkBY;AACZ,wBAAsB,aAAa,CACjC,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;;;;;;;;;+BAU+B;AAC/B,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAoBnF"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/** Applies the platform's OWN schema to the admin store (§2.9), from numbered
|
|
2
|
+
* migration files.
|
|
3
|
+
*
|
|
4
|
+
* Only the admin store is migrated here. A caller's `Storage` is their
|
|
5
|
+
* database and their schema; the platform never touches it.
|
|
6
|
+
*
|
|
7
|
+
* The rules, in one place:
|
|
8
|
+
*
|
|
9
|
+
* - A migration is one file, named for its number: `0001-init.ts`. The order
|
|
10
|
+
* in each dialect's `index.ts` is the apply order.
|
|
11
|
+
* - A file that has been released is never edited. Its checksum is recorded
|
|
12
|
+
* when it runs, and a later mismatch is an error, because a database that
|
|
13
|
+
* no longer matches the code is exactly the thing an operational store is
|
|
14
|
+
* supposed to tell you about.
|
|
15
|
+
* - 0001 is the schema as it stood before this existed, written so that
|
|
16
|
+
* running it against a database already holding those tables changes
|
|
17
|
+
* nothing. That is what lets an existing install pick the migrator up
|
|
18
|
+
* without a separate baseline step, and what repairs one that stopped on an
|
|
19
|
+
* older release.
|
|
20
|
+
*
|
|
21
|
+
* The SQL lives in `.ts` files rather than `.sql` read from disk on purpose:
|
|
22
|
+
* this package runs inside Next.js and other bundlers, and a `node:fs` read
|
|
23
|
+
* of a file next to the module does not survive being bundled. The Go
|
|
24
|
+
* package embeds real `.sql` files; the two are kept in step by review. */
|
|
25
|
+
import { createHash } from 'node:crypto';
|
|
26
|
+
/** Split a migration into the statements to run one at a time, because
|
|
27
|
+
* neither driver reliably takes several at once.
|
|
28
|
+
*
|
|
29
|
+
* Line comments are stripped BEFORE the split, so a semicolon inside one
|
|
30
|
+
* cannot cut a statement in half. A semicolon inside a string literal still
|
|
31
|
+
* would: migrations must not contain one. */
|
|
32
|
+
export function statements(sql) {
|
|
33
|
+
return sql
|
|
34
|
+
.split('\n')
|
|
35
|
+
.map((line) => {
|
|
36
|
+
const i = line.indexOf('--');
|
|
37
|
+
return i >= 0 ? line.slice(0, i) : line;
|
|
38
|
+
})
|
|
39
|
+
.join('\n')
|
|
40
|
+
.split(';')
|
|
41
|
+
.map((s) => s.trim())
|
|
42
|
+
.filter(Boolean);
|
|
43
|
+
}
|
|
44
|
+
/** Hashed with carriage returns stripped: a Windows checkout can rewrite line
|
|
45
|
+
* endings, and a checksum that changed with the platform would reject every
|
|
46
|
+
* upgrade on it. */
|
|
47
|
+
export const checksum = (sql) => createHash('sha256').update(sql.replace(/\r\n/g, '\n')).digest('hex');
|
|
48
|
+
/** Apply every migration the ledger does not already carry, in order. Safe to
|
|
49
|
+
* call from several processes at once.
|
|
50
|
+
*
|
|
51
|
+
* The whole run is ONE transaction, taken under the dialect's lock: the
|
|
52
|
+
* ledger, the repair step and every file commit together or not at all. Both
|
|
53
|
+
* databases roll DDL back with the transaction, so a run that fails part way
|
|
54
|
+
* leaves nothing behind to confuse the next attempt.
|
|
55
|
+
*
|
|
56
|
+
* The lock has to cover the ledger too. Postgres's CREATE TABLE IF NOT EXISTS
|
|
57
|
+
* is not atomic against another session creating the same table: both see it
|
|
58
|
+
* missing, both create it, and one gets a duplicate-type error. Two workers
|
|
59
|
+
* starting together is the normal case here, so that is not a rare race.
|
|
60
|
+
*
|
|
61
|
+
* `db` must be ONE connection, not a pool: BEGIN on one connection and DDL on
|
|
62
|
+
* another is not a transaction at all.
|
|
63
|
+
*
|
|
64
|
+
* One consequence worth knowing: a migration that cannot run inside a
|
|
65
|
+
* transaction (CREATE INDEX CONCURRENTLY, say) does not belong in a file
|
|
66
|
+
* here. */
|
|
67
|
+
export async function runMigrations(db, dialect, migrations) {
|
|
68
|
+
const where = (msg) => `${dialect.name} migrations: ${msg}`;
|
|
69
|
+
await db.exec('BEGIN');
|
|
70
|
+
try {
|
|
71
|
+
if (dialect.lock)
|
|
72
|
+
await db.exec(dialect.lock);
|
|
73
|
+
await db.exec(dialect.ledger);
|
|
74
|
+
if (dialect.repair)
|
|
75
|
+
await dialect.repair(db);
|
|
76
|
+
const applied = new Map();
|
|
77
|
+
for (const row of await db.rows('SELECT version, checksum FROM agentic_migrations')) {
|
|
78
|
+
applied.set(String(row.version), String(row.checksum));
|
|
79
|
+
}
|
|
80
|
+
for (const m of migrations) {
|
|
81
|
+
const sum = checksum(m.sql);
|
|
82
|
+
const already = applied.get(m.version);
|
|
83
|
+
if (already !== undefined) {
|
|
84
|
+
if (already !== sum) {
|
|
85
|
+
throw new Error(`${m.version} changed after it was applied: the database no longer matches the code`);
|
|
86
|
+
}
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
for (const stmt of statements(m.sql))
|
|
90
|
+
await db.exec(stmt);
|
|
91
|
+
await db.exec(dialect.insert, [m.version, sum]);
|
|
92
|
+
}
|
|
93
|
+
await db.exec('COMMIT');
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
try {
|
|
97
|
+
await db.exec('ROLLBACK');
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// The transaction is already gone; the original error is the useful one.
|
|
101
|
+
}
|
|
102
|
+
throw new Error(where(err instanceof Error ? err.message : String(err)));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** An AdminStore that waits for the schema before it does anything.
|
|
106
|
+
*
|
|
107
|
+
* `setupAgentCore` returns as soon as the store is OPEN, and the schema is
|
|
108
|
+
* brought up to date behind it, so a service starts at the same speed whether
|
|
109
|
+
* or not it has migrating to do. Any admin call made in that window waits
|
|
110
|
+
* here rather than meeting a table that does not exist yet — and a migration
|
|
111
|
+
* that failed surfaces on the first call rather than as a mystery empty
|
|
112
|
+
* dashboard.
|
|
113
|
+
*
|
|
114
|
+
* Written once here so every admin store, including one added later, gets the
|
|
115
|
+
* same behaviour for free. */
|
|
116
|
+
export function gatedAdminStore(inner, ready) {
|
|
117
|
+
const gate = (group) => {
|
|
118
|
+
const out = {};
|
|
119
|
+
for (const [name, fn] of Object.entries(group)) {
|
|
120
|
+
out[name] =
|
|
121
|
+
typeof fn === 'function'
|
|
122
|
+
? async (...args) => {
|
|
123
|
+
await ready;
|
|
124
|
+
return fn.apply(group, args);
|
|
125
|
+
}
|
|
126
|
+
: fn;
|
|
127
|
+
}
|
|
128
|
+
return out;
|
|
129
|
+
};
|
|
130
|
+
return {
|
|
131
|
+
threads: gate(inner.threads),
|
|
132
|
+
runs: gate(inner.runs),
|
|
133
|
+
steps: gate(inner.steps),
|
|
134
|
+
...(inner.close ? { close: () => inner.close() } : {}),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/admin/migrations/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;4EAuB4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0CzC;;;;;8CAK8C;AAC9C,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;SACV,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED;;qBAEqB;AACrB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAC9C,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;;YAkBY;AACZ,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAmB,EACnB,OAAyB,EACzB,UAAuB;IAEvB,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAEpE,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,kDAAkD,CAAC,EAAE,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,CAAC,OAAO,wEAAwE,CACrF,CAAC;gBACJ,CAAC;gBACD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;;;;;;;;+BAU+B;AAC/B,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,KAAoB;IACrE,MAAM,IAAI,GAAG,CAAgC,KAAQ,EAAK,EAAE;QAC1D,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,KAAK,UAAU;oBACtB,CAAC,CAAC,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;wBAC3B,MAAM,KAAK,CAAC;wBACZ,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC/B,CAAC;oBACH,CAAC,CAAC,EAAE,CAAC;QACX,CAAC;QACD,OAAO,GAAQ,CAAC;IAClB,CAAC,CAAC;IACF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** The admin schema as it stood before the migrator existed (§2.9).
|
|
2
|
+
*
|
|
3
|
+
* Written so that running it against a database that already holds these
|
|
4
|
+
* tables changes nothing: an existing install picks the migrator up without a
|
|
5
|
+
* separate baseline step. SQLite has no ADD COLUMN IF NOT EXISTS, so the
|
|
6
|
+
* columns added after the first release are handled by the dialect's `repair`
|
|
7
|
+
* step, which runs before this file.
|
|
8
|
+
*
|
|
9
|
+
* Never edit a released migration. Add the next number instead. */
|
|
10
|
+
export declare const sql = "\nCREATE TABLE IF NOT EXISTS agentic_runs (\n id TEXT PRIMARY KEY, threadId TEXT NOT NULL, parentRunId TEXT,\n depth INTEGER NOT NULL DEFAULT 0, agent TEXT NOT NULL, model TEXT NOT NULL,\n state TEXT NOT NULL DEFAULT 'RUNNING', stopReason TEXT, error TEXT,\n startedAt INTEGER NOT NULL, endedAt INTEGER, durationMs INTEGER, queuedMs INTEGER,\n attempts INTEGER NOT NULL DEFAULT 0, steps INTEGER NOT NULL DEFAULT 0,\n inputTokens INTEGER NOT NULL DEFAULT 0, cachedInputTokens INTEGER NOT NULL DEFAULT 0,\n outputTokens INTEGER NOT NULL DEFAULT 0, totalTokens INTEGER NOT NULL DEFAULT 0,\n result TEXT, prompt TEXT, tokenBudget INTEGER, runState TEXT, providerOptions TEXT\n);\n\nCREATE INDEX IF NOT EXISTS agentic_runs_thread ON agentic_runs(threadId, startedAt);\nCREATE INDEX IF NOT EXISTS agentic_runs_state ON agentic_runs(state, startedAt);\nCREATE INDEX IF NOT EXISTS agentic_runs_parent ON agentic_runs(parentRunId);\n\nCREATE TABLE IF NOT EXISTS agentic_threads (\n id TEXT PRIMARY KEY, state TEXT NOT NULL, model TEXT NOT NULL,\n firstSeenAt INTEGER NOT NULL, updatedAt INTEGER NOT NULL, startedWith TEXT\n);\n\nCREATE INDEX IF NOT EXISTS agentic_threads_state ON agentic_threads(state, updatedAt);\n\nCREATE TABLE IF NOT EXISTS agentic_steps (\n runId TEXT NOT NULL, threadId TEXT, agentId TEXT, \"index\" INTEGER NOT NULL,\n durationMs INTEGER NOT NULL, finishReason TEXT NOT NULL,\n inputTokens INTEGER NOT NULL DEFAULT 0, cachedInputTokens INTEGER NOT NULL DEFAULT 0,\n outputTokens INTEGER NOT NULL DEFAULT 0, totalTokens INTEGER NOT NULL DEFAULT 0,\n tools TEXT, text TEXT, toolCalls TEXT, at INTEGER NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS agentic_steps_run ON agentic_steps(runId, \"index\");\nCREATE INDEX IF NOT EXISTS agentic_steps_thread ON agentic_steps(threadId, at);\n";
|
|
11
|
+
//# sourceMappingURL=0001-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0001-init.d.ts","sourceRoot":"","sources":["../../../../src/admin/migrations/sqlite/0001-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;oEAQoE;AACpE,eAAO,MAAM,GAAG,sxDAiCf,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** The admin schema as it stood before the migrator existed (§2.9).
|
|
2
|
+
*
|
|
3
|
+
* Written so that running it against a database that already holds these
|
|
4
|
+
* tables changes nothing: an existing install picks the migrator up without a
|
|
5
|
+
* separate baseline step. SQLite has no ADD COLUMN IF NOT EXISTS, so the
|
|
6
|
+
* columns added after the first release are handled by the dialect's `repair`
|
|
7
|
+
* step, which runs before this file.
|
|
8
|
+
*
|
|
9
|
+
* Never edit a released migration. Add the next number instead. */
|
|
10
|
+
export const sql = `
|
|
11
|
+
CREATE TABLE IF NOT EXISTS agentic_runs (
|
|
12
|
+
id TEXT PRIMARY KEY, threadId TEXT NOT NULL, parentRunId TEXT,
|
|
13
|
+
depth INTEGER NOT NULL DEFAULT 0, agent TEXT NOT NULL, model TEXT NOT NULL,
|
|
14
|
+
state TEXT NOT NULL DEFAULT 'RUNNING', stopReason TEXT, error TEXT,
|
|
15
|
+
startedAt INTEGER NOT NULL, endedAt INTEGER, durationMs INTEGER, queuedMs INTEGER,
|
|
16
|
+
attempts INTEGER NOT NULL DEFAULT 0, steps INTEGER NOT NULL DEFAULT 0,
|
|
17
|
+
inputTokens INTEGER NOT NULL DEFAULT 0, cachedInputTokens INTEGER NOT NULL DEFAULT 0,
|
|
18
|
+
outputTokens INTEGER NOT NULL DEFAULT 0, totalTokens INTEGER NOT NULL DEFAULT 0,
|
|
19
|
+
result TEXT, prompt TEXT, tokenBudget INTEGER, runState TEXT, providerOptions TEXT
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
CREATE INDEX IF NOT EXISTS agentic_runs_thread ON agentic_runs(threadId, startedAt);
|
|
23
|
+
CREATE INDEX IF NOT EXISTS agentic_runs_state ON agentic_runs(state, startedAt);
|
|
24
|
+
CREATE INDEX IF NOT EXISTS agentic_runs_parent ON agentic_runs(parentRunId);
|
|
25
|
+
|
|
26
|
+
CREATE TABLE IF NOT EXISTS agentic_threads (
|
|
27
|
+
id TEXT PRIMARY KEY, state TEXT NOT NULL, model TEXT NOT NULL,
|
|
28
|
+
firstSeenAt INTEGER NOT NULL, updatedAt INTEGER NOT NULL, startedWith TEXT
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
CREATE INDEX IF NOT EXISTS agentic_threads_state ON agentic_threads(state, updatedAt);
|
|
32
|
+
|
|
33
|
+
CREATE TABLE IF NOT EXISTS agentic_steps (
|
|
34
|
+
runId TEXT NOT NULL, threadId TEXT, agentId TEXT, "index" INTEGER NOT NULL,
|
|
35
|
+
durationMs INTEGER NOT NULL, finishReason TEXT NOT NULL,
|
|
36
|
+
inputTokens INTEGER NOT NULL DEFAULT 0, cachedInputTokens INTEGER NOT NULL DEFAULT 0,
|
|
37
|
+
outputTokens INTEGER NOT NULL DEFAULT 0, totalTokens INTEGER NOT NULL DEFAULT 0,
|
|
38
|
+
tools TEXT, text TEXT, toolCalls TEXT, at INTEGER NOT NULL
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
CREATE INDEX IF NOT EXISTS agentic_steps_run ON agentic_steps(runId, "index");
|
|
42
|
+
CREATE INDEX IF NOT EXISTS agentic_steps_thread ON agentic_steps(threadId, at);
|
|
43
|
+
`;
|
|
44
|
+
//# sourceMappingURL=0001-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0001-init.js","sourceRoot":"","sources":["../../../../src/admin/migrations/sqlite/0001-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;oEAQoE;AACpE,MAAM,CAAC,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiClB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Migration, MigrationDialect } from '../runner.js';
|
|
2
|
+
/** The admin migrations for SQLite, in apply order. Append only. */
|
|
3
|
+
export declare const migrations: Migration[];
|
|
4
|
+
/** SQLite needs no lock: the driver holds one connection and the database
|
|
5
|
+
* takes one writer at a time. */
|
|
6
|
+
export declare const dialect: MigrationDialect;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/admin/migrations/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAmB,MAAM,cAAc,CAAC;AAGjF,oEAAoE;AACpE,eAAO,MAAM,UAAU,EAAE,SAAS,EAA0C,CAAC;AA2B7E;kCACkC;AAClC,eAAO,MAAM,OAAO,EAAE,gBAQrB,CAAC"}
|