@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,123 @@
|
|
|
1
|
+
//#region src/arc-compat.ts
|
|
2
|
+
const SEMVER_RE = /^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
|
|
3
|
+
function normalizeArcVersionRequirement(value) {
|
|
4
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return void 0;
|
|
5
|
+
const raw = value;
|
|
6
|
+
const requirement = {};
|
|
7
|
+
if (typeof raw.minVersion === "string" && raw.minVersion.trim()) requirement.minVersion = raw.minVersion.trim();
|
|
8
|
+
if (typeof raw.requiredVersion === "string" && raw.requiredVersion.trim()) requirement.requiredVersion = raw.requiredVersion.trim();
|
|
9
|
+
if (typeof raw.version === "string" && raw.version.trim() && !requirement.requiredVersion) requirement.requiredVersion = raw.version.trim();
|
|
10
|
+
return requirement.minVersion || requirement.requiredVersion ? requirement : void 0;
|
|
11
|
+
}
|
|
12
|
+
function checkArcVersionCompatibility(runtimeVersion, requirement) {
|
|
13
|
+
if (!requirement?.minVersion && !requirement?.requiredVersion) return {
|
|
14
|
+
ok: true,
|
|
15
|
+
runtimeVersion
|
|
16
|
+
};
|
|
17
|
+
if (requirement.minVersion) {
|
|
18
|
+
const cmp = compareSemver(runtimeVersion, requirement.minVersion);
|
|
19
|
+
if (cmp === void 0) return {
|
|
20
|
+
ok: false,
|
|
21
|
+
runtimeVersion,
|
|
22
|
+
requirement,
|
|
23
|
+
message: `Arc runtime version ${JSON.stringify(runtimeVersion)} cannot be compared with minVersion ${JSON.stringify(requirement.minVersion)}`
|
|
24
|
+
};
|
|
25
|
+
if (cmp < 0) return {
|
|
26
|
+
ok: false,
|
|
27
|
+
runtimeVersion,
|
|
28
|
+
requirement,
|
|
29
|
+
message: `Arc runtime ${runtimeVersion} is older than required minimum ${requirement.minVersion}`
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (requirement.requiredVersion) {
|
|
33
|
+
const ok = satisfiesVersionRange(runtimeVersion, requirement.requiredVersion);
|
|
34
|
+
if (ok === void 0) return {
|
|
35
|
+
ok: false,
|
|
36
|
+
runtimeVersion,
|
|
37
|
+
requirement,
|
|
38
|
+
message: `Arc requiredVersion ${JSON.stringify(requirement.requiredVersion)} is not supported`
|
|
39
|
+
};
|
|
40
|
+
if (!ok) return {
|
|
41
|
+
ok: false,
|
|
42
|
+
runtimeVersion,
|
|
43
|
+
requirement,
|
|
44
|
+
message: `Arc runtime ${runtimeVersion} does not satisfy ${requirement.requiredVersion}`
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
ok: true,
|
|
49
|
+
runtimeVersion,
|
|
50
|
+
requirement
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function compareSemver(a, b) {
|
|
54
|
+
const left = parseSemver(a);
|
|
55
|
+
const right = parseSemver(b);
|
|
56
|
+
if (!left || !right) return void 0;
|
|
57
|
+
for (const key of [
|
|
58
|
+
"major",
|
|
59
|
+
"minor",
|
|
60
|
+
"patch"
|
|
61
|
+
]) {
|
|
62
|
+
if (left[key] > right[key]) return 1;
|
|
63
|
+
if (left[key] < right[key]) return -1;
|
|
64
|
+
}
|
|
65
|
+
return comparePrerelease(left.prerelease, right.prerelease);
|
|
66
|
+
}
|
|
67
|
+
function satisfiesVersionRange(version, range) {
|
|
68
|
+
if (range.includes("||")) return void 0;
|
|
69
|
+
const parts = range.split(/\s+/).map((part) => part.trim()).filter(Boolean);
|
|
70
|
+
if (parts.length === 0) return void 0;
|
|
71
|
+
for (const part of parts) {
|
|
72
|
+
const match = /^(>=|<=|>|<|=)?\s*(.+)$/.exec(part);
|
|
73
|
+
if (!match) return void 0;
|
|
74
|
+
const op = match[1] || "=";
|
|
75
|
+
const expected = match[2];
|
|
76
|
+
const cmp = compareSemver(version, expected);
|
|
77
|
+
if (cmp === void 0) return void 0;
|
|
78
|
+
if (op === ">" && !(cmp > 0)) return false;
|
|
79
|
+
if (op === ">=" && !(cmp >= 0)) return false;
|
|
80
|
+
if (op === "<" && !(cmp < 0)) return false;
|
|
81
|
+
if (op === "<=" && !(cmp <= 0)) return false;
|
|
82
|
+
if (op === "=" && cmp !== 0) return false;
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
function parseSemver(value) {
|
|
87
|
+
const match = SEMVER_RE.exec(value.trim());
|
|
88
|
+
if (!match) return void 0;
|
|
89
|
+
return {
|
|
90
|
+
major: Number(match[1]),
|
|
91
|
+
minor: Number(match[2]),
|
|
92
|
+
patch: Number(match[3]),
|
|
93
|
+
prerelease: match[4] ? match[4].split(".") : []
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function comparePrerelease(a, b) {
|
|
97
|
+
if (a.length === 0 && b.length === 0) return 0;
|
|
98
|
+
if (a.length === 0) return 1;
|
|
99
|
+
if (b.length === 0) return -1;
|
|
100
|
+
const len = Math.max(a.length, b.length);
|
|
101
|
+
for (let i = 0; i < len; i += 1) {
|
|
102
|
+
const left = a[i];
|
|
103
|
+
const right = b[i];
|
|
104
|
+
if (left === void 0) return -1;
|
|
105
|
+
if (right === void 0) return 1;
|
|
106
|
+
const leftNum = /^\d+$/.test(left) ? Number(left) : void 0;
|
|
107
|
+
const rightNum = /^\d+$/.test(right) ? Number(right) : void 0;
|
|
108
|
+
if (leftNum !== void 0 && rightNum !== void 0) {
|
|
109
|
+
if (leftNum > rightNum) return 1;
|
|
110
|
+
if (leftNum < rightNum) return -1;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (leftNum !== void 0) return -1;
|
|
114
|
+
if (rightNum !== void 0) return 1;
|
|
115
|
+
if (left > right) return 1;
|
|
116
|
+
if (left < right) return -1;
|
|
117
|
+
}
|
|
118
|
+
return 0;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
export { checkArcVersionCompatibility, compareSemver, normalizeArcVersionRequirement };
|
|
123
|
+
//# sourceMappingURL=arc-compat.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arc-compat.mjs","names":[],"sources":["../src/arc-compat.ts"],"sourcesContent":["export interface ArcVersionRequirement {\n minVersion?: string;\n requiredVersion?: string;\n}\n\nexport interface ArcCompatibilityResult {\n ok: boolean;\n runtimeVersion: string;\n requirement?: ArcVersionRequirement;\n message?: string;\n}\n\ninterface ParsedSemver {\n major: number;\n minor: number;\n patch: number;\n prerelease: string[];\n}\n\nconst SEMVER_RE =\n /^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$/;\n\nexport function normalizeArcVersionRequirement(value: unknown): ArcVersionRequirement | undefined {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return undefined;\n const raw = value as Record<string, unknown>;\n const requirement: ArcVersionRequirement = {};\n if (typeof raw.minVersion === \"string\" && raw.minVersion.trim()) {\n requirement.minVersion = raw.minVersion.trim();\n }\n if (typeof raw.requiredVersion === \"string\" && raw.requiredVersion.trim()) {\n requirement.requiredVersion = raw.requiredVersion.trim();\n }\n if (typeof raw.version === \"string\" && raw.version.trim() && !requirement.requiredVersion) {\n requirement.requiredVersion = raw.version.trim();\n }\n return requirement.minVersion || requirement.requiredVersion ? requirement : undefined;\n}\n\nexport function checkArcVersionCompatibility(\n runtimeVersion: string,\n requirement: ArcVersionRequirement | undefined,\n): ArcCompatibilityResult {\n if (!requirement?.minVersion && !requirement?.requiredVersion) {\n return { ok: true, runtimeVersion };\n }\n\n if (requirement.minVersion) {\n const cmp = compareSemver(runtimeVersion, requirement.minVersion);\n if (cmp === undefined) {\n return {\n ok: false,\n runtimeVersion,\n requirement,\n message: `Arc runtime version ${JSON.stringify(runtimeVersion)} cannot be compared with minVersion ${JSON.stringify(requirement.minVersion)}`,\n };\n }\n if (cmp < 0) {\n return {\n ok: false,\n runtimeVersion,\n requirement,\n message: `Arc runtime ${runtimeVersion} is older than required minimum ${requirement.minVersion}`,\n };\n }\n }\n\n if (requirement.requiredVersion) {\n const ok = satisfiesVersionRange(runtimeVersion, requirement.requiredVersion);\n if (ok === undefined) {\n return {\n ok: false,\n runtimeVersion,\n requirement,\n message: `Arc requiredVersion ${JSON.stringify(requirement.requiredVersion)} is not supported`,\n };\n }\n if (!ok) {\n return {\n ok: false,\n runtimeVersion,\n requirement,\n message: `Arc runtime ${runtimeVersion} does not satisfy ${requirement.requiredVersion}`,\n };\n }\n }\n\n return { ok: true, runtimeVersion, requirement };\n}\n\nexport function compareSemver(a: string, b: string): number | undefined {\n const left = parseSemver(a);\n const right = parseSemver(b);\n if (!left || !right) return undefined;\n for (const key of [\"major\", \"minor\", \"patch\"] as const) {\n if (left[key] > right[key]) return 1;\n if (left[key] < right[key]) return -1;\n }\n return comparePrerelease(left.prerelease, right.prerelease);\n}\n\nfunction satisfiesVersionRange(version: string, range: string): boolean | undefined {\n if (range.includes(\"||\")) return undefined;\n const parts = range\n .split(/\\s+/)\n .map((part) => part.trim())\n .filter(Boolean);\n if (parts.length === 0) return undefined;\n\n for (const part of parts) {\n const match = /^(>=|<=|>|<|=)?\\s*(.+)$/.exec(part);\n if (!match) return undefined;\n const op = match[1] || \"=\";\n const expected = match[2]!;\n const cmp = compareSemver(version, expected);\n if (cmp === undefined) return undefined;\n if (op === \">\" && !(cmp > 0)) return false;\n if (op === \">=\" && !(cmp >= 0)) return false;\n if (op === \"<\" && !(cmp < 0)) return false;\n if (op === \"<=\" && !(cmp <= 0)) return false;\n if (op === \"=\" && cmp !== 0) return false;\n }\n return true;\n}\n\nfunction parseSemver(value: string): ParsedSemver | undefined {\n const match = SEMVER_RE.exec(value.trim());\n if (!match) return undefined;\n return {\n major: Number(match[1]),\n minor: Number(match[2]),\n patch: Number(match[3]),\n prerelease: match[4] ? match[4].split(\".\") : [],\n };\n}\n\nfunction comparePrerelease(a: string[], b: string[]): number {\n if (a.length === 0 && b.length === 0) return 0;\n if (a.length === 0) return 1;\n if (b.length === 0) return -1;\n const len = Math.max(a.length, b.length);\n for (let i = 0; i < len; i += 1) {\n const left = a[i];\n const right = b[i];\n if (left === undefined) return -1;\n if (right === undefined) return 1;\n const leftNum = /^\\d+$/.test(left) ? Number(left) : undefined;\n const rightNum = /^\\d+$/.test(right) ? Number(right) : undefined;\n if (leftNum !== undefined && rightNum !== undefined) {\n if (leftNum > rightNum) return 1;\n if (leftNum < rightNum) return -1;\n continue;\n }\n if (leftNum !== undefined) return -1;\n if (rightNum !== undefined) return 1;\n if (left > right) return 1;\n if (left < right) return -1;\n }\n return 0;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const require_types = require('./types.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/compiler.ts
|
|
4
|
+
function compileAutoSurfaceRegistry(fragments) {
|
|
5
|
+
const diagnostics = [];
|
|
6
|
+
const registry = { resources: {} };
|
|
7
|
+
for (const fragment of fragments) for (const resource of fragment.resources) {
|
|
8
|
+
const existing = registry.resources[resource.id];
|
|
9
|
+
if (existing) {
|
|
10
|
+
diagnostics.push({
|
|
11
|
+
code: existing.owner === "system" && fragment.owner !== "system" ? "protected_resource" : "duplicate_resource",
|
|
12
|
+
resourceId: resource.id,
|
|
13
|
+
severity: "error",
|
|
14
|
+
source: fragment.source,
|
|
15
|
+
message: existing.owner === "system" && fragment.owner !== "system" ? `Resource "${resource.id}" is owned by system and cannot be overridden by package fragments` : `Resource "${resource.id}" is already defined by ${existing.source}`
|
|
16
|
+
});
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
const entry = {
|
|
20
|
+
owner: fragment.owner,
|
|
21
|
+
source: fragment.source,
|
|
22
|
+
definition: {
|
|
23
|
+
...resource,
|
|
24
|
+
scopes: require_types.normalizeAutoSurfaceScopes(resource.scopes)
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
registry.resources[resource.id] = entry;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
registry,
|
|
31
|
+
diagnostics
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.compileAutoSurfaceRegistry = compileAutoSurfaceRegistry;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AutoSurfaceCompileResult, AutoSurfaceFragment } from "./types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/compiler.d.ts
|
|
4
|
+
declare function compileAutoSurfaceRegistry(fragments: AutoSurfaceFragment[]): AutoSurfaceCompileResult;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { compileAutoSurfaceRegistry };
|
|
7
|
+
//# sourceMappingURL=compiler.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.d.cts","names":[],"sources":["../../src/auto-surface/compiler.ts"],"mappings":";;;iBAQgB,0BAAA,CACd,SAAA,EAAW,mBAAA,KACV,wBAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AutoSurfaceCompileResult, AutoSurfaceFragment } from "./types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/compiler.d.ts
|
|
4
|
+
declare function compileAutoSurfaceRegistry(fragments: AutoSurfaceFragment[]): AutoSurfaceCompileResult;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { compileAutoSurfaceRegistry };
|
|
7
|
+
//# sourceMappingURL=compiler.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.d.mts","names":[],"sources":["../../src/auto-surface/compiler.ts"],"mappings":";;;iBAQgB,0BAAA,CACd,SAAA,EAAW,mBAAA,KACV,wBAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { normalizeAutoSurfaceScopes } from "./types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/compiler.ts
|
|
4
|
+
function compileAutoSurfaceRegistry(fragments) {
|
|
5
|
+
const diagnostics = [];
|
|
6
|
+
const registry = { resources: {} };
|
|
7
|
+
for (const fragment of fragments) for (const resource of fragment.resources) {
|
|
8
|
+
const existing = registry.resources[resource.id];
|
|
9
|
+
if (existing) {
|
|
10
|
+
diagnostics.push({
|
|
11
|
+
code: existing.owner === "system" && fragment.owner !== "system" ? "protected_resource" : "duplicate_resource",
|
|
12
|
+
resourceId: resource.id,
|
|
13
|
+
severity: "error",
|
|
14
|
+
source: fragment.source,
|
|
15
|
+
message: existing.owner === "system" && fragment.owner !== "system" ? `Resource "${resource.id}" is owned by system and cannot be overridden by package fragments` : `Resource "${resource.id}" is already defined by ${existing.source}`
|
|
16
|
+
});
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
const entry = {
|
|
20
|
+
owner: fragment.owner,
|
|
21
|
+
source: fragment.source,
|
|
22
|
+
definition: {
|
|
23
|
+
...resource,
|
|
24
|
+
scopes: normalizeAutoSurfaceScopes(resource.scopes)
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
registry.resources[resource.id] = entry;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
registry,
|
|
31
|
+
diagnostics
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { compileAutoSurfaceRegistry };
|
|
37
|
+
//# sourceMappingURL=compiler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.mjs","names":[],"sources":["../../src/auto-surface/compiler.ts"],"sourcesContent":["import {\n type AutoSurfaceCompileResult,\n type AutoSurfaceFragment,\n type AutoSurfaceRegistry,\n type AutoSurfaceRegistryEntry,\n normalizeAutoSurfaceScopes,\n} from \"./types.js\";\n\nexport function compileAutoSurfaceRegistry(\n fragments: AutoSurfaceFragment[],\n): AutoSurfaceCompileResult {\n const diagnostics: AutoSurfaceCompileResult[\"diagnostics\"] = [];\n const registry: AutoSurfaceRegistry = { resources: {} };\n\n for (const fragment of fragments) {\n for (const resource of fragment.resources) {\n const existing = registry.resources[resource.id];\n if (existing) {\n diagnostics.push({\n code:\n existing.owner === \"system\" && fragment.owner !== \"system\"\n ? \"protected_resource\"\n : \"duplicate_resource\",\n resourceId: resource.id,\n severity: \"error\",\n source: fragment.source,\n message:\n existing.owner === \"system\" && fragment.owner !== \"system\"\n ? `Resource \"${resource.id}\" is owned by system and cannot be overridden by package fragments`\n : `Resource \"${resource.id}\" is already defined by ${existing.source}`,\n });\n continue;\n }\n\n const entry: AutoSurfaceRegistryEntry = {\n owner: fragment.owner,\n source: fragment.source,\n definition: {\n ...resource,\n scopes: normalizeAutoSurfaceScopes(resource.scopes),\n },\n };\n registry.resources[resource.id] = entry;\n }\n }\n\n return { registry, diagnostics };\n}\n"],"mappings":";;;AAQA,SAAgB,2BACd,WAC0B;CAC1B,MAAM,cAAuD,EAAE;CAC/D,MAAM,WAAgC,EAAE,WAAW,EAAE,EAAE;AAEvD,MAAK,MAAM,YAAY,UACrB,MAAK,MAAM,YAAY,SAAS,WAAW;EACzC,MAAM,WAAW,SAAS,UAAU,SAAS;AAC7C,MAAI,UAAU;AACZ,eAAY,KAAK;IACf,MACE,SAAS,UAAU,YAAY,SAAS,UAAU,WAC9C,uBACA;IACN,YAAY,SAAS;IACrB,UAAU;IACV,QAAQ,SAAS;IACjB,SACE,SAAS,UAAU,YAAY,SAAS,UAAU,WAC9C,aAAa,SAAS,GAAG,sEACzB,aAAa,SAAS,GAAG,0BAA0B,SAAS;IACnE,CAAC;AACF;;EAGF,MAAM,QAAkC;GACtC,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,YAAY;IACV,GAAG;IACH,QAAQ,2BAA2B,SAAS,OAAO;IACpD;GACF;AACD,WAAS,UAAU,SAAS,MAAM;;AAItC,QAAO;EAAE;EAAU;EAAa"}
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
const require_dsl_shared = require('../dsl-shared.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/definition-dsl.ts
|
|
4
|
+
var AutoSurfaceDefinitionDslCompileError = 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 = "AutoSurfaceDefinitionDslCompileError";
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const VALUE_TYPES = new Set([
|
|
13
|
+
"string",
|
|
14
|
+
"number",
|
|
15
|
+
"boolean",
|
|
16
|
+
"select",
|
|
17
|
+
"textarea",
|
|
18
|
+
"json"
|
|
19
|
+
]);
|
|
20
|
+
const LAYERS = new Set([
|
|
21
|
+
"system",
|
|
22
|
+
"package",
|
|
23
|
+
"instance",
|
|
24
|
+
"user"
|
|
25
|
+
]);
|
|
26
|
+
const LAYER_ORDER = [
|
|
27
|
+
"system",
|
|
28
|
+
"package",
|
|
29
|
+
"instance",
|
|
30
|
+
"user"
|
|
31
|
+
];
|
|
32
|
+
function compileAutoSurfaceDefinitionDsl(source) {
|
|
33
|
+
const declaration = require_dsl_shared.parseDeclaration(source, {
|
|
34
|
+
kind: "surface-definitions",
|
|
35
|
+
allowQuotedTitle: true,
|
|
36
|
+
expected: "Expected surface-definitions <id> \"Title\" {",
|
|
37
|
+
fieldKeywords: [
|
|
38
|
+
"order",
|
|
39
|
+
"description",
|
|
40
|
+
"page",
|
|
41
|
+
"section",
|
|
42
|
+
"field",
|
|
43
|
+
"default",
|
|
44
|
+
"scopes",
|
|
45
|
+
"binding",
|
|
46
|
+
"resource-id",
|
|
47
|
+
"options",
|
|
48
|
+
"validation",
|
|
49
|
+
"policy",
|
|
50
|
+
"presentations",
|
|
51
|
+
"metadata"
|
|
52
|
+
],
|
|
53
|
+
nestedFieldKeywords: [
|
|
54
|
+
"page",
|
|
55
|
+
"section",
|
|
56
|
+
"field"
|
|
57
|
+
],
|
|
58
|
+
error: parseSharedError
|
|
59
|
+
});
|
|
60
|
+
if (!declaration.title) throw new AutoSurfaceDefinitionDslCompileError("Expected surface-definitions <id> \"Title\" {", declaration.idToken.line, declaration.idToken.column);
|
|
61
|
+
const group = {
|
|
62
|
+
id: declaration.id,
|
|
63
|
+
title: declaration.title,
|
|
64
|
+
pages: []
|
|
65
|
+
};
|
|
66
|
+
for (const field of declaration.fields) {
|
|
67
|
+
if (parseSharedMetaField(group, field)) continue;
|
|
68
|
+
if (field.name.value !== "page") throw unsupportedField("surface-definitions", field);
|
|
69
|
+
group.pages.push(parsePageField(field));
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
group,
|
|
73
|
+
files: buildDefinitionFiles(group)
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function formatAutoSurfaceDefinitionDsl(source) {
|
|
77
|
+
const compiled = compileAutoSurfaceDefinitionDsl(source);
|
|
78
|
+
const lines = [];
|
|
79
|
+
emitGroup(lines, compiled.group, 0);
|
|
80
|
+
return `${lines.join("\n")}\n`;
|
|
81
|
+
}
|
|
82
|
+
function parsePageField(field) {
|
|
83
|
+
const head = parseIdTitleField(field, "Expected page <id> \"Title\" {");
|
|
84
|
+
const page = {
|
|
85
|
+
id: head.id,
|
|
86
|
+
title: head.title,
|
|
87
|
+
sections: [],
|
|
88
|
+
fields: []
|
|
89
|
+
};
|
|
90
|
+
for (const child of field.children ?? []) {
|
|
91
|
+
if (parseSharedMetaField(page, child)) continue;
|
|
92
|
+
if (child.name.value === "section") {
|
|
93
|
+
page.sections.push(parseSectionField(child));
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (child.name.value === "field") {
|
|
97
|
+
page.fields.push(parseResourceField(child));
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
throw unsupportedField("page", child);
|
|
101
|
+
}
|
|
102
|
+
return page;
|
|
103
|
+
}
|
|
104
|
+
function parseSectionField(field) {
|
|
105
|
+
const head = parseIdTitleField(field, "Expected section <id> \"Title\" {");
|
|
106
|
+
const section = {
|
|
107
|
+
id: head.id,
|
|
108
|
+
title: head.title,
|
|
109
|
+
fields: []
|
|
110
|
+
};
|
|
111
|
+
for (const child of field.children ?? []) {
|
|
112
|
+
if (parseSharedMetaField(section, child)) continue;
|
|
113
|
+
if (child.name.value === "field") {
|
|
114
|
+
section.fields.push(parseResourceField(child));
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
throw unsupportedField("section", child);
|
|
118
|
+
}
|
|
119
|
+
return section;
|
|
120
|
+
}
|
|
121
|
+
function parseResourceField(field) {
|
|
122
|
+
const id = field.values[0];
|
|
123
|
+
const typeToken = field.values[1];
|
|
124
|
+
const title = field.values[2];
|
|
125
|
+
if (field.values.length !== 3 || id?.type !== "word" || typeToken?.type !== "word" || title?.type !== "string") throw new AutoSurfaceDefinitionDslCompileError("Expected field <id> <type> \"Title\" {", field.name.line, field.name.column);
|
|
126
|
+
const type = typeToken.value;
|
|
127
|
+
if (!VALUE_TYPES.has(type)) throw new AutoSurfaceDefinitionDslCompileError(`Unsupported field type: ${type}`, typeToken.line, typeToken.column);
|
|
128
|
+
const resource = {
|
|
129
|
+
id: id.value,
|
|
130
|
+
type,
|
|
131
|
+
title: require_dsl_shared.parseDslStringToken(title, parseSharedError)
|
|
132
|
+
};
|
|
133
|
+
for (const child of field.children ?? []) {
|
|
134
|
+
if (parseSharedMetaField(resource, child)) continue;
|
|
135
|
+
parseFieldAttributeField(resource, child);
|
|
136
|
+
}
|
|
137
|
+
return resource;
|
|
138
|
+
}
|
|
139
|
+
function parseSharedMetaField(node, field) {
|
|
140
|
+
if (field.name.value === "order") {
|
|
141
|
+
if ("type" in node) return false;
|
|
142
|
+
node.order = parseNumberField(field, "order");
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
if (field.name.value === "description") {
|
|
146
|
+
const value = parseJsonValueFromTokens(field.values, field.name.line, field.name.column);
|
|
147
|
+
if (typeof value !== "string") throw new AutoSurfaceDefinitionDslCompileError("description must be a string", field.name.line, field.name.column);
|
|
148
|
+
node.description = value;
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
function parseFieldAttributeField(field, attribute) {
|
|
154
|
+
if (attribute.name.value === "default") {
|
|
155
|
+
field.defaultValue = parseJsonValueFromTokens(attribute.values, attribute.name.line, attribute.name.column);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
if (attribute.name.value === "scopes") {
|
|
159
|
+
const scopes = parseJsonValueFromTokens(attribute.values, attribute.name.line, attribute.name.column);
|
|
160
|
+
if (!Array.isArray(scopes) || !scopes.every((scope) => typeof scope === "string" && LAYERS.has(scope))) throw new AutoSurfaceDefinitionDslCompileError("scopes must be an array of \"system\", \"package\", \"instance\", or \"user\"", attribute.name.line, attribute.name.column);
|
|
161
|
+
field.scopes = scopes;
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (attribute.name.value === "binding") {
|
|
165
|
+
const layerToken = attribute.values[0];
|
|
166
|
+
if (layerToken?.type !== "word" || attribute.values.length < 2) throw new AutoSurfaceDefinitionDslCompileError("Expected binding <layer> \"<path>\"", attribute.name.line, attribute.name.column);
|
|
167
|
+
const layer = layerToken.value;
|
|
168
|
+
if (!LAYERS.has(layer)) throw new AutoSurfaceDefinitionDslCompileError(`Unsupported binding layer: ${layer}`, layerToken.line, layerToken.column);
|
|
169
|
+
const value = parseJsonValueFromTokens(attribute.values.slice(1), attribute.name.line, layerToken.column);
|
|
170
|
+
if (typeof value !== "string") throw new AutoSurfaceDefinitionDslCompileError("binding value must be a string", attribute.name.line, attribute.name.column);
|
|
171
|
+
field.bindings = {
|
|
172
|
+
...field.bindings ?? {},
|
|
173
|
+
[layer]: value
|
|
174
|
+
};
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (attribute.name.value === "resource-id") {
|
|
178
|
+
const value = parseJsonValueFromTokens(attribute.values, attribute.name.line, attribute.name.column);
|
|
179
|
+
if (typeof value !== "string") throw new AutoSurfaceDefinitionDslCompileError("resource-id must be a string", attribute.name.line, attribute.name.column);
|
|
180
|
+
field.explicitId = value;
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
if ([
|
|
184
|
+
"options",
|
|
185
|
+
"validation",
|
|
186
|
+
"policy",
|
|
187
|
+
"presentations",
|
|
188
|
+
"metadata"
|
|
189
|
+
].includes(attribute.name.value)) {
|
|
190
|
+
const key = attribute.name.value;
|
|
191
|
+
const value = parseJsonValueFromTokens(attribute.values, attribute.name.line, attribute.name.column);
|
|
192
|
+
if (key === "options") {
|
|
193
|
+
if (!Array.isArray(value)) throw new AutoSurfaceDefinitionDslCompileError("options must be an array", attribute.name.line, attribute.name.column);
|
|
194
|
+
field.options = value;
|
|
195
|
+
} else if (key === "validation") field.validation = assertRecordValue(value, key, attribute.name.line, attribute.name.column);
|
|
196
|
+
else if (key === "policy") field.policy = assertRecordValue(value, key, attribute.name.line, attribute.name.column);
|
|
197
|
+
else if (key === "presentations") field.presentations = assertRecordValue(value, key, attribute.name.line, attribute.name.column);
|
|
198
|
+
else if (key === "metadata") field.metadata = assertRecordValue(value, key, attribute.name.line, attribute.name.column);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
throw new AutoSurfaceDefinitionDslCompileError(`Unsupported field attribute line: ${attribute.name.value}`, attribute.name.line, attribute.name.column);
|
|
202
|
+
}
|
|
203
|
+
function parseIdTitleField(field, message) {
|
|
204
|
+
const id = field.values[0];
|
|
205
|
+
const title = field.values[1];
|
|
206
|
+
if (field.values.length !== 2 || id?.type !== "word" || title?.type !== "string") throw new AutoSurfaceDefinitionDslCompileError(message, field.name.line, field.name.column);
|
|
207
|
+
return {
|
|
208
|
+
id: id.value,
|
|
209
|
+
title: require_dsl_shared.parseDslStringToken(title, parseSharedError)
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
function parseNumberField(field, name) {
|
|
213
|
+
const value = field.values[0];
|
|
214
|
+
if (field.values.length !== 1 || value?.type !== "word" || !/^-?\d+(?:\.\d+)?$/.test(value.value)) throw new AutoSurfaceDefinitionDslCompileError(`Expected ${name} <number>`, value?.line ?? field.name.line, value?.column ?? field.name.column);
|
|
215
|
+
return Number(value.value);
|
|
216
|
+
}
|
|
217
|
+
function parseJsonValueFromTokens(tokens, line, column) {
|
|
218
|
+
return parseJsonValue(joinDslValues(tokens), line, tokens[0]?.column ?? column);
|
|
219
|
+
}
|
|
220
|
+
function joinDslValues(tokens) {
|
|
221
|
+
return tokens.map((token) => token.value).join(" ");
|
|
222
|
+
}
|
|
223
|
+
function unsupportedField(context, field) {
|
|
224
|
+
return new AutoSurfaceDefinitionDslCompileError(`Unsupported ${context} DSL statement: ${field.name.value}`, field.name.line, field.name.column);
|
|
225
|
+
}
|
|
226
|
+
function parseSharedError(message, line, column = 1) {
|
|
227
|
+
return new AutoSurfaceDefinitionDslCompileError(message, line, column);
|
|
228
|
+
}
|
|
229
|
+
function buildDefinitionFiles(group) {
|
|
230
|
+
const files = {};
|
|
231
|
+
const addFile = (path, content) => {
|
|
232
|
+
if (Object.hasOwn(files, path)) throw new AutoSurfaceDefinitionDslCompileError(`Duplicate generated path: ${path}`, 1);
|
|
233
|
+
files[path] = content;
|
|
234
|
+
};
|
|
235
|
+
addFile(`${group.id}/group.json`, directoryMetaToJson(group));
|
|
236
|
+
for (const page of group.pages) {
|
|
237
|
+
addFile(`${group.id}/${page.id}/page.json`, directoryMetaToJson(page));
|
|
238
|
+
for (const field of page.fields) addFile(`${group.id}/${page.id}/${field.id}.field.json`, fieldToJson(field));
|
|
239
|
+
for (const section of page.sections) {
|
|
240
|
+
addFile(`${group.id}/${page.id}/${section.id}/section.json`, directoryMetaToJson(section));
|
|
241
|
+
for (const field of section.fields) addFile(`${group.id}/${page.id}/${section.id}/${field.id}.field.json`, fieldToJson(field));
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return files;
|
|
245
|
+
}
|
|
246
|
+
function directoryMetaToJson(meta) {
|
|
247
|
+
return {
|
|
248
|
+
title: meta.title,
|
|
249
|
+
...meta.description !== void 0 ? { description: meta.description } : {},
|
|
250
|
+
...meta.order !== void 0 ? { order: meta.order } : {}
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
function fieldToJson(field) {
|
|
254
|
+
return {
|
|
255
|
+
...field.explicitId !== void 0 ? { id: field.explicitId } : {},
|
|
256
|
+
type: field.type,
|
|
257
|
+
title: field.title,
|
|
258
|
+
...field.description !== void 0 ? { description: field.description } : {},
|
|
259
|
+
...field.defaultValue !== void 0 ? { defaultValue: field.defaultValue } : {},
|
|
260
|
+
...field.options !== void 0 ? { options: field.options } : {},
|
|
261
|
+
...field.validation !== void 0 ? { validation: field.validation } : {},
|
|
262
|
+
...field.scopes !== void 0 ? { scopes: field.scopes } : {},
|
|
263
|
+
...field.bindings !== void 0 ? { bindings: field.bindings } : {},
|
|
264
|
+
...field.policy !== void 0 ? { policy: field.policy } : {},
|
|
265
|
+
...field.presentations !== void 0 ? { presentations: field.presentations } : {},
|
|
266
|
+
...field.metadata !== void 0 ? { metadata: field.metadata } : {}
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
function emitGroup(lines, group, indent) {
|
|
270
|
+
lines.push(`${space(indent)}surface-definitions ${group.id} ${quote(group.title)} {`);
|
|
271
|
+
emitMetaLines(lines, group, indent + 2);
|
|
272
|
+
for (const page of group.pages) emitPage(lines, page, indent + 2);
|
|
273
|
+
lines.push(`${space(indent)}}`);
|
|
274
|
+
}
|
|
275
|
+
function emitPage(lines, page, indent) {
|
|
276
|
+
lines.push(`${space(indent)}page ${page.id} ${quote(page.title)} {`);
|
|
277
|
+
emitMetaLines(lines, page, indent + 2);
|
|
278
|
+
for (const field of page.fields) emitField(lines, field, indent + 2);
|
|
279
|
+
for (const section of page.sections) emitSection(lines, section, indent + 2);
|
|
280
|
+
lines.push(`${space(indent)}}`);
|
|
281
|
+
}
|
|
282
|
+
function emitSection(lines, section, indent) {
|
|
283
|
+
lines.push(`${space(indent)}section ${section.id} ${quote(section.title)} {`);
|
|
284
|
+
emitMetaLines(lines, section, indent + 2);
|
|
285
|
+
for (const field of section.fields) emitField(lines, field, indent + 2);
|
|
286
|
+
lines.push(`${space(indent)}}`);
|
|
287
|
+
}
|
|
288
|
+
function emitField(lines, field, indent) {
|
|
289
|
+
lines.push(`${space(indent)}field ${field.id} ${field.type} ${quote(field.title)} {`);
|
|
290
|
+
emitMetaLines(lines, field, indent + 2);
|
|
291
|
+
if (field.defaultValue !== void 0) lines.push(`${space(indent + 2)}default ${formatJson(field.defaultValue)}`);
|
|
292
|
+
if (field.scopes !== void 0) lines.push(`${space(indent + 2)}scopes ${formatJson(field.scopes)}`);
|
|
293
|
+
for (const layer of LAYER_ORDER) {
|
|
294
|
+
const value = field.bindings?.[layer];
|
|
295
|
+
if (value !== void 0) lines.push(`${space(indent + 2)}binding ${layer} ${quote(value)}`);
|
|
296
|
+
}
|
|
297
|
+
if (field.options !== void 0) lines.push(`${space(indent + 2)}options ${formatJson(field.options)}`);
|
|
298
|
+
if (field.validation !== void 0) lines.push(`${space(indent + 2)}validation ${formatJson(field.validation)}`);
|
|
299
|
+
if (field.policy !== void 0) lines.push(`${space(indent + 2)}policy ${formatJson(field.policy)}`);
|
|
300
|
+
if (field.presentations !== void 0) lines.push(`${space(indent + 2)}presentations ${formatJson(field.presentations)}`);
|
|
301
|
+
if (field.metadata !== void 0) lines.push(`${space(indent + 2)}metadata ${formatJson(field.metadata)}`);
|
|
302
|
+
if (field.explicitId !== void 0) lines.push(`${space(indent + 2)}resource-id ${quote(field.explicitId)}`);
|
|
303
|
+
lines.push(`${space(indent)}}`);
|
|
304
|
+
}
|
|
305
|
+
function emitMetaLines(lines, node, indent) {
|
|
306
|
+
if (node.description !== void 0) lines.push(`${space(indent)}description ${quote(node.description)}`);
|
|
307
|
+
if (!("type" in node) && node.order !== void 0) lines.push(`${space(indent)}order ${node.order}`);
|
|
308
|
+
}
|
|
309
|
+
function parseJsonValue(source, line, column) {
|
|
310
|
+
try {
|
|
311
|
+
return JSON.parse(source);
|
|
312
|
+
} catch (error) {
|
|
313
|
+
throw new AutoSurfaceDefinitionDslCompileError(`Invalid JSON value: ${error instanceof Error ? error.message : String(error)}`, line, column);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
function assertRecordValue(value, name, line, column) {
|
|
317
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) throw new AutoSurfaceDefinitionDslCompileError(`${name} must be an object`, line, column);
|
|
318
|
+
return value;
|
|
319
|
+
}
|
|
320
|
+
function quote(value) {
|
|
321
|
+
return JSON.stringify(value);
|
|
322
|
+
}
|
|
323
|
+
function formatJson(value) {
|
|
324
|
+
return JSON.stringify(value);
|
|
325
|
+
}
|
|
326
|
+
function space(count) {
|
|
327
|
+
return " ".repeat(count);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
//#endregion
|
|
331
|
+
exports.AutoSurfaceDefinitionDslCompileError = AutoSurfaceDefinitionDslCompileError;
|
|
332
|
+
exports.compileAutoSurfaceDefinitionDsl = compileAutoSurfaceDefinitionDsl;
|
|
333
|
+
exports.formatAutoSurfaceDefinitionDsl = formatAutoSurfaceDefinitionDsl;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AutoSurfaceResourceDefinition, AutoSurfaceValueType } from "./types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/definition-dsl.d.ts
|
|
4
|
+
interface AutoSurfaceDefinitionDslCompileResult {
|
|
5
|
+
group: AutoSurfaceDefinitionDslGroup;
|
|
6
|
+
files: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
interface AutoSurfaceDefinitionDslGroup extends AutoSurfaceDirectoryMeta {
|
|
9
|
+
id: string;
|
|
10
|
+
pages: AutoSurfaceDefinitionDslPage[];
|
|
11
|
+
}
|
|
12
|
+
interface AutoSurfaceDefinitionDslPage extends AutoSurfaceDirectoryMeta {
|
|
13
|
+
id: string;
|
|
14
|
+
sections: AutoSurfaceDefinitionDslSection[];
|
|
15
|
+
fields: AutoSurfaceDefinitionDslField[];
|
|
16
|
+
}
|
|
17
|
+
interface AutoSurfaceDefinitionDslSection extends AutoSurfaceDirectoryMeta {
|
|
18
|
+
id: string;
|
|
19
|
+
fields: AutoSurfaceDefinitionDslField[];
|
|
20
|
+
}
|
|
21
|
+
interface AutoSurfaceDefinitionDslField extends Omit<AutoSurfaceResourceDefinition, "id" | "title" | "type"> {
|
|
22
|
+
id: string;
|
|
23
|
+
type: AutoSurfaceValueType;
|
|
24
|
+
title: string;
|
|
25
|
+
explicitId?: string;
|
|
26
|
+
}
|
|
27
|
+
declare class AutoSurfaceDefinitionDslCompileError extends Error {
|
|
28
|
+
readonly line: number;
|
|
29
|
+
readonly column: number;
|
|
30
|
+
constructor(message: string, line: number, column?: number);
|
|
31
|
+
}
|
|
32
|
+
interface AutoSurfaceDirectoryMeta {
|
|
33
|
+
title: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
order?: number;
|
|
36
|
+
}
|
|
37
|
+
declare function compileAutoSurfaceDefinitionDsl(source: string): AutoSurfaceDefinitionDslCompileResult;
|
|
38
|
+
declare function formatAutoSurfaceDefinitionDsl(source: string): string;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { AutoSurfaceDefinitionDslCompileError, AutoSurfaceDefinitionDslCompileResult, AutoSurfaceDefinitionDslField, AutoSurfaceDefinitionDslGroup, AutoSurfaceDefinitionDslPage, AutoSurfaceDefinitionDslSection, compileAutoSurfaceDefinitionDsl, formatAutoSurfaceDefinitionDsl };
|
|
41
|
+
//# sourceMappingURL=definition-dsl.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-dsl.d.cts","names":[],"sources":["../../src/auto-surface/definition-dsl.ts"],"mappings":";;;UAeiB,qCAAA;EACf,KAAA,EAAO,6BAAA;EACP,KAAA,EAAO,MAAA;AAAA;AAAA,UAGQ,6BAAA,SAAsC,wBAAA;EACrD,EAAA;EACA,KAAA,EAAO,4BAAA;AAAA;AAAA,UAGQ,4BAAA,SAAqC,wBAAA;EACpD,EAAA;EACA,QAAA,EAAU,+BAAA;EACV,MAAA,EAAQ,6BAAA;AAAA;AAAA,UAGO,+BAAA,SAAwC,wBAAA;EACvD,EAAA;EACA,MAAA,EAAQ,6BAAA;AAAA;AAAA,UAGO,6BAAA,SACP,IAAA,CAAK,6BAAA;EACb,EAAA;EACA,IAAA,EAAM,oBAAA;EACN,KAAA;EACA,UAAA;AAAA;AAAA,cAGW,oCAAA,SAA6C,KAAA;EAAA,SAG7C,IAAA;EAAA,SACA,MAAA;cAFT,OAAA,UACS,IAAA,UACA,MAAA;AAAA;AAAA,UAOH,wBAAA;EACR,KAAA;EACA,WAAA;EACA,KAAA;AAAA;AAAA,iBAec,+BAAA,CACd,MAAA,WACC,qCAAA;AAAA,iBAgDa,8BAAA,CAA+B,MAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AutoSurfaceResourceDefinition, AutoSurfaceValueType } from "./types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/auto-surface/definition-dsl.d.ts
|
|
4
|
+
interface AutoSurfaceDefinitionDslCompileResult {
|
|
5
|
+
group: AutoSurfaceDefinitionDslGroup;
|
|
6
|
+
files: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
interface AutoSurfaceDefinitionDslGroup extends AutoSurfaceDirectoryMeta {
|
|
9
|
+
id: string;
|
|
10
|
+
pages: AutoSurfaceDefinitionDslPage[];
|
|
11
|
+
}
|
|
12
|
+
interface AutoSurfaceDefinitionDslPage extends AutoSurfaceDirectoryMeta {
|
|
13
|
+
id: string;
|
|
14
|
+
sections: AutoSurfaceDefinitionDslSection[];
|
|
15
|
+
fields: AutoSurfaceDefinitionDslField[];
|
|
16
|
+
}
|
|
17
|
+
interface AutoSurfaceDefinitionDslSection extends AutoSurfaceDirectoryMeta {
|
|
18
|
+
id: string;
|
|
19
|
+
fields: AutoSurfaceDefinitionDslField[];
|
|
20
|
+
}
|
|
21
|
+
interface AutoSurfaceDefinitionDslField extends Omit<AutoSurfaceResourceDefinition, "id" | "title" | "type"> {
|
|
22
|
+
id: string;
|
|
23
|
+
type: AutoSurfaceValueType;
|
|
24
|
+
title: string;
|
|
25
|
+
explicitId?: string;
|
|
26
|
+
}
|
|
27
|
+
declare class AutoSurfaceDefinitionDslCompileError extends Error {
|
|
28
|
+
readonly line: number;
|
|
29
|
+
readonly column: number;
|
|
30
|
+
constructor(message: string, line: number, column?: number);
|
|
31
|
+
}
|
|
32
|
+
interface AutoSurfaceDirectoryMeta {
|
|
33
|
+
title: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
order?: number;
|
|
36
|
+
}
|
|
37
|
+
declare function compileAutoSurfaceDefinitionDsl(source: string): AutoSurfaceDefinitionDslCompileResult;
|
|
38
|
+
declare function formatAutoSurfaceDefinitionDsl(source: string): string;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { AutoSurfaceDefinitionDslCompileError, AutoSurfaceDefinitionDslCompileResult, AutoSurfaceDefinitionDslField, AutoSurfaceDefinitionDslGroup, AutoSurfaceDefinitionDslPage, AutoSurfaceDefinitionDslSection, compileAutoSurfaceDefinitionDsl, formatAutoSurfaceDefinitionDsl };
|
|
41
|
+
//# sourceMappingURL=definition-dsl.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-dsl.d.mts","names":[],"sources":["../../src/auto-surface/definition-dsl.ts"],"mappings":";;;UAeiB,qCAAA;EACf,KAAA,EAAO,6BAAA;EACP,KAAA,EAAO,MAAA;AAAA;AAAA,UAGQ,6BAAA,SAAsC,wBAAA;EACrD,EAAA;EACA,KAAA,EAAO,4BAAA;AAAA;AAAA,UAGQ,4BAAA,SAAqC,wBAAA;EACpD,EAAA;EACA,QAAA,EAAU,+BAAA;EACV,MAAA,EAAQ,6BAAA;AAAA;AAAA,UAGO,+BAAA,SAAwC,wBAAA;EACvD,EAAA;EACA,MAAA,EAAQ,6BAAA;AAAA;AAAA,UAGO,6BAAA,SACP,IAAA,CAAK,6BAAA;EACb,EAAA;EACA,IAAA,EAAM,oBAAA;EACN,KAAA;EACA,UAAA;AAAA;AAAA,cAGW,oCAAA,SAA6C,KAAA;EAAA,SAG7C,IAAA;EAAA,SACA,MAAA;cAFT,OAAA,UACS,IAAA,UACA,MAAA;AAAA;AAAA,UAOH,wBAAA;EACR,KAAA;EACA,WAAA;EACA,KAAA;AAAA;AAAA,iBAec,+BAAA,CACd,MAAA,WACC,qCAAA;AAAA,iBAgDa,8BAAA,CAA+B,MAAA"}
|