@noodleseed/one 0.109.0 → 0.111.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/commands/analytics-ops.d.ts.map +1 -1
- package/dist/commands/analytics-ops.js +36 -57
- package/dist/commands/analytics-ops.js.map +1 -1
- package/dist/commands/apps-ops.d.ts.map +1 -1
- package/dist/commands/apps-ops.js +12 -32
- package/dist/commands/apps-ops.js.map +1 -1
- package/dist/commands/archive-ops.d.ts.map +1 -1
- package/dist/commands/archive-ops.js +30 -48
- package/dist/commands/archive-ops.js.map +1 -1
- package/dist/commands/audit-ops.js +17 -40
- package/dist/commands/audit-ops.js.map +1 -1
- package/dist/commands/author-loop.d.ts.map +1 -1
- package/dist/commands/author-loop.js +27 -51
- package/dist/commands/author-loop.js.map +1 -1
- package/dist/commands/catalog-data-tenant-admin.d.ts.map +1 -1
- package/dist/commands/catalog-data-tenant-admin.js +35 -0
- package/dist/commands/catalog-data-tenant-admin.js.map +1 -1
- package/dist/commands/config-values.d.ts.map +1 -1
- package/dist/commands/config-values.js +24 -59
- package/dist/commands/config-values.js.map +1 -1
- package/dist/commands/deploy-ops.d.ts +0 -1
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +6 -42
- package/dist/commands/deploy-ops.js.map +1 -1
- package/dist/commands/deployments-ops.d.ts.map +1 -1
- package/dist/commands/deployments-ops.js +11 -39
- package/dist/commands/deployments-ops.js.map +1 -1
- package/dist/commands/devtools.d.ts.map +1 -1
- package/dist/commands/devtools.js +19 -35
- package/dist/commands/devtools.js.map +1 -1
- package/dist/commands/envs-ops.d.ts.map +1 -1
- package/dist/commands/envs-ops.js +10 -35
- package/dist/commands/envs-ops.js.map +1 -1
- package/dist/commands/github-shared.d.ts +1 -1
- package/dist/commands/github-shared.d.ts.map +1 -1
- package/dist/commands/github-shared.js +11 -33
- package/dist/commands/github-shared.js.map +1 -1
- package/dist/commands/logs-ops.d.ts.map +1 -1
- package/dist/commands/logs-ops.js +18 -30
- package/dist/commands/logs-ops.js.map +1 -1
- package/dist/commands/org-admin.d.ts.map +1 -1
- package/dist/commands/org-admin.js +13 -47
- package/dist/commands/org-admin.js.map +1 -1
- package/dist/commands/org-domains.js +5 -36
- package/dist/commands/org-domains.js.map +1 -1
- package/dist/commands/org-mcp-subdomain.d.ts +9 -0
- package/dist/commands/org-mcp-subdomain.d.ts.map +1 -0
- package/dist/commands/org-mcp-subdomain.js +144 -0
- package/dist/commands/org-mcp-subdomain.js.map +1 -0
- package/dist/commands/org-member-args.d.ts.map +1 -1
- package/dist/commands/org-member-args.js +22 -57
- package/dist/commands/org-member-args.js.map +1 -1
- package/dist/commands/org-openai-challenge.js +9 -40
- package/dist/commands/org-openai-challenge.js.map +1 -1
- package/dist/commands/project-setup.d.ts.map +1 -1
- package/dist/commands/project-setup.js +0 -4
- package/dist/commands/project-setup.js.map +1 -1
- package/dist/commands/resource-shared.d.ts +1 -1
- package/dist/commands/resource-shared.d.ts.map +1 -1
- package/dist/commands/resource-shared.js +6 -31
- package/dist/commands/resource-shared.js.map +1 -1
- package/dist/commands/service-ops.js +21 -40
- package/dist/commands/service-ops.js.map +1 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +21 -52
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/shared.d.ts +16 -0
- package/dist/commands/shared.d.ts.map +1 -1
- package/dist/commands/shared.js +45 -33
- package/dist/commands/shared.js.map +1 -1
- package/dist/first-run.d.ts.map +1 -1
- package/dist/first-run.js +0 -3
- package/dist/first-run.js.map +1 -1
- package/node_modules/@noodle-borg/control-plane/dist/contracts.d.ts +249 -0
- package/node_modules/@noodle-borg/control-plane/dist/contracts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/contracts.js +2 -0
- package/node_modules/@noodle-borg/control-plane/dist/contracts.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.d.ts +116 -0
- package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.js +302 -0
- package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/index.d.ts +10 -0
- package/node_modules/@noodle-borg/control-plane/dist/index.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/index.js +8 -0
- package/node_modules/@noodle-borg/control-plane/dist/index.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/mcp-subdomain-claims.d.ts +42 -0
- package/node_modules/@noodle-borg/control-plane/dist/mcp-subdomain-claims.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/mcp-subdomain-claims.js +181 -0
- package/node_modules/@noodle-borg/control-plane/dist/mcp-subdomain-claims.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/organization-helpers.d.ts +13 -0
- package/node_modules/@noodle-borg/control-plane/dist/organization-helpers.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/organization-helpers.js +41 -0
- package/node_modules/@noodle-borg/control-plane/dist/organization-helpers.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-contracts.d.ts +11 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-contracts.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-contracts.js +2 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-contracts.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-claims.d.ts +18 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-claims.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-claims.js +173 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-claims.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-schema.d.ts +4 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-schema.js +134 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-mcp-subdomain-schema.js.map +1 -0
- package/node_modules/@noodle-borg/{service/dist/store/postgres-control-plane.d.ts → control-plane/dist/postgres-organization-store.d.ts} +4 -3
- package/node_modules/@noodle-borg/control-plane/dist/postgres-organization-store.d.ts.map +1 -0
- package/node_modules/@noodle-borg/{service/dist/store/postgres-control-plane.js → control-plane/dist/postgres-organization-store.js} +4 -5
- package/node_modules/@noodle-borg/control-plane/dist/postgres-organization-store.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-schema.d.ts +4 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-schema.js +90 -0
- package/node_modules/@noodle-borg/control-plane/dist/postgres-schema.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/validation.d.ts +18 -0
- package/node_modules/@noodle-borg/control-plane/dist/validation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/control-plane/dist/validation.js +91 -0
- package/node_modules/@noodle-borg/control-plane/dist/validation.js.map +1 -0
- package/node_modules/@noodle-borg/control-plane/package.json +30 -0
- package/node_modules/@noodle-borg/module/dist/contract.d.ts +11 -3
- package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
- package/node_modules/@noodle-borg/module/dist/contract.js +61 -12
- package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js +6 -4
- package/node_modules/@noodle-borg/service/dist/developer-mcp/control-plane-adapter.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts +3 -6
- package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/developer-mcp/inspection.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/main.js +1 -1
- package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts +15 -28
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js +15 -51
- package/node_modules/@noodle-borg/service/dist/mcp-public-routing.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js +7 -3
- package/node_modules/@noodle-borg/service/dist/oauth/service-bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.js +7 -35
- package/node_modules/@noodle-borg/service/dist/oauth/service-principal-resource.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js +1 -1
- package/node_modules/@noodle-borg/service/dist/operations/rollback-deployment.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts +3 -3
- package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts +1 -3
- package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/personal-workspace.js +2 -17
- package/node_modules/@noodle-borg/service/dist/personal-workspace.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/platform-auth-operator.d.ts +10 -10
- package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts +4 -2
- package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-helpers.js +8 -3
- package/node_modules/@noodle-borg/service/dist/registry-helpers.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-status.d.ts +2 -3
- package/node_modules/@noodle-borg/service/dist/registry-status.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry-status.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.d.ts +2 -4
- package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +3 -3
- package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/apps.js +4 -2
- package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-dispatch.d.ts +2 -2
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-dispatch.js +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-live.d.ts +2 -3
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-live.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-live.js +2 -1
- package/node_modules/@noodle-borg/service/dist/routes/auth-doctor-live.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/contracts.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/routes/contracts.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/contracts.js +39 -0
- package/node_modules/@noodle-borg/service/dist/routes/contracts.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +4 -6
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/credential-auth-dispatch.d.ts +2 -2
- package/node_modules/@noodle-borg/service/dist/routes/credential-auth-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/credential-auth-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +3 -3
- package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/deployments.js +4 -2
- package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/diagnostics.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js +5 -6
- package/node_modules/@noodle-borg/service/dist/routes/diagnostics.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts +2 -3
- package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +3 -3
- package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/envs.js +4 -2
- package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/openai-apps-challenge.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/openai-apps-challenge.js +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/openai-apps-challenge.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js +13 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js.map +1 -1
- 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 +10 -7
- package/node_modules/@noodle-borg/service/dist/routes/org-admin.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/org-mcp-subdomain.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-mcp-subdomain.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-mcp-subdomain.js +175 -0
- package/node_modules/@noodle-borg/service/dist/routes/org-mcp-subdomain.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts +3 -0
- package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/paths.js +11 -0
- package/node_modules/@noodle-borg/service/dist/routes/paths.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts +2 -1
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js +2 -2
- package/node_modules/@noodle-borg/service/dist/routes/protected-resource-metadata.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +3 -2
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +6 -6
- package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/rollback.js +3 -3
- package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts +3 -5
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.js +18 -15
- package/node_modules/@noodle-borg/service/dist/serve-resource-auth.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 +24 -35
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts +4 -94
- 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 +25 -265
- package/node_modules/@noodle-borg/service/dist/store/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-deploy-records.d.ts +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-deploy-records.js +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-mcp-subdomain.d.ts +13 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-mcp-subdomain.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-mcp-subdomain.js +40 -0
- package/node_modules/@noodle-borg/service/dist/store/postgres-mcp-subdomain.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 +2 -84
- package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-signup.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +2 -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 +5 -4
- package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/validate.d.ts +2 -20
- 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 -85
- package/node_modules/@noodle-borg/service/dist/store/validate.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.d.ts +4 -209
- package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store.js +1 -1
- package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
- package/node_modules/@noodle-borg/service/package.json +1 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +2 -0
- package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/handler.js +14 -8
- package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.d.ts +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/identity-authorization.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +2 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/index.js +1 -0
- package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/public-routing.d.ts +42 -0
- package/node_modules/@noodle-borg/transport-http/dist/public-routing.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/public-routing.js +49 -0
- package/node_modules/@noodle-borg/transport-http/dist/public-routing.js.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/routing.d.ts +3 -2
- package/node_modules/@noodle-borg/transport-http/dist/routing.d.ts.map +1 -1
- package/node_modules/@noodle-borg/transport-http/dist/routing.js +6 -3
- package/node_modules/@noodle-borg/transport-http/dist/routing.js.map +1 -1
- package/package.json +2 -1
- package/dist/banner.d.ts +0 -11
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -183
- package/dist/banner.js.map +0 -1
- package/dist/commands/deploy-fire-progress.d.ts +0 -28
- package/dist/commands/deploy-fire-progress.d.ts.map +0 -1
- package/dist/commands/deploy-fire-progress.js +0 -64
- package/dist/commands/deploy-fire-progress.js.map +0 -1
- package/dist/fire.d.ts +0 -108
- package/dist/fire.d.ts.map +0 -1
- package/dist/fire.js +0 -511
- package/dist/fire.js.map +0 -1
- package/dist/flavor.d.ts +0 -19
- package/dist/flavor.d.ts.map +0 -1
- package/dist/flavor.js +0 -105
- package/dist/flavor.js.map +0 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts.map +0 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { IncomingMessage } from 'node:http';
|
|
2
|
-
import type { TenantRouteRef } from '@noodle-borg/module';
|
|
2
|
+
import type { PublicMcpRouteRef, TenantRouteRef } from '@noodle-borg/module';
|
|
3
3
|
export interface PublicTenantRouting {
|
|
4
4
|
readonly allowedBaseDomains: readonly string[];
|
|
5
5
|
readonly edgeToken: string;
|
|
6
|
+
readonly resolveTenant: (ref: PublicMcpRouteRef) => Promise<TenantRouteRef | undefined>;
|
|
6
7
|
}
|
|
7
8
|
export type ParsedRoute = {
|
|
8
9
|
readonly kind: 'tenant';
|
|
@@ -21,7 +22,7 @@ export type RouteResolution = {
|
|
|
21
22
|
readonly ok: false;
|
|
22
23
|
readonly status: 403;
|
|
23
24
|
};
|
|
24
|
-
export declare function resolveRoute(req: IncomingMessage, pathname: string, publicTenantRouting: PublicTenantRouting | undefined): RouteResolution
|
|
25
|
+
export declare function resolveRoute(req: IncomingMessage, pathname: string, publicTenantRouting: PublicTenantRouting | undefined): Promise<RouteResolution>;
|
|
25
26
|
export declare function parseRoute(pathname: string): ParsedRoute | null;
|
|
26
27
|
export declare function tenantLogId(ref: TenantRouteRef): string;
|
|
27
28
|
export declare function safeDecode(value: string): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO7E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CACzF;AAED,MAAM,MAAM,WAAW,GACnB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3F,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC;AAEjD,wBAAsB,YAAY,CAChC,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,GACnD,OAAO,CAAC,eAAe,CAAC,CAwB1B;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAY/D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAEvD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { parseLegacyTenantMcpPath,
|
|
1
|
+
import { parseLegacyTenantMcpPath, parsePublicMcpUrl } from '@noodle-borg/module';
|
|
2
2
|
import { canonicalPublicResourceUrl, edgeTokenMatches } from './public-routing.js';
|
|
3
3
|
import { header } from './request-capture.js';
|
|
4
4
|
const SERVER_PATH = /^\/([^/]+)\/mcp$/;
|
|
5
|
-
export function resolveRoute(req, pathname, publicTenantRouting) {
|
|
5
|
+
export async function resolveRoute(req, pathname, publicTenantRouting) {
|
|
6
6
|
const forwardedHost = header(req, 'x-app-host');
|
|
7
7
|
if (forwardedHost !== undefined) {
|
|
8
8
|
if (publicTenantRouting === undefined ||
|
|
9
9
|
!edgeTokenMatches(header(req, 'x-noodle-edge-token'), publicTenantRouting.edgeToken)) {
|
|
10
10
|
return { ok: false, status: 403 };
|
|
11
11
|
}
|
|
12
|
-
const
|
|
12
|
+
const publicRef = parsePublicMcpUrl(forwardedHost, publicTenantRouting.allowedBaseDomains);
|
|
13
|
+
if (publicRef === undefined)
|
|
14
|
+
return { ok: true, route: null };
|
|
15
|
+
const ref = await publicTenantRouting.resolveTenant(publicRef);
|
|
13
16
|
if (ref === undefined)
|
|
14
17
|
return { ok: true, route: null };
|
|
15
18
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../src/routing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAqBvC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAoB,EACpB,QAAgB,EAChB,mBAAoD;IAEpD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,IACE,mBAAmB,KAAK,SAAS;YACjC,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,qBAAqB,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,EACpF,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACxD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,GAAG;gBACH,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;gBACvB,iBAAiB,EAAE,0BAA0B,CAAC,aAAa,CAAC;aAC7D;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAW,CAAC,CAAC;QACzD,IAAI,YAAY,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAmB;IAC7C,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@noodleseed/one",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.111.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Noodle CLI by Noodle Seed — author, run, and deploy declarative MCP servers. Embedding the assistant in your own web app is @noodleseed/assistant.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -82,6 +82,7 @@
|
|
|
82
82
|
"@noodle-borg/compute",
|
|
83
83
|
"@noodle-borg/connector-defs",
|
|
84
84
|
"@noodle-borg/connector-http",
|
|
85
|
+
"@noodle-borg/control-plane",
|
|
85
86
|
"@noodle-borg/developer-mcp",
|
|
86
87
|
"@noodle-borg/external-credential-provider",
|
|
87
88
|
"@noodle-borg/module",
|
package/dist/banner.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type ColorMode, type GlyphMode } from './gradient.js';
|
|
2
|
-
/** The settled (non-animated) splash string, with surrounding blank lines. */
|
|
3
|
-
export declare function renderBanner(mode: ColorMode, glyph?: GlyphMode): string;
|
|
4
|
-
/**
|
|
5
|
-
* Print the branded welcome for `noodle init`: animated on a wide, colored, Unicode
|
|
6
|
-
* TTY (truecolor or 256-color); a static frame otherwise; nothing when piped/redirected.
|
|
7
|
-
* Color/animation are suppressed under `NO_COLOR` and `CI` (via `detectColorMode`), so
|
|
8
|
-
* even a CI runner with a TTY never receives ANSI escapes.
|
|
9
|
-
*/
|
|
10
|
-
export declare function printBanner(): Promise<void>;
|
|
11
|
-
//# sourceMappingURL=banner.d.ts.map
|
package/dist/banner.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,SAAS,EAKd,KAAK,SAAS,EAOf,MAAM,eAAe,CAAC;AAuHvB,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,GAAE,SAAqB,GAAG,MAAM,CAQlF;AA0CD;;;;;GAKG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAUjD"}
|
package/dist/banner.js
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Branded ASCII splash for `noodle init`. The "Noodle Seed" wordmark (ANSI Shadow
|
|
3
|
-
* block font) is baked in as a constant so there is no runtime figlet dependency.
|
|
4
|
-
*
|
|
5
|
-
* On a wide interactive TTY it animates: the warm brand gradient (orange -> amber
|
|
6
|
-
* -> rose) flows through the block faces once, then settles — in truecolor where
|
|
7
|
-
* advertised, else a 256-color fallback so macOS Terminal.app and bare xterm stay
|
|
8
|
-
* warm. On a terminal without safe Unicode it falls back to a plain "NOODLE SEED"
|
|
9
|
-
* wordmark. Suppressed under `--json` (the caller gates), pipes, CI, and `NO_COLOR`.
|
|
10
|
-
*/
|
|
11
|
-
import { execFileSync } from 'node:child_process';
|
|
12
|
-
import { readFileSync } from 'node:fs';
|
|
13
|
-
import { userInfo } from 'node:os';
|
|
14
|
-
import { CLEAR_EOL, cursorUp, cyclic, detectColorMode, detectGlyphMode, HIDE_CURSOR, paint, RESET, SHOW_CURSOR, sgr, } from './gradient.js';
|
|
15
|
-
const WORDMARK = [
|
|
16
|
-
'███╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ███████╗ ███████╗███████╗███████╗██████╗',
|
|
17
|
-
'████╗ ██║██╔═══██╗██╔═══██╗██╔══██╗██║ ██╔════╝ ██╔════╝██╔════╝██╔════╝██╔══██╗',
|
|
18
|
-
'██╔██╗ ██║██║ ██║██║ ██║██║ ██║██║ █████╗ ███████╗█████╗ █████╗ ██║ ██║',
|
|
19
|
-
'██║╚██╗██║██║ ██║██║ ██║██║ ██║██║ ██╔══╝ ╚════██║██╔══╝ ██╔══╝ ██║ ██║',
|
|
20
|
-
'██║ ╚████║╚██████╔╝╚██████╔╝██████╔╝███████╗███████╗ ███████║███████╗███████╗██████╔╝',
|
|
21
|
-
'╚═╝ ╚═══╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝ ╚══════╝╚══════╝╚══════╝╚═════╝',
|
|
22
|
-
];
|
|
23
|
-
const WIDTH = Math.max(...WORDMARK.map((l) => [...l].length));
|
|
24
|
-
const TAGLINE = 'Go headless. Turn your software into an MCP server and plugin.';
|
|
25
|
-
const GREY = [163, 163, 163];
|
|
26
|
-
const DIM_GREY = [115, 115, 115];
|
|
27
|
-
// Half a palette cycle spans the width, so at phase 0 the wordmark reads orange -> rose.
|
|
28
|
-
const SPAN = 0.5;
|
|
29
|
-
// Shadow/edge glyphs (everything but the solid block) are dimmed for depth.
|
|
30
|
-
const EDGE_DIM = 0.45;
|
|
31
|
-
function colorLine(chars, phase, dimEdges, mode) {
|
|
32
|
-
let out = '';
|
|
33
|
-
for (let i = 0; i < chars.length; i++) {
|
|
34
|
-
const ch = chars[i];
|
|
35
|
-
if (ch === ' ') {
|
|
36
|
-
out += ' ';
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
let c = cyclic((i / (WIDTH - 1)) * SPAN + phase);
|
|
40
|
-
if (dimEdges && ch !== '█')
|
|
41
|
-
c = [Math.round(c[0] * EDGE_DIM), Math.round(c[1] * EDGE_DIM), Math.round(c[2] * EDGE_DIM)];
|
|
42
|
-
out += `${sgr(c, mode)}${ch}`;
|
|
43
|
-
}
|
|
44
|
-
return `${out}${RESET}`;
|
|
45
|
-
}
|
|
46
|
-
/** Wordmark + gradient rule at a flow phase; each line optionally cleared to EOL (for redraws). */
|
|
47
|
-
function block(phase, clear, mode) {
|
|
48
|
-
const suffix = clear ? CLEAR_EOL : '';
|
|
49
|
-
const lines = WORDMARK.map((l) => colorLine([...l], phase, true, mode) + suffix);
|
|
50
|
-
lines.push(colorLine(Array.from({ length: WIDTH }, () => '─'), phase, false, mode) + suffix);
|
|
51
|
-
return `${lines.join('\n')}\n`;
|
|
52
|
-
}
|
|
53
|
-
function plainBlock() {
|
|
54
|
-
return `${[...WORDMARK, '─'.repeat(WIDTH)].join('\n')}\n`;
|
|
55
|
-
}
|
|
56
|
-
/** ASCII-safe fallback wordmark for terminals without trusted Unicode: plain letters, warm gradient. */
|
|
57
|
-
function asciiWordmark(mode) {
|
|
58
|
-
const text = 'NOODLE SEED';
|
|
59
|
-
const chars = [...text];
|
|
60
|
-
const wm = chars
|
|
61
|
-
.map((ch, i) => (ch === ' ' ? ' ' : paint(cyclic((i / (chars.length - 1)) * SPAN), ch, mode)))
|
|
62
|
-
.join('');
|
|
63
|
-
const rule = paint(GREY, '-'.repeat(text.length), mode);
|
|
64
|
-
return `${wm}\n${rule}\n`;
|
|
65
|
-
}
|
|
66
|
-
const titleCase = (s) => s ? s.charAt(0).toUpperCase() + s.slice(1).toLowerCase() : '';
|
|
67
|
-
function gitConfig(key) {
|
|
68
|
-
try {
|
|
69
|
-
return execFileSync('git', ['config', key], {
|
|
70
|
-
encoding: 'utf8',
|
|
71
|
-
stdio: ['ignore', 'pipe', 'ignore'],
|
|
72
|
-
timeout: 500,
|
|
73
|
-
}).trim();
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
return '';
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/** Best-effort friendly first name: git full name, else the email's first name, else the OS user, else "Noodler". */
|
|
80
|
-
function detectName() {
|
|
81
|
-
const name = gitConfig('user.name');
|
|
82
|
-
if (name.includes(' '))
|
|
83
|
-
return titleCase(name.split(/\s+/)[0] ?? '');
|
|
84
|
-
const email = gitConfig('user.email');
|
|
85
|
-
if (email.includes('@')) {
|
|
86
|
-
const local = (email.split('@')[0] ?? '').split(/[._+-]/)[0];
|
|
87
|
-
if (local)
|
|
88
|
-
return titleCase(local);
|
|
89
|
-
}
|
|
90
|
-
if (name)
|
|
91
|
-
return titleCase(name);
|
|
92
|
-
try {
|
|
93
|
-
const user = userInfo().username;
|
|
94
|
-
if (user)
|
|
95
|
-
return titleCase(user);
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
// userInfo can throw without a home dir; fall through
|
|
99
|
-
}
|
|
100
|
-
return 'Noodler';
|
|
101
|
-
}
|
|
102
|
-
/** The installed CLI version, read from the package manifest (same file `noodle --version` reads). */
|
|
103
|
-
function cliVersion() {
|
|
104
|
-
try {
|
|
105
|
-
const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
106
|
-
return typeof pkg.version === 'string' ? pkg.version : '';
|
|
107
|
-
}
|
|
108
|
-
catch {
|
|
109
|
-
return '';
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const tagline = (mode) => paint(GREY, TAGLINE, mode);
|
|
113
|
-
function greeting(mode) {
|
|
114
|
-
const version = cliVersion();
|
|
115
|
-
const ver = version ? ` · v${version}` : '';
|
|
116
|
-
return paint(DIM_GREY, `Welcome ${detectName()}!${ver} · docs.noodleseed.dev`, mode);
|
|
117
|
-
}
|
|
118
|
-
/** The settled (non-animated) splash string, with surrounding blank lines. */
|
|
119
|
-
export function renderBanner(mode, glyph = 'unicode') {
|
|
120
|
-
const wm = glyph === 'ascii'
|
|
121
|
-
? asciiWordmark(mode)
|
|
122
|
-
: mode === 'none'
|
|
123
|
-
? plainBlock()
|
|
124
|
-
: block(0, false, mode);
|
|
125
|
-
return `\n${wm}${tagline(mode)}\n${greeting(mode)}\n\n`;
|
|
126
|
-
}
|
|
127
|
-
/** Async frame delay so SIGINT is handled between frames — the splash stays interruptible. */
|
|
128
|
-
function delay(ms) {
|
|
129
|
-
return new Promise((resolve) => {
|
|
130
|
-
setTimeout(resolve, ms);
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
const FRAMES = 46;
|
|
134
|
-
const STEP_MS = 62; // ~2.8s, a single slow flow-through then settle
|
|
135
|
-
async function animate(mode) {
|
|
136
|
-
const out = process.stdout;
|
|
137
|
-
const up = cursorUp(WORDMARK.length + 1); // wordmark rows + rule
|
|
138
|
-
// The animation blocks the loop, so a Ctrl+C mid-flight would skip the finally and leave the
|
|
139
|
-
// cursor hidden. Guard every exit path: SIGINT restores + exits, `exit` covers other teardown.
|
|
140
|
-
const restore = () => {
|
|
141
|
-
out.write(SHOW_CURSOR);
|
|
142
|
-
};
|
|
143
|
-
const onSigint = () => {
|
|
144
|
-
restore();
|
|
145
|
-
process.exit(130);
|
|
146
|
-
};
|
|
147
|
-
process.once('exit', restore);
|
|
148
|
-
process.once('SIGINT', onSigint);
|
|
149
|
-
out.write(`\n${HIDE_CURSOR}`);
|
|
150
|
-
try {
|
|
151
|
-
out.write(block(0, true, mode));
|
|
152
|
-
for (let f = 1; f <= FRAMES; f++) {
|
|
153
|
-
await delay(STEP_MS);
|
|
154
|
-
out.write(up + block(f / FRAMES, true, mode)); // phase 0 -> 1 (one cycle), lands at canonical
|
|
155
|
-
}
|
|
156
|
-
out.write(up + block(0, true, mode)); // settle
|
|
157
|
-
}
|
|
158
|
-
finally {
|
|
159
|
-
restore();
|
|
160
|
-
process.off('exit', restore);
|
|
161
|
-
process.off('SIGINT', onSigint);
|
|
162
|
-
}
|
|
163
|
-
out.write(`${tagline(mode)}\n${greeting(mode)}\n\n`);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Print the branded welcome for `noodle init`: animated on a wide, colored, Unicode
|
|
167
|
-
* TTY (truecolor or 256-color); a static frame otherwise; nothing when piped/redirected.
|
|
168
|
-
* Color/animation are suppressed under `NO_COLOR` and `CI` (via `detectColorMode`), so
|
|
169
|
-
* even a CI runner with a TTY never receives ANSI escapes.
|
|
170
|
-
*/
|
|
171
|
-
export async function printBanner() {
|
|
172
|
-
const out = process.stdout;
|
|
173
|
-
if (!out.isTTY)
|
|
174
|
-
return;
|
|
175
|
-
const mode = detectColorMode(out);
|
|
176
|
-
const glyph = detectGlyphMode();
|
|
177
|
-
if (mode !== 'none' && glyph === 'unicode' && (out.columns ?? WIDTH) >= WIDTH) {
|
|
178
|
-
await animate(mode);
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
181
|
-
out.write(renderBanner(mode, glyph));
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=banner.js.map
|
package/dist/banner.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,SAAS,EAET,QAAQ,EACR,MAAM,EACN,eAAe,EACf,eAAe,EAEf,WAAW,EACX,KAAK,EACL,KAAK,EAEL,WAAW,EACX,GAAG,GACJ,MAAM,eAAe,CAAC;AAEvB,MAAM,QAAQ,GAAG;IACf,yFAAyF;IACzF,0FAA0F;IAC1F,0FAA0F;IAC1F,0FAA0F;IAC1F,0FAA0F;IAC1F,yFAAyF;CAC1F,CAAC;AACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,gEAAgE,CAAC;AACjF,MAAM,IAAI,GAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAClC,MAAM,QAAQ,GAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEtC,yFAAyF;AACzF,MAAM,IAAI,GAAG,GAAG,CAAC;AACjB,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC;AAEtB,SAAS,SAAS,CAAC,KAAe,EAAE,KAAa,EAAE,QAAiB,EAAE,IAAe;IACnF,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,GAAG,IAAI,GAAG,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;QACjD,IAAI,QAAQ,IAAI,EAAE,KAAK,GAAG;YACxB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC9F,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,mGAAmG;AACnG,SAAS,KAAK,CAAC,KAAa,EAAE,KAAc,EAAE,IAAe;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CACR,SAAS,CACP,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EACxC,KAAK,EACL,KAAK,EACL,IAAI,CACL,GAAG,MAAM,CACX,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED,wGAAwG;AACxG,SAAS,aAAa,CAAC,IAAe;IACpC,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,KAAK;SACb,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;SAC7F,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAEhE,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;YAC1C,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,OAAO,EAAE,GAAG;SACb,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,qHAAqH;AACrH,SAAS,UAAU;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,KAAK;YAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACjC,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,sGAAsG;AACtG,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAEvF,CAAC;QACF,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,IAAe,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACxE,SAAS,QAAQ,CAAC,IAAe;IAC/B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,EAAE,WAAW,UAAU,EAAE,IAAI,GAAG,wBAAwB,EAAE,IAAI,CAAC,CAAC;AACvF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,YAAY,CAAC,IAAe,EAAE,QAAmB,SAAS;IACxE,MAAM,EAAE,GACN,KAAK,KAAK,OAAO;QACf,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,UAAU,EAAE;YACd,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED,8FAA8F;AAC9F,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,gDAAgD;AAEpE,KAAK,UAAU,OAAO,CAAC,IAAe;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;IACjE,6FAA6F;IAC7F,+FAA+F;IAC/F,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjC,GAAG,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACrB,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,+CAA+C;QAChG,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;IACjD,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO;IACvB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAC9E,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { type DeployFireController } from '../fire.js';
|
|
2
|
-
/**
|
|
3
|
-
* Whether this `deploy` run is eligible for the animated fire band in place of the plain spinner:
|
|
4
|
-
* a genuinely interactive, colored TTY on *both* streams (dismissal needs stdin), not `--json`,
|
|
5
|
-
* and not explicitly opted out by setting `NOODLE_NO_FIRE` (any value — presence-based, like
|
|
6
|
-
* `NO_COLOR`). `CI`/`NO_COLOR` are checked on the INJECTED env (presence, mirroring
|
|
7
|
-
* `detectColorMode`'s semantics) so the gate honors its seam rather than only the global env.
|
|
8
|
-
*/
|
|
9
|
-
export declare function shouldRunDeployFire(opts: {
|
|
10
|
-
readonly json: boolean;
|
|
11
|
-
readonly stdout: {
|
|
12
|
-
readonly isTTY?: boolean;
|
|
13
|
-
};
|
|
14
|
-
readonly stdin: {
|
|
15
|
-
readonly isTTY?: boolean;
|
|
16
|
-
};
|
|
17
|
-
readonly env: NodeJS.ProcessEnv;
|
|
18
|
-
}): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Wrap a `fetch` so the fire band's progress reflects real network milestones instead of a timer:
|
|
21
|
-
* the first call proves compile finished (nothing else could have made a request yet); the assets
|
|
22
|
-
* preflight response proves assets are checked; each asset upload nudges progress toward the upload
|
|
23
|
-
* milestone; and starting the final `/deploy` POST proves uploads are done (deploy.ts always awaits
|
|
24
|
-
* them first) and marks entry into the indeterminate activate wait — which a deploy that packaged no
|
|
25
|
-
* assets also reaches directly, correctly collapsing the assets/upload stages to instant.
|
|
26
|
-
*/
|
|
27
|
-
export declare function instrumentFireFetch(base: typeof fetch, fire: DeployFireController): typeof fetch;
|
|
28
|
-
//# sourceMappingURL=deploy-fire-progress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-fire-progress.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-fire-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,YAAY,CAAC;AAKnE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACjC,GAAG,OAAO,CAUV;AAQD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,KAAK,CA+BhG"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { MILESTONES } from '../fire.js';
|
|
2
|
-
import { detectColorMode } from '../gradient.js';
|
|
3
|
-
// --- deploy fire animation (founder-approved UX, ADR-free — see fire.ts for the design) --------
|
|
4
|
-
/**
|
|
5
|
-
* Whether this `deploy` run is eligible for the animated fire band in place of the plain spinner:
|
|
6
|
-
* a genuinely interactive, colored TTY on *both* streams (dismissal needs stdin), not `--json`,
|
|
7
|
-
* and not explicitly opted out by setting `NOODLE_NO_FIRE` (any value — presence-based, like
|
|
8
|
-
* `NO_COLOR`). `CI`/`NO_COLOR` are checked on the INJECTED env (presence, mirroring
|
|
9
|
-
* `detectColorMode`'s semantics) so the gate honors its seam rather than only the global env.
|
|
10
|
-
*/
|
|
11
|
-
export function shouldRunDeployFire(opts) {
|
|
12
|
-
return (!opts.json &&
|
|
13
|
-
opts.env.CI === undefined &&
|
|
14
|
-
opts.env.NO_COLOR === undefined &&
|
|
15
|
-
opts.stdout.isTTY === true &&
|
|
16
|
-
detectColorMode(opts.stdout) !== 'none' &&
|
|
17
|
-
opts.stdin.isTTY === true &&
|
|
18
|
-
opts.env.NOODLE_NO_FIRE === undefined);
|
|
19
|
-
}
|
|
20
|
-
function requestUrl(input) {
|
|
21
|
-
if (typeof input === 'string')
|
|
22
|
-
return input;
|
|
23
|
-
if (input instanceof URL)
|
|
24
|
-
return input.toString();
|
|
25
|
-
return input.url;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Wrap a `fetch` so the fire band's progress reflects real network milestones instead of a timer:
|
|
29
|
-
* the first call proves compile finished (nothing else could have made a request yet); the assets
|
|
30
|
-
* preflight response proves assets are checked; each asset upload nudges progress toward the upload
|
|
31
|
-
* milestone; and starting the final `/deploy` POST proves uploads are done (deploy.ts always awaits
|
|
32
|
-
* them first) and marks entry into the indeterminate activate wait — which a deploy that packaged no
|
|
33
|
-
* assets also reaches directly, correctly collapsing the assets/upload stages to instant.
|
|
34
|
-
*/
|
|
35
|
-
export function instrumentFireFetch(base, fire) {
|
|
36
|
-
let sawFirstCall = false;
|
|
37
|
-
let uploadProgress = MILESTONES.assets;
|
|
38
|
-
const wrapped = async (input, init) => {
|
|
39
|
-
const url = requestUrl(input);
|
|
40
|
-
const isDeployPost = url.endsWith('/deploy');
|
|
41
|
-
const isPreflight = url.endsWith('/assets/preflight');
|
|
42
|
-
const isUpload = !isDeployPost && !isPreflight && (init?.method ?? 'GET').toUpperCase() === 'PUT';
|
|
43
|
-
if (!sawFirstCall) {
|
|
44
|
-
sawFirstCall = true;
|
|
45
|
-
fire.setProgress(MILESTONES.compile);
|
|
46
|
-
}
|
|
47
|
-
if (isDeployPost) {
|
|
48
|
-
fire.setProgress(MILESTONES.upload);
|
|
49
|
-
fire.setProgress(MILESTONES.activate);
|
|
50
|
-
}
|
|
51
|
-
const response = await base(input, init);
|
|
52
|
-
if (isPreflight) {
|
|
53
|
-
uploadProgress = MILESTONES.assets;
|
|
54
|
-
fire.setProgress(uploadProgress);
|
|
55
|
-
}
|
|
56
|
-
else if (isUpload) {
|
|
57
|
-
uploadProgress += (MILESTONES.upload - uploadProgress) * 0.4;
|
|
58
|
-
fire.setProgress(uploadProgress);
|
|
59
|
-
}
|
|
60
|
-
return response;
|
|
61
|
-
};
|
|
62
|
-
return wrapped;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=deploy-fire-progress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-fire-progress.js","sourceRoot":"","sources":["../../src/commands/deploy-fire-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,kGAAkG;AAElG;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAKnC;IACC,OAAO,CACL,CAAC,IAAI,CAAC,IAAI;QACV,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS;QACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC1B,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM;QACvC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QACzB,IAAI,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAkC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,GAAG;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClD,OAAQ,KAAiB,CAAC,GAAG,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAkB,EAAE,IAA0B;IAChF,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,cAAc,GAAW,UAAU,CAAC,MAAM,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,EACnB,KAAkC,EAClC,IAAkC,EACR,EAAE;QAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,QAAQ,GACZ,CAAC,YAAY,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;QACnF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,WAAW,EAAE,CAAC;YAChB,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,cAAc,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,OAAuB,CAAC;AACjC,CAAC"}
|
package/dist/fire.d.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { type ColorMode, type GlyphMode, type RGB } from './gradient.js';
|
|
2
|
-
export type FireMode = 'warm' | 'green' | 'rose';
|
|
3
|
-
/** Heat (0..1) through the mode's gradient stops, evenly spaced and linearly interpolated. */
|
|
4
|
-
export declare function fireColor(h: number, mode: FireMode): RGB;
|
|
5
|
-
/** Heat (0..1) quantized to one of 5 density glyphs (Unicode blocks, or an ASCII fallback). */
|
|
6
|
-
export declare function glyphFor(h: number, glyph: GlyphMode): string;
|
|
7
|
-
export type HeatGrid = readonly (readonly number[])[];
|
|
8
|
-
export declare function createGrid(rows: number, cols: number): HeatGrid;
|
|
9
|
-
/**
|
|
10
|
-
* Advance the grid one tick: heat flows up by exactly one row per call (row `y`'s new value comes
|
|
11
|
-
* from the *previous* frame's row `y+1`, or `sources` for the bottom-most row), with a jittered
|
|
12
|
-
* lateral drift and a jittered decay — both index/tick-hashed, so `advanceHeat` is a pure function
|
|
13
|
-
* of its inputs (same grid + sources + tick always produces the same next grid).
|
|
14
|
-
*/
|
|
15
|
-
export declare function advanceHeat(grid: HeatGrid, sources: readonly number[], tick: number): HeatGrid;
|
|
16
|
-
export type Stage = 'compile' | 'assets' | 'upload' | 'activate' | 'live';
|
|
17
|
-
/** x-fraction (0..1) along the band each pipeline stage's milestone tick sits at. */
|
|
18
|
-
export declare const MILESTONES: Readonly<Record<Stage, number>>;
|
|
19
|
-
export declare const MILESTONE_ORDER: readonly Stage[];
|
|
20
|
-
/**
|
|
21
|
-
* The stage currently in flight (used to pick the flavor line): the window between two milestones
|
|
22
|
-
* belongs to the *later* one — e.g. `[0.16, 0.30)` is "checking assets", not "still compiling" —
|
|
23
|
-
* so each threshold below is the *previous* milestone, not the stage's own.
|
|
24
|
-
*/
|
|
25
|
-
export declare function stageForProgress(progress: number): Stage;
|
|
26
|
-
/** The column a milestone x-fraction lands on for a given band width. */
|
|
27
|
-
export declare function milestoneCol(position: number, cols: number): number;
|
|
28
|
-
/** A milestone-crossing flare: a short-lived additive heat boost centered on `col`, aging each tick. */
|
|
29
|
-
export interface FlareState {
|
|
30
|
-
readonly col: number;
|
|
31
|
-
readonly ageTicks: number;
|
|
32
|
-
}
|
|
33
|
-
/** ~1.1s of decay at `FRAME_MS` — exported so tests and the renderer share one duration. */
|
|
34
|
-
export declare const FLARE_DURATION_TICKS: number;
|
|
35
|
-
export type FirePhase = 'progress' | 'success' | 'failure';
|
|
36
|
-
export interface FireZoneState {
|
|
37
|
-
readonly cols: number;
|
|
38
|
-
readonly tick: number;
|
|
39
|
-
/**
|
|
40
|
-
* Ticks since the current end phase (`success`/`failure`) began — NOT the global tick. The failure
|
|
41
|
-
* spread is computed from this, so a deploy that dies late still bleeds rose outward gradually
|
|
42
|
-
* instead of instantly owning the band. Defaults to 0 when omitted (spread not yet started).
|
|
43
|
-
*/
|
|
44
|
-
readonly phaseTick?: number;
|
|
45
|
-
readonly frontCol: number;
|
|
46
|
-
readonly phase: FirePhase;
|
|
47
|
-
/** Column the deploy died at; only meaningful (and required) once `phase === 'failure'`. */
|
|
48
|
-
readonly deathCol?: number;
|
|
49
|
-
readonly flare?: FlareState;
|
|
50
|
-
}
|
|
51
|
-
/** Heat sources injected on the virtual row below the band, one per column, for this tick's zone state. */
|
|
52
|
-
export declare function sourcesFor(state: FireZoneState): number[];
|
|
53
|
-
export interface FireFrameInput {
|
|
54
|
-
readonly grid: HeatGrid;
|
|
55
|
-
readonly cols: number;
|
|
56
|
-
readonly progress: number;
|
|
57
|
-
readonly mode: FireMode;
|
|
58
|
-
readonly color: ColorMode;
|
|
59
|
-
readonly glyph: GlyphMode;
|
|
60
|
-
/** Pre-rendered ✔-checklist lines drawn above the band (the approved layout), or omit. */
|
|
61
|
-
readonly headerLines?: readonly string[];
|
|
62
|
-
/** Pre-rendered flavor line, or `undefined` to omit it entirely. */
|
|
63
|
-
readonly flavorLine?: string;
|
|
64
|
-
/** Pre-rendered "press enter to close" hint, or `undefined` while not yet holding. */
|
|
65
|
-
readonly dismissHint?: string;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* The labeled stage track from the approved frames: `compile —— assets —— upload ——— activate —— live`,
|
|
69
|
-
* label starts anchored to their milestone columns, dashes filling the gaps. Passed stages read amber,
|
|
70
|
-
* the road ahead dim.
|
|
71
|
-
*/
|
|
72
|
-
export declare function renderStageLabelRow(progress: number, cols: number, color: ColorMode, glyph: GlyphMode): string;
|
|
73
|
-
/** Build one frame's lines: checklist header, grid rows, milestone ticks + labels, flavor/dismiss. */
|
|
74
|
-
export declare function renderFireFrame(input: FireFrameInput): readonly string[];
|
|
75
|
-
export interface DeployFireOptions {
|
|
76
|
-
readonly stream: NodeJS.WriteStream;
|
|
77
|
-
/** Enables Enter/Ctrl-C dismissal on success; failure and non-TTY runs settle immediately. */
|
|
78
|
-
readonly stdin?: (NodeJS.ReadStream & {
|
|
79
|
-
isRaw?: boolean;
|
|
80
|
-
}) | undefined;
|
|
81
|
-
readonly frameMs?: number;
|
|
82
|
-
readonly rows?: number;
|
|
83
|
-
readonly cols?: number;
|
|
84
|
-
/** Entrypoint shown on the checklist's compile line (e.g. `server.ts`). */
|
|
85
|
-
readonly entrypointLabel?: string;
|
|
86
|
-
}
|
|
87
|
-
export interface DeployFireController {
|
|
88
|
-
/** Advance progress along the pipeline (0..1); crossing a milestone pushes a decaying flare. */
|
|
89
|
-
setProgress(progress: number): void;
|
|
90
|
-
/** Green end-state + simmer + hold; `lines` join the ✔ checklist (e.g. Activated / Live: url). */
|
|
91
|
-
succeed(opts?: {
|
|
92
|
-
readonly lines?: readonly string[];
|
|
93
|
-
}): Promise<void>;
|
|
94
|
-
/** Final rose frame; `line` becomes the ✗ checklist entry before recovery output prints. */
|
|
95
|
-
fail(opts?: {
|
|
96
|
-
readonly line?: string;
|
|
97
|
-
}): Promise<void>;
|
|
98
|
-
/** Stop immediately with no end-state and no hold (e.g. pausing for an interactive secret prompt). */
|
|
99
|
-
stop(): void;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Drive the fire band on `stream`. Assumes the caller has already decided this run is eligible
|
|
103
|
-
* (interactive, colored, not `--json`, not `NOODLE_NO_FIRE`) — this function independently derives
|
|
104
|
-
* color from `stream` too, and renders nothing at all when that resolves to `'none'`, so it is safe
|
|
105
|
-
* to call directly in tests without re-deriving the outer gate.
|
|
106
|
-
*/
|
|
107
|
-
export declare function runDeployFire(opts: DeployFireOptions): DeployFireController;
|
|
108
|
-
//# sourceMappingURL=fire.d.ts.map
|
package/dist/fire.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fire.d.ts","sourceRoot":"","sources":["../src/fire.ts"],"names":[],"mappings":"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"}
|