@multiplayer-app/sandbox 0.0.7 → 0.0.9
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/agents/content-generator.agent.d.ts +4 -0
- package/dist/agents/content-generator.agent.d.ts.map +1 -0
- package/dist/agents/content-generator.agent.js +41 -0
- package/dist/agents/content-generator.agent.js.map +1 -0
- package/dist/agents/html-generator.agent.d.ts +1 -3
- package/dist/agents/html-generator.agent.d.ts.map +1 -1
- package/dist/agents/html-generator.agent.js +4 -93
- package/dist/agents/html-generator.agent.js.map +1 -1
- package/dist/agents/markdown-generator.agent.d.ts.map +1 -1
- package/dist/agents/markdown-generator.agent.js +12 -10
- package/dist/agents/markdown-generator.agent.js.map +1 -1
- package/dist/agents/shared/content-generator-system-prompt.d.ts +3 -0
- package/dist/agents/shared/content-generator-system-prompt.d.ts.map +1 -0
- package/dist/agents/shared/content-generator-system-prompt.js +32 -0
- package/dist/agents/shared/content-generator-system-prompt.js.map +1 -0
- package/dist/agents/shared/get-session-artifact-content.tool.d.ts +7 -0
- package/dist/agents/shared/get-session-artifact-content.tool.d.ts.map +1 -0
- package/dist/agents/shared/get-session-artifact-content.tool.js +44 -0
- package/dist/agents/shared/get-session-artifact-content.tool.js.map +1 -0
- package/dist/agents/shared/list-session-artifact-paths.tool.d.ts +5 -0
- package/dist/agents/shared/list-session-artifact-paths.tool.d.ts.map +1 -0
- package/dist/agents/shared/list-session-artifact-paths.tool.js +37 -0
- package/dist/agents/shared/list-session-artifact-paths.tool.js.map +1 -0
- package/dist/agents/shared/publish-session-artifacts.tool.d.ts +1 -10
- package/dist/agents/shared/publish-session-artifacts.tool.d.ts.map +1 -1
- package/dist/agents/shared/publish-session-artifacts.tool.js +97 -81
- package/dist/agents/shared/publish-session-artifacts.tool.js.map +1 -1
- package/dist/agents/shared/update-session-artifacts.tool.d.ts +18 -0
- package/dist/agents/shared/update-session-artifacts.tool.d.ts.map +1 -0
- package/dist/agents/shared/update-session-artifacts.tool.js +146 -0
- package/dist/agents/shared/update-session-artifacts.tool.js.map +1 -0
- package/dist/agents/shared/validate-artifact-content.tools.d.ts +12 -0
- package/dist/agents/shared/validate-artifact-content.tools.d.ts.map +1 -0
- package/dist/agents/shared/validate-artifact-content.tools.js +131 -0
- package/dist/agents/shared/validate-artifact-content.tools.js.map +1 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +2 -4
- package/dist/agents.js.map +1 -1
- package/dist/ai-agent.service.d.ts.map +1 -1
- package/dist/ai-agent.service.js +0 -2
- package/dist/ai-agent.service.js.map +1 -1
- package/dist/create-builder-api.d.ts +4 -0
- package/dist/create-builder-api.d.ts.map +1 -1
- package/dist/create-builder-api.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/chat-access.d.ts +19 -0
- package/dist/lib/chat-access.d.ts.map +1 -0
- package/dist/lib/chat-access.js +75 -0
- package/dist/lib/chat-access.js.map +1 -0
- package/dist/lib/list-user-chats.d.ts +22 -0
- package/dist/lib/list-user-chats.d.ts.map +1 -0
- package/dist/lib/list-user-chats.js +48 -0
- package/dist/lib/list-user-chats.js.map +1 -0
- package/dist/lib/session-artifacts/apply-hashline-edits.d.ts +3 -0
- package/dist/lib/session-artifacts/apply-hashline-edits.d.ts.map +1 -0
- package/dist/lib/session-artifacts/apply-hashline-edits.js +25 -0
- package/dist/lib/session-artifacts/apply-hashline-edits.js.map +1 -0
- package/dist/lib/session-artifacts/artifact-text-edit.d.ts +8 -0
- package/dist/lib/session-artifacts/artifact-text-edit.d.ts.map +1 -0
- package/dist/lib/session-artifacts/artifact-text-edit.js +23 -0
- package/dist/lib/session-artifacts/artifact-text-edit.js.map +1 -0
- package/dist/lib/session-artifacts/hashline-diff-guide.d.ts +3 -0
- package/dist/lib/session-artifacts/hashline-diff-guide.d.ts.map +1 -0
- package/dist/lib/session-artifacts/hashline-diff-guide.js +19 -0
- package/dist/lib/session-artifacts/hashline-diff-guide.js.map +1 -0
- package/dist/lib/session-artifacts/hashline-tag.d.ts +33 -0
- package/dist/lib/session-artifacts/hashline-tag.d.ts.map +1 -0
- package/dist/lib/session-artifacts/hashline-tag.js +80 -0
- package/dist/lib/session-artifacts/hashline-tag.js.map +1 -0
- package/dist/lib/session-artifacts/parse-hashline-diff.d.ts +10 -0
- package/dist/lib/session-artifacts/parse-hashline-diff.d.ts.map +1 -0
- package/dist/lib/session-artifacts/parse-hashline-diff.js +33 -0
- package/dist/lib/session-artifacts/parse-hashline-diff.js.map +1 -0
- package/dist/lib/session-pages/artifact-storage-paths.d.ts +13 -0
- package/dist/lib/session-pages/artifact-storage-paths.d.ts.map +1 -0
- package/dist/lib/session-pages/artifact-storage-paths.js +46 -0
- package/dist/lib/session-pages/artifact-storage-paths.js.map +1 -0
- package/dist/lib/session-pages/artifact-storage.d.ts +8 -0
- package/dist/lib/session-pages/artifact-storage.d.ts.map +1 -0
- package/dist/lib/session-pages/artifact-storage.js +113 -0
- package/dist/lib/session-pages/artifact-storage.js.map +1 -0
- package/dist/lib/session-pages/delete-session-artifact.d.ts +5 -0
- package/dist/lib/session-pages/delete-session-artifact.d.ts.map +1 -0
- package/dist/lib/session-pages/delete-session-artifact.js +56 -0
- package/dist/lib/session-pages/delete-session-artifact.js.map +1 -0
- package/dist/lib/session-pages/index.d.ts +3 -4
- package/dist/lib/session-pages/index.d.ts.map +1 -1
- package/dist/lib/session-pages/index.js +6 -8
- package/dist/lib/session-pages/index.js.map +1 -1
- package/dist/lib/session-pages/inject-preview-error-reporter.d.ts +3 -0
- package/dist/lib/session-pages/inject-preview-error-reporter.d.ts.map +1 -0
- package/dist/lib/session-pages/inject-preview-error-reporter.js +30 -0
- package/dist/lib/session-pages/inject-preview-error-reporter.js.map +1 -0
- package/dist/lib/session-pages/list-session-artifacts.d.ts.map +1 -1
- package/dist/lib/session-pages/list-session-artifacts.js +19 -3
- package/dist/lib/session-pages/list-session-artifacts.js.map +1 -1
- package/dist/lib/session-pages/paths.d.ts +0 -1
- package/dist/lib/session-pages/paths.d.ts.map +1 -1
- package/dist/lib/session-pages/paths.js +0 -8
- package/dist/lib/session-pages/paths.js.map +1 -1
- package/dist/lib/session-pages/read-session-artifacts.d.ts +9 -0
- package/dist/lib/session-pages/read-session-artifacts.d.ts.map +1 -0
- package/dist/lib/session-pages/read-session-artifacts.js +56 -0
- package/dist/lib/session-pages/read-session-artifacts.js.map +1 -0
- package/dist/lib/session-pages/session-pico-css.d.ts +5 -0
- package/dist/lib/session-pages/session-pico-css.d.ts.map +1 -0
- package/dist/lib/session-pages/session-pico-css.js +11 -0
- package/dist/lib/session-pages/session-pico-css.js.map +1 -0
- package/dist/lib/session-pages/write-session-artifacts.d.ts +0 -10
- package/dist/lib/session-pages/write-session-artifacts.d.ts.map +1 -1
- package/dist/lib/session-pages/write-session-artifacts.js +9 -57
- package/dist/lib/session-pages/write-session-artifacts.js.map +1 -1
- package/dist/lib/socket/artifact-events.d.ts +1 -1
- package/dist/lib/socket/artifact-events.d.ts.map +1 -1
- package/dist/lib/socket/artifact-events.js.map +1 -1
- package/dist/middleware/index.d.ts +2 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +38 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/validation/activity.validation.d.ts +5 -0
- package/dist/middleware/validation/activity.validation.d.ts.map +1 -0
- package/dist/middleware/validation/activity.validation.js +19 -0
- package/dist/middleware/validation/activity.validation.js.map +1 -0
- package/dist/middleware/validation/agent.validation.d.ts +4 -0
- package/dist/middleware/validation/agent.validation.d.ts.map +1 -0
- package/dist/middleware/validation/agent.validation.js +25 -0
- package/dist/middleware/validation/agent.validation.js.map +1 -0
- package/dist/middleware/validation/chat.validation.d.ts +12 -0
- package/dist/middleware/validation/chat.validation.d.ts.map +1 -0
- package/dist/middleware/validation/chat.validation.js +94 -0
- package/dist/middleware/validation/chat.validation.js.map +1 -0
- package/dist/middleware/validation/index.d.ts +4 -0
- package/dist/middleware/validation/index.d.ts.map +1 -0
- package/dist/middleware/validation/index.js +40 -0
- package/dist/middleware/validation/index.js.map +1 -0
- package/dist/middleware/validation/zod-validate.d.ts +5 -0
- package/dist/middleware/validation/zod-validate.d.ts.map +1 -0
- package/dist/middleware/validation/zod-validate.js +25 -0
- package/dist/middleware/validation/zod-validate.js.map +1 -0
- package/dist/realtime/reset-session-artifact-y-docs.d.ts.map +1 -1
- package/dist/realtime/reset-session-artifact-y-docs.js +6 -1
- package/dist/realtime/reset-session-artifact-y-docs.js.map +1 -1
- package/dist/realtime/session-artifact-document-id.d.ts.map +1 -1
- package/dist/realtime/session-artifact-document-id.js +0 -2
- package/dist/realtime/session-artifact-document-id.js.map +1 -1
- package/dist/realtime/session-artifact-y-socket-io.d.ts.map +1 -1
- package/dist/realtime/session-artifact-y-socket-io.js +0 -11
- package/dist/realtime/session-artifact-y-socket-io.js.map +1 -1
- package/dist/realtime/session-artifact-yjs-store.d.ts +22 -5
- package/dist/realtime/session-artifact-yjs-store.d.ts.map +1 -1
- package/dist/realtime/session-artifact-yjs-store.js +118 -52
- package/dist/realtime/session-artifact-yjs-store.js.map +1 -1
- package/dist/routes/activities/get.d.ts +3 -0
- package/dist/routes/activities/get.d.ts.map +1 -0
- package/dist/routes/activities/get.js +28 -0
- package/dist/routes/activities/get.js.map +1 -0
- package/dist/routes/activities/index.d.ts +2 -0
- package/dist/routes/activities/index.d.ts.map +1 -0
- package/dist/routes/activities/index.js +16 -0
- package/dist/routes/activities/index.js.map +1 -0
- package/dist/routes/activities/list.d.ts +3 -0
- package/dist/routes/activities/list.d.ts.map +1 -0
- package/dist/routes/activities/list.js +41 -0
- package/dist/routes/activities/list.js.map +1 -0
- package/dist/routes/activities/source-types.d.ts +3 -0
- package/dist/routes/activities/source-types.d.ts.map +1 -0
- package/dist/routes/activities/source-types.js +33 -0
- package/dist/routes/activities/source-types.js.map +1 -0
- package/dist/routes/activities/summary.d.ts +3 -0
- package/dist/routes/activities/summary.d.ts.map +1 -0
- package/dist/routes/activities/summary.js +38 -0
- package/dist/routes/activities/summary.js.map +1 -0
- package/dist/routes/agents/getConfig.d.ts +3 -0
- package/dist/routes/agents/getConfig.d.ts.map +1 -0
- package/dist/routes/agents/getConfig.js +16 -0
- package/dist/routes/agents/getConfig.js.map +1 -0
- package/dist/routes/agents/index.d.ts +2 -0
- package/dist/routes/agents/index.d.ts.map +1 -0
- package/dist/routes/agents/index.js +13 -0
- package/dist/routes/agents/index.js.map +1 -0
- package/dist/routes/agents/upsertPreferences.d.ts +4 -0
- package/dist/routes/agents/upsertPreferences.d.ts.map +1 -0
- package/dist/routes/agents/upsertPreferences.js +42 -0
- package/dist/routes/agents/upsertPreferences.js.map +1 -0
- package/dist/routes/chats/abort.d.ts +2 -2
- package/dist/routes/chats/abort.d.ts.map +1 -1
- package/dist/routes/chats/abort.js +10 -5
- package/dist/routes/chats/abort.js.map +1 -1
- package/dist/routes/chats/actions.d.ts +2 -2
- package/dist/routes/chats/actions.d.ts.map +1 -1
- package/dist/routes/chats/actions.js +12 -12
- package/dist/routes/chats/actions.js.map +1 -1
- package/dist/routes/chats/artifacts.d.ts +2 -2
- package/dist/routes/chats/artifacts.d.ts.map +1 -1
- package/dist/routes/chats/artifacts.js +15 -4
- package/dist/routes/chats/artifacts.js.map +1 -1
- package/dist/routes/chats/chat-route-errors.d.ts +3 -0
- package/dist/routes/chats/chat-route-errors.d.ts.map +1 -0
- package/dist/routes/chats/chat-route-errors.js +23 -0
- package/dist/routes/chats/chat-route-errors.js.map +1 -0
- package/dist/routes/chats/delete.d.ts +2 -2
- package/dist/routes/chats/delete.d.ts.map +1 -1
- package/dist/routes/chats/delete.js +12 -3
- package/dist/routes/chats/delete.js.map +1 -1
- package/dist/routes/chats/get.d.ts +2 -2
- package/dist/routes/chats/get.d.ts.map +1 -1
- package/dist/routes/chats/get.js +8 -4
- package/dist/routes/chats/get.js.map +1 -1
- package/dist/routes/chats/getStream.d.ts +2 -2
- package/dist/routes/chats/getStream.d.ts.map +1 -1
- package/dist/routes/chats/getStream.js +16 -8
- package/dist/routes/chats/getStream.js.map +1 -1
- package/dist/routes/chats/index.d.ts.map +1 -1
- package/dist/routes/chats/index.js +19 -13
- package/dist/routes/chats/index.js.map +1 -1
- package/dist/routes/chats/invite-participants.d.ts +3 -0
- package/dist/routes/chats/invite-participants.d.ts.map +1 -0
- package/dist/routes/chats/invite-participants.js +56 -0
- package/dist/routes/chats/invite-participants.js.map +1 -0
- package/dist/routes/chats/list.d.ts +2 -2
- package/dist/routes/chats/list.d.ts.map +1 -1
- package/dist/routes/chats/list.js +22 -25
- package/dist/routes/chats/list.js.map +1 -1
- package/dist/routes/chats/messages.d.ts +2 -2
- package/dist/routes/chats/messages.d.ts.map +1 -1
- package/dist/routes/chats/messages.js +13 -6
- package/dist/routes/chats/messages.js.map +1 -1
- package/dist/routes/chats/multiUserMessages.d.ts +2 -2
- package/dist/routes/chats/multiUserMessages.d.ts.map +1 -1
- package/dist/routes/chats/multiUserMessages.js +19 -19
- package/dist/routes/chats/multiUserMessages.js.map +1 -1
- package/dist/routes/chats/remove-participants.d.ts +3 -0
- package/dist/routes/chats/remove-participants.d.ts.map +1 -0
- package/dist/routes/chats/remove-participants.js +46 -0
- package/dist/routes/chats/remove-participants.js.map +1 -0
- package/dist/routes/chats/stream.d.ts +2 -2
- package/dist/routes/chats/stream.d.ts.map +1 -1
- package/dist/routes/chats/stream.js +28 -11
- package/dist/routes/chats/stream.js.map +1 -1
- package/dist/routes/chats/title.d.ts +2 -2
- package/dist/routes/chats/title.d.ts.map +1 -1
- package/dist/routes/chats/title.js +14 -8
- package/dist/routes/chats/title.js.map +1 -1
- package/dist/routes/chats/updateToolCall.d.ts +2 -2
- package/dist/routes/chats/updateToolCall.d.ts.map +1 -1
- package/dist/routes/chats/updateToolCall.js +16 -20
- package/dist/routes/chats/updateToolCall.js.map +1 -1
- package/dist/routes/route-errors.d.ts +3 -0
- package/dist/routes/route-errors.d.ts.map +1 -0
- package/dist/routes/route-errors.js +13 -0
- package/dist/routes/route-errors.js.map +1 -0
- package/dist/routes/schemas.d.ts +80 -0
- package/dist/routes/schemas.d.ts.map +1 -1
- package/dist/routes/schemas.js +95 -1
- package/dist/routes/schemas.js.map +1 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +77 -9
- package/dist/routes/sessions.js.map +1 -1
- package/dist/routes/tenants/credentials.d.ts +5 -0
- package/dist/routes/tenants/credentials.d.ts.map +1 -0
- package/dist/routes/tenants/credentials.js +50 -0
- package/dist/routes/tenants/credentials.js.map +1 -0
- package/dist/routes/tenants/index.d.ts +2 -0
- package/dist/routes/tenants/index.d.ts.map +1 -0
- package/dist/routes/tenants/index.js +10 -0
- package/dist/routes/tenants/index.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +6 -0
- package/dist/server.js.map +1 -1
- package/package.json +5 -4
|
@@ -3,19 +3,36 @@ type BroadcastUpdate = (documentIdentifier: string, update: Uint8Array) => void;
|
|
|
3
3
|
export declare class SessionArtifactYjsStore {
|
|
4
4
|
private readonly docCache;
|
|
5
5
|
private readonly persistTimers;
|
|
6
|
+
private readonly snapshotTimers;
|
|
6
7
|
private broadcastUpdate;
|
|
7
8
|
registerBroadcast(fn: BroadcastUpdate): void;
|
|
8
9
|
getOrLoadDoc(documentIdentifier: string): Promise<Y.Doc | null>;
|
|
9
|
-
/**
|
|
10
|
-
private
|
|
10
|
+
/** Prefer persisted Yjs update bytes; fall back to legacy UTF-8 snapshot only when absent. */
|
|
11
|
+
private hydrateDocFromLatestState;
|
|
12
|
+
getLatestText(sessionId: string, artifactPath: string): Promise<string>;
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
14
|
+
* Creates or replaces an artifact from full text: writes Yjs state, latest content snapshot,
|
|
15
|
+
* and broadcasts to connected editors.
|
|
13
16
|
*/
|
|
14
|
-
|
|
17
|
+
initializeFromContent(sessionId: string, artifactPath: string, content: string): Promise<{
|
|
18
|
+
path: string;
|
|
19
|
+
bytes: number;
|
|
20
|
+
documentIdentifier: string;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Applies hashline SEARCH/REPLACE patch text to the Yjs document, broadcasts the update to
|
|
24
|
+
* connected clients, and persists state + latest snapshot immediately.
|
|
25
|
+
*/
|
|
26
|
+
applyPatchText(sessionId: string, artifactPath: string, patchText: string): Promise<{
|
|
27
|
+
path: string;
|
|
28
|
+
}>;
|
|
29
|
+
evictDocument(sessionId: string, artifactPath: string): void;
|
|
15
30
|
resetFromFileContent(sessionId: string, artifactPath: string): Promise<void>;
|
|
16
31
|
schedulePersist(documentIdentifier: string, doc: Y.Doc): void;
|
|
17
32
|
private persistToDisk;
|
|
18
|
-
private
|
|
33
|
+
private scheduleNamedSnapshot;
|
|
34
|
+
private clearPersistTimer;
|
|
35
|
+
private clearTimers;
|
|
19
36
|
}
|
|
20
37
|
export declare function getSessionArtifactYjsStore(): SessionArtifactYjsStore;
|
|
21
38
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-artifact-yjs-store.d.ts","sourceRoot":"","sources":["../../src/realtime/session-artifact-yjs-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-artifact-yjs-store.d.ts","sourceRoot":"","sources":["../../src/realtime/session-artifact-yjs-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAoBxB,KAAK,eAAe,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;AAM/E,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;IACjF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmD;IAClF,OAAO,CAAC,eAAe,CAA+B;IAEtD,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAItC,YAAY,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;IAiBrE,8FAA8F;YAChF,yBAAyB;IAmBjC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW7E;;;OAGG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCvE;;;OAGG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;KAAE,CAAC;IAyB7B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAYtD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,eAAe,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI;YAe/C,aAAa;IAe3B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,WAAW;CASpB;AAID,wBAAgB,0BAA0B,IAAI,uBAAuB,CAKpE"}
|
|
@@ -32,23 +32,26 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
36
|
exports.SessionArtifactYjsStore = void 0;
|
|
40
37
|
exports.getSessionArtifactYjsStore = getSessionArtifactYjsStore;
|
|
41
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
42
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
43
38
|
const Y = __importStar(require("yjs"));
|
|
39
|
+
const parse_hashline_diff_1 = require("../lib/session-artifacts/parse-hashline-diff");
|
|
40
|
+
const artifact_storage_1 = require("../lib/session-pages/artifact-storage");
|
|
41
|
+
const logger_1 = require("../logger");
|
|
44
42
|
const paths_1 = require("../lib/session-pages/paths");
|
|
45
43
|
const session_artifact_document_id_1 = require("./session-artifact-document-id");
|
|
46
44
|
const PERSIST_DEBOUNCE_MS = 400;
|
|
45
|
+
const SNAPSHOT_DEBOUNCE_MS = 10000;
|
|
47
46
|
const YTEXT_FIELD = 'content';
|
|
47
|
+
function docTextContent(doc) {
|
|
48
|
+
return doc.getText(YTEXT_FIELD).toJSON();
|
|
49
|
+
}
|
|
48
50
|
class SessionArtifactYjsStore {
|
|
49
51
|
constructor() {
|
|
50
52
|
this.docCache = new Map();
|
|
51
53
|
this.persistTimers = new Map();
|
|
54
|
+
this.snapshotTimers = new Map();
|
|
52
55
|
this.broadcastUpdate = null;
|
|
53
56
|
}
|
|
54
57
|
registerBroadcast(fn) {
|
|
@@ -59,68 +62,110 @@ class SessionArtifactYjsStore {
|
|
|
59
62
|
if (!parsed) {
|
|
60
63
|
return null;
|
|
61
64
|
}
|
|
62
|
-
const diskContent = await this.readArtifactText(parsed.sessionId, parsed.artifactPath);
|
|
63
65
|
const cached = this.docCache.get(documentIdentifier);
|
|
64
66
|
if (cached) {
|
|
65
|
-
this.hydrateDocFromDisk(cached, diskContent);
|
|
66
67
|
return cached;
|
|
67
68
|
}
|
|
68
69
|
const doc = new Y.Doc();
|
|
69
|
-
this.
|
|
70
|
+
await this.hydrateDocFromLatestState(doc, parsed.sessionId, parsed.artifactPath);
|
|
70
71
|
this.docCache.set(documentIdentifier, doc);
|
|
71
72
|
return doc;
|
|
72
73
|
}
|
|
73
|
-
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
/** Prefer persisted Yjs update bytes; fall back to legacy UTF-8 snapshot only when absent. */
|
|
75
|
+
async hydrateDocFromLatestState(doc, sessionId, artifactPath) {
|
|
76
|
+
const state = await (0, artifact_storage_1.readArtifactLatestState)(sessionId, artifactPath);
|
|
77
|
+
if (state === null || state === void 0 ? void 0 : state.byteLength) {
|
|
78
|
+
Y.applyUpdate(doc, state);
|
|
77
79
|
}
|
|
78
80
|
const ytext = doc.getText(YTEXT_FIELD);
|
|
79
|
-
if (ytext.length
|
|
80
|
-
|
|
81
|
+
if (ytext.length === 0) {
|
|
82
|
+
const content = await (0, artifact_storage_1.readArtifactContentSnapshot)(sessionId, artifactPath);
|
|
83
|
+
if (content) {
|
|
84
|
+
ytext.insert(0, content);
|
|
85
|
+
}
|
|
81
86
|
}
|
|
82
|
-
doc.transact(() => {
|
|
83
|
-
ytext.insert(0, diskContent);
|
|
84
|
-
});
|
|
85
87
|
}
|
|
86
|
-
|
|
87
|
-
* Latest text for an artifact: in-memory Yjs doc when loaded (includes unpersisted edits), else disk.
|
|
88
|
-
*/
|
|
89
|
-
async getLatestArtifactText(sessionId, artifactPath) {
|
|
88
|
+
async getLatestText(sessionId, artifactPath) {
|
|
90
89
|
const normalizedPath = (0, paths_1.normalizeArtifactPath)(artifactPath);
|
|
91
90
|
const documentIdentifier = (0, session_artifact_document_id_1.buildSessionArtifactDocumentId)(sessionId, normalizedPath);
|
|
92
|
-
const cached = this.docCache.get(documentIdentifier);
|
|
93
|
-
if (cached) {
|
|
94
|
-
return cached.getText(YTEXT_FIELD).toString();
|
|
95
|
-
}
|
|
96
91
|
const doc = await this.getOrLoadDoc(documentIdentifier);
|
|
97
|
-
if (doc) {
|
|
98
|
-
|
|
92
|
+
if (!doc) {
|
|
93
|
+
throw new Error(`Invalid session artifact document: ${normalizedPath}`);
|
|
99
94
|
}
|
|
100
|
-
return
|
|
95
|
+
return docTextContent(doc);
|
|
101
96
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Creates or replaces an artifact from full text: writes Yjs state, latest content snapshot,
|
|
99
|
+
* and broadcasts to connected editors.
|
|
100
|
+
*/
|
|
101
|
+
async initializeFromContent(sessionId, artifactPath, content) {
|
|
102
|
+
var _a;
|
|
103
|
+
const normalizedPath = (0, paths_1.normalizeArtifactPath)(artifactPath);
|
|
104
|
+
const documentIdentifier = (0, session_artifact_document_id_1.buildSessionArtifactDocumentId)(sessionId, normalizedPath);
|
|
105
|
+
this.clearTimers(documentIdentifier);
|
|
106
|
+
const existing = this.docCache.get(documentIdentifier);
|
|
107
|
+
if (existing) {
|
|
108
|
+
existing.destroy();
|
|
109
|
+
this.docCache.delete(documentIdentifier);
|
|
108
110
|
}
|
|
109
|
-
const
|
|
110
|
-
const doc = (_a = (await this.getOrLoadDoc(documentIdentifier))) !== null && _a !== void 0 ? _a : new Y.Doc();
|
|
111
|
-
const ytext = doc.getText(YTEXT_FIELD);
|
|
111
|
+
const doc = new Y.Doc();
|
|
112
112
|
const beforeVector = Y.encodeStateVector(doc);
|
|
113
113
|
doc.transact(() => {
|
|
114
|
-
ytext.
|
|
115
|
-
if (
|
|
116
|
-
ytext.insert(0,
|
|
114
|
+
const ytext = doc.getText(YTEXT_FIELD);
|
|
115
|
+
if (content.length > 0) {
|
|
116
|
+
ytext.insert(0, content);
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
this.docCache.set(documentIdentifier, doc);
|
|
120
|
+
await this.persistToDisk(documentIdentifier, doc);
|
|
120
121
|
const update = Y.encodeStateAsUpdate(doc, beforeVector);
|
|
121
122
|
if (update.byteLength > 0) {
|
|
122
|
-
(
|
|
123
|
+
(_a = this.broadcastUpdate) === null || _a === void 0 ? void 0 : _a.call(this, documentIdentifier, update);
|
|
123
124
|
}
|
|
125
|
+
return {
|
|
126
|
+
path: normalizedPath,
|
|
127
|
+
bytes: Buffer.byteLength(content, 'utf8'),
|
|
128
|
+
documentIdentifier,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Applies hashline SEARCH/REPLACE patch text to the Yjs document, broadcasts the update to
|
|
133
|
+
* connected clients, and persists state + latest snapshot immediately.
|
|
134
|
+
*/
|
|
135
|
+
async applyPatchText(sessionId, artifactPath, patchText) {
|
|
136
|
+
var _a;
|
|
137
|
+
const normalizedPath = (0, paths_1.normalizeArtifactPath)(artifactPath);
|
|
138
|
+
const documentIdentifier = (0, session_artifact_document_id_1.buildSessionArtifactDocumentId)(sessionId, normalizedPath);
|
|
139
|
+
const doc = await this.getOrLoadDoc(documentIdentifier);
|
|
140
|
+
if (!doc) {
|
|
141
|
+
throw new Error(`Invalid session artifact document: ${normalizedPath}`);
|
|
142
|
+
}
|
|
143
|
+
const ytext = doc.getText(YTEXT_FIELD);
|
|
144
|
+
const beforeVector = Y.encodeStateVector(doc);
|
|
145
|
+
(0, parse_hashline_diff_1.applyPatch)(ytext, patchText);
|
|
146
|
+
const update = Y.encodeStateAsUpdate(doc, beforeVector);
|
|
147
|
+
if (update.byteLength > 0) {
|
|
148
|
+
(_a = this.broadcastUpdate) === null || _a === void 0 ? void 0 : _a.call(this, documentIdentifier, update);
|
|
149
|
+
}
|
|
150
|
+
this.clearPersistTimer(documentIdentifier);
|
|
151
|
+
await this.persistToDisk(documentIdentifier, doc);
|
|
152
|
+
return {
|
|
153
|
+
path: normalizedPath,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
evictDocument(sessionId, artifactPath) {
|
|
157
|
+
const normalizedPath = (0, paths_1.normalizeArtifactPath)(artifactPath);
|
|
158
|
+
const documentIdentifier = (0, session_artifact_document_id_1.buildSessionArtifactDocumentId)(sessionId, normalizedPath);
|
|
159
|
+
this.clearTimers(documentIdentifier);
|
|
160
|
+
const doc = this.docCache.get(documentIdentifier);
|
|
161
|
+
if (doc) {
|
|
162
|
+
doc.destroy();
|
|
163
|
+
this.docCache.delete(documentIdentifier);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
async resetFromFileContent(sessionId, artifactPath) {
|
|
167
|
+
const content = await (0, artifact_storage_1.readArtifactContentSnapshot)(sessionId, artifactPath);
|
|
168
|
+
await this.initializeFromContent(sessionId, artifactPath, content !== null && content !== void 0 ? content : '');
|
|
124
169
|
}
|
|
125
170
|
schedulePersist(documentIdentifier, doc) {
|
|
126
171
|
const existing = this.persistTimers.get(documentIdentifier);
|
|
@@ -137,18 +182,39 @@ class SessionArtifactYjsStore {
|
|
|
137
182
|
if (!parsed) {
|
|
138
183
|
return;
|
|
139
184
|
}
|
|
140
|
-
const content = doc
|
|
141
|
-
const
|
|
142
|
-
await
|
|
143
|
-
await
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
185
|
+
const content = docTextContent(doc);
|
|
186
|
+
const state = Y.encodeStateAsUpdate(doc);
|
|
187
|
+
await (0, artifact_storage_1.writeArtifactLatestState)(parsed.sessionId, parsed.artifactPath, state);
|
|
188
|
+
await (0, artifact_storage_1.writeArtifactContentSnapshot)(parsed.sessionId, parsed.artifactPath, content);
|
|
189
|
+
this.scheduleNamedSnapshot(documentIdentifier, parsed.sessionId, parsed.artifactPath);
|
|
190
|
+
}
|
|
191
|
+
scheduleNamedSnapshot(documentIdentifier, sessionId, artifactPath) {
|
|
192
|
+
const existing = this.snapshotTimers.get(documentIdentifier);
|
|
193
|
+
if (existing) {
|
|
194
|
+
clearTimeout(existing);
|
|
195
|
+
}
|
|
196
|
+
this.snapshotTimers.set(documentIdentifier, setTimeout(() => {
|
|
197
|
+
this.snapshotTimers.delete(documentIdentifier);
|
|
198
|
+
const doc = this.docCache.get(documentIdentifier);
|
|
199
|
+
const snapshotContent = doc ? docTextContent(doc) : '';
|
|
200
|
+
void (0, artifact_storage_1.writeArtifactNamedSnapshot)(sessionId, artifactPath, snapshotContent).catch((error) => {
|
|
201
|
+
(0, logger_1.getBuilderApiLogger)().warn({ err: error, sessionId, artifactPath }, 'Failed to write artifact snapshot');
|
|
202
|
+
});
|
|
203
|
+
}, SNAPSHOT_DEBOUNCE_MS));
|
|
204
|
+
}
|
|
205
|
+
clearPersistTimer(documentIdentifier) {
|
|
206
|
+
const pending = this.persistTimers.get(documentIdentifier);
|
|
207
|
+
if (pending) {
|
|
208
|
+
clearTimeout(pending);
|
|
209
|
+
this.persistTimers.delete(documentIdentifier);
|
|
149
210
|
}
|
|
150
|
-
|
|
151
|
-
|
|
211
|
+
}
|
|
212
|
+
clearTimers(documentIdentifier) {
|
|
213
|
+
this.clearPersistTimer(documentIdentifier);
|
|
214
|
+
const snapshotPending = this.snapshotTimers.get(documentIdentifier);
|
|
215
|
+
if (snapshotPending) {
|
|
216
|
+
clearTimeout(snapshotPending);
|
|
217
|
+
this.snapshotTimers.delete(documentIdentifier);
|
|
152
218
|
}
|
|
153
219
|
}
|
|
154
220
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-artifact-yjs-store.js","sourceRoot":"","sources":["../../src/realtime/session-artifact-yjs-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-artifact-yjs-store.js","sourceRoot":"","sources":["../../src/realtime/session-artifact-yjs-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/routes/activities/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAShD,eAAO,MAAM,WAAW,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAkB5D,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getActivity = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const context_1 = require("../../context");
|
|
6
|
+
const chat_access_1 = require("../../lib/chat-access");
|
|
7
|
+
const schemas_1 = require("../schemas");
|
|
8
|
+
const route_errors_1 = require("../route-errors");
|
|
9
|
+
const validatedSchema = zod_1.z.object({ params: schemas_1.activityRouteParamsSchema });
|
|
10
|
+
const getActivity = async (req, res) => {
|
|
11
|
+
try {
|
|
12
|
+
const { params } = validatedSchema.parse(req.validated);
|
|
13
|
+
const userId = (0, chat_access_1.requireUserId)(req);
|
|
14
|
+
const activity = await (0, context_1.getAgentService)()
|
|
15
|
+
.getActivityProcessor()
|
|
16
|
+
.getActivityById(params.activityId, userId);
|
|
17
|
+
if (!activity) {
|
|
18
|
+
res.status(404).json({ message: 'Activity not found' });
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
res.json(activity);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
(0, route_errors_1.respondRouteError)(res, error);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.getActivity = getActivity;
|
|
28
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/routes/activities/get.ts"],"names":[],"mappings":";;;AACA,6BAAuB;AACvB,2CAA+C;AAC/C,uDAAqD;AACrD,wCAAsD;AACtD,kDAAmD;AAEnD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,mCAAyB,EAAE,CAAC,CAAA;AAEhE,MAAM,WAAW,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,GAAG,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAe,GAAE;aACrC,oBAAoB,EAAE;aACtB,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,gCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC,CAAA;AAlBY,QAAA,WAAW,eAkBvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/activities/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc,4CAAW,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.activityRoutes = void 0;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const middleware_1 = require("../../middleware");
|
|
6
|
+
const get_1 = require("./get");
|
|
7
|
+
const list_1 = require("./list");
|
|
8
|
+
const summary_1 = require("./summary");
|
|
9
|
+
const source_types_1 = require("./source-types");
|
|
10
|
+
const { ActivityValidationMiddleware } = middleware_1.ValidationMiddleware;
|
|
11
|
+
exports.activityRoutes = (0, express_1.Router)();
|
|
12
|
+
exports.activityRoutes.get('/activities', ActivityValidationMiddleware.validateListActivities, list_1.listActivities);
|
|
13
|
+
exports.activityRoutes.get('/activities/summary', ActivityValidationMiddleware.validateGetActivitySummary, summary_1.getActivitySummary);
|
|
14
|
+
exports.activityRoutes.get('/activities/source-types', ActivityValidationMiddleware.validateListActivitySourceTypes, source_types_1.listActivitySourceTypes);
|
|
15
|
+
exports.activityRoutes.get('/activities/:activityId', ActivityValidationMiddleware.validateActivityRouteParams, get_1.getActivity);
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/activities/index.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAChC,iDAAuD;AACvD,+BAAmC;AACnC,iCAAuC;AACvC,uCAA8C;AAC9C,iDAAwD;AAExD,MAAM,EAAE,4BAA4B,EAAE,GAAG,iCAAoB,CAAA;AAEhD,QAAA,cAAc,GAAG,IAAA,gBAAM,GAAE,CAAA;AAEtC,sBAAc,CAAC,GAAG,CAChB,aAAa,EACb,4BAA4B,CAAC,sBAAsB,EACnD,qBAAc,CACf,CAAA;AACD,sBAAc,CAAC,GAAG,CAChB,qBAAqB,EACrB,4BAA4B,CAAC,0BAA0B,EACvD,4BAAkB,CACnB,CAAA;AACD,sBAAc,CAAC,GAAG,CAChB,0BAA0B,EAC1B,4BAA4B,CAAC,+BAA+B,EAC5D,sCAAuB,CACxB,CAAA;AACD,sBAAc,CAAC,GAAG,CAChB,yBAAyB,EACzB,4BAA4B,CAAC,2BAA2B,EACxD,iBAAW,CACZ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/routes/activities/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAUhD,eAAO,MAAM,cAAc,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA8B/D,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listActivities = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const context_1 = require("../../context");
|
|
6
|
+
const chat_access_1 = require("../../lib/chat-access");
|
|
7
|
+
const schemas_1 = require("../schemas");
|
|
8
|
+
const route_errors_1 = require("../route-errors");
|
|
9
|
+
const validatedSchema = zod_1.z.object({ query: schemas_1.listActivitiesQuerySchema });
|
|
10
|
+
const listActivities = async (req, res) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
try {
|
|
13
|
+
const { query } = validatedSchema.parse(req.validated);
|
|
14
|
+
const userId = (0, chat_access_1.requireUserId)(req);
|
|
15
|
+
const activities = await (0, context_1.getAgentService)().getActivityProcessor().listActivities({
|
|
16
|
+
ownerId: userId,
|
|
17
|
+
groupId: query.groupId,
|
|
18
|
+
parentId: query.parentId,
|
|
19
|
+
tenants: query.tenant,
|
|
20
|
+
period: query.from || query.to
|
|
21
|
+
? {
|
|
22
|
+
...(query.from ? { from: query.from } : {}),
|
|
23
|
+
...(query.to ? { to: query.to } : {}),
|
|
24
|
+
}
|
|
25
|
+
: undefined,
|
|
26
|
+
...(query.sourceType ? { sourceType: query.sourceType } : {}),
|
|
27
|
+
skip: query.skip,
|
|
28
|
+
limit: query.limit,
|
|
29
|
+
sort: {
|
|
30
|
+
field: (_a = query.sortField) !== null && _a !== void 0 ? _a : 'createdAt',
|
|
31
|
+
order: (_b = query.sortOrder) !== null && _b !== void 0 ? _b : 'desc',
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
res.json(activities);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
(0, route_errors_1.respondRouteError)(res, error);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.listActivities = listActivities;
|
|
41
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/routes/activities/list.ts"],"names":[],"mappings":";;;AAEA,6BAAuB;AACvB,2CAA+C;AAC/C,uDAAqD;AACrD,wCAAsD;AACtD,kDAAmD;AAEnD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,mCAAyB,EAAE,CAAC,CAAA;AAE/D,MAAM,cAAc,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;;IAClE,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,GAAG,CAAC,CAAA;QAEjC,MAAM,UAAU,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC;YAC/E,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,MAAM,EACJ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACpB,CAAC,CAAC;oBACE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC;gBACH,CAAC,CAAC,SAAS;YACf,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,WAAW;gBACrC,KAAK,EAAE,MAAC,KAAK,CAAC,SAAuB,mCAAI,MAAM;aAChD;SACF,CAAC,CAAA;QAEF,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,gCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC,CAAA;AA9BY,QAAA,cAAc,kBA8B1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-types.d.ts","sourceRoot":"","sources":["../../../src/routes/activities/source-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAShD,eAAO,MAAM,uBAAuB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAuBxE,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listActivitySourceTypes = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const context_1 = require("../../context");
|
|
6
|
+
const chat_access_1 = require("../../lib/chat-access");
|
|
7
|
+
const schemas_1 = require("../schemas");
|
|
8
|
+
const route_errors_1 = require("../route-errors");
|
|
9
|
+
const validatedSchema = zod_1.z.object({ query: schemas_1.listActivitySourceTypesQuerySchema });
|
|
10
|
+
const listActivitySourceTypes = async (req, res) => {
|
|
11
|
+
try {
|
|
12
|
+
const { query } = validatedSchema.parse(req.validated);
|
|
13
|
+
const userId = (0, chat_access_1.requireUserId)(req);
|
|
14
|
+
const types = await (0, context_1.getAgentService)().getActivityProcessor().listActivitySourceTypes({
|
|
15
|
+
ownerId: userId,
|
|
16
|
+
groupId: query.groupId,
|
|
17
|
+
parentId: query.parentId,
|
|
18
|
+
tenants: query.tenant,
|
|
19
|
+
period: query.from || query.to
|
|
20
|
+
? {
|
|
21
|
+
...(query.from ? { from: query.from } : {}),
|
|
22
|
+
...(query.to ? { to: query.to } : {}),
|
|
23
|
+
}
|
|
24
|
+
: undefined,
|
|
25
|
+
});
|
|
26
|
+
res.json(types);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
(0, route_errors_1.respondRouteError)(res, error);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.listActivitySourceTypes = listActivitySourceTypes;
|
|
33
|
+
//# sourceMappingURL=source-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-types.js","sourceRoot":"","sources":["../../../src/routes/activities/source-types.ts"],"names":[],"mappings":";;;AACA,6BAAuB;AACvB,2CAA+C;AAC/C,uDAAqD;AACrD,wCAA+D;AAC/D,kDAAmD;AAEnD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,4CAAkC,EAAE,CAAC,CAAA;AAExE,MAAM,uBAAuB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC3E,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,GAAG,CAAC,CAAA;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC,oBAAoB,EAAE,CAAC,uBAAuB,CAAC;YACnF,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,MAAM,EACJ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACpB,CAAC,CAAC;oBACE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC;gBACH,CAAC,CAAC,SAAS;SAChB,CAAC,CAAA;QAEF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,gCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC,CAAA;AAvBY,QAAA,uBAAuB,2BAuBnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/routes/activities/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAUhD,eAAO,MAAM,kBAAkB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBA0BnE,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getActivitySummary = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const context_1 = require("../../context");
|
|
6
|
+
const chat_access_1 = require("../../lib/chat-access");
|
|
7
|
+
const schemas_1 = require("../schemas");
|
|
8
|
+
const route_errors_1 = require("../route-errors");
|
|
9
|
+
const validatedSchema = zod_1.z.object({ query: schemas_1.getActivitySummaryQuerySchema });
|
|
10
|
+
const getActivitySummary = async (req, res) => {
|
|
11
|
+
var _a;
|
|
12
|
+
try {
|
|
13
|
+
const { query } = validatedSchema.parse(req.validated);
|
|
14
|
+
const userId = (0, chat_access_1.requireUserId)(req);
|
|
15
|
+
const params = {
|
|
16
|
+
...(query.from || query.to
|
|
17
|
+
? {
|
|
18
|
+
period: {
|
|
19
|
+
...(query.from ? { from: query.from } : {}),
|
|
20
|
+
...(query.to ? { to: query.to } : {}),
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
: {}),
|
|
24
|
+
...(query.model ? { model: query.model } : {}),
|
|
25
|
+
...(query.timeBucket ? { timeBucket: query.timeBucket } : {}),
|
|
26
|
+
...(query.tenant ? { tenant: query.tenant } : {}),
|
|
27
|
+
...(((_a = query.groupBy) === null || _a === void 0 ? void 0 : _a.length) ? { groupBy: query.groupBy } : {}),
|
|
28
|
+
ownerId: userId,
|
|
29
|
+
};
|
|
30
|
+
const summary = await (0, context_1.getAgentService)().getActivityProcessor().getActivitySummary(params);
|
|
31
|
+
res.json(summary);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
(0, route_errors_1.respondRouteError)(res, error);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.getActivitySummary = getActivitySummary;
|
|
38
|
+
//# sourceMappingURL=summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/routes/activities/summary.ts"],"names":[],"mappings":";;;AAEA,6BAAuB;AACvB,2CAA+C;AAC/C,uDAAqD;AACrD,wCAA0D;AAC1D,kDAAmD;AAEnD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,uCAA6B,EAAE,CAAC,CAAA;AAEnE,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;;IACtE,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,IAAA,2BAAa,EAAC,GAAG,CAAC,CAAA;QAEjC,MAAM,MAAM,GAA0B;YACpC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;gBACxB,CAAC,CAAC;oBACE,MAAM,EAAE;wBACN,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,EAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,MAAM;SAChB,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC,oBAAoB,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACzF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,gCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC,CAAA;AA1BY,QAAA,kBAAkB,sBA0B9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConfig.d.ts","sourceRoot":"","sources":["../../../src/routes/agents/getConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAOhD,eAAO,MAAM,qBAAqB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAOtE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAgentConfiguration = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const context_1 = require("../../context");
|
|
6
|
+
const schemas_1 = require("../schemas");
|
|
7
|
+
const validatedSchema = zod_1.z.object({ query: schemas_1.getAgentConfigQuerySchema });
|
|
8
|
+
const getAgentConfiguration = async (req, res) => {
|
|
9
|
+
const { query } = validatedSchema.parse(req.validated);
|
|
10
|
+
const agents = await (0, context_1.getAgentService)()
|
|
11
|
+
.getAgentProcessor()
|
|
12
|
+
.getAgentsConfiguration(req.userId, query.contextKey);
|
|
13
|
+
res.json({ agents });
|
|
14
|
+
};
|
|
15
|
+
exports.getAgentConfiguration = getAgentConfiguration;
|
|
16
|
+
//# sourceMappingURL=getConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConfig.js","sourceRoot":"","sources":["../../../src/routes/agents/getConfig.ts"],"names":[],"mappings":";;;AACA,6BAAuB;AACvB,2CAA+C;AAC/C,wCAAsD;AAEtD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,mCAAyB,EAAE,CAAC,CAAA;AAE/D,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACzE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAe,GAAE;SACnC,iBAAiB,EAAE;SACnB,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAEvD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AACtB,CAAC,CAAA;AAPY,QAAA,qBAAqB,yBAOjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/agents/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,4CAAW,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.agentRoutes = void 0;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const middleware_1 = require("../../middleware");
|
|
6
|
+
const getConfig_1 = require("./getConfig");
|
|
7
|
+
const upsertPreferences_1 = require("./upsertPreferences");
|
|
8
|
+
const { AgentValidationMiddleware } = middleware_1.ValidationMiddleware;
|
|
9
|
+
exports.agentRoutes = (0, express_1.Router)();
|
|
10
|
+
exports.agentRoutes.get('/agents/config', AgentValidationMiddleware.validateGetAgentConfig, getConfig_1.getAgentConfiguration);
|
|
11
|
+
exports.agentRoutes.post('/agents/preferences', AgentValidationMiddleware.validateUpsertAgentPreferencesBatch, upsertPreferences_1.upsertAgentPreferencesBatch);
|
|
12
|
+
exports.agentRoutes.post('/agents/:agentName/preferences', AgentValidationMiddleware.validateUpsertAgentPreferences, upsertPreferences_1.upsertAgentPreferences);
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/agents/index.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAChC,iDAAuD;AACvD,2CAAmD;AACnD,2DAAyF;AAEzF,MAAM,EAAE,yBAAyB,EAAE,GAAG,iCAAoB,CAAA;AAE7C,QAAA,WAAW,GAAG,IAAA,gBAAM,GAAE,CAAA;AAEnC,mBAAW,CAAC,GAAG,CACb,gBAAgB,EAChB,yBAAyB,CAAC,sBAAsB,EAChD,iCAAqB,CACtB,CAAA;AACD,mBAAW,CAAC,IAAI,CACd,qBAAqB,EACrB,yBAAyB,CAAC,mCAAmC,EAC7D,+CAA2B,CAC5B,CAAA;AACD,mBAAW,CAAC,IAAI,CACd,gCAAgC,EAChC,yBAAyB,CAAC,8BAA8B,EACxD,0CAAsB,CACvB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Request, Response } from 'express';
|
|
2
|
+
export declare const upsertAgentPreferences: (req: Request, res: Response) => Promise<void>;
|
|
3
|
+
export declare const upsertAgentPreferencesBatch: (req: Request, res: Response) => Promise<void>;
|
|
4
|
+
//# sourceMappingURL=upsertPreferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upsertPreferences.d.ts","sourceRoot":"","sources":["../../../src/routes/agents/upsertPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAmBhD,eAAO,MAAM,sBAAsB,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAavE,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAU,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAgB5E,CAAA"}
|