@numa-tech/numa 1.26.14 → 1.26.16
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/cert/client.d.ts +283 -0
- package/dist/cert/client.js +106 -0
- package/dist/cert/client.js.map +1 -0
- package/dist/cert/commands.d.ts +7 -0
- package/dist/cert/commands.js +47 -0
- package/dist/cert/commands.js.map +1 -0
- package/dist/cert/errors.d.ts +30 -0
- package/dist/cert/errors.js +31 -0
- package/dist/cert/errors.js.map +1 -0
- package/dist/cert/schemas.d.ts +421 -0
- package/dist/cert/schemas.js +92 -0
- package/dist/cert/schemas.js.map +1 -0
- package/dist/cli.js +29 -20
- package/dist/cli.js.map +1 -1
- package/dist/command-catalog.js +11 -0
- package/dist/command-catalog.js.map +1 -1
- package/dist/data-resources/client.d.ts +130 -0
- package/dist/data-resources/client.js +141 -0
- package/dist/data-resources/client.js.map +1 -0
- package/dist/data-resources/commands.d.ts +8 -0
- package/dist/data-resources/commands.js +112 -0
- package/dist/data-resources/commands.js.map +1 -0
- package/dist/data-resources/responses.d.ts +263 -0
- package/dist/data-resources/responses.js +49 -0
- package/dist/data-resources/responses.js.map +1 -0
- package/docs/data-resources.md +72 -0
- package/package.json +6 -5
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Data resource CLI
|
|
2
|
+
|
|
3
|
+
`numa data-resource` uses the current platform identity and `/api/v1/data-resources`.
|
|
4
|
+
Instance, policy, scope and settings reads require the platform ops-admin role;
|
|
5
|
+
application reads and mutations retain server-side VIEWER/MAINTAINER checks.
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
numa data-resource instances --kind RDS --json
|
|
9
|
+
numa data-resource instances --kind REDIS --json
|
|
10
|
+
numa data-resource policy 2 --json
|
|
11
|
+
numa data-resource scopes 1 --kind REDIS --json
|
|
12
|
+
numa data-resource candidates --app 8 --environment 2 --kind RDS --purpose main --json
|
|
13
|
+
numa data-resource bindings --app 8 --environment 2 --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Names and IDs must come from the target platform. A catalog instance alone does
|
|
17
|
+
not prove cloud identity, application access or usable credentials. An empty
|
|
18
|
+
candidate list is not permission to select another environment's instance.
|
|
19
|
+
|
|
20
|
+
Administrators can use `cloud-bind`, `set-scopes`, `set-settings`, `set-connection`, and `set-policy`
|
|
21
|
+
with `--file` and `--yes`. Each takes the backend's complete, credential-free
|
|
22
|
+
configuration DTO including its current `version`. Instance commands also require
|
|
23
|
+
`--kind RDS|REDIS`; policy targets an environment ID. These PUT requests are sent
|
|
24
|
+
once. Review cloud identity, environment scope, TLS and Redis instance-wide access
|
|
25
|
+
before applying; existing bindings do not follow changed defaults automatically.
|
|
26
|
+
|
|
27
|
+
`set-connection` additionally requires `instanceVersion`, `endpoint` (hostname/IP,
|
|
28
|
+
not a URL), and `port`. It requires the backend connection-correction upgrade and
|
|
29
|
+
rejects instances with existing resources or unresolved operations.
|
|
30
|
+
|
|
31
|
+
Allocation uses a credential-free JSON PlanInput matching the platform contract:
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"appId": 8,
|
|
36
|
+
"environmentId": 2,
|
|
37
|
+
"kind": "RDS",
|
|
38
|
+
"purpose": "main",
|
|
39
|
+
"mode": "CREATE",
|
|
40
|
+
"instanceId": 4,
|
|
41
|
+
"isolationMode": "DATABASE"
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
These IDs are illustrative, not existing-resource evidence. Save the input to a
|
|
46
|
+
file and call `numa data-resource plan --file plan.json --yes --json`. Review the
|
|
47
|
+
returned immutable target, account profile, operations and warnings before
|
|
48
|
+
`apply <plan-id> --idempotency-key <original-key> --yes`. Production requires the
|
|
49
|
+
server's accepted `--production-reason`. Redis `INSTANCE_ACCOUNT` grants access
|
|
50
|
+
to the whole instance; DB 0 is not dataset isolation.
|
|
51
|
+
|
|
52
|
+
`run <run-id>` reads the saved request. `reconcile <run-id> --yes` observes cloud
|
|
53
|
+
state and updates its ledger; it does not repeat a cloud mutation. Transport
|
|
54
|
+
loss, uncertain HTTP 5xx, and malformed successful write responses return
|
|
55
|
+
`DATA_RESOURCE_RESULT_UNKNOWN`. Writes, including 401 responses, are never
|
|
56
|
+
automatically replayed. Never replace a key to recover an unknown operation.
|
|
57
|
+
Plan creation has no resolve-by-key API: an unknown preview must be inspected
|
|
58
|
+
through existing bindings/platform records before considering a new plan.
|
|
59
|
+
|
|
60
|
+
Secret delivery is separate: `delivery <binding-id>` reads its CAS version and
|
|
61
|
+
`deliver <binding-id> --version <version> --idempotency-key <key> --yes` submits
|
|
62
|
+
the versioned delivery/reconciliation request. A valid receipt does not prove
|
|
63
|
+
application connectivity, migration success or restarted Pods. Credentials,
|
|
64
|
+
reveal, rotations, arbitrary cloud calls and inventory creation are deliberately
|
|
65
|
+
outside this initial command family.
|
|
66
|
+
|
|
67
|
+
The CLI preserves backend field names under `data`. Unknown response fields are dropped using explicit DTO schemas. Sensitive fields,
|
|
68
|
+
credential assignments and URL userinfo are redacted; provider error bodies and headers are not printed.
|
|
69
|
+
|
|
70
|
+
If an onboarding application is PROVISIONING and data-resource reads return
|
|
71
|
+
NOT_FOUND, check the platform's ACTIVE-only application gate. Do not silently
|
|
72
|
+
mark onboarding complete just to obtain database access.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@numa-tech/numa",
|
|
3
|
-
"version": "1.26.
|
|
3
|
+
"version": "1.26.16",
|
|
4
4
|
"description": "Cross-platform CLI for the Numa internal developer platform with Keycloak authentication and MCP support.",
|
|
5
5
|
"author": "numa-tech",
|
|
6
6
|
"keywords": [
|
|
@@ -39,7 +39,8 @@
|
|
|
39
39
|
"docs/oss-policy-client-governance.md",
|
|
40
40
|
"docs/environment-configuration-publication.md",
|
|
41
41
|
"docs/keycloak-managed-import.md",
|
|
42
|
-
"docs/design/kb-capability-upgrade.md"
|
|
42
|
+
"docs/design/kb-capability-upgrade.md",
|
|
43
|
+
"docs/data-resources.md"
|
|
43
44
|
],
|
|
44
45
|
"scripts": {
|
|
45
46
|
"clean": "node scripts/clean.mjs",
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
"dev:oss-web": "tsx src/cli.ts oss web",
|
|
52
53
|
"test:oss-web": "node --import tsx --test src/oss/web.test.ts src/oss/web-session.test.ts src/oss/web-transfers.test.ts src/oss/web-command.test.ts src/oss/local-picker.test.ts src/oss/transfer-paths.test.ts src/oss/transfer-worker.test.ts src/oss/transfer-queue.test.ts src/oss/web-page.test.ts src/oss/file-operations.test.ts src/oss/download-links.test.ts src/local-web/context-menu.test.ts",
|
|
53
54
|
"test:oss-auth-code": "node scripts/test-oss-auth-code.mjs",
|
|
54
|
-
"root:test": "node --import tsx --test --test-concurrency=4 src/mcp-gateway/profile.test.ts src/mcp-gateway/runtime.test.ts src/mcp-gateway/install.test.ts src/branding.test.ts src/app-config.test.ts src/platform-profile.test.ts src/profile-migration.test.ts src/identity.test.ts src/backend.test.ts src/oauth.test.ts src/web-console.test.ts src/cli-options.test.ts src/mail/client.test.ts src/wecom/client.test.ts src/wecom/commands.test.ts src/wecom/tools.test.ts src/ai-registry/client.test.ts src/ai-registry/bootstrap.test.ts src/ai-registry/install-defaults.test.ts src/ai-registry/workspace.test.ts src/ai-registry/namespace.test.ts src/compatibility/registry-instance.test.ts src/ai-registry/sync.test.ts src/ai-registry/bridge.test.ts src/ai-registry/skill-installer.test.ts src/ai-registry/skill-uninstaller.test.ts src/ai-registry/skill-dependencies.test.ts src/ai-registry/updates.test.ts src/maintenance/scheduler.test.ts src/maintenance/codex.test.ts src/ai-registry/mcp-installer.test.ts src/media/client.test.ts src/media/commands.test.ts src/media/transfers.test.ts src/oss/client.test.ts src/oss/governance.test.ts src/oss/commands.test.ts src/oss/auth-code.test.ts src/oss/clipboard.test.ts src/oss/web.test.ts src/oss/web-session.test.ts src/oss/web-transfers.test.ts src/oss/web-command.test.ts src/oss/local-picker.test.ts src/oss/transfer-paths.test.ts src/oss/transfer-worker.test.ts src/oss/transfer-queue.test.ts src/oss/web-page.test.ts src/oss/file-operations.test.ts src/oss/download-links.test.ts src/oss/bootstrap.test.ts src/oss/transfers.test.ts src/oss/search.test.ts src/oss/tools.test.ts src/mcp/install.test.ts src/mcp/catalog.test.ts src/tasks/runtime.test.ts src/tasks/stdio.test.ts src/tasks/wecom-notify.test.ts src/tasks/oss-query.test.ts src/interactive/wizard.test.ts src/pipeline/client.test.ts src/pipeline/commands.test.ts src/gitops/client.test.ts src/gitops/commands.test.ts src/gitops/workload-input.test.ts src/gitops/workload-client.test.ts src/gitops/workload-commands.test.ts src/repositories/client.test.ts src/repositories/commands.test.ts src/publications/scanner.test.ts src/publications/client.test.ts src/publications/commands.test.ts src/jenkins-jobs/client.test.ts src/jenkins-jobs/commands.test.ts src/clusters/client.test.ts src/clusters/commands.test.ts src/clusters/kubeconfig-discovery.test.ts src/teams/client.test.ts src/teams/commands.test.ts src/authorization/bootstrap-client.test.ts src/authorization/commands.test.ts src/authorization/access-request-client.test.ts src/authorization/access-request-commands.test.ts src/application-candidates/client.test.ts src/application-candidates/commands.test.ts src/application-onboarding/client.test.ts src/application-onboarding/commands.test.ts src/application-onboarding/tui.test.ts src/chatgpt-desktop.test.ts src/codex-integration.test.ts scripts/release-all.test.mjs src/authorization/application-commands.test.ts src/authorization/application-client.test.ts src/authorization/application-schemas.test.ts src/notion/client.test.ts src/notion/commands.test.ts src/notion/tools.test.ts src/notion/machine-cli.test.ts src/cloud/accounts.test.ts src/cloud/bootstrap.test.ts src/cloud/business-bootstrap.test.ts src/cloud/maintenance.test.ts src/cloud/wizard.test.ts src/cloud/oss-bootstrap.test.ts src/business-issuer.test.ts src/login-configuration.test.ts src/login-recovery.test.ts src/ai-registry/mcp-management.test.ts src/ai-registry/mcp-runtime.test.ts src/ai-registry/mcp-stdio.test.ts src/kb/client.test.ts src/kb/config.test.ts src/kb/commands.test.ts src/kb/login.test.ts src/kb/transfers.test.ts src/kb/contract.test.ts src/authorization/environment-governance-client.test.ts src/authorization/environment-governance-commands.test.ts src/authorization/environment-publication.test.ts src/authorization/managed-keycloak.test.ts src/authorization/managed-keycloak-producer.test.ts src/kb/web.test.ts src/kb/web-queue.test.ts src/local-web/context-menu.test.ts src/kb/web-login.test.ts src/kb/capabilities.test.ts src/jev/input.test.ts src/jev/profile.test.ts src/jev/client.test.ts src/jev/commands.test.ts scripts/check-default-profile.test.mjs",
|
|
55
|
+
"root:test": "node --import tsx --test --test-concurrency=4 src/mcp-gateway/profile.test.ts src/mcp-gateway/runtime.test.ts src/mcp-gateway/install.test.ts src/branding.test.ts src/app-config.test.ts src/platform-profile.test.ts src/profile-migration.test.ts src/identity.test.ts src/backend.test.ts src/cert/client.test.ts src/cert/commands.test.ts src/oauth.test.ts src/web-console.test.ts src/cli-options.test.ts src/mail/client.test.ts src/wecom/client.test.ts src/wecom/commands.test.ts src/wecom/tools.test.ts src/ai-registry/client.test.ts src/ai-registry/bootstrap.test.ts src/ai-registry/install-defaults.test.ts src/ai-registry/workspace.test.ts src/ai-registry/namespace.test.ts src/compatibility/registry-instance.test.ts src/ai-registry/sync.test.ts src/ai-registry/bridge.test.ts src/ai-registry/skill-installer.test.ts src/ai-registry/skill-uninstaller.test.ts src/ai-registry/skill-dependencies.test.ts src/ai-registry/updates.test.ts src/maintenance/scheduler.test.ts src/maintenance/codex.test.ts src/ai-registry/mcp-installer.test.ts src/media/client.test.ts src/media/commands.test.ts src/media/transfers.test.ts src/oss/client.test.ts src/oss/governance.test.ts src/oss/commands.test.ts src/oss/auth-code.test.ts src/oss/clipboard.test.ts src/oss/web.test.ts src/oss/web-session.test.ts src/oss/web-transfers.test.ts src/oss/web-command.test.ts src/oss/local-picker.test.ts src/oss/transfer-paths.test.ts src/oss/transfer-worker.test.ts src/oss/transfer-queue.test.ts src/oss/web-page.test.ts src/oss/file-operations.test.ts src/oss/download-links.test.ts src/oss/bootstrap.test.ts src/oss/transfers.test.ts src/oss/search.test.ts src/oss/tools.test.ts src/mcp/install.test.ts src/mcp/catalog.test.ts src/tasks/runtime.test.ts src/tasks/stdio.test.ts src/tasks/wecom-notify.test.ts src/tasks/oss-query.test.ts src/interactive/wizard.test.ts src/pipeline/client.test.ts src/pipeline/commands.test.ts src/gitops/client.test.ts src/gitops/commands.test.ts src/gitops/workload-input.test.ts src/gitops/workload-client.test.ts src/gitops/workload-commands.test.ts src/repositories/client.test.ts src/repositories/commands.test.ts src/publications/scanner.test.ts src/publications/client.test.ts src/publications/commands.test.ts src/jenkins-jobs/client.test.ts src/jenkins-jobs/commands.test.ts src/clusters/client.test.ts src/clusters/commands.test.ts src/clusters/kubeconfig-discovery.test.ts src/teams/client.test.ts src/teams/commands.test.ts src/authorization/bootstrap-client.test.ts src/authorization/commands.test.ts src/authorization/access-request-client.test.ts src/authorization/access-request-commands.test.ts src/application-candidates/client.test.ts src/application-candidates/commands.test.ts src/application-onboarding/client.test.ts src/application-onboarding/commands.test.ts src/application-onboarding/tui.test.ts src/chatgpt-desktop.test.ts src/codex-integration.test.ts scripts/release-all.test.mjs src/authorization/application-commands.test.ts src/authorization/application-client.test.ts src/authorization/application-schemas.test.ts src/notion/client.test.ts src/notion/commands.test.ts src/notion/tools.test.ts src/notion/machine-cli.test.ts src/cloud/accounts.test.ts src/cloud/bootstrap.test.ts src/cloud/business-bootstrap.test.ts src/cloud/maintenance.test.ts src/cloud/wizard.test.ts src/cloud/oss-bootstrap.test.ts src/business-issuer.test.ts src/login-configuration.test.ts src/login-recovery.test.ts src/ai-registry/mcp-management.test.ts src/ai-registry/mcp-runtime.test.ts src/ai-registry/mcp-stdio.test.ts src/kb/client.test.ts src/kb/config.test.ts src/kb/commands.test.ts src/kb/login.test.ts src/kb/transfers.test.ts src/kb/contract.test.ts src/authorization/environment-governance-client.test.ts src/authorization/environment-governance-commands.test.ts src/authorization/environment-publication.test.ts src/authorization/managed-keycloak.test.ts src/authorization/managed-keycloak-producer.test.ts src/kb/web.test.ts src/kb/web-queue.test.ts src/local-web/context-menu.test.ts src/kb/web-login.test.ts src/kb/capabilities.test.ts src/jev/input.test.ts src/jev/profile.test.ts src/jev/client.test.ts src/jev/commands.test.ts scripts/check-default-profile.test.mjs src/data-resources/client.test.ts src/data-resources/commands.test.ts",
|
|
55
56
|
"pack:check": "turbo run pack:check root:pack:check",
|
|
56
57
|
"root:pack:check": "node scripts/check-root-package.mjs",
|
|
57
58
|
"boundaries": "node scripts/check-workspace-boundaries.mjs",
|
|
@@ -78,8 +79,8 @@
|
|
|
78
79
|
"dependencies": {
|
|
79
80
|
"@clack/prompts": "^1.7.0",
|
|
80
81
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
81
|
-
"@numa-tech/cli-auth": "1.26.
|
|
82
|
-
"@tokensrc/codex": "1.26.
|
|
82
|
+
"@numa-tech/cli-auth": "1.26.16",
|
|
83
|
+
"@tokensrc/codex": "1.26.16",
|
|
83
84
|
"ali-oss": "^6.23.0",
|
|
84
85
|
"commander": "^14.0.3",
|
|
85
86
|
"ink": "^6.8.0",
|