@nextclaw/app-runtime 0.9.12 → 0.9.14
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/README.md +2 -2
- package/dist/{main.js → app/main.js} +2 -2
- package/dist/app/main.js.map +1 -0
- package/dist/{commands → controllers}/create.controller.d.ts +2 -2
- package/dist/controllers/create.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/create.controller.js +2 -2
- package/dist/controllers/create.controller.js.map +1 -0
- package/dist/{commands → controllers}/dev.controller.js +1 -1
- package/dist/controllers/dev.controller.js.map +1 -0
- package/dist/{commands → controllers}/grant.controller.d.ts +3 -3
- package/dist/controllers/grant.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/grant.controller.js +2 -2
- package/dist/controllers/grant.controller.js.map +1 -0
- package/dist/{commands → controllers}/info.controller.d.ts +2 -2
- package/dist/controllers/info.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/info.controller.js +2 -2
- package/dist/controllers/info.controller.js.map +1 -0
- package/dist/{commands → controllers}/inspect.controller.js +8 -2
- package/dist/controllers/inspect.controller.js.map +1 -0
- package/dist/{commands → controllers}/install.controller.d.ts +2 -2
- package/dist/controllers/install.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/install.controller.js +2 -2
- package/dist/controllers/install.controller.js.map +1 -0
- package/dist/{commands → controllers}/list.controller.d.ts +2 -2
- package/dist/controllers/list.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/list.controller.js +2 -2
- package/dist/controllers/list.controller.js.map +1 -0
- package/dist/controllers/pack.controller.d.ts +19 -0
- package/dist/controllers/pack.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/pack.controller.js +8 -4
- package/dist/controllers/pack.controller.js.map +1 -0
- package/dist/{commands → controllers}/permissions.controller.d.ts +2 -2
- package/dist/controllers/permissions.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/permissions.controller.js +2 -2
- package/dist/controllers/permissions.controller.js.map +1 -0
- package/dist/{commands → controllers}/publish.controller.d.ts +3 -3
- package/dist/controllers/publish.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/publish.controller.js +2 -2
- package/dist/controllers/publish.controller.js.map +1 -0
- package/dist/{commands → controllers}/registry.controller.d.ts +2 -2
- package/dist/controllers/registry.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/registry.controller.js +2 -2
- package/dist/controllers/registry.controller.js.map +1 -0
- package/dist/{commands → controllers}/revoke.controller.d.ts +2 -2
- package/dist/controllers/revoke.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/revoke.controller.js +2 -2
- package/dist/controllers/revoke.controller.js.map +1 -0
- package/dist/{commands → controllers}/run.controller.js +8 -6
- package/dist/controllers/run.controller.js.map +1 -0
- package/dist/{commands → controllers}/uninstall.controller.d.ts +2 -2
- package/dist/controllers/uninstall.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/uninstall.controller.js +2 -2
- package/dist/controllers/uninstall.controller.js.map +1 -0
- package/dist/{commands → controllers}/update.controller.d.ts +2 -2
- package/dist/controllers/update.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/update.controller.js +2 -2
- package/dist/controllers/update.controller.js.map +1 -0
- package/dist/{commands → controllers}/validate-publish.controller.d.ts +3 -3
- package/dist/controllers/validate-publish.controller.d.ts.map +1 -0
- package/dist/{commands → controllers}/validate-publish.controller.js +9 -5
- package/dist/controllers/validate-publish.controller.js.map +1 -0
- package/dist/index.d.ts +51 -51
- package/dist/index.js +46 -45
- package/dist/package.js +1 -1
- package/dist/{runtime → services}/app-build.service.d.ts +2 -2
- package/dist/services/app-build.service.d.ts.map +1 -0
- package/dist/{runtime → services}/app-build.service.js +4 -2
- package/dist/services/app-build.service.js.map +1 -0
- package/dist/{bundle → services}/app-bundle.service.d.ts +18 -6
- package/dist/services/app-bundle.service.d.ts.map +1 -0
- package/dist/services/app-bundle.service.js +305 -0
- package/dist/services/app-bundle.service.js.map +1 -0
- package/dist/{permissions → services}/app-grant.service.d.ts +4 -4
- package/dist/services/app-grant.service.d.ts.map +1 -0
- package/dist/{permissions → services}/app-grant.service.js +7 -4
- package/dist/services/app-grant.service.js.map +1 -0
- package/dist/{paths → services}/app-home.service.d.ts +1 -1
- package/dist/services/app-home.service.d.ts.map +1 -0
- package/dist/{paths → services}/app-home.service.js +1 -1
- package/dist/services/app-home.service.js.map +1 -0
- package/dist/{host → services}/app-host.service.d.ts +2 -2
- package/dist/services/app-host.service.d.ts.map +1 -0
- package/dist/{host → services}/app-host.service.js +3 -3
- package/dist/services/app-host.service.js.map +1 -0
- package/dist/services/app-install-source.service.js +72 -0
- package/dist/services/app-install-source.service.js.map +1 -0
- package/dist/{install → services}/app-installation.service.d.ts +15 -14
- package/dist/services/app-installation.service.d.ts.map +1 -0
- package/dist/services/app-installation.service.js +332 -0
- package/dist/services/app-installation.service.js.map +1 -0
- package/dist/services/app-instance.service.d.ts +34 -0
- package/dist/services/app-instance.service.d.ts.map +1 -0
- package/dist/{host → services}/app-instance.service.js +4 -4
- package/dist/services/app-instance.service.js.map +1 -0
- package/dist/{manifest → services}/app-manifest.service.d.ts +12 -2
- package/dist/services/app-manifest.service.d.ts.map +1 -0
- package/dist/services/app-manifest.service.js +271 -0
- package/dist/services/app-manifest.service.js.map +1 -0
- package/dist/{publish → services}/app-marketplace-client.service.d.ts +2 -2
- package/dist/services/app-marketplace-client.service.d.ts.map +1 -0
- package/dist/{publish → services}/app-marketplace-client.service.js +2 -2
- package/dist/services/app-marketplace-client.service.js.map +1 -0
- package/dist/{publish → services}/app-marketplace-metadata.service.d.ts +3 -3
- package/dist/services/app-marketplace-metadata.service.d.ts.map +1 -0
- package/dist/{publish → services}/app-marketplace-metadata.service.js +1 -1
- package/dist/services/app-marketplace-metadata.service.js.map +1 -0
- package/dist/{permissions → services}/app-permissions.service.d.ts +3 -3
- package/dist/services/app-permissions.service.d.ts.map +1 -0
- package/dist/{permissions → services}/app-permissions.service.js +4 -1
- package/dist/services/app-permissions.service.js.map +1 -0
- package/dist/{publish → services}/app-publish-validation.service.d.ts +9 -7
- package/dist/services/app-publish-validation.service.d.ts.map +1 -0
- package/dist/{publish → services}/app-publish-validation.service.js +14 -10
- package/dist/services/app-publish-validation.service.js.map +1 -0
- package/dist/{publish → services}/app-publish.service.d.ts +5 -5
- package/dist/services/app-publish.service.d.ts.map +1 -0
- package/dist/{publish → services}/app-publish.service.js +6 -6
- package/dist/services/app-publish.service.js.map +1 -0
- package/dist/{registry → services}/app-registry-config.service.d.ts +3 -3
- package/dist/{registry → services}/app-registry-config.service.d.ts.map +1 -1
- package/dist/{registry → services}/app-registry-config.service.js +3 -3
- package/dist/services/app-registry-config.service.js.map +1 -0
- package/dist/{registry → services}/app-registry.service.d.ts +18 -5
- package/dist/services/app-registry.service.d.ts.map +1 -0
- package/dist/services/app-registry.service.js +210 -0
- package/dist/services/app-registry.service.js.map +1 -0
- package/dist/{registry → services}/app-remote-registry-client.service.d.ts +6 -2
- package/dist/services/app-remote-registry-client.service.d.ts.map +1 -0
- package/dist/{registry → services}/app-remote-registry-client.service.js +54 -8
- package/dist/services/app-remote-registry-client.service.js.map +1 -0
- package/dist/{cli → services}/app-runtime-cli.service.d.ts +1 -1
- package/dist/services/app-runtime-cli.service.d.ts.map +1 -0
- package/dist/{cli → services}/app-runtime-cli.service.js +19 -19
- package/dist/services/app-runtime-cli.service.js.map +1 -0
- package/dist/{cli → services}/app-runtime-options.service.d.ts +6 -6
- package/dist/services/app-runtime-options.service.d.ts.map +1 -0
- package/dist/{cli → services}/app-runtime-options.service.js +3 -9
- package/dist/services/app-runtime-options.service.js.map +1 -0
- package/dist/{runtime → services}/app-runtime-toolchain.service.d.ts +1 -1
- package/dist/services/app-runtime-toolchain.service.d.ts.map +1 -0
- package/dist/{runtime → services}/app-runtime-toolchain.service.js +1 -1
- package/dist/services/app-runtime-toolchain.service.js.map +1 -0
- package/dist/{scaffold → services}/app-scaffold.service.d.ts +1 -1
- package/dist/{scaffold → services}/app-scaffold.service.d.ts.map +1 -1
- package/dist/{scaffold → services}/app-scaffold.service.js +1 -1
- package/dist/{scaffold → services}/app-scaffold.service.js.map +1 -1
- package/dist/{scaffold → services}/app-ts-http-lite-scaffold-template.service.d.ts +1 -1
- package/dist/{scaffold → services}/app-ts-http-lite-scaffold-template.service.d.ts.map +1 -1
- package/dist/{scaffold → services}/app-ts-http-lite-scaffold-template.service.js +1 -1
- package/dist/{scaffold → services}/app-ts-http-lite-scaffold-template.service.js.map +1 -1
- package/dist/{scaffold → services}/app-ts-http-scaffold-template.service.d.ts +1 -1
- package/dist/{scaffold → services}/app-ts-http-scaffold-template.service.d.ts.map +1 -1
- package/dist/{scaffold → services}/app-ts-http-scaffold-template.service.js +1 -1
- package/dist/{scaffold → services}/app-ts-http-scaffold-template.service.js.map +1 -1
- package/dist/{bridge → services}/host-bridge.service.d.ts +2 -2
- package/dist/services/host-bridge.service.d.ts.map +1 -0
- package/dist/{bridge → services}/host-bridge.service.js +1 -1
- package/dist/services/host-bridge.service.js.map +1 -0
- package/dist/services/main-runner.service.d.ts +9 -0
- package/dist/services/main-runner.service.d.ts.map +1 -0
- package/dist/services/main-runner.service.js +6 -0
- package/dist/services/main-runner.service.js.map +1 -0
- package/dist/{publish → services}/platform-auth-state.service.d.ts +1 -1
- package/dist/services/platform-auth-state.service.d.ts.map +1 -0
- package/dist/{publish → services}/platform-auth-state.service.js +1 -1
- package/dist/services/platform-auth-state.service.js.map +1 -0
- package/dist/{ui → services}/ui-server.service.d.ts +3 -3
- package/dist/services/ui-server.service.d.ts.map +1 -0
- package/dist/{ui → services}/ui-server.service.js +1 -1
- package/dist/services/ui-server.service.js.map +1 -0
- package/dist/{runtime → services}/wasm-main-runner.service.d.ts +3 -3
- package/dist/services/wasm-main-runner.service.d.ts.map +1 -0
- package/dist/{runtime → services}/wasm-main-runner.service.js +2 -2
- package/dist/services/wasm-main-runner.service.js.map +1 -0
- package/dist/{sidecar → services}/wasm-sidecar-client.service.d.ts +1 -1
- package/dist/services/wasm-sidecar-client.service.d.ts.map +1 -0
- package/dist/{sidecar → services}/wasm-sidecar-client.service.js +1 -1
- package/dist/services/wasm-sidecar-client.service.js.map +1 -0
- package/dist/{runtime → services}/wasmtime-wasi-http-component.service.d.ts +1 -1
- package/dist/services/wasmtime-wasi-http-component.service.d.ts.map +1 -0
- package/dist/{runtime → services}/wasmtime-wasi-http-component.service.js +1 -1
- package/dist/services/wasmtime-wasi-http-component.service.js.map +1 -0
- package/dist/{bundle → types}/app-bundle.types.d.ts +1 -1
- package/dist/types/app-bundle.types.d.ts.map +1 -0
- package/dist/{install → types}/app-installation.types.d.ts +27 -7
- package/dist/types/app-installation.types.d.ts.map +1 -0
- package/dist/types/app-manifest.types.d.ts +119 -0
- package/dist/types/app-manifest.types.d.ts.map +1 -0
- package/dist/types/app-manifest.types.js +11 -0
- package/dist/types/app-manifest.types.js.map +1 -0
- package/dist/{permissions → types}/app-permissions.types.d.ts +2 -2
- package/dist/types/app-permissions.types.d.ts.map +1 -0
- package/dist/{publish → types}/app-publish.types.d.ts +4 -4
- package/dist/types/app-publish.types.d.ts.map +1 -0
- package/dist/{publish → types}/app-publish.types.js +1 -1
- package/dist/types/app-publish.types.js.map +1 -0
- package/dist/{registry → types}/app-registry.types.d.ts +8 -4
- package/dist/types/app-registry.types.d.ts.map +1 -0
- package/dist/{registry → types}/app-remote-registry.types.d.ts +3 -3
- package/dist/types/app-remote-registry.types.d.ts.map +1 -0
- package/dist/{registry → types}/app-remote-registry.types.js +1 -1
- package/dist/types/app-remote-registry.types.js.map +1 -0
- package/dist/{runtime → types}/main-runner.types.d.ts +3 -3
- package/dist/types/main-runner.types.d.ts.map +1 -0
- package/package.json +10 -3
- package/dist/bridge/host-bridge.service.d.ts.map +0 -1
- package/dist/bridge/host-bridge.service.js.map +0 -1
- package/dist/bundle/app-bundle.service.d.ts.map +0 -1
- package/dist/bundle/app-bundle.service.js +0 -196
- package/dist/bundle/app-bundle.service.js.map +0 -1
- package/dist/bundle/app-bundle.types.d.ts.map +0 -1
- package/dist/cli/app-runtime-cli.service.d.ts.map +0 -1
- package/dist/cli/app-runtime-cli.service.js.map +0 -1
- package/dist/cli/app-runtime-options.service.d.ts.map +0 -1
- package/dist/cli/app-runtime-options.service.js.map +0 -1
- package/dist/commands/create.controller.d.ts.map +0 -1
- package/dist/commands/create.controller.js.map +0 -1
- package/dist/commands/dev.controller.js.map +0 -1
- package/dist/commands/grant.controller.d.ts.map +0 -1
- package/dist/commands/grant.controller.js.map +0 -1
- package/dist/commands/info.controller.d.ts.map +0 -1
- package/dist/commands/info.controller.js.map +0 -1
- package/dist/commands/inspect.controller.js.map +0 -1
- package/dist/commands/install.controller.d.ts.map +0 -1
- package/dist/commands/install.controller.js.map +0 -1
- package/dist/commands/list.controller.d.ts.map +0 -1
- package/dist/commands/list.controller.js.map +0 -1
- package/dist/commands/pack.controller.d.ts +0 -17
- package/dist/commands/pack.controller.d.ts.map +0 -1
- package/dist/commands/pack.controller.js.map +0 -1
- package/dist/commands/permissions.controller.d.ts.map +0 -1
- package/dist/commands/permissions.controller.js.map +0 -1
- package/dist/commands/publish.controller.d.ts.map +0 -1
- package/dist/commands/publish.controller.js.map +0 -1
- package/dist/commands/registry.controller.d.ts.map +0 -1
- package/dist/commands/registry.controller.js.map +0 -1
- package/dist/commands/revoke.controller.d.ts.map +0 -1
- package/dist/commands/revoke.controller.js.map +0 -1
- package/dist/commands/run.controller.js.map +0 -1
- package/dist/commands/uninstall.controller.d.ts.map +0 -1
- package/dist/commands/uninstall.controller.js.map +0 -1
- package/dist/commands/update.controller.d.ts.map +0 -1
- package/dist/commands/update.controller.js.map +0 -1
- package/dist/commands/validate-publish.controller.d.ts.map +0 -1
- package/dist/commands/validate-publish.controller.js.map +0 -1
- package/dist/host/app-host.service.d.ts.map +0 -1
- package/dist/host/app-host.service.js.map +0 -1
- package/dist/host/app-instance.service.d.ts +0 -34
- package/dist/host/app-instance.service.d.ts.map +0 -1
- package/dist/host/app-instance.service.js.map +0 -1
- package/dist/install/app-installation.service.d.ts.map +0 -1
- package/dist/install/app-installation.service.js +0 -276
- package/dist/install/app-installation.service.js.map +0 -1
- package/dist/install/app-installation.types.d.ts.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/manifest/app-manifest.service.d.ts.map +0 -1
- package/dist/manifest/app-manifest.service.js +0 -147
- package/dist/manifest/app-manifest.service.js.map +0 -1
- package/dist/manifest/app-manifest.types.d.ts +0 -68
- package/dist/manifest/app-manifest.types.d.ts.map +0 -1
- package/dist/paths/app-home.service.d.ts.map +0 -1
- package/dist/paths/app-home.service.js.map +0 -1
- package/dist/permissions/app-grant.service.d.ts.map +0 -1
- package/dist/permissions/app-grant.service.js.map +0 -1
- package/dist/permissions/app-permissions.service.d.ts.map +0 -1
- package/dist/permissions/app-permissions.service.js.map +0 -1
- package/dist/permissions/app-permissions.types.d.ts.map +0 -1
- package/dist/publish/app-marketplace-client.service.d.ts.map +0 -1
- package/dist/publish/app-marketplace-client.service.js.map +0 -1
- package/dist/publish/app-marketplace-metadata.service.d.ts.map +0 -1
- package/dist/publish/app-marketplace-metadata.service.js.map +0 -1
- package/dist/publish/app-publish-validation.service.d.ts.map +0 -1
- package/dist/publish/app-publish-validation.service.js.map +0 -1
- package/dist/publish/app-publish.service.d.ts.map +0 -1
- package/dist/publish/app-publish.service.js.map +0 -1
- package/dist/publish/app-publish.types.d.ts.map +0 -1
- package/dist/publish/app-publish.types.js.map +0 -1
- package/dist/publish/platform-auth-state.service.d.ts.map +0 -1
- package/dist/publish/platform-auth-state.service.js.map +0 -1
- package/dist/registry/app-registry-config.service.js.map +0 -1
- package/dist/registry/app-registry.service.d.ts.map +0 -1
- package/dist/registry/app-registry.service.js +0 -118
- package/dist/registry/app-registry.service.js.map +0 -1
- package/dist/registry/app-registry.types.d.ts.map +0 -1
- package/dist/registry/app-remote-registry-client.service.d.ts.map +0 -1
- package/dist/registry/app-remote-registry-client.service.js.map +0 -1
- package/dist/registry/app-remote-registry.types.d.ts.map +0 -1
- package/dist/registry/app-remote-registry.types.js.map +0 -1
- package/dist/runtime/app-build.service.d.ts.map +0 -1
- package/dist/runtime/app-build.service.js.map +0 -1
- package/dist/runtime/app-runtime-toolchain.service.d.ts.map +0 -1
- package/dist/runtime/app-runtime-toolchain.service.js.map +0 -1
- package/dist/runtime/main-runner.service.d.ts +0 -9
- package/dist/runtime/main-runner.service.d.ts.map +0 -1
- package/dist/runtime/main-runner.service.js +0 -6
- package/dist/runtime/main-runner.service.js.map +0 -1
- package/dist/runtime/main-runner.types.d.ts.map +0 -1
- package/dist/runtime/wasm-main-runner.service.d.ts.map +0 -1
- package/dist/runtime/wasm-main-runner.service.js.map +0 -1
- package/dist/runtime/wasmtime-wasi-http-component.service.d.ts.map +0 -1
- package/dist/runtime/wasmtime-wasi-http-component.service.js.map +0 -1
- package/dist/sidecar/wasm-sidecar-client.service.d.ts.map +0 -1
- package/dist/sidecar/wasm-sidecar-client.service.js.map +0 -1
- package/dist/ui/ui-server.service.d.ts.map +0 -1
- package/dist/ui/ui-server.service.js.map +0 -1
- /package/dist/{main.d.ts → app/main.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
- `napp build <app-dir> --install`:安装模板依赖并构建 TS/WASI HTTP 后端
|
|
11
11
|
- `napp run <app-dir|app-id>`:启动本地宿主,支持目录运行和已安装应用运行
|
|
12
12
|
- `napp dev <app-dir>`:当前等价于 `run`
|
|
13
|
-
- `napp pack <app-dir>`:把应用目录打成 `.napp`
|
|
13
|
+
- `napp pack <app-dir>`:把应用目录打成 `.napp` 分发包;独立应用默认使用轻量 `source`,组合包默认使用安全的 `bundle`
|
|
14
14
|
- `napp validate-publish <app-dir>`:本地做发布前校验并输出体积/包内容 warning
|
|
15
|
-
- `napp publish <app-dir>`:把应用目录发布到官方 apps registry
|
|
15
|
+
- `napp publish <app-dir>`:把应用目录发布到官方 apps registry;独立应用默认使用 `source`,组合包默认使用 `bundle`
|
|
16
16
|
- `napp install <app-dir|bundle.napp|app-id[@version]>`:从本地或 registry 安装应用
|
|
17
17
|
- `napp update <app-id>`:更新已安装应用
|
|
18
18
|
- `napp uninstall <app-id>`:卸载已安装应用
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { AppRuntimeCliService } from "
|
|
3
|
-
//#region src/main.ts
|
|
2
|
+
import { AppRuntimeCliService } from "../services/app-runtime-cli.service.js";
|
|
3
|
+
//#region src/app/main.ts
|
|
4
4
|
new AppRuntimeCliService().run().catch((error) => {
|
|
5
5
|
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
|
|
6
6
|
process.exit(1);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","names":[],"sources":["../../src/app/main.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { AppRuntimeCliService } from \"#app-runtime/services/app-runtime-cli.service.js\";\n\nvoid new AppRuntimeCliService().run().catch((error) => {\n process.stderr.write(`${error instanceof Error ? error.message : String(error)}\\n`);\n process.exit(1);\n});\n"],"mappings":";;;AAIK,IAAI,sBAAsB,CAAC,KAAK,CAAC,OAAO,UAAU;AACrD,SAAQ,OAAO,MAAM,GAAG,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC,IAAI;AACnF,SAAQ,KAAK,EAAE;EACf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppScaffoldService, AppScaffoldTemplate } from "../
|
|
1
|
+
import { AppScaffoldService, AppScaffoldTemplate } from "../services/app-scaffold.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/create.controller.d.ts
|
|
4
4
|
declare class CreateCommand {
|
|
5
5
|
private readonly scaffoldService;
|
|
6
6
|
constructor(scaffoldService?: AppScaffoldService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.controller.d.ts","names":[],"sources":["../../src/controllers/create.controller.ts"],"mappings":";;;cAGa,aAAA;EAAA,iBAEQ,eAAA;cAAA,eAAA,GAAiB,kBAAA;EAGpC,GAAA,GAAa,MAAA;IACX,YAAA;IACA,QAAA,EAAU,mBAAA;IACV,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppScaffoldService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppScaffoldService } from "../services/app-scaffold.service.js";
|
|
2
|
+
//#region src/controllers/create.controller.ts
|
|
3
3
|
var CreateCommand = class {
|
|
4
4
|
constructor(scaffoldService = new AppScaffoldService()) {
|
|
5
5
|
this.scaffoldService = scaffoldService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.controller.js","names":[],"sources":["../../src/controllers/create.controller.ts"],"sourcesContent":["import { AppScaffoldService } from \"#app-runtime/services/app-scaffold.service.js\";\nimport type { AppScaffoldTemplate } from \"#app-runtime/services/app-scaffold.service.js\";\n\nexport class CreateCommand {\n constructor(\n private readonly scaffoldService: AppScaffoldService = new AppScaffoldService(),\n ) {}\n\n run = async (params: {\n appDirectory: string;\n template: AppScaffoldTemplate;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appDirectory, template, json, write } = params;\n const result = await this.scaffoldService.scaffold(appDirectory, { template });\n if (json) {\n write(`${JSON.stringify({ ok: true, created: result }, null, 2)}\\n`);\n return;\n }\n write(`Created app scaffold at ${result.appDirectory}\\n`);\n write(`Template: ${result.template}\\n`);\n write(`Manifest: ${result.manifestPath}\\n`);\n write(\"Next: napp inspect <app-dir> && napp run <app-dir>\\n\");\n };\n}\n"],"mappings":";;AAGA,IAAa,gBAAb,MAA2B;CACzB,YACE,kBAAuD,IAAI,oBAAoB,EAC/E;AADiB,OAAA,kBAAA;;CAGnB,MAAM,OAAO,WAKQ;EACnB,MAAM,EAAE,cAAc,UAAU,MAAM,UAAU;EAChD,MAAM,SAAS,MAAM,KAAK,gBAAgB,SAAS,cAAc,EAAE,UAAU,CAAC;AAC9E,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,SAAS;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACpE;;AAEF,QAAM,2BAA2B,OAAO,aAAa,IAAI;AACzD,QAAM,aAAa,OAAO,SAAS,IAAI;AACvC,QAAM,aAAa,OAAO,aAAa,IAAI;AAC3C,QAAM,uDAAuD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.controller.js","names":[],"sources":["../../src/controllers/dev.controller.ts"],"sourcesContent":["import { RunCommand, type RunCommandInput } from \"./run.controller.js\";\n\nexport class DevCommand {\n constructor(private readonly runCommand: RunCommand = new RunCommand()) {}\n\n run = async (params: RunCommandInput): Promise<void> => {\n await this.runCommand.run(params);\n };\n}\n"],"mappings":";;AAEA,IAAa,aAAb,MAAwB;CACtB,YAAY,aAA0C,IAAI,YAAY,EAAE;AAA3C,OAAA,aAAA;;CAE7B,MAAM,OAAO,WAA2C;AACtD,QAAM,KAAK,WAAW,IAAI,OAAO"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AppDocumentGrantMap } from "../
|
|
2
|
-
import { AppGrantService } from "../
|
|
1
|
+
import { AppDocumentGrantMap } from "../types/app-permissions.types.js";
|
|
2
|
+
import { AppGrantService } from "../services/app-grant.service.js";
|
|
3
3
|
|
|
4
|
-
//#region src/
|
|
4
|
+
//#region src/controllers/grant.controller.d.ts
|
|
5
5
|
declare class GrantCommand {
|
|
6
6
|
private readonly grantService;
|
|
7
7
|
constructor(grantService?: AppGrantService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.controller.d.ts","names":[],"sources":["../../src/controllers/grant.controller.ts"],"mappings":";;;;cAGa,YAAA;EAAA,iBAEQ,YAAA;cAAA,YAAA,GAAc,eAAA;EAGjC,GAAA,GAAa,MAAA;IACX,KAAA;IACA,gBAAA,EAAkB,mBAAA;IAClB,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppGrantService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppGrantService } from "../services/app-grant.service.js";
|
|
2
|
+
//#region src/controllers/grant.controller.ts
|
|
3
3
|
var GrantCommand = class {
|
|
4
4
|
constructor(grantService = new AppGrantService()) {
|
|
5
5
|
this.grantService = grantService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.controller.js","names":[],"sources":["../../src/controllers/grant.controller.ts"],"sourcesContent":["import { AppGrantService } from \"#app-runtime/services/app-grant.service.js\";\nimport type { AppDocumentGrantMap } from \"#app-runtime/types/app-permissions.types.js\";\n\nexport class GrantCommand {\n constructor(\n private readonly grantService: AppGrantService = new AppGrantService(),\n ) {}\n\n run = async (params: {\n appId: string;\n documentGrantMap: AppDocumentGrantMap;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appId, documentGrantMap, json, write } = params;\n const results = await Promise.all(\n Object.entries(documentGrantMap).map(([scopeId, directoryPath]) =>\n this.grantService.grantDocumentScope({\n appId,\n scopeId,\n directoryPath,\n }),\n ),\n );\n if (json) {\n write(`${JSON.stringify({ ok: true, grants: results }, null, 2)}\\n`);\n return;\n }\n for (const result of results) {\n write(`Granted ${result.scopeId} -> ${result.grantedPath}\\n`);\n }\n };\n}\n"],"mappings":";;AAGA,IAAa,eAAb,MAA0B;CACxB,YACE,eAAiD,IAAI,iBAAiB,EACtE;AADiB,OAAA,eAAA;;CAGnB,MAAM,OAAO,WAKQ;EACnB,MAAM,EAAE,OAAO,kBAAkB,MAAM,UAAU;EACjD,MAAM,UAAU,MAAM,QAAQ,IAC5B,OAAO,QAAQ,iBAAiB,CAAC,KAAK,CAAC,SAAS,mBAC9C,KAAK,aAAa,mBAAmB;GACnC;GACA;GACA;GACD,CAAC,CACH,CACF;AACD,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,QAAQ;IAAS,EAAE,MAAM,EAAE,CAAC,IAAI;AACpE;;AAEF,OAAK,MAAM,UAAU,QACnB,OAAM,WAAW,OAAO,QAAQ,MAAM,OAAO,YAAY,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/info.controller.d.ts
|
|
4
4
|
declare class InfoCommand {
|
|
5
5
|
private readonly installationService;
|
|
6
6
|
constructor(installationService?: AppInstallationService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.controller.d.ts","names":[],"sources":["../../src/controllers/info.controller.ts"],"mappings":";;;cAEa,WAAA;EAAA,iBAEQ,mBAAA;cAAA,mBAAA,GAAqB,sBAAA;EAGxC,GAAA,GAAa,MAAA;IACX,KAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
|
+
//#region src/controllers/info.controller.ts
|
|
3
3
|
var InfoCommand = class {
|
|
4
4
|
constructor(installationService = new AppInstallationService()) {
|
|
5
5
|
this.installationService = installationService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.controller.js","names":[],"sources":["../../src/controllers/info.controller.ts"],"sourcesContent":["import { AppInstallationService } from \"#app-runtime/services/app-installation.service.js\";\n\nexport class InfoCommand {\n constructor(\n private readonly installationService: AppInstallationService = new AppInstallationService(),\n ) {}\n\n run = async (params: {\n appId: string;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appId, json, write } = params;\n const result = await this.installationService.info(appId);\n if (json) {\n write(`${JSON.stringify({ ok: true, app: result }, null, 2)}\\n`);\n return;\n }\n write(`App: ${result.name} (${result.appId})\\n`);\n write(`Active version: ${result.activeVersion}\\n`);\n write(`Data: ${result.dataDirectory}\\n`);\n write(`Installed versions: ${result.installedVersions.map((item) => item.version).join(\", \")}\\n`);\n const activeVersion = result.installedVersions.find(\n (item) => item.version === result.activeVersion,\n );\n if (activeVersion?.registryUrl) {\n write(`Registry: ${activeVersion.registryUrl}\\n`);\n }\n if (activeVersion?.publisher) {\n write(`Publisher: ${activeVersion.publisher.name} (${activeVersion.publisher.id})\\n`);\n }\n };\n}\n"],"mappings":";;AAEA,IAAa,cAAb,MAAyB;CACvB,YACE,sBAA+D,IAAI,wBAAwB,EAC3F;AADiB,OAAA,sBAAA;;CAGnB,MAAM,OAAO,WAIQ;EACnB,MAAM,EAAE,OAAO,MAAM,UAAU;EAC/B,MAAM,SAAS,MAAM,KAAK,oBAAoB,KAAK,MAAM;AACzD,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,KAAK;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AAChE;;AAEF,QAAM,QAAQ,OAAO,KAAK,IAAI,OAAO,MAAM,KAAK;AAChD,QAAM,mBAAmB,OAAO,cAAc,IAAI;AAClD,QAAM,SAAS,OAAO,cAAc,IAAI;AACxC,QAAM,uBAAuB,OAAO,kBAAkB,KAAK,SAAS,KAAK,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI;EACjG,MAAM,gBAAgB,OAAO,kBAAkB,MAC5C,SAAS,KAAK,YAAY,OAAO,cACnC;AACD,MAAI,eAAe,YACjB,OAAM,aAAa,cAAc,YAAY,IAAI;AAEnD,MAAI,eAAe,UACjB,OAAM,cAAc,cAAc,UAAU,KAAK,IAAI,cAAc,UAAU,GAAG,KAAK"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppManifestService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppManifestService } from "../services/app-manifest.service.js";
|
|
2
|
+
//#region src/controllers/inspect.controller.ts
|
|
3
3
|
var InspectCommand = class {
|
|
4
4
|
constructor(manifestService = new AppManifestService()) {
|
|
5
5
|
this.manifestService = manifestService;
|
|
@@ -17,6 +17,12 @@ var InspectCommand = class {
|
|
|
17
17
|
}
|
|
18
18
|
write(`App: ${summary.name} (${summary.id})\n`);
|
|
19
19
|
write(`Version: ${summary.version}\n`);
|
|
20
|
+
if (summary.schemaVersion === 2) {
|
|
21
|
+
write(`Profile: components\n`);
|
|
22
|
+
write(`Components (${summary.components.length}): ${summary.components.map((component) => `${component.kind}:${component.id}`).join(", ")}\n`);
|
|
23
|
+
if (summary.primaryPanelId) write(`Primary Panel: ${summary.primaryPanelId}\n`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
20
26
|
write(`Main Kind: ${summary.mainKind}\n`);
|
|
21
27
|
if (summary.action) write(`Action: ${summary.action}\n`);
|
|
22
28
|
write(`Main: ${summary.mainEntryPath}\n`);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.controller.js","names":[],"sources":["../../src/controllers/inspect.controller.ts"],"sourcesContent":["import { AppManifestService } from \"#app-runtime/services/app-manifest.service.js\";\n\nexport class InspectCommand {\n constructor(\n private readonly manifestService: AppManifestService = new AppManifestService(),\n ) {}\n\n run = async (params: {\n appDirectory: string;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appDirectory, json, write } = params;\n const bundle = await this.manifestService.load(appDirectory);\n const summary = this.manifestService.summarize(bundle);\n if (json) {\n write(`${JSON.stringify({ ok: true, summary }, null, 2)}\\n`);\n return;\n }\n write(`App: ${summary.name} (${summary.id})\\n`);\n write(`Version: ${summary.version}\\n`);\n if (summary.schemaVersion === 2) {\n write(`Profile: components\\n`);\n write(`Components (${summary.components.length}): ${summary.components.map((component) => `${component.kind}:${component.id}`).join(\", \")}\\n`);\n if (summary.primaryPanelId) {\n write(`Primary Panel: ${summary.primaryPanelId}\\n`);\n }\n return;\n }\n write(`Main Kind: ${summary.mainKind}\\n`);\n if (summary.action) {\n write(`Action: ${summary.action}\\n`);\n }\n write(`Main: ${summary.mainEntryPath}\\n`);\n write(`UI: ${summary.uiEntryPath}\\n`);\n };\n}\n"],"mappings":";;AAEA,IAAa,iBAAb,MAA4B;CAC1B,YACE,kBAAuD,IAAI,oBAAoB,EAC/E;AADiB,OAAA,kBAAA;;CAGnB,MAAM,OAAO,WAIQ;EACnB,MAAM,EAAE,cAAc,MAAM,UAAU;EACtC,MAAM,SAAS,MAAM,KAAK,gBAAgB,KAAK,aAAa;EAC5D,MAAM,UAAU,KAAK,gBAAgB,UAAU,OAAO;AACtD,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM;IAAS,EAAE,MAAM,EAAE,CAAC,IAAI;AAC5D;;AAEF,QAAM,QAAQ,QAAQ,KAAK,IAAI,QAAQ,GAAG,KAAK;AAC/C,QAAM,YAAY,QAAQ,QAAQ,IAAI;AACtC,MAAI,QAAQ,kBAAkB,GAAG;AAC/B,SAAM,wBAAwB;AAC9B,SAAM,eAAe,QAAQ,WAAW,OAAO,KAAK,QAAQ,WAAW,KAAK,cAAc,GAAG,UAAU,KAAK,GAAG,UAAU,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI;AAC9I,OAAI,QAAQ,eACV,OAAM,kBAAkB,QAAQ,eAAe,IAAI;AAErD;;AAEF,QAAM,cAAc,QAAQ,SAAS,IAAI;AACzC,MAAI,QAAQ,OACV,OAAM,WAAW,QAAQ,OAAO,IAAI;AAEtC,QAAM,SAAS,QAAQ,cAAc,IAAI;AACzC,QAAM,OAAO,QAAQ,YAAY,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/install.controller.d.ts
|
|
4
4
|
declare class InstallCommand {
|
|
5
5
|
private readonly installationService;
|
|
6
6
|
constructor(installationService?: AppInstallationService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.controller.d.ts","names":[],"sources":["../../src/controllers/install.controller.ts"],"mappings":";;;cAEa,cAAA;EAAA,iBAEQ,mBAAA;cAAA,mBAAA,GAAqB,sBAAA;EAGxC,GAAA,GAAa,MAAA;IACX,SAAA;IACA,WAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
|
+
//#region src/controllers/install.controller.ts
|
|
3
3
|
var InstallCommand = class {
|
|
4
4
|
constructor(installationService = new AppInstallationService()) {
|
|
5
5
|
this.installationService = installationService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.controller.js","names":[],"sources":["../../src/controllers/install.controller.ts"],"sourcesContent":["import { AppInstallationService } from \"#app-runtime/services/app-installation.service.js\";\n\nexport class InstallCommand {\n constructor(\n private readonly installationService: AppInstallationService = new AppInstallationService(),\n ) {}\n\n run = async (params: {\n appSource: string;\n registryUrl?: string;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appSource, registryUrl, json, write } = params;\n const result = await this.installationService.install(appSource, {\n registryUrl,\n });\n if (json) {\n write(`${JSON.stringify({ ok: true, installation: result }, null, 2)}\\n`);\n return;\n }\n write(`Installed ${result.name} (${result.appId}) ${result.version}\\n`);\n write(`Code: ${result.installDirectory}\\n`);\n write(`Data: ${result.dataDirectory}\\n`);\n if (result.registryUrl) {\n write(`Registry: ${result.registryUrl}\\n`);\n }\n };\n}\n"],"mappings":";;AAEA,IAAa,iBAAb,MAA4B;CAC1B,YACE,sBAA+D,IAAI,wBAAwB,EAC3F;AADiB,OAAA,sBAAA;;CAGnB,MAAM,OAAO,WAKQ;EACnB,MAAM,EAAE,WAAW,aAAa,MAAM,UAAU;EAChD,MAAM,SAAS,MAAM,KAAK,oBAAoB,QAAQ,WAAW,EAC/D,aACD,CAAC;AACF,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,cAAc;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACzE;;AAEF,QAAM,aAAa,OAAO,KAAK,IAAI,OAAO,MAAM,IAAI,OAAO,QAAQ,IAAI;AACvE,QAAM,SAAS,OAAO,iBAAiB,IAAI;AAC3C,QAAM,SAAS,OAAO,cAAc,IAAI;AACxC,MAAI,OAAO,YACT,OAAM,aAAa,OAAO,YAAY,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/list.controller.d.ts
|
|
4
4
|
declare class ListCommand {
|
|
5
5
|
private readonly installationService;
|
|
6
6
|
constructor(installationService?: AppInstallationService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.controller.d.ts","names":[],"sources":["../../src/controllers/list.controller.ts"],"mappings":";;;cAEa,WAAA;EAAA,iBAEQ,mBAAA;cAAA,mBAAA,GAAqB,sBAAA;EAGxC,GAAA,GAAa,MAAA;IACX,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
|
+
//#region src/controllers/list.controller.ts
|
|
3
3
|
var ListCommand = class {
|
|
4
4
|
constructor(installationService = new AppInstallationService()) {
|
|
5
5
|
this.installationService = installationService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.controller.js","names":[],"sources":["../../src/controllers/list.controller.ts"],"sourcesContent":["import { AppInstallationService } from \"#app-runtime/services/app-installation.service.js\";\n\nexport class ListCommand {\n constructor(\n private readonly installationService: AppInstallationService = new AppInstallationService(),\n ) {}\n\n run = async (params: {\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { json, write } = params;\n const result = await this.installationService.list();\n if (json) {\n write(`${JSON.stringify({ ok: true, apps: result }, null, 2)}\\n`);\n return;\n }\n if (result.length === 0) {\n write(\"No installed apps.\\n\");\n return;\n }\n for (const appItem of result) {\n write(`${appItem.appId} ${appItem.activeVersion} ${appItem.sourceKind} ${appItem.name}\\n`);\n }\n };\n}\n"],"mappings":";;AAEA,IAAa,cAAb,MAAyB;CACvB,YACE,sBAA+D,IAAI,wBAAwB,EAC3F;AADiB,OAAA,sBAAA;;CAGnB,MAAM,OAAO,WAGQ;EACnB,MAAM,EAAE,MAAM,UAAU;EACxB,MAAM,SAAS,MAAM,KAAK,oBAAoB,MAAM;AACpD,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,MAAM;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACjE;;AAEF,MAAI,OAAO,WAAW,GAAG;AACvB,SAAM,uBAAuB;AAC7B;;AAEF,OAAK,MAAM,WAAW,OACpB,OAAM,GAAG,QAAQ,MAAM,GAAG,QAAQ,cAAc,GAAG,QAAQ,WAAW,GAAG,QAAQ,KAAK,IAAI"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AppManifestService } from "../services/app-manifest.service.js";
|
|
2
|
+
import { AppBundleService } from "../services/app-bundle.service.js";
|
|
3
|
+
|
|
4
|
+
//#region src/controllers/pack.controller.d.ts
|
|
5
|
+
declare class PackCommand {
|
|
6
|
+
private readonly bundleService;
|
|
7
|
+
private readonly manifestService;
|
|
8
|
+
constructor(bundleService?: AppBundleService, manifestService?: AppManifestService);
|
|
9
|
+
run: (params: {
|
|
10
|
+
appDirectory: string;
|
|
11
|
+
outputPath?: string;
|
|
12
|
+
mode?: "source" | "bundle";
|
|
13
|
+
json: boolean;
|
|
14
|
+
write: (text: string) => void;
|
|
15
|
+
}) => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { PackCommand };
|
|
19
|
+
//# sourceMappingURL=pack.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack.controller.d.ts","names":[],"sources":["../../src/controllers/pack.controller.ts"],"mappings":";;;;cAGa,WAAA;EAAA,iBAEQ,aAAA;EAAA,iBACA,eAAA;cADA,aAAA,GAAe,gBAAA,EACf,eAAA,GAAiB,kBAAA;EAGpC,GAAA,GAAa,MAAA;IACX,YAAA;IACA,UAAA;IACA,IAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { AppManifestService } from "../services/app-manifest.service.js";
|
|
2
|
+
import { AppBundleService } from "../services/app-bundle.service.js";
|
|
3
|
+
//#region src/controllers/pack.controller.ts
|
|
3
4
|
var PackCommand = class {
|
|
4
|
-
constructor(bundleService = new AppBundleService()) {
|
|
5
|
+
constructor(bundleService = new AppBundleService(), manifestService = new AppManifestService()) {
|
|
5
6
|
this.bundleService = bundleService;
|
|
7
|
+
this.manifestService = manifestService;
|
|
6
8
|
}
|
|
7
9
|
run = async (params) => {
|
|
8
10
|
const { appDirectory, outputPath, mode, json, write } = params;
|
|
11
|
+
const manifest = await this.manifestService.load(appDirectory);
|
|
12
|
+
const distributionMode = mode ?? (manifest.manifest.schemaVersion === 2 ? "bundle" : "source");
|
|
9
13
|
const result = await this.bundleService.packAppDirectory({
|
|
10
14
|
appDirectory,
|
|
11
15
|
outputPath,
|
|
12
|
-
mode
|
|
16
|
+
mode: distributionMode
|
|
13
17
|
});
|
|
14
18
|
if (json) {
|
|
15
19
|
write(`${JSON.stringify({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack.controller.js","names":[],"sources":["../../src/controllers/pack.controller.ts"],"sourcesContent":["import { AppBundleService } from \"#app-runtime/services/app-bundle.service.js\";\nimport { AppManifestService } from \"#app-runtime/services/app-manifest.service.js\";\n\nexport class PackCommand {\n constructor(\n private readonly bundleService: AppBundleService = new AppBundleService(),\n private readonly manifestService: AppManifestService = new AppManifestService(),\n ) {}\n\n run = async (params: {\n appDirectory: string;\n outputPath?: string;\n mode?: \"source\" | \"bundle\";\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appDirectory, outputPath, mode, json, write } = params;\n const manifest = await this.manifestService.load(appDirectory);\n const distributionMode = mode ?? (manifest.manifest.schemaVersion === 2 ? \"bundle\" : \"source\");\n const result = await this.bundleService.packAppDirectory({\n appDirectory,\n outputPath,\n mode: distributionMode,\n });\n if (json) {\n write(`${JSON.stringify({ ok: true, bundle: result }, null, 2)}\\n`);\n return;\n }\n write(`Packed ${result.metadata.name} ${result.metadata.version} (${result.metadata.distributionMode})\\n`);\n write(`Bundle: ${result.bundlePath}\\n`);\n };\n}\n"],"mappings":";;;AAGA,IAAa,cAAb,MAAyB;CACvB,YACE,gBAAmD,IAAI,kBAAkB,EACzE,kBAAuD,IAAI,oBAAoB,EAC/E;AAFiB,OAAA,gBAAA;AACA,OAAA,kBAAA;;CAGnB,MAAM,OAAO,WAMQ;EACnB,MAAM,EAAE,cAAc,YAAY,MAAM,MAAM,UAAU;EACxD,MAAM,WAAW,MAAM,KAAK,gBAAgB,KAAK,aAAa;EAC9D,MAAM,mBAAmB,SAAS,SAAS,SAAS,kBAAkB,IAAI,WAAW;EACrF,MAAM,SAAS,MAAM,KAAK,cAAc,iBAAiB;GACvD;GACA;GACA,MAAM;GACP,CAAC;AACF,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,QAAQ;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACnE;;AAEF,QAAM,UAAU,OAAO,SAAS,KAAK,GAAG,OAAO,SAAS,QAAQ,IAAI,OAAO,SAAS,iBAAiB,KAAK;AAC1G,QAAM,WAAW,OAAO,WAAW,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppGrantService } from "../
|
|
1
|
+
import { AppGrantService } from "../services/app-grant.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/permissions.controller.d.ts
|
|
4
4
|
declare class PermissionsCommand {
|
|
5
5
|
private readonly grantService;
|
|
6
6
|
constructor(grantService?: AppGrantService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.controller.d.ts","names":[],"sources":["../../src/controllers/permissions.controller.ts"],"mappings":";;;cAEa,kBAAA;EAAA,iBAEQ,YAAA;cAAA,YAAA,GAAc,eAAA;EAGjC,GAAA,GAAa,MAAA;IACX,KAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppGrantService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppGrantService } from "../services/app-grant.service.js";
|
|
2
|
+
//#region src/controllers/permissions.controller.ts
|
|
3
3
|
var PermissionsCommand = class {
|
|
4
4
|
constructor(grantService = new AppGrantService()) {
|
|
5
5
|
this.grantService = grantService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.controller.js","names":[],"sources":["../../src/controllers/permissions.controller.ts"],"sourcesContent":["import { AppGrantService } from \"#app-runtime/services/app-grant.service.js\";\n\nexport class PermissionsCommand {\n constructor(\n private readonly grantService: AppGrantService = new AppGrantService(),\n ) {}\n\n run = async (params: {\n appId: string;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appId, json, write } = params;\n const result = await this.grantService.summarize(appId);\n if (json) {\n write(`${JSON.stringify({ ok: true, permissions: result }, null, 2)}\\n`);\n return;\n }\n write(`Permissions: ${result.name} (${result.appId}) ${result.activeVersion}\\n`);\n if (result.documentAccess.length === 0) {\n write(\"Document access: none\\n\");\n } else {\n for (const scope of result.documentAccess) {\n write(\n `Document ${scope.id} ${scope.mode} ${scope.granted ? scope.grantedPath : \"[missing]\"}\\n`,\n );\n }\n }\n write(\n `Allowed domains: ${result.allowedDomains.length > 0 ? result.allowedDomains.join(\", \") : \"none\"}\\n`,\n );\n write(`Storage: ${result.storage.enabled ? result.storage.namespace ?? \"enabled\" : \"disabled\"}\\n`);\n write(`Host bridge: ${result.capabilities.hostBridge ? \"enabled\" : \"disabled\"}\\n`);\n };\n}\n"],"mappings":";;AAEA,IAAa,qBAAb,MAAgC;CAC9B,YACE,eAAiD,IAAI,iBAAiB,EACtE;AADiB,OAAA,eAAA;;CAGnB,MAAM,OAAO,WAIQ;EACnB,MAAM,EAAE,OAAO,MAAM,UAAU;EAC/B,MAAM,SAAS,MAAM,KAAK,aAAa,UAAU,MAAM;AACvD,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,aAAa;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACxE;;AAEF,QAAM,gBAAgB,OAAO,KAAK,IAAI,OAAO,MAAM,IAAI,OAAO,cAAc,IAAI;AAChF,MAAI,OAAO,eAAe,WAAW,EACnC,OAAM,0BAA0B;MAEhC,MAAK,MAAM,SAAS,OAAO,eACzB,OACE,YAAY,MAAM,GAAG,GAAG,MAAM,KAAK,GAAG,MAAM,UAAU,MAAM,cAAc,YAAY,IACvF;AAGL,QACE,oBAAoB,OAAO,eAAe,SAAS,IAAI,OAAO,eAAe,KAAK,KAAK,GAAG,OAAO,IAClG;AACD,QAAM,YAAY,OAAO,QAAQ,UAAU,OAAO,QAAQ,aAAa,YAAY,WAAW,IAAI;AAClG,QAAM,gBAAgB,OAAO,aAAa,aAAa,YAAY,WAAW,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppPublishService } from "../
|
|
1
|
+
import { AppPublishService } from "../services/app-publish.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/publish.controller.d.ts
|
|
4
4
|
declare class PublishCommand {
|
|
5
5
|
private readonly publishService;
|
|
6
6
|
constructor(publishService?: AppPublishService);
|
|
@@ -9,7 +9,7 @@ declare class PublishCommand {
|
|
|
9
9
|
metadataPath?: string;
|
|
10
10
|
apiBaseUrl?: string;
|
|
11
11
|
token?: string;
|
|
12
|
-
mode
|
|
12
|
+
mode?: "source" | "bundle";
|
|
13
13
|
json: boolean;
|
|
14
14
|
write: (text: string) => void;
|
|
15
15
|
}) => Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.controller.d.ts","names":[],"sources":["../../src/controllers/publish.controller.ts"],"mappings":";;;cAEa,cAAA;EAAA,iBAEQ,cAAA;cAAA,cAAA,GAAgB,iBAAA;EAGnC,GAAA,GAAa,MAAA;IACX,YAAA;IACA,YAAA;IACA,UAAA;IACA,KAAA;IACA,IAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppPublishService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppPublishService } from "../services/app-publish.service.js";
|
|
2
|
+
//#region src/controllers/publish.controller.ts
|
|
3
3
|
var PublishCommand = class {
|
|
4
4
|
constructor(publishService = new AppPublishService()) {
|
|
5
5
|
this.publishService = publishService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.controller.js","names":[],"sources":["../../src/controllers/publish.controller.ts"],"sourcesContent":["import { AppPublishService } from \"#app-runtime/services/app-publish.service.js\";\n\nexport class PublishCommand {\n constructor(\n private readonly publishService: AppPublishService = new AppPublishService(),\n ) {}\n\n run = async (params: {\n appDirectory: string;\n metadataPath?: string;\n apiBaseUrl?: string;\n token?: string;\n mode?: \"source\" | \"bundle\";\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appDirectory, metadataPath, apiBaseUrl, token, mode, json, write } = params;\n const result = await this.publishService.publish({\n appDirectory,\n metadataPath,\n apiBaseUrl,\n token,\n mode,\n });\n if (json) {\n write(`${JSON.stringify({ ok: true, publish: result }, null, 2)}\\n`);\n return;\n }\n write(\n `${result.created ? \"Published\" : \"Updated\"} ${result.item.name} (${result.item.appId}) ${result.item.latestVersion}\\n`,\n );\n write(`Distribution: ${result.distribution.path} (${result.distribution.mode})\\n`);\n if (result.item.webUrl) {\n write(`Details: ${result.item.webUrl}\\n`);\n }\n write(`Install: ${result.item.install.command}\\n`);\n };\n}\n"],"mappings":";;AAEA,IAAa,iBAAb,MAA4B;CAC1B,YACE,iBAAqD,IAAI,mBAAmB,EAC5E;AADiB,OAAA,iBAAA;;CAGnB,MAAM,OAAO,WAQQ;EACnB,MAAM,EAAE,cAAc,cAAc,YAAY,OAAO,MAAM,MAAM,UAAU;EAC7E,MAAM,SAAS,MAAM,KAAK,eAAe,QAAQ;GAC/C;GACA;GACA;GACA;GACA;GACD,CAAC;AACF,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,SAAS;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACpE;;AAEF,QACE,GAAG,OAAO,UAAU,cAAc,UAAU,GAAG,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,cAAc,IACrH;AACD,QAAM,iBAAiB,OAAO,aAAa,KAAK,IAAI,OAAO,aAAa,KAAK,KAAK;AAClF,MAAI,OAAO,KAAK,OACd,OAAM,YAAY,OAAO,KAAK,OAAO,IAAI;AAE3C,QAAM,YAAY,OAAO,KAAK,QAAQ,QAAQ,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppRegistryConfigService } from "../
|
|
1
|
+
import { AppRegistryConfigService } from "../services/app-registry-config.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/registry.controller.d.ts
|
|
4
4
|
declare class RegistryCommand {
|
|
5
5
|
private readonly configService;
|
|
6
6
|
constructor(configService?: AppRegistryConfigService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.controller.d.ts","names":[],"sources":["../../src/controllers/registry.controller.ts"],"mappings":";;;cAEa,eAAA;EAAA,iBAEQ,aAAA;cAAA,aAAA,GAAe,wBAAA;EAGlC,GAAA,GAAa,MAAA;IACX,MAAA;IACA,WAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;EAAA,QAiBI,kBAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppRegistryConfigService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppRegistryConfigService } from "../services/app-registry-config.service.js";
|
|
2
|
+
//#region src/controllers/registry.controller.ts
|
|
3
3
|
var RegistryCommand = class {
|
|
4
4
|
constructor(configService = new AppRegistryConfigService()) {
|
|
5
5
|
this.configService = configService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.controller.js","names":[],"sources":["../../src/controllers/registry.controller.ts"],"sourcesContent":["import { AppRegistryConfigService } from \"#app-runtime/services/app-registry-config.service.js\";\n\nexport class RegistryCommand {\n constructor(\n private readonly configService: AppRegistryConfigService = new AppRegistryConfigService(),\n ) {}\n\n run = async (params: {\n action: \"get\" | \"set\" | \"reset\";\n registryUrl?: string;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { action, registryUrl, json, write } = params;\n const snapshot =\n action === \"set\"\n ? await this.configService.setRegistryUrl(this.requireRegistryUrl(registryUrl))\n : action === \"reset\"\n ? await this.configService.resetRegistryUrl()\n : await this.configService.getSnapshot();\n if (json) {\n write(`${JSON.stringify({ ok: true, registry: snapshot }, null, 2)}\\n`);\n return;\n }\n write(`Registry: ${snapshot.currentUrl}\\n`);\n write(`Source: ${snapshot.source}\\n`);\n write(`Default: ${snapshot.defaultUrl}\\n`);\n };\n\n private requireRegistryUrl = (registryUrl: string | undefined): string => {\n if (!registryUrl) {\n throw new Error(\"registry set 缺少 URL。\");\n }\n return registryUrl;\n };\n}\n"],"mappings":";;AAEA,IAAa,kBAAb,MAA6B;CAC3B,YACE,gBAA2D,IAAI,0BAA0B,EACzF;AADiB,OAAA,gBAAA;;CAGnB,MAAM,OAAO,WAKQ;EACnB,MAAM,EAAE,QAAQ,aAAa,MAAM,UAAU;EAC7C,MAAM,WACJ,WAAW,QACP,MAAM,KAAK,cAAc,eAAe,KAAK,mBAAmB,YAAY,CAAC,GAC7E,WAAW,UACT,MAAM,KAAK,cAAc,kBAAkB,GAC3C,MAAM,KAAK,cAAc,aAAa;AAC9C,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,UAAU;IAAU,EAAE,MAAM,EAAE,CAAC,IAAI;AACvE;;AAEF,QAAM,aAAa,SAAS,WAAW,IAAI;AAC3C,QAAM,WAAW,SAAS,OAAO,IAAI;AACrC,QAAM,YAAY,SAAS,WAAW,IAAI;;CAG5C,sBAA8B,gBAA4C;AACxE,MAAI,CAAC,YACH,OAAM,IAAI,MAAM,uBAAuB;AAEzC,SAAO"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppGrantService } from "../
|
|
1
|
+
import { AppGrantService } from "../services/app-grant.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/revoke.controller.d.ts
|
|
4
4
|
declare class RevokeCommand {
|
|
5
5
|
private readonly grantService;
|
|
6
6
|
constructor(grantService?: AppGrantService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.controller.d.ts","names":[],"sources":["../../src/controllers/revoke.controller.ts"],"mappings":";;;cAEa,aAAA;EAAA,iBAEQ,YAAA;cAAA,YAAA,GAAc,eAAA;EAGjC,GAAA,GAAa,MAAA;IACX,KAAA;IACA,gBAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppGrantService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppGrantService } from "../services/app-grant.service.js";
|
|
2
|
+
//#region src/controllers/revoke.controller.ts
|
|
3
3
|
var RevokeCommand = class {
|
|
4
4
|
constructor(grantService = new AppGrantService()) {
|
|
5
5
|
this.grantService = grantService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.controller.js","names":[],"sources":["../../src/controllers/revoke.controller.ts"],"sourcesContent":["import { AppGrantService } from \"#app-runtime/services/app-grant.service.js\";\n\nexport class RevokeCommand {\n constructor(\n private readonly grantService: AppGrantService = new AppGrantService(),\n ) {}\n\n run = async (params: {\n appId: string;\n documentScopeIds: string[];\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appId, documentScopeIds, json, write } = params;\n const results = await Promise.all(\n documentScopeIds.map((scopeId) =>\n this.grantService.revokeDocumentScope({\n appId,\n scopeId,\n }),\n ),\n );\n if (json) {\n write(`${JSON.stringify({ ok: true, revocations: results }, null, 2)}\\n`);\n return;\n }\n for (const result of results) {\n write(`Revoked ${result.scopeId}: ${result.removed ? \"yes\" : \"no\"}\\n`);\n }\n };\n}\n"],"mappings":";;AAEA,IAAa,gBAAb,MAA2B;CACzB,YACE,eAAiD,IAAI,iBAAiB,EACtE;AADiB,OAAA,eAAA;;CAGnB,MAAM,OAAO,WAKQ;EACnB,MAAM,EAAE,OAAO,kBAAkB,MAAM,UAAU;EACjD,MAAM,UAAU,MAAM,QAAQ,IAC5B,iBAAiB,KAAK,YACpB,KAAK,aAAa,oBAAoB;GACpC;GACA;GACD,CAAC,CACH,CACF;AACD,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,aAAa;IAAS,EAAE,MAAM,EAAE,CAAC,IAAI;AACzE;;AAEF,OAAK,MAAM,UAAU,QACnB,OAAM,WAAW,OAAO,QAAQ,IAAI,OAAO,UAAU,QAAQ,KAAK,IAAI"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { AppManifestService } from "../
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { AppManifestService } from "../services/app-manifest.service.js";
|
|
2
|
+
import { isAppStandaloneManifestBundle } from "../types/app-manifest.types.js";
|
|
3
|
+
import { AppHostService } from "../services/app-host.service.js";
|
|
4
|
+
import { AppInstanceService } from "../services/app-instance.service.js";
|
|
5
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
6
|
+
import { WasmtimeWasiHttpComponentService } from "../services/wasmtime-wasi-http-component.service.js";
|
|
7
|
+
//#region src/controllers/run.controller.ts
|
|
7
8
|
var RunCommand = class {
|
|
8
9
|
constructor(manifestService = new AppManifestService(), installationService = new AppInstallationService()) {
|
|
9
10
|
this.manifestService = manifestService;
|
|
@@ -13,6 +14,7 @@ var RunCommand = class {
|
|
|
13
14
|
const { appReference, host, port, dataDirectory, json, documentGrantMap, write } = params;
|
|
14
15
|
const launch = await this.installationService.resolveLaunch(appReference, documentGrantMap);
|
|
15
16
|
const bundle = await this.manifestService.load(launch.appDirectory);
|
|
17
|
+
if (!isAppStandaloneManifestBundle(bundle)) throw new Error("schema v2 组合包由 NextClaw 主产品运行,不能使用 napp run。");
|
|
16
18
|
const appInstance = new AppInstanceService(bundle);
|
|
17
19
|
await appInstance.initialize(launch.documentGrantMap, { appId: launch.appId });
|
|
18
20
|
await this.installationService.persistGrants(launch.appId, launch.documentGrantMap);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.controller.js","names":[],"sources":["../../src/controllers/run.controller.ts"],"sourcesContent":["import { AppHostService } from \"#app-runtime/services/app-host.service.js\";\nimport { AppInstanceService } from \"#app-runtime/services/app-instance.service.js\";\nimport { AppInstallationService } from \"#app-runtime/services/app-installation.service.js\";\nimport { AppManifestService } from \"#app-runtime/services/app-manifest.service.js\";\nimport { isAppStandaloneManifestBundle } from \"#app-runtime/types/app-manifest.types.js\";\nimport type { AppDocumentGrantMap } from \"#app-runtime/types/app-permissions.types.js\";\nimport { WasmtimeWasiHttpComponentService } from \"#app-runtime/services/wasmtime-wasi-http-component.service.js\";\n\nexport type RunCommandInput = {\n appReference: string;\n host: string;\n port: number;\n dataDirectory?: string;\n json: boolean;\n documentGrantMap: AppDocumentGrantMap;\n write: (text: string) => void;\n};\n\nexport class RunCommand {\n constructor(\n private readonly manifestService: AppManifestService = new AppManifestService(),\n private readonly installationService: AppInstallationService = new AppInstallationService(),\n ) {}\n\n run = async (params: RunCommandInput): Promise<void> => {\n const { appReference, host, port, dataDirectory, json, documentGrantMap, write } = params;\n const launch = await this.installationService.resolveLaunch(appReference, documentGrantMap);\n const bundle = await this.manifestService.load(launch.appDirectory);\n if (!isAppStandaloneManifestBundle(bundle)) {\n throw new Error(\"schema v2 组合包由 NextClaw 主产品运行,不能使用 napp run。\");\n }\n const appInstance = new AppInstanceService(bundle);\n await appInstance.initialize(launch.documentGrantMap, {\n appId: launch.appId,\n });\n await this.installationService.persistGrants(launch.appId, launch.documentGrantMap);\n const wasiHttpComponentService =\n bundle.manifest.main.kind === \"wasi-http-component\"\n ? new WasmtimeWasiHttpComponentService()\n : undefined;\n const effectiveDataDirectory = dataDirectory ?? launch.dataDirectory;\n if (wasiHttpComponentService) {\n if (!effectiveDataDirectory) {\n throw new Error(\"wasi-http-component 应用需要通过 --data /path 指定后端数据目录。\");\n }\n await wasiHttpComponentService.start({\n wasmPath: bundle.mainEntryPath,\n dataDirectory: effectiveDataDirectory,\n });\n }\n const appHost = new AppHostService(appInstance, wasiHttpComponentService);\n let hostHandle: Awaited<ReturnType<AppHostService[\"start\"]>>;\n try {\n hostHandle = await appHost.start({\n host,\n port,\n });\n } catch (error) {\n await wasiHttpComponentService?.stop();\n throw error;\n }\n\n const shutdown = async (): Promise<void> => {\n await appHost.stop();\n await wasiHttpComponentService?.stop();\n process.exit(0);\n };\n\n process.once(\"SIGINT\", () => {\n void shutdown();\n });\n process.once(\"SIGTERM\", () => {\n void shutdown();\n });\n\n if (json) {\n write(\n `${JSON.stringify(\n {\n ok: true,\n host: hostHandle,\n app: {\n appId: launch.appId ?? bundle.manifest.id,\n appDirectory: launch.appDirectory,\n dataDirectory: effectiveDataDirectory,\n },\n },\n null,\n 2,\n )}\\n`,\n );\n return;\n }\n\n write(`[napp] ${bundle.manifest.name} listening on ${hostHandle.url}\\n`);\n };\n}\n"],"mappings":";;;;;;;AAkBA,IAAa,aAAb,MAAwB;CACtB,YACE,kBAAuD,IAAI,oBAAoB,EAC/E,sBAA+D,IAAI,wBAAwB,EAC3F;AAFiB,OAAA,kBAAA;AACA,OAAA,sBAAA;;CAGnB,MAAM,OAAO,WAA2C;EACtD,MAAM,EAAE,cAAc,MAAM,MAAM,eAAe,MAAM,kBAAkB,UAAU;EACnF,MAAM,SAAS,MAAM,KAAK,oBAAoB,cAAc,cAAc,iBAAiB;EAC3F,MAAM,SAAS,MAAM,KAAK,gBAAgB,KAAK,OAAO,aAAa;AACnE,MAAI,CAAC,8BAA8B,OAAO,CACxC,OAAM,IAAI,MAAM,+CAA+C;EAEjE,MAAM,cAAc,IAAI,mBAAmB,OAAO;AAClD,QAAM,YAAY,WAAW,OAAO,kBAAkB,EACpD,OAAO,OAAO,OACf,CAAC;AACF,QAAM,KAAK,oBAAoB,cAAc,OAAO,OAAO,OAAO,iBAAiB;EACnF,MAAM,2BACJ,OAAO,SAAS,KAAK,SAAS,wBAC1B,IAAI,kCAAkC,GACtC,KAAA;EACN,MAAM,yBAAyB,iBAAiB,OAAO;AACvD,MAAI,0BAA0B;AAC5B,OAAI,CAAC,uBACH,OAAM,IAAI,MAAM,oDAAoD;AAEtE,SAAM,yBAAyB,MAAM;IACnC,UAAU,OAAO;IACjB,eAAe;IAChB,CAAC;;EAEJ,MAAM,UAAU,IAAI,eAAe,aAAa,yBAAyB;EACzE,IAAI;AACJ,MAAI;AACF,gBAAa,MAAM,QAAQ,MAAM;IAC/B;IACA;IACD,CAAC;WACK,OAAO;AACd,SAAM,0BAA0B,MAAM;AACtC,SAAM;;EAGR,MAAM,WAAW,YAA2B;AAC1C,SAAM,QAAQ,MAAM;AACpB,SAAM,0BAA0B,MAAM;AACtC,WAAQ,KAAK,EAAE;;AAGjB,UAAQ,KAAK,gBAAgB;AACtB,aAAU;IACf;AACF,UAAQ,KAAK,iBAAiB;AACvB,aAAU;IACf;AAEF,MAAI,MAAM;AACR,SACE,GAAG,KAAK,UACN;IACE,IAAI;IACJ,MAAM;IACN,KAAK;KACH,OAAO,OAAO,SAAS,OAAO,SAAS;KACvC,cAAc,OAAO;KACrB,eAAe;KAChB;IACF,EACD,MACA,EACD,CAAC,IACH;AACD;;AAGF,QAAM,UAAU,OAAO,SAAS,KAAK,gBAAgB,WAAW,IAAI,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/uninstall.controller.d.ts
|
|
4
4
|
declare class UninstallCommand {
|
|
5
5
|
private readonly installationService;
|
|
6
6
|
constructor(installationService?: AppInstallationService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.controller.d.ts","names":[],"sources":["../../src/controllers/uninstall.controller.ts"],"mappings":";;;cAEa,gBAAA;EAAA,iBAEQ,mBAAA;cAAA,mBAAA,GAAqB,sBAAA;EAGxC,GAAA,GAAa,MAAA;IACX,KAAA;IACA,SAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
|
+
//#region src/controllers/uninstall.controller.ts
|
|
3
3
|
var UninstallCommand = class {
|
|
4
4
|
constructor(installationService = new AppInstallationService()) {
|
|
5
5
|
this.installationService = installationService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.controller.js","names":[],"sources":["../../src/controllers/uninstall.controller.ts"],"sourcesContent":["import { AppInstallationService } from \"#app-runtime/services/app-installation.service.js\";\n\nexport class UninstallCommand {\n constructor(\n private readonly installationService: AppInstallationService = new AppInstallationService(),\n ) {}\n\n run = async (params: {\n appId: string;\n purgeData: boolean;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appId, purgeData, json, write } = params;\n const result = await this.installationService.uninstall(appId, purgeData);\n if (json) {\n write(`${JSON.stringify({ ok: true, uninstall: result }, null, 2)}\\n`);\n return;\n }\n write(`Uninstalled ${result.appId}\\n`);\n write(`Versions: ${result.removedVersions.join(\", \")}\\n`);\n write(`Data removed: ${result.dataRemoved ? \"yes\" : \"no\"}\\n`);\n };\n}\n"],"mappings":";;AAEA,IAAa,mBAAb,MAA8B;CAC5B,YACE,sBAA+D,IAAI,wBAAwB,EAC3F;AADiB,OAAA,sBAAA;;CAGnB,MAAM,OAAO,WAKQ;EACnB,MAAM,EAAE,OAAO,WAAW,MAAM,UAAU;EAC1C,MAAM,SAAS,MAAM,KAAK,oBAAoB,UAAU,OAAO,UAAU;AACzE,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,WAAW;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACtE;;AAEF,QAAM,eAAe,OAAO,MAAM,IAAI;AACtC,QAAM,aAAa,OAAO,gBAAgB,KAAK,KAAK,CAAC,IAAI;AACzD,QAAM,iBAAiB,OAAO,cAAc,QAAQ,KAAK,IAAI"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/update.controller.d.ts
|
|
4
4
|
declare class UpdateCommand {
|
|
5
5
|
private readonly installationService;
|
|
6
6
|
constructor(installationService?: AppInstallationService);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.controller.d.ts","names":[],"sources":["../../src/controllers/update.controller.ts"],"mappings":";;;cAEa,aAAA;EAAA,iBAEQ,mBAAA;cAAA,mBAAA,GAAqB,sBAAA;EAGxC,GAAA,GAAa,MAAA;IACX,KAAA;IACA,OAAA;IACA,WAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppInstallationService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppInstallationService } from "../services/app-installation.service.js";
|
|
2
|
+
//#region src/controllers/update.controller.ts
|
|
3
3
|
var UpdateCommand = class {
|
|
4
4
|
constructor(installationService = new AppInstallationService()) {
|
|
5
5
|
this.installationService = installationService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.controller.js","names":[],"sources":["../../src/controllers/update.controller.ts"],"sourcesContent":["import { AppInstallationService } from \"#app-runtime/services/app-installation.service.js\";\n\nexport class UpdateCommand {\n constructor(\n private readonly installationService: AppInstallationService = new AppInstallationService(),\n ) {}\n\n run = async (params: {\n appId: string;\n version?: string;\n registryUrl?: string;\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appId, version, registryUrl, json, write } = params;\n const result = await this.installationService.update(appId, {\n version,\n registryUrl,\n });\n if (json) {\n write(`${JSON.stringify({ ok: true, update: result }, null, 2)}\\n`);\n return;\n }\n if (!result.updated) {\n write(`Already up to date: ${result.appId} ${result.version}\\n`);\n return;\n }\n write(`Updated ${result.name} (${result.appId}) ${result.previousVersion} -> ${result.version}\\n`);\n write(`Code: ${result.installDirectory}\\n`);\n };\n}\n"],"mappings":";;AAEA,IAAa,gBAAb,MAA2B;CACzB,YACE,sBAA+D,IAAI,wBAAwB,EAC3F;AADiB,OAAA,sBAAA;;CAGnB,MAAM,OAAO,WAMQ;EACnB,MAAM,EAAE,OAAO,SAAS,aAAa,MAAM,UAAU;EACrD,MAAM,SAAS,MAAM,KAAK,oBAAoB,OAAO,OAAO;GAC1D;GACA;GACD,CAAC;AACF,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,QAAQ;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACnE;;AAEF,MAAI,CAAC,OAAO,SAAS;AACnB,SAAM,uBAAuB,OAAO,MAAM,GAAG,OAAO,QAAQ,IAAI;AAChE;;AAEF,QAAM,WAAW,OAAO,KAAK,IAAI,OAAO,MAAM,IAAI,OAAO,gBAAgB,MAAM,OAAO,QAAQ,IAAI;AAClG,QAAM,SAAS,OAAO,iBAAiB,IAAI"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { AppPublishValidationService } from "../
|
|
1
|
+
import { AppPublishValidationService } from "../services/app-publish-validation.service.js";
|
|
2
2
|
|
|
3
|
-
//#region src/
|
|
3
|
+
//#region src/controllers/validate-publish.controller.d.ts
|
|
4
4
|
declare class ValidatePublishCommand {
|
|
5
5
|
private readonly validationService;
|
|
6
6
|
constructor(validationService?: AppPublishValidationService);
|
|
7
7
|
run: (params: {
|
|
8
8
|
appDirectory: string;
|
|
9
9
|
metadataPath?: string;
|
|
10
|
-
mode
|
|
10
|
+
mode?: "source" | "bundle";
|
|
11
11
|
json: boolean;
|
|
12
12
|
write: (text: string) => void;
|
|
13
13
|
}) => Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-publish.controller.d.ts","names":[],"sources":["../../src/controllers/validate-publish.controller.ts"],"mappings":";;;cAEa,sBAAA;EAAA,iBAEQ,iBAAA;cAAA,iBAAA,GAAmB,2BAAA;EAGtC,GAAA,GAAa,MAAA;IACX,YAAA;IACA,YAAA;IACA,IAAA;IACA,IAAA;IACA,KAAA,GAAQ,IAAA;EAAA,MACN,OAAA;AAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AppPublishValidationService } from "../
|
|
2
|
-
//#region src/
|
|
1
|
+
import { AppPublishValidationService } from "../services/app-publish-validation.service.js";
|
|
2
|
+
//#region src/controllers/validate-publish.controller.ts
|
|
3
3
|
var ValidatePublishCommand = class {
|
|
4
4
|
constructor(validationService = new AppPublishValidationService()) {
|
|
5
5
|
this.validationService = validationService;
|
|
@@ -20,11 +20,15 @@ var ValidatePublishCommand = class {
|
|
|
20
20
|
}
|
|
21
21
|
write(`Publish validation ok for ${result.appId}@${result.version}\n`);
|
|
22
22
|
write(`Distribution mode: ${result.distributionMode}\n`);
|
|
23
|
-
write(`
|
|
24
|
-
|
|
23
|
+
write(`Profile: ${result.profile}\n`);
|
|
24
|
+
if (result.mainKind && result.mainEntryPath) {
|
|
25
|
+
write(`Main kind: ${result.mainKind}\n`);
|
|
26
|
+
write(`Main: ${result.mainEntryPath}\n`);
|
|
27
|
+
}
|
|
28
|
+
if (result.componentCount !== void 0) write(`Components: ${result.componentCount}\n`);
|
|
25
29
|
write(`Metadata: ${result.metadataPath}\n`);
|
|
26
30
|
write(`Bundle size: ${result.bundleSizeBytes} bytes\n`);
|
|
27
|
-
write(`Main entry size: ${result.mainEntrySizeBytes} bytes\n`);
|
|
31
|
+
if (result.mainEntrySizeBytes !== void 0) write(`Main entry size: ${result.mainEntrySizeBytes} bytes\n`);
|
|
28
32
|
write(`Bundle files (${result.bundleFilePaths.length}): ${result.bundleFilePaths.join(", ")}\n`);
|
|
29
33
|
if (result.warnings.length > 0) for (const warning of result.warnings) write(`Warning [${warning.code}]: ${warning.message}\n`);
|
|
30
34
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-publish.controller.js","names":[],"sources":["../../src/controllers/validate-publish.controller.ts"],"sourcesContent":["import { AppPublishValidationService } from \"#app-runtime/services/app-publish-validation.service.js\";\n\nexport class ValidatePublishCommand {\n constructor(\n private readonly validationService: AppPublishValidationService = new AppPublishValidationService(),\n ) {}\n\n run = async (params: {\n appDirectory: string;\n metadataPath?: string;\n mode?: \"source\" | \"bundle\";\n json: boolean;\n write: (text: string) => void;\n }): Promise<void> => {\n const { appDirectory, metadataPath, mode, json, write } = params;\n const result = await this.validationService.validate({\n appDirectory,\n metadataPath,\n mode,\n });\n if (json) {\n write(`${JSON.stringify({ ok: true, validation: result }, null, 2)}\\n`);\n return;\n }\n write(`Publish validation ok for ${result.appId}@${result.version}\\n`);\n write(`Distribution mode: ${result.distributionMode}\\n`);\n write(`Profile: ${result.profile}\\n`);\n if (result.mainKind && result.mainEntryPath) {\n write(`Main kind: ${result.mainKind}\\n`);\n write(`Main: ${result.mainEntryPath}\\n`);\n }\n if (result.componentCount !== undefined) {\n write(`Components: ${result.componentCount}\\n`);\n }\n write(`Metadata: ${result.metadataPath}\\n`);\n write(`Bundle size: ${result.bundleSizeBytes} bytes\\n`);\n if (result.mainEntrySizeBytes !== undefined) {\n write(`Main entry size: ${result.mainEntrySizeBytes} bytes\\n`);\n }\n write(`Bundle files (${result.bundleFilePaths.length}): ${result.bundleFilePaths.join(\", \")}\\n`);\n if (result.warnings.length > 0) {\n for (const warning of result.warnings) {\n write(`Warning [${warning.code}]: ${warning.message}\\n`);\n }\n }\n };\n}\n"],"mappings":";;AAEA,IAAa,yBAAb,MAAoC;CAClC,YACE,oBAAkE,IAAI,6BAA6B,EACnG;AADiB,OAAA,oBAAA;;CAGnB,MAAM,OAAO,WAMQ;EACnB,MAAM,EAAE,cAAc,cAAc,MAAM,MAAM,UAAU;EAC1D,MAAM,SAAS,MAAM,KAAK,kBAAkB,SAAS;GACnD;GACA;GACA;GACD,CAAC;AACF,MAAI,MAAM;AACR,SAAM,GAAG,KAAK,UAAU;IAAE,IAAI;IAAM,YAAY;IAAQ,EAAE,MAAM,EAAE,CAAC,IAAI;AACvE;;AAEF,QAAM,6BAA6B,OAAO,MAAM,GAAG,OAAO,QAAQ,IAAI;AACtE,QAAM,sBAAsB,OAAO,iBAAiB,IAAI;AACxD,QAAM,YAAY,OAAO,QAAQ,IAAI;AACrC,MAAI,OAAO,YAAY,OAAO,eAAe;AAC3C,SAAM,cAAc,OAAO,SAAS,IAAI;AACxC,SAAM,SAAS,OAAO,cAAc,IAAI;;AAE1C,MAAI,OAAO,mBAAmB,KAAA,EAC5B,OAAM,eAAe,OAAO,eAAe,IAAI;AAEjD,QAAM,aAAa,OAAO,aAAa,IAAI;AAC3C,QAAM,gBAAgB,OAAO,gBAAgB,UAAU;AACvD,MAAI,OAAO,uBAAuB,KAAA,EAChC,OAAM,oBAAoB,OAAO,mBAAmB,UAAU;AAEhE,QAAM,iBAAiB,OAAO,gBAAgB,OAAO,KAAK,OAAO,gBAAgB,KAAK,KAAK,CAAC,IAAI;AAChG,MAAI,OAAO,SAAS,SAAS,EAC3B,MAAK,MAAM,WAAW,OAAO,SAC3B,OAAM,YAAY,QAAQ,KAAK,KAAK,QAAQ,QAAQ,IAAI"}
|