@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,80 @@
|
|
|
1
|
+
const require_dsl_shared = require('../dsl-shared.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/value-dsl.ts
|
|
4
|
+
var AutoSurfaceValueDslCompileError = class extends Error {
|
|
5
|
+
constructor(message, line, column = 1) {
|
|
6
|
+
super(`${line}:${column} ${message}`);
|
|
7
|
+
this.line = line;
|
|
8
|
+
this.column = column;
|
|
9
|
+
this.name = "AutoSurfaceValueDslCompileError";
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const LAYERS = new Set([
|
|
13
|
+
"system",
|
|
14
|
+
"package",
|
|
15
|
+
"instance",
|
|
16
|
+
"user"
|
|
17
|
+
]);
|
|
18
|
+
function compileAutoSurfaceValueDsl(source) {
|
|
19
|
+
const values = [];
|
|
20
|
+
const declaration = require_dsl_shared.parseDeclaration(source, {
|
|
21
|
+
kind: "surface-values",
|
|
22
|
+
expected: "Expected surface-values <layer> {",
|
|
23
|
+
fieldKeywords: ["value"],
|
|
24
|
+
error: parseSharedError
|
|
25
|
+
});
|
|
26
|
+
const layer = declaration.id;
|
|
27
|
+
if (!LAYERS.has(layer)) throw new AutoSurfaceValueDslCompileError(`Unsupported value layer: ${declaration.id}`, declaration.idToken.line, declaration.idToken.column);
|
|
28
|
+
for (const field of declaration.fields) values.push(parseValueField(field));
|
|
29
|
+
const files = {};
|
|
30
|
+
for (const entry of values) {
|
|
31
|
+
const file = `${layer}/${entry.path}.value.json`;
|
|
32
|
+
if (Object.hasOwn(files, file)) throw new AutoSurfaceValueDslCompileError(`Duplicate auto-surface value path: ${entry.path}`, entry.line, entry.column);
|
|
33
|
+
files[file] = { value: entry.value };
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
layer,
|
|
37
|
+
files,
|
|
38
|
+
values
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function formatAutoSurfaceValueDsl(source) {
|
|
42
|
+
const compiled = compileAutoSurfaceValueDsl(source);
|
|
43
|
+
const lines = [`surface-values ${compiled.layer} {`];
|
|
44
|
+
for (const entry of compiled.values) lines.push(` value ${entry.path} ${JSON.stringify(entry.value)}`);
|
|
45
|
+
lines.push("}");
|
|
46
|
+
return `${lines.join("\n")}\n`;
|
|
47
|
+
}
|
|
48
|
+
function normalizeValuePath(path, line, column) {
|
|
49
|
+
const normalized = path.replace(/^\//, "").replace(/\/$/, "");
|
|
50
|
+
if (!normalized || normalized.includes("..")) throw new AutoSurfaceValueDslCompileError("value path cannot be empty or contain traversal", line, column);
|
|
51
|
+
return normalized;
|
|
52
|
+
}
|
|
53
|
+
function parseValueField(field) {
|
|
54
|
+
const path = field.values[0];
|
|
55
|
+
if (path?.type !== "word" || field.values.length < 2) throw new AutoSurfaceValueDslCompileError("Expected value <path> <json>", field.name.line, field.name.column);
|
|
56
|
+
return {
|
|
57
|
+
path: normalizeValuePath(path.value, path.line, path.column),
|
|
58
|
+
value: parseJsonValue(joinDslValues(field.values.slice(1)), field.name.line, path.column),
|
|
59
|
+
line: field.name.line,
|
|
60
|
+
column: path.column
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function joinDslValues(tokens) {
|
|
64
|
+
return tokens.map((token) => token.value).join(" ");
|
|
65
|
+
}
|
|
66
|
+
function parseSharedError(message, line, column = 1) {
|
|
67
|
+
return new AutoSurfaceValueDslCompileError(message, line, column);
|
|
68
|
+
}
|
|
69
|
+
function parseJsonValue(source, line, column) {
|
|
70
|
+
try {
|
|
71
|
+
return JSON.parse(source);
|
|
72
|
+
} catch (error) {
|
|
73
|
+
throw new AutoSurfaceValueDslCompileError(`Invalid JSON value: ${error instanceof Error ? error.message : String(error)}`, line, column);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
//#endregion
|
|
78
|
+
exports.AutoSurfaceValueDslCompileError = AutoSurfaceValueDslCompileError;
|
|
79
|
+
exports.compileAutoSurfaceValueDsl = compileAutoSurfaceValueDsl;
|
|
80
|
+
exports.formatAutoSurfaceValueDsl = formatAutoSurfaceValueDsl;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AutoSurfaceLayer } from "./types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/value-dsl.d.ts
|
|
4
|
+
interface AutoSurfaceValueDslCompileResult {
|
|
5
|
+
layer: AutoSurfaceLayer;
|
|
6
|
+
files: Record<string, unknown>;
|
|
7
|
+
values: AutoSurfaceValueDslEntry[];
|
|
8
|
+
}
|
|
9
|
+
interface AutoSurfaceValueDslEntry {
|
|
10
|
+
path: string;
|
|
11
|
+
value: unknown;
|
|
12
|
+
line: number;
|
|
13
|
+
column: number;
|
|
14
|
+
}
|
|
15
|
+
declare class AutoSurfaceValueDslCompileError extends Error {
|
|
16
|
+
readonly line: number;
|
|
17
|
+
readonly column: number;
|
|
18
|
+
constructor(message: string, line: number, column?: number);
|
|
19
|
+
}
|
|
20
|
+
declare function compileAutoSurfaceValueDsl(source: string): AutoSurfaceValueDslCompileResult;
|
|
21
|
+
declare function formatAutoSurfaceValueDsl(source: string): string;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { AutoSurfaceValueDslCompileError, AutoSurfaceValueDslCompileResult, AutoSurfaceValueDslEntry, compileAutoSurfaceValueDsl, formatAutoSurfaceValueDsl };
|
|
24
|
+
//# sourceMappingURL=value-dsl.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-dsl.d.cts","names":[],"sources":["../../src/auto-surface/value-dsl.ts"],"mappings":";;;UAGiB,gCAAA;EACf,KAAA,EAAO,gBAAA;EACP,KAAA,EAAO,MAAA;EACP,MAAA,EAAQ,wBAAA;AAAA;AAAA,UAGO,wBAAA;EACf,IAAA;EACA,KAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,cAGW,+BAAA,SAAwC,KAAA;EAAA,SAGxC,IAAA;EAAA,SACA,MAAA;cAFT,OAAA,UACS,IAAA,UACA,MAAA;AAAA;AAAA,iBASG,0BAAA,CAA2B,MAAA,WAAiB,gCAAA;AAAA,iBAuC5C,yBAAA,CAA0B,MAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AutoSurfaceLayer } from "./types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/value-dsl.d.ts
|
|
4
|
+
interface AutoSurfaceValueDslCompileResult {
|
|
5
|
+
layer: AutoSurfaceLayer;
|
|
6
|
+
files: Record<string, unknown>;
|
|
7
|
+
values: AutoSurfaceValueDslEntry[];
|
|
8
|
+
}
|
|
9
|
+
interface AutoSurfaceValueDslEntry {
|
|
10
|
+
path: string;
|
|
11
|
+
value: unknown;
|
|
12
|
+
line: number;
|
|
13
|
+
column: number;
|
|
14
|
+
}
|
|
15
|
+
declare class AutoSurfaceValueDslCompileError extends Error {
|
|
16
|
+
readonly line: number;
|
|
17
|
+
readonly column: number;
|
|
18
|
+
constructor(message: string, line: number, column?: number);
|
|
19
|
+
}
|
|
20
|
+
declare function compileAutoSurfaceValueDsl(source: string): AutoSurfaceValueDslCompileResult;
|
|
21
|
+
declare function formatAutoSurfaceValueDsl(source: string): string;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { AutoSurfaceValueDslCompileError, AutoSurfaceValueDslCompileResult, AutoSurfaceValueDslEntry, compileAutoSurfaceValueDsl, formatAutoSurfaceValueDsl };
|
|
24
|
+
//# sourceMappingURL=value-dsl.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-dsl.d.mts","names":[],"sources":["../../src/auto-surface/value-dsl.ts"],"mappings":";;;UAGiB,gCAAA;EACf,KAAA,EAAO,gBAAA;EACP,KAAA,EAAO,MAAA;EACP,MAAA,EAAQ,wBAAA;AAAA;AAAA,UAGO,wBAAA;EACf,IAAA;EACA,KAAA;EACA,IAAA;EACA,MAAA;AAAA;AAAA,cAGW,+BAAA,SAAwC,KAAA;EAAA,SAGxC,IAAA;EAAA,SACA,MAAA;cAFT,OAAA,UACS,IAAA,UACA,MAAA;AAAA;AAAA,iBASG,0BAAA,CAA2B,MAAA,WAAiB,gCAAA;AAAA,iBAuC5C,yBAAA,CAA0B,MAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { parseDeclaration } from "../dsl-shared.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/value-dsl.ts
|
|
4
|
+
var AutoSurfaceValueDslCompileError = class extends Error {
|
|
5
|
+
constructor(message, line, column = 1) {
|
|
6
|
+
super(`${line}:${column} ${message}`);
|
|
7
|
+
this.line = line;
|
|
8
|
+
this.column = column;
|
|
9
|
+
this.name = "AutoSurfaceValueDslCompileError";
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const LAYERS = new Set([
|
|
13
|
+
"system",
|
|
14
|
+
"package",
|
|
15
|
+
"instance",
|
|
16
|
+
"user"
|
|
17
|
+
]);
|
|
18
|
+
function compileAutoSurfaceValueDsl(source) {
|
|
19
|
+
const values = [];
|
|
20
|
+
const declaration = parseDeclaration(source, {
|
|
21
|
+
kind: "surface-values",
|
|
22
|
+
expected: "Expected surface-values <layer> {",
|
|
23
|
+
fieldKeywords: ["value"],
|
|
24
|
+
error: parseSharedError
|
|
25
|
+
});
|
|
26
|
+
const layer = declaration.id;
|
|
27
|
+
if (!LAYERS.has(layer)) throw new AutoSurfaceValueDslCompileError(`Unsupported value layer: ${declaration.id}`, declaration.idToken.line, declaration.idToken.column);
|
|
28
|
+
for (const field of declaration.fields) values.push(parseValueField(field));
|
|
29
|
+
const files = {};
|
|
30
|
+
for (const entry of values) {
|
|
31
|
+
const file = `${layer}/${entry.path}.value.json`;
|
|
32
|
+
if (Object.hasOwn(files, file)) throw new AutoSurfaceValueDslCompileError(`Duplicate auto-surface value path: ${entry.path}`, entry.line, entry.column);
|
|
33
|
+
files[file] = { value: entry.value };
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
layer,
|
|
37
|
+
files,
|
|
38
|
+
values
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function formatAutoSurfaceValueDsl(source) {
|
|
42
|
+
const compiled = compileAutoSurfaceValueDsl(source);
|
|
43
|
+
const lines = [`surface-values ${compiled.layer} {`];
|
|
44
|
+
for (const entry of compiled.values) lines.push(` value ${entry.path} ${JSON.stringify(entry.value)}`);
|
|
45
|
+
lines.push("}");
|
|
46
|
+
return `${lines.join("\n")}\n`;
|
|
47
|
+
}
|
|
48
|
+
function normalizeValuePath(path, line, column) {
|
|
49
|
+
const normalized = path.replace(/^\//, "").replace(/\/$/, "");
|
|
50
|
+
if (!normalized || normalized.includes("..")) throw new AutoSurfaceValueDslCompileError("value path cannot be empty or contain traversal", line, column);
|
|
51
|
+
return normalized;
|
|
52
|
+
}
|
|
53
|
+
function parseValueField(field) {
|
|
54
|
+
const path = field.values[0];
|
|
55
|
+
if (path?.type !== "word" || field.values.length < 2) throw new AutoSurfaceValueDslCompileError("Expected value <path> <json>", field.name.line, field.name.column);
|
|
56
|
+
return {
|
|
57
|
+
path: normalizeValuePath(path.value, path.line, path.column),
|
|
58
|
+
value: parseJsonValue(joinDslValues(field.values.slice(1)), field.name.line, path.column),
|
|
59
|
+
line: field.name.line,
|
|
60
|
+
column: path.column
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function joinDslValues(tokens) {
|
|
64
|
+
return tokens.map((token) => token.value).join(" ");
|
|
65
|
+
}
|
|
66
|
+
function parseSharedError(message, line, column = 1) {
|
|
67
|
+
return new AutoSurfaceValueDslCompileError(message, line, column);
|
|
68
|
+
}
|
|
69
|
+
function parseJsonValue(source, line, column) {
|
|
70
|
+
try {
|
|
71
|
+
return JSON.parse(source);
|
|
72
|
+
} catch (error) {
|
|
73
|
+
throw new AutoSurfaceValueDslCompileError(`Invalid JSON value: ${error instanceof Error ? error.message : String(error)}`, line, column);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
//#endregion
|
|
78
|
+
export { AutoSurfaceValueDslCompileError, compileAutoSurfaceValueDsl, formatAutoSurfaceValueDsl };
|
|
79
|
+
//# sourceMappingURL=value-dsl.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-dsl.mjs","names":[],"sources":["../../src/auto-surface/value-dsl.ts"],"sourcesContent":["import { type DslField, type DslToken, parseDeclaration } from \"../dsl-shared.js\";\nimport type { AutoSurfaceLayer } from \"./types.js\";\n\nexport interface AutoSurfaceValueDslCompileResult {\n layer: AutoSurfaceLayer;\n files: Record<string, unknown>;\n values: AutoSurfaceValueDslEntry[];\n}\n\nexport interface AutoSurfaceValueDslEntry {\n path: string;\n value: unknown;\n line: number;\n column: number;\n}\n\nexport class AutoSurfaceValueDslCompileError extends Error {\n constructor(\n message: string,\n readonly line: number,\n readonly column = 1,\n ) {\n super(`${line}:${column} ${message}`);\n this.name = \"AutoSurfaceValueDslCompileError\";\n }\n}\n\nconst LAYERS = new Set<AutoSurfaceLayer>([\"system\", \"package\", \"instance\", \"user\"]);\n\nexport function compileAutoSurfaceValueDsl(source: string): AutoSurfaceValueDslCompileResult {\n const values: AutoSurfaceValueDslEntry[] = [];\n\n const declaration = parseDeclaration(source, {\n kind: \"surface-values\",\n expected: \"Expected surface-values <layer> {\",\n fieldKeywords: [\"value\"],\n error: parseSharedError,\n });\n\n const layer = declaration.id as AutoSurfaceLayer;\n if (!LAYERS.has(layer)) {\n throw new AutoSurfaceValueDslCompileError(\n `Unsupported value layer: ${declaration.id}`,\n declaration.idToken.line,\n declaration.idToken.column,\n );\n }\n\n for (const field of declaration.fields) {\n values.push(parseValueField(field));\n }\n\n const files: Record<string, unknown> = {};\n for (const entry of values) {\n const file = `${layer}/${entry.path}.value.json`;\n if (Object.hasOwn(files, file)) {\n throw new AutoSurfaceValueDslCompileError(\n `Duplicate auto-surface value path: ${entry.path}`,\n entry.line,\n entry.column,\n );\n }\n files[file] = { value: entry.value };\n }\n\n return { layer, files, values };\n}\n\nexport function formatAutoSurfaceValueDsl(source: string): string {\n const compiled = compileAutoSurfaceValueDsl(source);\n const lines = [`surface-values ${compiled.layer} {`];\n for (const entry of compiled.values) {\n lines.push(` value ${entry.path} ${JSON.stringify(entry.value)}`);\n }\n lines.push(\"}\");\n return `${lines.join(\"\\n\")}\\n`;\n}\n\nfunction normalizeValuePath(path: string, line: number, column: number): string {\n const normalized = path.replace(/^\\//, \"\").replace(/\\/$/, \"\");\n if (!normalized || normalized.includes(\"..\")) {\n throw new AutoSurfaceValueDslCompileError(\n \"value path cannot be empty or contain traversal\",\n line,\n column,\n );\n }\n return normalized;\n}\n\nfunction parseValueField(field: DslField): AutoSurfaceValueDslEntry {\n const path = field.values[0];\n if (path?.type !== \"word\" || field.values.length < 2) {\n throw new AutoSurfaceValueDslCompileError(\n \"Expected value <path> <json>\",\n field.name.line,\n field.name.column,\n );\n }\n\n return {\n path: normalizeValuePath(path.value, path.line, path.column),\n value: parseJsonValue(joinDslValues(field.values.slice(1)), field.name.line, path.column),\n line: field.name.line,\n column: path.column,\n };\n}\n\nfunction joinDslValues(tokens: DslToken[]): string {\n return tokens.map((token) => token.value).join(\" \");\n}\n\nfunction parseSharedError(message: string, line: number, column = 1): Error {\n return new AutoSurfaceValueDslCompileError(message, line, column);\n}\n\nfunction parseJsonValue(source: string, line: number, column: number): unknown {\n try {\n return JSON.parse(source);\n } catch (error) {\n throw new AutoSurfaceValueDslCompileError(\n `Invalid JSON value: ${error instanceof Error ? error.message : String(error)}`,\n line,\n column,\n );\n }\n}\n"],"mappings":";;;AAgBA,IAAa,kCAAb,cAAqD,MAAM;CACzD,YACE,SACA,AAAS,MACT,AAAS,SAAS,GAClB;AACA,QAAM,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU;EAH5B;EACA;AAGT,OAAK,OAAO;;;AAIhB,MAAM,SAAS,IAAI,IAAsB;CAAC;CAAU;CAAW;CAAY;CAAO,CAAC;AAEnF,SAAgB,2BAA2B,QAAkD;CAC3F,MAAM,SAAqC,EAAE;CAE7C,MAAM,cAAc,iBAAiB,QAAQ;EAC3C,MAAM;EACN,UAAU;EACV,eAAe,CAAC,QAAQ;EACxB,OAAO;EACR,CAAC;CAEF,MAAM,QAAQ,YAAY;AAC1B,KAAI,CAAC,OAAO,IAAI,MAAM,CACpB,OAAM,IAAI,gCACR,4BAA4B,YAAY,MACxC,YAAY,QAAQ,MACpB,YAAY,QAAQ,OACrB;AAGH,MAAK,MAAM,SAAS,YAAY,OAC9B,QAAO,KAAK,gBAAgB,MAAM,CAAC;CAGrC,MAAM,QAAiC,EAAE;AACzC,MAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,KAAK;AACpC,MAAI,OAAO,OAAO,OAAO,KAAK,CAC5B,OAAM,IAAI,gCACR,sCAAsC,MAAM,QAC5C,MAAM,MACN,MAAM,OACP;AAEH,QAAM,QAAQ,EAAE,OAAO,MAAM,OAAO;;AAGtC,QAAO;EAAE;EAAO;EAAO;EAAQ;;AAGjC,SAAgB,0BAA0B,QAAwB;CAChE,MAAM,WAAW,2BAA2B,OAAO;CACnD,MAAM,QAAQ,CAAC,kBAAkB,SAAS,MAAM,IAAI;AACpD,MAAK,MAAM,SAAS,SAAS,OAC3B,OAAM,KAAK,WAAW,MAAM,KAAK,GAAG,KAAK,UAAU,MAAM,MAAM,GAAG;AAEpE,OAAM,KAAK,IAAI;AACf,QAAO,GAAG,MAAM,KAAK,KAAK,CAAC;;AAG7B,SAAS,mBAAmB,MAAc,MAAc,QAAwB;CAC9E,MAAM,aAAa,KAAK,QAAQ,OAAO,GAAG,CAAC,QAAQ,OAAO,GAAG;AAC7D,KAAI,CAAC,cAAc,WAAW,SAAS,KAAK,CAC1C,OAAM,IAAI,gCACR,mDACA,MACA,OACD;AAEH,QAAO;;AAGT,SAAS,gBAAgB,OAA2C;CAClE,MAAM,OAAO,MAAM,OAAO;AAC1B,KAAI,MAAM,SAAS,UAAU,MAAM,OAAO,SAAS,EACjD,OAAM,IAAI,gCACR,gCACA,MAAM,KAAK,MACX,MAAM,KAAK,OACZ;AAGH,QAAO;EACL,MAAM,mBAAmB,KAAK,OAAO,KAAK,MAAM,KAAK,OAAO;EAC5D,OAAO,eAAe,cAAc,MAAM,OAAO,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,OAAO;EACzF,MAAM,MAAM,KAAK;EACjB,QAAQ,KAAK;EACd;;AAGH,SAAS,cAAc,QAA4B;AACjD,QAAO,OAAO,KAAK,UAAU,MAAM,MAAM,CAAC,KAAK,IAAI;;AAGrD,SAAS,iBAAiB,SAAiB,MAAc,SAAS,GAAU;AAC1E,QAAO,IAAI,gCAAgC,SAAS,MAAM,OAAO;;AAGnE,SAAS,eAAe,QAAgB,MAAc,QAAyB;AAC7E,KAAI;AACF,SAAO,KAAK,MAAM,OAAO;UAClB,OAAO;AACd,QAAM,IAAI,gCACR,uBAAuB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,IAC7E,MACA,OACD"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
let _aigne_afs = require("@aigne/afs");
|
|
2
|
+
|
|
3
|
+
//#region src/blocklet/activation.ts
|
|
4
|
+
/**
|
|
5
|
+
* AOS Blocklet activation — creates Runtime AFS and configures mounts + routes.
|
|
6
|
+
*
|
|
7
|
+
* Wraps core createBlockletAFS with AOS-level concerns:
|
|
8
|
+
* - Domain registration via ActivationHooks
|
|
9
|
+
* - Credential injection via ActivationHooks
|
|
10
|
+
* - Route loading from Runtime AFS
|
|
11
|
+
* - Clean deactivation with rollback
|
|
12
|
+
*/
|
|
13
|
+
function collectDomainBindTargets(info) {
|
|
14
|
+
const targets = [];
|
|
15
|
+
for (const site of info.manifest.sites ?? []) {
|
|
16
|
+
if (site.domain) targets.push({
|
|
17
|
+
kind: "domain",
|
|
18
|
+
value: site.domain
|
|
19
|
+
});
|
|
20
|
+
for (const alias of site.aliases ?? []) targets.push({
|
|
21
|
+
kind: "alias",
|
|
22
|
+
value: alias
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return targets;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Activate a blocklet: create Runtime AFS, seed data, register domains.
|
|
29
|
+
*
|
|
30
|
+
* Returns the activated state that can be passed to deactivateBlocklet() later.
|
|
31
|
+
*/
|
|
32
|
+
async function activateBlocklet(options) {
|
|
33
|
+
const { info, globalAFS, dataPath, hooks, createProvider } = options;
|
|
34
|
+
const { afs: runtimeAFS, ownedProviders } = await (0, _aigne_afs.createBlockletAFS)(info.mountPath, dataPath, globalAFS, {
|
|
35
|
+
manifest: info.manifest,
|
|
36
|
+
createProvider,
|
|
37
|
+
blockletDiskPath: info.diskPath
|
|
38
|
+
});
|
|
39
|
+
await (0, _aigne_afs.seedBlockletData)(runtimeAFS);
|
|
40
|
+
await (0, _aigne_afs.seedRoutes)(runtimeAFS);
|
|
41
|
+
await (0, _aigne_afs.seedMountFiles)(runtimeAFS, info.manifest);
|
|
42
|
+
const registeredDomains = [];
|
|
43
|
+
if (info.manifest.sites && hooks?.onDomainBind) {
|
|
44
|
+
const bindTargets = collectDomainBindTargets(info);
|
|
45
|
+
const bindResults = await Promise.all(bindTargets.map(async (target) => {
|
|
46
|
+
try {
|
|
47
|
+
await hooks.onDomainBind(info.id, target.value);
|
|
48
|
+
return {
|
|
49
|
+
ok: true,
|
|
50
|
+
target
|
|
51
|
+
};
|
|
52
|
+
} catch {
|
|
53
|
+
return {
|
|
54
|
+
ok: false,
|
|
55
|
+
target
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
const firstFailure = bindResults.find((result) => !result.ok);
|
|
60
|
+
if (firstFailure) {
|
|
61
|
+
for (const result of bindResults) {
|
|
62
|
+
if (!result.ok) continue;
|
|
63
|
+
try {
|
|
64
|
+
await hooks.onDomainUnbind?.(info.id, result.target.value);
|
|
65
|
+
} catch {}
|
|
66
|
+
}
|
|
67
|
+
throw new Error(`Failed to bind ${firstFailure.target.kind} "${firstFailure.target.value}" for blocklet "${info.id}"`);
|
|
68
|
+
}
|
|
69
|
+
registeredDomains.push(...bindResults.map((result) => result.target.value));
|
|
70
|
+
}
|
|
71
|
+
await globalAFS.mount(runtimeAFS, info.mountPath, { replace: true });
|
|
72
|
+
return {
|
|
73
|
+
info,
|
|
74
|
+
runtimeAFS,
|
|
75
|
+
ownedProviders,
|
|
76
|
+
domains: registeredDomains
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Deactivate a blocklet: unregister domains, close owned providers, unmount.
|
|
81
|
+
*/
|
|
82
|
+
async function deactivateBlocklet(activated, globalAFS, hooks) {
|
|
83
|
+
if (hooks?.onDomainUnbind) for (const domain of activated.domains) try {
|
|
84
|
+
await hooks.onDomainUnbind(activated.info.id, domain);
|
|
85
|
+
} catch {}
|
|
86
|
+
for (const provider of activated.ownedProviders) try {
|
|
87
|
+
await provider.close?.();
|
|
88
|
+
} catch {}
|
|
89
|
+
await globalAFS.unmount(activated.info.mountPath);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
//#endregion
|
|
93
|
+
exports.activateBlocklet = activateBlocklet;
|
|
94
|
+
exports.deactivateBlocklet = deactivateBlocklet;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ActivatedBlocklet, ActivationHooks, BlockletInfo } from "./types.cjs";
|
|
2
|
+
import * as _aigne_afs3 from "@aigne/afs";
|
|
3
|
+
import { AFS, AFSModule } from "@aigne/afs";
|
|
4
|
+
|
|
5
|
+
//#region src/blocklet/activation.d.ts
|
|
6
|
+
interface ActivateBlockletOptions {
|
|
7
|
+
/** The blocklet to activate */
|
|
8
|
+
info: BlockletInfo;
|
|
9
|
+
/** The global AFS instance */
|
|
10
|
+
globalAFS: AFS;
|
|
11
|
+
/** Data directory path for this blocklet (runtime-specific) */
|
|
12
|
+
dataPath: string;
|
|
13
|
+
/** Platform-specific hooks */
|
|
14
|
+
hooks?: ActivationHooks;
|
|
15
|
+
/** Provider factory for owned mounts */
|
|
16
|
+
createProvider?: (mount: _aigne_afs3.MountConfig) => Promise<AFSModule>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Activate a blocklet: create Runtime AFS, seed data, register domains.
|
|
20
|
+
*
|
|
21
|
+
* Returns the activated state that can be passed to deactivateBlocklet() later.
|
|
22
|
+
*/
|
|
23
|
+
declare function activateBlocklet(options: ActivateBlockletOptions): Promise<ActivatedBlocklet>;
|
|
24
|
+
/**
|
|
25
|
+
* Deactivate a blocklet: unregister domains, close owned providers, unmount.
|
|
26
|
+
*/
|
|
27
|
+
declare function deactivateBlocklet(activated: ActivatedBlocklet, globalAFS: AFS, hooks?: ActivationHooks): Promise<void>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { ActivateBlockletOptions, activateBlocklet, deactivateBlocklet };
|
|
30
|
+
//# sourceMappingURL=activation.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activation.d.cts","names":[],"sources":["../../src/blocklet/activation.ts"],"mappings":";;;;;UAwBiB,uBAAA;EAUuD;EARtE,IAAA,EAAM,YAAA;EAQ+D;EANrE,SAAA,EAAW,GAAA;EAFX;EAIA,QAAA;EAFA;EAIA,KAAA,GAAQ,eAAA;EAFR;EAIA,cAAA,IAAkB,KAAA,EAFK,WAAA,CAEuB,WAAA,KAAgB,OAAA,CAAQ,SAAA;AAAA;;;;;;iBAwBlD,gBAAA,CACpB,OAAA,EAAS,uBAAA,GACR,OAAA,CAAQ,iBAAA;;AAFX;;iBAyEsB,kBAAA,CACpB,SAAA,EAAW,iBAAA,EACX,SAAA,EAAW,GAAA,EACX,KAAA,GAAQ,eAAA,GACP,OAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ActivatedBlocklet, ActivationHooks, BlockletInfo } from "./types.mjs";
|
|
2
|
+
import * as _aigne_afs3 from "@aigne/afs";
|
|
3
|
+
import { AFS, AFSModule } from "@aigne/afs";
|
|
4
|
+
|
|
5
|
+
//#region src/blocklet/activation.d.ts
|
|
6
|
+
interface ActivateBlockletOptions {
|
|
7
|
+
/** The blocklet to activate */
|
|
8
|
+
info: BlockletInfo;
|
|
9
|
+
/** The global AFS instance */
|
|
10
|
+
globalAFS: AFS;
|
|
11
|
+
/** Data directory path for this blocklet (runtime-specific) */
|
|
12
|
+
dataPath: string;
|
|
13
|
+
/** Platform-specific hooks */
|
|
14
|
+
hooks?: ActivationHooks;
|
|
15
|
+
/** Provider factory for owned mounts */
|
|
16
|
+
createProvider?: (mount: _aigne_afs3.MountConfig) => Promise<AFSModule>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Activate a blocklet: create Runtime AFS, seed data, register domains.
|
|
20
|
+
*
|
|
21
|
+
* Returns the activated state that can be passed to deactivateBlocklet() later.
|
|
22
|
+
*/
|
|
23
|
+
declare function activateBlocklet(options: ActivateBlockletOptions): Promise<ActivatedBlocklet>;
|
|
24
|
+
/**
|
|
25
|
+
* Deactivate a blocklet: unregister domains, close owned providers, unmount.
|
|
26
|
+
*/
|
|
27
|
+
declare function deactivateBlocklet(activated: ActivatedBlocklet, globalAFS: AFS, hooks?: ActivationHooks): Promise<void>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { ActivateBlockletOptions, activateBlocklet, deactivateBlocklet };
|
|
30
|
+
//# sourceMappingURL=activation.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activation.d.mts","names":[],"sources":["../../src/blocklet/activation.ts"],"mappings":";;;;;UAwBiB,uBAAA;EAUuD;EARtE,IAAA,EAAM,YAAA;EAQ+D;EANrE,SAAA,EAAW,GAAA;EAFX;EAIA,QAAA;EAFA;EAIA,KAAA,GAAQ,eAAA;EAFR;EAIA,cAAA,IAAkB,KAAA,EAFK,WAAA,CAEuB,WAAA,KAAgB,OAAA,CAAQ,SAAA;AAAA;;;;;;iBAwBlD,gBAAA,CACpB,OAAA,EAAS,uBAAA,GACR,OAAA,CAAQ,iBAAA;;AAFX;;iBAyEsB,kBAAA,CACpB,SAAA,EAAW,iBAAA,EACX,SAAA,EAAW,GAAA,EACX,KAAA,GAAQ,eAAA,GACP,OAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { createBlockletAFS, seedBlockletData, seedMountFiles, seedRoutes } from "@aigne/afs";
|
|
2
|
+
|
|
3
|
+
//#region src/blocklet/activation.ts
|
|
4
|
+
/**
|
|
5
|
+
* AOS Blocklet activation — creates Runtime AFS and configures mounts + routes.
|
|
6
|
+
*
|
|
7
|
+
* Wraps core createBlockletAFS with AOS-level concerns:
|
|
8
|
+
* - Domain registration via ActivationHooks
|
|
9
|
+
* - Credential injection via ActivationHooks
|
|
10
|
+
* - Route loading from Runtime AFS
|
|
11
|
+
* - Clean deactivation with rollback
|
|
12
|
+
*/
|
|
13
|
+
function collectDomainBindTargets(info) {
|
|
14
|
+
const targets = [];
|
|
15
|
+
for (const site of info.manifest.sites ?? []) {
|
|
16
|
+
if (site.domain) targets.push({
|
|
17
|
+
kind: "domain",
|
|
18
|
+
value: site.domain
|
|
19
|
+
});
|
|
20
|
+
for (const alias of site.aliases ?? []) targets.push({
|
|
21
|
+
kind: "alias",
|
|
22
|
+
value: alias
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return targets;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Activate a blocklet: create Runtime AFS, seed data, register domains.
|
|
29
|
+
*
|
|
30
|
+
* Returns the activated state that can be passed to deactivateBlocklet() later.
|
|
31
|
+
*/
|
|
32
|
+
async function activateBlocklet(options) {
|
|
33
|
+
const { info, globalAFS, dataPath, hooks, createProvider } = options;
|
|
34
|
+
const { afs: runtimeAFS, ownedProviders } = await createBlockletAFS(info.mountPath, dataPath, globalAFS, {
|
|
35
|
+
manifest: info.manifest,
|
|
36
|
+
createProvider,
|
|
37
|
+
blockletDiskPath: info.diskPath
|
|
38
|
+
});
|
|
39
|
+
await seedBlockletData(runtimeAFS);
|
|
40
|
+
await seedRoutes(runtimeAFS);
|
|
41
|
+
await seedMountFiles(runtimeAFS, info.manifest);
|
|
42
|
+
const registeredDomains = [];
|
|
43
|
+
if (info.manifest.sites && hooks?.onDomainBind) {
|
|
44
|
+
const bindTargets = collectDomainBindTargets(info);
|
|
45
|
+
const bindResults = await Promise.all(bindTargets.map(async (target) => {
|
|
46
|
+
try {
|
|
47
|
+
await hooks.onDomainBind(info.id, target.value);
|
|
48
|
+
return {
|
|
49
|
+
ok: true,
|
|
50
|
+
target
|
|
51
|
+
};
|
|
52
|
+
} catch {
|
|
53
|
+
return {
|
|
54
|
+
ok: false,
|
|
55
|
+
target
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
const firstFailure = bindResults.find((result) => !result.ok);
|
|
60
|
+
if (firstFailure) {
|
|
61
|
+
for (const result of bindResults) {
|
|
62
|
+
if (!result.ok) continue;
|
|
63
|
+
try {
|
|
64
|
+
await hooks.onDomainUnbind?.(info.id, result.target.value);
|
|
65
|
+
} catch {}
|
|
66
|
+
}
|
|
67
|
+
throw new Error(`Failed to bind ${firstFailure.target.kind} "${firstFailure.target.value}" for blocklet "${info.id}"`);
|
|
68
|
+
}
|
|
69
|
+
registeredDomains.push(...bindResults.map((result) => result.target.value));
|
|
70
|
+
}
|
|
71
|
+
await globalAFS.mount(runtimeAFS, info.mountPath, { replace: true });
|
|
72
|
+
return {
|
|
73
|
+
info,
|
|
74
|
+
runtimeAFS,
|
|
75
|
+
ownedProviders,
|
|
76
|
+
domains: registeredDomains
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Deactivate a blocklet: unregister domains, close owned providers, unmount.
|
|
81
|
+
*/
|
|
82
|
+
async function deactivateBlocklet(activated, globalAFS, hooks) {
|
|
83
|
+
if (hooks?.onDomainUnbind) for (const domain of activated.domains) try {
|
|
84
|
+
await hooks.onDomainUnbind(activated.info.id, domain);
|
|
85
|
+
} catch {}
|
|
86
|
+
for (const provider of activated.ownedProviders) try {
|
|
87
|
+
await provider.close?.();
|
|
88
|
+
} catch {}
|
|
89
|
+
await globalAFS.unmount(activated.info.mountPath);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
//#endregion
|
|
93
|
+
export { activateBlocklet, deactivateBlocklet };
|
|
94
|
+
//# sourceMappingURL=activation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activation.mjs","names":[],"sources":["../../src/blocklet/activation.ts"],"sourcesContent":["/**\n * AOS Blocklet activation — creates Runtime AFS and configures mounts + routes.\n *\n * Wraps core createBlockletAFS with AOS-level concerns:\n * - Domain registration via ActivationHooks\n * - Credential injection via ActivationHooks\n * - Route loading from Runtime AFS\n * - Clean deactivation with rollback\n */\n\nimport {\n type AFS,\n type AFSModule,\n createBlockletAFS,\n seedBlockletData,\n seedMountFiles,\n seedRoutes,\n} from \"@aigne/afs\";\nimport type { ActivatedBlocklet, ActivationHooks, BlockletInfo } from \"./types.js\";\n\n// ---------------------------------------------------------------------------\n// Activation\n// ---------------------------------------------------------------------------\n\nexport interface ActivateBlockletOptions {\n /** The blocklet to activate */\n info: BlockletInfo;\n /** The global AFS instance */\n globalAFS: AFS;\n /** Data directory path for this blocklet (runtime-specific) */\n dataPath: string;\n /** Platform-specific hooks */\n hooks?: ActivationHooks;\n /** Provider factory for owned mounts */\n createProvider?: (mount: import(\"@aigne/afs\").MountConfig) => Promise<AFSModule>;\n}\n\ninterface DomainBindTarget {\n kind: \"domain\" | \"alias\";\n value: string;\n}\n\nfunction collectDomainBindTargets(info: BlockletInfo): DomainBindTarget[] {\n const targets: DomainBindTarget[] = [];\n for (const site of info.manifest.sites ?? []) {\n if (site.domain) targets.push({ kind: \"domain\", value: site.domain });\n for (const alias of site.aliases ?? []) {\n targets.push({ kind: \"alias\", value: alias });\n }\n }\n return targets;\n}\n\n/**\n * Activate a blocklet: create Runtime AFS, seed data, register domains.\n *\n * Returns the activated state that can be passed to deactivateBlocklet() later.\n */\nexport async function activateBlocklet(\n options: ActivateBlockletOptions,\n): Promise<ActivatedBlocklet> {\n const { info, globalAFS, dataPath, hooks, createProvider } = options;\n\n // 1. Create Runtime AFS via core factory\n const { afs: runtimeAFS, ownedProviders } = await createBlockletAFS(\n info.mountPath,\n dataPath,\n globalAFS,\n {\n manifest: info.manifest,\n createProvider,\n blockletDiskPath: info.diskPath,\n },\n );\n\n // 2. Seed data + routes + mount files\n await seedBlockletData(runtimeAFS);\n await seedRoutes(runtimeAFS);\n await seedMountFiles(runtimeAFS, info.manifest);\n\n // 3. Register domains from manifest.sites\n const registeredDomains: string[] = [];\n if (info.manifest.sites && hooks?.onDomainBind) {\n const bindTargets = collectDomainBindTargets(info);\n const bindResults = await Promise.all(\n bindTargets.map(async (target) => {\n try {\n await hooks.onDomainBind!(info.id, target.value);\n return { ok: true as const, target };\n } catch {\n return { ok: false as const, target };\n }\n }),\n );\n\n const firstFailure = bindResults.find((result) => !result.ok);\n if (firstFailure) {\n for (const result of bindResults) {\n if (!result.ok) continue;\n try {\n await hooks.onDomainUnbind?.(info.id, result.target.value);\n } catch {\n /* best effort */\n }\n }\n throw new Error(\n `Failed to bind ${firstFailure.target.kind} \"${firstFailure.target.value}\" for blocklet \"${info.id}\"`,\n );\n }\n\n registeredDomains.push(...bindResults.map((result) => result.target.value));\n }\n\n // 4. Replace mount in global AFS with Runtime AFS\n await globalAFS.mount(runtimeAFS, info.mountPath, { replace: true });\n\n return {\n info,\n runtimeAFS,\n ownedProviders,\n domains: registeredDomains,\n };\n}\n\n// ---------------------------------------------------------------------------\n// Deactivation\n// ---------------------------------------------------------------------------\n\n/**\n * Deactivate a blocklet: unregister domains, close owned providers, unmount.\n */\nexport async function deactivateBlocklet(\n activated: ActivatedBlocklet,\n globalAFS: AFS,\n hooks?: ActivationHooks,\n): Promise<void> {\n // 1. Unregister domains\n if (hooks?.onDomainUnbind) {\n for (const domain of activated.domains) {\n try {\n await hooks.onDomainUnbind(activated.info.id, domain);\n } catch {\n /* best effort */\n }\n }\n }\n\n // 2. Close owned providers\n for (const provider of activated.ownedProviders) {\n try {\n await provider.close?.();\n } catch {\n /* best effort */\n }\n }\n\n // 3. Unmount from global AFS\n await globalAFS.unmount(activated.info.mountPath);\n}\n"],"mappings":";;;;;;;;;;;;AA0CA,SAAS,yBAAyB,MAAwC;CACxE,MAAM,UAA8B,EAAE;AACtC,MAAK,MAAM,QAAQ,KAAK,SAAS,SAAS,EAAE,EAAE;AAC5C,MAAI,KAAK,OAAQ,SAAQ,KAAK;GAAE,MAAM;GAAU,OAAO,KAAK;GAAQ,CAAC;AACrE,OAAK,MAAM,SAAS,KAAK,WAAW,EAAE,CACpC,SAAQ,KAAK;GAAE,MAAM;GAAS,OAAO;GAAO,CAAC;;AAGjD,QAAO;;;;;;;AAQT,eAAsB,iBACpB,SAC4B;CAC5B,MAAM,EAAE,MAAM,WAAW,UAAU,OAAO,mBAAmB;CAG7D,MAAM,EAAE,KAAK,YAAY,mBAAmB,MAAM,kBAChD,KAAK,WACL,UACA,WACA;EACE,UAAU,KAAK;EACf;EACA,kBAAkB,KAAK;EACxB,CACF;AAGD,OAAM,iBAAiB,WAAW;AAClC,OAAM,WAAW,WAAW;AAC5B,OAAM,eAAe,YAAY,KAAK,SAAS;CAG/C,MAAM,oBAA8B,EAAE;AACtC,KAAI,KAAK,SAAS,SAAS,OAAO,cAAc;EAC9C,MAAM,cAAc,yBAAyB,KAAK;EAClD,MAAM,cAAc,MAAM,QAAQ,IAChC,YAAY,IAAI,OAAO,WAAW;AAChC,OAAI;AACF,UAAM,MAAM,aAAc,KAAK,IAAI,OAAO,MAAM;AAChD,WAAO;KAAE,IAAI;KAAe;KAAQ;WAC9B;AACN,WAAO;KAAE,IAAI;KAAgB;KAAQ;;IAEvC,CACH;EAED,MAAM,eAAe,YAAY,MAAM,WAAW,CAAC,OAAO,GAAG;AAC7D,MAAI,cAAc;AAChB,QAAK,MAAM,UAAU,aAAa;AAChC,QAAI,CAAC,OAAO,GAAI;AAChB,QAAI;AACF,WAAM,MAAM,iBAAiB,KAAK,IAAI,OAAO,OAAO,MAAM;YACpD;;AAIV,SAAM,IAAI,MACR,kBAAkB,aAAa,OAAO,KAAK,IAAI,aAAa,OAAO,MAAM,kBAAkB,KAAK,GAAG,GACpG;;AAGH,oBAAkB,KAAK,GAAG,YAAY,KAAK,WAAW,OAAO,OAAO,MAAM,CAAC;;AAI7E,OAAM,UAAU,MAAM,YAAY,KAAK,WAAW,EAAE,SAAS,MAAM,CAAC;AAEpE,QAAO;EACL;EACA;EACA;EACA,SAAS;EACV;;;;;AAUH,eAAsB,mBACpB,WACA,WACA,OACe;AAEf,KAAI,OAAO,eACT,MAAK,MAAM,UAAU,UAAU,QAC7B,KAAI;AACF,QAAM,MAAM,eAAe,UAAU,KAAK,IAAI,OAAO;SAC/C;AAOZ,MAAK,MAAM,YAAY,UAAU,eAC/B,KAAI;AACF,QAAM,SAAS,SAAS;SAClB;AAMV,OAAM,UAAU,QAAQ,UAAU,KAAK,UAAU"}
|