@noodleseed/one 0.16.0 → 0.18.0
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/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +52 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/alerts-ops.d.ts +2 -0
- package/dist/commands/alerts-ops.d.ts.map +1 -0
- package/dist/commands/alerts-ops.js +249 -0
- package/dist/commands/alerts-ops.js.map +1 -0
- package/dist/commands/analytics-ops.d.ts +13 -0
- package/dist/commands/analytics-ops.d.ts.map +1 -1
- package/dist/commands/analytics-ops.js +5 -2
- package/dist/commands/analytics-ops.js.map +1 -1
- package/dist/commands/apps-ops.d.ts +17 -0
- package/dist/commands/apps-ops.d.ts.map +1 -0
- package/dist/commands/apps-ops.js +285 -0
- package/dist/commands/apps-ops.js.map +1 -0
- package/dist/commands/archive-ops.js +2 -2
- package/dist/commands/archive-ops.js.map +1 -1
- package/dist/commands/catalog-data-config.d.ts +9 -0
- package/dist/commands/catalog-data-config.d.ts.map +1 -0
- package/dist/commands/catalog-data-config.js +67 -0
- package/dist/commands/catalog-data-config.js.map +1 -0
- package/dist/commands/catalog-data-core.d.ts +13 -0
- package/dist/commands/catalog-data-core.d.ts.map +1 -0
- package/dist/commands/catalog-data-core.js +354 -0
- package/dist/commands/catalog-data-core.js.map +1 -0
- package/dist/commands/catalog-data-resources.d.ts +8 -0
- package/dist/commands/catalog-data-resources.d.ts.map +1 -0
- package/dist/commands/catalog-data-resources.js +551 -0
- package/dist/commands/catalog-data-resources.js.map +1 -0
- package/dist/commands/catalog-dispatch.d.ts +15 -0
- package/dist/commands/catalog-dispatch.d.ts.map +1 -0
- package/dist/commands/catalog-dispatch.js +95 -0
- package/dist/commands/catalog-dispatch.js.map +1 -0
- package/dist/commands/catalog-render.d.ts +28 -0
- package/dist/commands/catalog-render.d.ts.map +1 -0
- package/dist/commands/catalog-render.js +142 -0
- package/dist/commands/catalog-render.js.map +1 -0
- package/dist/commands/catalog-types.d.ts +46 -0
- package/dist/commands/catalog-types.d.ts.map +1 -0
- package/dist/commands/catalog-types.js +7 -0
- package/dist/commands/catalog-types.js.map +1 -0
- package/dist/commands/catalog.d.ts +30 -0
- package/dist/commands/catalog.d.ts.map +1 -0
- package/dist/commands/catalog.js +108 -0
- package/dist/commands/catalog.js.map +1 -0
- package/dist/commands/commands-ops.d.ts +2 -0
- package/dist/commands/commands-ops.d.ts.map +1 -0
- package/dist/commands/commands-ops.js +19 -0
- package/dist/commands/commands-ops.js.map +1 -0
- package/dist/commands/deploy-ops.d.ts +45 -3
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +200 -227
- package/dist/commands/deploy-ops.js.map +1 -1
- package/dist/commands/deploy-status-ops.d.ts +13 -0
- package/dist/commands/deploy-status-ops.d.ts.map +1 -0
- package/dist/commands/deploy-status-ops.js +252 -0
- package/dist/commands/deploy-status-ops.js.map +1 -0
- package/dist/commands/deployments-ops.d.ts +30 -0
- package/dist/commands/deployments-ops.d.ts.map +1 -0
- package/dist/commands/deployments-ops.js +248 -0
- package/dist/commands/deployments-ops.js.map +1 -0
- package/dist/commands/envs-ops.d.ts +8 -0
- package/dist/commands/envs-ops.d.ts.map +1 -0
- package/dist/commands/envs-ops.js +240 -0
- package/dist/commands/envs-ops.js.map +1 -0
- package/dist/commands/github-ops.d.ts +15 -0
- package/dist/commands/github-ops.d.ts.map +1 -0
- package/dist/commands/github-ops.js +316 -0
- package/dist/commands/github-ops.js.map +1 -0
- package/dist/commands/github-runs-ops.d.ts +32 -0
- package/dist/commands/github-runs-ops.d.ts.map +1 -0
- package/dist/commands/github-runs-ops.js +132 -0
- package/dist/commands/github-runs-ops.js.map +1 -0
- package/dist/commands/github-shared.d.ts +60 -0
- package/dist/commands/github-shared.d.ts.map +1 -0
- package/dist/commands/github-shared.js +175 -0
- package/dist/commands/github-shared.js.map +1 -0
- package/dist/commands/org-admin.d.ts.map +1 -1
- package/dist/commands/org-admin.js +223 -43
- package/dist/commands/org-admin.js.map +1 -1
- package/dist/commands/output.d.ts +35 -0
- package/dist/commands/output.d.ts.map +1 -0
- package/dist/commands/output.js +34 -0
- package/dist/commands/output.js.map +1 -0
- package/dist/commands/resource-shared.d.ts +132 -0
- package/dist/commands/resource-shared.d.ts.map +1 -0
- package/dist/commands/resource-shared.js +159 -0
- package/dist/commands/resource-shared.js.map +1 -0
- package/dist/commands/session.d.ts +6 -9
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +42 -116
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/shared.js +3 -91
- package/dist/commands/shared.js.map +1 -1
- package/dist/commands/target-picker.d.ts +44 -0
- package/dist/commands/target-picker.d.ts.map +1 -0
- package/dist/commands/target-picker.js +88 -0
- package/dist/commands/target-picker.js.map +1 -0
- package/dist/commands/update-ops.js +1 -1
- package/dist/diagnostics.d.ts +5 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +1 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +33 -0
- package/dist/doctor.js.map +1 -1
- package/dist/fire.d.ts +94 -0
- package/dist/fire.d.ts.map +1 -0
- package/dist/fire.js +418 -0
- package/dist/fire.js.map +1 -0
- package/dist/flavor.d.ts +19 -0
- package/dist/flavor.d.ts.map +1 -0
- package/dist/flavor.js +95 -0
- package/dist/flavor.js.map +1 -0
- package/dist/project.js +2 -2
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +30 -17
- package/dist/prompts.js.map +1 -1
- package/dist/relative-time.d.ts +8 -0
- package/dist/relative-time.d.ts.map +1 -0
- package/dist/relative-time.js +29 -0
- package/dist/relative-time.js.map +1 -0
- package/dist/table.d.ts +47 -0
- package/dist/table.d.ts.map +1 -0
- package/dist/table.js +152 -0
- package/dist/table.js.map +1 -0
- package/dist/update-binary.js +1 -1
- package/dist/update-check.d.ts +1 -1
- package/dist/update-check.js +1 -1
- package/dist/update.js +1 -1
- package/dist/watch.d.ts +52 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +177 -0
- package/dist/watch.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +28 -1
- package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +6 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/authoring/dist/connectors.js +14 -0
- package/node_modules/@noodle-borg/authoring/dist/connectors.js.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/recording.js +18 -23
- package/node_modules/@noodle-borg/authoring/dist/recording.js.map +1 -1
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js +9 -0
- package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.js +3 -1
- package/node_modules/@noodle-borg/openapi-import/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/alert-evaluator.d.ts +57 -0
- package/node_modules/@noodle-borg/service/dist/alert-evaluator.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/alert-evaluator.js +158 -0
- package/node_modules/@noodle-borg/service/dist/alert-evaluator.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/alert-webhook.d.ts +72 -0
- package/node_modules/@noodle-borg/service/dist/alert-webhook.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/alert-webhook.js +138 -0
- package/node_modules/@noodle-borg/service/dist/alert-webhook.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/github/app-client.d.ts +49 -0
- package/node_modules/@noodle-borg/service/dist/github/app-client.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/github/app-client.js +23 -0
- package/node_modules/@noodle-borg/service/dist/github/app-client.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/github/install-nonce.d.ts +23 -0
- package/node_modules/@noodle-borg/service/dist/github/install-nonce.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/github/install-nonce.js +57 -0
- package/node_modules/@noodle-borg/service/dist/github/install-nonce.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/github/pending-installations.d.ts +38 -0
- package/node_modules/@noodle-borg/service/dist/github/pending-installations.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/github/pending-installations.js +41 -0
- package/node_modules/@noodle-borg/service/dist/github/pending-installations.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/index.d.ts +15 -1
- package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.js +15 -1
- package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts +47 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-state.d.ts +28 -7
- package/node_modules/@noodle-borg/service/dist/registry-state.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-state.js +116 -3
- package/node_modules/@noodle-borg/service/dist/registry-state.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.d.ts +14 -1
- package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.js +20 -45
- package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/alerts-dispatch.d.ts +28 -0
- package/node_modules/@noodle-borg/service/dist/routes/alerts-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/alerts-dispatch.js +50 -0
- package/node_modules/@noodle-borg/service/dist/routes/alerts-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/alerts.d.ts +39 -0
- package/node_modules/@noodle-borg/service/dist/routes/alerts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/alerts.js +204 -0
- package/node_modules/@noodle-borg/service/dist/routes/alerts.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts +23 -0
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js +53 -0
- package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +24 -0
- package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/apps.js +72 -0
- package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/contracts.d.ts +465 -0
- package/node_modules/@noodle-borg/service/dist/routes/contracts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/contracts.js +233 -0
- package/node_modules/@noodle-borg/service/dist/routes/contracts.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +12 -1
- package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/deployments.js +31 -2
- package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts +17 -0
- package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.js +15 -0
- package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/envs.js +46 -0
- package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-connection.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-connection.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-connection.js +202 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-connection.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.d.ts +30 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.js +95 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-runs.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-runs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-runs.js +33 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-runs.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-setup.d.ts +28 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-setup.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-setup.js +80 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-setup.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-webhook.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-webhook.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-webhook.js +355 -0
- package/node_modules/@noodle-borg/service/dist/routes/github-webhook.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.d.ts +27 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js +61 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts +5 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.js +13 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts +64 -1
- package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/paths.js +170 -1
- package/node_modules/@noodle-borg/service/dist/routes/paths.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +33 -0
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +69 -0
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +42 -1
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +81 -82
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/alert-rules-json-file.d.ts +21 -0
- package/node_modules/@noodle-borg/service/dist/store/alert-rules-json-file.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/alert-rules-json-file.js +115 -0
- package/node_modules/@noodle-borg/service/dist/store/alert-rules-json-file.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/alert-rules.d.ts +108 -0
- package/node_modules/@noodle-borg/service/dist/store/alert-rules.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/alert-rules.js +181 -0
- package/node_modules/@noodle-borg/service/dist/store/alert-rules.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/control-plane.js +3 -0
- package/node_modules/@noodle-borg/service/dist/store/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.d.ts +24 -0
- package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.js +141 -0
- package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/github-connections.d.ts +31 -0
- package/node_modules/@noodle-borg/service/dist/store/github-connections.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/github-connections.js +120 -0
- package/node_modules/@noodle-borg/service/dist/store/github-connections.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs-json-file.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs-json-file.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs-json-file.js +116 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs-json-file.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs.d.ts +51 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs.js +158 -0
- package/node_modules/@noodle-borg/service/dist/store/github-runs.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts +32 -0
- package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/in-memory.js +169 -0
- package/node_modules/@noodle-borg/service/dist/store/in-memory.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts +14 -1
- package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/json-file.js +54 -1
- package/node_modules/@noodle-borg/service/dist/store/json-file.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/pending-installations-postgres.d.ts +19 -0
- package/node_modules/@noodle-borg/service/dist/store/pending-installations-postgres.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/pending-installations-postgres.js +46 -0
- package/node_modules/@noodle-borg/service/dist/store/pending-installations-postgres.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-alerts.d.ts +26 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-alerts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-alerts.js +142 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-alerts.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-apps.d.ts +11 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-apps.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-apps.js +31 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-apps.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.d.ts +21 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.js +80 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-config.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js +6 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-envs.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-envs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-envs.js +34 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-envs.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github-runs.d.ts +9 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github-runs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github-runs.js +113 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github-runs.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github.d.ts +13 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github.js +130 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-github.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +85 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +32 -2
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.js +72 -75
- package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/records.d.ts +56 -3
- package/node_modules/@noodle-borg/service/dist/store/records.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/records.js +158 -0
- package/node_modules/@noodle-borg/service/dist/store/records.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/validate.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/store/validate.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/validate.js +7 -0
- package/node_modules/@noodle-borg/service/dist/store/validate.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts +265 -17
- package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.js +10 -118
- package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
- package/node_modules/@noodle-borg/service/package.json +2 -1
- package/package.json +2 -2
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hosted deployment state operations, split out of `deploy-ops.ts` to keep both under the size
|
|
3
|
+
* gate: `status` (read a deployment's status/health), `rollback` (reactivate a historical
|
|
4
|
+
* deployment), and `access` (change a deployment's identity access mode). All three share the
|
|
5
|
+
* same tenant-target resolution + control-plane request path and are independent of the
|
|
6
|
+
* `deploy`/`open` flow that stays in `deploy-ops.ts`.
|
|
7
|
+
*/
|
|
8
|
+
import { resolveControlPlaneToken, serviceJson } from '../control-plane.js';
|
|
9
|
+
import { parseWatchFlags, runWatch, watchJsonConflictFailure } from '../watch.js';
|
|
10
|
+
import { normalizeCommandServerVersion } from './deploy-version-resolution.js';
|
|
11
|
+
import { isAccessMode, parseTenantCommandArgs, printCliFailure, resolveTenantTarget, serviceFailure, } from './shared.js';
|
|
12
|
+
/**
|
|
13
|
+
* Fetch + render the `status` view — shared by the one-shot print and `--watch`. Exported so
|
|
14
|
+
* tests can exercise the exact function `--watch` polls without driving the live loop itself.
|
|
15
|
+
*/
|
|
16
|
+
export async function statusFrame(statusUrl, resolved) {
|
|
17
|
+
try {
|
|
18
|
+
const body = await serviceJson(statusUrl, resolved.token);
|
|
19
|
+
const lines = [
|
|
20
|
+
`service: ${resolved.serviceUrl}`,
|
|
21
|
+
`target: ${body.target.org}/${body.target.app}/${body.target.env}`,
|
|
22
|
+
`deploy: ${body.deployment.deploymentId}`,
|
|
23
|
+
...(body.deployment.serverVersion !== undefined
|
|
24
|
+
? [`version: ${body.deployment.serverVersion}`]
|
|
25
|
+
: []),
|
|
26
|
+
`url: ${body.deployment.endpointUrl}`,
|
|
27
|
+
`access: ${body.deployment.accessMode}`,
|
|
28
|
+
`health: ${body.health.state}`,
|
|
29
|
+
...(!body.config.ok ? [`missing secrets: ${body.config.missingSecrets.join(', ')}`] : []),
|
|
30
|
+
];
|
|
31
|
+
return { ok: true, frame: lines.join('\n') };
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return { ok: false, error: serviceFailure('status', error, 'noodle doctor') };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export async function runStatus(rest, env, home) {
|
|
38
|
+
const args = parseTenantCommandArgs(rest);
|
|
39
|
+
const { watch, intervalMs } = parseWatchFlags(rest);
|
|
40
|
+
if (watch && args.json) {
|
|
41
|
+
return printCliFailure('status', watchJsonConflictFailure('noodle status --json'), true);
|
|
42
|
+
}
|
|
43
|
+
const target = resolveTenantTarget(args, home);
|
|
44
|
+
if (!target.ok)
|
|
45
|
+
return printCliFailure('status', target.error, args.json);
|
|
46
|
+
const serverVersion = normalizeCommandServerVersion('status', args.serverVersion, args.json);
|
|
47
|
+
if (!serverVersion.ok)
|
|
48
|
+
return serverVersion.exitCode;
|
|
49
|
+
const resolved = await resolveControlPlaneToken({
|
|
50
|
+
serviceFlag: args.service ?? target.serviceUrl,
|
|
51
|
+
authFlag: args.authToken,
|
|
52
|
+
env,
|
|
53
|
+
home,
|
|
54
|
+
});
|
|
55
|
+
if (resolved.token === undefined) {
|
|
56
|
+
return printCliFailure('status', {
|
|
57
|
+
code: 'auth_required',
|
|
58
|
+
message: 'No control-plane login token is available.',
|
|
59
|
+
cause: 'Hosted status requires an authenticated Noodle Seed Cloud identity.',
|
|
60
|
+
fix: 'Sign in to the target service.',
|
|
61
|
+
next: 'noodle login',
|
|
62
|
+
exitCode: 3,
|
|
63
|
+
}, args.json);
|
|
64
|
+
}
|
|
65
|
+
const statusUrl = `${resolved.serviceUrl}/v1/orgs/${encodeURIComponent(target.org)}` +
|
|
66
|
+
`/apps/${encodeURIComponent(target.app)}/envs/${encodeURIComponent(target.env)}/status` +
|
|
67
|
+
(serverVersion.value !== undefined
|
|
68
|
+
? `?version=${encodeURIComponent(serverVersion.value)}`
|
|
69
|
+
: '');
|
|
70
|
+
if (args.json) {
|
|
71
|
+
try {
|
|
72
|
+
const body = await serviceJson(statusUrl, resolved.token);
|
|
73
|
+
console.log(JSON.stringify({ ...body, service: resolved.serviceUrl }));
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
return printCliFailure('status', serviceFailure('status', error, 'noodle doctor'), true);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (watch) {
|
|
81
|
+
return runWatch({
|
|
82
|
+
command: 'status',
|
|
83
|
+
intervalMs,
|
|
84
|
+
render: () => statusFrame(statusUrl, resolved),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
const result = await statusFrame(statusUrl, resolved);
|
|
88
|
+
if (!result.ok)
|
|
89
|
+
return printCliFailure('status', result.error, false);
|
|
90
|
+
console.log(result.frame);
|
|
91
|
+
return 0;
|
|
92
|
+
}
|
|
93
|
+
export async function runRollback(rest, env, home) {
|
|
94
|
+
let deploymentId;
|
|
95
|
+
let reason;
|
|
96
|
+
const tenantArgs = [];
|
|
97
|
+
for (let i = 0; i < rest.length; i++) {
|
|
98
|
+
const arg = rest[i];
|
|
99
|
+
if (arg === '--reason')
|
|
100
|
+
reason = rest[++i];
|
|
101
|
+
else if (arg === '--org' ||
|
|
102
|
+
arg === '--app' ||
|
|
103
|
+
arg === '--env' ||
|
|
104
|
+
arg === '--service' ||
|
|
105
|
+
arg === '--auth-token') {
|
|
106
|
+
tenantArgs.push(arg);
|
|
107
|
+
const value = rest[++i];
|
|
108
|
+
if (value !== undefined)
|
|
109
|
+
tenantArgs.push(value);
|
|
110
|
+
}
|
|
111
|
+
else if (arg === '--json') {
|
|
112
|
+
tenantArgs.push(arg);
|
|
113
|
+
}
|
|
114
|
+
else if (arg?.startsWith('--')) {
|
|
115
|
+
const args = parseTenantCommandArgs(rest);
|
|
116
|
+
return printCliFailure('rollback', {
|
|
117
|
+
code: 'usage_error',
|
|
118
|
+
message: `unknown rollback option ${arg}`,
|
|
119
|
+
cause: `${arg} is not a supported rollback option.`,
|
|
120
|
+
fix: 'Remove the unknown option or use a supported rollback flag.',
|
|
121
|
+
next: 'noodle rollback <deploymentId> --org <org> --app <app> --env <env>',
|
|
122
|
+
exitCode: 2,
|
|
123
|
+
}, args.json);
|
|
124
|
+
}
|
|
125
|
+
else if (arg !== undefined && !arg.startsWith('--') && deploymentId === undefined) {
|
|
126
|
+
deploymentId = arg;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const args = parseTenantCommandArgs(tenantArgs);
|
|
130
|
+
if (deploymentId === undefined || deploymentId.startsWith('--')) {
|
|
131
|
+
return printCliFailure('rollback', {
|
|
132
|
+
code: 'usage_error',
|
|
133
|
+
message: 'rollback requires a deployment id',
|
|
134
|
+
cause: 'No deployment id was provided.',
|
|
135
|
+
fix: 'Pass the historical deployment id to reactivate.',
|
|
136
|
+
next: 'noodle deployments list --org <org> --app <app> --env <env>',
|
|
137
|
+
exitCode: 2,
|
|
138
|
+
}, args.json);
|
|
139
|
+
}
|
|
140
|
+
const target = resolveTenantTarget(args, home);
|
|
141
|
+
if (!target.ok)
|
|
142
|
+
return printCliFailure('rollback', target.error, args.json);
|
|
143
|
+
const resolved = await resolveControlPlaneToken({
|
|
144
|
+
serviceFlag: args.service ?? target.serviceUrl,
|
|
145
|
+
authFlag: args.authToken,
|
|
146
|
+
env,
|
|
147
|
+
home,
|
|
148
|
+
});
|
|
149
|
+
if (resolved.token === undefined) {
|
|
150
|
+
return printCliFailure('rollback', {
|
|
151
|
+
code: 'auth_required',
|
|
152
|
+
message: 'No control-plane login token is available.',
|
|
153
|
+
cause: 'Hosted rollback requires an authenticated Noodle Seed Cloud identity.',
|
|
154
|
+
fix: 'Sign in to the target service.',
|
|
155
|
+
next: 'noodle login',
|
|
156
|
+
exitCode: 3,
|
|
157
|
+
}, args.json);
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
const body = await serviceJson(`${resolved.serviceUrl}/v1/orgs/${encodeURIComponent(target.org)}` +
|
|
161
|
+
`/apps/${encodeURIComponent(target.app)}/envs/${encodeURIComponent(target.env)}/rollback`, resolved.token, {
|
|
162
|
+
method: 'POST',
|
|
163
|
+
headers: { 'content-type': 'application/json' },
|
|
164
|
+
body: JSON.stringify({
|
|
165
|
+
deploymentId,
|
|
166
|
+
...(reason !== undefined ? { reason } : {}),
|
|
167
|
+
}),
|
|
168
|
+
});
|
|
169
|
+
if (args.json) {
|
|
170
|
+
console.log(JSON.stringify({ ...body, service: resolved.serviceUrl }));
|
|
171
|
+
return 0;
|
|
172
|
+
}
|
|
173
|
+
console.log(`service: ${resolved.serviceUrl}`);
|
|
174
|
+
console.log(`target: ${body.target.org}/${body.target.app}/${body.target.env}`);
|
|
175
|
+
console.log(`active: ${body.rollback.deploymentId}`);
|
|
176
|
+
if (body.rollback.serverVersion !== undefined)
|
|
177
|
+
console.log(`version: ${body.rollback.serverVersion}`);
|
|
178
|
+
if (body.rollback.previousDeploymentId !== undefined) {
|
|
179
|
+
console.log(`from: ${body.rollback.previousDeploymentId}`);
|
|
180
|
+
}
|
|
181
|
+
console.log(`url: ${body.rollback.endpointUrl}`);
|
|
182
|
+
console.log(`access: ${body.rollback.accessMode}`);
|
|
183
|
+
if (body.rollback.alreadyActive)
|
|
184
|
+
console.log('status: already active');
|
|
185
|
+
return 0;
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
return printCliFailure('rollback', serviceFailure('rollback', error, 'noodle status'), args.json);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
export async function runAccess(rest, env, home) {
|
|
192
|
+
const [action, mode, ...tail] = rest;
|
|
193
|
+
const args = parseTenantCommandArgs(tail);
|
|
194
|
+
if (action !== 'set' || !isAccessMode(mode)) {
|
|
195
|
+
return printCliFailure('access', {
|
|
196
|
+
code: 'usage_error',
|
|
197
|
+
message: 'usage: noodle access set owner-only|org-members|authenticated|customers',
|
|
198
|
+
cause: 'The access command needs a supported identity access mode.',
|
|
199
|
+
fix: 'Choose owner-only, org-members, authenticated, or customers.',
|
|
200
|
+
next: 'noodle access set owner-only',
|
|
201
|
+
exitCode: 2,
|
|
202
|
+
}, args.json);
|
|
203
|
+
}
|
|
204
|
+
const target = resolveTenantTarget(args, home);
|
|
205
|
+
if (!target.ok)
|
|
206
|
+
return printCliFailure('access', target.error, args.json);
|
|
207
|
+
const serverVersion = normalizeCommandServerVersion('access', args.serverVersion, args.json);
|
|
208
|
+
if (!serverVersion.ok)
|
|
209
|
+
return serverVersion.exitCode;
|
|
210
|
+
const resolved = await resolveControlPlaneToken({
|
|
211
|
+
serviceFlag: args.service ?? target.serviceUrl,
|
|
212
|
+
authFlag: args.authToken,
|
|
213
|
+
env,
|
|
214
|
+
home,
|
|
215
|
+
});
|
|
216
|
+
if (resolved.token === undefined) {
|
|
217
|
+
return printCliFailure('access', {
|
|
218
|
+
code: 'auth_required',
|
|
219
|
+
message: 'No control-plane login token is available.',
|
|
220
|
+
cause: 'Hosted access updates require an authenticated Noodle Seed Cloud identity.',
|
|
221
|
+
fix: 'Sign in to the target service.',
|
|
222
|
+
next: 'noodle login',
|
|
223
|
+
exitCode: 3,
|
|
224
|
+
}, args.json);
|
|
225
|
+
}
|
|
226
|
+
try {
|
|
227
|
+
const body = await serviceJson(`${resolved.serviceUrl}/v1/orgs/${encodeURIComponent(target.org)}` +
|
|
228
|
+
`/apps/${encodeURIComponent(target.app)}/envs/${encodeURIComponent(target.env)}/access`, resolved.token, {
|
|
229
|
+
method: 'PATCH',
|
|
230
|
+
headers: { 'content-type': 'application/json' },
|
|
231
|
+
body: JSON.stringify({
|
|
232
|
+
accessMode: mode,
|
|
233
|
+
...(serverVersion.value !== undefined ? { serverVersion: serverVersion.value } : {}),
|
|
234
|
+
}),
|
|
235
|
+
});
|
|
236
|
+
if (args.json) {
|
|
237
|
+
console.log(JSON.stringify({ ...body, service: resolved.serviceUrl }));
|
|
238
|
+
return 0;
|
|
239
|
+
}
|
|
240
|
+
console.log(`service: ${resolved.serviceUrl}`);
|
|
241
|
+
console.log(`target: ${body.target.org}/${body.target.app}/${body.target.env}`);
|
|
242
|
+
console.log(`deploy: ${body.deployment.deploymentId}`);
|
|
243
|
+
if (body.deployment.serverVersion !== undefined)
|
|
244
|
+
console.log(`version: ${body.deployment.serverVersion}`);
|
|
245
|
+
console.log(`access: ${body.deployment.accessMode}`);
|
|
246
|
+
return 0;
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
return printCliFailure('access', serviceFailure('access', error, 'noodle status'), args.json);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=deploy-status-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-status-ops.js","sourceRoot":"","sources":["../../src/commands/deploy-status-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type TableOptions } from '../table.js';
|
|
2
|
+
import { type WatchFrame } from '../watch.js';
|
|
3
|
+
import { type DeploymentSummary } from './resource-shared.js';
|
|
4
|
+
export declare function runDeployments(rest: readonly string[], env: NodeJS.ProcessEnv, home: string): Promise<number>;
|
|
5
|
+
interface CommonDeploymentsArgs {
|
|
6
|
+
readonly org?: string;
|
|
7
|
+
readonly app?: string;
|
|
8
|
+
readonly targetEnv?: string;
|
|
9
|
+
readonly service?: string;
|
|
10
|
+
readonly authToken?: string;
|
|
11
|
+
readonly json: boolean;
|
|
12
|
+
/** `--archived`: opt archived deployments into the list (only `list` reads it). */
|
|
13
|
+
readonly archived: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Fetch + render the `deployments list` view (hosted table, or the local saved-servers-cache
|
|
17
|
+
* fallback when no org+token resolves) — shared by the one-shot print and `--watch`. Never
|
|
18
|
+
* fails in the local-fallback branch (a plain file read), only the hosted fetch can. Exported so
|
|
19
|
+
* tests can exercise the exact function `--watch` polls without driving the live loop itself.
|
|
20
|
+
*/
|
|
21
|
+
export declare function deploymentsListFrame(org: string | undefined, resolved: {
|
|
22
|
+
serviceUrl: string;
|
|
23
|
+
token?: string;
|
|
24
|
+
}, common: CommonDeploymentsArgs, home: string): Promise<WatchFrame>;
|
|
25
|
+
export declare function runDeploymentsList(rest: readonly string[], env: NodeJS.ProcessEnv, home: string): Promise<number>;
|
|
26
|
+
export declare function runDeploymentsInspect(rest: readonly string[], env: NodeJS.ProcessEnv, home: string): Promise<number>;
|
|
27
|
+
/** Render the `deployments list` table. Exported so tests (and the contract drift gate) can call it directly. */
|
|
28
|
+
export declare function renderDeploymentsTable(deployments: readonly DeploymentSummary[], opts: TableOptions): string;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=deployments-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments-ops.d.ts","sourceRoot":"","sources":["../../src/commands/deployments-ops.ts"],"names":[],"mappings":"AAaA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAA6B,KAAK,UAAU,EAA4B,MAAM,aAAa,CAAC;AAEnG,OAAO,EAML,KAAK,iBAAiB,EAMvB,MAAM,sBAAsB,CAAC;AAI9B,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAMjB;AAID,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAyCD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,CA8BrB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAID,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CA0CjB;AA8CD,iHAAiH;AACjH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,SAAS,iBAAiB,EAAE,EACzC,IAAI,EAAE,YAAY,GACjB,MAAM,CAER"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `deployments` resource commands: `noodle deployments list` / `noodle deployments inspect`.
|
|
3
|
+
* Absorbs the deploy-scoped view previously served by `noodle list` (ADR 0128 D4): the collection
|
|
4
|
+
* route `GET /v1/orgs/{org}/deployments` is long-shipped and unwrapped (`{ok:true,deployments}`,
|
|
5
|
+
* no `data`); the item route `GET /v1/orgs/{org}/deployments/{deploymentId}` (deployment inspect)
|
|
6
|
+
* mirrors the `apps`/`envs` item routes (`{ok:true,data:DeploymentSummary}`). When no org/token is
|
|
7
|
+
* resolvable — the common no-login case — `list` falls back to the local `~/.noodle/servers.json`
|
|
8
|
+
* cache, preserving `noodle list`'s legacy local-runtime behavior unchanged. The wire types, target
|
|
9
|
+
* resolution, failure builders, and branded table styling live in `resource-shared.ts`.
|
|
10
|
+
*/
|
|
11
|
+
import { readServers } from '../config.js';
|
|
12
|
+
import { resolveControlPlaneToken, ServiceRequestError, serviceJson } from '../control-plane.js';
|
|
13
|
+
import { relativeTime } from '../relative-time.js';
|
|
14
|
+
import { renderTable } from '../table.js';
|
|
15
|
+
import { parseWatchFlags, runWatch, watchJsonConflictFailure } from '../watch.js';
|
|
16
|
+
import { EXIT, printJsonOk } from './output.js';
|
|
17
|
+
import { ACCESS_CHIP_COLORS, ACTIVE_GREEN, ARCHIVED_AMBER, authRequired, DIM_GRAY, notFoundDeployment, resolveOrgTarget, stdoutTableOptions, } from './resource-shared.js';
|
|
18
|
+
import { printCliFailure, serviceFailure, usage } from './shared.js';
|
|
19
|
+
import { pickOrgInteractively } from './target-picker.js';
|
|
20
|
+
export async function runDeployments(rest, env, home) {
|
|
21
|
+
const [subcommand, ...tail] = rest;
|
|
22
|
+
if (subcommand === 'list')
|
|
23
|
+
return runDeploymentsList(tail, env, home);
|
|
24
|
+
if (subcommand === 'inspect')
|
|
25
|
+
return runDeploymentsInspect(tail, env, home);
|
|
26
|
+
usage();
|
|
27
|
+
return EXIT.USAGE;
|
|
28
|
+
}
|
|
29
|
+
function parseCommonDeploymentsArgs(rest) {
|
|
30
|
+
let org;
|
|
31
|
+
let app;
|
|
32
|
+
let targetEnv;
|
|
33
|
+
let service;
|
|
34
|
+
let authToken;
|
|
35
|
+
let json = false;
|
|
36
|
+
let archived = false;
|
|
37
|
+
const positional = [];
|
|
38
|
+
for (let i = 0; i < rest.length; i++) {
|
|
39
|
+
const arg = rest[i];
|
|
40
|
+
if (arg === '--org')
|
|
41
|
+
org = rest[++i];
|
|
42
|
+
else if (arg === '--app')
|
|
43
|
+
app = rest[++i];
|
|
44
|
+
else if (arg === '--env')
|
|
45
|
+
targetEnv = rest[++i];
|
|
46
|
+
else if (arg === '--service')
|
|
47
|
+
service = rest[++i];
|
|
48
|
+
else if (arg === '--auth-token')
|
|
49
|
+
authToken = rest[++i];
|
|
50
|
+
else if (arg === '--json')
|
|
51
|
+
json = true;
|
|
52
|
+
else if (arg === '--archived')
|
|
53
|
+
archived = true;
|
|
54
|
+
else if (arg !== undefined)
|
|
55
|
+
positional.push(arg);
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
common: {
|
|
59
|
+
...(org !== undefined ? { org } : {}),
|
|
60
|
+
...(app !== undefined ? { app } : {}),
|
|
61
|
+
...(targetEnv !== undefined ? { targetEnv } : {}),
|
|
62
|
+
...(service !== undefined ? { service } : {}),
|
|
63
|
+
...(authToken !== undefined ? { authToken } : {}),
|
|
64
|
+
json,
|
|
65
|
+
archived,
|
|
66
|
+
},
|
|
67
|
+
positional,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// --- list ------------------------------------------------------------------------
|
|
71
|
+
/**
|
|
72
|
+
* Fetch + render the `deployments list` view (hosted table, or the local saved-servers-cache
|
|
73
|
+
* fallback when no org+token resolves) — shared by the one-shot print and `--watch`. Never
|
|
74
|
+
* fails in the local-fallback branch (a plain file read), only the hosted fetch can. Exported so
|
|
75
|
+
* tests can exercise the exact function `--watch` polls without driving the live loop itself.
|
|
76
|
+
*/
|
|
77
|
+
export async function deploymentsListFrame(org, resolved, common, home) {
|
|
78
|
+
if (org !== undefined && resolved.token !== undefined) {
|
|
79
|
+
try {
|
|
80
|
+
const url = new URL(`${resolved.serviceUrl}/v1/orgs/${encodeURIComponent(org)}/deployments`);
|
|
81
|
+
if (common.app !== undefined)
|
|
82
|
+
url.searchParams.set('app', common.app);
|
|
83
|
+
if (common.targetEnv !== undefined)
|
|
84
|
+
url.searchParams.set('env', common.targetEnv);
|
|
85
|
+
if (common.archived)
|
|
86
|
+
url.searchParams.set('archived', 'true');
|
|
87
|
+
const body = await serviceJson(url.toString(), resolved.token);
|
|
88
|
+
const table = renderDeploymentsTable(body.deployments, stdoutTableOptions());
|
|
89
|
+
return {
|
|
90
|
+
ok: true,
|
|
91
|
+
frame: `${table}\n\n${body.deployments.length} deployment(s) from ${resolved.serviceUrl}.`,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
return { ok: false, error: serviceFailure('deployments', error, 'noodle doctor') };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const servers = readServers(home);
|
|
99
|
+
if (servers.length === 0) {
|
|
100
|
+
return {
|
|
101
|
+
ok: true,
|
|
102
|
+
frame: 'No saved servers. Deploy a linked project with `noodle deploy` to remember one locally.',
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
const lines = servers.map((s) => `${s.deploymentId}\t${s.url}\t${s.createdAt}`);
|
|
106
|
+
return {
|
|
107
|
+
ok: true,
|
|
108
|
+
frame: `${lines.join('\n')}\n\n${servers.length} server(s) cached in ~/.noodle/servers.json.`,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export async function runDeploymentsList(rest, env, home) {
|
|
112
|
+
const { common } = parseCommonDeploymentsArgs(rest);
|
|
113
|
+
const { watch, intervalMs } = parseWatchFlags(rest);
|
|
114
|
+
if (watch && common.json) {
|
|
115
|
+
return printCliFailure('deployments', watchJsonConflictFailure('noodle deployments list --json'), true);
|
|
116
|
+
}
|
|
117
|
+
const target = resolveOrgTarget(common.org, home);
|
|
118
|
+
const resolved = await resolveControlPlaneToken({
|
|
119
|
+
serviceFlag: common.service ?? (target.ok ? target.serviceUrl : undefined),
|
|
120
|
+
authFlag: common.authToken,
|
|
121
|
+
env,
|
|
122
|
+
home,
|
|
123
|
+
});
|
|
124
|
+
let org = target.ok ? target.org : undefined;
|
|
125
|
+
if (org === undefined) {
|
|
126
|
+
const picked = await pickOrgInteractively(resolved, common.json, (o) => `noodle deployments list --org ${o}`);
|
|
127
|
+
if (picked !== undefined)
|
|
128
|
+
org = picked;
|
|
129
|
+
}
|
|
130
|
+
if (common.json) {
|
|
131
|
+
if (org !== undefined && resolved.token !== undefined) {
|
|
132
|
+
try {
|
|
133
|
+
const url = new URL(`${resolved.serviceUrl}/v1/orgs/${encodeURIComponent(org)}/deployments`);
|
|
134
|
+
if (common.app !== undefined)
|
|
135
|
+
url.searchParams.set('app', common.app);
|
|
136
|
+
if (common.targetEnv !== undefined)
|
|
137
|
+
url.searchParams.set('env', common.targetEnv);
|
|
138
|
+
if (common.archived)
|
|
139
|
+
url.searchParams.set('archived', 'true');
|
|
140
|
+
const body = await serviceJson(url.toString(), resolved.token);
|
|
141
|
+
printJsonOk({ deployments: body.deployments });
|
|
142
|
+
return EXIT.OK;
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
return printCliFailure('deployments', serviceFailure('deployments', error, 'noodle doctor'), true);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// No resolvable org+token (the common no-login case): fall back to the local saved-servers
|
|
149
|
+
// cache, unchanged from the legacy `noodle list` behavior.
|
|
150
|
+
const servers = readServers(home);
|
|
151
|
+
console.log(JSON.stringify({ ok: true, target: { runtime: 'local' }, deployments: servers }));
|
|
152
|
+
return EXIT.OK;
|
|
153
|
+
}
|
|
154
|
+
if (watch) {
|
|
155
|
+
return runWatch({
|
|
156
|
+
command: 'deployments',
|
|
157
|
+
intervalMs,
|
|
158
|
+
render: () => deploymentsListFrame(org, resolved, common, home),
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const result = await deploymentsListFrame(org, resolved, common, home);
|
|
162
|
+
if (!result.ok)
|
|
163
|
+
return printCliFailure('deployments', result.error, false);
|
|
164
|
+
console.log(result.frame);
|
|
165
|
+
return EXIT.OK;
|
|
166
|
+
}
|
|
167
|
+
// --- inspect ---------------------------------------------------------------------
|
|
168
|
+
export async function runDeploymentsInspect(rest, env, home) {
|
|
169
|
+
const { common, positional } = parseCommonDeploymentsArgs(rest);
|
|
170
|
+
const deploymentId = positional[0];
|
|
171
|
+
if (deploymentId === undefined) {
|
|
172
|
+
usage();
|
|
173
|
+
return EXIT.USAGE;
|
|
174
|
+
}
|
|
175
|
+
const target = resolveOrgTarget(common.org, home);
|
|
176
|
+
if (!target.ok)
|
|
177
|
+
return printCliFailure('deployments', target.error, common.json);
|
|
178
|
+
const resolved = await resolveControlPlaneToken({
|
|
179
|
+
serviceFlag: common.service ?? target.serviceUrl,
|
|
180
|
+
authFlag: common.authToken,
|
|
181
|
+
env,
|
|
182
|
+
home,
|
|
183
|
+
});
|
|
184
|
+
if (resolved.token === undefined)
|
|
185
|
+
return printCliFailure('deployments', authRequired(), common.json);
|
|
186
|
+
try {
|
|
187
|
+
const url = `${resolved.serviceUrl}/v1/orgs/${encodeURIComponent(target.org)}` +
|
|
188
|
+
`/deployments/${encodeURIComponent(deploymentId)}`;
|
|
189
|
+
const body = await serviceJson(url, resolved.token);
|
|
190
|
+
if (common.json) {
|
|
191
|
+
printJsonOk(body.data);
|
|
192
|
+
return EXIT.OK;
|
|
193
|
+
}
|
|
194
|
+
printDeploymentDetail(target.org, body.data);
|
|
195
|
+
return EXIT.OK;
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
if (error instanceof ServiceRequestError && error.status === 404) {
|
|
199
|
+
return printCliFailure('deployments', notFoundDeployment(target.org, deploymentId), common.json);
|
|
200
|
+
}
|
|
201
|
+
return printCliFailure('deployments', serviceFailure('deployments', error, 'noodle deployments list'), common.json);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
function deploymentStatusLine(deployment) {
|
|
205
|
+
if (deployment.archivedAt !== undefined)
|
|
206
|
+
return `archived ${deployment.archivedAt}`;
|
|
207
|
+
return deployment.active ? 'active' : 'inactive';
|
|
208
|
+
}
|
|
209
|
+
function printDeploymentDetail(org, deployment) {
|
|
210
|
+
console.log(`deployment: ${deployment.deploymentId}`);
|
|
211
|
+
console.log(`org: ${org}`);
|
|
212
|
+
console.log(`app: ${deployment.appSlug}`);
|
|
213
|
+
console.log(`env: ${deployment.environment}`);
|
|
214
|
+
console.log(`status: ${deploymentStatusLine(deployment)}`);
|
|
215
|
+
console.log(`access: ${deployment.accessMode}`);
|
|
216
|
+
console.log(`version: ${deployment.serverVersion ?? '—'}`);
|
|
217
|
+
console.log(`server: ${deployment.serverName}`);
|
|
218
|
+
console.log(`createdBy: ${deployment.createdByEmail ?? '—'}`);
|
|
219
|
+
console.log(`created: ${deployment.createdAt}`);
|
|
220
|
+
}
|
|
221
|
+
// --- table rendering -----------------------------------------------------------
|
|
222
|
+
const DEPLOYMENTS_COLUMNS = [
|
|
223
|
+
// Full deploymentId (not a shortened form): it's what users copy verbatim for
|
|
224
|
+
// `noodle rollback <deploymentId>`. A separate APP column is redundant with `--app`/`--env`
|
|
225
|
+
// filters for scoping, so it's dropped here (unlike the `apps`/`envs` tables).
|
|
226
|
+
{ header: 'DEPLOYMENT', get: (d) => d.deploymentId },
|
|
227
|
+
{ header: 'ENV', get: (d) => d.environment },
|
|
228
|
+
{
|
|
229
|
+
header: 'STATUS',
|
|
230
|
+
get: (d) => (d.archivedAt !== undefined ? 'archived' : d.active ? 'active' : 'inactive'),
|
|
231
|
+
color: (d) => d.archivedAt !== undefined ? ARCHIVED_AMBER : d.active ? ACTIVE_GREEN : DIM_GRAY,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
header: 'ACCESS',
|
|
235
|
+
get: (d) => d.accessMode,
|
|
236
|
+
color: (d) => ACCESS_CHIP_COLORS[d.accessMode],
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
header: 'CREATED',
|
|
240
|
+
get: (d) => relativeTime(d.createdAt),
|
|
241
|
+
align: 'right',
|
|
242
|
+
},
|
|
243
|
+
];
|
|
244
|
+
/** Render the `deployments list` table. Exported so tests (and the contract drift gate) can call it directly. */
|
|
245
|
+
export function renderDeploymentsTable(deployments, opts) {
|
|
246
|
+
return renderTable(DEPLOYMENTS_COLUMNS, deployments, opts);
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=deployments-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments-ops.js","sourceRoot":"","sources":["../../src/commands/deployments-ops.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type TableOptions } from '../table.js';
|
|
2
|
+
import { type EnvSummary } from './resource-shared.js';
|
|
3
|
+
export declare function runEnvs(rest: readonly string[], env: NodeJS.ProcessEnv, home: string): Promise<number>;
|
|
4
|
+
export declare function runEnvsList(rest: readonly string[], env: NodeJS.ProcessEnv, home: string): Promise<number>;
|
|
5
|
+
export declare function runEnvsInspect(rest: readonly string[], env: NodeJS.ProcessEnv, home: string): Promise<number>;
|
|
6
|
+
/** Render the `envs list` table. Exported so tests (and the contract drift gate) can call it directly. */
|
|
7
|
+
export declare function renderEnvsTable(envs: readonly EnvSummary[], opts: TableOptions): string;
|
|
8
|
+
//# sourceMappingURL=envs-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envs-ops.d.ts","sourceRoot":"","sources":["../../src/commands/envs-ops.ts"],"names":[],"mappings":"AAYA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAML,KAAK,UAAU,EAKhB,MAAM,sBAAsB,CAAC;AAQ9B,wBAAsB,OAAO,CAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAMjB;AAuED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAuEjB;AAID,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAgDD,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAEvF"}
|