@amaster.ai/pi-storage 0.1.0-beta.0 → 0.1.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 +1 -1
- package/dist/artifact-stores.d.ts +1 -1
- package/dist/artifact-stores.d.ts.map +1 -1
- package/dist/artifact-stores.js +2 -2
- package/dist/artifact-stores.js.map +1 -1
- package/dist/db-migrations.js +24 -24
- package/dist/db-migrations.js.map +1 -1
- package/dist/db-runtime-storage.d.ts +1 -1
- package/dist/db-runtime-storage.d.ts.map +1 -1
- package/dist/db-runtime-storage.js +175 -123
- package/dist/db-runtime-storage.js.map +1 -1
- package/dist/db.d.ts +3 -2
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +3 -2
- package/dist/db.js.map +1 -1
- package/dist/event-stores.d.ts +1 -1
- package/dist/event-stores.d.ts.map +1 -1
- package/dist/event-stores.js +22 -5
- package/dist/event-stores.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +3 -3
- package/dist/internal.js +3 -3
- package/dist/json-file.d.ts +7 -0
- package/dist/json-file.d.ts.map +1 -1
- package/dist/json-file.js +6 -6
- package/dist/json-file.js.map +1 -1
- package/dist/json.d.ts +5 -4
- package/dist/json.d.ts.map +1 -1
- package/dist/json.js +5 -4
- package/dist/json.js.map +1 -1
- package/dist/migration-main.js +4 -4
- package/dist/redis-locks.js +7 -7
- package/dist/runtime-scope.d.ts +1 -1
- package/dist/runtime-scope.d.ts.map +1 -1
- package/dist/runtime-storage-json.d.ts +18 -0
- package/dist/runtime-storage-json.d.ts.map +1 -0
- package/dist/runtime-storage-json.js +19 -0
- package/dist/runtime-storage-json.js.map +1 -0
- package/dist/{scheduled-task-stores.d.ts → scheduler-db.d.ts} +2 -24
- package/dist/scheduler-db.d.ts.map +1 -0
- package/dist/{scheduled-task-stores.js → scheduler-db.js} +32 -171
- package/dist/scheduler-db.js.map +1 -0
- package/dist/scheduler-json.d.ts +24 -0
- package/dist/scheduler-json.d.ts.map +1 -0
- package/dist/scheduler-json.js +134 -0
- package/dist/scheduler-json.js.map +1 -0
- package/dist/session-stores.d.ts +2 -1
- package/dist/session-stores.d.ts.map +1 -1
- package/dist/session-stores.js +41 -24
- package/dist/session-stores.js.map +1 -1
- package/dist/session-workspaces.d.ts +22 -0
- package/dist/session-workspaces.d.ts.map +1 -0
- package/dist/session-workspaces.js +75 -0
- package/dist/session-workspaces.js.map +1 -0
- package/dist/subagent-store.d.ts +2 -2
- package/dist/subagent-store.d.ts.map +1 -1
- package/dist/subagent-store.js +18 -18
- package/dist/subagent-store.js.map +1 -1
- package/package.json +21 -8
- package/dist/runtime-storage.d.ts +0 -30
- package/dist/runtime-storage.d.ts.map +0 -1
- package/dist/runtime-storage.js +0 -60
- package/dist/runtime-storage.js.map +0 -1
- package/dist/scheduled-task-stores.d.ts.map +0 -1
- package/dist/scheduled-task-stores.js.map +0 -1
- package/dist/scheduler.d.ts +0 -2
- package/dist/scheduler.d.ts.map +0 -1
- package/dist/scheduler.js +0 -2
- package/dist/scheduler.js.map +0 -1
package/dist/session-stores.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* validation, runtime event recording, and memory tool policy outside these
|
|
6
6
|
* stores.
|
|
7
7
|
*/
|
|
8
|
-
import { randomUUID } from
|
|
9
|
-
import { readJsonFile, writeJsonFile } from
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
9
|
+
import { readJsonFile, writeJsonFile } from './json-file.js';
|
|
10
10
|
export class JsonFileConversationStore {
|
|
11
11
|
filePath;
|
|
12
12
|
sessionsLoaded = false;
|
|
@@ -81,12 +81,25 @@ export class JsonFileTranscriptStore {
|
|
|
81
81
|
}
|
|
82
82
|
async listSessionSummaries(scope, sessions) {
|
|
83
83
|
await this.load();
|
|
84
|
-
return sessions
|
|
84
|
+
return sessions
|
|
85
|
+
.filter((session) => sessionMatchesScope(session, scope))
|
|
86
|
+
.map((session) => ({
|
|
85
87
|
...session,
|
|
86
88
|
turnCount: 0,
|
|
87
89
|
...this.state.sessionSummaries[session.sessionId],
|
|
88
90
|
}));
|
|
89
91
|
}
|
|
92
|
+
async updateSessionTitle(scope, sessionId, title) {
|
|
93
|
+
void scope;
|
|
94
|
+
await this.update((state) => {
|
|
95
|
+
let summary = state.sessionSummaries[sessionId];
|
|
96
|
+
if (!summary) {
|
|
97
|
+
summary = { turnCount: 0 };
|
|
98
|
+
state.sessionSummaries[sessionId] = summary;
|
|
99
|
+
}
|
|
100
|
+
summary.title = title;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
90
103
|
async update(mutator) {
|
|
91
104
|
const pending = this.writeTail.then(async () => {
|
|
92
105
|
await this.load();
|
|
@@ -109,11 +122,11 @@ export class JsonFileTranscriptStore {
|
|
|
109
122
|
}
|
|
110
123
|
}
|
|
111
124
|
function sessionMatchesScope(session, scope) {
|
|
112
|
-
return runtimeTenantId(session.tenantId) === scope.tenantId &&
|
|
113
|
-
(!scope.userId || session.userId === scope.userId);
|
|
125
|
+
return (runtimeTenantId(session.tenantId) === scope.tenantId &&
|
|
126
|
+
(!scope.userId || session.userId === scope.userId));
|
|
114
127
|
}
|
|
115
128
|
function runtimeTenantId(tenantId) {
|
|
116
|
-
return tenantId ??
|
|
129
|
+
return tenantId ?? 'default';
|
|
117
130
|
}
|
|
118
131
|
function createEmptyConversationHistoryState() {
|
|
119
132
|
return {
|
|
@@ -141,7 +154,7 @@ function messagesForTurn(turn) {
|
|
|
141
154
|
sessionId: turn.sessionId,
|
|
142
155
|
conversationId: turn.conversationId,
|
|
143
156
|
turnId: turn.id,
|
|
144
|
-
role:
|
|
157
|
+
role: 'user',
|
|
145
158
|
text: turn.userMessage,
|
|
146
159
|
model: turn.model,
|
|
147
160
|
...(turn.traceId ? { traceId: turn.traceId } : {}),
|
|
@@ -152,7 +165,7 @@ function messagesForTurn(turn) {
|
|
|
152
165
|
sessionId: turn.sessionId,
|
|
153
166
|
conversationId: turn.conversationId,
|
|
154
167
|
turnId: turn.id,
|
|
155
|
-
role:
|
|
168
|
+
role: 'assistant',
|
|
156
169
|
text: turn.assistantMessage,
|
|
157
170
|
model: turn.model,
|
|
158
171
|
...(turn.traceId ? { traceId: turn.traceId } : {}),
|
|
@@ -177,37 +190,41 @@ function isConversationTurn(value) {
|
|
|
177
190
|
if (!isJsonObject(value)) {
|
|
178
191
|
return false;
|
|
179
192
|
}
|
|
180
|
-
return (typeof value.id ===
|
|
181
|
-
typeof value.sessionId ===
|
|
182
|
-
typeof value.conversationId ===
|
|
183
|
-
typeof value.userMessage ===
|
|
184
|
-
typeof value.assistantMessage ===
|
|
185
|
-
typeof value.createdAt ===
|
|
193
|
+
return (typeof value.id === 'string' &&
|
|
194
|
+
typeof value.sessionId === 'string' &&
|
|
195
|
+
typeof value.conversationId === 'string' &&
|
|
196
|
+
typeof value.userMessage === 'string' &&
|
|
197
|
+
typeof value.assistantMessage === 'string' &&
|
|
198
|
+
typeof value.createdAt === 'string' &&
|
|
186
199
|
isJsonObject(value.model));
|
|
187
200
|
}
|
|
188
201
|
function isConversationMessage(value) {
|
|
189
202
|
if (!isJsonObject(value)) {
|
|
190
203
|
return false;
|
|
191
204
|
}
|
|
192
|
-
return (typeof value.id ===
|
|
193
|
-
typeof value.sessionId ===
|
|
194
|
-
typeof value.conversationId ===
|
|
195
|
-
typeof value.role ===
|
|
196
|
-
[
|
|
197
|
-
typeof value.text ===
|
|
198
|
-
typeof value.createdAt ===
|
|
205
|
+
return (typeof value.id === 'string' &&
|
|
206
|
+
typeof value.sessionId === 'string' &&
|
|
207
|
+
typeof value.conversationId === 'string' &&
|
|
208
|
+
typeof value.role === 'string' &&
|
|
209
|
+
['user', 'assistant', 'tool', 'system'].includes(value.role) &&
|
|
210
|
+
typeof value.text === 'string' &&
|
|
211
|
+
typeof value.createdAt === 'string');
|
|
199
212
|
}
|
|
200
213
|
function isSummaryRecord(value) {
|
|
201
214
|
if (!isJsonObject(value)) {
|
|
202
215
|
return false;
|
|
203
216
|
}
|
|
204
|
-
return Object.values(value).every((entry) => isJsonObject(entry) && typeof entry.turnCount ===
|
|
217
|
+
return Object.values(value).every((entry) => isJsonObject(entry) && typeof entry.turnCount === 'number');
|
|
205
218
|
}
|
|
206
219
|
function isJsonObject(value) {
|
|
207
|
-
return typeof value ===
|
|
220
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
208
221
|
}
|
|
209
222
|
function firstLine(value) {
|
|
210
|
-
return value
|
|
223
|
+
return (value
|
|
224
|
+
?.split(/\r?\n/)
|
|
225
|
+
.find((line) => line.trim())
|
|
226
|
+
?.trim()
|
|
227
|
+
.slice(0, 120) ?? '');
|
|
211
228
|
}
|
|
212
229
|
export class JsonFileMemoryStore {
|
|
213
230
|
filePath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-stores.js","sourceRoot":"","sources":["../src/session-stores.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session-stores.js","sourceRoot":"","sources":["../src/session-stores.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAazC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAW7D,MAAM,OAAO,yBAAyB;IAKP;IAJrB,cAAc,GAAG,KAAK,CAAC;IACd,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACtD,SAAS,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAExD,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,KAAK,CAAC,iBAAiB,CACrB,KAAmB,EACnB,SAAiB;QAEjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAuB;QAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAmB;QAC3C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9F,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAmB,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAAmB;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;YACV,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,OAAO,CAAC;IAChB,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IAKL;IAJrB,MAAM,GAAG,KAAK,CAAC;IACf,KAAK,GAAiC,mCAAmC,EAAE,CAAC;IAC5E,SAAS,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAExD,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,KAAK,CAAC,UAAU,CAAC,IAAsB;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,wBAAwB,CAC/D,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EACtC,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAmB,EAAE,SAAkB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAmB,EAAE,SAAkB;QAChD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,KAAK,KAAK,CAAC;QACX,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAmB,EAAE,SAAiB;QACvD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,KAAK,CAAC;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,KAAmB,EACnB,QAA0B;QAE1B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACxD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjB,GAAG,OAAO;YACV,SAAS,EAAE,CAAC;YACZ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;SAClD,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAmB,EAAE,SAAiB,EAAE,KAAa;QAC5E,KAAK,KAAK,CAAC;QACX,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAC9C,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAAsD;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,OAAO,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAU,IAAI,CAAC,QAAQ,EAAE,mCAAmC,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC;QAC3F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,OAAuB,EAAE,KAAmB;IACvE,OAAO,CACL,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,QAAQ;QACpD,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,QAA4B;IACnD,OAAO,QAAQ,IAAI,SAAS,CAAC;AAC/B,CAAC;AAED,SAAS,mCAAmC;IAC1C,OAAO;QACL,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAY;IAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,GAAG,CAAC,OAAO,KAAK,CAAC;QACjB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACzC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAsB;IAC7C,OAAO;QACL;YACE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;QACD;YACE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,YAAY;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAiD,EACjD,IAAsB;IAEtB,MAAM,gBAAgB,GAAG,QAAQ,EAAE,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC;IACxE,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5F,OAAO;QACL,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC;QACzC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB;QAChB,eAAe,EAAE,IAAI,CAAC,WAAW;QACjC,oBAAoB,EAAE,IAAI,CAAC,gBAAgB;QAC3C,aAAa,EAAE,IAAI,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;QAC1C,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5D,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,OAAO,CACL,KAAK;QACH,EAAE,KAAK,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,EAAE,IAAI,EAAE;SACP,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,mBAAmB;IAGD;IAFrB,SAAS,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAExD,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,KAAK,CAAC,KAAK,CAAC,KAKX;QACC,MAAM,MAAM,GAAiB;YAC3B,EAAE,EAAE,UAAU,EAAE;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;QACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAIZ;QACC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;aACtD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;aAC5B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEO,IAAI;QACV,OAAO,YAAY,CAAqD,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,OAA8E;QAE9E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,OAAO,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RuntimeSession } from '@amaster.ai/pi-shared';
|
|
2
|
+
export type RuntimeSessionWithWorkspaceDir = RuntimeSession & {
|
|
3
|
+
workspaceDir?: string;
|
|
4
|
+
};
|
|
5
|
+
export type SessionWorkspaceBinding = {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
tenantId: string;
|
|
8
|
+
userId?: string;
|
|
9
|
+
workspaceId?: string;
|
|
10
|
+
workspaceDir: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class DbSessionWorkspaceStore {
|
|
13
|
+
private readonly prisma;
|
|
14
|
+
constructor(databaseUrl: string);
|
|
15
|
+
get(input: {
|
|
16
|
+
tenantId: string;
|
|
17
|
+
sessionId: string;
|
|
18
|
+
userId?: string;
|
|
19
|
+
}): Promise<SessionWorkspaceBinding | undefined>;
|
|
20
|
+
}
|
|
21
|
+
export declare function sessionWorkspaceFromRuntimeSession(session: RuntimeSession | undefined): SessionWorkspaceBinding | undefined;
|
|
22
|
+
//# sourceMappingURL=session-workspaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-workspaces.d.ts","sourceRoot":"","sources":["../src/session-workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGxE,MAAM,MAAM,8BAA8B,GAAG,cAAc,GAAG;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,WAAW,EAAE,MAAM;IAQzB,GAAG,CAAC,KAAK,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;CA2BjD;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,cAAc,GAAG,SAAS,GAClC,uBAAuB,GAAG,SAAS,CAerC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { PrismaClient } from '@prisma/client';
|
|
2
|
+
export class DbSessionWorkspaceStore {
|
|
3
|
+
prisma;
|
|
4
|
+
constructor(databaseUrl) {
|
|
5
|
+
this.prisma = new PrismaClient({
|
|
6
|
+
datasources: {
|
|
7
|
+
db: { url: databaseUrl },
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
async get(input) {
|
|
12
|
+
const row = await this.prisma.piAgentSession.findFirst({
|
|
13
|
+
where: {
|
|
14
|
+
tenantId: input.tenantId,
|
|
15
|
+
sessionId: input.sessionId,
|
|
16
|
+
deletedAt: null,
|
|
17
|
+
...(input.userId ? { userId: input.userId } : {}),
|
|
18
|
+
},
|
|
19
|
+
orderBy: { updatedAt: 'desc' },
|
|
20
|
+
});
|
|
21
|
+
if (!row) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
const metadata = parseJsonObject(row.metadataJson);
|
|
25
|
+
const session = parseJsonObject(metadata.session);
|
|
26
|
+
const workspaceDir = trimToUndefined(session.workspaceDir);
|
|
27
|
+
if (!workspaceDir) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
sessionId: row.sessionId,
|
|
32
|
+
tenantId: row.tenantId,
|
|
33
|
+
...(row.userId ? { userId: row.userId } : {}),
|
|
34
|
+
...(row.workspaceId ? { workspaceId: row.workspaceId } : {}),
|
|
35
|
+
workspaceDir,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export function sessionWorkspaceFromRuntimeSession(session) {
|
|
40
|
+
if (!session) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const workspaceDir = trimToUndefined(session.workspaceDir);
|
|
44
|
+
if (!workspaceDir || !session.tenantId) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
sessionId: session.sessionId,
|
|
49
|
+
tenantId: session.tenantId,
|
|
50
|
+
...(session.userId ? { userId: session.userId } : {}),
|
|
51
|
+
...(session.workspaceId ? { workspaceId: session.workspaceId } : {}),
|
|
52
|
+
workspaceDir,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function parseJsonObject(value) {
|
|
56
|
+
const parsed = parseJsonValue(value);
|
|
57
|
+
return parsed && typeof parsed === 'object' && !Array.isArray(parsed)
|
|
58
|
+
? parsed
|
|
59
|
+
: {};
|
|
60
|
+
}
|
|
61
|
+
function parseJsonValue(value) {
|
|
62
|
+
if (typeof value === 'string') {
|
|
63
|
+
try {
|
|
64
|
+
return JSON.parse(value);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return value;
|
|
71
|
+
}
|
|
72
|
+
function trimToUndefined(value) {
|
|
73
|
+
return typeof value === 'string' && value.trim() ? value.trim() : undefined;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=session-workspaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-workspaces.js","sourceRoot":"","sources":["../src/session-workspaces.ts"],"names":[],"mappings":"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"}
|
package/dist/subagent-store.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { RuntimeScope, SubagentRun, SubagentRunStatus, SubagentRunStore } from
|
|
2
|
-
type SubagentRunCreateInput = Parameters<SubagentRunStore[
|
|
1
|
+
import type { RuntimeScope, SubagentRun, SubagentRunStatus, SubagentRunStore } from '@amaster.ai/pi-shared';
|
|
2
|
+
type SubagentRunCreateInput = Parameters<SubagentRunStore['create']>[0];
|
|
3
3
|
export declare class JsonFileSubagentRunStore implements SubagentRunStore {
|
|
4
4
|
private readonly filePath;
|
|
5
5
|
private loaded;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-store.d.ts","sourceRoot":"","sources":["../src/subagent-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"subagent-store.d.ts","sourceRoot":"","sources":["../src/subagent-store.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAG/B,KAAK,sBAAsB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAExE,qBAAa,wBAAyB,YAAW,gBAAgB;IAKnD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,SAAS,CAAuC;gBAE3B,QAAQ,EAAE,MAAM;IAEvC,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAgC3D,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAM5E,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAK1E,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5E,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzF,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAUlF,aAAa,CACX,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAgBnC,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAgBhG,aAAa,CACX,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,SAAc,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;YAgBrB,KAAK;YAeL,MAAM;YAWN,IAAI;YAYJ,IAAI;CAGnB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAEzE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAE3E"}
|
package/dist/subagent-store.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* lifecycle event history. It does not execute subagent turns or enforce tool
|
|
6
6
|
* exposure policy.
|
|
7
7
|
*/
|
|
8
|
-
import { randomUUID } from
|
|
9
|
-
import { readJsonFile, writeJsonFile } from
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
9
|
+
import { readJsonFile, writeJsonFile } from './json-file.js';
|
|
10
10
|
export class JsonFileSubagentRunStore {
|
|
11
11
|
filePath;
|
|
12
12
|
loaded = false;
|
|
@@ -30,7 +30,7 @@ export class JsonFileSubagentRunStore {
|
|
|
30
30
|
task: input.task,
|
|
31
31
|
...(input.agent ? { agent: input.agent } : {}),
|
|
32
32
|
...(input.label ? { label: input.label } : {}),
|
|
33
|
-
status:
|
|
33
|
+
status: 'pending',
|
|
34
34
|
depth: input.depth,
|
|
35
35
|
model: input.model,
|
|
36
36
|
toolPolicyProfile: input.toolPolicyProfile,
|
|
@@ -38,8 +38,8 @@ export class JsonFileSubagentRunStore {
|
|
|
38
38
|
createdAt: now,
|
|
39
39
|
updatedAt: now,
|
|
40
40
|
events: [
|
|
41
|
-
{ type:
|
|
42
|
-
{ type:
|
|
41
|
+
{ type: 'subagent_spawning', at: now },
|
|
42
|
+
{ type: 'subagent_spawned', at: now },
|
|
43
43
|
],
|
|
44
44
|
};
|
|
45
45
|
this.runs.set(run.runId, run);
|
|
@@ -67,54 +67,54 @@ export class JsonFileSubagentRunStore {
|
|
|
67
67
|
markRunning(_scope, runId) {
|
|
68
68
|
return this.patch(runId, (run, now) => ({
|
|
69
69
|
...run,
|
|
70
|
-
status:
|
|
70
|
+
status: 'running',
|
|
71
71
|
startedAt: run.startedAt ?? now,
|
|
72
72
|
updatedAt: now,
|
|
73
|
-
events: [...run.events, { type:
|
|
73
|
+
events: [...run.events, { type: 'subagent_started', at: now }],
|
|
74
74
|
}));
|
|
75
75
|
}
|
|
76
76
|
markCompleted(_scope, runId, result) {
|
|
77
77
|
return this.patch(runId, (run, now) => {
|
|
78
|
-
if (run.status ===
|
|
78
|
+
if (run.status === 'cancelled') {
|
|
79
79
|
return run;
|
|
80
80
|
}
|
|
81
81
|
return {
|
|
82
82
|
...omitSubagentError(run),
|
|
83
|
-
status:
|
|
83
|
+
status: 'completed',
|
|
84
84
|
result,
|
|
85
85
|
endedAt: now,
|
|
86
86
|
updatedAt: now,
|
|
87
|
-
events: [...run.events, { type:
|
|
87
|
+
events: [...run.events, { type: 'subagent_ended', at: now, reason: 'completed' }],
|
|
88
88
|
};
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
markFailed(_scope, runId, error) {
|
|
92
92
|
return this.patch(runId, (run, now) => {
|
|
93
|
-
if (run.status ===
|
|
93
|
+
if (run.status === 'cancelled') {
|
|
94
94
|
return run;
|
|
95
95
|
}
|
|
96
96
|
return {
|
|
97
97
|
...run,
|
|
98
|
-
status:
|
|
98
|
+
status: 'failed',
|
|
99
99
|
error,
|
|
100
100
|
endedAt: now,
|
|
101
101
|
updatedAt: now,
|
|
102
|
-
events: [...run.events, { type:
|
|
102
|
+
events: [...run.events, { type: 'subagent_ended', at: now, reason: 'failed' }],
|
|
103
103
|
};
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
markCancelled(_scope, runId, reason =
|
|
106
|
+
markCancelled(_scope, runId, reason = 'cancelled') {
|
|
107
107
|
return this.patch(runId, (run, now) => {
|
|
108
108
|
if (isTerminalSubagentStatus(run.status)) {
|
|
109
109
|
return run;
|
|
110
110
|
}
|
|
111
111
|
return {
|
|
112
112
|
...run,
|
|
113
|
-
status:
|
|
113
|
+
status: 'cancelled',
|
|
114
114
|
error: reason,
|
|
115
115
|
endedAt: now,
|
|
116
116
|
updatedAt: now,
|
|
117
|
-
events: [...run.events, { type:
|
|
117
|
+
events: [...run.events, { type: 'subagent_ended', at: now, reason: 'cancelled' }],
|
|
118
118
|
};
|
|
119
119
|
});
|
|
120
120
|
}
|
|
@@ -155,10 +155,10 @@ export class JsonFileSubagentRunStore {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
export function isActiveSubagentStatus(status) {
|
|
158
|
-
return status ===
|
|
158
|
+
return status === 'pending' || status === 'running';
|
|
159
159
|
}
|
|
160
160
|
export function isTerminalSubagentStatus(status) {
|
|
161
|
-
return status ===
|
|
161
|
+
return status === 'completed' || status === 'failed' || status === 'cancelled';
|
|
162
162
|
}
|
|
163
163
|
function omitSubagentError(run) {
|
|
164
164
|
const { error: _error, ...rest } = run;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-store.js","sourceRoot":"","sources":["../src/subagent-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent-store.js","sourceRoot":"","sources":["../src/subagent-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amaster.ai/pi-storage",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -19,9 +19,13 @@
|
|
|
19
19
|
"types": "./dist/db.d.ts",
|
|
20
20
|
"default": "./dist/db.js"
|
|
21
21
|
},
|
|
22
|
-
"./scheduler": {
|
|
23
|
-
"types": "./dist/scheduler.d.ts",
|
|
24
|
-
"default": "./dist/scheduler.js"
|
|
22
|
+
"./scheduler/json": {
|
|
23
|
+
"types": "./dist/scheduler-json.d.ts",
|
|
24
|
+
"default": "./dist/scheduler-json.js"
|
|
25
|
+
},
|
|
26
|
+
"./scheduler/db": {
|
|
27
|
+
"types": "./dist/scheduler-db.d.ts",
|
|
28
|
+
"default": "./dist/scheduler-db.js"
|
|
25
29
|
},
|
|
26
30
|
"./internal": {
|
|
27
31
|
"types": "./dist/internal.d.ts",
|
|
@@ -51,17 +55,26 @@
|
|
|
51
55
|
"pi-storage-migrate": "./dist/migration-main.js"
|
|
52
56
|
},
|
|
53
57
|
"dependencies": {
|
|
54
|
-
"@prisma/client": "^6.19.3",
|
|
55
58
|
"ioredis": "^5.10.1",
|
|
56
|
-
"@amaster.ai/pi-task-scheduler": "0.1.0
|
|
57
|
-
"@amaster.ai/pi-
|
|
59
|
+
"@amaster.ai/pi-task-scheduler": "0.1.0",
|
|
60
|
+
"@amaster.ai/pi-shared": "0.1.0"
|
|
61
|
+
},
|
|
62
|
+
"peerDependencies": {
|
|
63
|
+
"@prisma/client": "^6.19.3"
|
|
64
|
+
},
|
|
65
|
+
"peerDependenciesMeta": {
|
|
66
|
+
"@prisma/client": {
|
|
67
|
+
"optional": true
|
|
68
|
+
}
|
|
58
69
|
},
|
|
59
70
|
"devDependencies": {
|
|
71
|
+
"@prisma/client": "^6.19.3",
|
|
60
72
|
"prisma": "^6.19.3",
|
|
61
73
|
"vitest": "^4.0.0"
|
|
62
74
|
},
|
|
63
75
|
"scripts": {
|
|
64
|
-
"build": "pnpm run prisma:generate && tsc -b",
|
|
76
|
+
"build": "pnpm run clean && pnpm run prisma:generate && tsc -b",
|
|
77
|
+
"clean": "node -e \"const fs=require('node:fs');fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('tsconfig.tsbuildinfo',{force:true})\"",
|
|
65
78
|
"db:migrate": "node ./dist/migration-main.js",
|
|
66
79
|
"prisma:generate": "prisma generate --schema prisma/schema.prisma",
|
|
67
80
|
"typecheck": "pnpm run prisma:generate && tsc -b --pretty false",
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { CopilotMemoryStore, LlmGenerationEventStore, RuntimeArtifactStore, RuntimeEventStore, RuntimeSessionStore, RuntimeTimelineEventStore, SubagentRunStore, ToolEventStore, TranscriptStore } from "@amaster.ai/pi-types";
|
|
2
|
-
export type RuntimeStorageMode = "json" | "db";
|
|
3
|
-
export type RuntimeStorageBundle = {
|
|
4
|
-
store: RuntimeSessionStore;
|
|
5
|
-
transcripts: TranscriptStore;
|
|
6
|
-
memory: CopilotMemoryStore;
|
|
7
|
-
runtimeEvents: RuntimeEventStore;
|
|
8
|
-
toolEvents: ToolEventStore;
|
|
9
|
-
llmGenerationEvents: LlmGenerationEventStore;
|
|
10
|
-
timelineEvents: RuntimeTimelineEventStore;
|
|
11
|
-
subagents: SubagentRunStore;
|
|
12
|
-
artifacts: RuntimeArtifactStore;
|
|
13
|
-
};
|
|
14
|
-
export declare function createRuntimeStorage(input: {
|
|
15
|
-
mode: RuntimeStorageMode;
|
|
16
|
-
agentDir: string;
|
|
17
|
-
databaseUrl?: string | undefined;
|
|
18
|
-
redisUrl?: string | undefined;
|
|
19
|
-
eventLimits: {
|
|
20
|
-
runtimeEvents: number;
|
|
21
|
-
toolEvents: number;
|
|
22
|
-
llmGenerationEvents: number;
|
|
23
|
-
};
|
|
24
|
-
}): RuntimeStorageBundle;
|
|
25
|
-
export declare function verifyRuntimeStorage(input: {
|
|
26
|
-
mode: RuntimeStorageMode;
|
|
27
|
-
databaseUrl?: string | undefined;
|
|
28
|
-
redisUrl?: string | undefined;
|
|
29
|
-
}): Promise<void>;
|
|
30
|
-
//# sourceMappingURL=runtime-storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-storage.d.ts","sourceRoot":"","sources":["../src/runtime-storage.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;IAC7B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,UAAU,EAAE,cAAc,CAAC;IAC3B,mBAAmB,EAAE,uBAAuB,CAAC;IAC7C,cAAc,EAAE,yBAAyB,CAAC;IAC1C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,GAAG,oBAAoB,CAOvB;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB"}
|
package/dist/runtime-storage.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime storage adapter factory.
|
|
3
|
-
*
|
|
4
|
-
* Owns the concrete store selection for local JSON and platform DB modes. Route
|
|
5
|
-
* and runtime code depend on store interfaces only.
|
|
6
|
-
*/
|
|
7
|
-
import path from "node:path";
|
|
8
|
-
import { JsonFileLlmGenerationEventStore, JsonFileRuntimeEventStore, JsonFileRuntimeTimelineEventStore, JsonFileToolEventStore, } from "./event-stores.js";
|
|
9
|
-
import { JsonFileConversationStore, JsonFileMemoryStore, JsonFileTranscriptStore, } from "./session-stores.js";
|
|
10
|
-
import { JsonFileSubagentRunStore } from "./subagent-store.js";
|
|
11
|
-
import { createDbRuntimeStores, verifyDbRuntimeSchema } from "./db-runtime-storage.js";
|
|
12
|
-
import { JsonFileArtifactStore } from "./artifact-stores.js";
|
|
13
|
-
import { RedisLockManager } from "./redis-locks.js";
|
|
14
|
-
export function createRuntimeStorage(input) {
|
|
15
|
-
if (input.mode === "db") {
|
|
16
|
-
assertDatabaseStorageConfigured(input.databaseUrl);
|
|
17
|
-
assertRedisStorageConfigured(input.redisUrl);
|
|
18
|
-
return createDbRuntimeStores(input.databaseUrl, input.redisUrl);
|
|
19
|
-
}
|
|
20
|
-
return createJsonRuntimeStorage(input.agentDir, input.eventLimits);
|
|
21
|
-
}
|
|
22
|
-
export async function verifyRuntimeStorage(input) {
|
|
23
|
-
if (input.mode !== "db") {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
assertDatabaseStorageConfigured(input.databaseUrl);
|
|
27
|
-
assertRedisStorageConfigured(input.redisUrl);
|
|
28
|
-
await verifyDbRuntimeSchema(input.databaseUrl);
|
|
29
|
-
const locks = new RedisLockManager(input.redisUrl);
|
|
30
|
-
try {
|
|
31
|
-
await locks.ping();
|
|
32
|
-
}
|
|
33
|
-
finally {
|
|
34
|
-
await locks.disconnect();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function createJsonRuntimeStorage(agentDir, eventLimits) {
|
|
38
|
-
return {
|
|
39
|
-
store: new JsonFileConversationStore(path.join(agentDir, "sessions.json")),
|
|
40
|
-
transcripts: new JsonFileTranscriptStore(path.join(agentDir, "transcripts.json")),
|
|
41
|
-
memory: new JsonFileMemoryStore(path.join(agentDir, "memory.json")),
|
|
42
|
-
runtimeEvents: new JsonFileRuntimeEventStore(path.join(agentDir, "runtime-events.json"), eventLimits.runtimeEvents),
|
|
43
|
-
toolEvents: new JsonFileToolEventStore(path.join(agentDir, "tool-events.json"), eventLimits.toolEvents),
|
|
44
|
-
llmGenerationEvents: new JsonFileLlmGenerationEventStore(path.join(agentDir, "llm-generation-events.json"), eventLimits.llmGenerationEvents),
|
|
45
|
-
timelineEvents: new JsonFileRuntimeTimelineEventStore(path.join(agentDir, "events.json"), Math.max(eventLimits.runtimeEvents, eventLimits.toolEvents, eventLimits.llmGenerationEvents)),
|
|
46
|
-
subagents: new JsonFileSubagentRunStore(path.join(agentDir, "subagents.json")),
|
|
47
|
-
artifacts: new JsonFileArtifactStore(path.join(agentDir, "artifacts.json")),
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
function assertDatabaseStorageConfigured(databaseUrl) {
|
|
51
|
-
if (!databaseUrl) {
|
|
52
|
-
throw new Error("STORAGE_MODE=db requires DATABASE_URL.");
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
function assertRedisStorageConfigured(redisUrl) {
|
|
56
|
-
if (!redisUrl) {
|
|
57
|
-
throw new Error("STORAGE_MODE=db requires REDIS_URL.");
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=runtime-storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-storage.js","sourceRoot":"","sources":["../src/runtime-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scheduled-task-stores.d.ts","sourceRoot":"","sources":["../src/scheduled-task-stores.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAIlB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AAIvC,qBAAa,sBAAuB,YAAW,kBAAkB;IAInD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;gBAE7B,QAAQ,EAAE,MAAM;IAEvC,IAAI,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAK9D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAMvF,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAQnD,MAAM,CACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,KAAK,GAAE,kBAAuB,GAC7B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAY/B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;YAWhE,IAAI;YAaJ,IAAI;CAGnB;AAED,qBAAa,iBAAkB,YAAW,aAAa;IAGzC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFjC,OAAO,CAAC,QAAQ,CAAS;gBAEJ,IAAI,EAAE,MAAM;IAEjC,OAAO,IAAI,OAAO;IAwBlB,OAAO,IAAI,IAAI;IAef,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,MAAM,GAAG,SAAS;CAYhC;AAED,qBAAa,kBAAmB,YAAW,aAAa;IAOpD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;gBAGvC,QAAQ,EAAE,MAAM,EACC,GAAG,SAAwB,EAC3B,KAAK,SAAS;IAM3B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,MAAM,GAAG,SAAS;CAGhC;AAED,qBAAa,oBAAqB,YAAW,kBAAkB;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,WAAW,EAAE,MAAM;IAQzB,IAAI,CAAC,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQ9D,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAOvF,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IASnD,MAAM,CACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,KAAK,GAAE,kBAAuB,GAC7B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAa/B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,kBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;YAQhE,cAAc;YA4Bd,cAAc;YASd,YAAY;CAU3B"}
|