@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
|
@@ -81,6 +81,180 @@ export function validateValueShape(field, value) {
|
|
|
81
81
|
return null;
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Find which `of` entry an array item belongs to. Mirrors ArrayField.svelte's own
|
|
86
|
+
* resolution (`ref.name === item._type || ref.type === item._type`). An item
|
|
87
|
+
* carrying an explicit `_type` must match one of the declared entries — an
|
|
88
|
+
* unrecognized `_type` is an error, never silently coerced to some other entry,
|
|
89
|
+
* even when only one type is declared. The single-entry fallback only applies
|
|
90
|
+
* when the item has no `_type` tag at all (untagged items in a single-type array).
|
|
91
|
+
*/
|
|
92
|
+
function resolveArrayItemTypeRef(of, item) {
|
|
93
|
+
if (isPlainObject(item) && typeof item._type === 'string') {
|
|
94
|
+
return of.find((ref) => ref.name === item._type || ref.type === item._type);
|
|
95
|
+
}
|
|
96
|
+
if (of.length === 1)
|
|
97
|
+
return of[0];
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A leaf field error message is always formatted as `Field "<path>" <reason>`
|
|
102
|
+
* (see the bottom of `validateField`). When that message becomes an input to a
|
|
103
|
+
* shallower level of array-item recursion, re-wrapping it verbatim would nest
|
|
104
|
+
* "Field ..." text once per level. Instead, pull the deeper path back out so the
|
|
105
|
+
* caller can extend it into one clean breadcrumb and keep only the reason.
|
|
106
|
+
*/
|
|
107
|
+
function splitFieldMessage(message) {
|
|
108
|
+
const match = message.match(/^Field "([^"]+)"\s*(.*)$/s);
|
|
109
|
+
return match
|
|
110
|
+
? { path: match[1] ?? null, reason: match[2] ?? message }
|
|
111
|
+
: { path: null, reason: message };
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Shape-check a single Portable Text text block (`_type: 'block'`) — `_key`, `children`
|
|
115
|
+
* (spans and/or inline objects), and `markDefs` all need to be the shape
|
|
116
|
+
* portable-text-serializer.ts produces, since nothing else in this write path checks it.
|
|
117
|
+
* A source that isn't the TipTap editor (an agent's `content_patch_fields` call, an
|
|
118
|
+
* imported document) has no other gate before this reaches storage.
|
|
119
|
+
*/
|
|
120
|
+
function validatePortableTextBlock(item, itemPath) {
|
|
121
|
+
if (!isPlainObject(item)) {
|
|
122
|
+
return [
|
|
123
|
+
{
|
|
124
|
+
field: itemPath,
|
|
125
|
+
errors: [`expected a Portable Text block object, got ${describeValue(item)}`]
|
|
126
|
+
}
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
const errors = [];
|
|
130
|
+
if (typeof item._key !== 'string' || item._key.length === 0) {
|
|
131
|
+
errors.push('is missing a non-empty "_key"');
|
|
132
|
+
}
|
|
133
|
+
if (item.style !== undefined && typeof item.style !== 'string') {
|
|
134
|
+
errors.push(`"style" must be a string, got ${describeValue(item.style)}`);
|
|
135
|
+
}
|
|
136
|
+
if (item.listItem !== undefined && typeof item.listItem !== 'string') {
|
|
137
|
+
errors.push(`"listItem" must be a string, got ${describeValue(item.listItem)}`);
|
|
138
|
+
}
|
|
139
|
+
if (item.level !== undefined && typeof item.level !== 'number') {
|
|
140
|
+
errors.push(`"level" must be a number, got ${describeValue(item.level)}`);
|
|
141
|
+
}
|
|
142
|
+
if (!Array.isArray(item.children)) {
|
|
143
|
+
errors.push(`"children" must be an array, got ${describeValue(item.children)}`);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
item.children.forEach((child, childIndex) => {
|
|
147
|
+
const childLabel = `child[${childIndex}]`;
|
|
148
|
+
if (!isPlainObject(child)) {
|
|
149
|
+
errors.push(`${childLabel} expected an object, got ${describeValue(child)}`);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (typeof child._type !== 'string' || child._type.length === 0) {
|
|
153
|
+
errors.push(`${childLabel} is missing a "_type"`);
|
|
154
|
+
}
|
|
155
|
+
if (typeof child._key !== 'string' || child._key.length === 0) {
|
|
156
|
+
errors.push(`${childLabel} is missing a non-empty "_key"`);
|
|
157
|
+
}
|
|
158
|
+
if (child._type === 'span') {
|
|
159
|
+
if (typeof child.text !== 'string') {
|
|
160
|
+
errors.push(`${childLabel} (span) "text" must be a string, got ${describeValue(child.text)}`);
|
|
161
|
+
}
|
|
162
|
+
if (child.marks !== undefined && !Array.isArray(child.marks)) {
|
|
163
|
+
errors.push(`${childLabel} (span) "marks" must be an array, got ${describeValue(child.marks)}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (item.markDefs !== undefined) {
|
|
169
|
+
if (!Array.isArray(item.markDefs)) {
|
|
170
|
+
errors.push(`"markDefs" must be an array, got ${describeValue(item.markDefs)}`);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
item.markDefs.forEach((def, defIndex) => {
|
|
174
|
+
if (!isPlainObject(def)) {
|
|
175
|
+
errors.push(`markDefs[${defIndex}] expected an object, got ${describeValue(def)}`);
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (typeof def._type !== 'string' || def._type.length === 0) {
|
|
179
|
+
errors.push(`markDefs[${defIndex}] is missing a "_type"`);
|
|
180
|
+
}
|
|
181
|
+
if (typeof def._key !== 'string' || def._key.length === 0) {
|
|
182
|
+
errors.push(`markDefs[${defIndex}] is missing a non-empty "_key"`);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return errors.length > 0 ? [{ field: itemPath, errors }] : [];
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Recursively validate each array item against the type it resolves to in `of`.
|
|
191
|
+
* This is the check that was previously entirely missing: `validateValueShape`
|
|
192
|
+
* only confirmed the field's value IS an array, never that its items match `of` —
|
|
193
|
+
* so a mistyped or malformed array item (wrong `_type`, missing required nested
|
|
194
|
+
* fields) passed validation silently regardless of whether `of` was well-formed.
|
|
195
|
+
*
|
|
196
|
+
* Named types in `of` that aren't inline objects (`fields` absent) — i.e. a
|
|
197
|
+
* reference to another registered schema by name — aren't resolvable here: this
|
|
198
|
+
* module has no schema registry. Those items are left unvalidated, same as
|
|
199
|
+
* before this fix, rather than guessed at.
|
|
200
|
+
*/
|
|
201
|
+
async function validateArrayItems(field, items, context) {
|
|
202
|
+
const of = field.of ?? [];
|
|
203
|
+
const results = [];
|
|
204
|
+
for (let index = 0; index < items.length; index++) {
|
|
205
|
+
const item = items[index];
|
|
206
|
+
const itemPath = `${field.name}[${index}]`;
|
|
207
|
+
const typeRef = resolveArrayItemTypeRef(of, item);
|
|
208
|
+
if (!typeRef) {
|
|
209
|
+
const gotType = isPlainObject(item) && typeof item._type === 'string' ? item._type : describeValue(item);
|
|
210
|
+
const declared = of.map((t) => t.name ?? t.type).join(', ') || '(none declared)';
|
|
211
|
+
results.push({
|
|
212
|
+
field: itemPath,
|
|
213
|
+
errors: [
|
|
214
|
+
`has type "${gotType}", which is not one of the declared array item types: ${declared}`
|
|
215
|
+
]
|
|
216
|
+
});
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
// Portable Text text blocks (`_type: 'block'`) — the shape the TipTap editor always
|
|
220
|
+
// produces (portable-text-serializer.ts), but nothing an agent-authored patch is bound
|
|
221
|
+
// to. Custom block types (any other `_type` in `of`) fall through to the `typeRef.fields`
|
|
222
|
+
// branch below and get full field validation already; this is the one shape the rest of
|
|
223
|
+
// this function never checked.
|
|
224
|
+
if (typeRef.type === 'block') {
|
|
225
|
+
results.push(...validatePortableTextBlock(item, itemPath));
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
if (typeRef.type === 'reference') {
|
|
229
|
+
if (!isPlainObject(item) || typeof item._ref !== 'string') {
|
|
230
|
+
results.push({
|
|
231
|
+
field: itemPath,
|
|
232
|
+
errors: [
|
|
233
|
+
`expected a reference object { _type: 'reference', _ref: '<documentId>' }, got ${describeValue(item)}`
|
|
234
|
+
]
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
if (typeRef.fields) {
|
|
240
|
+
if (!isPlainObject(item)) {
|
|
241
|
+
results.push({
|
|
242
|
+
field: itemPath,
|
|
243
|
+
errors: [`expected an object, got ${describeValue(item)}`]
|
|
244
|
+
});
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
const nested = await validateFieldSet(typeRef.fields, item, context);
|
|
248
|
+
for (const err of nested) {
|
|
249
|
+
for (const rawMessage of err.errors) {
|
|
250
|
+
const { path, reason } = splitFieldMessage(rawMessage);
|
|
251
|
+
results.push({ field: `${itemPath}.${path ?? err.field}`, errors: [reason] });
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return results;
|
|
257
|
+
}
|
|
84
258
|
/**
|
|
85
259
|
* Validate a field value against its validation rules
|
|
86
260
|
*/
|
|
@@ -102,6 +276,14 @@ export async function validateField(field, value, context = {}) {
|
|
|
102
276
|
errors: [{ level: 'error', message: `Field "${field.name}" ${shapeError}` }]
|
|
103
277
|
};
|
|
104
278
|
}
|
|
279
|
+
// Array items are never validated by the shape check above (it only confirms
|
|
280
|
+
// the value IS an array) — recurse into each item against `field.of` here.
|
|
281
|
+
if (field.type === 'array' && Array.isArray(value)) {
|
|
282
|
+
const itemErrors = await validateArrayItems(field, value, context);
|
|
283
|
+
for (const err of itemErrors) {
|
|
284
|
+
allErrors.push({ level: 'error', message: `Field "${err.field}" ${err.errors.join('; ')}` });
|
|
285
|
+
}
|
|
286
|
+
}
|
|
105
287
|
// Add automatic validation for date/datetime/url fields based on type
|
|
106
288
|
if (field.type === 'date') {
|
|
107
289
|
const dateField = field;
|
|
@@ -207,6 +389,34 @@ export function getValidationClasses(hasErrors) {
|
|
|
207
389
|
// No green styling for success - only show red for errors
|
|
208
390
|
return '';
|
|
209
391
|
}
|
|
392
|
+
/**
|
|
393
|
+
* Validate a flat set of fields against their values in `data`. Shared by
|
|
394
|
+
* top-level document validation and, recursively, by array-item/nested-object
|
|
395
|
+
* validation — `context.document` carries the full top-level document through
|
|
396
|
+
* either way, since it's set once by the top-level caller and left untouched on
|
|
397
|
+
* recursive calls (so cross-field `Rule.custom((v, { document }) => ...)`
|
|
398
|
+
* validators still see the whole document, not just the nested item).
|
|
399
|
+
*/
|
|
400
|
+
async function validateFieldSet(fields, data, context) {
|
|
401
|
+
const validationErrors = [];
|
|
402
|
+
for (const field of fields) {
|
|
403
|
+
const value = data[field.name];
|
|
404
|
+
const result = await validateField(field, value, {
|
|
405
|
+
...context,
|
|
406
|
+
document: context.document !== undefined ? context.document : data
|
|
407
|
+
});
|
|
408
|
+
if (!result.isValid) {
|
|
409
|
+
const errorMessages = result.errors.filter((e) => e.level === 'error').map((e) => e.message);
|
|
410
|
+
if (errorMessages.length > 0) {
|
|
411
|
+
validationErrors.push({
|
|
412
|
+
field: field.name,
|
|
413
|
+
errors: errorMessages
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return validationErrors;
|
|
419
|
+
}
|
|
210
420
|
/**
|
|
211
421
|
* Validate an entire document's data against a schema
|
|
212
422
|
* This function:
|
|
@@ -225,41 +435,13 @@ export async function validateDocumentData(schema, data, context = {}) {
|
|
|
225
435
|
schemaName: schema.name,
|
|
226
436
|
data
|
|
227
437
|
});
|
|
228
|
-
const validationErrors = [];
|
|
229
438
|
// Normalize date fields: convert to ISO for storage, user format for validation
|
|
230
439
|
const { normalizedData, dataForValidation } = normalizeDateFields(data, schema);
|
|
231
440
|
cmsLogger.debug('[validateDocumentData]', 'After normalization', {
|
|
232
441
|
normalizedData,
|
|
233
442
|
dataForValidation
|
|
234
443
|
});
|
|
235
|
-
|
|
236
|
-
for (const field of schema.fields) {
|
|
237
|
-
const value = dataForValidation[field.name];
|
|
238
|
-
cmsLogger.debug('[validateDocumentData]', `Validating field "${field.name}"`, {
|
|
239
|
-
type: field.type,
|
|
240
|
-
value
|
|
241
|
-
});
|
|
242
|
-
// Build the document context here from the data we're already validating —
|
|
243
|
-
// no need for callers to pass it. Cross-field validators read it via
|
|
244
|
-
// `Rule.custom((v, { document }) => ...)`, matching ValidationContext.
|
|
245
|
-
const result = await validateField(field, value, {
|
|
246
|
-
...context,
|
|
247
|
-
document: dataForValidation
|
|
248
|
-
});
|
|
249
|
-
cmsLogger.debug('[validateDocumentData]', `Field "${field.name}" validation result`, {
|
|
250
|
-
isValid: result.isValid,
|
|
251
|
-
errors: result.errors
|
|
252
|
-
});
|
|
253
|
-
if (!result.isValid) {
|
|
254
|
-
const errorMessages = result.errors.filter((e) => e.level === 'error').map((e) => e.message);
|
|
255
|
-
if (errorMessages.length > 0) {
|
|
256
|
-
validationErrors.push({
|
|
257
|
-
field: field.name,
|
|
258
|
-
errors: errorMessages
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
444
|
+
const validationErrors = await validateFieldSet(schema.fields, dataForValidation, context);
|
|
263
445
|
cmsLogger.debug('[validateDocumentData]', 'Final result', {
|
|
264
446
|
isValid: validationErrors.length === 0,
|
|
265
447
|
errors: validationErrors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/hooks.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { DatabaseAdapter } from './db/index.js';
|
|
|
5
5
|
import type { AssetService } from './services/asset-service.js';
|
|
6
6
|
import type { StorageAdapter } from './storage/interfaces/storage.js';
|
|
7
7
|
import type { EmailAdapter } from './email/index.js';
|
|
8
|
+
import type { AIProviderAdapter } from './ai/index.js';
|
|
8
9
|
import type { AuthProvider } from './auth/provider.js';
|
|
9
10
|
import type { GraphQLSettings } from './graphql/index.js';
|
|
10
11
|
import type { Logger } from './utils/logger.js';
|
|
@@ -20,6 +21,7 @@ export interface CMSInstances {
|
|
|
20
21
|
storageAdapter: StorageAdapter;
|
|
21
22
|
databaseAdapter: DatabaseAdapter;
|
|
22
23
|
emailAdapter?: EmailAdapter | null;
|
|
24
|
+
aiProvider?: AIProviderAdapter | null;
|
|
23
25
|
cmsEngine: CMSEngine;
|
|
24
26
|
localAPI: LocalAPI;
|
|
25
27
|
rolesService: RolesService;
|
package/dist/lib/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAO7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAa,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAIN,KAAK,QAAQ,EACb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,uEAAuE;IACvE,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,sFAAsF;IACtF,YAAY,EAAE,YAAY,CAAC;CAC3B;AAsCD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAGrE;AAgBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAO7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAa,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAIN,KAAK,QAAQ,EACb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,uEAAuE;IACvE,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,sFAAsF;IACtF,YAAY,EAAE,YAAY,CAAC;CAC3B;AAsCD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAGrE;AAgBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAiNvD"}
|
package/dist/lib/hooks.js
CHANGED
|
@@ -109,6 +109,7 @@ export function createCMSHook(config) {
|
|
|
109
109
|
// Use the storage adapter from config, or create the default local one.
|
|
110
110
|
const storageAdapter = currentConfig.storage ?? createDefaultStorageAdapter();
|
|
111
111
|
const emailAdapter = currentConfig.email ?? null;
|
|
112
|
+
const aiProvider = currentConfig.aiProvider ?? null;
|
|
112
113
|
const assetService = new AssetServiceClass(storageAdapter, databaseAdapter);
|
|
113
114
|
const cmsEngine = createCMS(currentConfig, databaseAdapter);
|
|
114
115
|
const rolesService = new RolesService(databaseAdapter, currentConfig.cache ?? null);
|
|
@@ -194,6 +195,7 @@ export function createCMSHook(config) {
|
|
|
194
195
|
assetService: assetService,
|
|
195
196
|
storageAdapter: storageAdapter,
|
|
196
197
|
emailAdapter: emailAdapter,
|
|
198
|
+
aiProvider: aiProvider,
|
|
197
199
|
cmsEngine: cmsEngine,
|
|
198
200
|
localAPI: localAPI,
|
|
199
201
|
rolesService,
|
package/dist/lib/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/lib/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -159,6 +159,7 @@ export declare class CollectionAPI<T = Document> {
|
|
|
159
159
|
update(context: LocalAPIContext, id: string, data: Partial<Omit<T, 'id' | '_meta'>>, options?: {
|
|
160
160
|
publish?: boolean;
|
|
161
161
|
skipVersioning?: boolean;
|
|
162
|
+
expectedRevision?: number;
|
|
162
163
|
}): Promise<DocumentResult<T> | null>;
|
|
163
164
|
/**
|
|
164
165
|
* Delete a document
|
|
@@ -190,7 +191,9 @@ export declare class CollectionAPI<T = Document> {
|
|
|
190
191
|
* versioned one. The versioned branch emits the same event from `versionService.publishTx`.
|
|
191
192
|
*/
|
|
192
193
|
private publishWithoutVersion;
|
|
193
|
-
publish(context: LocalAPIContext, id: string
|
|
194
|
+
publish(context: LocalAPIContext, id: string, options?: {
|
|
195
|
+
expectedRevision?: number;
|
|
196
|
+
}): Promise<T | null>;
|
|
194
197
|
/**
|
|
195
198
|
* Unpublish a document
|
|
196
199
|
*
|
|
@@ -202,7 +205,9 @@ export declare class CollectionAPI<T = Document> {
|
|
|
202
205
|
* );
|
|
203
206
|
* ```
|
|
204
207
|
*/
|
|
205
|
-
unpublish(context: LocalAPIContext, id: string
|
|
208
|
+
unpublish(context: LocalAPIContext, id: string, options?: {
|
|
209
|
+
expectedRevision?: number;
|
|
210
|
+
}): Promise<T | null>;
|
|
206
211
|
/**
|
|
207
212
|
* Pending scheduled publish/unpublish jobs for one document. Scheduled jobs are few
|
|
208
213
|
* and `pending` is a small set, so filtering the org's pending jobs by documentId in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-api.d.ts","sourceRoot":"","sources":["../../../src/lib/local-api/collection-api.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAwB,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAIhG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAS3C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC;IACZ,UAAU,EAAE,wBAAwB,CAAC;CACrC;
|
|
1
|
+
{"version":3,"file":"collection-api.d.ts","sourceRoot":"","sources":["../../../src/lib/local-api/collection-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,11 @@ function transformDocument(doc, perspective = 'draft', hiddenFields) {
|
|
|
56
56
|
createdBy: doc.createdBy,
|
|
57
57
|
updatedBy: doc.updatedBy,
|
|
58
58
|
publishedAt: doc.publishedAt,
|
|
59
|
-
publishedHash: doc.publishedHash
|
|
59
|
+
publishedHash: doc.publishedHash,
|
|
60
|
+
// CAS guard — callers echo this back as `expectedRevision` on their next
|
|
61
|
+
// write so a stale save (second tab, an agent) surfaces as a conflict
|
|
62
|
+
// instead of silently overwriting a change made after this read.
|
|
63
|
+
revision: doc.revision
|
|
60
64
|
}
|
|
61
65
|
};
|
|
62
66
|
}
|
|
@@ -480,9 +484,12 @@ export class CollectionAPI {
|
|
|
480
484
|
const validationResult = await validateDocumentData(this._schema, hookedData);
|
|
481
485
|
// Update draft with normalized data (dates in ISO format)
|
|
482
486
|
// Use VersionService for atomic save + version creation if available
|
|
487
|
+
// RevisionConflictError propagates un-swallowed — a stale caller (a second
|
|
488
|
+
// tab, an agent that read the doc seconds ago) gets a surfaced conflict
|
|
489
|
+
// instead of silently overwriting a change made after it read the document.
|
|
483
490
|
const document = this.versionService && !options?.skipVersioning
|
|
484
|
-
? await this.versionService.saveWithVersion(this.databaseAdapter, context.organizationId, id, validationResult.normalizedData, context.user?.id)
|
|
485
|
-
: await this.databaseAdapter.updateDocDraft(context.organizationId, id, validationResult.normalizedData, context.user?.id);
|
|
491
|
+
? await this.versionService.saveWithVersion(this.databaseAdapter, context.organizationId, id, validationResult.normalizedData, context.user?.id, options?.expectedRevision)
|
|
492
|
+
: await this.databaseAdapter.updateDocDraft(context.organizationId, id, validationResult.normalizedData, context.user?.id, options?.expectedRevision);
|
|
486
493
|
if (!document) {
|
|
487
494
|
return null;
|
|
488
495
|
}
|
|
@@ -566,15 +573,15 @@ export class CollectionAPI {
|
|
|
566
573
|
* atomically with the publish, so the domain fact fires on EVERY publish path, not only the
|
|
567
574
|
* versioned one. The versioned branch emits the same event from `versionService.publishTx`.
|
|
568
575
|
*/
|
|
569
|
-
async publishWithoutVersion(organizationId, id) {
|
|
576
|
+
async publishWithoutVersion(organizationId, id, expectedRevision) {
|
|
570
577
|
return this.databaseAdapter.withTransaction(async (tx) => {
|
|
571
|
-
const published = await tx.publishDoc(organizationId, id);
|
|
578
|
+
const published = await tx.publishDoc(organizationId, id, expectedRevision);
|
|
572
579
|
if (published)
|
|
573
580
|
await emitDocumentPublished(tx, organizationId, published);
|
|
574
581
|
return published;
|
|
575
582
|
});
|
|
576
583
|
}
|
|
577
|
-
async publish(context, id) {
|
|
584
|
+
async publish(context, id, options) {
|
|
578
585
|
// Fetch first so policies can inspect the target. Order matters here:
|
|
579
586
|
// 404s beat 403s for missing docs.
|
|
580
587
|
const document = await this.databaseAdapter.findByDocIdAdvanced(context.organizationId, id);
|
|
@@ -611,8 +618,8 @@ export class CollectionAPI {
|
|
|
611
618
|
// branch emits `document.published`: the versioned path from publishTx, the non-versioned
|
|
612
619
|
// path from publishWithoutVersion.
|
|
613
620
|
const publishedDocument = this.versionService
|
|
614
|
-
? await this.versionService.publishWithVersion(this.databaseAdapter, context.organizationId, id)
|
|
615
|
-
: await this.publishWithoutVersion(context.organizationId, id);
|
|
621
|
+
? await this.versionService.publishWithVersion(this.databaseAdapter, context.organizationId, id, options?.expectedRevision)
|
|
622
|
+
: await this.publishWithoutVersion(context.organizationId, id, options?.expectedRevision);
|
|
616
623
|
if (!publishedDocument) {
|
|
617
624
|
return null;
|
|
618
625
|
}
|
|
@@ -637,13 +644,13 @@ export class CollectionAPI {
|
|
|
637
644
|
* );
|
|
638
645
|
* ```
|
|
639
646
|
*/
|
|
640
|
-
async unpublish(context, id) {
|
|
647
|
+
async unpublish(context, id, options) {
|
|
641
648
|
// Fetch target for policy inspection before mutating.
|
|
642
649
|
const existing = await this.databaseAdapter.findByDocIdAdvanced(context.organizationId, id);
|
|
643
650
|
if (!existing)
|
|
644
651
|
return null;
|
|
645
652
|
await this.permissions.canUnpublish(context, this.collectionName, existing);
|
|
646
|
-
const document = await this.databaseAdapter.unpublishDoc(context.organizationId, id);
|
|
653
|
+
const document = await this.databaseAdapter.unpublishDoc(context.organizationId, id, options?.expectedRevision);
|
|
647
654
|
if (!document) {
|
|
648
655
|
return null;
|
|
649
656
|
}
|