@aigne/aos 0.2.0-beta
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 +49 -0
- package/LICENSE.md +26 -0
- package/dist/agent-dsl.cjs +116 -0
- package/dist/agent-dsl.d.cts +31 -0
- package/dist/agent-dsl.d.cts.map +1 -0
- package/dist/agent-dsl.d.mts +31 -0
- package/dist/agent-dsl.d.mts.map +1 -0
- package/dist/agent-dsl.mjs +115 -0
- package/dist/agent-dsl.mjs.map +1 -0
- package/dist/arc-compat.cjs +125 -0
- package/dist/arc-compat.d.cts +17 -0
- package/dist/arc-compat.d.cts.map +1 -0
- package/dist/arc-compat.d.mts +17 -0
- package/dist/arc-compat.d.mts.map +1 -0
- package/dist/arc-compat.mjs +123 -0
- package/dist/arc-compat.mjs.map +1 -0
- package/dist/auto-surface/compiler.cjs +36 -0
- package/dist/auto-surface/compiler.d.cts +7 -0
- package/dist/auto-surface/compiler.d.cts.map +1 -0
- package/dist/auto-surface/compiler.d.mts +7 -0
- package/dist/auto-surface/compiler.d.mts.map +1 -0
- package/dist/auto-surface/compiler.mjs +37 -0
- package/dist/auto-surface/compiler.mjs.map +1 -0
- package/dist/auto-surface/definition-dsl.cjs +333 -0
- package/dist/auto-surface/definition-dsl.d.cts +41 -0
- package/dist/auto-surface/definition-dsl.d.cts.map +1 -0
- package/dist/auto-surface/definition-dsl.d.mts +41 -0
- package/dist/auto-surface/definition-dsl.d.mts.map +1 -0
- package/dist/auto-surface/definition-dsl.mjs +332 -0
- package/dist/auto-surface/definition-dsl.mjs.map +1 -0
- package/dist/auto-surface/fragments.cjs +177 -0
- package/dist/auto-surface/fragments.d.cts +23 -0
- package/dist/auto-surface/fragments.d.cts.map +1 -0
- package/dist/auto-surface/fragments.d.mts +23 -0
- package/dist/auto-surface/fragments.d.mts.map +1 -0
- package/dist/auto-surface/fragments.mjs +175 -0
- package/dist/auto-surface/fragments.mjs.map +1 -0
- package/dist/auto-surface/index.d.mts +9 -0
- package/dist/auto-surface/layering.cjs +43 -0
- package/dist/auto-surface/layering.d.cts +7 -0
- package/dist/auto-surface/layering.d.cts.map +1 -0
- package/dist/auto-surface/layering.d.mts +7 -0
- package/dist/auto-surface/layering.d.mts.map +1 -0
- package/dist/auto-surface/layering.mjs +43 -0
- package/dist/auto-surface/layering.mjs.map +1 -0
- package/dist/auto-surface/projection.cjs +11 -0
- package/dist/auto-surface/projection.d.cts +11 -0
- package/dist/auto-surface/projection.d.cts.map +1 -0
- package/dist/auto-surface/projection.d.mts +11 -0
- package/dist/auto-surface/projection.d.mts.map +1 -0
- package/dist/auto-surface/projection.mjs +12 -0
- package/dist/auto-surface/projection.mjs.map +1 -0
- package/dist/auto-surface/projectors/settings-shell.cjs +114 -0
- package/dist/auto-surface/projectors/settings-shell.d.cts +10 -0
- package/dist/auto-surface/projectors/settings-shell.d.cts.map +1 -0
- package/dist/auto-surface/projectors/settings-shell.d.mts +10 -0
- package/dist/auto-surface/projectors/settings-shell.d.mts.map +1 -0
- package/dist/auto-surface/projectors/settings-shell.mjs +114 -0
- package/dist/auto-surface/projectors/settings-shell.mjs.map +1 -0
- package/dist/auto-surface/scenario.cjs +38 -0
- package/dist/auto-surface/scenario.d.cts +31 -0
- package/dist/auto-surface/scenario.d.cts.map +1 -0
- package/dist/auto-surface/scenario.d.mts +31 -0
- package/dist/auto-surface/scenario.d.mts.map +1 -0
- package/dist/auto-surface/scenario.mjs +37 -0
- package/dist/auto-surface/scenario.mjs.map +1 -0
- package/dist/auto-surface/types.cjs +9 -0
- package/dist/auto-surface/types.d.cts +153 -0
- package/dist/auto-surface/types.d.cts.map +1 -0
- package/dist/auto-surface/types.d.mts +153 -0
- package/dist/auto-surface/types.d.mts.map +1 -0
- package/dist/auto-surface/types.mjs +9 -0
- package/dist/auto-surface/types.mjs.map +1 -0
- package/dist/auto-surface/value-dsl.cjs +80 -0
- package/dist/auto-surface/value-dsl.d.cts +24 -0
- package/dist/auto-surface/value-dsl.d.cts.map +1 -0
- package/dist/auto-surface/value-dsl.d.mts +24 -0
- package/dist/auto-surface/value-dsl.d.mts.map +1 -0
- package/dist/auto-surface/value-dsl.mjs +79 -0
- package/dist/auto-surface/value-dsl.mjs.map +1 -0
- package/dist/blocklet/activation.cjs +94 -0
- package/dist/blocklet/activation.d.cts +30 -0
- package/dist/blocklet/activation.d.cts.map +1 -0
- package/dist/blocklet/activation.d.mts +30 -0
- package/dist/blocklet/activation.d.mts.map +1 -0
- package/dist/blocklet/activation.mjs +94 -0
- package/dist/blocklet/activation.mjs.map +1 -0
- package/dist/blocklet/did-space-registry.cjs +282 -0
- package/dist/blocklet/did-space-registry.d.cts +82 -0
- package/dist/blocklet/did-space-registry.d.cts.map +1 -0
- package/dist/blocklet/did-space-registry.d.mts +82 -0
- package/dist/blocklet/did-space-registry.d.mts.map +1 -0
- package/dist/blocklet/did-space-registry.mjs +281 -0
- package/dist/blocklet/did-space-registry.mjs.map +1 -0
- package/dist/blocklet/handlers.cjs +66 -0
- package/dist/blocklet/handlers.d.cts +16 -0
- package/dist/blocklet/handlers.d.cts.map +1 -0
- package/dist/blocklet/handlers.d.mts +16 -0
- package/dist/blocklet/handlers.d.mts.map +1 -0
- package/dist/blocklet/handlers.mjs +65 -0
- package/dist/blocklet/handlers.mjs.map +1 -0
- package/dist/blocklet/index.d.mts +7 -0
- package/dist/blocklet/manifest.d.cts +2 -0
- package/dist/blocklet/manifest.d.mts +2 -0
- package/dist/blocklet/manifest.mjs +3 -0
- package/dist/blocklet/registry.cjs +447 -0
- package/dist/blocklet/registry.d.cts +197 -0
- package/dist/blocklet/registry.d.cts.map +1 -0
- package/dist/blocklet/registry.d.mts +197 -0
- package/dist/blocklet/registry.d.mts.map +1 -0
- package/dist/blocklet/registry.mjs +441 -0
- package/dist/blocklet/registry.mjs.map +1 -0
- package/dist/blocklet/static-render.cjs +183 -0
- package/dist/blocklet/static-render.d.cts +55 -0
- package/dist/blocklet/static-render.d.cts.map +1 -0
- package/dist/blocklet/static-render.d.mts +55 -0
- package/dist/blocklet/static-render.d.mts.map +1 -0
- package/dist/blocklet/static-render.mjs +181 -0
- package/dist/blocklet/static-render.mjs.map +1 -0
- package/dist/blocklet/types.d.cts +70 -0
- package/dist/blocklet/types.d.cts.map +1 -0
- package/dist/blocklet/types.d.mts +70 -0
- package/dist/blocklet/types.d.mts.map +1 -0
- package/dist/devices/chain.cjs +127 -0
- package/dist/devices/chain.d.cts +48 -0
- package/dist/devices/chain.d.cts.map +1 -0
- package/dist/devices/chain.d.mts +48 -0
- package/dist/devices/chain.d.mts.map +1 -0
- package/dist/devices/chain.mjs +125 -0
- package/dist/devices/chain.mjs.map +1 -0
- package/dist/dsl-shared.cjs +290 -0
- package/dist/dsl-shared.d.cts +54 -0
- package/dist/dsl-shared.d.cts.map +1 -0
- package/dist/dsl-shared.d.mts +54 -0
- package/dist/dsl-shared.d.mts.map +1 -0
- package/dist/dsl-shared.mjs +287 -0
- package/dist/dsl-shared.mjs.map +1 -0
- package/dist/http/afs-mcp.cjs +85 -0
- package/dist/http/afs-mcp.d.cts +14 -0
- package/dist/http/afs-mcp.d.cts.map +1 -0
- package/dist/http/afs-mcp.d.mts +14 -0
- package/dist/http/afs-mcp.d.mts.map +1 -0
- package/dist/http/afs-mcp.mjs +86 -0
- package/dist/http/afs-mcp.mjs.map +1 -0
- package/dist/http/afs-raw.cjs +264 -0
- package/dist/http/afs-raw.d.cts +31 -0
- package/dist/http/afs-raw.d.cts.map +1 -0
- package/dist/http/afs-raw.d.mts +31 -0
- package/dist/http/afs-raw.d.mts.map +1 -0
- package/dist/http/afs-raw.mjs +264 -0
- package/dist/http/afs-raw.mjs.map +1 -0
- package/dist/http/afs-rest.cjs +30 -0
- package/dist/http/afs-rest.d.cts +21 -0
- package/dist/http/afs-rest.d.cts.map +1 -0
- package/dist/http/afs-rest.d.mts +21 -0
- package/dist/http/afs-rest.d.mts.map +1 -0
- package/dist/http/afs-rest.mjs +31 -0
- package/dist/http/afs-rest.mjs.map +1 -0
- package/dist/http/afs-rpc-wire.cjs +271 -0
- package/dist/http/afs-rpc-wire.d.cts +195 -0
- package/dist/http/afs-rpc-wire.d.cts.map +1 -0
- package/dist/http/afs-rpc-wire.d.mts +195 -0
- package/dist/http/afs-rpc-wire.d.mts.map +1 -0
- package/dist/http/afs-rpc-wire.mjs +262 -0
- package/dist/http/afs-rpc-wire.mjs.map +1 -0
- package/dist/http/afs-rpc.cjs +729 -0
- package/dist/http/afs-rpc.d.cts +103 -0
- package/dist/http/afs-rpc.d.cts.map +1 -0
- package/dist/http/afs-rpc.d.mts +103 -0
- package/dist/http/afs-rpc.d.mts.map +1 -0
- package/dist/http/afs-rpc.mjs +729 -0
- package/dist/http/afs-rpc.mjs.map +1 -0
- package/dist/http/afs-upload.cjs +116 -0
- package/dist/http/afs-upload.d.cts +40 -0
- package/dist/http/afs-upload.d.cts.map +1 -0
- package/dist/http/afs-upload.d.mts +40 -0
- package/dist/http/afs-upload.d.mts.map +1 -0
- package/dist/http/afs-upload.mjs +116 -0
- package/dist/http/afs-upload.mjs.map +1 -0
- package/dist/http/aup-client.cjs +60 -0
- package/dist/http/aup-client.d.cts +22 -0
- package/dist/http/aup-client.d.cts.map +1 -0
- package/dist/http/aup-client.d.mts +22 -0
- package/dist/http/aup-client.d.mts.map +1 -0
- package/dist/http/aup-client.mjs +59 -0
- package/dist/http/aup-client.mjs.map +1 -0
- package/dist/http/aup-event.cjs +100 -0
- package/dist/http/aup-event.d.cts +38 -0
- package/dist/http/aup-event.d.cts.map +1 -0
- package/dist/http/aup-event.d.mts +38 -0
- package/dist/http/aup-event.d.mts.map +1 -0
- package/dist/http/aup-event.mjs +101 -0
- package/dist/http/aup-event.mjs.map +1 -0
- package/dist/http/auth-context.cjs +66 -0
- package/dist/http/auth-context.d.cts +64 -0
- package/dist/http/auth-context.d.cts.map +1 -0
- package/dist/http/auth-context.d.mts +64 -0
- package/dist/http/auth-context.d.mts.map +1 -0
- package/dist/http/auth-context.mjs +66 -0
- package/dist/http/auth-context.mjs.map +1 -0
- package/dist/http/csrf.cjs +50 -0
- package/dist/http/csrf.d.cts +8 -0
- package/dist/http/csrf.d.cts.map +1 -0
- package/dist/http/csrf.d.mts +8 -0
- package/dist/http/csrf.d.mts.map +1 -0
- package/dist/http/csrf.mjs +49 -0
- package/dist/http/csrf.mjs.map +1 -0
- package/dist/http/handlers.cjs +106 -0
- package/dist/http/handlers.d.cts +39 -0
- package/dist/http/handlers.d.cts.map +1 -0
- package/dist/http/handlers.d.mts +39 -0
- package/dist/http/handlers.d.mts.map +1 -0
- package/dist/http/handlers.mjs +104 -0
- package/dist/http/handlers.mjs.map +1 -0
- package/dist/http/index.d.mts +1 -0
- package/dist/http/ingest-facade.cjs +315 -0
- package/dist/http/ingest-facade.mjs +314 -0
- package/dist/http/ingest-facade.mjs.map +1 -0
- package/dist/http/raw-url.cjs +136 -0
- package/dist/http/raw-url.d.cts +54 -0
- package/dist/http/raw-url.d.cts.map +1 -0
- package/dist/http/raw-url.d.mts +54 -0
- package/dist/http/raw-url.d.mts.map +1 -0
- package/dist/http/raw-url.mjs +136 -0
- package/dist/http/raw-url.mjs.map +1 -0
- package/dist/http/request-context.cjs +178 -0
- package/dist/http/request-context.d.cts +76 -0
- package/dist/http/request-context.d.cts.map +1 -0
- package/dist/http/request-context.d.mts +76 -0
- package/dist/http/request-context.d.mts.map +1 -0
- package/dist/http/request-context.mjs +179 -0
- package/dist/http/request-context.mjs.map +1 -0
- package/dist/index.cjs +197 -0
- package/dist/index.d.cts +63 -0
- package/dist/index.d.mts +68 -0
- package/dist/index.mjs +61 -0
- package/dist/mcp/index.cjs +9 -0
- package/dist/mcp/index.d.cts +5 -0
- package/dist/mcp/index.d.mts +5 -0
- package/dist/mcp/index.mjs +6 -0
- package/dist/mcp/prompts.cjs +17 -0
- package/dist/mcp/prompts.d.cts +8 -0
- package/dist/mcp/prompts.d.cts.map +1 -0
- package/dist/mcp/prompts.d.mts +8 -0
- package/dist/mcp/prompts.d.mts.map +1 -0
- package/dist/mcp/prompts.mjs +17 -0
- package/dist/mcp/prompts.mjs.map +1 -0
- package/dist/mcp/resources.cjs +22 -0
- package/dist/mcp/resources.d.cts +8 -0
- package/dist/mcp/resources.d.cts.map +1 -0
- package/dist/mcp/resources.d.mts +8 -0
- package/dist/mcp/resources.d.mts.map +1 -0
- package/dist/mcp/resources.mjs +22 -0
- package/dist/mcp/resources.mjs.map +1 -0
- package/dist/mcp/server.cjs +51 -0
- package/dist/mcp/server.d.cts +20 -0
- package/dist/mcp/server.d.cts.map +1 -0
- package/dist/mcp/server.d.mts +20 -0
- package/dist/mcp/server.d.mts.map +1 -0
- package/dist/mcp/server.mjs +52 -0
- package/dist/mcp/server.mjs.map +1 -0
- package/dist/mcp/tools.cjs +218 -0
- package/dist/mcp/tools.d.cts +8 -0
- package/dist/mcp/tools.d.cts.map +1 -0
- package/dist/mcp/tools.d.mts +8 -0
- package/dist/mcp/tools.d.mts.map +1 -0
- package/dist/mcp/tools.mjs +219 -0
- package/dist/mcp/tools.mjs.map +1 -0
- package/dist/mcp/utils.cjs +75 -0
- package/dist/mcp/utils.mjs +69 -0
- package/dist/mcp/utils.mjs.map +1 -0
- package/dist/mount/index.cjs +4 -0
- package/dist/mount/index.d.cts +3 -0
- package/dist/mount/index.d.mts +3 -0
- package/dist/mount/index.mjs +3 -0
- package/dist/mount/materializer.cjs +167 -0
- package/dist/mount/materializer.d.cts +97 -0
- package/dist/mount/materializer.d.cts.map +1 -0
- package/dist/mount/materializer.d.mts +97 -0
- package/dist/mount/materializer.d.mts.map +1 -0
- package/dist/mount/materializer.mjs +167 -0
- package/dist/mount/materializer.mjs.map +1 -0
- package/dist/mount/types.d.cts +90 -0
- package/dist/mount/types.d.cts.map +1 -0
- package/dist/mount/types.d.mts +90 -0
- package/dist/mount/types.d.mts.map +1 -0
- package/dist/mount-config.cjs +61 -0
- package/dist/mount-config.d.cts +19 -0
- package/dist/mount-config.d.cts.map +1 -0
- package/dist/mount-config.d.mts +19 -0
- package/dist/mount-config.d.mts.map +1 -0
- package/dist/mount-config.mjs +61 -0
- package/dist/mount-config.mjs.map +1 -0
- package/dist/projectors/aup-projector.cjs +190 -0
- package/dist/projectors/aup-projector.d.cts +59 -0
- package/dist/projectors/aup-projector.d.cts.map +1 -0
- package/dist/projectors/aup-projector.d.mts +59 -0
- package/dist/projectors/aup-projector.d.mts.map +1 -0
- package/dist/projectors/aup-projector.mjs +188 -0
- package/dist/projectors/aup-projector.mjs.map +1 -0
- package/dist/projectors/index.cjs +6 -0
- package/dist/projectors/index.d.cts +2 -0
- package/dist/projectors/index.d.mts +2 -0
- package/dist/projectors/index.mjs +3 -0
- package/dist/scaffold/afs.cjs +195 -0
- package/dist/scaffold/afs.d.cts +16 -0
- package/dist/scaffold/afs.d.cts.map +1 -0
- package/dist/scaffold/afs.d.mts +16 -0
- package/dist/scaffold/afs.d.mts.map +1 -0
- package/dist/scaffold/afs.mjs +195 -0
- package/dist/scaffold/afs.mjs.map +1 -0
- package/dist/scaffold/composition.cjs +92 -0
- package/dist/scaffold/composition.d.cts +10 -0
- package/dist/scaffold/composition.d.cts.map +1 -0
- package/dist/scaffold/composition.d.mts +10 -0
- package/dist/scaffold/composition.d.mts.map +1 -0
- package/dist/scaffold/composition.mjs +92 -0
- package/dist/scaffold/composition.mjs.map +1 -0
- package/dist/scaffold/dsl-error.cjs +21 -0
- package/dist/scaffold/dsl-error.d.cts +11 -0
- package/dist/scaffold/dsl-error.d.cts.map +1 -0
- package/dist/scaffold/dsl-error.d.mts +11 -0
- package/dist/scaffold/dsl-error.d.mts.map +1 -0
- package/dist/scaffold/dsl-error.mjs +20 -0
- package/dist/scaffold/dsl-error.mjs.map +1 -0
- package/dist/scaffold/index.d.mts +12 -0
- package/dist/scaffold/manifest-dsl.cjs +188 -0
- package/dist/scaffold/manifest-dsl.d.cts +8 -0
- package/dist/scaffold/manifest-dsl.d.cts.map +1 -0
- package/dist/scaffold/manifest-dsl.d.mts +8 -0
- package/dist/scaffold/manifest-dsl.d.mts.map +1 -0
- package/dist/scaffold/manifest-dsl.mjs +188 -0
- package/dist/scaffold/manifest-dsl.mjs.map +1 -0
- package/dist/scaffold/module-dsl.cjs +284 -0
- package/dist/scaffold/module-dsl.d.cts +8 -0
- package/dist/scaffold/module-dsl.d.cts.map +1 -0
- package/dist/scaffold/module-dsl.d.mts +8 -0
- package/dist/scaffold/module-dsl.d.mts.map +1 -0
- package/dist/scaffold/module-dsl.mjs +284 -0
- package/dist/scaffold/module-dsl.mjs.map +1 -0
- package/dist/scaffold/resolver.cjs +156 -0
- package/dist/scaffold/resolver.d.cts +7 -0
- package/dist/scaffold/resolver.d.cts.map +1 -0
- package/dist/scaffold/resolver.d.mts +7 -0
- package/dist/scaffold/resolver.d.mts.map +1 -0
- package/dist/scaffold/resolver.mjs +156 -0
- package/dist/scaffold/resolver.mjs.map +1 -0
- package/dist/scaffold/runtime.cjs +24 -0
- package/dist/scaffold/runtime.d.cts +19 -0
- package/dist/scaffold/runtime.d.cts.map +1 -0
- package/dist/scaffold/runtime.d.mts +19 -0
- package/dist/scaffold/runtime.d.mts.map +1 -0
- package/dist/scaffold/runtime.mjs +25 -0
- package/dist/scaffold/runtime.mjs.map +1 -0
- package/dist/scaffold/shell-dsl.cjs +279 -0
- package/dist/scaffold/shell-dsl.d.cts +8 -0
- package/dist/scaffold/shell-dsl.d.cts.map +1 -0
- package/dist/scaffold/shell-dsl.d.mts +8 -0
- package/dist/scaffold/shell-dsl.d.mts.map +1 -0
- package/dist/scaffold/shell-dsl.mjs +279 -0
- package/dist/scaffold/shell-dsl.mjs.map +1 -0
- package/dist/scaffold/surface-dsl.cjs +182 -0
- package/dist/scaffold/surface-dsl.d.cts +8 -0
- package/dist/scaffold/surface-dsl.d.cts.map +1 -0
- package/dist/scaffold/surface-dsl.d.mts +8 -0
- package/dist/scaffold/surface-dsl.d.mts.map +1 -0
- package/dist/scaffold/surface-dsl.mjs +182 -0
- package/dist/scaffold/surface-dsl.mjs.map +1 -0
- package/dist/scaffold/surfaces.cjs +84 -0
- package/dist/scaffold/surfaces.d.cts +23 -0
- package/dist/scaffold/surfaces.d.cts.map +1 -0
- package/dist/scaffold/surfaces.d.mts +24 -0
- package/dist/scaffold/surfaces.d.mts.map +1 -0
- package/dist/scaffold/surfaces.mjs +84 -0
- package/dist/scaffold/surfaces.mjs.map +1 -0
- package/dist/scaffold/types.d.cts +264 -0
- package/dist/scaffold/types.d.cts.map +1 -0
- package/dist/scaffold/types.d.mts +265 -0
- package/dist/scaffold/types.d.mts.map +1 -0
- package/dist/scaffold/workspace-dsl.cjs +339 -0
- package/dist/scaffold/workspace-dsl.d.cts +49 -0
- package/dist/scaffold/workspace-dsl.d.cts.map +1 -0
- package/dist/scaffold/workspace-dsl.d.mts +49 -0
- package/dist/scaffold/workspace-dsl.d.mts.map +1 -0
- package/dist/scaffold/workspace-dsl.mjs +337 -0
- package/dist/scaffold/workspace-dsl.mjs.map +1 -0
- package/dist/scope/index.d.mts +3 -0
- package/dist/scope/read-blocklet-scope.cjs +29 -0
- package/dist/scope/read-blocklet-scope.d.cts +8 -0
- package/dist/scope/read-blocklet-scope.d.cts.map +1 -0
- package/dist/scope/read-blocklet-scope.d.mts +8 -0
- package/dist/scope/read-blocklet-scope.d.mts.map +1 -0
- package/dist/scope/read-blocklet-scope.mjs +30 -0
- package/dist/scope/read-blocklet-scope.mjs.map +1 -0
- package/dist/scope/resolve-scoped-afs.cjs +87 -0
- package/dist/scope/resolve-scoped-afs.d.cts +7 -0
- package/dist/scope/resolve-scoped-afs.d.cts.map +1 -0
- package/dist/scope/resolve-scoped-afs.d.mts +7 -0
- package/dist/scope/resolve-scoped-afs.d.mts.map +1 -0
- package/dist/scope/resolve-scoped-afs.mjs +88 -0
- package/dist/scope/resolve-scoped-afs.mjs.map +1 -0
- package/dist/scope/types.d.cts +25 -0
- package/dist/scope/types.d.cts.map +1 -0
- package/dist/scope/types.d.mts +25 -0
- package/dist/scope/types.d.mts.map +1 -0
- package/dist/session/backends.cjs +90 -0
- package/dist/session/backends.d.cts +35 -0
- package/dist/session/backends.d.cts.map +1 -0
- package/dist/session/backends.d.mts +35 -0
- package/dist/session/backends.d.mts.map +1 -0
- package/dist/session/backends.mjs +89 -0
- package/dist/session/backends.mjs.map +1 -0
- package/dist/session/replication-resolver.cjs +323 -0
- package/dist/session/replication-resolver.d.cts +71 -0
- package/dist/session/replication-resolver.d.cts.map +1 -0
- package/dist/session/replication-resolver.d.mts +71 -0
- package/dist/session/replication-resolver.d.mts.map +1 -0
- package/dist/session/replication-resolver.mjs +323 -0
- package/dist/session/replication-resolver.mjs.map +1 -0
- package/dist/session/role-level.cjs +36 -0
- package/dist/session/role-level.d.cts +24 -0
- package/dist/session/role-level.d.cts.map +1 -0
- package/dist/session/role-level.d.mts +24 -0
- package/dist/session/role-level.d.mts.map +1 -0
- package/dist/session/role-level.mjs +35 -0
- package/dist/session/role-level.mjs.map +1 -0
- package/dist/session/session-dir-providers.cjs +254 -0
- package/dist/session/session-dir-providers.d.cts +32 -0
- package/dist/session/session-dir-providers.d.cts.map +1 -0
- package/dist/session/session-dir-providers.d.mts +32 -0
- package/dist/session/session-dir-providers.d.mts.map +1 -0
- package/dist/session/session-dir-providers.mjs +252 -0
- package/dist/session/session-dir-providers.mjs.map +1 -0
- package/dist/session/session-id.cjs +20 -0
- package/dist/session/session-id.d.cts +15 -0
- package/dist/session/session-id.d.cts.map +1 -0
- package/dist/session/session-id.d.mts +15 -0
- package/dist/session/session-id.d.mts.map +1 -0
- package/dist/session/session-id.mjs +20 -0
- package/dist/session/session-id.mjs.map +1 -0
- package/dist/session/session-user-afs.cjs +899 -0
- package/dist/session/session-user-afs.d.cts +296 -0
- package/dist/session/session-user-afs.d.cts.map +1 -0
- package/dist/session/session-user-afs.d.mts +296 -0
- package/dist/session/session-user-afs.d.mts.map +1 -0
- package/dist/session/session-user-afs.mjs +896 -0
- package/dist/session/session-user-afs.mjs.map +1 -0
- package/dist/session/settings-cascade.cjs +69 -0
- package/dist/session/settings-cascade.d.cts +81 -0
- package/dist/session/settings-cascade.d.cts.map +1 -0
- package/dist/session/settings-cascade.d.mts +81 -0
- package/dist/session/settings-cascade.d.mts.map +1 -0
- package/dist/session/settings-cascade.mjs +69 -0
- package/dist/session/settings-cascade.mjs.map +1 -0
- package/dist/session/settings-resolver.cjs +770 -0
- package/dist/session/settings-resolver.d.cts +177 -0
- package/dist/session/settings-resolver.d.cts.map +1 -0
- package/dist/session/settings-resolver.d.mts +177 -0
- package/dist/session/settings-resolver.d.mts.map +1 -0
- package/dist/session/settings-resolver.mjs +771 -0
- package/dist/session/settings-resolver.mjs.map +1 -0
- package/dist/session/settings-schema-store.cjs +0 -0
- package/dist/session/settings-schema-store.d.cts +72 -0
- package/dist/session/settings-schema-store.d.cts.map +1 -0
- package/dist/session/settings-schema-store.d.mts +72 -0
- package/dist/session/settings-schema-store.d.mts.map +1 -0
- package/dist/session/settings-schema-store.mjs +0 -0
- package/dist/session/settings-schema-store.mjs.map +1 -0
- package/dist/system-mounts/index.cjs +14 -0
- package/dist/system-mounts/index.d.cts +6 -0
- package/dist/system-mounts/index.d.mts +6 -0
- package/dist/system-mounts/index.mjs +6 -0
- package/dist/system-mounts/install.cjs +101 -0
- package/dist/system-mounts/install.d.cts +36 -0
- package/dist/system-mounts/install.d.cts.map +1 -0
- package/dist/system-mounts/install.d.mts +37 -0
- package/dist/system-mounts/install.d.mts.map +1 -0
- package/dist/system-mounts/install.mjs +102 -0
- package/dist/system-mounts/install.mjs.map +1 -0
- package/dist/system-mounts/installers.cjs +247 -0
- package/dist/system-mounts/installers.d.cts +13 -0
- package/dist/system-mounts/installers.d.cts.map +1 -0
- package/dist/system-mounts/installers.d.mts +14 -0
- package/dist/system-mounts/installers.d.mts.map +1 -0
- package/dist/system-mounts/installers.mjs +244 -0
- package/dist/system-mounts/installers.mjs.map +1 -0
- package/dist/system-mounts/lists.cjs +122 -0
- package/dist/system-mounts/lists.d.cts +34 -0
- package/dist/system-mounts/lists.d.cts.map +1 -0
- package/dist/system-mounts/lists.d.mts +34 -0
- package/dist/system-mounts/lists.d.mts.map +1 -0
- package/dist/system-mounts/lists.mjs +122 -0
- package/dist/system-mounts/lists.mjs.map +1 -0
- package/dist/system-mounts/types.d.cts +124 -0
- package/dist/system-mounts/types.d.cts.map +1 -0
- package/dist/system-mounts/types.d.mts +125 -0
- package/dist/system-mounts/types.d.mts.map +1 -0
- package/dist/system-mounts/validate.cjs +56 -0
- package/dist/system-mounts/validate.d.cts +34 -0
- package/dist/system-mounts/validate.d.cts.map +1 -0
- package/dist/system-mounts/validate.d.mts +34 -0
- package/dist/system-mounts/validate.d.mts.map +1 -0
- package/dist/system-mounts/validate.mjs +56 -0
- package/dist/system-mounts/validate.mjs.map +1 -0
- package/dist/terminal-llm.cjs +90 -0
- package/dist/terminal-llm.d.cts +50 -0
- package/dist/terminal-llm.d.cts.map +1 -0
- package/dist/terminal-llm.d.mts +50 -0
- package/dist/terminal-llm.d.mts.map +1 -0
- package/dist/terminal-llm.mjs +90 -0
- package/dist/terminal-llm.mjs.map +1 -0
- package/dist/terminal-repl.cjs +371 -0
- package/dist/terminal-repl.d.cts +69 -0
- package/dist/terminal-repl.d.cts.map +1 -0
- package/dist/terminal-repl.d.mts +69 -0
- package/dist/terminal-repl.d.mts.map +1 -0
- package/dist/terminal-repl.mjs +370 -0
- package/dist/terminal-repl.mjs.map +1 -0
- package/dist/transport/idle-timer.cjs +136 -0
- package/dist/transport/idle-timer.d.cts +92 -0
- package/dist/transport/idle-timer.d.cts.map +1 -0
- package/dist/transport/idle-timer.d.mts +92 -0
- package/dist/transport/idle-timer.d.mts.map +1 -0
- package/dist/transport/idle-timer.mjs +132 -0
- package/dist/transport/idle-timer.mjs.map +1 -0
- package/dist/web-component-dsl.cjs +153 -0
- package/dist/web-component-dsl.d.cts +27 -0
- package/dist/web-component-dsl.d.cts.map +1 -0
- package/dist/web-component-dsl.d.mts +27 -0
- package/dist/web-component-dsl.d.mts.map +1 -0
- package/dist/web-component-dsl.mjs +152 -0
- package/dist/web-component-dsl.mjs.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { SettingsSchemaHandle } from "./settings-schema-store.cjs";
|
|
2
|
+
import { AFSDeleteOptions, AFSDeleteResult, AFSEventCallback, AFSEventFilter, AFSListOptions, AFSListResult, AFSModule, AFSReadOptions, AFSReadResult, AFSRoot, AFSStatOptions, AFSStatResult, AFSUnsubscribe, AFSWriteEntryPayload, AFSWriteOptions, AFSWriteResult } from "@aigne/afs";
|
|
3
|
+
|
|
4
|
+
//#region src/session/settings-resolver.d.ts
|
|
5
|
+
/** Where a field's value is *declared* (the schema-level cascade tag). */
|
|
6
|
+
type SettingsScope = "instance" | "user" | "shared";
|
|
7
|
+
/** The physical layer a given caller reads/writes for a scope. */
|
|
8
|
+
type SettingsLayer = "instance" | "user";
|
|
9
|
+
interface SettingsResolverOptions {
|
|
10
|
+
/** The Small World base (owns `/instance/settings/<rel>` wrapper files). */
|
|
11
|
+
base: AFSRoot;
|
|
12
|
+
/** The caller's per-user provider (`/user` backing), or null for anonymous. */
|
|
13
|
+
userProvider: AFSModule | null;
|
|
14
|
+
/** The caller's role, from `getCallerForSession().role`. Unknown → non-admin. */
|
|
15
|
+
role: string | undefined;
|
|
16
|
+
/** Owning session id — used for event origin tagging in P4. */
|
|
17
|
+
sessionId: string;
|
|
18
|
+
/**
|
|
19
|
+
* Derived schema index handle (settings-layering Phase 1c). When wired, the
|
|
20
|
+
* resolver lazily materializes the blocklet's package-schema scope on first
|
|
21
|
+
* settings access (idempotent, store-side single-flight). Phase 2 makes it
|
|
22
|
+
* the existence/schema source; until then resolution is unchanged.
|
|
23
|
+
*/
|
|
24
|
+
schema?: SettingsSchemaHandle | null;
|
|
25
|
+
}
|
|
26
|
+
declare class SettingsResolver implements AFSModule {
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly accessMode: "readwrite";
|
|
29
|
+
private readonly base;
|
|
30
|
+
private readonly userProvider;
|
|
31
|
+
private readonly role;
|
|
32
|
+
private readonly schema;
|
|
33
|
+
/** Memoized lazy ingest — at most one ensure() flight per session. */
|
|
34
|
+
private schemaReady;
|
|
35
|
+
/**
|
|
36
|
+
* Outcome of the lazy ingest. `ready` = the package declares settings and
|
|
37
|
+
* the derived index is consumable (STORE MODE: existence/schema come from
|
|
38
|
+
* the package index). `empty` = package declares none; `failed` = store
|
|
39
|
+
* unavailable; `unwired` = no handle. All non-`ready` states resolve in
|
|
40
|
+
* LEGACY MODE (instance rows define existence + schema) — the pre-Phase-2
|
|
41
|
+
* behavior, so blocklets without package settings keep working.
|
|
42
|
+
*/
|
|
43
|
+
private schemaState;
|
|
44
|
+
/**
|
|
45
|
+
* Active render snapshots, insertion-ordered by `beginRender`. Ops resolve
|
|
46
|
+
* against the MOST RECENTLY begun snapshot (walks are sequential per
|
|
47
|
+
* render; concurrent renders each get their own immutable entry).
|
|
48
|
+
*/
|
|
49
|
+
private readonly snapshots;
|
|
50
|
+
constructor(opts: SettingsResolverOptions);
|
|
51
|
+
/**
|
|
52
|
+
* Lazily materialize the package-schema scope (Phase 1c plumbing). Memoized
|
|
53
|
+
* per resolver (per session); the store's own single-flight + completion
|
|
54
|
+
* marker make cross-session work idempotent. BEST-EFFORT in Phase 1: a
|
|
55
|
+
* failed ingest logs and falls back to legacy resolution (Phase 2 will
|
|
56
|
+
* consume the scope for existence/schema and define the hard contract).
|
|
57
|
+
*/
|
|
58
|
+
private ensureSchemaIngested;
|
|
59
|
+
/** STORE MODE — existence/schema from the derived package index (§1.4). */
|
|
60
|
+
private get storeMode();
|
|
61
|
+
/**
|
|
62
|
+
* Begin a render-scoped snapshot. Called by the auto-surface walk entry
|
|
63
|
+
* point (via `SessionUserAFS.beginRender` proxy) with a fresh `renderId`
|
|
64
|
+
* before walking; the resolver builds the WHOLE settings snapshot once
|
|
65
|
+
* (1× derived-index listEntries + instance/user override list + sparse
|
|
66
|
+
* reads) and serves every list/read of that render from memory.
|
|
67
|
+
*
|
|
68
|
+
* Phase 0: contract only — no-op. Phase 2 implements the snapshot builder.
|
|
69
|
+
* Idempotency contract: repeated `beginRender` with the same renderId and
|
|
70
|
+
* `endRender` without a matching begin are both safe no-ops.
|
|
71
|
+
*/
|
|
72
|
+
beginRender(renderId: string): Promise<void>;
|
|
73
|
+
/** Discard the render snapshot for `renderId`. See {@link beginRender}. */
|
|
74
|
+
endRender(renderId: string): void;
|
|
75
|
+
/** The snapshot ops resolve against: the most recently begun, still active. */
|
|
76
|
+
private get activeSnapshot();
|
|
77
|
+
/** Bulk-read + parse the derived package schemas (1 store query). */
|
|
78
|
+
private loadSchemaMap;
|
|
79
|
+
/**
|
|
80
|
+
* Walk one override layer's tree and read every `.json` row. Sparse by
|
|
81
|
+
* design (converged rows: 0-5); legacy instances pay row-count reads ONCE
|
|
82
|
+
* per render — all in-process, replacing the per-field WS round-trips.
|
|
83
|
+
*/
|
|
84
|
+
private loadLayerRows;
|
|
85
|
+
private get isAuthed();
|
|
86
|
+
private get isOwnerOrAdmin();
|
|
87
|
+
/** The physical layer this caller reads AND writes for the given scope. */
|
|
88
|
+
resolveWriteLayer(scope: SettingsScope): SettingsLayer;
|
|
89
|
+
/** Presentation hint: should this caller's form render the field at all? */
|
|
90
|
+
visible(scope: SettingsScope): boolean;
|
|
91
|
+
/** Capability hint + (P1) write-enforcement basis: may this caller edit it? */
|
|
92
|
+
editable(scope: SettingsScope): boolean;
|
|
93
|
+
/** Normalize an incoming resolver-relative path; reject traversal outright. */
|
|
94
|
+
private normalizeSub;
|
|
95
|
+
/** Translate an underlying layer path back into the resolver-relative space. */
|
|
96
|
+
private underlyingToRelative;
|
|
97
|
+
private baseRead;
|
|
98
|
+
private baseStat;
|
|
99
|
+
private loadInstanceWrapper;
|
|
100
|
+
/** Read the caller's bare override value, or undefined when absent/anonymous. */
|
|
101
|
+
private readUserOverride;
|
|
102
|
+
/** Parsed package schema for a field, or null (store mode only). */
|
|
103
|
+
private getSchemaWrapper;
|
|
104
|
+
/** Parsed raw instance row, or null when absent (never throws not-found). */
|
|
105
|
+
private getInstanceRow;
|
|
106
|
+
/**
|
|
107
|
+
* Reduce a raw instance row to its OVERRIDE-ONLY contribution (§2.D):
|
|
108
|
+
* `value` (when present) + keys explicitly written under `overrides`.
|
|
109
|
+
* A LEGACY full wrapper's flat schema keys are deliberately dropped —
|
|
110
|
+
* the package schema is authoritative (legacy-no-shadow).
|
|
111
|
+
*/
|
|
112
|
+
private stripToOverrideOnly;
|
|
113
|
+
/**
|
|
114
|
+
* Load one field through the cascade. Returns null when the field does not
|
|
115
|
+
* exist — store mode: not in the derived package index (orphan instance
|
|
116
|
+
* rows are IGNORED, §5.4.5); legacy mode: no instance row.
|
|
117
|
+
*/
|
|
118
|
+
private loadField;
|
|
119
|
+
/** Opaque version of the layer this caller would write — §3.7. */
|
|
120
|
+
private writeTargetVersion;
|
|
121
|
+
read(path: string, options?: AFSReadOptions): Promise<AFSReadResult>;
|
|
122
|
+
/** Store-mode directory existence: any package field lives under `sub`. */
|
|
123
|
+
private dirExists;
|
|
124
|
+
/**
|
|
125
|
+
* The full schema map (store mode): from the active snapshot when present,
|
|
126
|
+
* else one bulk store query — replacing the legacy per-field N+1 scope peek.
|
|
127
|
+
*/
|
|
128
|
+
private schemaMap;
|
|
129
|
+
list(path: string, options?: AFSListOptions): Promise<AFSListResult>;
|
|
130
|
+
stat(path: string, options?: AFSStatOptions): Promise<AFSStatResult>;
|
|
131
|
+
write(path: string, content: AFSWriteEntryPayload, options?: AFSWriteOptions): Promise<AFSWriteResult>;
|
|
132
|
+
/**
|
|
133
|
+
* The ON-DISK override-only shape of an instance row: `{ value?, overrides? }`.
|
|
134
|
+
* Distinct from {@link stripToOverrideOnly} (the flattened READ-side
|
|
135
|
+
* contribution) — this preserves the nested `overrides` object so a write
|
|
136
|
+
* RMW keeps prior explicit schema-text edits.
|
|
137
|
+
*/
|
|
138
|
+
private overrideOnlyDiskShape;
|
|
139
|
+
/** Assemble write options, omitting empties so providers see a clean shape. */
|
|
140
|
+
private writeOptions;
|
|
141
|
+
/**
|
|
142
|
+
* Read-modify-write the FULL instance wrapper so siblings
|
|
143
|
+
* (label/description/options/…) survive — the G0 regression guard. ifMatch
|
|
144
|
+
* (if supplied) is compared by the base provider against the wrapper version;
|
|
145
|
+
* context (if supplied) flows through so the emitted event carries origin.
|
|
146
|
+
*/
|
|
147
|
+
private writeInstanceWrapper;
|
|
148
|
+
delete(path: string, options?: AFSDeleteOptions): Promise<AFSDeleteResult>;
|
|
149
|
+
/**
|
|
150
|
+
* Bridge instance-layer + user-layer change events into the
|
|
151
|
+
* `/instance/settings/...` namespace so propBind can react to a cascade write
|
|
152
|
+
* regardless of which physical layer it landed on.
|
|
153
|
+
*
|
|
154
|
+
* For a FIELD subscription (`/cascade/theme.json/value`):
|
|
155
|
+
* - watch the instance WRAPPER FILE on `base` and the bare-value file on
|
|
156
|
+
* `userProvider` (see `mapSubscribePaths`);
|
|
157
|
+
* - re-emit at the EXACT filter path so the bridged event matches what the
|
|
158
|
+
* subscriber (PropBindSubscriber) asked for — SessionUserAFS then
|
|
159
|
+
* re-prefixes the resolver-relative path back to `/instance/settings/...`.
|
|
160
|
+
*
|
|
161
|
+
* Two invariants make echo suppression + reset work:
|
|
162
|
+
* 1. ORIGIN PASSTHROUGH — `{ ...evt }` preserves `origin.sessionId`, so the
|
|
163
|
+
* writer's own session is filtered out by PropBindSubscriber and a
|
|
164
|
+
* different session still receives the patch. (The underlying write
|
|
165
|
+
* carries origin only because `write()` now forwards `options.context`.)
|
|
166
|
+
* 2. TYPE NORMALIZATION — a user-layer DELETE (reset, D-f) is re-emitted as
|
|
167
|
+
* `afs:write` because, from the cascade's point of view, the effective
|
|
168
|
+
* value changed (reverted to the instance default); subscribers re-read
|
|
169
|
+
* either way. We therefore drop the type filter on the underlying
|
|
170
|
+
* subscription so deletes are not missed.
|
|
171
|
+
*/
|
|
172
|
+
subscribe(filter: AFSEventFilter, callback: AFSEventCallback): AFSUnsubscribe;
|
|
173
|
+
setEventSink(sink: Parameters<NonNullable<AFSModule["setEventSink"]>>[0]): void;
|
|
174
|
+
}
|
|
175
|
+
//#endregion
|
|
176
|
+
export { SettingsResolver, SettingsResolverOptions, SettingsScope };
|
|
177
|
+
//# sourceMappingURL=settings-resolver.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-resolver.d.cts","names":[],"sources":["../../src/session/settings-resolver.ts"],"mappings":";;;;;KAiEY,aAAA;;KAEA,aAAA;AAAA,UAmBK,uBAAA;EA0jBqC;EAxjBpD,IAAA,EAAM,OAAA;EAgpBsD;EA9oB5D,YAAA,EAAc,SAAA;EA8uBqB;EA5uBnC,IAAA;EA4uBoD;EA1uBpD,SAAA;EA8xBY;;;;;;EAvxBZ,MAAA,GAAS,oBAAA;AAAA;AAAA,cAwKE,gBAAA,YAA4B,SAAA;EAAA,SAC9B,IAAA;EAAA,SACA,UAAA;EAAA,iBAEQ,IAAA;EAAA,iBACA,YAAA;EAAA,iBACA,IAAA;EAAA,iBACA,MAAA;EA8HH;EAAA,QA5HN,WAAA;EAsKI;;;;;;;;EAAA,QA7JJ,WAAA;EAiLQ;;;;;EAAA,iBA3KC,SAAA;cAEL,IAAA,EAAM,uBAAA;EA8NJ;;;;;;;EAAA,QA7MN,oBAAA;EAwV2B;EAAA,YArUvB,SAAA,CAAA;EAqUwC;;;;;;;;;;;EApT9C,WAAA,CAAY,QAAA,WAAmB,OAAA;EA4eF;EAtdnC,SAAA,CAAU,QAAA;EAsd0C;EAAA,YAjdxC,cAAA,CAAA;EAkgBN;EAAA,QA3fQ,aAAA;EA6fH;;;;;EAAA,QAzeG,aAAA;EAAA,YAsCF,QAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAkjBJ;EA5iBR,iBAAA,CAAkB,KAAA,EAAO,aAAA,GAAgB,aAAA;EA8jB5B;EAvjBb,OAAA,CAAQ,KAAA,EAAO,aAAA;EAujBY;EAhjB3B,QAAA,CAAS,KAAA,EAAO,aAAA;EAgjBgD;EAAA,QAviBxD,YAAA;EAslBU;EAAA,QA7kBV,oBAAA;EAAA,QAUA,QAAA;EAAA,QAKA,QAAA;EAAA,QAKM,mBAAA;EAqlBd;EAAA,QAtkBc,gBAAA;EAskBgB;EAAA,QAvjBhB,gBAAA;EAujBD;EAAA,QA9iBC,cAAA;EA8iB0D;;;;;;EAAA,QA7hBhE,mBAAA;;;;;;UAmBM,SAAA;;UAyDA,kBAAA;EAsBR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;;UAmE9C,SAAA;;;;;UAaA,SAAA;EAQR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAgGtD,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAiDtD,KAAA,CACJ,IAAA,UACA,OAAA,EAAS,oBAAA,EACT,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,cAAA;;;;;;;UA0FH,qBAAA;;UAUA,YAAA;;;;;;;UAaA,oBAAA;EAkBF,MAAA,CAAO,IAAA,UAAc,OAAA,GAAU,gBAAA,GAAmB,OAAA,CAAQ,eAAA;;;;;;;;;;;;;;;;;;;;;;;;EA+ChE,SAAA,CAAU,MAAA,EAAQ,cAAA,EAAgB,QAAA,EAAU,gBAAA,GAAmB,cAAA;EA4B/D,YAAA,CAAa,IAAA,EAAM,UAAA,CAAW,WAAA,CAAY,SAAA;AAAA"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { SettingsSchemaHandle } from "./settings-schema-store.mjs";
|
|
2
|
+
import { AFSDeleteOptions, AFSDeleteResult, AFSEventCallback, AFSEventFilter, AFSListOptions, AFSListResult, AFSModule, AFSReadOptions, AFSReadResult, AFSRoot, AFSStatOptions, AFSStatResult, AFSUnsubscribe, AFSWriteEntryPayload, AFSWriteOptions, AFSWriteResult } from "@aigne/afs";
|
|
3
|
+
|
|
4
|
+
//#region src/session/settings-resolver.d.ts
|
|
5
|
+
/** Where a field's value is *declared* (the schema-level cascade tag). */
|
|
6
|
+
type SettingsScope = "instance" | "user" | "shared";
|
|
7
|
+
/** The physical layer a given caller reads/writes for a scope. */
|
|
8
|
+
type SettingsLayer = "instance" | "user";
|
|
9
|
+
interface SettingsResolverOptions {
|
|
10
|
+
/** The Small World base (owns `/instance/settings/<rel>` wrapper files). */
|
|
11
|
+
base: AFSRoot;
|
|
12
|
+
/** The caller's per-user provider (`/user` backing), or null for anonymous. */
|
|
13
|
+
userProvider: AFSModule | null;
|
|
14
|
+
/** The caller's role, from `getCallerForSession().role`. Unknown → non-admin. */
|
|
15
|
+
role: string | undefined;
|
|
16
|
+
/** Owning session id — used for event origin tagging in P4. */
|
|
17
|
+
sessionId: string;
|
|
18
|
+
/**
|
|
19
|
+
* Derived schema index handle (settings-layering Phase 1c). When wired, the
|
|
20
|
+
* resolver lazily materializes the blocklet's package-schema scope on first
|
|
21
|
+
* settings access (idempotent, store-side single-flight). Phase 2 makes it
|
|
22
|
+
* the existence/schema source; until then resolution is unchanged.
|
|
23
|
+
*/
|
|
24
|
+
schema?: SettingsSchemaHandle | null;
|
|
25
|
+
}
|
|
26
|
+
declare class SettingsResolver implements AFSModule {
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly accessMode: "readwrite";
|
|
29
|
+
private readonly base;
|
|
30
|
+
private readonly userProvider;
|
|
31
|
+
private readonly role;
|
|
32
|
+
private readonly schema;
|
|
33
|
+
/** Memoized lazy ingest — at most one ensure() flight per session. */
|
|
34
|
+
private schemaReady;
|
|
35
|
+
/**
|
|
36
|
+
* Outcome of the lazy ingest. `ready` = the package declares settings and
|
|
37
|
+
* the derived index is consumable (STORE MODE: existence/schema come from
|
|
38
|
+
* the package index). `empty` = package declares none; `failed` = store
|
|
39
|
+
* unavailable; `unwired` = no handle. All non-`ready` states resolve in
|
|
40
|
+
* LEGACY MODE (instance rows define existence + schema) — the pre-Phase-2
|
|
41
|
+
* behavior, so blocklets without package settings keep working.
|
|
42
|
+
*/
|
|
43
|
+
private schemaState;
|
|
44
|
+
/**
|
|
45
|
+
* Active render snapshots, insertion-ordered by `beginRender`. Ops resolve
|
|
46
|
+
* against the MOST RECENTLY begun snapshot (walks are sequential per
|
|
47
|
+
* render; concurrent renders each get their own immutable entry).
|
|
48
|
+
*/
|
|
49
|
+
private readonly snapshots;
|
|
50
|
+
constructor(opts: SettingsResolverOptions);
|
|
51
|
+
/**
|
|
52
|
+
* Lazily materialize the package-schema scope (Phase 1c plumbing). Memoized
|
|
53
|
+
* per resolver (per session); the store's own single-flight + completion
|
|
54
|
+
* marker make cross-session work idempotent. BEST-EFFORT in Phase 1: a
|
|
55
|
+
* failed ingest logs and falls back to legacy resolution (Phase 2 will
|
|
56
|
+
* consume the scope for existence/schema and define the hard contract).
|
|
57
|
+
*/
|
|
58
|
+
private ensureSchemaIngested;
|
|
59
|
+
/** STORE MODE — existence/schema from the derived package index (§1.4). */
|
|
60
|
+
private get storeMode();
|
|
61
|
+
/**
|
|
62
|
+
* Begin a render-scoped snapshot. Called by the auto-surface walk entry
|
|
63
|
+
* point (via `SessionUserAFS.beginRender` proxy) with a fresh `renderId`
|
|
64
|
+
* before walking; the resolver builds the WHOLE settings snapshot once
|
|
65
|
+
* (1× derived-index listEntries + instance/user override list + sparse
|
|
66
|
+
* reads) and serves every list/read of that render from memory.
|
|
67
|
+
*
|
|
68
|
+
* Phase 0: contract only — no-op. Phase 2 implements the snapshot builder.
|
|
69
|
+
* Idempotency contract: repeated `beginRender` with the same renderId and
|
|
70
|
+
* `endRender` without a matching begin are both safe no-ops.
|
|
71
|
+
*/
|
|
72
|
+
beginRender(renderId: string): Promise<void>;
|
|
73
|
+
/** Discard the render snapshot for `renderId`. See {@link beginRender}. */
|
|
74
|
+
endRender(renderId: string): void;
|
|
75
|
+
/** The snapshot ops resolve against: the most recently begun, still active. */
|
|
76
|
+
private get activeSnapshot();
|
|
77
|
+
/** Bulk-read + parse the derived package schemas (1 store query). */
|
|
78
|
+
private loadSchemaMap;
|
|
79
|
+
/**
|
|
80
|
+
* Walk one override layer's tree and read every `.json` row. Sparse by
|
|
81
|
+
* design (converged rows: 0-5); legacy instances pay row-count reads ONCE
|
|
82
|
+
* per render — all in-process, replacing the per-field WS round-trips.
|
|
83
|
+
*/
|
|
84
|
+
private loadLayerRows;
|
|
85
|
+
private get isAuthed();
|
|
86
|
+
private get isOwnerOrAdmin();
|
|
87
|
+
/** The physical layer this caller reads AND writes for the given scope. */
|
|
88
|
+
resolveWriteLayer(scope: SettingsScope): SettingsLayer;
|
|
89
|
+
/** Presentation hint: should this caller's form render the field at all? */
|
|
90
|
+
visible(scope: SettingsScope): boolean;
|
|
91
|
+
/** Capability hint + (P1) write-enforcement basis: may this caller edit it? */
|
|
92
|
+
editable(scope: SettingsScope): boolean;
|
|
93
|
+
/** Normalize an incoming resolver-relative path; reject traversal outright. */
|
|
94
|
+
private normalizeSub;
|
|
95
|
+
/** Translate an underlying layer path back into the resolver-relative space. */
|
|
96
|
+
private underlyingToRelative;
|
|
97
|
+
private baseRead;
|
|
98
|
+
private baseStat;
|
|
99
|
+
private loadInstanceWrapper;
|
|
100
|
+
/** Read the caller's bare override value, or undefined when absent/anonymous. */
|
|
101
|
+
private readUserOverride;
|
|
102
|
+
/** Parsed package schema for a field, or null (store mode only). */
|
|
103
|
+
private getSchemaWrapper;
|
|
104
|
+
/** Parsed raw instance row, or null when absent (never throws not-found). */
|
|
105
|
+
private getInstanceRow;
|
|
106
|
+
/**
|
|
107
|
+
* Reduce a raw instance row to its OVERRIDE-ONLY contribution (§2.D):
|
|
108
|
+
* `value` (when present) + keys explicitly written under `overrides`.
|
|
109
|
+
* A LEGACY full wrapper's flat schema keys are deliberately dropped —
|
|
110
|
+
* the package schema is authoritative (legacy-no-shadow).
|
|
111
|
+
*/
|
|
112
|
+
private stripToOverrideOnly;
|
|
113
|
+
/**
|
|
114
|
+
* Load one field through the cascade. Returns null when the field does not
|
|
115
|
+
* exist — store mode: not in the derived package index (orphan instance
|
|
116
|
+
* rows are IGNORED, §5.4.5); legacy mode: no instance row.
|
|
117
|
+
*/
|
|
118
|
+
private loadField;
|
|
119
|
+
/** Opaque version of the layer this caller would write — §3.7. */
|
|
120
|
+
private writeTargetVersion;
|
|
121
|
+
read(path: string, options?: AFSReadOptions): Promise<AFSReadResult>;
|
|
122
|
+
/** Store-mode directory existence: any package field lives under `sub`. */
|
|
123
|
+
private dirExists;
|
|
124
|
+
/**
|
|
125
|
+
* The full schema map (store mode): from the active snapshot when present,
|
|
126
|
+
* else one bulk store query — replacing the legacy per-field N+1 scope peek.
|
|
127
|
+
*/
|
|
128
|
+
private schemaMap;
|
|
129
|
+
list(path: string, options?: AFSListOptions): Promise<AFSListResult>;
|
|
130
|
+
stat(path: string, options?: AFSStatOptions): Promise<AFSStatResult>;
|
|
131
|
+
write(path: string, content: AFSWriteEntryPayload, options?: AFSWriteOptions): Promise<AFSWriteResult>;
|
|
132
|
+
/**
|
|
133
|
+
* The ON-DISK override-only shape of an instance row: `{ value?, overrides? }`.
|
|
134
|
+
* Distinct from {@link stripToOverrideOnly} (the flattened READ-side
|
|
135
|
+
* contribution) — this preserves the nested `overrides` object so a write
|
|
136
|
+
* RMW keeps prior explicit schema-text edits.
|
|
137
|
+
*/
|
|
138
|
+
private overrideOnlyDiskShape;
|
|
139
|
+
/** Assemble write options, omitting empties so providers see a clean shape. */
|
|
140
|
+
private writeOptions;
|
|
141
|
+
/**
|
|
142
|
+
* Read-modify-write the FULL instance wrapper so siblings
|
|
143
|
+
* (label/description/options/…) survive — the G0 regression guard. ifMatch
|
|
144
|
+
* (if supplied) is compared by the base provider against the wrapper version;
|
|
145
|
+
* context (if supplied) flows through so the emitted event carries origin.
|
|
146
|
+
*/
|
|
147
|
+
private writeInstanceWrapper;
|
|
148
|
+
delete(path: string, options?: AFSDeleteOptions): Promise<AFSDeleteResult>;
|
|
149
|
+
/**
|
|
150
|
+
* Bridge instance-layer + user-layer change events into the
|
|
151
|
+
* `/instance/settings/...` namespace so propBind can react to a cascade write
|
|
152
|
+
* regardless of which physical layer it landed on.
|
|
153
|
+
*
|
|
154
|
+
* For a FIELD subscription (`/cascade/theme.json/value`):
|
|
155
|
+
* - watch the instance WRAPPER FILE on `base` and the bare-value file on
|
|
156
|
+
* `userProvider` (see `mapSubscribePaths`);
|
|
157
|
+
* - re-emit at the EXACT filter path so the bridged event matches what the
|
|
158
|
+
* subscriber (PropBindSubscriber) asked for — SessionUserAFS then
|
|
159
|
+
* re-prefixes the resolver-relative path back to `/instance/settings/...`.
|
|
160
|
+
*
|
|
161
|
+
* Two invariants make echo suppression + reset work:
|
|
162
|
+
* 1. ORIGIN PASSTHROUGH — `{ ...evt }` preserves `origin.sessionId`, so the
|
|
163
|
+
* writer's own session is filtered out by PropBindSubscriber and a
|
|
164
|
+
* different session still receives the patch. (The underlying write
|
|
165
|
+
* carries origin only because `write()` now forwards `options.context`.)
|
|
166
|
+
* 2. TYPE NORMALIZATION — a user-layer DELETE (reset, D-f) is re-emitted as
|
|
167
|
+
* `afs:write` because, from the cascade's point of view, the effective
|
|
168
|
+
* value changed (reverted to the instance default); subscribers re-read
|
|
169
|
+
* either way. We therefore drop the type filter on the underlying
|
|
170
|
+
* subscription so deletes are not missed.
|
|
171
|
+
*/
|
|
172
|
+
subscribe(filter: AFSEventFilter, callback: AFSEventCallback): AFSUnsubscribe;
|
|
173
|
+
setEventSink(sink: Parameters<NonNullable<AFSModule["setEventSink"]>>[0]): void;
|
|
174
|
+
}
|
|
175
|
+
//#endregion
|
|
176
|
+
export { SettingsResolver, SettingsResolverOptions, SettingsScope };
|
|
177
|
+
//# sourceMappingURL=settings-resolver.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-resolver.d.mts","names":[],"sources":["../../src/session/settings-resolver.ts"],"mappings":";;;;;KAiEY,aAAA;;KAEA,aAAA;AAAA,UAmBK,uBAAA;EA0jBqC;EAxjBpD,IAAA,EAAM,OAAA;EAgpBsD;EA9oB5D,YAAA,EAAc,SAAA;EA8uBqB;EA5uBnC,IAAA;EA4uBoD;EA1uBpD,SAAA;EA8xBY;;;;;;EAvxBZ,MAAA,GAAS,oBAAA;AAAA;AAAA,cAwKE,gBAAA,YAA4B,SAAA;EAAA,SAC9B,IAAA;EAAA,SACA,UAAA;EAAA,iBAEQ,IAAA;EAAA,iBACA,YAAA;EAAA,iBACA,IAAA;EAAA,iBACA,MAAA;EA8HH;EAAA,QA5HN,WAAA;EAsKI;;;;;;;;EAAA,QA7JJ,WAAA;EAiLQ;;;;;EAAA,iBA3KC,SAAA;cAEL,IAAA,EAAM,uBAAA;EA8NJ;;;;;;;EAAA,QA7MN,oBAAA;EAwV2B;EAAA,YArUvB,SAAA,CAAA;EAqUwC;;;;;;;;;;;EApT9C,WAAA,CAAY,QAAA,WAAmB,OAAA;EA4eF;EAtdnC,SAAA,CAAU,QAAA;EAsd0C;EAAA,YAjdxC,cAAA,CAAA;EAkgBN;EAAA,QA3fQ,aAAA;EA6fH;;;;;EAAA,QAzeG,aAAA;EAAA,YAsCF,QAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAkjBJ;EA5iBR,iBAAA,CAAkB,KAAA,EAAO,aAAA,GAAgB,aAAA;EA8jB5B;EAvjBb,OAAA,CAAQ,KAAA,EAAO,aAAA;EAujBY;EAhjB3B,QAAA,CAAS,KAAA,EAAO,aAAA;EAgjBgD;EAAA,QAviBxD,YAAA;EAslBU;EAAA,QA7kBV,oBAAA;EAAA,QAUA,QAAA;EAAA,QAKA,QAAA;EAAA,QAKM,mBAAA;EAqlBd;EAAA,QAtkBc,gBAAA;EAskBgB;EAAA,QAvjBhB,gBAAA;EAujBD;EAAA,QA9iBC,cAAA;EA8iB0D;;;;;;EAAA,QA7hBhE,mBAAA;;;;;;UAmBM,SAAA;;UAyDA,kBAAA;EAsBR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;;UAmE9C,SAAA;;;;;UAaA,SAAA;EAQR,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAgGtD,IAAA,CAAK,IAAA,UAAc,OAAA,GAAU,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAiDtD,KAAA,CACJ,IAAA,UACA,OAAA,EAAS,oBAAA,EACT,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,cAAA;;;;;;;UA0FH,qBAAA;;UAUA,YAAA;;;;;;;UAaA,oBAAA;EAkBF,MAAA,CAAO,IAAA,UAAc,OAAA,GAAU,gBAAA,GAAmB,OAAA,CAAQ,eAAA;;;;;;;;;;;;;;;;;;;;;;;;EA+ChE,SAAA,CAAU,MAAA,EAAQ,cAAA,EAAgB,QAAA,EAAU,gBAAA,GAAmB,cAAA;EA4B/D,YAAA,CAAa,IAAA,EAAM,UAAA,CAAW,WAAA,CAAY,SAAA;AAAA"}
|