@aphexcms/cms-core 9.7.0 → 9.8.1
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/agent-chat-state.svelte.d.ts +38 -0
- package/dist/agent-chat-state.svelte.d.ts.map +1 -0
- package/dist/agent-chat-state.svelte.js +86 -0
- package/dist/ai/content-workspace-tools.d.ts +3 -0
- package/dist/ai/content-workspace-tools.d.ts.map +1 -0
- package/dist/ai/content-workspace-tools.js +50 -0
- package/dist/ai/default-system-prompt.d.ts +2 -0
- package/dist/ai/default-system-prompt.d.ts.map +1 -0
- package/dist/ai/default-system-prompt.js +15 -0
- package/dist/ai/index.d.ts +2 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +4 -0
- package/dist/ai/interfaces/ai-provider.d.ts +67 -0
- package/dist/ai/interfaces/ai-provider.d.ts.map +1 -0
- package/dist/ai/interfaces/ai-provider.js +16 -0
- package/dist/ai/run-agent-turn.d.ts +29 -0
- package/dist/ai/run-agent-turn.d.ts.map +1 -0
- package/dist/ai/run-agent-turn.js +166 -0
- package/dist/api/agent-chat.d.ts +27 -0
- package/dist/api/agent-chat.d.ts.map +1 -0
- package/dist/api/agent-chat.js +64 -0
- package/dist/api/documents.d.ts +8 -3
- package/dist/api/documents.d.ts.map +1 -1
- package/dist/api/documents.js +6 -6
- package/dist/api/schemas/agent-chat.d.ts +45 -0
- package/dist/api/schemas/agent-chat.d.ts.map +1 -0
- package/dist/api/schemas/agent-chat.js +35 -0
- package/dist/api/schemas/agent-operations.d.ts +13 -0
- package/dist/api/schemas/agent-operations.d.ts.map +1 -0
- package/dist/api/schemas/agent-operations.js +15 -0
- package/dist/api/schemas/documents.d.ts +22 -0
- package/dist/api/schemas/documents.d.ts.map +1 -1
- package/dist/api/schemas/documents.js +20 -2
- package/dist/chunk-recovery.d.ts +33 -0
- package/dist/chunk-recovery.d.ts.map +1 -0
- package/dist/chunk-recovery.js +131 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/ui.d.ts +1 -0
- package/dist/client/ui.d.ts.map +1 -1
- package/dist/client/ui.js +1 -0
- package/dist/components/AdminApp.svelte +37 -3
- package/dist/components/AdminApp.svelte.d.ts.map +1 -1
- package/dist/components/admin/ActivityView.svelte +251 -42
- package/dist/components/admin/ActivityView.svelte.d.ts.map +1 -1
- package/dist/components/admin/AgentChat.svelte +977 -0
- package/dist/components/admin/AgentChat.svelte.d.ts +17 -0
- package/dist/components/admin/AgentChat.svelte.d.ts.map +1 -0
- package/dist/components/admin/DocumentEditor.svelte +273 -60
- package/dist/components/admin/DocumentEditor.svelte.d.ts +6 -0
- package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
- package/dist/components/admin/ObjectModal.svelte +4 -2
- package/dist/components/admin/fields/ArrayField.svelte +4 -1
- package/dist/components/admin/fields/ReferenceField.svelte +12 -1
- package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/layout/Sidebar.svelte +26 -2
- package/dist/components/layout/Sidebar.svelte.d.ts +1 -0
- package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -1
- package/dist/db/interfaces/agent-change-sets.d.ts +17 -0
- package/dist/db/interfaces/agent-change-sets.d.ts.map +1 -0
- package/dist/db/interfaces/agent-change-sets.js +1 -0
- package/dist/db/interfaces/document.d.ts +25 -3
- package/dist/db/interfaces/document.d.ts.map +1 -1
- package/dist/db/interfaces/document.js +19 -1
- package/dist/db/interfaces/index.d.ts +4 -1
- package/dist/db/interfaces/index.d.ts.map +1 -1
- package/dist/db/interfaces/index.js +1 -1
- package/dist/document-refresh.svelte.d.ts +2 -0
- package/dist/document-refresh.svelte.d.ts.map +1 -1
- package/dist/document-refresh.svelte.js +15 -0
- package/dist/document-workspace-registry.svelte.d.ts +15 -0
- package/dist/document-workspace-registry.svelte.d.ts.map +1 -0
- package/dist/document-workspace-registry.svelte.js +30 -0
- package/dist/field-validation/utils.d.ts.map +1 -1
- package/dist/field-validation/utils.js +211 -29
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +2 -0
- package/dist/lib/agent-chat-state.svelte.d.ts +38 -0
- package/dist/lib/agent-chat-state.svelte.d.ts.map +1 -0
- package/dist/lib/agent-chat-state.svelte.js +87 -0
- package/dist/lib/agent-chat-state.svelte.js.map +1 -0
- package/dist/lib/ai/content-workspace-tools.d.ts +3 -0
- package/dist/lib/ai/content-workspace-tools.d.ts.map +1 -0
- package/dist/lib/ai/content-workspace-tools.js +51 -0
- package/dist/lib/ai/content-workspace-tools.js.map +1 -0
- package/dist/lib/ai/default-system-prompt.d.ts +2 -0
- package/dist/lib/ai/default-system-prompt.d.ts.map +1 -0
- package/dist/lib/ai/default-system-prompt.js +16 -0
- package/dist/lib/ai/default-system-prompt.js.map +1 -0
- package/dist/lib/ai/index.d.ts +2 -0
- package/dist/lib/ai/index.d.ts.map +1 -0
- package/dist/lib/ai/index.js +5 -0
- package/dist/lib/ai/index.js.map +1 -0
- package/dist/lib/ai/interfaces/ai-provider.d.ts +67 -0
- package/dist/lib/ai/interfaces/ai-provider.d.ts.map +1 -0
- package/dist/lib/ai/interfaces/ai-provider.js +17 -0
- package/dist/lib/ai/interfaces/ai-provider.js.map +1 -0
- package/dist/lib/ai/run-agent-turn.d.ts +29 -0
- package/dist/lib/ai/run-agent-turn.d.ts.map +1 -0
- package/dist/lib/ai/run-agent-turn.js +167 -0
- package/dist/lib/ai/run-agent-turn.js.map +1 -0
- package/dist/lib/api/agent-chat.d.ts +27 -0
- package/dist/lib/api/agent-chat.d.ts.map +1 -0
- package/dist/lib/api/agent-chat.js +65 -0
- package/dist/lib/api/agent-chat.js.map +1 -0
- package/dist/lib/api/documents.d.ts +8 -3
- package/dist/lib/api/documents.d.ts.map +1 -1
- package/dist/lib/api/documents.js +6 -6
- package/dist/lib/api/documents.js.map +1 -1
- package/dist/lib/api/schemas/agent-chat.d.ts +45 -0
- package/dist/lib/api/schemas/agent-chat.d.ts.map +1 -0
- package/dist/lib/api/schemas/agent-chat.js +36 -0
- package/dist/lib/api/schemas/agent-chat.js.map +1 -0
- package/dist/lib/api/schemas/agent-operations.d.ts +13 -0
- package/dist/lib/api/schemas/agent-operations.d.ts.map +1 -0
- package/dist/lib/api/schemas/agent-operations.js +16 -0
- package/dist/lib/api/schemas/agent-operations.js.map +1 -0
- package/dist/lib/api/schemas/documents.d.ts +22 -0
- package/dist/lib/api/schemas/documents.d.ts.map +1 -1
- package/dist/lib/api/schemas/documents.js +20 -2
- package/dist/lib/api/schemas/documents.js.map +1 -1
- package/dist/lib/chunk-recovery.d.ts +33 -0
- package/dist/lib/chunk-recovery.d.ts.map +1 -0
- package/dist/lib/chunk-recovery.js +132 -0
- package/dist/lib/chunk-recovery.js.map +1 -0
- package/dist/lib/client/index.d.ts +1 -0
- package/dist/lib/client/index.d.ts.map +1 -1
- package/dist/lib/client/index.js +1 -0
- package/dist/lib/client/index.js.map +1 -1
- package/dist/lib/client/ui.d.ts +1 -0
- package/dist/lib/client/ui.d.ts.map +1 -1
- package/dist/lib/client/ui.js +1 -0
- package/dist/lib/client/ui.js.map +1 -1
- package/dist/lib/components/index.d.ts +1 -0
- package/dist/lib/components/index.d.ts.map +1 -1
- package/dist/lib/components/index.js +1 -0
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/db/interfaces/agent-change-sets.d.ts +17 -0
- package/dist/lib/db/interfaces/agent-change-sets.d.ts.map +1 -0
- package/dist/lib/db/interfaces/agent-change-sets.js +2 -0
- package/dist/lib/db/interfaces/agent-change-sets.js.map +1 -0
- package/dist/lib/db/interfaces/document.d.ts +25 -3
- package/dist/lib/db/interfaces/document.d.ts.map +1 -1
- package/dist/lib/db/interfaces/document.js +19 -1
- package/dist/lib/db/interfaces/document.js.map +1 -1
- package/dist/lib/db/interfaces/index.d.ts +4 -1
- package/dist/lib/db/interfaces/index.d.ts.map +1 -1
- package/dist/lib/db/interfaces/index.js +1 -1
- package/dist/lib/db/interfaces/index.js.map +1 -1
- package/dist/lib/document-refresh.svelte.d.ts +2 -0
- package/dist/lib/document-refresh.svelte.d.ts.map +1 -1
- package/dist/lib/document-refresh.svelte.js +15 -0
- package/dist/lib/document-refresh.svelte.js.map +1 -1
- package/dist/lib/document-workspace-registry.svelte.d.ts +15 -0
- package/dist/lib/document-workspace-registry.svelte.d.ts.map +1 -0
- package/dist/lib/document-workspace-registry.svelte.js +31 -0
- package/dist/lib/document-workspace-registry.svelte.js.map +1 -0
- package/dist/lib/field-validation/utils.d.ts.map +1 -1
- package/dist/lib/field-validation/utils.js +211 -29
- package/dist/lib/field-validation/utils.js.map +1 -1
- package/dist/lib/hooks.d.ts +2 -0
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +2 -0
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/local-api/collection-api.d.ts +7 -2
- package/dist/lib/local-api/collection-api.d.ts.map +1 -1
- package/dist/lib/local-api/collection-api.js +17 -10
- package/dist/lib/local-api/collection-api.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +39 -4
- package/dist/lib/mcp/tools.d.ts.map +1 -1
- package/dist/lib/mcp/tools.js +546 -362
- package/dist/lib/mcp/tools.js.map +1 -1
- package/dist/lib/plugins/resolver.d.ts +8 -1
- package/dist/lib/plugins/resolver.d.ts.map +1 -1
- package/dist/lib/plugins/resolver.js +14 -1
- package/dist/lib/plugins/resolver.js.map +1 -1
- package/dist/lib/plugins/types.d.ts +23 -2
- package/dist/lib/plugins/types.d.ts.map +1 -1
- package/dist/lib/plugins/types.js.map +1 -1
- package/dist/lib/preview/stega.d.ts +2 -2
- package/dist/lib/preview/stega.d.ts.map +1 -1
- package/dist/lib/preview/stega.js +52 -29
- package/dist/lib/preview/stega.js.map +1 -1
- package/dist/lib/schema-utils/validator.d.ts.map +1 -1
- package/dist/lib/schema-utils/validator.js +5 -2
- package/dist/lib/schema-utils/validator.js.map +1 -1
- package/dist/lib/server/api/index.d.ts.map +1 -1
- package/dist/lib/server/api/index.js +8 -0
- package/dist/lib/server/api/index.js.map +1 -1
- package/dist/lib/server/api/routes/agent-change-sets.d.ts +4 -0
- package/dist/lib/server/api/routes/agent-change-sets.d.ts.map +1 -0
- package/dist/lib/server/api/routes/agent-change-sets.js +132 -0
- package/dist/lib/server/api/routes/agent-change-sets.js.map +1 -0
- package/dist/lib/server/api/routes/agent-chat.d.ts +14 -0
- package/dist/lib/server/api/routes/agent-chat.d.ts.map +1 -0
- package/dist/lib/server/api/routes/agent-chat.js +224 -0
- package/dist/lib/server/api/routes/agent-chat.js.map +1 -0
- package/dist/lib/server/api/routes/document-versions.d.ts.map +1 -1
- package/dist/lib/server/api/routes/document-versions.js +16 -2
- package/dist/lib/server/api/routes/document-versions.js.map +1 -1
- package/dist/lib/server/api/routes/documents-by-id.d.ts.map +1 -1
- package/dist/lib/server/api/routes/documents-by-id.js +11 -1
- package/dist/lib/server/api/routes/documents-by-id.js.map +1 -1
- package/dist/lib/server/api/routes/documents-publish.d.ts.map +1 -1
- package/dist/lib/server/api/routes/documents-publish.js +36 -3
- package/dist/lib/server/api/routes/documents-publish.js.map +1 -1
- package/dist/lib/server/api/routes/jobs.d.ts.map +1 -1
- package/dist/lib/server/api/routes/jobs.js +4 -2
- package/dist/lib/server/api/routes/jobs.js.map +1 -1
- package/dist/lib/server/api/routes/resolve-created-by.d.ts +13 -0
- package/dist/lib/server/api/routes/resolve-created-by.d.ts.map +1 -0
- package/dist/lib/server/api/routes/resolve-created-by.js +31 -0
- package/dist/lib/server/api/routes/resolve-created-by.js.map +1 -0
- package/dist/lib/server/index.d.ts +1 -0
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +1 -0
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/services/references-service.d.ts +1 -1
- package/dist/lib/services/references-service.d.ts.map +1 -1
- package/dist/lib/services/version-service.d.ts +4 -4
- package/dist/lib/services/version-service.d.ts.map +1 -1
- package/dist/lib/services/version-service.js +15 -11
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/type-gen.d.ts.map +1 -1
- package/dist/lib/type-gen.js +11 -0
- package/dist/lib/type-gen.js.map +1 -1
- package/dist/lib/types/agent-change-sets.d.ts +70 -0
- package/dist/lib/types/agent-change-sets.d.ts.map +1 -0
- package/dist/lib/types/agent-change-sets.js +7 -0
- package/dist/lib/types/agent-change-sets.js.map +1 -0
- package/dist/lib/types/agent-stream.d.ts +60 -0
- package/dist/lib/types/agent-stream.d.ts.map +1 -0
- package/dist/lib/types/agent-stream.js +12 -0
- package/dist/lib/types/agent-stream.js.map +1 -0
- package/dist/lib/types/agent-tools.d.ts +65 -0
- package/dist/lib/types/agent-tools.d.ts.map +1 -0
- package/dist/lib/types/agent-tools.js +2 -0
- package/dist/lib/types/agent-tools.js.map +1 -0
- package/dist/lib/types/config.d.ts +19 -0
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/document-workspace.d.ts +53 -0
- package/dist/lib/types/document-workspace.d.ts.map +1 -0
- package/dist/lib/types/document-workspace.js +15 -0
- package/dist/lib/types/document-workspace.js.map +1 -0
- package/dist/lib/types/document.d.ts +5 -0
- package/dist/lib/types/document.d.ts.map +1 -1
- package/dist/lib/types/index.d.ts +2 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js +2 -0
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/schemas.js +1 -1
- package/dist/lib/types/schemas.js.map +1 -1
- package/dist/lib/utils/fetch-remote-file.d.ts +11 -0
- package/dist/lib/utils/fetch-remote-file.d.ts.map +1 -0
- package/dist/lib/utils/fetch-remote-file.js +169 -0
- package/dist/lib/utils/fetch-remote-file.js.map +1 -0
- package/dist/local-api/collection-api.d.ts +7 -2
- package/dist/local-api/collection-api.d.ts.map +1 -1
- package/dist/local-api/collection-api.js +17 -10
- package/dist/mcp/tools.d.ts +39 -4
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +546 -362
- package/dist/plugins/resolver.d.ts +8 -1
- package/dist/plugins/resolver.d.ts.map +1 -1
- package/dist/plugins/resolver.js +14 -1
- package/dist/plugins/types.d.ts +23 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/preview/stega.d.ts +2 -2
- package/dist/preview/stega.d.ts.map +1 -1
- package/dist/preview/stega.js +52 -29
- package/dist/schema-utils/validator.d.ts.map +1 -1
- package/dist/schema-utils/validator.js +5 -2
- package/dist/server/api/index.d.ts.map +1 -1
- package/dist/server/api/index.js +8 -0
- package/dist/server/api/routes/agent-change-sets.d.ts +4 -0
- package/dist/server/api/routes/agent-change-sets.d.ts.map +1 -0
- package/dist/server/api/routes/agent-change-sets.js +131 -0
- package/dist/server/api/routes/agent-chat.d.ts +14 -0
- package/dist/server/api/routes/agent-chat.d.ts.map +1 -0
- package/dist/server/api/routes/agent-chat.js +223 -0
- package/dist/server/api/routes/document-versions.d.ts.map +1 -1
- package/dist/server/api/routes/document-versions.js +16 -2
- package/dist/server/api/routes/documents-by-id.d.ts.map +1 -1
- package/dist/server/api/routes/documents-by-id.js +11 -1
- package/dist/server/api/routes/documents-publish.d.ts.map +1 -1
- package/dist/server/api/routes/documents-publish.js +36 -3
- package/dist/server/api/routes/jobs.d.ts.map +1 -1
- package/dist/server/api/routes/jobs.js +4 -2
- package/dist/server/api/routes/resolve-created-by.d.ts +13 -0
- package/dist/server/api/routes/resolve-created-by.d.ts.map +1 -0
- package/dist/server/api/routes/resolve-created-by.js +30 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/services/references-service.d.ts +1 -1
- package/dist/services/references-service.d.ts.map +1 -1
- package/dist/services/version-service.d.ts +4 -4
- package/dist/services/version-service.d.ts.map +1 -1
- package/dist/services/version-service.js +15 -11
- package/dist/type-gen.d.ts.map +1 -1
- package/dist/type-gen.js +11 -0
- package/dist/types/agent-change-sets.d.ts +70 -0
- package/dist/types/agent-change-sets.d.ts.map +1 -0
- package/dist/types/agent-change-sets.js +6 -0
- package/dist/types/agent-stream.d.ts +60 -0
- package/dist/types/agent-stream.d.ts.map +1 -0
- package/dist/types/agent-stream.js +11 -0
- package/dist/types/agent-tools.d.ts +65 -0
- package/dist/types/agent-tools.d.ts.map +1 -0
- package/dist/types/agent-tools.js +1 -0
- package/dist/types/config.d.ts +19 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/document-workspace.d.ts +53 -0
- package/dist/types/document-workspace.d.ts.map +1 -0
- package/dist/types/document-workspace.js +14 -0
- package/dist/types/document.d.ts +5 -0
- package/dist/types/document.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/schemas.js +1 -1
- package/dist/utils/fetch-remote-file.d.ts +11 -0
- package/dist/utils/fetch-remote-file.d.ts.map +1 -0
- package/dist/utils/fetch-remote-file.js +168 -0
- package/package.json +5 -2
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// chunk-recovery.ts — standalone on purpose (importable as `@aphexcms/cms-core/chunk-recovery`
|
|
2
|
+
// via the package's `./*` wildcard export), NOT re-exported from `/client`: that barrel pulls in
|
|
3
|
+
// the admin UI component tree, and this is meant to run from a public-facing site's
|
|
4
|
+
// `hooks.client.ts` — the hottest of hot paths, loaded by every visitor. No npm dependencies;
|
|
5
|
+
// `installNavigationTimeoutRecovery` uses SvelteKit's own `$app/navigation` virtual module (not
|
|
6
|
+
// an installed package) and must be called from a `.svelte` component's `<script>`, not
|
|
7
|
+
// `hooks.client.ts` — see its doc comment.
|
|
8
|
+
//
|
|
9
|
+
// A route's lazily-loaded JS chunk (or the entry module itself) can fail to fetch from a
|
|
10
|
+
// transient CDN/proxy blip — a dropped connection between an edge network and the origin, or a
|
|
11
|
+
// stale cached HTML document referencing since-replaced hashed filenames.
|
|
12
|
+
//
|
|
13
|
+
// Three distinct gaps, three distinct hooks:
|
|
14
|
+
// 1. The *initial* hydration path (the entry module itself fails to load) throws/rejects in a
|
|
15
|
+
// way the browser surfaces globally — `installChunkLoadRecovery()`'s `window` listeners below
|
|
16
|
+
// catch this.
|
|
17
|
+
// 2. A client-side *navigation* (clicking a link to a lazily-loaded route) fails differently:
|
|
18
|
+
// SvelteKit's own router catches the rejected dynamic import internally, routes it through
|
|
19
|
+
// the app's `handleError` client hook, and resolves the navigation as failed — it never
|
|
20
|
+
// becomes an `unhandledrejection` or a global `error` event, so case 1's listeners are
|
|
21
|
+
// structurally blind to it. Confirmed live: a real "click Blog, nothing happens" report
|
|
22
|
+
// produced exactly this — three `handleError`-logged "Failed to fetch dynamically imported
|
|
23
|
+
// module" errors with no reload, since nothing was listening. `handleChunkLoadClientError`
|
|
24
|
+
// is meant to be called from that hook (see `hooks.client.ts`'s `handleError` export).
|
|
25
|
+
// 3. Both (1) and (2) only fire once SvelteKit (or the browser) has already decided the load
|
|
26
|
+
// failed — and on a real transient origin blip, that decision can ride on the CDN/proxy's own
|
|
27
|
+
// gateway timeout, which is not fast (observed live: ~90s on an actual 522). A visitor
|
|
28
|
+
// watching a click do nothing for a minute-plus before it silently self-heals has not had a
|
|
29
|
+
// good experience, even though the page technically "recovered." `installNavigationTimeoutRecovery`
|
|
30
|
+
// doesn't wait for that — it pre-empts it, forcing a hard navigation to the destination itself
|
|
31
|
+
// after a short, generous timeout if SvelteKit's own client-side navigation hasn't finished by
|
|
32
|
+
// then, rather than reacting to a failure that may take a minute to be reported as one.
|
|
33
|
+
import { beforeNavigate, afterNavigate } from '$app/navigation';
|
|
34
|
+
const SESSION_KEY = 'aphex:chunk-reload-attempted';
|
|
35
|
+
function isChunkLoadFailure(message) {
|
|
36
|
+
return /Failed to fetch dynamically imported module|error loading dynamically imported module|Importing a module script failed|Load failed/i.test(message);
|
|
37
|
+
}
|
|
38
|
+
function reloadOnce(destination) {
|
|
39
|
+
// One retry masks a transient blip. A second failure in the same session means something
|
|
40
|
+
// is actually wrong (origin down, not just a hiccup) — reloading again would just loop
|
|
41
|
+
// forever, and the visitor is better served by the broken-but-stable page at that point.
|
|
42
|
+
if (sessionStorage.getItem(SESSION_KEY))
|
|
43
|
+
return;
|
|
44
|
+
sessionStorage.setItem(SESSION_KEY, '1');
|
|
45
|
+
// A failed *navigation* means the address bar is still showing the page the visitor was
|
|
46
|
+
// leaving, not the one they clicked into — reloading `location.href` re-fetches the old
|
|
47
|
+
// page, not the destination. Reload straight to the destination when we know it.
|
|
48
|
+
if (destination) {
|
|
49
|
+
location.href = destination;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
location.reload();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Call once from `hooks.client.ts`. Reloads the page a single time if a code-split chunk or
|
|
57
|
+
* the entry module fails to load during initial hydration, masking a transient CDN/origin
|
|
58
|
+
* hiccup instead of leaving the page rendered-but-unresponsive. Does NOT cover a failed
|
|
59
|
+
* client-side navigation — see `handleChunkLoadClientError` for that.
|
|
60
|
+
*/
|
|
61
|
+
export function installChunkLoadRecovery() {
|
|
62
|
+
if (typeof window === 'undefined')
|
|
63
|
+
return;
|
|
64
|
+
// Resource load errors (a <script src> that 404s/522s) don't bubble — only the capture
|
|
65
|
+
// phase on window sees them.
|
|
66
|
+
window.addEventListener('error', (event) => {
|
|
67
|
+
const target = event.target;
|
|
68
|
+
if (target instanceof HTMLScriptElement && target.src.includes('/_app/immutable/')) {
|
|
69
|
+
reloadOnce();
|
|
70
|
+
}
|
|
71
|
+
}, true);
|
|
72
|
+
window.addEventListener('unhandledrejection', (event) => {
|
|
73
|
+
const message = event.reason instanceof Error ? event.reason.message : String(event.reason);
|
|
74
|
+
if (isChunkLoadFailure(message)) {
|
|
75
|
+
reloadOnce();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Call from `hooks.client.ts`'s exported `handleError` (SvelteKit's `HandleClientError`) with
|
|
81
|
+
* the error it received and `event.url` (the destination of the failed navigation — SvelteKit
|
|
82
|
+
* doesn't update `location`/the address bar until a navigation resolves, so at the moment this
|
|
83
|
+
* fires the browser is still showing wherever the visitor came *from*). Covers a failed
|
|
84
|
+
* client-side navigation to a lazily-loaded route — the one case `installChunkLoadRecovery`'s
|
|
85
|
+
* global listeners can't see, since SvelteKit's router catches that rejection internally before
|
|
86
|
+
* it ever reaches `window`.
|
|
87
|
+
*/
|
|
88
|
+
export function handleChunkLoadClientError(error, destinationUrl) {
|
|
89
|
+
if (typeof window === 'undefined')
|
|
90
|
+
return;
|
|
91
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
92
|
+
if (isChunkLoadFailure(message)) {
|
|
93
|
+
reloadOnce(destinationUrl ? String(destinationUrl) : undefined);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Call once, at the top level of the root `+layout.svelte`'s `<script>` (must run during
|
|
98
|
+
* component initialization — `beforeNavigate`/`afterNavigate` require it). Starts a `timeoutMs`
|
|
99
|
+
* timer on every client-side navigation; if it hasn't finished by then, forces a hard navigation
|
|
100
|
+
* to the destination instead of waiting for SvelteKit to eventually report the failure itself.
|
|
101
|
+
* Shares `reloadOnce`'s session guard, so if this fires, the reactive `handleError`-based recovery
|
|
102
|
+
* for the same failed navigation (which may still resolve later) is a no-op rather than a second,
|
|
103
|
+
* redundant navigation.
|
|
104
|
+
*
|
|
105
|
+
* `timeoutMs` defaults to 4000 — several times a normal navigation's real-world latency (observed
|
|
106
|
+
* consistently under 1s), generous enough to avoid pre-empting a legitimately-slow-but-working
|
|
107
|
+
* request, while still bounding the worst case to seconds instead of however long the CDN/proxy's
|
|
108
|
+
* own gateway timeout happens to be.
|
|
109
|
+
*/
|
|
110
|
+
export function installNavigationTimeoutRecovery(timeoutMs = 4000) {
|
|
111
|
+
if (typeof window === 'undefined')
|
|
112
|
+
return;
|
|
113
|
+
let timer;
|
|
114
|
+
beforeNavigate((nav) => {
|
|
115
|
+
clearTimeout(timer);
|
|
116
|
+
const target = nav.to?.url;
|
|
117
|
+
// `willUnload` navigations (external links, full-page nav) are already real browser
|
|
118
|
+
// navigations with their own native loading behavior — nothing to pre-empt there.
|
|
119
|
+
if (!target || nav.willUnload)
|
|
120
|
+
return;
|
|
121
|
+
timer = setTimeout(() => {
|
|
122
|
+
if (sessionStorage.getItem(SESSION_KEY))
|
|
123
|
+
return;
|
|
124
|
+
sessionStorage.setItem(SESSION_KEY, '1');
|
|
125
|
+
location.href = target.href;
|
|
126
|
+
}, timeoutMs);
|
|
127
|
+
});
|
|
128
|
+
afterNavigate(() => {
|
|
129
|
+
clearTimeout(timer);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=chunk-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-recovery.js","sourceRoot":"","sources":["../../src/lib/chunk-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export { createAdminNav, setAdminNav, useAdminNav, type AdminNav, type AdminPara
|
|
|
11
11
|
export { setPermissionsContext, usePermissions, type PermissionsContext } from '../permissions-context.svelte.js';
|
|
12
12
|
export * from '../schema-utils/index.js';
|
|
13
13
|
export { default as DocumentEditor } from '../components/admin/DocumentEditor.svelte';
|
|
14
|
+
export { default as AgentChat } from '../components/admin/AgentChat.svelte';
|
|
14
15
|
export { default as SchemaField } from '../components/admin/SchemaField.svelte';
|
|
15
16
|
export { default as PluginSettingsPanel } from '../components/admin/PluginSettingsPanel.svelte';
|
|
16
17
|
export { setBlockPreviews, useBlockPreviews, type BlockPreviewProps, type BlockPreviewLookup } from '../admin/block-previews.svelte.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAGvC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAGhG,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAG1F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAG7F,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAK3G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAGvC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAGhG,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAG1F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAG7F,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAK3G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/lib/client/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export { setPermissionsContext, usePermissions } from '../permissions-context.sv
|
|
|
21
21
|
export * from '../schema-utils/index.js';
|
|
22
22
|
// Components (UI components for the admin interface)
|
|
23
23
|
export { default as DocumentEditor } from '../components/admin/DocumentEditor.svelte';
|
|
24
|
+
export { default as AgentChat } from '../components/admin/AgentChat.svelte';
|
|
24
25
|
export { default as SchemaField } from '../components/admin/SchemaField.svelte';
|
|
25
26
|
export { default as PluginSettingsPanel } from '../components/admin/PluginSettingsPanel.svelte';
|
|
26
27
|
// Inline editor previews for custom rich-text block types (app-owned presentation).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/client/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,oEAAoE;AAEpE,gDAAgD;AAChD,cAAc,gBAAgB,CAAC;AAG/B,4CAA4C;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,+DAA+D;AAC/D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,uDAAuD;AACvD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,2EAA2E;AAC3E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EAGb,MAAM,uBAAuB,CAAC;AAE/B,+EAA+E;AAC/E,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAElB,MAAM,kCAAkC,CAAC;AAC1C,2FAA2F;AAC3F,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EAIX,MAAM,qBAAqB,CAAC;AAE7B,uDAAuD;AACvD,OAAO,EACN,qBAAqB,EACrB,cAAc,EAEd,MAAM,+BAA+B,CAAC;AAEvC,8CAA8C;AAC9C,cAAc,uBAAuB,CAAC;AAEtC,qDAAqD;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAEhG,oFAAoF;AACpF,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAGhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEzE,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE1F,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAE7F,mCAAmC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAG7B,uEAAuE;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,2DAA2D;AAC3D,OAAO,EACN,aAAa,EAEb,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAE3G,yFAAyF;AACzF,0FAA0F;AAC1F,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/client/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,oEAAoE;AAEpE,gDAAgD;AAChD,cAAc,gBAAgB,CAAC;AAG/B,4CAA4C;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,+DAA+D;AAC/D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,uDAAuD;AACvD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,2EAA2E;AAC3E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EAGb,MAAM,uBAAuB,CAAC;AAE/B,+EAA+E;AAC/E,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAElB,MAAM,kCAAkC,CAAC;AAC1C,2FAA2F;AAC3F,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EAIX,MAAM,qBAAqB,CAAC;AAE7B,uDAAuD;AACvD,OAAO,EACN,qBAAqB,EACrB,cAAc,EAEd,MAAM,+BAA+B,CAAC;AAEvC,8CAA8C;AAC9C,cAAc,uBAAuB,CAAC;AAEtC,qDAAqD;AACrD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAEhG,oFAAoF;AACpF,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAGhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEzE,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE1F,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAE7F,mCAAmC;AACnC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAG7B,uEAAuE;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,2DAA2D;AAC3D,OAAO,EACN,aAAa,EAEb,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAE3G,yFAAyF;AACzF,0FAA0F;AAC1F,4EAA4E;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/lib/client/ui.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export { setPermissionsContext, usePermissions, type PermissionsContext } from '
|
|
|
12
12
|
export * from '../schema-utils/index.js';
|
|
13
13
|
export { setBlockPreviews, useBlockPreviews, type BlockPreviewProps, type BlockPreviewLookup } from '../admin/block-previews.svelte.js';
|
|
14
14
|
export { default as Sidebar } from '../components/layout/Sidebar.svelte';
|
|
15
|
+
export { default as AgentChat } from '../components/admin/AgentChat.svelte';
|
|
15
16
|
export { default as PermissionsDebug } from '../components/admin/PermissionsDebug.svelte';
|
|
16
17
|
export { default as PluginSettingsPanel } from '../components/admin/PluginSettingsPanel.svelte';
|
|
17
18
|
export { default as ActivityView } from '../components/admin/ActivityView.svelte';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAgBA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAGvC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAEhG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGlF,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAG3G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAgBA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAGvC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAEhG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGlF,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAG3G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/lib/client/ui.js
CHANGED
|
@@ -36,6 +36,7 @@ export * from '../schema-utils/index.js';
|
|
|
36
36
|
export { setBlockPreviews, useBlockPreviews } from '../admin/block-previews.svelte.js';
|
|
37
37
|
// Admin chrome
|
|
38
38
|
export { default as Sidebar } from '../components/layout/Sidebar.svelte';
|
|
39
|
+
export { default as AgentChat } from '../components/admin/AgentChat.svelte';
|
|
39
40
|
export { default as PermissionsDebug } from '../components/admin/PermissionsDebug.svelte';
|
|
40
41
|
// Plugin settings panel — renders its own inputs, does not pull the field registry.
|
|
41
42
|
export { default as PluginSettingsPanel } from '../components/admin/PluginSettingsPanel.svelte';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qCAAqC;AACrC,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAE1E,uBAAuB;AACvB,cAAc,gBAAgB,CAAC;AAG/B,2DAA2D;AAC3D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,qCAAqC;AACrC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,sCAAsC;AACtC,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EAGb,MAAM,uBAAuB,CAAC;AAG/B,kFAAkF;AAClF,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAElB,MAAM,kCAAkC,CAAC;AAE1C,uBAAuB;AACvB,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EAIX,MAAM,qBAAqB,CAAC;AAE7B,mDAAmD;AACnD,OAAO,EACN,qBAAqB,EACrB,cAAc,EAEd,MAAM,+BAA+B,CAAC;AAEvC,mBAAmB;AACnB,cAAc,uBAAuB,CAAC;AAEtC,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAGhB,MAAM,gCAAgC,CAAC;AAExC,eAAe;AACf,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,oFAAoF;AACpF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAChG,8FAA8F;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAElF,sCAAsC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAG7B,sBAAsB;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,yCAAyC;AACzC,OAAO,EACN,aAAa,EAEb,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAE3G,oCAAoC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qCAAqC;AACrC,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAE1E,uBAAuB;AACvB,cAAc,gBAAgB,CAAC;AAG/B,2DAA2D;AAC3D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,qCAAqC;AACrC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,sCAAsC;AACtC,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EAGb,MAAM,uBAAuB,CAAC;AAG/B,kFAAkF;AAClF,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAElB,MAAM,kCAAkC,CAAC;AAE1C,uBAAuB;AACvB,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EAIX,MAAM,qBAAqB,CAAC;AAE7B,mDAAmD;AACnD,OAAO,EACN,qBAAqB,EACrB,cAAc,EAEd,MAAM,+BAA+B,CAAC;AAEvC,mBAAmB;AACnB,cAAc,uBAAuB,CAAC;AAEtC,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAGhB,MAAM,gCAAgC,CAAC;AAExC,eAAe;AACf,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,oFAAoF;AACpF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAChG,8FAA8F;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAElF,sCAAsC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAG7B,sBAAsB;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,yCAAyC;AACzC,OAAO,EACN,aAAa,EAEb,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAE3G,oCAAoC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { default as AdminApp } from './AdminApp.svelte';
|
|
2
2
|
export { default as Sidebar } from './layout/Sidebar.svelte';
|
|
3
3
|
export { default as DocumentEditor } from './admin/DocumentEditor.svelte';
|
|
4
|
+
export { default as AgentChat } from './admin/AgentChat.svelte';
|
|
4
5
|
export { default as SchemaField } from './admin/SchemaField.svelte';
|
|
5
6
|
export { default as MediaBrowser } from './admin/MediaBrowser.svelte';
|
|
6
7
|
export { default as AssetBrowserModal } from './admin/AssetBrowserModal.svelte';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAGtF,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAGtF,cAAc,gBAAgB,CAAC"}
|
|
@@ -6,6 +6,7 @@ export { default as AdminApp } from './AdminApp.svelte';
|
|
|
6
6
|
export { default as Sidebar } from './layout/Sidebar.svelte';
|
|
7
7
|
// Admin components (will be migrated from your current structure)
|
|
8
8
|
export { default as DocumentEditor } from './admin/DocumentEditor.svelte';
|
|
9
|
+
export { default as AgentChat } from './admin/AgentChat.svelte';
|
|
9
10
|
export { default as SchemaField } from './admin/SchemaField.svelte';
|
|
10
11
|
export { default as MediaBrowser } from './admin/MediaBrowser.svelte';
|
|
11
12
|
export { default as AssetBrowserModal } from './admin/AssetBrowserModal.svelte';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,wDAAwD;AAExD,iBAAiB;AACjB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,kEAAkE;AAClE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEtF,mBAAmB;AACnB,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/components/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,wDAAwD;AAExD,iBAAiB;AACjB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,kEAAkE;AAClE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEtF,mBAAmB;AACnB,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AgentChangeSet, AgentChangeSetWithOperations, AgentOperation, CreateAgentChangeSetInput, CompleteAgentChangeSetInput, RecordAgentOperationInput, ListAgentChangeSetsOptions } from '../../types/agent-change-sets.js';
|
|
2
|
+
import type { Page } from '../../types/events.js';
|
|
3
|
+
export interface AgentChangeSetAdapter {
|
|
4
|
+
/** One row per agent turn, created eagerly before the model is called. */
|
|
5
|
+
createChangeSet(input: CreateAgentChangeSetInput): Promise<AgentChangeSet>;
|
|
6
|
+
/** Record one mutating tool call's outcome against an existing change-set. */
|
|
7
|
+
recordOperation(input: RecordAgentOperationInput): Promise<AgentOperation>;
|
|
8
|
+
/** Finalize a change-set once the turn ends, with its accumulated token totals. */
|
|
9
|
+
completeChangeSet(organizationId: string, id: string, input: CompleteAgentChangeSetInput): Promise<void>;
|
|
10
|
+
/** Read one change-set with its operations (org-scoped) — what the undo endpoint acts on. */
|
|
11
|
+
getChangeSet(organizationId: string, id: string): Promise<AgentChangeSetWithOperations | null>;
|
|
12
|
+
/** List change-sets for the org, newest first (the activity view's "Agent Changes" tab).
|
|
13
|
+
* Includes each change-set's operations so the list can show what a turn did (e.g.
|
|
14
|
+
* "create_document") without a per-row detail fetch. */
|
|
15
|
+
listChangeSets(options: ListAgentChangeSetsOptions): Promise<Page<AgentChangeSetWithOperations>>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=agent-change-sets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-change-sets.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/agent-change-sets.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,cAAc,EACd,4BAA4B,EAC5B,cAAc,EACd,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACrC,0EAA0E;IAC1E,eAAe,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3E,8EAA8E;IAC9E,eAAe,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3E,mFAAmF;IACnF,iBAAiB,CAChB,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,2BAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,6FAA6F;IAC7F,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IAC/F;;4DAEwD;IACxD,cAAc,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;CACjG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-change-sets.js","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/agent-change-sets.ts"],"names":[],"mappings":""}
|
|
@@ -22,16 +22,38 @@ export interface UpdateDocumentData {
|
|
|
22
22
|
draftData?: any;
|
|
23
23
|
status?: string;
|
|
24
24
|
updatedBy?: string;
|
|
25
|
+
/** Compare-and-swap guard: the revision the caller last read. Omit to skip
|
|
26
|
+
* the check (existing unconditional-write behavior). */
|
|
27
|
+
expectedRevision?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Thrown when a write's `expectedRevision` no longer matches the document's
|
|
31
|
+
* current revision — another writer (a second tab, an AI agent, a concurrent
|
|
32
|
+
* request) saved in between the caller's read and this write. Callers should
|
|
33
|
+
* surface this distinctly from a validation error: re-fetch and let the user
|
|
34
|
+
* decide, never silently retry with an overwrite.
|
|
35
|
+
*/
|
|
36
|
+
export declare class RevisionConflictError extends Error {
|
|
37
|
+
readonly documentId: string;
|
|
38
|
+
readonly expectedRevision: number;
|
|
39
|
+
readonly currentRevision: number;
|
|
40
|
+
constructor(message: string, documentId: string, expectedRevision: number, currentRevision: number);
|
|
25
41
|
}
|
|
26
42
|
/**
|
|
27
43
|
* Document adapter interface for document-specific operations
|
|
28
44
|
*/
|
|
29
45
|
export interface DocumentAdapter {
|
|
30
46
|
createDocument(data: CreateDocumentData): Promise<Document>;
|
|
31
|
-
|
|
47
|
+
/**
|
|
48
|
+
* @param expectedRevision - Compare-and-swap guard. When provided, the
|
|
49
|
+
* update only applies if the document's current revision matches;
|
|
50
|
+
* otherwise implementations throw {@link RevisionConflictError}. Omit to
|
|
51
|
+
* write unconditionally (last-write-wins, the pre-CAS behavior).
|
|
52
|
+
*/
|
|
53
|
+
updateDocDraft(organizationId: string, id: string, data: any, updatedBy?: string, expectedRevision?: number): Promise<Document | null>;
|
|
32
54
|
deleteDocById(organizationId: string, id: string): Promise<boolean>;
|
|
33
|
-
publishDoc(organizationId: string, id: string): Promise<Document | null>;
|
|
34
|
-
unpublishDoc(organizationId: string, id: string): Promise<Document | null>;
|
|
55
|
+
publishDoc(organizationId: string, id: string, expectedRevision?: number): Promise<Document | null>;
|
|
56
|
+
unpublishDoc(organizationId: string, id: string, expectedRevision?: number): Promise<Document | null>;
|
|
35
57
|
countDocsByType(organizationId: string, type: string): Promise<number>;
|
|
36
58
|
getDocCountsByType(organizationId: string): Promise<Record<string, number>>;
|
|
37
59
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Thrown when a write's `expectedRevision` no longer matches the document's
|
|
3
|
+
* current revision — another writer (a second tab, an AI agent, a concurrent
|
|
4
|
+
* request) saved in between the caller's read and this write. Callers should
|
|
5
|
+
* surface this distinctly from a validation error: re-fetch and let the user
|
|
6
|
+
* decide, never silently retry with an overwrite.
|
|
7
|
+
*/
|
|
8
|
+
export class RevisionConflictError extends Error {
|
|
9
|
+
documentId;
|
|
10
|
+
expectedRevision;
|
|
11
|
+
currentRevision;
|
|
12
|
+
constructor(message, documentId, expectedRevision, currentRevision) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.documentId = documentId;
|
|
15
|
+
this.expectedRevision = expectedRevision;
|
|
16
|
+
this.currentRevision = currentRevision;
|
|
17
|
+
this.name = 'RevisionConflictError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
2
20
|
//# sourceMappingURL=document.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/document.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/document.ts"],"names":[],"mappings":"AAiCA;;;;;;GAMG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAG9B;IACA;IACA;IAJjB,YACC,OAAe,EACC,UAAkB,EAClB,gBAAwB,EACxB,eAAuB;QAEvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,eAAU,GAAV,UAAU,CAAQ;QAClB,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,oBAAe,GAAf,eAAe,CAAQ;QAGvC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACrC,CAAC;CACD"}
|
|
@@ -9,7 +9,9 @@ import type { ReferenceAdapter } from './reference.js';
|
|
|
9
9
|
import type { PluginSettingsAdapter } from './plugin-settings.js';
|
|
10
10
|
import type { EventJobAdapter } from './events.js';
|
|
11
11
|
import type { PluginStorageAdapter } from './plugin-storage.js';
|
|
12
|
+
import type { AgentChangeSetAdapter } from './agent-change-sets.js';
|
|
12
13
|
export type { DocumentAdapter, DocumentFilters, CreateDocumentData, UpdateDocumentData } from './document.js';
|
|
14
|
+
export { RevisionConflictError } from './document.js';
|
|
13
15
|
export type { AssetAdapter, CreateAssetData, UpdateAssetData } from './asset.js';
|
|
14
16
|
export type { UserProfileAdapter, NewUserProfileData } from './user.js';
|
|
15
17
|
export type { SchemaAdapter } from './schema.js';
|
|
@@ -20,11 +22,12 @@ export type { ReferenceAdapter, BackReferenceRow, BackReferenceLookup } from './
|
|
|
20
22
|
export type { PluginSettingsAdapter, PluginSettingsRow } from './plugin-settings.js';
|
|
21
23
|
export type { EventJobAdapter } from './events.js';
|
|
22
24
|
export type { PluginStorageAdapter, PluginStorageRecord, CreatePluginRecordInput, ListPluginRecordsOptions } from './plugin-storage.js';
|
|
25
|
+
export type { AgentChangeSetAdapter } from './agent-change-sets.js';
|
|
23
26
|
/**
|
|
24
27
|
* Combined database adapter interface
|
|
25
28
|
* Extends all entity-specific adapters for full database functionality
|
|
26
29
|
*/
|
|
27
|
-
export interface DatabaseAdapter extends DocumentAdapter, AssetAdapter, UserProfileAdapter, SchemaAdapter, OrganizationAdapter, InstanceAdapter, RolesAdapter, ReferenceAdapter, PluginSettingsAdapter, EventJobAdapter, PluginStorageAdapter {
|
|
30
|
+
export interface DatabaseAdapter extends DocumentAdapter, AssetAdapter, UserProfileAdapter, SchemaAdapter, OrganizationAdapter, InstanceAdapter, RolesAdapter, ReferenceAdapter, PluginSettingsAdapter, EventJobAdapter, PluginStorageAdapter, AgentChangeSetAdapter {
|
|
28
31
|
connect?(): Promise<void>;
|
|
29
32
|
disconnect?(): Promise<void>;
|
|
30
33
|
isHealthy(): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { RevisionConflictError } from './document.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export declare function getDocumentVersion(documentId: string | null | undefined): number;
|
|
2
2
|
export declare function notifyDocumentChanged(documentId: string): void;
|
|
3
|
+
export declare function getCollectionVersion(docType: string | null | undefined): number;
|
|
4
|
+
export declare function notifyCollectionChanged(docType: string): void;
|
|
3
5
|
//# sourceMappingURL=document-refresh.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-refresh.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/document-refresh.svelte.ts"],"names":[],"mappings":"AAcA,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGhF;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAG9D"}
|
|
1
|
+
{"version":3,"file":"document-refresh.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/document-refresh.svelte.ts"],"names":[],"mappings":"AAcA,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGhF;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAG9D;AAQD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG/E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7D"}
|
|
@@ -19,4 +19,19 @@ export function notifyDocumentChanged(documentId) {
|
|
|
19
19
|
return;
|
|
20
20
|
versions.set(documentId, (versions.get(documentId) ?? 0) + 1);
|
|
21
21
|
}
|
|
22
|
+
// Same pattern, keyed by document *type* instead of id — so a collection's list view can
|
|
23
|
+
// refetch when a document of that type is created/deleted/updated elsewhere in the session
|
|
24
|
+
// (typically the agent chat, which mutates documents server-side with no UI of its own to
|
|
25
|
+
// keep a list view in sync).
|
|
26
|
+
const collectionVersions = new SvelteMap();
|
|
27
|
+
export function getCollectionVersion(docType) {
|
|
28
|
+
if (!docType)
|
|
29
|
+
return 0;
|
|
30
|
+
return collectionVersions.get(docType) ?? 0;
|
|
31
|
+
}
|
|
32
|
+
export function notifyCollectionChanged(docType) {
|
|
33
|
+
if (!docType)
|
|
34
|
+
return;
|
|
35
|
+
collectionVersions.set(docType, (collectionVersions.get(docType) ?? 0) + 1);
|
|
36
|
+
}
|
|
22
37
|
//# sourceMappingURL=document-refresh.svelte.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-refresh.svelte.js","sourceRoot":"","sources":["../../src/lib/document-refresh.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,yEAAyE;AACzE,sEAAsE;AACtE,qEAAqE;AACrE,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,qDAAqD;AAErD,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAkB,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,UAAqC;IACvE,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"document-refresh.svelte.js","sourceRoot":"","sources":["../../src/lib/document-refresh.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,yEAAyE;AACzE,sEAAsE;AACtE,qEAAqE;AACrE,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,qDAAqD;AAErD,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAkB,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAAC,UAAqC;IACvE,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,yFAAyF;AACzF,2FAA2F;AAC3F,0FAA0F;AAC1F,6BAA6B;AAC7B,MAAM,kBAAkB,GAAG,IAAI,SAAS,EAAkB,CAAC;AAE3D,MAAM,UAAU,oBAAoB,CAAC,OAAkC;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACvB,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DocumentWorkspace } from './types/document-workspace.js';
|
|
2
|
+
export interface RegisteredDocumentWorkspace {
|
|
3
|
+
documentId: string;
|
|
4
|
+
collection: string;
|
|
5
|
+
workspace: DocumentWorkspace;
|
|
6
|
+
}
|
|
7
|
+
export declare const documentWorkspaceRegistry: {
|
|
8
|
+
readonly current: RegisteredDocumentWorkspace | null;
|
|
9
|
+
register(entry: RegisteredDocumentWorkspace): void;
|
|
10
|
+
/** Id-checked: an editor that already unmounted (and cleared with its own id) can't
|
|
11
|
+
* clobber a newer registration from a different document that mounted in its place
|
|
12
|
+
* during fast navigation. */
|
|
13
|
+
clear(documentId: string): void;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=document-workspace-registry.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-workspace-registry.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/document-workspace-registry.svelte.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,MAAM,WAAW,2BAA2B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,iBAAiB,CAAC;CAC7B;AAqBD,eAAO,MAAM,yBAAyB;;oBAZpB,2BAA2B;IAG3C;;iCAE6B;sBACX,MAAM;CAMgD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// document-workspace-registry.svelte.ts — module-level singleton, same pattern as
|
|
2
|
+
// agent-chat-state.svelte.ts.
|
|
3
|
+
//
|
|
4
|
+
// Answers "which live document session is open in this tab, and here's a handle to it" —
|
|
5
|
+
// deliberately named/scoped that way rather than as an AI-specific registry, since it's the
|
|
6
|
+
// same lookup a future multiplayer presence feature would need (see
|
|
7
|
+
// types/document-workspace.ts). `DocumentEditor.svelte` registers its `DocumentWorkspace`
|
|
8
|
+
// here while mounted and clears it on unmount; `AgentChat.svelte` reads it to decide whether
|
|
9
|
+
// to bridge a chat request into the currently open document.
|
|
10
|
+
//
|
|
11
|
+
// Not persisted to localStorage — a live object reference is meaningless across a reload.
|
|
12
|
+
function createDocumentWorkspaceRegistry() {
|
|
13
|
+
let current = $state(null);
|
|
14
|
+
return {
|
|
15
|
+
get current() {
|
|
16
|
+
return current;
|
|
17
|
+
},
|
|
18
|
+
register(entry) {
|
|
19
|
+
current = entry;
|
|
20
|
+
},
|
|
21
|
+
/** Id-checked: an editor that already unmounted (and cleared with its own id) can't
|
|
22
|
+
* clobber a newer registration from a different document that mounted in its place
|
|
23
|
+
* during fast navigation. */
|
|
24
|
+
clear(documentId) {
|
|
25
|
+
if (current?.documentId === documentId)
|
|
26
|
+
current = null;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export const documentWorkspaceRegistry = createDocumentWorkspaceRegistry();
|
|
31
|
+
//# sourceMappingURL=document-workspace-registry.svelte.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-workspace-registry.svelte.js","sourceRoot":"","sources":["../../src/lib/document-workspace-registry.svelte.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,8BAA8B;AAC9B,EAAE;AACF,yFAAyF;AACzF,4FAA4F;AAC5F,oEAAoE;AACpE,0FAA0F;AAC1F,6FAA6F;AAC7F,6DAA6D;AAC7D,EAAE;AACF,0FAA0F;AAU1F,SAAS,+BAA+B;IACvC,IAAI,OAAO,GAAG,MAAM,CAAqC,IAAI,CAAC,CAAC;IAE/D,OAAO;QACN,IAAI,OAAO;YACV,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,QAAQ,CAAC,KAAkC;YAC1C,OAAO,GAAG,KAAK,CAAC;QACjB,CAAC;QACD;;qCAE6B;QAC7B,KAAK,CAAC,UAAkB;YACvB,IAAI,OAAO,EAAE,UAAU,KAAK,UAAU;gBAAE,OAAO,GAAG,IAAI,CAAC;QACxD,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,KAAK,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAKnF,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAUrD;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmC9E;AAwMD;;GAEG;AACH,wBAAsB,aAAa,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC,CAsJD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAO/D;AAwCD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC,wBAAwB,CAAC,CA0BnC"}
|