@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,195 @@
|
|
|
1
|
+
import { compileManifestDsl } from "./manifest-dsl.mjs";
|
|
2
|
+
import { compileModuleDsl } from "./module-dsl.mjs";
|
|
3
|
+
import { compileShellDsl } from "./shell-dsl.mjs";
|
|
4
|
+
import { compileSurfaceDsl } from "./surface-dsl.mjs";
|
|
5
|
+
import { compileWorkspaceDsl } from "./workspace-dsl.mjs";
|
|
6
|
+
import { joinURL } from "ufo";
|
|
7
|
+
|
|
8
|
+
//#region src/scaffold/afs.ts
|
|
9
|
+
const DEFAULT_SCAFFOLD_ROOT = "/.scaffold";
|
|
10
|
+
async function loadScaffoldDefinition(reader, options = {}) {
|
|
11
|
+
const root = options.root ?? DEFAULT_SCAFFOLD_ROOT;
|
|
12
|
+
const manifest = await loadManifestDslDefinition(reader, root) ?? await readOptionalJSON(reader, joinURL(root, "manifest.json")) ?? { title: "App" };
|
|
13
|
+
const shellDsl = await loadShellDslDefinition(reader, root);
|
|
14
|
+
const shell = {
|
|
15
|
+
menu: shellDsl?.menu ?? normalizeMenu(await readOptionalJSON(reader, joinURL(root, "shell/menu.json"))),
|
|
16
|
+
header: shellDsl?.header ?? await readOptionalJSON(reader, joinURL(root, "shell/header.json")),
|
|
17
|
+
footer: shellDsl?.footer ?? await readOptionalJSON(reader, joinURL(root, "shell/footer.json")),
|
|
18
|
+
workspace: await loadWorkspaceDefinition(reader, root)
|
|
19
|
+
};
|
|
20
|
+
const modules = await loadModuleRecords(reader, joinURL(root, "modules"));
|
|
21
|
+
const surfaces = await loadSurfaceRecords(reader, joinURL(root, "surfaces"));
|
|
22
|
+
return {
|
|
23
|
+
manifest,
|
|
24
|
+
shell: normalizeShell(shell),
|
|
25
|
+
modules: sortByOrderThenTitle(modules),
|
|
26
|
+
surfaces: sortByOrderThenTitle(surfaces)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
async function loadManifestDslDefinition(reader, root) {
|
|
30
|
+
const dsl = await readOptionalText(reader, joinURL(root, "manifest.dsl"));
|
|
31
|
+
if (dsl !== void 0) return compileManifestDsl(dsl);
|
|
32
|
+
}
|
|
33
|
+
async function loadShellDslDefinition(reader, root) {
|
|
34
|
+
const dsl = await readOptionalText(reader, joinURL(root, "shell/shell.dsl"));
|
|
35
|
+
if (dsl !== void 0) return compileShellDsl(dsl);
|
|
36
|
+
}
|
|
37
|
+
async function loadWorkspaceDefinition(reader, root) {
|
|
38
|
+
const dsl = await readOptionalText(reader, joinURL(root, "shell/workspace.dsl"));
|
|
39
|
+
if (dsl !== void 0) return compileWorkspaceDsl(dsl);
|
|
40
|
+
return await readOptionalJSON(reader, joinURL(root, "shell/workspace.json"));
|
|
41
|
+
}
|
|
42
|
+
async function loadModuleRecords(reader, root) {
|
|
43
|
+
if (!await hasDirectory(reader, root)) return [];
|
|
44
|
+
const entries = await listVisible(reader, root);
|
|
45
|
+
const records = [];
|
|
46
|
+
const dslIds = /* @__PURE__ */ new Set();
|
|
47
|
+
for (const entry of entries) {
|
|
48
|
+
const path = entryPath(root, entry);
|
|
49
|
+
if (isDirectoryEntry(entry)) {
|
|
50
|
+
const dsl = await readOptionalText(reader, joinURL(path, "module.dsl"));
|
|
51
|
+
if (dsl !== void 0) {
|
|
52
|
+
const record = compileModuleDsl(dsl);
|
|
53
|
+
records.push(record);
|
|
54
|
+
dslIds.add(record.id);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const nested = await readOptionalJSON(reader, joinURL(path, "module.json"));
|
|
58
|
+
if (nested) records.push(nested);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (entry.id.endsWith(".module.dsl")) {
|
|
62
|
+
const record = compileModuleDsl(await readOptionalText(reader, path) ?? "");
|
|
63
|
+
records.push(record);
|
|
64
|
+
dslIds.add(record.id);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
for (const entry of entries) {
|
|
68
|
+
if (isDirectoryEntry(entry) || !entry.id.endsWith(".module.json")) continue;
|
|
69
|
+
const parsed = await readJSON(reader, entryPath(root, entry));
|
|
70
|
+
if (dslIds.has(parsed.id)) continue;
|
|
71
|
+
records.push(parsed);
|
|
72
|
+
}
|
|
73
|
+
return records;
|
|
74
|
+
}
|
|
75
|
+
async function loadSurfaceRecords(reader, root) {
|
|
76
|
+
if (!await hasDirectory(reader, root)) return [];
|
|
77
|
+
const entries = await listVisible(reader, root);
|
|
78
|
+
const records = [];
|
|
79
|
+
const dslIds = /* @__PURE__ */ new Set();
|
|
80
|
+
for (const entry of entries) {
|
|
81
|
+
const path = entryPath(root, entry);
|
|
82
|
+
if (isDirectoryEntry(entry)) {
|
|
83
|
+
const dsl = await readOptionalText(reader, joinURL(path, "surface.dsl"));
|
|
84
|
+
if (dsl !== void 0) {
|
|
85
|
+
const record = compileSurfaceDsl(dsl);
|
|
86
|
+
records.push(record);
|
|
87
|
+
dslIds.add(record.id);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const nested = await readOptionalJSON(reader, joinURL(path, "surface.json"));
|
|
91
|
+
if (nested) records.push(nested);
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (entry.id.endsWith(".surface.dsl")) {
|
|
95
|
+
const record = compileSurfaceDsl(await readOptionalText(reader, path) ?? "");
|
|
96
|
+
records.push(record);
|
|
97
|
+
dslIds.add(record.id);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
for (const entry of entries) {
|
|
101
|
+
if (isDirectoryEntry(entry) || !entry.id.endsWith(".surface.json")) continue;
|
|
102
|
+
const parsed = await readJSON(reader, entryPath(root, entry));
|
|
103
|
+
if (dslIds.has(parsed.id)) continue;
|
|
104
|
+
records.push(parsed);
|
|
105
|
+
}
|
|
106
|
+
return records;
|
|
107
|
+
}
|
|
108
|
+
function normalizeShell(shell) {
|
|
109
|
+
return {
|
|
110
|
+
...shell,
|
|
111
|
+
menu: normalizeMenu(shell.menu),
|
|
112
|
+
header: shell.header ? {
|
|
113
|
+
...shell.header,
|
|
114
|
+
actions: sortByOrderThenTitle(shell.header.actions ?? [])
|
|
115
|
+
} : void 0,
|
|
116
|
+
footer: shell.footer ? {
|
|
117
|
+
...shell.footer,
|
|
118
|
+
links: sortByOrderThenTitle(shell.footer.links ?? [])
|
|
119
|
+
} : void 0,
|
|
120
|
+
workspace: shell.workspace ? normalizeWorkspace(shell.workspace) : void 0
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function normalizeWorkspace(workspace) {
|
|
124
|
+
return {
|
|
125
|
+
...workspace,
|
|
126
|
+
sections: sortByOrderThenTitle(workspace.sections ?? []).map((section) => ({
|
|
127
|
+
...section,
|
|
128
|
+
roots: sortByOrderThenTitle(section.roots ?? [])
|
|
129
|
+
}))
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function normalizeMenu(menu) {
|
|
133
|
+
if (!menu) return void 0;
|
|
134
|
+
return { groups: sortByOrderThenTitle(Array.isArray(menu) ? menu : menu.groups).map((group) => ({
|
|
135
|
+
...group,
|
|
136
|
+
items: normalizeMenuItems(group.items ?? [])
|
|
137
|
+
})) };
|
|
138
|
+
}
|
|
139
|
+
function normalizeMenuItems(items) {
|
|
140
|
+
return sortByOrderThenTitle(items).map((item) => ({
|
|
141
|
+
...item,
|
|
142
|
+
children: item.children ? normalizeMenuItems(item.children) : void 0
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
function sortByOrderThenTitle(items) {
|
|
146
|
+
return [...items].sort((left, right) => normalizeOrder(left.order) - normalizeOrder(right.order) || (left.title ?? left.id ?? "").localeCompare(right.title ?? right.id ?? ""));
|
|
147
|
+
}
|
|
148
|
+
function normalizeOrder(order) {
|
|
149
|
+
return order ?? Number.MAX_SAFE_INTEGER;
|
|
150
|
+
}
|
|
151
|
+
async function hasDirectory(reader, path) {
|
|
152
|
+
try {
|
|
153
|
+
const result = await reader.list(path);
|
|
154
|
+
return Array.isArray(result.data);
|
|
155
|
+
} catch {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async function listVisible(reader, path) {
|
|
160
|
+
return ((await reader.list(path)).data ?? []).filter((entry) => entry?.id && !entry.id.startsWith("."));
|
|
161
|
+
}
|
|
162
|
+
async function readOptionalJSON(reader, path) {
|
|
163
|
+
try {
|
|
164
|
+
return await readJSON(reader, path);
|
|
165
|
+
} catch {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
async function readOptionalText(reader, path) {
|
|
170
|
+
try {
|
|
171
|
+
const data = (await reader.read(path)).data;
|
|
172
|
+
const content = data && typeof data === "object" && "content" in data ? data.content : data;
|
|
173
|
+
return typeof content === "string" ? content : void 0;
|
|
174
|
+
} catch {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
async function readJSON(reader, path) {
|
|
179
|
+
const data = (await reader.read(path)).data;
|
|
180
|
+
const content = data && typeof data === "object" && "content" in data ? data.content : data;
|
|
181
|
+
if (typeof content === "string") return JSON.parse(content);
|
|
182
|
+
if (content && typeof content === "object") return content;
|
|
183
|
+
throw new Error(`Expected JSON object in "${path}"`);
|
|
184
|
+
}
|
|
185
|
+
function isDirectoryEntry(entry) {
|
|
186
|
+
const meta = entry.meta ?? {};
|
|
187
|
+
return meta.kind === "fs:directory" || meta.kind === "directory" || Array.isArray(meta.kinds) && meta.kinds.includes("fs:directory") || typeof meta.childrenCount === "number";
|
|
188
|
+
}
|
|
189
|
+
function entryPath(parentPath, entry) {
|
|
190
|
+
return entry.path || joinURL(parentPath, entry.id);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
//#endregion
|
|
194
|
+
export { DEFAULT_SCAFFOLD_ROOT, loadScaffoldDefinition };
|
|
195
|
+
//# sourceMappingURL=afs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"afs.mjs","names":[],"sources":["../../src/scaffold/afs.ts"],"sourcesContent":["import type { AFSEntry, AFSListResult, AFSReadResult } from \"@aigne/afs\";\nimport { joinURL } from \"ufo\";\nimport { compileManifestDsl } from \"./manifest-dsl.js\";\nimport { compileModuleDsl } from \"./module-dsl.js\";\nimport { compileShellDsl } from \"./shell-dsl.js\";\nimport { compileSurfaceDsl } from \"./surface-dsl.js\";\nimport type {\n ScaffoldDefinition,\n ScaffoldFooterDefinition,\n ScaffoldHeaderDefinition,\n ScaffoldManifest,\n ScaffoldMenuDefinition,\n ScaffoldMenuItem,\n ScaffoldModuleDefinition,\n ScaffoldShellDefinition,\n ScaffoldSurfaceDefinition,\n ScaffoldWorkspaceDefinition,\n} from \"./types.js\";\nimport { compileWorkspaceDsl } from \"./workspace-dsl.js\";\n\nexport const DEFAULT_SCAFFOLD_ROOT = \"/.scaffold\";\n\nexport interface ScaffoldAfsReader {\n list(path: string): Promise<AFSListResult>;\n read(path: string): Promise<AFSReadResult>;\n}\n\nexport interface LoadScaffoldDefinitionOptions {\n root?: string;\n}\n\nexport async function loadScaffoldDefinition(\n reader: ScaffoldAfsReader,\n options: LoadScaffoldDefinitionOptions = {},\n): Promise<ScaffoldDefinition> {\n const root = options.root ?? DEFAULT_SCAFFOLD_ROOT;\n const manifest = (await loadManifestDslDefinition(reader, root)) ??\n ((await readOptionalJSON(reader, joinURL(root, \"manifest.json\"))) as\n | ScaffoldManifest\n | undefined) ?? { title: \"App\" };\n const shellDsl = await loadShellDslDefinition(reader, root);\n const shell: ScaffoldShellDefinition = {\n menu:\n shellDsl?.menu ??\n normalizeMenu(\n (await readOptionalJSON(reader, joinURL(root, \"shell/menu.json\"))) as\n | ScaffoldMenuDefinition\n | ScaffoldMenuDefinition[\"groups\"]\n | undefined,\n ),\n header:\n shellDsl?.header ??\n ((await readOptionalJSON(reader, joinURL(root, \"shell/header.json\"))) as\n | ScaffoldHeaderDefinition\n | undefined),\n footer:\n shellDsl?.footer ??\n ((await readOptionalJSON(reader, joinURL(root, \"shell/footer.json\"))) as\n | ScaffoldFooterDefinition\n | undefined),\n workspace: await loadWorkspaceDefinition(reader, root),\n };\n\n const modules = await loadModuleRecords(reader, joinURL(root, \"modules\"));\n const surfaces = await loadSurfaceRecords(reader, joinURL(root, \"surfaces\"));\n\n return {\n manifest,\n shell: normalizeShell(shell),\n modules: sortByOrderThenTitle(modules),\n surfaces: sortByOrderThenTitle(surfaces),\n };\n}\n\nasync function loadManifestDslDefinition(\n reader: ScaffoldAfsReader,\n root: string,\n): Promise<ScaffoldManifest | undefined> {\n const dsl = await readOptionalText(reader, joinURL(root, \"manifest.dsl\"));\n if (dsl !== undefined) return compileManifestDsl(dsl);\n return undefined;\n}\n\nasync function loadShellDslDefinition(\n reader: ScaffoldAfsReader,\n root: string,\n): Promise<ScaffoldShellDefinition | undefined> {\n const dsl = await readOptionalText(reader, joinURL(root, \"shell/shell.dsl\"));\n if (dsl !== undefined) return compileShellDsl(dsl);\n return undefined;\n}\n\nasync function loadWorkspaceDefinition(\n reader: ScaffoldAfsReader,\n root: string,\n): Promise<ScaffoldWorkspaceDefinition | undefined> {\n const dsl = await readOptionalText(reader, joinURL(root, \"shell/workspace.dsl\"));\n if (dsl !== undefined) return compileWorkspaceDsl(dsl);\n return (await readOptionalJSON(reader, joinURL(root, \"shell/workspace.json\"))) as\n | ScaffoldWorkspaceDefinition\n | undefined;\n}\n\nasync function loadModuleRecords(\n reader: ScaffoldAfsReader,\n root: string,\n): Promise<ScaffoldModuleDefinition[]> {\n if (!(await hasDirectory(reader, root))) return [];\n const entries = await listVisible(reader, root);\n const records: ScaffoldModuleDefinition[] = [];\n const dslIds = new Set<string>();\n\n for (const entry of entries) {\n const path = entryPath(root, entry);\n if (isDirectoryEntry(entry)) {\n const dsl = await readOptionalText(reader, joinURL(path, \"module.dsl\"));\n if (dsl !== undefined) {\n const record = compileModuleDsl(dsl);\n records.push(record);\n dslIds.add(record.id);\n continue;\n }\n const nested = await readOptionalJSON(reader, joinURL(path, \"module.json\"));\n if (nested) records.push(nested as ScaffoldModuleDefinition);\n continue;\n }\n if (entry.id.endsWith(\".module.dsl\")) {\n const record = compileModuleDsl((await readOptionalText(reader, path)) ?? \"\");\n records.push(record);\n dslIds.add(record.id);\n }\n }\n\n for (const entry of entries) {\n if (isDirectoryEntry(entry) || !entry.id.endsWith(\".module.json\")) continue;\n const parsed = (await readJSON(reader, entryPath(root, entry))) as ScaffoldModuleDefinition;\n if (dslIds.has(parsed.id)) continue;\n records.push(parsed);\n }\n\n return records;\n}\n\nasync function loadSurfaceRecords(\n reader: ScaffoldAfsReader,\n root: string,\n): Promise<ScaffoldSurfaceDefinition[]> {\n if (!(await hasDirectory(reader, root))) return [];\n const entries = await listVisible(reader, root);\n const records: ScaffoldSurfaceDefinition[] = [];\n const dslIds = new Set<string>();\n\n for (const entry of entries) {\n const path = entryPath(root, entry);\n if (isDirectoryEntry(entry)) {\n const dsl = await readOptionalText(reader, joinURL(path, \"surface.dsl\"));\n if (dsl !== undefined) {\n const record = compileSurfaceDsl(dsl);\n records.push(record);\n dslIds.add(record.id);\n continue;\n }\n const nested = await readOptionalJSON(reader, joinURL(path, \"surface.json\"));\n if (nested) records.push(nested as ScaffoldSurfaceDefinition);\n continue;\n }\n if (entry.id.endsWith(\".surface.dsl\")) {\n const record = compileSurfaceDsl((await readOptionalText(reader, path)) ?? \"\");\n records.push(record);\n dslIds.add(record.id);\n }\n }\n\n for (const entry of entries) {\n if (isDirectoryEntry(entry) || !entry.id.endsWith(\".surface.json\")) continue;\n const parsed = (await readJSON(reader, entryPath(root, entry))) as ScaffoldSurfaceDefinition;\n if (dslIds.has(parsed.id)) continue;\n records.push(parsed);\n }\n\n return records;\n}\n\nfunction normalizeShell(shell: ScaffoldShellDefinition): ScaffoldShellDefinition {\n return {\n ...shell,\n menu: normalizeMenu(shell.menu),\n header: shell.header\n ? {\n ...shell.header,\n actions: sortByOrderThenTitle(shell.header.actions ?? []),\n }\n : undefined,\n footer: shell.footer\n ? {\n ...shell.footer,\n links: sortByOrderThenTitle(shell.footer.links ?? []),\n }\n : undefined,\n workspace: shell.workspace ? normalizeWorkspace(shell.workspace) : undefined,\n };\n}\n\nfunction normalizeWorkspace(workspace: ScaffoldWorkspaceDefinition): ScaffoldWorkspaceDefinition {\n return {\n ...workspace,\n sections: sortByOrderThenTitle(workspace.sections ?? []).map((section) => ({\n ...section,\n roots: sortByOrderThenTitle(section.roots ?? []),\n })),\n };\n}\n\nfunction normalizeMenu(\n menu: ScaffoldMenuDefinition | ScaffoldMenuDefinition[\"groups\"] | undefined,\n): ScaffoldMenuDefinition | undefined {\n if (!menu) return undefined;\n const groups = Array.isArray(menu) ? menu : menu.groups;\n return {\n groups: sortByOrderThenTitle(groups).map((group) => ({\n ...group,\n items: normalizeMenuItems(group.items ?? []),\n })),\n };\n}\n\nfunction normalizeMenuItems(items: ScaffoldMenuItem[]): ScaffoldMenuItem[] {\n return sortByOrderThenTitle(items).map((item) => ({\n ...item,\n children: item.children ? normalizeMenuItems(item.children) : undefined,\n }));\n}\n\nfunction sortByOrderThenTitle<T extends { order?: number; title?: string; id?: string }>(\n items: T[],\n): T[] {\n return [...items].sort(\n (left, right) =>\n normalizeOrder(left.order) - normalizeOrder(right.order) ||\n (left.title ?? left.id ?? \"\").localeCompare(right.title ?? right.id ?? \"\"),\n );\n}\n\nfunction normalizeOrder(order: number | undefined): number {\n return order ?? Number.MAX_SAFE_INTEGER;\n}\n\nasync function hasDirectory(reader: ScaffoldAfsReader, path: string): Promise<boolean> {\n try {\n const result = await reader.list(path);\n return Array.isArray(result.data);\n } catch {\n return false;\n }\n}\n\nasync function listVisible(reader: ScaffoldAfsReader, path: string): Promise<AFSEntry[]> {\n const result = await reader.list(path);\n return (result.data ?? []).filter((entry) => entry?.id && !entry.id.startsWith(\".\"));\n}\n\nasync function readOptionalJSON(reader: ScaffoldAfsReader, path: string): Promise<unknown> {\n try {\n return await readJSON(reader, path);\n } catch {\n return undefined;\n }\n}\n\nasync function readOptionalText(\n reader: ScaffoldAfsReader,\n path: string,\n): Promise<string | undefined> {\n try {\n const result = await reader.read(path);\n const data = result.data;\n const content =\n data && typeof data === \"object\" && \"content\" in data\n ? (data as { content?: unknown }).content\n : data;\n return typeof content === \"string\" ? content : undefined;\n } catch {\n return undefined;\n }\n}\n\nasync function readJSON(reader: ScaffoldAfsReader, path: string): Promise<unknown> {\n const result = await reader.read(path);\n const data = result.data;\n const content =\n data && typeof data === \"object\" && \"content\" in data\n ? (data as { content?: unknown }).content\n : data;\n if (typeof content === \"string\") return JSON.parse(content);\n if (content && typeof content === \"object\") return content;\n throw new Error(`Expected JSON object in \"${path}\"`);\n}\n\nfunction isDirectoryEntry(entry: AFSEntry): boolean {\n const meta = entry.meta ?? {};\n return (\n meta.kind === \"fs:directory\" ||\n meta.kind === \"directory\" ||\n (Array.isArray(meta.kinds) && meta.kinds.includes(\"fs:directory\")) ||\n typeof meta.childrenCount === \"number\"\n );\n}\n\nfunction entryPath(parentPath: string, entry: AFSEntry): string {\n return entry.path || joinURL(parentPath, entry.id);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/scaffold/composition.ts
|
|
3
|
+
function composeScaffoldApp(scaffold, options = {}) {
|
|
4
|
+
const diagnostics = [];
|
|
5
|
+
const modulesById = {};
|
|
6
|
+
for (const definition of scaffold.definition.modules) modulesById[definition.id] = {
|
|
7
|
+
definition,
|
|
8
|
+
binding: definition.binding,
|
|
9
|
+
surfaceDefinitions: [],
|
|
10
|
+
surfaces: []
|
|
11
|
+
};
|
|
12
|
+
for (const surfaceDefinition of scaffold.definition.surfaces) {
|
|
13
|
+
if (!surfaceDefinition.module) continue;
|
|
14
|
+
const module = modulesById[surfaceDefinition.module];
|
|
15
|
+
if (!module) continue;
|
|
16
|
+
module.surfaceDefinitions.push(surfaceDefinition);
|
|
17
|
+
const resolvedSurface = options.surfaces?.surfaces[surfaceDefinition.id];
|
|
18
|
+
if (resolvedSurface) module.surfaces.push(resolvedSurface);
|
|
19
|
+
}
|
|
20
|
+
const modules = scaffold.definition.modules.map((definition) => modulesById[definition.id]);
|
|
21
|
+
const defaultModule = (scaffold.definition.manifest.defaultModule ? modulesById[scaffold.definition.manifest.defaultModule] : void 0) ?? modules[0];
|
|
22
|
+
return {
|
|
23
|
+
manifest: scaffold.definition.manifest,
|
|
24
|
+
defaultModule,
|
|
25
|
+
modules,
|
|
26
|
+
shell: composeShell(scaffold, modulesById, options.surfaces, diagnostics),
|
|
27
|
+
diagnostics
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function composeShell(scaffold, modulesById, surfaces, diagnostics) {
|
|
31
|
+
return {
|
|
32
|
+
menu: scaffold.definition.shell.menu ? { groups: scaffold.definition.shell.menu.groups.map((group) => ({
|
|
33
|
+
...group,
|
|
34
|
+
items: resolveMenuItems(group.items, scaffold, modulesById, surfaces, diagnostics)
|
|
35
|
+
})) } : void 0,
|
|
36
|
+
header: scaffold.definition.shell.header ? {
|
|
37
|
+
...scaffold.definition.shell.header,
|
|
38
|
+
actions: scaffold.definition.shell.header.actions?.map((action) => ({
|
|
39
|
+
...action,
|
|
40
|
+
target: resolveTarget(action.target, scaffold, modulesById, surfaces, diagnostics)
|
|
41
|
+
}))
|
|
42
|
+
} : void 0,
|
|
43
|
+
footer: scaffold.definition.shell.footer ? {
|
|
44
|
+
...scaffold.definition.shell.footer,
|
|
45
|
+
links: scaffold.definition.shell.footer.links?.map((link) => ({
|
|
46
|
+
...link,
|
|
47
|
+
target: resolveTarget(link.target, scaffold, modulesById, surfaces, diagnostics)
|
|
48
|
+
}))
|
|
49
|
+
} : void 0,
|
|
50
|
+
workspace: scaffold.definition.shell.workspace ? {
|
|
51
|
+
...scaffold.definition.shell.workspace,
|
|
52
|
+
sections: scaffold.definition.shell.workspace.sections.map((section) => ({
|
|
53
|
+
...section,
|
|
54
|
+
roots: section.roots
|
|
55
|
+
}))
|
|
56
|
+
} : void 0
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function resolveMenuItems(items, scaffold, modulesById, surfaces, diagnostics) {
|
|
60
|
+
return items.map((item) => ({
|
|
61
|
+
...item,
|
|
62
|
+
target: item.target ? resolveTarget(item.target, scaffold, modulesById, surfaces, diagnostics) : void 0,
|
|
63
|
+
children: item.children ? resolveMenuItems(item.children, scaffold, modulesById, surfaces, diagnostics) : void 0
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
function resolveTarget(target, scaffold, modulesById, surfaces, diagnostics) {
|
|
67
|
+
if (target.kind === "module") return {
|
|
68
|
+
...target,
|
|
69
|
+
module: target.ref ? modulesById[target.ref] : void 0
|
|
70
|
+
};
|
|
71
|
+
if (target.kind === "surface") {
|
|
72
|
+
const surfaceDefinition = target.ref ? scaffold.surfacesById[target.ref] : void 0;
|
|
73
|
+
const surface = target.ref ? surfaces?.surfaces[target.ref] : void 0;
|
|
74
|
+
const module = surfaceDefinition?.module && modulesById[surfaceDefinition.module] ? modulesById[surfaceDefinition.module] : void 0;
|
|
75
|
+
if (surfaceDefinition && !surface && surfaces) diagnostics.push({
|
|
76
|
+
code: "missing_runtime_surface",
|
|
77
|
+
severity: "warning",
|
|
78
|
+
targetId: target.ref ?? surfaceDefinition.id,
|
|
79
|
+
message: `Surface "${target.ref ?? surfaceDefinition.id}" is declared but has no resolved runtime`
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
...target,
|
|
83
|
+
module,
|
|
84
|
+
surface,
|
|
85
|
+
surfaceDefinition
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return { ...target };
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
exports.composeScaffoldApp = composeScaffoldApp;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ResolvedScaffoldApp, ResolvedScaffoldDefinition, ResolvedScaffoldSurfaces } from "./types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/scaffold/composition.d.ts
|
|
4
|
+
interface ComposeScaffoldAppOptions {
|
|
5
|
+
surfaces?: ResolvedScaffoldSurfaces;
|
|
6
|
+
}
|
|
7
|
+
declare function composeScaffoldApp(scaffold: ResolvedScaffoldDefinition, options?: ComposeScaffoldAppOptions): ResolvedScaffoldApp;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { ComposeScaffoldAppOptions, composeScaffoldApp };
|
|
10
|
+
//# sourceMappingURL=composition.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.d.cts","names":[],"sources":["../../src/scaffold/composition.ts"],"mappings":";;;UAgBiB,yBAAA;EACf,QAAA,GAAW,wBAAA;AAAA;AAAA,iBAGG,kBAAA,CACd,QAAA,EAAU,0BAAA,EACV,OAAA,GAAS,yBAAA,GACR,mBAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ResolvedScaffoldApp, ResolvedScaffoldDefinition, ResolvedScaffoldSurfaces } from "./types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/scaffold/composition.d.ts
|
|
4
|
+
interface ComposeScaffoldAppOptions {
|
|
5
|
+
surfaces?: ResolvedScaffoldSurfaces;
|
|
6
|
+
}
|
|
7
|
+
declare function composeScaffoldApp(scaffold: ResolvedScaffoldDefinition, options?: ComposeScaffoldAppOptions): ResolvedScaffoldApp;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { ComposeScaffoldAppOptions, composeScaffoldApp };
|
|
10
|
+
//# sourceMappingURL=composition.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.d.mts","names":[],"sources":["../../src/scaffold/composition.ts"],"mappings":";;;UAgBiB,yBAAA;EACf,QAAA,GAAW,wBAAA;AAAA;AAAA,iBAGG,kBAAA,CACd,QAAA,EAAU,0BAAA,EACV,OAAA,GAAS,yBAAA,GACR,mBAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
//#region src/scaffold/composition.ts
|
|
2
|
+
function composeScaffoldApp(scaffold, options = {}) {
|
|
3
|
+
const diagnostics = [];
|
|
4
|
+
const modulesById = {};
|
|
5
|
+
for (const definition of scaffold.definition.modules) modulesById[definition.id] = {
|
|
6
|
+
definition,
|
|
7
|
+
binding: definition.binding,
|
|
8
|
+
surfaceDefinitions: [],
|
|
9
|
+
surfaces: []
|
|
10
|
+
};
|
|
11
|
+
for (const surfaceDefinition of scaffold.definition.surfaces) {
|
|
12
|
+
if (!surfaceDefinition.module) continue;
|
|
13
|
+
const module = modulesById[surfaceDefinition.module];
|
|
14
|
+
if (!module) continue;
|
|
15
|
+
module.surfaceDefinitions.push(surfaceDefinition);
|
|
16
|
+
const resolvedSurface = options.surfaces?.surfaces[surfaceDefinition.id];
|
|
17
|
+
if (resolvedSurface) module.surfaces.push(resolvedSurface);
|
|
18
|
+
}
|
|
19
|
+
const modules = scaffold.definition.modules.map((definition) => modulesById[definition.id]);
|
|
20
|
+
const defaultModule = (scaffold.definition.manifest.defaultModule ? modulesById[scaffold.definition.manifest.defaultModule] : void 0) ?? modules[0];
|
|
21
|
+
return {
|
|
22
|
+
manifest: scaffold.definition.manifest,
|
|
23
|
+
defaultModule,
|
|
24
|
+
modules,
|
|
25
|
+
shell: composeShell(scaffold, modulesById, options.surfaces, diagnostics),
|
|
26
|
+
diagnostics
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function composeShell(scaffold, modulesById, surfaces, diagnostics) {
|
|
30
|
+
return {
|
|
31
|
+
menu: scaffold.definition.shell.menu ? { groups: scaffold.definition.shell.menu.groups.map((group) => ({
|
|
32
|
+
...group,
|
|
33
|
+
items: resolveMenuItems(group.items, scaffold, modulesById, surfaces, diagnostics)
|
|
34
|
+
})) } : void 0,
|
|
35
|
+
header: scaffold.definition.shell.header ? {
|
|
36
|
+
...scaffold.definition.shell.header,
|
|
37
|
+
actions: scaffold.definition.shell.header.actions?.map((action) => ({
|
|
38
|
+
...action,
|
|
39
|
+
target: resolveTarget(action.target, scaffold, modulesById, surfaces, diagnostics)
|
|
40
|
+
}))
|
|
41
|
+
} : void 0,
|
|
42
|
+
footer: scaffold.definition.shell.footer ? {
|
|
43
|
+
...scaffold.definition.shell.footer,
|
|
44
|
+
links: scaffold.definition.shell.footer.links?.map((link) => ({
|
|
45
|
+
...link,
|
|
46
|
+
target: resolveTarget(link.target, scaffold, modulesById, surfaces, diagnostics)
|
|
47
|
+
}))
|
|
48
|
+
} : void 0,
|
|
49
|
+
workspace: scaffold.definition.shell.workspace ? {
|
|
50
|
+
...scaffold.definition.shell.workspace,
|
|
51
|
+
sections: scaffold.definition.shell.workspace.sections.map((section) => ({
|
|
52
|
+
...section,
|
|
53
|
+
roots: section.roots
|
|
54
|
+
}))
|
|
55
|
+
} : void 0
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function resolveMenuItems(items, scaffold, modulesById, surfaces, diagnostics) {
|
|
59
|
+
return items.map((item) => ({
|
|
60
|
+
...item,
|
|
61
|
+
target: item.target ? resolveTarget(item.target, scaffold, modulesById, surfaces, diagnostics) : void 0,
|
|
62
|
+
children: item.children ? resolveMenuItems(item.children, scaffold, modulesById, surfaces, diagnostics) : void 0
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
function resolveTarget(target, scaffold, modulesById, surfaces, diagnostics) {
|
|
66
|
+
if (target.kind === "module") return {
|
|
67
|
+
...target,
|
|
68
|
+
module: target.ref ? modulesById[target.ref] : void 0
|
|
69
|
+
};
|
|
70
|
+
if (target.kind === "surface") {
|
|
71
|
+
const surfaceDefinition = target.ref ? scaffold.surfacesById[target.ref] : void 0;
|
|
72
|
+
const surface = target.ref ? surfaces?.surfaces[target.ref] : void 0;
|
|
73
|
+
const module = surfaceDefinition?.module && modulesById[surfaceDefinition.module] ? modulesById[surfaceDefinition.module] : void 0;
|
|
74
|
+
if (surfaceDefinition && !surface && surfaces) diagnostics.push({
|
|
75
|
+
code: "missing_runtime_surface",
|
|
76
|
+
severity: "warning",
|
|
77
|
+
targetId: target.ref ?? surfaceDefinition.id,
|
|
78
|
+
message: `Surface "${target.ref ?? surfaceDefinition.id}" is declared but has no resolved runtime`
|
|
79
|
+
});
|
|
80
|
+
return {
|
|
81
|
+
...target,
|
|
82
|
+
module,
|
|
83
|
+
surface,
|
|
84
|
+
surfaceDefinition
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return { ...target };
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
//#endregion
|
|
91
|
+
export { composeScaffoldApp };
|
|
92
|
+
//# sourceMappingURL=composition.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.mjs","names":[],"sources":["../../src/scaffold/composition.ts"],"sourcesContent":["import type {\n ResolvedScaffoldApp,\n ResolvedScaffoldDefinition,\n ResolvedScaffoldFooterLink,\n ResolvedScaffoldHeaderAction,\n ResolvedScaffoldMenuGroup,\n ResolvedScaffoldMenuItem,\n ResolvedScaffoldModule,\n ResolvedScaffoldShell,\n ResolvedScaffoldSurfaces,\n ResolvedScaffoldTarget,\n ScaffoldCompositionDiagnostic,\n ScaffoldMenuItem,\n ScaffoldTargetRef,\n} from \"./types.js\";\n\nexport interface ComposeScaffoldAppOptions {\n surfaces?: ResolvedScaffoldSurfaces;\n}\n\nexport function composeScaffoldApp(\n scaffold: ResolvedScaffoldDefinition,\n options: ComposeScaffoldAppOptions = {},\n): ResolvedScaffoldApp {\n const diagnostics: ScaffoldCompositionDiagnostic[] = [];\n const modulesById: Record<string, ResolvedScaffoldModule> = {};\n\n for (const definition of scaffold.definition.modules) {\n modulesById[definition.id] = {\n definition,\n binding: definition.binding,\n surfaceDefinitions: [],\n surfaces: [],\n };\n }\n\n for (const surfaceDefinition of scaffold.definition.surfaces) {\n if (!surfaceDefinition.module) continue;\n const module = modulesById[surfaceDefinition.module];\n if (!module) continue;\n module.surfaceDefinitions.push(surfaceDefinition);\n const resolvedSurface = options.surfaces?.surfaces[surfaceDefinition.id];\n if (resolvedSurface) module.surfaces.push(resolvedSurface);\n }\n\n const modules = scaffold.definition.modules.map((definition) => modulesById[definition.id]!);\n const defaultModule =\n (scaffold.definition.manifest.defaultModule\n ? modulesById[scaffold.definition.manifest.defaultModule]\n : undefined) ?? modules[0];\n\n return {\n manifest: scaffold.definition.manifest,\n defaultModule,\n modules,\n shell: composeShell(scaffold, modulesById, options.surfaces, diagnostics),\n diagnostics,\n };\n}\n\nfunction composeShell(\n scaffold: ResolvedScaffoldDefinition,\n modulesById: Record<string, ResolvedScaffoldModule>,\n surfaces: ResolvedScaffoldSurfaces | undefined,\n diagnostics: ScaffoldCompositionDiagnostic[],\n): ResolvedScaffoldShell {\n return {\n menu: scaffold.definition.shell.menu\n ? {\n groups: scaffold.definition.shell.menu.groups.map(\n (group): ResolvedScaffoldMenuGroup => ({\n ...group,\n items: resolveMenuItems(group.items, scaffold, modulesById, surfaces, diagnostics),\n }),\n ),\n }\n : undefined,\n header: scaffold.definition.shell.header\n ? {\n ...scaffold.definition.shell.header,\n actions: scaffold.definition.shell.header.actions?.map(\n (action): ResolvedScaffoldHeaderAction => ({\n ...action,\n target: resolveTarget(action.target, scaffold, modulesById, surfaces, diagnostics),\n }),\n ),\n }\n : undefined,\n footer: scaffold.definition.shell.footer\n ? {\n ...scaffold.definition.shell.footer,\n links: scaffold.definition.shell.footer.links?.map(\n (link): ResolvedScaffoldFooterLink => ({\n ...link,\n target: resolveTarget(link.target, scaffold, modulesById, surfaces, diagnostics),\n }),\n ),\n }\n : undefined,\n workspace: scaffold.definition.shell.workspace\n ? {\n ...scaffold.definition.shell.workspace,\n sections: scaffold.definition.shell.workspace.sections.map((section) => ({\n ...section,\n roots: section.roots,\n })),\n }\n : undefined,\n };\n}\n\nfunction resolveMenuItems(\n items: ScaffoldMenuItem[],\n scaffold: ResolvedScaffoldDefinition,\n modulesById: Record<string, ResolvedScaffoldModule>,\n surfaces: ResolvedScaffoldSurfaces | undefined,\n diagnostics: ScaffoldCompositionDiagnostic[],\n): ResolvedScaffoldMenuItem[] {\n return items.map(\n (item): ResolvedScaffoldMenuItem => ({\n ...item,\n target: item.target\n ? resolveTarget(item.target, scaffold, modulesById, surfaces, diagnostics)\n : undefined,\n children: item.children\n ? resolveMenuItems(item.children, scaffold, modulesById, surfaces, diagnostics)\n : undefined,\n }),\n );\n}\n\nfunction resolveTarget(\n target: ScaffoldTargetRef,\n scaffold: ResolvedScaffoldDefinition,\n modulesById: Record<string, ResolvedScaffoldModule>,\n surfaces: ResolvedScaffoldSurfaces | undefined,\n diagnostics: ScaffoldCompositionDiagnostic[],\n): ResolvedScaffoldTarget {\n if (target.kind === \"module\") {\n return {\n ...target,\n module: target.ref ? modulesById[target.ref] : undefined,\n };\n }\n\n if (target.kind === \"surface\") {\n const surfaceDefinition = target.ref ? scaffold.surfacesById[target.ref] : undefined;\n const surface = target.ref ? surfaces?.surfaces[target.ref] : undefined;\n const module =\n surfaceDefinition?.module && modulesById[surfaceDefinition.module]\n ? modulesById[surfaceDefinition.module]\n : undefined;\n\n if (surfaceDefinition && !surface && surfaces) {\n diagnostics.push({\n code: \"missing_runtime_surface\",\n severity: \"warning\",\n targetId: target.ref ?? surfaceDefinition.id,\n message: `Surface \"${target.ref ?? surfaceDefinition.id}\" is declared but has no resolved runtime`,\n });\n }\n\n return {\n ...target,\n module,\n surface,\n surfaceDefinition,\n };\n }\n\n return { ...target };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/scaffold/dsl-error.ts
|
|
3
|
+
var ScaffoldDslCompileError = class extends Error {
|
|
4
|
+
dslKind;
|
|
5
|
+
line;
|
|
6
|
+
column;
|
|
7
|
+
constructor(dslKind, line, column, message) {
|
|
8
|
+
super(`Invalid ${dslKind} DSL at line ${line}, column ${column}: ${message}`);
|
|
9
|
+
this.name = "ScaffoldDslCompileError";
|
|
10
|
+
this.dslKind = dslKind;
|
|
11
|
+
this.line = line;
|
|
12
|
+
this.column = column;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
function scaffoldDslParseError(dslKind, line, message, column = 1) {
|
|
16
|
+
return new ScaffoldDslCompileError(dslKind, line, column, message);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.ScaffoldDslCompileError = ScaffoldDslCompileError;
|
|
21
|
+
exports.scaffoldDslParseError = scaffoldDslParseError;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/scaffold/dsl-error.d.ts
|
|
2
|
+
declare class ScaffoldDslCompileError extends Error {
|
|
3
|
+
readonly dslKind: string;
|
|
4
|
+
readonly line: number;
|
|
5
|
+
readonly column: number;
|
|
6
|
+
constructor(dslKind: string, line: number, column: number, message: string);
|
|
7
|
+
}
|
|
8
|
+
declare function scaffoldDslParseError(dslKind: string, line: number, message: string, column?: number): ScaffoldDslCompileError;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { ScaffoldDslCompileError, scaffoldDslParseError };
|
|
11
|
+
//# sourceMappingURL=dsl-error.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dsl-error.d.cts","names":[],"sources":["../../src/scaffold/dsl-error.ts"],"mappings":";cAAa,uBAAA,SAAgC,KAAA;EAAA,SAClC,OAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA;cAEG,OAAA,UAAiB,IAAA,UAAc,MAAA,UAAgB,OAAA;AAAA;AAAA,iBAS7C,qBAAA,CACd,OAAA,UACA,IAAA,UACA,OAAA,UACA,MAAA,YACC,uBAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/scaffold/dsl-error.d.ts
|
|
2
|
+
declare class ScaffoldDslCompileError extends Error {
|
|
3
|
+
readonly dslKind: string;
|
|
4
|
+
readonly line: number;
|
|
5
|
+
readonly column: number;
|
|
6
|
+
constructor(dslKind: string, line: number, column: number, message: string);
|
|
7
|
+
}
|
|
8
|
+
declare function scaffoldDslParseError(dslKind: string, line: number, message: string, column?: number): ScaffoldDslCompileError;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { ScaffoldDslCompileError, scaffoldDslParseError };
|
|
11
|
+
//# sourceMappingURL=dsl-error.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dsl-error.d.mts","names":[],"sources":["../../src/scaffold/dsl-error.ts"],"mappings":";cAAa,uBAAA,SAAgC,KAAA;EAAA,SAClC,OAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA;cAEG,OAAA,UAAiB,IAAA,UAAc,MAAA,UAAgB,OAAA;AAAA;AAAA,iBAS7C,qBAAA,CACd,OAAA,UACA,IAAA,UACA,OAAA,UACA,MAAA,YACC,uBAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/scaffold/dsl-error.ts
|
|
2
|
+
var ScaffoldDslCompileError = class extends Error {
|
|
3
|
+
dslKind;
|
|
4
|
+
line;
|
|
5
|
+
column;
|
|
6
|
+
constructor(dslKind, line, column, message) {
|
|
7
|
+
super(`Invalid ${dslKind} DSL at line ${line}, column ${column}: ${message}`);
|
|
8
|
+
this.name = "ScaffoldDslCompileError";
|
|
9
|
+
this.dslKind = dslKind;
|
|
10
|
+
this.line = line;
|
|
11
|
+
this.column = column;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
function scaffoldDslParseError(dslKind, line, message, column = 1) {
|
|
15
|
+
return new ScaffoldDslCompileError(dslKind, line, column, message);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ScaffoldDslCompileError, scaffoldDslParseError };
|
|
20
|
+
//# sourceMappingURL=dsl-error.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dsl-error.mjs","names":[],"sources":["../../src/scaffold/dsl-error.ts"],"sourcesContent":["export class ScaffoldDslCompileError extends Error {\n readonly dslKind: string;\n readonly line: number;\n readonly column: number;\n\n constructor(dslKind: string, line: number, column: number, message: string) {\n super(`Invalid ${dslKind} DSL at line ${line}, column ${column}: ${message}`);\n this.name = \"ScaffoldDslCompileError\";\n this.dslKind = dslKind;\n this.line = line;\n this.column = column;\n }\n}\n\nexport function scaffoldDslParseError(\n dslKind: string,\n line: number,\n message: string,\n column = 1,\n): ScaffoldDslCompileError {\n return new ScaffoldDslCompileError(dslKind, line, column, message);\n}\n"],"mappings":";AAAA,IAAa,0BAAb,cAA6C,MAAM;CACjD,AAAS;CACT,AAAS;CACT,AAAS;CAET,YAAY,SAAiB,MAAc,QAAgB,SAAiB;AAC1E,QAAM,WAAW,QAAQ,eAAe,KAAK,WAAW,OAAO,IAAI,UAAU;AAC7E,OAAK,OAAO;AACZ,OAAK,UAAU;AACf,OAAK,OAAO;AACZ,OAAK,SAAS;;;AAIlB,SAAgB,sBACd,SACA,MACA,SACA,SAAS,GACgB;AACzB,QAAO,IAAI,wBAAwB,SAAS,MAAM,QAAQ,QAAQ"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ResolvedScaffoldApp, ResolvedScaffoldDefinition, ResolvedScaffoldFooterLink, ResolvedScaffoldHeaderAction, ResolvedScaffoldMenuGroup, ResolvedScaffoldMenuItem, ResolvedScaffoldModule, ResolvedScaffoldShell, ResolvedScaffoldSurface, ResolvedScaffoldSurfaces, ResolvedScaffoldTarget, ResolvedScaffoldWorkspaceDefinition, ResolvedScaffoldWorkspaceSection, ScaffoldAgentModuleBinding, ScaffoldAupModuleBinding, ScaffoldBlockletModuleBinding, ScaffoldCompositionDiagnostic, ScaffoldDefinition, ScaffoldDiagnostic, ScaffoldFooterDefinition, ScaffoldFooterLink, ScaffoldHeaderDefinition, ScaffoldManifest, ScaffoldMenuDefinition, ScaffoldMenuGroup, ScaffoldMenuItem, ScaffoldMenuPlacement, ScaffoldModuleBinding, ScaffoldModuleDefinition, ScaffoldModuleKind, ScaffoldProviderKind, ScaffoldShellAction, ScaffoldShellDefinition, ScaffoldSurfaceDefinition, ScaffoldSurfaceRuntimeDiagnostic, ScaffoldTargetKind, ScaffoldTargetRef, ScaffoldWebModuleBinding, ScaffoldWorkspaceAgentDefinition, ScaffoldWorkspaceDefinition, ScaffoldWorkspaceRailItem, ScaffoldWorkspaceRoot, ScaffoldWorkspaceSection } from "./types.mjs";
|
|
2
|
+
import { DEFAULT_SCAFFOLD_ROOT, LoadScaffoldDefinitionOptions, ScaffoldAfsReader, loadScaffoldDefinition } from "./afs.mjs";
|
|
3
|
+
import { ComposeScaffoldAppOptions, composeScaffoldApp } from "./composition.mjs";
|
|
4
|
+
import { ScaffoldDslCompileError, scaffoldDslParseError } from "./dsl-error.mjs";
|
|
5
|
+
import { compileManifestDsl, formatManifestDsl } from "./manifest-dsl.mjs";
|
|
6
|
+
import { compileModuleDsl, formatModuleDsl } from "./module-dsl.mjs";
|
|
7
|
+
import { resolveScaffoldDefinition } from "./resolver.mjs";
|
|
8
|
+
import { ResolveScaffoldAutoSurfaceOptions, ResolveScaffoldSurfacesOptions, resolveScaffoldSurface, resolveScaffoldSurfaces } from "./surfaces.mjs";
|
|
9
|
+
import { ResolveScaffoldAppOptions, ResolvedScaffoldRuntime, resolveScaffoldApp } from "./runtime.mjs";
|
|
10
|
+
import { compileShellDsl, formatShellDsl } from "./shell-dsl.mjs";
|
|
11
|
+
import { compileSurfaceDsl, formatSurfaceDsl } from "./surface-dsl.mjs";
|
|
12
|
+
import { WorkspaceManifest, WorkspaceManifestAgent, WorkspaceManifestRoot, compileWorkspaceDsl, formatWorkspaceDsl, validateWorkspaceManifest, workspaceManifestFromDefinition } from "./workspace-dsl.mjs";
|