@elevasis/sdk 1.49.0 → 1.50.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/chunk-MGZZ4HL4.js +4399 -0
- package/dist/chunk-VYWGWJRW.js +130 -0
- package/dist/chunk-YJDXRHNP.js +7901 -0
- package/dist/cli.cjs +208 -51
- package/dist/index.d.ts +347 -2
- package/dist/index.js +2 -7831
- package/dist/node/index.d.ts +3 -3759
- package/dist/node/index.js +2 -124
- package/dist/test-utils/index.d.ts +2 -12664
- package/dist/test-utils/index.js +93 -28073
- package/dist/worker/index.d.ts +532 -12872
- package/dist/worker/index.js +3 -7509
- package/package.json +10 -2
- package/reference/packages/core/src/content/README.md +4 -1
- package/reference/rules/agent-start-here.md +1 -1
- package/reference/rules/frontend.md +3 -1
- package/reference/rules/package-taxonomy.md +7 -5
- package/reference/rules/ui.md +30 -4
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +8 -6
- package/reference/scaffold/ui/feature-flags-and-gating.md +11 -1
- package/reference/sdk/cli-management.mdx +127 -125
- package/reference/sdk/cli.mdx +70 -61
- package/reference/sdk/deployment/index.mdx +23 -6
- package/reference/sdk/platform-tools/adapters-platform.mdx +1 -1
- package/reference/sdk/troubleshooting.mdx +72 -1
package/reference/sdk/cli.mdx
CHANGED
|
@@ -43,10 +43,10 @@ elevasis-sdk check
|
|
|
43
43
|
|
|
44
44
|
**Flags:**
|
|
45
45
|
|
|
46
|
-
| Flag
|
|
47
|
-
|
|
|
48
|
-
| `--entry <path>`
|
|
49
|
-
| `--skip-coverage`
|
|
46
|
+
| Flag | Description |
|
|
47
|
+
| ----------------- | -------------------------------------------------- |
|
|
48
|
+
| `--entry <path>` | Path to the entry file (default: `./src/index.ts`) |
|
|
49
|
+
| `--skip-coverage` | Skip the skill coverage gate |
|
|
50
50
|
|
|
51
51
|
**Example output (success):**
|
|
52
52
|
|
|
@@ -91,14 +91,14 @@ elevasis-sdk deploy
|
|
|
91
91
|
|
|
92
92
|
**Flags:**
|
|
93
93
|
|
|
94
|
-
| Flag
|
|
95
|
-
|
|
|
94
|
+
| Flag | Description |
|
|
95
|
+
| ----------------- | ------------------------------------------------------------ |
|
|
96
96
|
| `--api-url <url>` | Override the API base URL (default: production) |
|
|
97
97
|
| `--entry <path>` | Path to the entry file (default: `./src/index.ts`) |
|
|
98
|
-
| `--prod`
|
|
99
|
-
| `--major`
|
|
100
|
-
| `--minor`
|
|
101
|
-
| `--patch`
|
|
98
|
+
| `--prod` | Force production target, overriding `NODE_ENV=development` |
|
|
99
|
+
| `--major` | Bump the major version before deploying (`1.0.0` -> `2.0.0`) |
|
|
100
|
+
| `--minor` | Bump the minor version before deploying (`1.0.0` -> `1.1.0`) |
|
|
101
|
+
| `--patch` | Bump the patch version before deploying (`1.0.0` -> `1.0.1`) |
|
|
102
102
|
|
|
103
103
|
**Environment variables:**
|
|
104
104
|
|
|
@@ -156,13 +156,13 @@ elevasis-sdk exec <resource> --input '{...}'
|
|
|
156
156
|
|
|
157
157
|
**Flags:**
|
|
158
158
|
|
|
159
|
-
| Flag
|
|
160
|
-
|
|
|
159
|
+
| Flag | Description |
|
|
160
|
+
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
|
161
161
|
| `-i, --input <json>` | JSON input matching the resource's input schema |
|
|
162
162
|
| `-f, --input-file <path>` | Read input from a JSON file instead of `--input` (avoids shell escaping). Relative paths resolve against the project root |
|
|
163
|
-
| `--async`
|
|
164
|
-
| `--cleanup-input`
|
|
165
|
-
| `--prod`
|
|
163
|
+
| `--async` | Execute asynchronously, return execution ID immediately |
|
|
164
|
+
| `--cleanup-input` | Delete the input file after a successful execution (only files under `<projectRoot>/tmp/` are eligible) |
|
|
165
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
166
166
|
| `--api-url <url>` | Override the API base URL |
|
|
167
167
|
|
|
168
168
|
`exec` does not declare a `--json` flag -- output is always the formatted display shown below.
|
|
@@ -218,9 +218,9 @@ elevasis-sdk resources
|
|
|
218
218
|
|
|
219
219
|
**Flags:**
|
|
220
220
|
|
|
221
|
-
| Flag
|
|
222
|
-
|
|
|
223
|
-
| `--json`
|
|
221
|
+
| Flag | Description |
|
|
222
|
+
| ----------------- | ------------------------- |
|
|
223
|
+
| `--json` | Output raw JSON |
|
|
224
224
|
| `--api-url <url>` | Override the API base URL |
|
|
225
225
|
|
|
226
226
|
**Example output:**
|
|
@@ -254,11 +254,11 @@ elevasis-sdk executions [resource]
|
|
|
254
254
|
|
|
255
255
|
**Flags:**
|
|
256
256
|
|
|
257
|
-
| Flag
|
|
258
|
-
|
|
|
257
|
+
| Flag | Description |
|
|
258
|
+
| ------------------- | --------------------------------------------------------------- |
|
|
259
259
|
| `--limit <n>` | Maximum number of executions to return (default: 50) |
|
|
260
260
|
| `--status <status>` | Filter by status: `running`, `completed`, `failed`, `cancelled` |
|
|
261
|
-
| `--json`
|
|
261
|
+
| `--json` | Output raw JSON |
|
|
262
262
|
| `--api-url <url>` | Override the API base URL |
|
|
263
263
|
|
|
264
264
|
**Example:**
|
|
@@ -296,13 +296,13 @@ elevasis-sdk execution <resource> <id>
|
|
|
296
296
|
|
|
297
297
|
**Flags:**
|
|
298
298
|
|
|
299
|
-
| Flag
|
|
300
|
-
|
|
|
301
|
-
| `--logs-only`
|
|
302
|
-
| `--input`
|
|
303
|
-
| `--result`
|
|
304
|
-
| `--prod`
|
|
305
|
-
| `--json`
|
|
299
|
+
| Flag | Description |
|
|
300
|
+
| ----------------- | ---------------------------------------------------- |
|
|
301
|
+
| `--logs-only` | Show only execution logs |
|
|
302
|
+
| `--input` | Force the Input section to print |
|
|
303
|
+
| `--result` | Force the Result section to print |
|
|
304
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
305
|
+
| `--json` | Output raw JSON response |
|
|
306
306
|
| `--api-url <url>` | Override the API base URL |
|
|
307
307
|
|
|
308
308
|
**Example:**
|
|
@@ -361,11 +361,11 @@ elevasis-sdk execution:cancel <resourceId> <executionId>
|
|
|
361
361
|
|
|
362
362
|
**Flags:**
|
|
363
363
|
|
|
364
|
-
| Flag
|
|
365
|
-
|
|
|
366
|
-
| `--prod`
|
|
364
|
+
| Flag | Description |
|
|
365
|
+
| ----------------- | ---------------------------------------------------- |
|
|
366
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
367
367
|
| `--api-url <url>` | Override the API base URL |
|
|
368
|
-
| `--json`
|
|
368
|
+
| `--json` | Output raw JSON response |
|
|
369
369
|
|
|
370
370
|
**Example:**
|
|
371
371
|
|
|
@@ -403,13 +403,13 @@ elevasis-sdk executions:delete <resourceId> [--force]
|
|
|
403
403
|
|
|
404
404
|
**Flags:**
|
|
405
405
|
|
|
406
|
-
| Flag
|
|
407
|
-
|
|
|
408
|
-
| `--prod`
|
|
406
|
+
| Flag | Description |
|
|
407
|
+
| ---------------------------- | ------------------------------------------------------------ |
|
|
408
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
409
409
|
| `--api-url <url>` | Override the API base URL |
|
|
410
410
|
| `--resource-status <status>` | Only delete runs from this deployment lane (`dev` | `prod`) |
|
|
411
|
-
| `--force`
|
|
412
|
-
| `--json`
|
|
411
|
+
| `--force` | Skip the typed confirmation prompt |
|
|
412
|
+
| `--json` | Output raw JSON response |
|
|
413
413
|
|
|
414
414
|
**Example:**
|
|
415
415
|
|
|
@@ -438,10 +438,10 @@ elevasis-sdk deployments
|
|
|
438
438
|
|
|
439
439
|
**Flags:**
|
|
440
440
|
|
|
441
|
-
| Flag
|
|
442
|
-
|
|
|
443
|
-
| `--prod`
|
|
444
|
-
| `--json`
|
|
441
|
+
| Flag | Description |
|
|
442
|
+
| ----------------- | ---------------------------------------------------- |
|
|
443
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
444
|
+
| `--json` | Output raw JSON |
|
|
445
445
|
| `--api-url <url>` | Override the API base URL |
|
|
446
446
|
|
|
447
447
|
**Example output:**
|
|
@@ -480,9 +480,9 @@ elevasis-sdk describe <resource>
|
|
|
480
480
|
|
|
481
481
|
**Flags:**
|
|
482
482
|
|
|
483
|
-
| Flag
|
|
484
|
-
|
|
|
485
|
-
| `--json`
|
|
483
|
+
| Flag | Description |
|
|
484
|
+
| ----------------- | ------------------------- |
|
|
485
|
+
| `--json` | Output raw JSON response |
|
|
486
486
|
| `--api-url <url>` | Override the API base URL |
|
|
487
487
|
|
|
488
488
|
**Example:**
|
|
@@ -536,14 +536,14 @@ elevasis-sdk creds delete <name> [--force]
|
|
|
536
536
|
|
|
537
537
|
**Flags:**
|
|
538
538
|
|
|
539
|
-
| Flag
|
|
540
|
-
|
|
|
539
|
+
| Flag | Description |
|
|
540
|
+
| ----------------- | ------------------------------------------------------------------------------- |
|
|
541
541
|
| `--name <name>` | Credential name: lowercase letters, digits, and hyphens only (create: required) |
|
|
542
542
|
| `--type <type>` | Credential type: `api-key` or `webhook-secret` (create: required) |
|
|
543
543
|
| `--value <json>` | Credential value as a JSON string (create and update: required) |
|
|
544
544
|
| `--to <newName>` | New name (rename: required) |
|
|
545
|
-
| `--force`
|
|
546
|
-
| `--prod`
|
|
545
|
+
| `--force` | Skip confirmation prompt (delete) |
|
|
546
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
547
547
|
| `--api-url <url>` | Override the API base URL |
|
|
548
548
|
|
|
549
549
|
OAuth credentials cannot be created through the CLI -- they require the Command Center's browser OAuth flow. See [Command Center](deployment/command-center.mdx#credentials).
|
|
@@ -590,11 +590,11 @@ elevasis-sdk rename <old-id> --to <new-id> [--execute] [--prod]
|
|
|
590
590
|
|
|
591
591
|
**Flags:**
|
|
592
592
|
|
|
593
|
-
| Flag
|
|
594
|
-
|
|
|
593
|
+
| Flag | Description |
|
|
594
|
+
| ----------------- | --------------------------------------- |
|
|
595
595
|
| `--to <new-id>` | Required. The new resource ID |
|
|
596
|
-
| `--execute`
|
|
597
|
-
| `--prod`
|
|
596
|
+
| `--execute` | Perform the rename (default is dry-run) |
|
|
597
|
+
| `--prod` | Target the production environment |
|
|
598
598
|
| `--api-url <url>` | Override the API base URL |
|
|
599
599
|
|
|
600
600
|
**Example (dry-run):**
|
|
@@ -644,11 +644,12 @@ elevasis-sdk cli [domain] [--format markdown|json]
|
|
|
644
644
|
- When `domain` is omitted, all domains are listed
|
|
645
645
|
- `--format json` returns a structured array suitable for programmatic use; `--format markdown` (default) renders a human-readable table
|
|
646
646
|
- The runtime catalog is always up to date with what is actually registered -- it does not parse TypeScript source
|
|
647
|
+
- This is the only catalog. `elevasis-sdk --help` no longer carries a hand-maintained `Commands:` list in `program.description()`; it prints a short pointer to `elevasis-sdk cli` plus Commander's own list of registered commands, so there is nothing left to drift
|
|
647
648
|
|
|
648
649
|
**Flags:**
|
|
649
650
|
|
|
650
|
-
| Flag
|
|
651
|
-
|
|
|
651
|
+
| Flag | Description |
|
|
652
|
+
| ------------------- | ----------------------------------------------------------- |
|
|
652
653
|
| `--domain <domain>` | Filter output to one domain (alternative to positional arg) |
|
|
653
654
|
| `--format <format>` | Output format: `markdown` (default) or `json` |
|
|
654
655
|
|
|
@@ -701,7 +702,9 @@ Runs five sequential checks and reports `[OK]` / `[FAIL]` / `[WARN]` for each. E
|
|
|
701
702
|
2. `.env` found at project root
|
|
702
703
|
3. `ELEVASIS_PLATFORM_KEY` present and non-empty
|
|
703
704
|
4. API reachable and key valid -- calls `GET /api/external/health`
|
|
704
|
-
5. Systems roster -- every platform-cataloged System Interface, checked against the deployed readiness snapshot. Reuses the key and connectivity Check 4 already proved. A System the project has not adopted renders `[WARN]`, never `[FAIL]` -- partial adoption is the designed opt-out. `[FAIL]` is reserved for adopted-but-broken Systems.
|
|
705
|
+
5. Systems roster -- every platform-cataloged System Interface, checked against the deployed readiness snapshot. Reuses the key and connectivity Check 4 already proved. A System the project has not adopted renders `[WARN]`, never `[FAIL]` -- partial adoption is the designed opt-out. `[FAIL]` is reserved for adopted-but-broken Systems: a stale deployed snapshot, an unsatisfied `readinessContract`, or a malformed declaration.
|
|
706
|
+
|
|
707
|
+
The roster is built from the platform catalog, not from your own declarations, so a System you have **not** adopted still gets a row. A System you declared locally that is missing from the deployed snapshot is treated as drift and renders `[FAIL]`, not `[WARN]`. If the API cannot be reached, the roster renders a single `[WARN]` line and leaves Checks 1-4 with their own results. `--verbose` prints each row's issue codes and messages.
|
|
705
708
|
|
|
706
709
|
**Flags:**
|
|
707
710
|
|
|
@@ -720,25 +723,31 @@ Running Elevasis SDK doctor checks...
|
|
|
720
723
|
[OK] API key: Set (length: 56)
|
|
721
724
|
[OK] API: Reachable. Workspace: Acme Corp (ws_abc123)
|
|
722
725
|
[WARN] SDK compat: server minSdkVersion is 1.25.0; check is advisory in v1.
|
|
723
|
-
[OK] Systems:
|
|
724
|
-
[
|
|
726
|
+
[OK] Systems: sales.lead-gen/api: ready
|
|
727
|
+
[OK] Systems: sales.crm/api: ready
|
|
728
|
+
[OK] Systems: sales.lead-gen/crm-handoff: ready
|
|
729
|
+
[WARN] Systems: content/api: not adopted
|
|
725
730
|
|
|
726
731
|
All checks passed. Your Elevasis project is correctly configured.
|
|
727
732
|
```
|
|
728
733
|
|
|
734
|
+
A `[WARN]` roster row never changes the exit code. `doctor` still exits `0` with an unadopted System in the list.
|
|
735
|
+
|
|
729
736
|
**Implementation:** `packages/sdk/src/cli/commands/doctor.ts`
|
|
730
737
|
|
|
738
|
+
**Related:** [Common Errors -- System Readiness Errors](troubleshooting.mdx#system-readiness-errors-503) for what a `503` refusal from one of these Systems looks like at the terminal and how to clear it.
|
|
739
|
+
|
|
731
740
|
---
|
|
732
741
|
|
|
733
742
|
## Global Flags
|
|
734
743
|
|
|
735
744
|
These flags are accepted by all commands:
|
|
736
745
|
|
|
737
|
-
| Flag
|
|
738
|
-
|
|
|
746
|
+
| Flag | Description |
|
|
747
|
+
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
739
748
|
| `--api-url <url>` | Override the API base URL. Priority: `--api-url` flag > `--prod` flag > `ELEVASIS_API_URL` env var > `NODE_ENV`-based default |
|
|
740
|
-
| `--json`
|
|
741
|
-
| `--prod`
|
|
749
|
+
| `--json` | Output raw JSON (available on most commands) |
|
|
750
|
+
| `--prod` | Target production, overriding `NODE_ENV=development` |
|
|
742
751
|
|
|
743
752
|
**API base URL resolution:**
|
|
744
753
|
|
|
@@ -82,13 +82,14 @@ Each deploy creates a new deployment record. The previous active deployment is a
|
|
|
82
82
|
|
|
83
83
|
The CLI validates your resources before bundling. Validation uses the same `ResourceRegistry` as the platform, so errors caught locally are the same errors that would be caught at deploy time.
|
|
84
84
|
|
|
85
|
-
**Validation checks:**
|
|
85
|
+
**Validation checks that abort the deploy:**
|
|
86
86
|
|
|
87
87
|
- Duplicate `resourceId` within your organization
|
|
88
88
|
- Invalid model configuration (temperature and token bounds out of range)
|
|
89
89
|
- `ExecutionInterface` form fields not matching `inputSchema`
|
|
90
|
-
- Broken workflow step chains (`next` referencing a step that does not exist)
|
|
91
90
|
- Relationship declarations referencing resources that do not exist
|
|
91
|
+
- Structural failures in your `organizationModel`
|
|
92
|
+
- A System with API-backed resources but no `apiInterface` declaration
|
|
92
93
|
|
|
93
94
|
**Validation failure output:**
|
|
94
95
|
|
|
@@ -100,6 +101,18 @@ The CLI validates your resources before bundling. Validation uses the same `Reso
|
|
|
100
101
|
Deploy aborted.
|
|
101
102
|
```
|
|
102
103
|
|
|
104
|
+
Every issue is reported in one run. Governance and System Interface readiness failures no longer stop at the first problem, so thirty issues cost one deploy round trip rather than thirty.
|
|
105
|
+
|
|
106
|
+
**Checks that warn without aborting:**
|
|
107
|
+
|
|
108
|
+
Workflow-graph problems -- a `next` target that does not exist, an `entryPoint` that names no step, a cycle, or a step unreachable from the entry point -- are reported as warnings so an existing project carrying a latent invalid graph is not blocked on its next deploy. **They still throw at execution**, when the workflow is constructed. Treat a graph warning as a defect with a deadline, not as advisory.
|
|
109
|
+
|
|
110
|
+
The platform runs its own checks on the server after upload and reports these as warnings too: the `apiInterface` conformance check, agent grammar and token-floor validation, and a cross-check of every declared `IntegrationDefinition.credentialName` against the credentials your organization actually holds. A missing credential is a warning at deploy and a `credentials_missing` failure at execution, so create it before the resource runs. Only credential names are checked; values never leave the command center.
|
|
111
|
+
|
|
112
|
+
**Downgrading checks temporarily:**
|
|
113
|
+
|
|
114
|
+
`ELEVASIS_RESOURCE_VALIDATOR=warn-only` downgrades resource governance, contract-ref resolution, System Interface readiness, and the agent grammar and cheap-assertion checks to warnings. Every downgraded check still runs and still prints its issue; it never bypasses the structural schema parse or the conformance gate.
|
|
115
|
+
|
|
103
116
|
Run `elevasis-sdk check` at any time to validate without deploying.
|
|
104
117
|
|
|
105
118
|
---
|
|
@@ -121,13 +134,16 @@ The `ElevasConfig` type is exported from `@elevasis/sdk`. You can leave the conf
|
|
|
121
134
|
|
|
122
135
|
## Environment Variables
|
|
123
136
|
|
|
124
|
-
| Variable
|
|
125
|
-
|
|
|
126
|
-
| `ELEVASIS_PLATFORM_KEY`
|
|
127
|
-
| `ELEVASIS_API_URL`
|
|
137
|
+
| Variable | Required | Description |
|
|
138
|
+
| --------------------------- | -------- | ----------------------------------------------------------------------------------- |
|
|
139
|
+
| `ELEVASIS_PLATFORM_KEY` | Yes | Your `sk_...` API key. Used for authentication and organization resolution. |
|
|
140
|
+
| `ELEVASIS_API_URL` | No | Override the API base URL. Useful for pointing at a staging environment. |
|
|
141
|
+
| `ELEVASIS_PLATFORM_KEY_DEV` | No | Key used instead when the request targets a local API. Falls back to the key above. |
|
|
128
142
|
|
|
129
143
|
The CLI also accepts a `--api-url` flag on every command, which takes priority over `ELEVASIS_API_URL`.
|
|
130
144
|
|
|
145
|
+
**Which key a request uses is derived from the URL it is sent to**, not from `--prod` or `NODE_ENV` read separately. Both the authentication step and the bundle upload go through the same resolver, so pointing `--api-url` at production while `NODE_ENV=development` is set can no longer authenticate with one key and upload with the other.
|
|
146
|
+
|
|
131
147
|
**API URL resolution order:**
|
|
132
148
|
|
|
133
149
|
1. `--api-url` flag (highest priority)
|
|
@@ -289,3 +305,4 @@ Dashboard appears before Business in the primary sidebar. Business is a navigati
|
|
|
289
305
|
- [Command Center](command-center.mdx) - Resource graph, relationships, node types, and post-deployment UI reference
|
|
290
306
|
- [Execution Reference](execution-reference.mdx) - REST endpoints for executing resources, managing deployments, and React UI components for custom Run dialogs
|
|
291
307
|
- [Platform Adapters](../platform-tools/adapters-platform.mdx) - `approval.create()` and the full platform service adapter catalog
|
|
308
|
+
- [Common Errors](../troubleshooting.mdx#deploy-errors-elevasis-sdk-deploy) - Deploy failure catalog, warning meanings, and System readiness refusals
|
|
@@ -23,4 +23,4 @@ Platform adapters are singletons — import them directly, no credential require
|
|
|
23
23
|
| Execution | `execution` | `trigger`, `triggerAsync` | Execution — trigger other workflows or agents within the same organization. |
|
|
24
24
|
| Email | `email` | `send` | Email — send platform emails (from notifications@elevasis.io) to organization members. |
|
|
25
25
|
| Artifacts | `artifacts` | `listArtifacts`, `createArtifact`, `getActive` | Artifacts — org-scoped governing-document store, keyed by owner and kind, for acquisition's audits, proposals, and ICP docs. |
|
|
26
|
-
| Content | `content` | `createItem`, `getItem`, `listItems`, `updateItem`, `addItemSourceAsset`, `removeItemSourceAsset`, `reorderItemSourceAssets`, `updateItemSourceAsset`, `createAttempt`, `listAttempts`, `updateAttempt`, `createSourceAsset`, `getSourceAsset`, `listSourceAssets`, `updateSourceAsset`, `getDistribution`, `listDistributions`, `createDistribution`, `updateDistribution` | Content — create, read, and update content_items/content_item_attempts/content_distributions/content_source_assets rows for the content pipeline. |
|
|
26
|
+
| Content | `content` | `createItem`, `getItem`, `listItems`, `updateItem`, `addItemSourceAsset`, `removeItemSourceAsset`, `reorderItemSourceAssets`, `updateItemSourceAsset`, `createAttempt`, `listAttempts`, `updateAttempt`, `createSourceAsset`, `getSourceAsset`, `listSourceAssets`, `updateSourceAsset`, `getDistribution`, `listDistributions`, `createDistribution`, `updateDistribution`, `appendDistributionMetrics`, `listDistributionMetrics` | Content — create, read, and update content_items/content_item_attempts/content_distributions/content_source_assets rows for the content pipeline. |
|
|
@@ -38,6 +38,42 @@ This is the static SDK-level error catalog. Check `.claude/memory/errors/` first
|
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
41
|
+
## System Readiness Errors (503)
|
|
42
|
+
|
|
43
|
+
### API request refused (503): `<system>`/`<interface>` is not ready
|
|
44
|
+
|
|
45
|
+
**Message:** starts with `API request refused (503)` and continues `This IS the API rejecting the request -- it is not a gateway hiccup, and re-running it will not help.`
|
|
46
|
+
|
|
47
|
+
**Cause:** The route you called is gated on a System Interface, and your organization's deployed Organization Model has not satisfied it. This is the API deliberately refusing, not a transport fault -- retrying will not help.
|
|
48
|
+
|
|
49
|
+
**Fix:** Read the `Issues:` block in the message. Those entries are the API's own explanation and name the specific missing thing. The guidance line above them tells you the general shape of the fix:
|
|
50
|
+
|
|
51
|
+
- **The System has not been adopted** -- declare it in `core/config/organization-model/systems.ts` with an `apiInterface` block, then deploy. Omitting the block entirely is the supported opt-out; an empty `apiInterface.resourceIds` array is not and will throw.
|
|
52
|
+
- **The interface is declared but disabled** -- set its lifecycle back to active and redeploy.
|
|
53
|
+
- **The `readinessContract` is unsatisfied** -- the issues name the missing `requiredObjects` or `requiredCatalogs` refs. Add them and redeploy.
|
|
54
|
+
- **A cross-System handoff is not ready** -- check the counterpart System as well as the one named.
|
|
55
|
+
- **The deployed snapshot is missing or stale** -- run `elevasis-sdk deploy`. The message already carries this instruction.
|
|
56
|
+
- **The stored snapshot could not be read** -- deploy again first. No field of your declaration is known to be wrong.
|
|
57
|
+
|
|
58
|
+
Then run `elevasis-sdk doctor` to see what else is not ready. Its Systems roster checks every platform-cataloged System, including ones you have not adopted.
|
|
59
|
+
|
|
60
|
+
### This CLI does not recognize readiness code `{CODE}`
|
|
61
|
+
|
|
62
|
+
**Cause:** The API returned a readiness family your installed `@elevasis/sdk` predates. Tenants run a published SDK that lags the deployed API, so this is expected after a platform release and not a defect.
|
|
63
|
+
|
|
64
|
+
**Fix:**
|
|
65
|
+
|
|
66
|
+
1. Read the `Issues:` block -- it is family-independent and remains the authoritative part of the message
|
|
67
|
+
2. Run `pnpm update @elevasis/sdk` and re-run the command for the full guidance
|
|
68
|
+
|
|
69
|
+
### 503 with "work may still be running server-side"
|
|
70
|
+
|
|
71
|
+
**Cause:** This is the gateway message, not the readiness message. It means a proxy or load balancer returned the `503` with no readiness body -- a genuine transport fault.
|
|
72
|
+
|
|
73
|
+
**Fix:** Retry. Unlike a readiness refusal, this class is transient and the request may have reached the API.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
41
77
|
## Validation Errors (elevasis-sdk check)
|
|
42
78
|
|
|
43
79
|
### Duplicate resource ID
|
|
@@ -64,6 +100,41 @@ This is the static SDK-level error catalog. Check `.claude/memory/errors/` first
|
|
|
64
100
|
|
|
65
101
|
---
|
|
66
102
|
|
|
103
|
+
## Deploy Errors (elevasis-sdk deploy)
|
|
104
|
+
|
|
105
|
+
### ORGANIZATION_MODEL_MISSING (400)
|
|
106
|
+
|
|
107
|
+
**Cause:** The deploy carried no organization model, so the platform had nothing to persist as a snapshot.
|
|
108
|
+
|
|
109
|
+
**Fix:** Export an `organizationModel` from your deployment spec and deploy again. This is a hard failure by design -- a deploy without a model used to report success, write no snapshot, and then refuse every subsequent API request with a readiness `503`.
|
|
110
|
+
|
|
111
|
+
### `sdkVersion` is required (400)
|
|
112
|
+
|
|
113
|
+
**Cause:** The multipart `metadata` part failed schema validation before the deploy pipeline started. `sdkVersion` is the only required field.
|
|
114
|
+
|
|
115
|
+
**Fix:** Deploy through `elevasis-sdk deploy`, which always sends it. A hand-rolled `POST /api/external/deploy` must include it.
|
|
116
|
+
|
|
117
|
+
### Deploy succeeded but warnings were printed
|
|
118
|
+
|
|
119
|
+
Deploy warnings never block the deploy. Each one names something that will fail later if left alone:
|
|
120
|
+
|
|
121
|
+
- **Workflow graph warnings** -- a dangling `next` target, a missing `entryPoint`, a cycle, or a step unreachable from the entry point. These are warnings at deploy so an existing project carrying a latent invalid graph is not blocked, but the same checks **throw at execution** when the workflow is constructed. Fix them before the workflow next runs.
|
|
122
|
+
- **Missing credential** -- an `IntegrationDefinition.credentialName` you declared has no matching credential in your organization. Create it in the command center; otherwise the first execution fails with a `credentials_missing` tooling error. Only credential names are checked and logged, never values.
|
|
123
|
+
- **Missing `apiInterface` declaration** -- a System with API-backed resources has no `apiInterface` block. Run `elevasis-sdk om:scaffold:fill` for the affected system path.
|
|
124
|
+
- **Unresolvable contract refs** -- contract refs are declared but no `contractRegistry` is exported from your entry.
|
|
125
|
+
|
|
126
|
+
### Validation reported only one error, but there are more
|
|
127
|
+
|
|
128
|
+
Governance and System Interface readiness failures now report **every** issue in one deploy, not just the first. If you see a single issue, that is the whole list. Set `ELEVASIS_RESOURCE_VALIDATOR=warn-only` to downgrade governance, contract-ref resolution, readiness, and the agent grammar checks to warnings so a deploy can proceed while you work through them -- it never bypasses the structural schema parse or the OM conformance gate.
|
|
129
|
+
|
|
130
|
+
### The deploy authenticated but the upload was rejected
|
|
131
|
+
|
|
132
|
+
**Cause:** Historically the auth step and the upload step resolved the API key two different ways, so pointing `--api-url` at production with `NODE_ENV=development` set authenticated with one key and uploaded with the other.
|
|
133
|
+
|
|
134
|
+
**Fix:** Update `@elevasis/sdk`. Both steps now derive the key from the URL the request is actually sent to. If you are pinning `NODE_ENV=development` and targeting production, set `ELEVASIS_PLATFORM_KEY` to the production key and use `--prod` or `--api-url`.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
67
138
|
## Schema Validation Errors
|
|
68
139
|
|
|
69
140
|
### Schema validation failed (input)
|
|
@@ -219,4 +290,4 @@ Status values: `Resolved` (fixed this session), `Recurring` (seen 2+ times), `Pr
|
|
|
219
290
|
|
|
220
291
|
---
|
|
221
292
|
|
|
222
|
-
**Last Updated:** 2026-
|
|
293
|
+
**Last Updated:** 2026-08-20
|