@elevasis/sdk 1.47.0 → 1.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +1034 -319
- package/dist/index.d.ts +687 -49
- package/dist/index.js +297 -47
- package/dist/node/index.d.ts +110 -26
- package/dist/test-utils/index.d.ts +649 -36
- package/dist/test-utils/index.js +275 -45
- package/dist/worker/index.d.ts +687 -53
- package/dist/worker/index.js +121 -6
- package/package.json +2 -2
- package/reference/_navigation.md +7 -6
- package/reference/_reference-manifest.json +12 -2
- package/reference/core/index.mdx +6 -4
- package/reference/index.mdx +11 -5
- package/reference/packages/core/src/README.md +46 -44
- package/reference/packages/core/src/content/README.md +13 -12
- package/reference/packages/core/src/organization-model/README.md +9 -6
- package/reference/rules/content.md +27 -0
- package/reference/rules/organization-model.md +9 -3
- package/reference/rules/organization-os.md +2 -2
- package/reference/rules/ui.md +1 -1
- package/reference/rules/vibe-intents.md +19 -16
- package/reference/rules/vibe.md +32 -12
- package/reference/scaffold/recipes/add-a-feature.md +1 -1
- package/reference/scaffold/recipes/customize-organization-model.md +2 -2
- package/reference/scaffold/recipes/extend-content.md +172 -30
- package/reference/scaffold/reference/glossary.md +2 -2
- package/reference/scaffold/reference/system-interface-capabilities.md +26 -6
- package/reference/sdk/cli-management.mdx +246 -41
- package/reference/sdk/cli.mdx +103 -64
- package/reference/sdk/define-builders.mdx +1 -1
- package/reference/sdk/deployment/command-center.mdx +2 -2
- package/reference/sdk/deployment/index.mdx +1 -1
- package/reference/sdk/exports.mdx +4 -4
- package/reference/sdk/framework/agent.mdx +4 -3
- package/reference/sdk/framework/index.mdx +1 -1
- package/reference/sdk/framework/project-structure.mdx +34 -23
- package/reference/sdk/framework/tutorial-system.mdx +1 -1
- package/reference/sdk/getting-started.mdx +25 -52
- package/reference/sdk/index.mdx +3 -3
- package/reference/sdk/platform-tools/adapters-integration.mdx +1 -1
- package/reference/sdk/platform-tools/adapters-platform.mdx +5 -5
- package/reference/sdk/platform-tools/type-safety.mdx +1 -1
- package/reference/sdk/resources/patterns.mdx +10 -11
- package/reference/sdk/resources/types.mdx +15 -9
- package/reference/sdk/templates/data-enrichment.mdx +1 -1
- package/reference/sdk/templates/email-sender.mdx +1 -1
- package/reference/sdk/templates/index.mdx +47 -47
- package/reference/sdk/templates/lead-scorer.mdx +1 -1
- package/reference/sdk/templates/pdf-generator.mdx +42 -24
- package/reference/sdk/templates/recurring-job.mdx +20 -15
- package/reference/sdk/templates/text-classifier.mdx +1 -1
- package/reference/sdk/templates/web-scraper.mdx +9 -5
- package/reference/ui/exports.mdx +1 -1
- package/reference/ui/index.mdx +2 -2
package/reference/sdk/cli.mdx
CHANGED
|
@@ -13,7 +13,7 @@ pnpm add @elevasis/sdk
|
|
|
13
13
|
|
|
14
14
|
After installation, the `elevasis-sdk` binary is available in your project's `node_modules/.bin/`. Most commands require `ELEVASIS_PLATFORM_KEY` to be set in your environment or a `.env` file.
|
|
15
15
|
|
|
16
|
-
For management commands (project:\*, note:\*, acquisition:\*, client:\*, agent:\*, session:\*, queue:\*, schedule:\*, om:\*, ui:\*, skill:\*), see [CLI Management](cli-management.mdx).
|
|
16
|
+
For management commands (project:\*, note:\*, error:\*, acquisition:\*, client:\*, agent:\*, session:\*, queue:\*, schedule:\*, om:\*, ui:\*, skill:\*, content:\*, request:\*, grant:\*), see [CLI Management](cli-management.mdx).
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -41,6 +41,13 @@ elevasis-sdk check
|
|
|
41
41
|
|
|
42
42
|
`check` declares no `--api-url` flag -- it validates project source locally and never calls the API, so there is no base URL to override.
|
|
43
43
|
|
|
44
|
+
**Flags:**
|
|
45
|
+
|
|
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
|
+
|
|
44
51
|
**Example output (success):**
|
|
45
52
|
|
|
46
53
|
```
|
|
@@ -84,10 +91,14 @@ elevasis-sdk deploy
|
|
|
84
91
|
|
|
85
92
|
**Flags:**
|
|
86
93
|
|
|
87
|
-
| Flag | Description
|
|
88
|
-
| ------------------- |
|
|
89
|
-
| `--api-url <url>` | Override the API base URL (default: production)
|
|
90
|
-
| `--
|
|
94
|
+
| Flag | Description |
|
|
95
|
+
| ------------------- | ------------------------------------------------------------ |
|
|
96
|
+
| `--api-url <url>` | Override the API base URL (default: production) |
|
|
97
|
+
| `--entry <path>` | Path to the entry file (default: `./src/index.ts`) |
|
|
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`) |
|
|
91
102
|
|
|
92
103
|
**Environment variables:**
|
|
93
104
|
|
|
@@ -141,15 +152,20 @@ elevasis-sdk exec <resource> --input '{...}'
|
|
|
141
152
|
- Use `--async` to return an `executionId` immediately and poll for completion
|
|
142
153
|
- `--input` accepts a JSON string matching the resource's `inputSchema`
|
|
143
154
|
- Organization is derived from your API key -- no org prefix needed
|
|
155
|
+
- On a lost connection during a synchronous run, the CLI looks up the most recent running execution for the resource and resumes polling rather than failing outright
|
|
144
156
|
|
|
145
157
|
**Flags:**
|
|
146
158
|
|
|
147
|
-
| Flag
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
| `--
|
|
151
|
-
| `--
|
|
152
|
-
| `--
|
|
159
|
+
| Flag | Description |
|
|
160
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
|
161
|
+
| `-i, --input <json>` | JSON input matching the resource's input schema |
|
|
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` | 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
|
+
| `--api-url <url>` | Override the API base URL |
|
|
167
|
+
|
|
168
|
+
`exec` does not declare a `--json` flag -- output is always the formatted display shown below.
|
|
153
169
|
|
|
154
170
|
**Example:**
|
|
155
171
|
|
|
@@ -240,7 +256,7 @@ elevasis-sdk executions [resource]
|
|
|
240
256
|
|
|
241
257
|
| Flag | Description |
|
|
242
258
|
| --------------------- | --------------------------------------------------------------- |
|
|
243
|
-
| `--limit <n>` | Maximum number of executions to return (default:
|
|
259
|
+
| `--limit <n>` | Maximum number of executions to return (default: 50) |
|
|
244
260
|
| `--status <status>` | Filter by status: `running`, `completed`, `failed`, `cancelled` |
|
|
245
261
|
| `--json` | Output raw JSON |
|
|
246
262
|
| `--api-url <url>` | Override the API base URL |
|
|
@@ -273,15 +289,21 @@ elevasis-sdk execution <resource> <id>
|
|
|
273
289
|
|
|
274
290
|
**Behavior:**
|
|
275
291
|
|
|
276
|
-
- Shows the complete execution record: input,
|
|
292
|
+
- Shows the complete execution record: input, result, logs, duration, and error (if any)
|
|
293
|
+
- `--input` and `--result` force those sections to print even when the CLI would otherwise omit them; both print automatically when the execution carries input data, or is `completed` with a result
|
|
294
|
+
- `--logs-only` prints only the execution logs and skips the rest of the record
|
|
277
295
|
- Use `--json` to get the raw JSON response for programmatic use
|
|
278
296
|
|
|
279
297
|
**Flags:**
|
|
280
298
|
|
|
281
|
-
| Flag | Description
|
|
282
|
-
| ------------------- |
|
|
283
|
-
| `--
|
|
284
|
-
| `--
|
|
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
|
+
| `--api-url <url>` | Override the API base URL |
|
|
285
307
|
|
|
286
308
|
**Example:**
|
|
287
309
|
|
|
@@ -290,10 +312,12 @@ elevasis-sdk execution onboard-client exec_abc001
|
|
|
290
312
|
```
|
|
291
313
|
|
|
292
314
|
```
|
|
293
|
-
Resource:
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
315
|
+
Resource: onboard-client
|
|
316
|
+
Execution ID: exec_abc001
|
|
317
|
+
Status: COMPLETED
|
|
318
|
+
Started: 2026-02-25 14:32:01
|
|
319
|
+
Ended: 2026-02-25 14:32:02
|
|
320
|
+
Duration: 1.2s
|
|
297
321
|
|
|
298
322
|
Input:
|
|
299
323
|
{
|
|
@@ -301,17 +325,20 @@ elevasis-sdk execution onboard-client exec_abc001
|
|
|
301
325
|
"email": "jane@example.com"
|
|
302
326
|
}
|
|
303
327
|
|
|
304
|
-
|
|
328
|
+
Result:
|
|
305
329
|
{
|
|
306
330
|
"success": true,
|
|
307
331
|
"clientId": "client_1708521600000",
|
|
308
332
|
"welcomeEmailSent": true
|
|
309
333
|
}
|
|
310
334
|
|
|
311
|
-
Logs:
|
|
335
|
+
Execution Logs:
|
|
336
|
+
|
|
312
337
|
[14:32:01.123] Starting onboard-client workflow
|
|
313
338
|
[14:32:01.456] Created client record
|
|
314
339
|
[14:32:01.891] Welcome email sent to jane@example.com
|
|
340
|
+
|
|
341
|
+
Total logs: 3
|
|
315
342
|
```
|
|
316
343
|
|
|
317
344
|
---
|
|
@@ -406,24 +433,31 @@ elevasis-sdk deployments
|
|
|
406
433
|
|
|
407
434
|
**Behavior:**
|
|
408
435
|
|
|
409
|
-
- Shows deployment history with status,
|
|
410
|
-
-
|
|
436
|
+
- Shows deployment history with status, SDK version, and creation timestamp
|
|
437
|
+
- Status is one of `deploying`, `active`, `failed`, `rolled_back`, or `stopped`
|
|
411
438
|
|
|
412
439
|
**Flags:**
|
|
413
440
|
|
|
414
|
-
| Flag | Description
|
|
415
|
-
| ------------------- |
|
|
416
|
-
| `--
|
|
417
|
-
| `--
|
|
441
|
+
| Flag | Description |
|
|
442
|
+
| ------------------- | ---------------------------------------------------- |
|
|
443
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
444
|
+
| `--json` | Output raw JSON |
|
|
445
|
+
| `--api-url <url>` | Override the API base URL |
|
|
418
446
|
|
|
419
447
|
**Example output:**
|
|
420
448
|
|
|
421
449
|
```
|
|
422
450
|
$ elevasis-sdk deployments
|
|
423
451
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
452
|
+
1. [ACTIVE] deploy_abc123
|
|
453
|
+
SDK Version: 1.45.0
|
|
454
|
+
Created: 2/25/2026, 2:00:00 PM
|
|
455
|
+
|
|
456
|
+
2. [STOPPED] deploy_abc122
|
|
457
|
+
SDK Version: 1.44.2
|
|
458
|
+
Created: 2/24/2026, 9:30:00 AM
|
|
459
|
+
|
|
460
|
+
2 deployment(s)
|
|
427
461
|
```
|
|
428
462
|
|
|
429
463
|
---
|
|
@@ -495,21 +529,24 @@ elevasis-sdk creds delete <name> [--force]
|
|
|
495
529
|
**Subcommands:**
|
|
496
530
|
|
|
497
531
|
- `list` -- display all credentials (metadata only, no secret values)
|
|
498
|
-
- `create` -- create a new credential; `--name
|
|
532
|
+
- `create` -- create a new credential; `--name`, `--type`, and `--value` are all required
|
|
499
533
|
- `update <name>` -- replace the value of an existing credential; `--value` (JSON) is required
|
|
500
534
|
- `rename <name>` -- rename a credential; `--to <newName>` is required
|
|
501
535
|
- `delete <name>` -- delete a credential; pass `--force` to skip the confirmation prompt
|
|
502
536
|
|
|
503
537
|
**Flags:**
|
|
504
538
|
|
|
505
|
-
| Flag | Description
|
|
506
|
-
| ------------------- |
|
|
507
|
-
| `--name <name>` | Credential name (create: required)
|
|
508
|
-
| `--type <type>` | Credential type
|
|
509
|
-
| `--value <json>` | Credential value as a JSON string
|
|
510
|
-
| `--to <newName>` | New name (rename: required)
|
|
511
|
-
| `--force` | Skip confirmation prompt (delete)
|
|
512
|
-
| `--
|
|
539
|
+
| Flag | Description |
|
|
540
|
+
| ------------------- | ------------------------------------------------------------------------------- |
|
|
541
|
+
| `--name <name>` | Credential name: lowercase letters, digits, and hyphens only (create: required) |
|
|
542
|
+
| `--type <type>` | Credential type: `api-key` or `webhook-secret` (create: required) |
|
|
543
|
+
| `--value <json>` | Credential value as a JSON string (create and update: required) |
|
|
544
|
+
| `--to <newName>` | New name (rename: required) |
|
|
545
|
+
| `--force` | Skip confirmation prompt (delete) |
|
|
546
|
+
| `--prod` | Target production (overrides `NODE_ENV=development`) |
|
|
547
|
+
| `--api-url <url>` | Override the API base URL |
|
|
548
|
+
|
|
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).
|
|
513
550
|
|
|
514
551
|
**Examples:**
|
|
515
552
|
|
|
@@ -540,16 +577,16 @@ elevasis-sdk rename <old-id> --to <new-id> [--execute] [--prod]
|
|
|
540
577
|
- Dry-run by default -- shows all affected rows per table without modifying any data
|
|
541
578
|
- Pass `--execute` to perform the rename
|
|
542
579
|
- Org-scoped: only updates rows belonging to your organization
|
|
543
|
-
-
|
|
580
|
+
- Refuses to run if the new resource ID already has execution history in your organization, to prevent a data collision
|
|
581
|
+
- Updates resource references across 5 tables:
|
|
544
582
|
|
|
545
|
-
| Table
|
|
546
|
-
|
|
|
547
|
-
| `
|
|
548
|
-
| `
|
|
549
|
-
| `
|
|
550
|
-
| `
|
|
551
|
-
| `
|
|
552
|
-
| `session_events` | `resource_id` |
|
|
583
|
+
| Table | Column(s) updated |
|
|
584
|
+
| ------------------- | ------------------------------------------ |
|
|
585
|
+
| `execution_logs` | `resource_id` |
|
|
586
|
+
| `execution_metrics` | `resource_id` |
|
|
587
|
+
| `sessions` | `resource_id` |
|
|
588
|
+
| `command_queue` | `origin_resource_id` |
|
|
589
|
+
| `task_schedules` | `origin_resource_id`, `target_resource_id` |
|
|
553
590
|
|
|
554
591
|
**Flags:**
|
|
555
592
|
|
|
@@ -570,14 +607,13 @@ elevasis-sdk rename ist-upload-workflow --to ist-upload-contacts-workflow
|
|
|
570
607
|
Dry run — no changes made.
|
|
571
608
|
|
|
572
609
|
Rows that would be updated:
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
session_events 0
|
|
610
|
+
execution_logs 6
|
|
611
|
+
execution_metrics 6
|
|
612
|
+
sessions 0
|
|
613
|
+
command_queue 0
|
|
614
|
+
task_schedules 0
|
|
579
615
|
|
|
580
|
-
Total:
|
|
616
|
+
Total: 12 rows
|
|
581
617
|
|
|
582
618
|
Re-run with --execute to apply changes.
|
|
583
619
|
```
|
|
@@ -659,12 +695,13 @@ elevasis-sdk doctor [--verbose] [--prod]
|
|
|
659
695
|
|
|
660
696
|
**Behavior:**
|
|
661
697
|
|
|
662
|
-
Runs
|
|
698
|
+
Runs five sequential checks and reports `[OK]` / `[FAIL]` / `[WARN]` for each. Exits with code 1 if any check fails. Later checks are skipped when a prerequisite fails.
|
|
663
699
|
|
|
664
700
|
1. Project root resolved -- locates the `.elevasis` marker file from the current working directory
|
|
665
701
|
2. `.env` found at project root
|
|
666
702
|
3. `ELEVASIS_PLATFORM_KEY` present and non-empty
|
|
667
703
|
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.
|
|
668
705
|
|
|
669
706
|
**Flags:**
|
|
670
707
|
|
|
@@ -683,6 +720,8 @@ Running Elevasis SDK doctor checks...
|
|
|
683
720
|
[OK] API key: Set (length: 56)
|
|
684
721
|
[OK] API: Reachable. Workspace: Acme Corp (ws_abc123)
|
|
685
722
|
[WARN] SDK compat: server minSdkVersion is 1.25.0; check is advisory in v1.
|
|
723
|
+
[OK] Systems: platform.projects/delivery: ready
|
|
724
|
+
[WARN] Systems: sales.crm/pipeline: not adopted
|
|
686
725
|
|
|
687
726
|
All checks passed. Your Elevasis project is correctly configured.
|
|
688
727
|
```
|
|
@@ -695,11 +734,11 @@ All checks passed. Your Elevasis project is correctly configured.
|
|
|
695
734
|
|
|
696
735
|
These flags are accepted by all commands:
|
|
697
736
|
|
|
698
|
-
| Flag | Description
|
|
699
|
-
| ------------------- |
|
|
700
|
-
| `--api-url <url>` | Override the API base URL. Priority: flag > `ELEVASIS_API_URL` env var > `NODE_ENV`-based default |
|
|
701
|
-
| `--json` | Output raw JSON (available on most commands)
|
|
702
|
-
| `--prod` | Target production, overriding `NODE_ENV=development`
|
|
737
|
+
| Flag | Description |
|
|
738
|
+
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
739
|
+
| `--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` | Output raw JSON (available on most commands) |
|
|
741
|
+
| `--prod` | Target production, overriding `NODE_ENV=development` |
|
|
703
742
|
|
|
704
743
|
**API base URL resolution:**
|
|
705
744
|
|
|
@@ -710,4 +749,4 @@ These flags are accepted by all commands:
|
|
|
710
749
|
|
|
711
750
|
---
|
|
712
751
|
|
|
713
|
-
**Last Updated:** 2026-08-
|
|
752
|
+
**Last Updated:** 2026-08-17
|
|
@@ -23,7 +23,7 @@ export function defineWorkflow<TWorkflow extends WorkflowDefinition>(workflow: T
|
|
|
23
23
|
|
|
24
24
|
What it buys you is narrower inference. Annotate a literal `const echo: WorkflowDefinition = { ... }` and TypeScript widens every field to the interface's declared type -- `config.resourceId` becomes `string`, not `'echo'`. Pass the same object to `defineWorkflow({ ... })` with no annotation and `TWorkflow` is inferred from the literal you wrote, so `defineWorkflow(...).config.resourceId` keeps the literal type `'echo'`. That distinction only matters if something downstream reads the value back and wants the narrower type -- a test asserting on `resourceId`, a lookup table keyed by it, a second resource that imports the first and needs its literal id. A workflow file that is only ever consumed by the deploy pipeline, which just needs it to satisfy `WorkflowDefinition`, gets nothing extra from the wrapper.
|
|
25
25
|
|
|
26
|
-
That is a real, but narrow, upside -- and it is honestly reflected in what ships. The scaffolded template's own workflow files (`echo.ts`, `email-notification.ts`) use the plain annotated-literal form, not `defineWorkflow`. The builder is real, exported, and demonstrated in the SDK's own test fixtures with exactly the calling convention above -- it is simply not the house style the template ships with. Use the annotated literal by default, matching what a scaffolded project already contains; reach for `defineWorkflow` / `defineStep` / `defineContract` specifically when you want the object's literal types preserved past its own definition.
|
|
26
|
+
That is a real, but narrow, upside -- and it is honestly reflected in what ships. The scaffolded template's own workflow files (`example/echo.ts`, `email-notification/index.ts`) use the plain annotated-literal form, not `defineWorkflow`. The builder is real, exported, and demonstrated in the SDK's own test fixtures with exactly the calling convention above -- it is simply not the house style the template ships with. Use the annotated literal by default, matching what a scaffolded project already contains; reach for `defineWorkflow` / `defineStep` / `defineContract` specifically when you want the object's literal types preserved past its own definition.
|
|
27
27
|
|
|
28
28
|
`defineWorkflowConfig` is a different kind of helper in this same group -- it derives `config` fields from an Organization Model resource descriptor instead of preserving literal types. It has its own page: see [The Deployment Spec Pattern](project-deployment-spec.mdx#defineworkflowconfig-deriving-config-from-one-om-descriptor).
|
|
29
29
|
|
|
@@ -105,8 +105,8 @@ Keep relationships in sync with your handler code. When you add an `execution.tr
|
|
|
105
105
|
**Validation error examples:**
|
|
106
106
|
|
|
107
107
|
```
|
|
108
|
-
ERROR
|
|
109
|
-
ERROR Duplicate resource ID 'score-lead' in deployment
|
|
108
|
+
ERROR [acme-corp] Resource 'score-lead' triggers non-existent workflow: send-proposal
|
|
109
|
+
ERROR Duplicate resource ID 'score-lead' in deployment. Each resource must have a unique ID.
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
### Graph Serialization
|
|
@@ -288,4 +288,4 @@ Dashboard appears before Business in the primary sidebar. Business is a navigati
|
|
|
288
288
|
|
|
289
289
|
- [Command Center](command-center.mdx) - Resource graph, relationships, node types, and post-deployment UI reference
|
|
290
290
|
- [Execution Reference](execution-reference.mdx) - REST endpoints for executing resources, managing deployments, and React UI components for custom Run dialogs
|
|
291
|
-
- [Platform Adapters](../platform-tools/adapters-platform.mdx) - `approval.create()` and
|
|
291
|
+
- [Platform Adapters](../platform-tools/adapters-platform.mdx) - `approval.create()` and the full platform service adapter catalog
|
|
@@ -8,7 +8,7 @@ description: "Auto-generated catalog of all published @elevasis/sdk subpath expo
|
|
|
8
8
|
|
|
9
9
|
| Import | Title | Group | Description |
|
|
10
10
|
| --- | --- | --- | --- |
|
|
11
|
-
| `@elevasis/sdk` | SDK | Getting Started |
|
|
12
|
-
| `@elevasis/sdk/worker` | Worker Runtime | Runtime |
|
|
13
|
-
| `@elevasis/sdk/test-utils` | Test Utils | Testing |
|
|
14
|
-
| `@elevasis/sdk/node` | Node Build Tooling | Tooling |
|
|
11
|
+
| `@elevasis/sdk` | SDK | Getting Started | Default entry: defineWorkflow, defineStep, defineContract, contract-ref resolution, shared types, and workflow utilities. |
|
|
12
|
+
| `@elevasis/sdk/worker` | Worker Runtime | Runtime | worker_threads runtime plus the typed platform and integration adapters a step handler calls at execution time. |
|
|
13
|
+
| `@elevasis/sdk/test-utils` | Test Utils | Testing | Workflow test harness, resource registry helpers, and mock adapters for unit-testing definitions without the platform. |
|
|
14
|
+
| `@elevasis/sdk/node` | Node Build Tooling | Tooling | Node-only build-time codegen for knowledge nodes and bodies. Requires fs/path/process -- not browser-safe. |
|
|
@@ -36,6 +36,7 @@ The template ships these skills, all committed to version control:
|
|
|
36
36
|
| Skill | Purpose |
|
|
37
37
|
| ----------------- | ------------------------------------------------------------------------------------------------ |
|
|
38
38
|
| `/client` | Client portfolio management -- list, resolve, inspect, and maintain client records |
|
|
39
|
+
| `/content` | Content pipeline operations -- list items, inspect, board view, review queue, distributions |
|
|
39
40
|
| `/deploy` | Test, build, fix issues, then commit and push |
|
|
40
41
|
| `/dsp` | Dispatch subagents in parallel for implementation tasks |
|
|
41
42
|
| `/elevasis` | SDK operations -- check, deploy, execute, inspect, and debug resources |
|
|
@@ -77,11 +78,11 @@ The gate is **outgoing commits**, checked with `git rev-list --count @{u}..HEAD`
|
|
|
77
78
|
|
|
78
79
|
## The Ambient Vibe Layer
|
|
79
80
|
|
|
80
|
-
External projects run an always-on natural-language intent classifier -- there is no `/vibe` command and no activation phrase. Every message is silently classified into one of
|
|
81
|
+
External projects run an always-on natural-language intent classifier -- there is no `/vibe` command and no activation phrase. Every message is silently classified into one of eight intents (Capture, Query, Describe, Transition, Navigate, Codify, Toggle, Operate) before the agent responds. Codify and Toggle detect intent and delegate immediately to `/om`; Operate delegates to `/elevasis` (`elevasis-sdk describe` then a confirmed `exec`); the classifier never runs the organization-model ceremony or executes a deployed resource itself. The full classifier definition and fixture tables ship with the SDK at `operations/node_modules/@elevasis/sdk/reference/rules/vibe.md` and the per-intent detail at `operations/node_modules/@elevasis/sdk/reference/rules/vibe-intents.md`. Vibe is explicitly off inside the monorepo, which uses the task-class routing in `agent-start-here.md` instead.
|
|
81
82
|
|
|
82
83
|
## The Rules Layer
|
|
83
84
|
|
|
84
|
-
`.claude/rules/` in the git-tracked template holds short pointer files with `paths:` frontmatter that Claude Code auto-loads for matching files. The authoritative rule bodies ship with the installed `@elevasis/sdk` package at `operations/node_modules/@elevasis/sdk/reference/rules/` and update whenever the SDK dependency is bumped.
|
|
85
|
+
`.claude/rules/` in the git-tracked template holds short pointer files with `paths:` frontmatter that Claude Code auto-loads for matching files. The authoritative rule bodies ship with the installed `@elevasis/sdk` package at `operations/node_modules/@elevasis/sdk/reference/rules/` and update whenever the SDK dependency is bumped. The bundle carries 19 rules: `agent-start-here.md` (always-loaded), `vibe.md` (always-loaded), `vibe-intents.md`, `agent-runtime.md`, `content.md`, `organization-os.md`, `deployment.md`, `error-handling.md`, `execution.md`, `frontend.md`, `observability.md`, `operations.md`, `organization-model.md`, `package-taxonomy.md`, `platform.md`, `shared-types.md`, `task-tracking.md`, `ui.md`, and `active-change-index.md` (which flags areas under active platform change). The template also ships a small number of project-authored, System-specific rules directly under `.claude/rules/` -- for example `crm.md` and `lead-gen.md` -- that are not part of the bundled set.
|
|
85
86
|
|
|
86
87
|
## Template Version Tracking
|
|
87
88
|
|
|
@@ -89,4 +90,4 @@ The scaffold's version marker is `templateVersion` in the project-root `.elevasi
|
|
|
89
90
|
|
|
90
91
|
---
|
|
91
92
|
|
|
92
|
-
**Last Updated:** 2026-08-
|
|
93
|
+
**Last Updated:** 2026-08-17
|
|
@@ -83,7 +83,7 @@ See [Tutorial System](tutorial-system.mdx) for the full lesson breakdown, track
|
|
|
83
83
|
|
|
84
84
|
## Documentation
|
|
85
85
|
|
|
86
|
-
- [Project Structure](project-structure.mdx) - Directory-by-directory walkthrough of the scaffolded project
|
|
86
|
+
- [Project Structure](project-structure.mdx) - Directory-by-directory walkthrough of the scaffolded project's structure and layout
|
|
87
87
|
- [Agent System](agent.mdx) - Skill inventory, rules layer, ambient vibe classifier, and session bootstrap
|
|
88
88
|
- [Tutorial System](tutorial-system.mdx) - Two-track onboarding (8 vibe-coder + 19 technical lessons), track persistence, and progress tracking
|
|
89
89
|
|
|
@@ -22,7 +22,7 @@ The scaffold is a workspace with `ui/`, `operations/`, and `core/` packages plus
|
|
|
22
22
|
├── .env / .env.example # ELEVASIS_PLATFORM_KEY and other root-level environment values
|
|
23
23
|
├── .gitattributes # Line-ending normalization
|
|
24
24
|
├── .gitignore # Excludes node_modules, dist, .env, .tanstack, and more
|
|
25
|
-
├── .npmrc # auto-install-peers
|
|
25
|
+
├── .npmrc # ignore-workspace-root-check + auto-install-peers (Zod is a peer dependency)
|
|
26
26
|
├── CLAUDE.md # Project-owned identity and preferences (never overwritten by sync)
|
|
27
27
|
├── CONNECTIONS.md # Tenant-owned production wiring values (never overwritten)
|
|
28
28
|
├── OPERATIONS.md # Tenant-owned operational quirks (never overwritten, outranks generic guidance)
|
|
@@ -43,11 +43,17 @@ Cross-runtime types, schemas, constants, and organization-model configuration sh
|
|
|
43
43
|
```
|
|
44
44
|
core/
|
|
45
45
|
├── config/
|
|
46
|
-
│ ├── organization-model.ts #
|
|
46
|
+
│ ├── organization-model.ts # Entry barrel -- assembly, public exports, knowledge wiring
|
|
47
|
+
│ ├── organization-model/
|
|
48
|
+
│ │ ├── profile.ts # defineOrganizationModel() body (/om codify target)
|
|
49
|
+
│ │ ├── systems.ts # Operational graph, resource descriptors, governance model
|
|
50
|
+
│ │ └── navigation.ts # Sidebar tree, projectTemplateNavigationSurfaces
|
|
47
51
|
│ ├── organization-model.test.ts
|
|
48
52
|
│ ├── organization-model.contract.test.ts
|
|
49
|
-
│ ├── extensions/ # Project-specific model extensions
|
|
50
|
-
│ ├── knowledge/
|
|
53
|
+
│ ├── extensions/ # Project-specific model extensions (deal-ecom.ts.example, index.ts)
|
|
54
|
+
│ ├── knowledge/
|
|
55
|
+
│ │ ├── nodes/ # Hand-authored knowledge node MDX (welcome.mdx)
|
|
56
|
+
│ │ └── _generated/ # Compiled knowledge bodies and search index -- do not edit
|
|
51
57
|
│ └── README.md
|
|
52
58
|
├── test-utils/
|
|
53
59
|
│ └── core-contract-factories.ts
|
|
@@ -63,7 +69,7 @@ core/
|
|
|
63
69
|
|
|
64
70
|
### `core/config/organization-model.ts`
|
|
65
71
|
|
|
66
|
-
|
|
72
|
+
The entry file for the organization model, split into a thin assembly barrel plus three sibling files under `core/config/organization-model/`: `profile.ts` (the `/om` codify target -- identity, customers, offerings, roles, goals), `systems.ts` (the operational graph: Systems, resources, the resource-descriptor getters `getTemplateWorkflowResourceDescriptor` and `getTemplateAgentResourceDescriptor`, and governance model), and `navigation.ts` (the sidebar tree). `organization-model.ts` resolves the canonical model (`canonicalOrganizationModel`, via `resolveOrganizationModel()`) and re-exports every public symbol from the split files so `operations/src/index.ts` and other consumers keep importing from the single entry path. Direct edits to any of these files are discouraged -- the resolver runs Zod cross-reference validation that a syntactically valid edit can still fail. All edits go through `/om`.
|
|
67
73
|
|
|
68
74
|
### `core/types/index.ts`
|
|
69
75
|
|
|
@@ -86,13 +92,18 @@ operations/
|
|
|
86
92
|
│ ├── metadata.ts # Trigger/integration/human-checkpoint metadata (starts empty)
|
|
87
93
|
│ ├── resource-registry.test.ts
|
|
88
94
|
│ ├── README.md
|
|
95
|
+
│ ├── __tests__/
|
|
96
|
+
│ │ └── sdk-test-utils.compat.ts # Shared test helpers -- assertResourceRegistry, runWorkflow
|
|
89
97
|
│ ├── example/
|
|
90
98
|
│ │ ├── echo.ts # Starter workflow
|
|
99
|
+
│ │ ├── echo.test.ts
|
|
91
100
|
│ │ ├── example-agent.ts # Starter agent
|
|
101
|
+
│ │ ├── example-agent.test.ts
|
|
92
102
|
│ │ └── index.ts # Domain barrel (exports workflows + agents)
|
|
93
103
|
│ ├── email-notification/
|
|
94
104
|
│ │ ├── exports.ts # Domain barrel
|
|
95
105
|
│ │ ├── index.ts # Multi-step workflow using the notifications adapter
|
|
106
|
+
│ │ ├── email-notification.test.ts
|
|
96
107
|
│ │ └── adapter-contract.test.ts
|
|
97
108
|
│ └── shared/ # Empty by default (.gitkeep) -- code shared across domains
|
|
98
109
|
├── elevasis.config.ts # Project-level SDK config
|
|
@@ -111,7 +122,7 @@ Convention seed for deployment mechanics that are not resource identity: trigger
|
|
|
111
122
|
|
|
112
123
|
### `operations/src/example/echo.ts`
|
|
113
124
|
|
|
114
|
-
The starter workflow: one workflow per file with its own `config`, Zod `contract`, `steps` map, and `entryPoint`. Replace this domain with your own when ready. `operations/src/example/example-agent.ts` is the equivalent starter for an agent resource.
|
|
125
|
+
The starter workflow: one workflow per file with its own `config`, Zod `contract`, `steps` map, and `entryPoint`. Replace this domain with your own when ready. `operations/src/example/example-agent.ts` is the equivalent starter for an agent resource -- a minimal single-shot (non-session) `AgentDefinition` with no tools and no memory. Each has a matching `*.test.ts` file exercising it through the shared test helpers in `operations/src/__tests__/sdk-test-utils.compat.ts`.
|
|
115
126
|
|
|
116
127
|
### `operations/src/email-notification/index.ts`
|
|
117
128
|
|
|
@@ -173,7 +184,7 @@ The `.claude/` directory and `CLAUDE.md` give Claude Code full awareness of the
|
|
|
173
184
|
├── hooks/ # post-edit-validate.mjs, scaffold-registry-reminder.mjs, tool-failure-recovery.mjs
|
|
174
185
|
├── skills/ # One directory per slash command, each with a SKILL.md
|
|
175
186
|
├── rules/ # Path-scoped pointers to rule bodies bundled with @elevasis/sdk
|
|
176
|
-
├── registries/ #
|
|
187
|
+
├── registries/ # Skill-coverage and knowledge registry data (skill-coverage.json, graph-skills.json, knowledge-flags.json)
|
|
177
188
|
└── logs/ # Hook-written runtime state
|
|
178
189
|
```
|
|
179
190
|
|
|
@@ -183,7 +194,7 @@ The `.claude/` directory and `CLAUDE.md` give Claude Code full awareness of the
|
|
|
183
194
|
|
|
184
195
|
## `elevasis-sdk deploy` Scope
|
|
185
196
|
|
|
186
|
-
`elevasis-sdk deploy` (run as `pnpm -C operations deploy` or `pnpm -C operations deploy:prod`) bundles `operations/src/` into a single file via esbuild and uploads it. There is no documentation-upload step in the current deploy path -- `ui/`, `core/`, and `.claude/` are not touched by deploy.
|
|
197
|
+
`elevasis-sdk deploy` (run as `pnpm -C operations run deploy` or `pnpm -C operations run deploy:prod` -- the explicit `run` matters, because `pnpm -C operations deploy` without it invokes pnpm's own builtin `deploy` command instead of the project script) bundles `operations/src/` into a single file via esbuild and uploads it. There is no documentation-upload step in the current deploy path -- `ui/`, `core/`, and `.claude/` are not touched by deploy.
|
|
187
198
|
|
|
188
199
|
---
|
|
189
200
|
|
|
@@ -199,29 +210,29 @@ Contains `ELEVASIS_PLATFORM_KEY` (and optionally `ELEVASIS_PLATFORM_KEY_DEV`). G
|
|
|
199
210
|
|
|
200
211
|
### `.npmrc`
|
|
201
212
|
|
|
202
|
-
Sets `auto-install-peers
|
|
213
|
+
Sets `ignore-workspace-root-check=true` (isolates this project so pnpm does not walk up and find the monorepo's `pnpm-workspace.yaml`) and `auto-install-peers=true` (the SDK uses Zod as a peer dependency, so this ensures Zod installs automatically).
|
|
203
214
|
|
|
204
215
|
### `.gitignore`
|
|
205
216
|
|
|
206
|
-
Excludes `node_modules/`, `dist/`, `*.tsbuildinfo`, `.tanstack/`, `.env` and `.env.*` (except `.env.example`), `*.log`, `.claude/settings.local.json`, hook-written state in `.claude/logs/*.state.json`, `operations/dist/`, `operations/__elevasis_worker.ts` (a temporary file generated during deployment),
|
|
217
|
+
Excludes `node_modules/`, `dist/`, `*.tsbuildinfo`, `.tanstack/`, `.env` and `.env.*` (except `.env.example`), `*.log`, `.DS_Store`, `.claude/settings.local.json`, hook-written state in `.claude/logs/*.state.json`, `operations/dist/`, `operations/__elevasis_worker.ts` (a temporary file generated during deployment), `tmp/*` (except `.gitkeep`), and `.vercel`.
|
|
207
218
|
|
|
208
219
|
---
|
|
209
220
|
|
|
210
221
|
## File Reference
|
|
211
222
|
|
|
212
|
-
| File / Directory
|
|
213
|
-
|
|
|
214
|
-
| `operations/src/index.ts`
|
|
215
|
-
| `operations/src/<domain>/*.ts`
|
|
216
|
-
| `operations/src/metadata.ts`
|
|
217
|
-
| `core/types/index.ts`
|
|
218
|
-
| `core/config/organization-model.ts` | Never directly -- run `/om` instead |
|
|
219
|
-
| `operations/elevasis.config.ts`
|
|
220
|
-
| `.elevasis`
|
|
221
|
-
| `.env`
|
|
222
|
-
| `CLAUDE.md`
|
|
223
|
-
| `.claude/skills/*/SKILL.md`
|
|
223
|
+
| File / Directory | When You Edit It |
|
|
224
|
+
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
|
225
|
+
| `operations/src/index.ts` | Adding or removing resources, wiring a new domain |
|
|
226
|
+
| `operations/src/<domain>/*.ts` | Writing and modifying workflow or agent logic |
|
|
227
|
+
| `operations/src/metadata.ts` | Adding triggers, integrations, or human-checkpoint queue metadata |
|
|
228
|
+
| `core/types/index.ts` | Defining or changing a workflow's Zod contract |
|
|
229
|
+
| `core/config/organization-model.ts` and `core/config/organization-model/**` | Never directly -- run `/om` instead |
|
|
230
|
+
| `operations/elevasis.config.ts` | Changing project-level SDK settings (`defaultStatus`, `dev.port`) |
|
|
231
|
+
| `.elevasis` | Never manually -- updated by `/git-sync` and platform tooling |
|
|
232
|
+
| `.env` | Adding environment variables |
|
|
233
|
+
| `CLAUDE.md` | Rarely -- project identity and preferences, mostly written by `/setup` |
|
|
234
|
+
| `.claude/skills/*/SKILL.md` | Never in a derived project -- these arrive via `/git-sync` |
|
|
224
235
|
|
|
225
236
|
---
|
|
226
237
|
|
|
227
|
-
**Last Updated:** 2026-08-
|
|
238
|
+
**Last Updated:** 2026-08-17
|
|
@@ -82,7 +82,7 @@ SECTION C -- The Organization Model (3 items)
|
|
|
82
82
|
10 Systems, actions, and labels [ ]
|
|
83
83
|
11 Entity extensions -- BaseProject, BaseDeal [ ]
|
|
84
84
|
|
|
85
|
-
SECTION D -- Modules (load on demand) (
|
|
85
|
+
SECTION D -- Modules (load on demand) (6 items)
|
|
86
86
|
12 HITL [ ]
|
|
87
87
|
13 Schedules [ ]
|
|
88
88
|
14 Notifications + integrations [ ]
|