@lapis-notes/api 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/LICENSE.md +4 -0
- package/README.md +43 -0
- package/dist/__tests__/data-adapter-conformance.js +205 -0
- package/dist/__tests__/lapis-runtime-manifest.js +32 -0
- package/dist/__tests__/svelte-internal-client.d.ts +3 -0
- package/dist/agent-result-views.d.ts +52 -0
- package/dist/agent-result-views.js +89 -0
- package/dist/agent-skills.d.ts +99 -0
- package/dist/agent-skills.js +182 -0
- package/dist/agent-tools.d.ts +92 -0
- package/dist/agent-tools.js +139 -0
- package/dist/app-database-host.d.ts +4 -0
- package/dist/app-database-host.js +4 -0
- package/dist/app-shell-plugin-persistence.d.ts +15 -0
- package/dist/app-shell-plugin-persistence.js +34 -0
- package/dist/app-url.d.ts +54 -0
- package/dist/app-url.js +269 -0
- package/dist/application-compatibility.d.ts +31 -0
- package/dist/application-compatibility.js +64 -0
- package/dist/application-state.svelte.d.ts +14 -0
- package/dist/application-state.svelte.js +30 -0
- package/dist/assets/lapis-logo.svg +471 -0
- package/dist/bases.d.ts +281 -0
- package/dist/bases.js +475 -0
- package/dist/cache.svelte.d.ts +569 -0
- package/dist/cache.svelte.js +1433 -0
- package/dist/command.svelte.d.ts +337 -0
- package/dist/command.svelte.js +571 -0
- package/dist/compat.d.ts +29 -0
- package/dist/compat.js +30 -0
- package/dist/components/configuration/configuration.css +199 -0
- package/dist/components/configuration/date-setting.svelte +71 -0
- package/dist/components/configuration/date-setting.svelte.d.ts +8 -0
- package/dist/components/configuration/list-setting.svelte +128 -0
- package/dist/components/configuration/list-setting.svelte.d.ts +13 -0
- package/dist/components/configuration/object-array-row-grip.svelte +78 -0
- package/dist/components/configuration/object-array-row-grip.svelte.d.ts +9 -0
- package/dist/components/configuration/object-array-row.svelte +163 -0
- package/dist/components/configuration/object-array-row.svelte.d.ts +19 -0
- package/dist/components/configuration/object-array-setting.svelte +196 -0
- package/dist/components/configuration/object-array-setting.svelte.d.ts +15 -0
- package/dist/components/configuration/object-array-table-dnd.d.ts +8 -0
- package/dist/components/configuration/object-array-table-dnd.js +10 -0
- package/dist/components/configuration/object-array-utils.d.ts +11 -0
- package/dist/components/configuration/object-array-utils.js +103 -0
- package/dist/components/configuration/object-grid-setting.svelte +79 -0
- package/dist/components/configuration/object-grid-setting.svelte.d.ts +10 -0
- package/dist/components/configuration/object-map-row.svelte +147 -0
- package/dist/components/configuration/object-map-row.svelte.d.ts +15 -0
- package/dist/components/configuration/object-map-setting.svelte +137 -0
- package/dist/components/configuration/object-map-setting.svelte.d.ts +14 -0
- package/dist/components/configuration/object-map-types.d.ts +5 -0
- package/dist/components/configuration/object-map-types.js +1 -0
- package/dist/components/configuration/options-combobox-setting.svelte +129 -0
- package/dist/components/configuration/options-combobox-setting.svelte.d.ts +12 -0
- package/dist/components/copy-button/button.svelte +93 -0
- package/dist/components/copy-button/button.svelte.d.ts +13 -0
- package/dist/components/copy-button/index.d.ts +2 -0
- package/dist/components/copy-button/index.js +2 -0
- package/dist/components/editor/editor.css +565 -0
- package/dist/components/editor/editor.d.ts +33 -0
- package/dist/components/editor/editor.js +132 -0
- package/dist/components/editor/editor.svelte +176 -0
- package/dist/components/editor/editor.svelte.d.ts +15 -0
- package/dist/components/editor/embedded-editor-surface.d.ts +12 -0
- package/dist/components/editor/embedded-editor-surface.js +22 -0
- package/dist/components/editor/embedded-editor-surface.svelte +115 -0
- package/dist/components/editor/embedded-editor-surface.svelte.d.ts +17 -0
- package/dist/components/editor/extensions/autocomplete/index.d.ts +2 -0
- package/dist/components/editor/extensions/autocomplete/index.js +2 -0
- package/dist/components/editor/extensions/autocomplete/lapis-code-mirror-autocomplete.d.ts +16 -0
- package/dist/components/editor/extensions/autocomplete/lapis-code-mirror-autocomplete.js +34 -0
- package/dist/components/editor/extensions/autocomplete/vault-completion-sources.d.ts +27 -0
- package/dist/components/editor/extensions/autocomplete/vault-completion-sources.js +55 -0
- package/dist/components/editor/extensions/class-highlighter/index.d.ts +1 -0
- package/dist/components/editor/extensions/class-highlighter/index.js +47 -0
- package/dist/components/editor/extensions/fold-gutter/index.d.ts +8 -0
- package/dist/components/editor/extensions/fold-gutter/index.js +40 -0
- package/dist/components/editor/extensions/gutter-line-style-sync/index.d.ts +2 -0
- package/dist/components/editor/extensions/gutter-line-style-sync/index.js +118 -0
- package/dist/components/editor/extensions/lint/index.d.ts +4 -0
- package/dist/components/editor/extensions/lint/index.js +4 -0
- package/dist/components/editor/extensions/lint/lapis-code-mirror-lint.d.ts +26 -0
- package/dist/components/editor/extensions/lint/lapis-code-mirror-lint.js +101 -0
- package/dist/components/editor/extensions/lint/lapis-lint-diagnostic-helpers.d.ts +8 -0
- package/dist/components/editor/extensions/lint/lapis-lint-diagnostic-helpers.js +7 -0
- package/dist/components/editor/extensions/lint/lapis-lint-diagnostic.d.ts +20 -0
- package/dist/components/editor/extensions/lint/lapis-lint-diagnostic.js +47 -0
- package/dist/components/editor/extensions/lint/lapis-lint-hover-tooltip.d.ts +9 -0
- package/dist/components/editor/extensions/lint/lapis-lint-hover-tooltip.js +373 -0
- package/dist/components/editor/extensions/lint/lapis-lint-inline-widget.d.ts +31 -0
- package/dist/components/editor/extensions/lint/lapis-lint-inline-widget.js +191 -0
- package/dist/components/editor/extensions/lint/lapis-lint-tooltip.svelte +176 -0
- package/dist/components/editor/extensions/lint/lapis-lint-tooltip.svelte.d.ts +15 -0
- package/dist/components/editor/extensions/lint/lint-tooltip-actions.d.ts +11 -0
- package/dist/components/editor/extensions/lint/lint-tooltip-actions.js +21 -0
- package/dist/components/editor/extensions/lint/mount-lint-tooltip.d.ts +16 -0
- package/dist/components/editor/extensions/lint/mount-lint-tooltip.js +60 -0
- package/dist/components/editor/extensions/search/dom.d.ts +2 -0
- package/dist/components/editor/extensions/search/dom.js +6 -0
- package/dist/components/editor/extensions/search/index.d.ts +35 -0
- package/dist/components/editor/extensions/search/index.js +44 -0
- package/dist/components/editor/extensions/search/search.svelte +335 -0
- package/dist/components/editor/extensions/search/search.svelte.d.ts +8 -0
- package/dist/components/editor/index.d.ts +9 -0
- package/dist/components/editor/index.js +9 -0
- package/dist/components/editor/language-service/dom.d.ts +1 -0
- package/dist/components/editor/language-service/dom.js +6 -0
- package/dist/components/editor/language-service/index.d.ts +28 -0
- package/dist/components/editor/language-service/index.js +342 -0
- package/dist/components/empty-view/empty-view.css +39 -0
- package/dist/components/empty-view/empty-view.svelte +26 -0
- package/dist/components/empty-view/empty-view.svelte.d.ts +9 -0
- package/dist/components/empty-view/index.d.ts +2 -0
- package/dist/components/empty-view/index.js +2 -0
- package/dist/components/icon/icon-list.css +74 -0
- package/dist/components/icon/icon-list.svelte +213 -0
- package/dist/components/icon/icon-list.svelte.d.ts +11 -0
- package/dist/components/icon/icon.svelte +15 -0
- package/dist/components/icon/icon.svelte.d.ts +7 -0
- package/dist/components/icon/index.d.ts +3 -0
- package/dist/components/icon/index.js +3 -0
- package/dist/components/menu/context-menu.svelte +89 -0
- package/dist/components/menu/context-menu.svelte.d.ts +11 -0
- package/dist/components/menu/drawer-menu.svelte +83 -0
- package/dist/components/menu/drawer-menu.svelte.d.ts +8 -0
- package/dist/components/menu/dropdown-menu.svelte +89 -0
- package/dist/components/menu/dropdown-menu.svelte.d.ts +11 -0
- package/dist/components/menu/index.d.ts +6 -0
- package/dist/components/menu/index.js +6 -0
- package/dist/components/menu/menu.css +139 -0
- package/dist/components/menu/menu.svelte +37 -0
- package/dist/components/menu/menu.svelte.d.ts +11 -0
- package/dist/components/menu/mobile-menu-query.svelte.d.ts +3 -0
- package/dist/components/menu/mobile-menu-query.svelte.js +21 -0
- package/dist/components/menu/popover-menu.svelte +90 -0
- package/dist/components/menu/popover-menu.svelte.d.ts +10 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.js +2 -0
- package/dist/components/select/select.svelte +72 -0
- package/dist/components/select/select.svelte.d.ts +25 -0
- package/dist/configuration-option-source-providers.d.ts +17 -0
- package/dist/configuration-option-source-providers.js +59 -0
- package/dist/configuration-option-source-registry.d.ts +59 -0
- package/dist/configuration-option-source-registry.js +123 -0
- package/dist/configuration.svelte.d.ts +258 -0
- package/dist/configuration.svelte.js +887 -0
- package/dist/context-keys.svelte.d.ts +42 -0
- package/dist/context-keys.svelte.js +278 -0
- package/dist/context.svelte.d.ts +247 -0
- package/dist/context.svelte.js +540 -0
- package/dist/daily-document-provider.d.ts +38 -0
- package/dist/daily-document-provider.js +176 -0
- package/dist/design-core-button-types.d.ts +7 -0
- package/dist/design-core-button-types.js +1 -0
- package/dist/diagnostics.d.ts +93 -0
- package/dist/diagnostics.js +84 -0
- package/dist/dialog-portal.d.ts +3 -0
- package/dist/dialog-portal.js +3 -0
- package/dist/docs-api.d.ts +44 -0
- package/dist/docs-api.js +29 -0
- package/dist/editor-view-registry.d.ts +35 -0
- package/dist/editor-view-registry.js +112 -0
- package/dist/editor.svelte.d.ts +126 -0
- package/dist/editor.svelte.js +454 -0
- package/dist/embed-registry.d.ts +15 -0
- package/dist/embed-registry.js +16 -0
- package/dist/enhance.d.ts +111 -0
- package/dist/enhance.js +309 -0
- package/dist/events.d.ts +28 -0
- package/dist/events.js +49 -0
- package/dist/file-manager.d.ts +90 -0
- package/dist/file-manager.js +289 -0
- package/dist/file-tools/app-tools.d.ts +3 -0
- package/dist/file-tools/app-tools.js +242 -0
- package/dist/file-tools/index.d.ts +3 -0
- package/dist/file-tools/index.js +3 -0
- package/dist/file-tools/paths.d.ts +14 -0
- package/dist/file-tools/paths.js +33 -0
- package/dist/file-tools/vault-operations.d.ts +3 -0
- package/dist/file-tools/vault-operations.js +60 -0
- package/dist/generated/plugin-host-modules.schema.generated.d.ts +371 -0
- package/dist/generated/plugin-host-modules.schema.generated.js +374 -0
- package/dist/glob.d.ts +15 -0
- package/dist/glob.js +68 -0
- package/dist/history.svelte.d.ts +24 -0
- package/dist/history.svelte.js +74 -0
- package/dist/hooks/createVirtualizer.svelte.d.ts +7 -0
- package/dist/hooks/createVirtualizer.svelte.js +70 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/is-mobile.svelte.d.ts +5 -0
- package/dist/hooks/is-mobile.svelte.js +23 -0
- package/dist/hooks/mountComponent.svelte.d.ts +7 -0
- package/dist/hooks/mountComponent.svelte.js +16 -0
- package/dist/hooks/use-text-highlight.d.ts +17 -0
- package/dist/hooks/use-text-highlight.js +82 -0
- package/dist/hooks/useBoundingRect.svelte.d.ts +11 -0
- package/dist/hooks/useBoundingRect.svelte.js +46 -0
- package/dist/icons/index.d.ts +57 -0
- package/dist/icons/index.js +288 -0
- package/dist/index.d.ts +87 -0
- package/dist/index.js +87 -0
- package/dist/language-service/index.d.ts +9 -0
- package/dist/language-service/index.js +7 -0
- package/dist/language-service/manager.d.ts +47 -0
- package/dist/language-service/manager.js +404 -0
- package/dist/language-service/types.d.ts +92 -0
- package/dist/language-service/types.js +1 -0
- package/dist/language-service/virtual-document.d.ts +11 -0
- package/dist/language-service/virtual-document.js +45 -0
- package/dist/language-service/worker-protocol.d.ts +63 -0
- package/dist/language-service/worker-protocol.js +1 -0
- package/dist/language-service/worker-provider.d.ts +9 -0
- package/dist/language-service/worker-provider.js +38 -0
- package/dist/lapis-extension.d.ts +244 -0
- package/dist/lapis-extension.js +591 -0
- package/dist/links.d.ts +34 -0
- package/dist/links.js +191 -0
- package/dist/loaders.d.ts +9 -0
- package/dist/loaders.js +59 -0
- package/dist/localization-manager.svelte.d.ts +56 -0
- package/dist/localization-manager.svelte.js +157 -0
- package/dist/logging.d.ts +172 -0
- package/dist/logging.js +352 -0
- package/dist/markdown-extension-registry.d.ts +31 -0
- package/dist/markdown-extension-registry.js +31 -0
- package/dist/markdown-file-surface-registry.d.ts +25 -0
- package/dist/markdown-file-surface-registry.js +23 -0
- package/dist/markdown.d.ts +205 -0
- package/dist/markdown.js +147 -0
- package/dist/menu-utils.d.ts +1 -0
- package/dist/menu-utils.js +47 -0
- package/dist/menu.svelte.d.ts +121 -0
- package/dist/menu.svelte.js +295 -0
- package/dist/metadata-value.d.ts +10 -0
- package/dist/metadata-value.js +173 -0
- package/dist/metadata.svelte.d.ts +106 -0
- package/dist/metadata.svelte.js +608 -0
- package/dist/notifications.d.ts +209 -0
- package/dist/notifications.js +338 -0
- package/dist/open-file.d.ts +23 -0
- package/dist/open-file.js +102 -0
- package/dist/platform.d.ts +86 -0
- package/dist/platform.js +86 -0
- package/dist/plugin-asset-server.d.ts +60 -0
- package/dist/plugin-asset-server.js +222 -0
- package/dist/plugin-assets.d.ts +4 -0
- package/dist/plugin-assets.js +3 -0
- package/dist/plugin-capability-facade.d.ts +104 -0
- package/dist/plugin-capability-facade.js +61 -0
- package/dist/plugin-dependency-resolver.d.ts +36 -0
- package/dist/plugin-dependency-resolver.js +54 -0
- package/dist/plugin-dependency-scanner.d.ts +9 -0
- package/dist/plugin-dependency-scanner.js +274 -0
- package/dist/plugin-distribution/canonical-json.d.ts +1 -0
- package/dist/plugin-distribution/canonical-json.js +40 -0
- package/dist/plugin-distribution/compatibility.d.ts +5 -0
- package/dist/plugin-distribution/compatibility.js +38 -0
- package/dist/plugin-distribution/errors.d.ts +11 -0
- package/dist/plugin-distribution/errors.js +13 -0
- package/dist/plugin-distribution/hashes.d.ts +2 -0
- package/dist/plugin-distribution/hashes.js +17 -0
- package/dist/plugin-distribution/index.d.ts +18 -0
- package/dist/plugin-distribution/index.js +18 -0
- package/dist/plugin-distribution/installed-plugin-state.d.ts +20 -0
- package/dist/plugin-distribution/installed-plugin-state.js +73 -0
- package/dist/plugin-distribution/installer.d.ts +89 -0
- package/dist/plugin-distribution/installer.js +395 -0
- package/dist/plugin-distribution/manager.d.ts +128 -0
- package/dist/plugin-distribution/manager.js +358 -0
- package/dist/plugin-distribution/path-safety.d.ts +2 -0
- package/dist/plugin-distribution/path-safety.js +20 -0
- package/dist/plugin-distribution/plugin-bundle-verifier.d.ts +28 -0
- package/dist/plugin-distribution/plugin-bundle-verifier.js +96 -0
- package/dist/plugin-distribution/plugin-bundle-worker.d.ts +34 -0
- package/dist/plugin-distribution/plugin-bundle-worker.js +99 -0
- package/dist/plugin-distribution/plugin-bundle.d.ts +16 -0
- package/dist/plugin-distribution/plugin-bundle.js +244 -0
- package/dist/plugin-distribution/plugin-bundle.worker.d.ts +1 -0
- package/dist/plugin-distribution/plugin-bundle.worker.js +38 -0
- package/dist/plugin-distribution/registry-cache.d.ts +26 -0
- package/dist/plugin-distribution/registry-cache.js +85 -0
- package/dist/plugin-distribution/registry-client.d.ts +36 -0
- package/dist/plugin-distribution/registry-client.js +115 -0
- package/dist/plugin-distribution/reserved-ids.d.ts +4 -0
- package/dist/plugin-distribution/reserved-ids.js +10 -0
- package/dist/plugin-distribution/runtime-validation.d.ts +14 -0
- package/dist/plugin-distribution/runtime-validation.js +388 -0
- package/dist/plugin-distribution/schemas.d.ts +4895 -0
- package/dist/plugin-distribution/schemas.js +299 -0
- package/dist/plugin-distribution/signing.d.ts +5 -0
- package/dist/plugin-distribution/signing.js +38 -0
- package/dist/plugin-distribution/types.d.ts +217 -0
- package/dist/plugin-distribution/types.js +1 -0
- package/dist/plugin-install-progress.d.ts +15 -0
- package/dist/plugin-install-progress.js +86 -0
- package/dist/plugin-manager.d.ts +306 -0
- package/dist/plugin-manager.js +2848 -0
- package/dist/plugin-runtime-entry.d.ts +19 -0
- package/dist/plugin-runtime-entry.js +135 -0
- package/dist/plugin.d.ts +350 -0
- package/dist/plugin.js +754 -0
- package/dist/popover.d.ts +20 -0
- package/dist/popover.js +32 -0
- package/dist/promise-worker.d.ts +22 -0
- package/dist/promise-worker.js +65 -0
- package/dist/prompt-confirm.d.ts +9 -0
- package/dist/prompt-confirm.js +33 -0
- package/dist/search-document-provider.d.ts +45 -0
- package/dist/search-document-provider.js +54 -0
- package/dist/search-query/index.d.ts +78 -0
- package/dist/search-query/index.js +426 -0
- package/dist/search-query/parser.d.ts +3 -0
- package/dist/search-query/parser.js +16 -0
- package/dist/search-query/parser.terms.js +26 -0
- package/dist/search-query/search-query.grammar +128 -0
- package/dist/search.d.ts +19 -0
- package/dist/search.js +104 -0
- package/dist/setting-section-layout.d.ts +19 -0
- package/dist/setting-section-layout.js +194 -0
- package/dist/settings.svelte.d.ts +474 -0
- package/dist/settings.svelte.js +1421 -0
- package/dist/source-text-file-view.d.ts +25 -0
- package/dist/source-text-file-view.js +78 -0
- package/dist/status-bar.svelte.d.ts +29 -0
- package/dist/status-bar.svelte.js +72 -0
- package/dist/storage/app-database.d.ts +860 -0
- package/dist/storage/app-database.js +2372 -0
- package/dist/storage/blob-store.d.ts +12 -0
- package/dist/storage/blob-store.js +1 -0
- package/dist/storage/browser-app-database-coordination.d.ts +35 -0
- package/dist/storage/browser-app-database-coordination.js +207 -0
- package/dist/storage/browser-coordinated-app-database.d.ts +109 -0
- package/dist/storage/browser-coordinated-app-database.js +704 -0
- package/dist/storage/browser.d.ts +153 -0
- package/dist/storage/browser.js +794 -0
- package/dist/storage/desktop-native.d.ts +184 -0
- package/dist/storage/desktop-native.js +415 -0
- package/dist/storage/fs.d.ts +188 -0
- package/dist/storage/fs.js +307 -0
- package/dist/storage/index-projection.d.ts +236 -0
- package/dist/storage/index-projection.js +402 -0
- package/dist/storage/index.d.ts +17 -0
- package/dist/storage/index.js +17 -0
- package/dist/storage/keyval.d.ts +94 -0
- package/dist/storage/keyval.js +199 -0
- package/dist/storage/memory-vault-adapter.d.ts +44 -0
- package/dist/storage/memory-vault-adapter.js +351 -0
- package/dist/storage/native-vault-bootstrap-kv.d.ts +22 -0
- package/dist/storage/native-vault-bootstrap-kv.js +96 -0
- package/dist/storage/path.d.ts +22 -0
- package/dist/storage/path.js +110 -0
- package/dist/storage/search-embedding-provider.d.ts +75 -0
- package/dist/storage/search-embedding-provider.js +446 -0
- package/dist/storage/search-embedding-worker.d.ts +1 -0
- package/dist/storage/search-embedding-worker.js +63 -0
- package/dist/storage/search-query-evaluator.d.ts +14 -0
- package/dist/storage/search-query-evaluator.js +678 -0
- package/dist/storage/task-projection.d.ts +152 -0
- package/dist/storage/task-projection.js +154 -0
- package/dist/storage/turso-app-database.d.ts +150 -0
- package/dist/storage/turso-app-database.js +2671 -0
- package/dist/storage/vault-session.d.ts +37 -0
- package/dist/storage/vault-session.js +196 -0
- package/dist/storage/vault-state.d.ts +74 -0
- package/dist/storage/vault-state.js +181 -0
- package/dist/storage/vault.svelte.d.ts +257 -0
- package/dist/storage/vault.svelte.js +661 -0
- package/dist/suggest.d.ts +193 -0
- package/dist/suggest.js +391 -0
- package/dist/tasks.d.ts +7 -0
- package/dist/tasks.js +18 -0
- package/dist/telemetry.d.ts +116 -0
- package/dist/telemetry.js +103 -0
- package/dist/utils.d.ts +55 -0
- package/dist/utils.js +314 -0
- package/dist/vault-api.d.ts +5 -0
- package/dist/vault-api.js +3 -0
- package/dist/vault-maintenance-commands.d.ts +5 -0
- package/dist/vault-maintenance-commands.js +32 -0
- package/dist/view.svelte.d.ts +215 -0
- package/dist/view.svelte.js +381 -0
- package/dist/vite-env.d.ts +2 -0
- package/dist/workspace-host-internal.d.ts +7 -0
- package/dist/workspace-host-internal.js +7 -0
- package/dist/workspace-host.d.ts +10 -0
- package/dist/workspace-host.js +14 -0
- package/dist/workspace-layout-commands.d.ts +3 -0
- package/dist/workspace-layout-commands.js +72 -0
- package/dist/workspace-layout-normalizer.d.ts +92 -0
- package/dist/workspace-layout-normalizer.js +301 -0
- package/dist/workspace-layouts.d.ts +7 -0
- package/dist/workspace-layouts.js +23 -0
- package/dist/workspace-trust.d.ts +32 -0
- package/dist/workspace-trust.js +72 -0
- package/dist/workspace.svelte.d.ts +796 -0
- package/dist/workspace.svelte.js +4380 -0
- package/package.json +240 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { PUBLIC_TASKS_PROJECTION_ID, PUBLIC_TASK_OCCURRENCES_PROJECTION_ID, type IndexFieldDefinition, type IndexQuery } from "./index-projection";
|
|
2
|
+
export declare const TASK_PROJECTION_VERSION = 3;
|
|
3
|
+
export declare const TASK_OCCURRENCE_PROJECTION_VERSION = 1;
|
|
4
|
+
export { PUBLIC_TASKS_PROJECTION_ID, PUBLIC_TASK_OCCURRENCES_PROJECTION_ID };
|
|
5
|
+
export declare const TASK_PROJECTION_FIELDS: Record<string, IndexFieldDefinition>;
|
|
6
|
+
export declare const TASK_OCCURRENCE_PROJECTION_FIELDS: Record<string, IndexFieldDefinition>;
|
|
7
|
+
export type AppDatabaseTaskKind = "task" | "task-list";
|
|
8
|
+
export type AppDatabaseTaskStatus = "open" | "completed" | "canceled" | "active" | "archived";
|
|
9
|
+
export type AppDatabaseTaskStartKind = "anytime" | "someday" | "date";
|
|
10
|
+
export type AppDatabaseTaskPlanKind = "anytime" | "morning" | "afternoon" | "evening" | "time";
|
|
11
|
+
export type AppDatabaseEffectiveOccurrenceState = "current" | "overdue" | "future" | "exhausted" | "paused" | "unsupported";
|
|
12
|
+
export interface AppDatabaseTaskRepeat {
|
|
13
|
+
start?: string;
|
|
14
|
+
rrule: string;
|
|
15
|
+
anchor: "schedule" | "completion";
|
|
16
|
+
missed: "carry" | "skip";
|
|
17
|
+
rdate?: string[];
|
|
18
|
+
exdate?: string[];
|
|
19
|
+
resetChecklist?: boolean;
|
|
20
|
+
paused?: boolean;
|
|
21
|
+
pausedSince?: string;
|
|
22
|
+
pauseRanges?: Array<{
|
|
23
|
+
start: string;
|
|
24
|
+
end: string;
|
|
25
|
+
}>;
|
|
26
|
+
lastCompletedAt?: string;
|
|
27
|
+
completionCount?: number;
|
|
28
|
+
}
|
|
29
|
+
export type AppDatabaseTaskTracking = {
|
|
30
|
+
type: "boolean";
|
|
31
|
+
} | {
|
|
32
|
+
type: "count";
|
|
33
|
+
unit: string;
|
|
34
|
+
target?: number;
|
|
35
|
+
} | {
|
|
36
|
+
type: "duration";
|
|
37
|
+
target?: string;
|
|
38
|
+
} | {
|
|
39
|
+
type: "number";
|
|
40
|
+
unit: string;
|
|
41
|
+
target?: number;
|
|
42
|
+
};
|
|
43
|
+
export type AppDatabaseLinkKind = "reference" | "task-entry" | "list-entry" | "navigation-item";
|
|
44
|
+
export type AppDatabaseTaskStructuralKind = "task-entry" | "list-entry";
|
|
45
|
+
export interface AppDatabaseTaskStructuralEntry {
|
|
46
|
+
sourceDocumentId: string;
|
|
47
|
+
sourceDocumentPath: string;
|
|
48
|
+
targetDocumentId: string;
|
|
49
|
+
targetDocumentPath: string;
|
|
50
|
+
kind: AppDatabaseTaskStructuralKind;
|
|
51
|
+
headingPath: string[];
|
|
52
|
+
headingLevel: number | null;
|
|
53
|
+
headingText: string | null;
|
|
54
|
+
runId: string;
|
|
55
|
+
positionInRun: number;
|
|
56
|
+
sourceStart: number;
|
|
57
|
+
sourceEnd: number;
|
|
58
|
+
authoredLabel: string;
|
|
59
|
+
authoredHref: string;
|
|
60
|
+
}
|
|
61
|
+
export interface AppDatabaseTaskRun {
|
|
62
|
+
id: string;
|
|
63
|
+
documentId: string;
|
|
64
|
+
documentPath: string;
|
|
65
|
+
headingPath: string[];
|
|
66
|
+
headingLevel: number | null;
|
|
67
|
+
headingText: string | null;
|
|
68
|
+
listDepth: number;
|
|
69
|
+
startOffset: number;
|
|
70
|
+
endOffset: number;
|
|
71
|
+
entryCount: number;
|
|
72
|
+
}
|
|
73
|
+
export interface AppDatabaseTaskStructureDiagnostic {
|
|
74
|
+
code: string;
|
|
75
|
+
message: string;
|
|
76
|
+
sourceStart?: number;
|
|
77
|
+
sourceEnd?: number;
|
|
78
|
+
target?: string;
|
|
79
|
+
}
|
|
80
|
+
export interface AppDatabaseTaskStructure {
|
|
81
|
+
version: number;
|
|
82
|
+
sourceHash: string;
|
|
83
|
+
entries: AppDatabaseTaskStructuralEntry[];
|
|
84
|
+
runs: AppDatabaseTaskRun[];
|
|
85
|
+
diagnostics: AppDatabaseTaskStructureDiagnostic[];
|
|
86
|
+
}
|
|
87
|
+
export type AppDatabaseTaskView = "inbox" | "today" | "anytime" | "upcoming" | "someday" | "completed" | "review";
|
|
88
|
+
export interface AppDatabaseTaskRecord {
|
|
89
|
+
documentPath: string;
|
|
90
|
+
documentId: string;
|
|
91
|
+
kind: AppDatabaseTaskKind;
|
|
92
|
+
title: string;
|
|
93
|
+
status: AppDatabaseTaskStatus;
|
|
94
|
+
inbox: boolean;
|
|
95
|
+
startKind: AppDatabaseTaskStartKind;
|
|
96
|
+
startDate?: string | null;
|
|
97
|
+
planDate?: string | null;
|
|
98
|
+
planKind?: AppDatabaseTaskPlanKind | null;
|
|
99
|
+
planTime?: string | null;
|
|
100
|
+
durationMinutes?: number | null;
|
|
101
|
+
deadline?: string | null;
|
|
102
|
+
completedAt?: string | null;
|
|
103
|
+
repeat?: AppDatabaseTaskRepeat | null;
|
|
104
|
+
tracking?: AppDatabaseTaskTracking | null;
|
|
105
|
+
effectiveOccurrenceDate?: string | null;
|
|
106
|
+
effectiveOccurrenceState?: AppDatabaseEffectiveOccurrenceState | null;
|
|
107
|
+
effectiveForDate?: string | null;
|
|
108
|
+
/** @deprecated Read compatibility for task projection v2 rows. */
|
|
109
|
+
repeatStrategy?: string | null;
|
|
110
|
+
/** @deprecated Read compatibility for task projection v2 rows. */
|
|
111
|
+
repeatFrequency?: string | null;
|
|
112
|
+
/** @deprecated Read compatibility for task projection v2 rows. */
|
|
113
|
+
repeatInterval?: number | null;
|
|
114
|
+
/** @deprecated Read compatibility for task projection v2 rows. */
|
|
115
|
+
repeatAnchor?: string | null;
|
|
116
|
+
checklistTotal: number;
|
|
117
|
+
checklistCompleted: number;
|
|
118
|
+
commentCount: number;
|
|
119
|
+
structure?: AppDatabaseTaskStructure | null;
|
|
120
|
+
projectionVersion: number;
|
|
121
|
+
}
|
|
122
|
+
export type AppDatabaseTaskOccurrenceOutcome = "pending" | "completed" | "missed";
|
|
123
|
+
/** Disposable observation parsed from one exact daily-note list item range. */
|
|
124
|
+
export interface AppDatabaseTaskOccurrenceRecord {
|
|
125
|
+
observationId: string;
|
|
126
|
+
taskId: string;
|
|
127
|
+
taskPath: string;
|
|
128
|
+
dailyDocumentPath: string;
|
|
129
|
+
occurrenceDate: string;
|
|
130
|
+
outcome: AppDatabaseTaskOccurrenceOutcome;
|
|
131
|
+
trackingKind: AppDatabaseTaskTracking["type"];
|
|
132
|
+
value?: number | null;
|
|
133
|
+
unit?: string | null;
|
|
134
|
+
durationMinutes?: number | null;
|
|
135
|
+
sourceStart: number;
|
|
136
|
+
sourceEnd: number;
|
|
137
|
+
projectionVersion: number;
|
|
138
|
+
}
|
|
139
|
+
export interface AppDatabaseTaskQuery {
|
|
140
|
+
view?: AppDatabaseTaskView;
|
|
141
|
+
today?: string;
|
|
142
|
+
documentId?: string;
|
|
143
|
+
documentPath?: string;
|
|
144
|
+
kind?: AppDatabaseTaskKind;
|
|
145
|
+
limit?: number;
|
|
146
|
+
}
|
|
147
|
+
export interface AppDatabaseTaskChildQuery {
|
|
148
|
+
sourcePath: string;
|
|
149
|
+
kind?: AppDatabaseLinkKind;
|
|
150
|
+
}
|
|
151
|
+
export declare function matchesTaskQuery(row: AppDatabaseTaskRecord, query: AppDatabaseTaskQuery): boolean;
|
|
152
|
+
export declare function taskQueryToIndexQuery(query?: AppDatabaseTaskQuery): IndexQuery;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { PUBLIC_TASKS_PROJECTION_ID, PUBLIC_TASK_OCCURRENCES_PROJECTION_ID, and, eq, gt, isNull, lt, lte, or, } from "./index-projection";
|
|
2
|
+
export const TASK_PROJECTION_VERSION = 3;
|
|
3
|
+
export const TASK_OCCURRENCE_PROJECTION_VERSION = 1;
|
|
4
|
+
export { PUBLIC_TASKS_PROJECTION_ID, PUBLIC_TASK_OCCURRENCES_PROJECTION_ID };
|
|
5
|
+
export const TASK_PROJECTION_FIELDS = {
|
|
6
|
+
documentPath: { type: "path", indexed: true, sortable: true },
|
|
7
|
+
documentId: { type: "string", indexed: true, unique: true },
|
|
8
|
+
kind: { type: "string", indexed: true },
|
|
9
|
+
title: { type: "string", indexed: true, sortable: true },
|
|
10
|
+
status: { type: "string", indexed: true, sortable: true },
|
|
11
|
+
inbox: { type: "boolean", indexed: true },
|
|
12
|
+
startKind: { type: "string", indexed: true },
|
|
13
|
+
startDate: { type: "date", indexed: true, sortable: true },
|
|
14
|
+
planDate: { type: "date", indexed: true, sortable: true },
|
|
15
|
+
planKind: { type: "string", indexed: true },
|
|
16
|
+
planTime: { type: "string", indexed: true, sortable: true },
|
|
17
|
+
durationMinutes: { type: "number", indexed: true, sortable: true },
|
|
18
|
+
deadline: { type: "date", indexed: true, sortable: true },
|
|
19
|
+
completedAt: { type: "string", indexed: true },
|
|
20
|
+
repeat: { type: "json" },
|
|
21
|
+
repeatStart: { type: "date", indexed: true, sortable: true },
|
|
22
|
+
repeatRRule: { type: "string", indexed: true },
|
|
23
|
+
repeatAnchor: { type: "string", indexed: true },
|
|
24
|
+
repeatMissed: { type: "string", indexed: true },
|
|
25
|
+
repeatPaused: { type: "boolean", indexed: true },
|
|
26
|
+
repeatPausedSince: { type: "date", indexed: true, sortable: true },
|
|
27
|
+
tracking: { type: "json" },
|
|
28
|
+
effectiveOccurrenceDate: { type: "date", indexed: true, sortable: true },
|
|
29
|
+
effectiveOccurrenceState: { type: "string", indexed: true, sortable: true },
|
|
30
|
+
effectiveForDate: { type: "date", indexed: true, sortable: true },
|
|
31
|
+
checklistTotal: { type: "number" },
|
|
32
|
+
checklistCompleted: { type: "number" },
|
|
33
|
+
commentCount: { type: "number", indexed: true },
|
|
34
|
+
structure: { type: "json" },
|
|
35
|
+
};
|
|
36
|
+
export const TASK_OCCURRENCE_PROJECTION_FIELDS = {
|
|
37
|
+
observationId: { type: "string", indexed: true, unique: true },
|
|
38
|
+
taskId: { type: "string", indexed: true, sortable: true },
|
|
39
|
+
taskPath: { type: "path", indexed: true },
|
|
40
|
+
dailyDocumentPath: { type: "path", indexed: true },
|
|
41
|
+
occurrenceDate: { type: "date", indexed: true, sortable: true },
|
|
42
|
+
outcome: { type: "string", indexed: true, sortable: true },
|
|
43
|
+
trackingKind: { type: "string", indexed: true },
|
|
44
|
+
value: { type: "number", indexed: true, sortable: true },
|
|
45
|
+
unit: { type: "string", indexed: true },
|
|
46
|
+
durationMinutes: { type: "number", indexed: true, sortable: true },
|
|
47
|
+
sourceStart: { type: "number" },
|
|
48
|
+
sourceEnd: { type: "number" },
|
|
49
|
+
};
|
|
50
|
+
function isOpenTask(row) {
|
|
51
|
+
return row.kind === "task" && row.status === "open";
|
|
52
|
+
}
|
|
53
|
+
function startIsActionable(row, today) {
|
|
54
|
+
if (row.startKind === "anytime")
|
|
55
|
+
return true;
|
|
56
|
+
if (row.startKind === "date") {
|
|
57
|
+
return Boolean(row.startDate && row.startDate <= today);
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
function hasEffectiveOccurrence(row) {
|
|
62
|
+
return Boolean(row.effectiveOccurrenceState);
|
|
63
|
+
}
|
|
64
|
+
export function matchesTaskQuery(row, query) {
|
|
65
|
+
if (query.documentPath && row.documentPath !== query.documentPath)
|
|
66
|
+
return false;
|
|
67
|
+
if (query.documentId && row.documentId !== query.documentId)
|
|
68
|
+
return false;
|
|
69
|
+
if (query.kind && row.kind !== query.kind)
|
|
70
|
+
return false;
|
|
71
|
+
if (!query.view)
|
|
72
|
+
return true;
|
|
73
|
+
const today = query.today ?? new Date().toISOString().slice(0, 10);
|
|
74
|
+
switch (query.view) {
|
|
75
|
+
case "inbox":
|
|
76
|
+
return isOpenTask(row) && row.inbox;
|
|
77
|
+
case "today":
|
|
78
|
+
return (isOpenTask(row) &&
|
|
79
|
+
(((row.effectiveOccurrenceState === "current" ||
|
|
80
|
+
row.effectiveOccurrenceState === "unsupported") &&
|
|
81
|
+
row.effectiveOccurrenceDate === today) ||
|
|
82
|
+
(!hasEffectiveOccurrence(row) &&
|
|
83
|
+
Boolean(row.planDate) &&
|
|
84
|
+
row.planDate <= today) ||
|
|
85
|
+
(Boolean(row.deadline) && row.deadline <= today)));
|
|
86
|
+
case "anytime":
|
|
87
|
+
return isOpenTask(row) && startIsActionable(row, today) && !row.planDate;
|
|
88
|
+
case "upcoming":
|
|
89
|
+
return (isOpenTask(row) &&
|
|
90
|
+
((row.effectiveOccurrenceState === "future" &&
|
|
91
|
+
Boolean(row.effectiveOccurrenceDate)) ||
|
|
92
|
+
(!hasEffectiveOccurrence(row) &&
|
|
93
|
+
Boolean(row.startDate) &&
|
|
94
|
+
row.startDate > today) ||
|
|
95
|
+
(!hasEffectiveOccurrence(row) &&
|
|
96
|
+
Boolean(row.planDate) &&
|
|
97
|
+
row.planDate > today) ||
|
|
98
|
+
(Boolean(row.deadline) && row.deadline > today)));
|
|
99
|
+
case "someday":
|
|
100
|
+
return isOpenTask(row) && row.startKind === "someday";
|
|
101
|
+
case "completed":
|
|
102
|
+
return row.status === "completed";
|
|
103
|
+
case "review":
|
|
104
|
+
return (isOpenTask(row) &&
|
|
105
|
+
(row.effectiveOccurrenceState === "overdue" ||
|
|
106
|
+
(!hasEffectiveOccurrence(row) &&
|
|
107
|
+
Boolean(row.planDate) &&
|
|
108
|
+
row.planDate < today)));
|
|
109
|
+
default:
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export function taskQueryToIndexQuery(query = {}) {
|
|
114
|
+
const clauses = [];
|
|
115
|
+
if (query.documentPath)
|
|
116
|
+
clauses.push(eq("documentPath", query.documentPath));
|
|
117
|
+
if (query.documentId)
|
|
118
|
+
clauses.push(eq("documentId", query.documentId));
|
|
119
|
+
if (query.kind)
|
|
120
|
+
clauses.push(eq("kind", query.kind));
|
|
121
|
+
if (query.view) {
|
|
122
|
+
const today = query.today ?? new Date().toISOString().slice(0, 10);
|
|
123
|
+
const openTask = and(eq("kind", "task"), eq("status", "open"));
|
|
124
|
+
switch (query.view) {
|
|
125
|
+
case "inbox":
|
|
126
|
+
clauses.push(and(openTask, eq("inbox", true)));
|
|
127
|
+
break;
|
|
128
|
+
case "today":
|
|
129
|
+
clauses.push(and(openTask, or(and(or(eq("effectiveOccurrenceState", "current"), eq("effectiveOccurrenceState", "unsupported")), eq("effectiveOccurrenceDate", today)), and(isNull("effectiveOccurrenceState"), lte("planDate", today)), lte("deadline", today))));
|
|
130
|
+
break;
|
|
131
|
+
case "anytime":
|
|
132
|
+
clauses.push(and(openTask, isNull("planDate"), or(eq("startKind", "anytime"), and(eq("startKind", "date"), lte("startDate", today)))));
|
|
133
|
+
break;
|
|
134
|
+
case "upcoming":
|
|
135
|
+
clauses.push(and(openTask, or(and(eq("effectiveOccurrenceState", "future"), gt("effectiveOccurrenceDate", today)), and(isNull("effectiveOccurrenceState"), gt("startDate", today)), and(isNull("effectiveOccurrenceState"), gt("planDate", today)), gt("deadline", today))));
|
|
136
|
+
break;
|
|
137
|
+
case "someday":
|
|
138
|
+
clauses.push(and(openTask, eq("startKind", "someday")));
|
|
139
|
+
break;
|
|
140
|
+
case "completed":
|
|
141
|
+
clauses.push(eq("status", "completed"));
|
|
142
|
+
break;
|
|
143
|
+
case "review":
|
|
144
|
+
clauses.push(and(openTask, or(eq("effectiveOccurrenceState", "overdue"), and(isNull("effectiveOccurrenceState"), lt("planDate", today)))));
|
|
145
|
+
break;
|
|
146
|
+
default:
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
where: clauses.length === 1 ? clauses[0] : clauses.length ? and(...clauses) : undefined,
|
|
152
|
+
limit: query.limit,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { type AppDatabase, type AppDatabaseChangeListener, type AppDatabaseDescriptor, type AppDatabaseFileHistory, type AppDatabaseIndexedFile, type AppDatabaseIndexedFileManifestPage, type AppDatabaseIndexedFileManifestQuery, type AppDatabaseIndexedMetadataPage, type AppDatabaseIndexedMetadataPageQuery, type AppDatabaseIndexedMetadataQuery, type AppDatabaseIndexedMetadataRow, type AppDatabaseKind, type AppDatabaseLinkRecord, type AppDatabaseMetadataFacetQuery, type AppDatabaseMetadataFacetRow, type AppDatabaseMetadataLinkQuery, type AppDatabaseMemoryCandidateInput, type AppDatabaseMemoryCandidateQuery, type AppDatabaseMemoryCandidateResult, type AppDatabaseMemoryJobClaimInput, type AppDatabaseMemoryJobRecord, type AppDatabaseMemoryJobUpdateInput, type AppDatabaseMemoryRecallSignalRecord, type AppDatabaseMemorySourceRecord, type AppDatabaseNotebookState, type AppDatabaseNotificationRecord, type AppDatabaseOpenContext, type AppDatabaseProvider, type AppDatabaseSearchIndexStats, type AppDatabaseSearchOptions, type AppDatabaseSearchResult, type AppDatabaseStoreFileHistoryRevisionInput, type AppDatabaseStoreFileHistoryRevisionResult, type MetadataCacheSnapshot, type SearchDocumentRecord, type SearchDocumentManifestPage, type SearchDocumentManifestQuery, type SearchEmbeddingProviderConfig } from "./app-database";
|
|
2
|
+
import { type IndexProjectionDefinitionRecord, type IndexQuery, type IndexQueryResult, type IndexRelatedQuery, type MarkProjectionSourceErrorInput, type ReplaceProjectionSourceInput } from "./index-projection";
|
|
3
|
+
import type { AppDatabaseTaskChildQuery, AppDatabaseTaskQuery, AppDatabaseTaskRecord } from "./task-projection";
|
|
4
|
+
import { type SearchEmbeddingRuntimeStatus } from "./search-embedding-provider";
|
|
5
|
+
export interface TursoStatementInput {
|
|
6
|
+
sql: string;
|
|
7
|
+
args?: unknown[] | Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface TursoConnection {
|
|
10
|
+
exec(sql: string): Promise<void>;
|
|
11
|
+
run(sql: string, ...args: unknown[]): Promise<unknown>;
|
|
12
|
+
get<T extends Record<string, unknown>>(sql: string, ...args: unknown[]): Promise<T | undefined>;
|
|
13
|
+
all<T extends Record<string, unknown>>(sql: string, ...args: unknown[]): Promise<T[]>;
|
|
14
|
+
batch(statements: Array<string | TursoStatementInput>, options?: string): Promise<unknown>;
|
|
15
|
+
close(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export type TursoConnectionFactory = () => Promise<TursoConnection>;
|
|
18
|
+
export interface TursoAppDatabaseOptions {
|
|
19
|
+
kind: Extract<AppDatabaseKind, "turso-native" | "turso-wasm">;
|
|
20
|
+
providerId?: string;
|
|
21
|
+
transport: AppDatabaseDescriptor["transport"];
|
|
22
|
+
role?: AppDatabaseDescriptor["role"];
|
|
23
|
+
crossTabCoordination?: boolean;
|
|
24
|
+
connectionFactory: TursoConnectionFactory;
|
|
25
|
+
}
|
|
26
|
+
export declare const TURSO_APP_DATABASE_SCHEMA_VERSION = 5;
|
|
27
|
+
export declare const TURSO_APP_DATABASE_SCHEMA = "\nCREATE TABLE IF NOT EXISTS schema_meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS app_state (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n state_json TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS app_meta (\n key TEXT PRIMARY KEY,\n value_json TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS app_revision (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n revision INTEGER NOT NULL\n);\nCREATE TABLE IF NOT EXISTS app_changes (\n revision INTEGER PRIMARY KEY,\n domains_json TEXT NOT NULL,\n paths_json TEXT NOT NULL,\n renamed_json TEXT,\n committed_at INTEGER NOT NULL\n);\nCREATE TABLE IF NOT EXISTS files (\n path TEXT PRIMARY KEY,\n normalized_path TEXT NOT NULL,\n extension TEXT NOT NULL,\n mtime INTEGER NOT NULL,\n size INTEGER NOT NULL,\n hash TEXT NOT NULL,\n indexed INTEGER NOT NULL,\n deleted INTEGER NOT NULL\n);\nCREATE INDEX IF NOT EXISTS files_manifest_idx\n ON files(deleted, indexed, path);\nCREATE INDEX IF NOT EXISTS files_extension_path_idx\n ON files(extension, deleted, indexed, path);\nCREATE TABLE IF NOT EXISTS metadata (\n path TEXT PRIMARY KEY,\n hash TEXT NOT NULL,\n parser_version TEXT NOT NULL,\n data_json TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS links (\n source_path TEXT NOT NULL,\n ordinal INTEGER NOT NULL,\n data_json TEXT NOT NULL,\n PRIMARY KEY (source_path, ordinal)\n);\nCREATE TABLE IF NOT EXISTS tags (\n path TEXT NOT NULL,\n ordinal INTEGER NOT NULL,\n data_json TEXT NOT NULL,\n PRIMARY KEY (path, ordinal)\n);\nCREATE TABLE IF NOT EXISTS properties (\n path TEXT NOT NULL,\n ordinal INTEGER NOT NULL,\n data_json TEXT NOT NULL,\n PRIMARY KEY (path, ordinal)\n);\nCREATE TABLE IF NOT EXISTS metadata_links (\n source_path TEXT NOT NULL,\n ordinal INTEGER NOT NULL,\n normalized_target TEXT NOT NULL,\n resolved_target_path TEXT,\n resolution_state TEXT NOT NULL,\n link_type TEXT NOT NULL,\n link_kind TEXT,\n data_json TEXT NOT NULL,\n PRIMARY KEY (source_path, ordinal)\n);\nCREATE INDEX IF NOT EXISTS metadata_links_incoming_idx\n ON metadata_links(resolved_target_path, source_path, ordinal);\nCREATE INDEX IF NOT EXISTS metadata_links_unresolved_idx\n ON metadata_links(resolution_state, normalized_target, source_path);\nCREATE TABLE IF NOT EXISTS metadata_tags (\n path TEXT NOT NULL,\n ordinal INTEGER NOT NULL,\n tag TEXT NOT NULL,\n normalized_tag TEXT NOT NULL,\n data_json TEXT NOT NULL,\n PRIMARY KEY (path, ordinal)\n);\nCREATE INDEX IF NOT EXISTS metadata_tags_exact_idx\n ON metadata_tags(normalized_tag, path);\nCREATE TABLE IF NOT EXISTS metadata_tag_ancestors (\n path TEXT NOT NULL,\n tag_ordinal INTEGER NOT NULL,\n ancestor TEXT NOT NULL,\n depth INTEGER NOT NULL,\n PRIMARY KEY (path, tag_ordinal, ancestor)\n);\nCREATE INDEX IF NOT EXISTS metadata_tag_ancestors_idx\n ON metadata_tag_ancestors(ancestor, path);\nCREATE TABLE IF NOT EXISTS metadata_properties (\n path TEXT NOT NULL,\n ordinal INTEGER NOT NULL,\n name TEXT NOT NULL,\n normalized_name TEXT NOT NULL,\n inferred_type TEXT NOT NULL,\n declared_type TEXT,\n data_json TEXT NOT NULL,\n PRIMARY KEY (path, ordinal)\n);\nCREATE INDEX IF NOT EXISTS metadata_properties_name_idx\n ON metadata_properties(normalized_name, path);\nCREATE TABLE IF NOT EXISTS metadata_property_values (\n path TEXT NOT NULL,\n property_ordinal INTEGER NOT NULL,\n value_ordinal INTEGER NOT NULL,\n property_name TEXT NOT NULL,\n property_path TEXT NOT NULL,\n normalized_property_path TEXT NOT NULL,\n value_type TEXT NOT NULL,\n text_value TEXT,\n number_value REAL,\n boolean_value INTEGER,\n date_value TEXT,\n data_json TEXT NOT NULL,\n PRIMARY KEY (path, property_ordinal, value_ordinal, property_path)\n);\nCREATE INDEX IF NOT EXISTS metadata_property_text_idx\n ON metadata_property_values(property_name, text_value, path);\nCREATE INDEX IF NOT EXISTS metadata_property_number_idx\n ON metadata_property_values(property_name, number_value, path);\nCREATE INDEX IF NOT EXISTS metadata_property_boolean_idx\n ON metadata_property_values(property_name, boolean_value, path);\nCREATE INDEX IF NOT EXISTS metadata_property_date_idx\n ON metadata_property_values(property_name, date_value, path);\nCREATE TABLE IF NOT EXISTS tasks (\n document_path TEXT PRIMARY KEY,\n document_id TEXT NOT NULL,\n kind TEXT NOT NULL,\n title TEXT NOT NULL,\n status TEXT NOT NULL,\n inbox INTEGER NOT NULL DEFAULT 0,\n start_kind TEXT NOT NULL,\n start_date TEXT,\n plan_date TEXT,\n plan_kind TEXT,\n plan_time TEXT,\n duration_minutes INTEGER,\n deadline TEXT,\n completed_at TEXT,\n repeat_strategy TEXT,\n repeat_frequency TEXT,\n repeat_interval INTEGER,\n repeat_anchor TEXT,\n checklist_total INTEGER NOT NULL DEFAULT 0,\n checklist_completed INTEGER NOT NULL DEFAULT 0,\n comment_count INTEGER NOT NULL DEFAULT 0,\n projection_version INTEGER NOT NULL\n);\nCREATE TABLE IF NOT EXISTS task_records (\n document_path TEXT PRIMARY KEY,\n data_json TEXT NOT NULL\n);\nCREATE INDEX IF NOT EXISTS tasks_open_plan ON tasks(status, plan_date);\nCREATE INDEX IF NOT EXISTS tasks_open_deadline ON tasks(status, deadline);\nCREATE INDEX IF NOT EXISTS tasks_open_start ON tasks(status, start_kind, start_date);\nCREATE INDEX IF NOT EXISTS tasks_inbox ON tasks(status, inbox);\nCREATE TABLE IF NOT EXISTS index_projections (\n projection_id TEXT PRIMARY KEY,\n owner_plugin_id TEXT NOT NULL,\n schema_version INTEGER NOT NULL,\n config_hash TEXT NOT NULL,\n visibility TEXT NOT NULL,\n fields_json TEXT NOT NULL,\n active INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n);\nCREATE TABLE IF NOT EXISTS index_projection_sources (\n projection_id TEXT NOT NULL,\n source_path TEXT NOT NULL,\n source_hash TEXT NOT NULL,\n schema_version INTEGER NOT NULL,\n config_hash TEXT NOT NULL,\n status TEXT NOT NULL,\n error TEXT,\n indexed_at INTEGER NOT NULL,\n PRIMARY KEY (projection_id, source_path)\n);\nCREATE TABLE IF NOT EXISTS index_projection_rows (\n projection_id TEXT NOT NULL,\n row_id TEXT NOT NULL,\n source_path TEXT NOT NULL,\n kind TEXT NOT NULL,\n ordinal INTEGER NOT NULL DEFAULT 0,\n data_json TEXT NOT NULL,\n PRIMARY KEY (projection_id, row_id)\n);\nCREATE INDEX IF NOT EXISTS index_projection_rows_source\n ON index_projection_rows(projection_id, source_path);\nCREATE TABLE IF NOT EXISTS index_projection_values (\n projection_id TEXT NOT NULL,\n row_id TEXT NOT NULL,\n field TEXT NOT NULL,\n ordinal INTEGER NOT NULL DEFAULT 0,\n value_type TEXT NOT NULL,\n text_value TEXT,\n number_value REAL,\n boolean_value INTEGER,\n date_value TEXT,\n datetime_value INTEGER,\n PRIMARY KEY (projection_id, row_id, field, ordinal)\n);\nCREATE TABLE IF NOT EXISTS index_projection_edges (\n projection_id TEXT NOT NULL,\n source_row_id TEXT NOT NULL,\n relation TEXT NOT NULL,\n target_projection_id TEXT,\n target_row_id TEXT,\n target_path TEXT,\n target_text TEXT,\n ordinal INTEGER NOT NULL,\n data_json TEXT,\n PRIMARY KEY (projection_id, source_row_id, relation, ordinal)\n);\nCREATE TABLE IF NOT EXISTS history_files (\n file_id TEXT PRIMARY KEY,\n data_json TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS history_file_paths (\n path TEXT PRIMARY KEY,\n file_id TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS history_revisions (\n file_id TEXT NOT NULL,\n ordinal INTEGER NOT NULL,\n data_json TEXT NOT NULL,\n PRIMARY KEY (file_id, ordinal)\n);\nCREATE TABLE IF NOT EXISTS notifications (\n id TEXT PRIMARY KEY,\n data_json TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS search_docs (\n path TEXT PRIMARY KEY,\n source_provider_id TEXT,\n metadata_hash TEXT,\n provider_version TEXT,\n projection_signature TEXT,\n source_mtime INTEGER,\n source_size INTEGER,\n name TEXT NOT NULL,\n extension TEXT NOT NULL,\n checksum TEXT NOT NULL,\n content TEXT NOT NULL,\n tags TEXT NOT NULL,\n metadata_text TEXT NOT NULL,\n data_json TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS search_chunks (\n id TEXT PRIMARY KEY,\n path TEXT NOT NULL,\n text TEXT NOT NULL,\n embedding_json TEXT,\n embedding BLOB\n);\nCREATE INDEX IF NOT EXISTS search_chunks_path_idx ON search_chunks(path);\nCREATE TABLE IF NOT EXISTS memory_source_state (\n source_key TEXT PRIMARY KEY,\n source_path TEXT NOT NULL,\n source_hash TEXT NOT NULL,\n status TEXT NOT NULL,\n indexed_at INTEGER NOT NULL,\n data_json TEXT NOT NULL\n);\nCREATE TABLE IF NOT EXISTS memory_candidates (\n id TEXT PRIMARY KEY,\n scope_kind TEXT NOT NULL,\n scope_path TEXT NOT NULL,\n state TEXT NOT NULL,\n last_seen_at INTEGER NOT NULL,\n data_json TEXT NOT NULL\n);\nCREATE INDEX IF NOT EXISTS memory_candidates_scope_state\n ON memory_candidates(scope_kind, scope_path, state, last_seen_at DESC);\nCREATE TABLE IF NOT EXISTS memory_candidate_origins (\n candidate_id TEXT NOT NULL,\n conversation_id TEXT NOT NULL,\n entry_id TEXT NOT NULL,\n data_json TEXT NOT NULL,\n PRIMARY KEY (candidate_id, conversation_id, entry_id)\n);\nCREATE INDEX IF NOT EXISTS memory_candidate_origins_conversation\n ON memory_candidate_origins(conversation_id, candidate_id);\nCREATE TABLE IF NOT EXISTS memory_recall_signals (\n target_ref TEXT NOT NULL,\n query_fingerprint TEXT NOT NULL,\n day TEXT NOT NULL,\n best_score REAL NOT NULL,\n hit_count INTEGER NOT NULL,\n data_json TEXT NOT NULL,\n PRIMARY KEY (target_ref, query_fingerprint, day)\n);\nCREATE TABLE IF NOT EXISTS memory_jobs (\n id TEXT PRIMARY KEY,\n scope_key TEXT NOT NULL,\n status TEXT NOT NULL,\n lease_until INTEGER,\n created_at INTEGER NOT NULL,\n data_json TEXT NOT NULL\n);\nCREATE INDEX IF NOT EXISTS memory_jobs_scope_created\n ON memory_jobs(scope_key, created_at DESC);\n";
|
|
28
|
+
export declare function tursoWasmDatabasePath(vaultId: string): string;
|
|
29
|
+
export declare class TursoAppDatabase implements AppDatabase {
|
|
30
|
+
readonly vaultId: string;
|
|
31
|
+
private readonly options;
|
|
32
|
+
readonly kind: Extract<AppDatabaseKind, "turso-native" | "turso-wasm">;
|
|
33
|
+
private connection;
|
|
34
|
+
private opened;
|
|
35
|
+
private nativeFullTextSearch;
|
|
36
|
+
private nativeVectorSearch;
|
|
37
|
+
private searchEmbeddingProviderConfig;
|
|
38
|
+
private searchEmbeddingProvider;
|
|
39
|
+
private currentRevision;
|
|
40
|
+
private commitQueue;
|
|
41
|
+
private readonly changeListeners;
|
|
42
|
+
constructor(vaultId: string, options: TursoAppDatabaseOptions);
|
|
43
|
+
get descriptor(): AppDatabaseDescriptor;
|
|
44
|
+
open(): Promise<void>;
|
|
45
|
+
migrate(): Promise<void>;
|
|
46
|
+
close(): Promise<void>;
|
|
47
|
+
beginSearchIndexingBatch(): Promise<void>;
|
|
48
|
+
endSearchIndexingBatch(): Promise<void>;
|
|
49
|
+
configureSearchEmbeddingProvider(provider: SearchEmbeddingProviderConfig | null): Promise<void>;
|
|
50
|
+
getSearchEmbeddingProvider(): Promise<SearchEmbeddingProviderConfig | null>;
|
|
51
|
+
getSearchEmbeddingRuntimeStatus(): Promise<SearchEmbeddingRuntimeStatus | null>;
|
|
52
|
+
getSearchIndexStats(): Promise<AppDatabaseSearchIndexStats>;
|
|
53
|
+
getMeta<T = unknown>(key: string): Promise<T | undefined>;
|
|
54
|
+
setMeta(key: string, value: unknown): Promise<void>;
|
|
55
|
+
getNotebookState(sourcePath: string): Promise<AppDatabaseNotebookState | undefined>;
|
|
56
|
+
setNotebookState(sourcePath: string, state: AppDatabaseNotebookState): Promise<void>;
|
|
57
|
+
deleteNotebookState(sourcePath: string): Promise<void>;
|
|
58
|
+
loadMetadataSnapshot(): Promise<MetadataCacheSnapshot | null>;
|
|
59
|
+
saveMetadataSnapshot(snapshot: MetadataCacheSnapshot): Promise<void>;
|
|
60
|
+
getFileHistory(path: string): Promise<AppDatabaseFileHistory | null>;
|
|
61
|
+
storeFileHistoryRevision(input: AppDatabaseStoreFileHistoryRevisionInput): Promise<AppDatabaseStoreFileHistoryRevisionResult>;
|
|
62
|
+
listNotifications(): Promise<AppDatabaseNotificationRecord[]>;
|
|
63
|
+
upsertNotification(record: AppDatabaseNotificationRecord): Promise<void>;
|
|
64
|
+
markNotificationRead(id: string): Promise<void>;
|
|
65
|
+
clearNotification(id: string): Promise<void>;
|
|
66
|
+
clearAllNotifications(): Promise<void>;
|
|
67
|
+
getMemorySourceState(sourceKey: string): Promise<AppDatabaseMemorySourceRecord | undefined>;
|
|
68
|
+
listMemorySourceStates(): Promise<AppDatabaseMemorySourceRecord[]>;
|
|
69
|
+
upsertMemorySourceState(record: AppDatabaseMemorySourceRecord): Promise<void>;
|
|
70
|
+
deleteMemorySourceState(sourceKey: string): Promise<void>;
|
|
71
|
+
upsertMemoryCandidate(input: AppDatabaseMemoryCandidateInput): Promise<void>;
|
|
72
|
+
queryMemoryCandidates(query?: AppDatabaseMemoryCandidateQuery): Promise<AppDatabaseMemoryCandidateResult[]>;
|
|
73
|
+
deleteMemoryCandidatesByConversation(conversationId: string): Promise<void>;
|
|
74
|
+
recordMemoryRecallSignal(record: AppDatabaseMemoryRecallSignalRecord): Promise<void>;
|
|
75
|
+
listMemoryRecallSignals(targetRef?: string): Promise<AppDatabaseMemoryRecallSignalRecord[]>;
|
|
76
|
+
claimMemoryJob(input: AppDatabaseMemoryJobClaimInput): Promise<AppDatabaseMemoryJobRecord | null>;
|
|
77
|
+
updateMemoryJob(input: AppDatabaseMemoryJobUpdateInput): Promise<AppDatabaseMemoryJobRecord | null>;
|
|
78
|
+
listMemoryJobs(scopeKey?: string): Promise<AppDatabaseMemoryJobRecord[]>;
|
|
79
|
+
clearMemoryDerivedState(): Promise<void>;
|
|
80
|
+
getChangeRevision(): Promise<number>;
|
|
81
|
+
subscribeToChanges(listener: AppDatabaseChangeListener): () => void;
|
|
82
|
+
upsertIndexedFile(record: AppDatabaseIndexedFile): Promise<void>;
|
|
83
|
+
getIndexedFile(path: string): Promise<AppDatabaseIndexedMetadataRow | undefined>;
|
|
84
|
+
listIndexedFileManifest(query?: AppDatabaseIndexedFileManifestQuery): Promise<AppDatabaseIndexedFileManifestPage>;
|
|
85
|
+
queryIndexedMetadata(query?: AppDatabaseIndexedMetadataQuery): Promise<AppDatabaseIndexedMetadataRow[]>;
|
|
86
|
+
queryIndexedMetadataPage(input?: AppDatabaseIndexedMetadataPageQuery): Promise<AppDatabaseIndexedMetadataPage>;
|
|
87
|
+
queryMetadataFacets(query: AppDatabaseMetadataFacetQuery): Promise<AppDatabaseMetadataFacetRow[]>;
|
|
88
|
+
queryMetadataLinks(query: AppDatabaseMetadataLinkQuery): Promise<AppDatabaseLinkRecord[]>;
|
|
89
|
+
deleteIndexedFile(path: string): Promise<void>;
|
|
90
|
+
renameIndexedFile(oldPath: string, newPath: string): Promise<void>;
|
|
91
|
+
upsertSearchDocument(document: SearchDocumentRecord): Promise<void>;
|
|
92
|
+
deleteSearchDocument(path: string): Promise<void>;
|
|
93
|
+
getSearchDocument(path: string): Promise<SearchDocumentRecord | undefined>;
|
|
94
|
+
listSearchDocumentManifest(query?: SearchDocumentManifestQuery): Promise<SearchDocumentManifestPage>;
|
|
95
|
+
listSearchDocuments(): Promise<SearchDocumentRecord[]>;
|
|
96
|
+
rebuildSearchIndex(): Promise<void>;
|
|
97
|
+
searchDocuments(query: string, options?: AppDatabaseSearchOptions): Promise<AppDatabaseSearchResult[]>;
|
|
98
|
+
searchDocumentPaths(query: string, options?: AppDatabaseSearchOptions): Promise<string[]>;
|
|
99
|
+
private queryAllSearchPaths;
|
|
100
|
+
private queryLexicalPaths;
|
|
101
|
+
private queryVectorPaths;
|
|
102
|
+
upsertTaskProjection(record: AppDatabaseTaskRecord): Promise<void>;
|
|
103
|
+
deleteTaskProjection(path: string): Promise<void>;
|
|
104
|
+
queryTasks(query?: AppDatabaseTaskQuery): Promise<AppDatabaseTaskRecord[]>;
|
|
105
|
+
getTaskRow(lookup: {
|
|
106
|
+
path?: string;
|
|
107
|
+
id?: string;
|
|
108
|
+
}): Promise<AppDatabaseTaskRecord | undefined>;
|
|
109
|
+
listChildLinks(query: AppDatabaseTaskChildQuery): Promise<AppDatabaseLinkRecord[]>;
|
|
110
|
+
listTaskDescendants(path: string): Promise<AppDatabaseTaskRecord[]>;
|
|
111
|
+
registerProjectionDefinition(definition: IndexProjectionDefinitionRecord): Promise<void>;
|
|
112
|
+
unregisterProjectionDefinition(projectionId: string): Promise<void>;
|
|
113
|
+
replaceProjectionSource(input: ReplaceProjectionSourceInput): Promise<void>;
|
|
114
|
+
markProjectionSourceError(input: MarkProjectionSourceErrorInput): Promise<void>;
|
|
115
|
+
deleteProjectionSource(projectionId: string, sourcePath: string, writerPluginId?: string): Promise<void>;
|
|
116
|
+
queryProjection<T = Record<string, unknown>>(projectionId: string, query?: IndexQuery, readerPluginId?: string): Promise<IndexQueryResult<T>>;
|
|
117
|
+
getProjectionRow<T = Record<string, unknown>>(projectionId: string, rowId: string, readerPluginId?: string): Promise<T | null>;
|
|
118
|
+
queryRelated<T = Record<string, unknown>>(query: IndexRelatedQuery, readerPluginId?: string): Promise<IndexQueryResult<T>>;
|
|
119
|
+
private commit;
|
|
120
|
+
private commitImmediately;
|
|
121
|
+
private updateNotification;
|
|
122
|
+
private fileRecordFromRow;
|
|
123
|
+
private readIndexedFiles;
|
|
124
|
+
private readIndexedFile;
|
|
125
|
+
private compileMetadataPathQuery;
|
|
126
|
+
private compilePropertyFilter;
|
|
127
|
+
private compilePathPrefixes;
|
|
128
|
+
private deletePathStatements;
|
|
129
|
+
private deleteMetadataPathStatements;
|
|
130
|
+
private searchDocumentStatements;
|
|
131
|
+
private prepareSearchDocument;
|
|
132
|
+
private evaluateSearchDocumentsForPaths;
|
|
133
|
+
private safeEmbedQuery;
|
|
134
|
+
private deleteProjectionSourceStatements;
|
|
135
|
+
private getProjectionDefinition;
|
|
136
|
+
private getProjectionSources;
|
|
137
|
+
private ensureTasksProjectionDefinition;
|
|
138
|
+
private backfillNormalizedMetadata;
|
|
139
|
+
private captureMigrationInvariants;
|
|
140
|
+
private validateMigration;
|
|
141
|
+
private ensureMetadataPropertyPathSchema;
|
|
142
|
+
private requireConnection;
|
|
143
|
+
}
|
|
144
|
+
export declare function canUseTursoWasmDatabase(): boolean;
|
|
145
|
+
export declare function createTursoWasmConnection(path: string): Promise<TursoConnection>;
|
|
146
|
+
export declare class TursoWasmAppDatabaseProvider implements AppDatabaseProvider {
|
|
147
|
+
readonly id = "turso-wasm-local";
|
|
148
|
+
canOpen(context: AppDatabaseOpenContext): boolean;
|
|
149
|
+
open(context: AppDatabaseOpenContext): Promise<AppDatabase>;
|
|
150
|
+
}
|