@elevasis/sdk 1.25.0 → 1.26.1

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.
Files changed (64) hide show
  1. package/dist/cli.cjs +87 -120
  2. package/dist/index.d.ts +220 -50
  3. package/dist/index.js +4 -435
  4. package/dist/node/index.d.ts +46 -38
  5. package/dist/test-utils/index.d.ts +154 -40
  6. package/dist/test-utils/index.js +27 -355
  7. package/dist/types/worker/adapters/clickup.d.ts +22 -0
  8. package/dist/types/worker/adapters/index.d.ts +1 -0
  9. package/dist/worker/index.js +32 -354
  10. package/package.json +2 -2
  11. package/reference/_navigation.md +11 -1
  12. package/reference/_reference-manifest.json +70 -0
  13. package/reference/claude-config/rules/organization-model.md +12 -1
  14. package/reference/claude-config/rules/organization-os.md +12 -1
  15. package/reference/claude-config/skills/om/SKILL.md +13 -5
  16. package/reference/claude-config/skills/om/operations/codify-level-a.md +109 -100
  17. package/reference/claude-config/skills/om/operations/customers.md +10 -6
  18. package/reference/claude-config/skills/om/operations/features.md +7 -3
  19. package/reference/claude-config/skills/om/operations/goals.md +10 -6
  20. package/reference/claude-config/skills/om/operations/identity.md +8 -5
  21. package/reference/claude-config/skills/om/operations/labels.md +17 -1
  22. package/reference/claude-config/skills/om/operations/offerings.md +11 -7
  23. package/reference/claude-config/skills/om/operations/roles.md +11 -7
  24. package/reference/claude-config/skills/om/operations/techStack.md +10 -2
  25. package/reference/claude-config/skills/setup/SKILL.md +2 -2
  26. package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +32 -0
  27. package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +43 -0
  28. package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +40 -0
  29. package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +61 -0
  30. package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +49 -0
  31. package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +42 -0
  32. package/reference/cli-management.mdx +541 -0
  33. package/reference/cli.mdx +4 -532
  34. package/reference/concepts.mdx +134 -146
  35. package/reference/deployment/api.mdx +296 -297
  36. package/reference/deployment/command-center.mdx +208 -209
  37. package/reference/deployment/index.mdx +194 -195
  38. package/reference/deployment/provided-features.mdx +110 -107
  39. package/reference/deployment/ui-execution.mdx +249 -250
  40. package/reference/examples/organization-model.ts +14 -4
  41. package/reference/framework/index.mdx +111 -195
  42. package/reference/framework/resource-documentation.mdx +90 -0
  43. package/reference/framework/tutorial-system.mdx +135 -135
  44. package/reference/getting-started.mdx +141 -142
  45. package/reference/index.mdx +95 -106
  46. package/reference/packages/ui/src/auth/README.md +6 -6
  47. package/reference/platform-tools/adapters-integration.mdx +300 -301
  48. package/reference/platform-tools/adapters-platform.mdx +552 -553
  49. package/reference/platform-tools/index.mdx +216 -217
  50. package/reference/platform-tools/type-safety.mdx +82 -82
  51. package/reference/resources/index.mdx +348 -349
  52. package/reference/resources/patterns.mdx +446 -449
  53. package/reference/resources/types.mdx +115 -116
  54. package/reference/roadmap.mdx +164 -165
  55. package/reference/rules/organization-model.md +14 -0
  56. package/reference/runtime.mdx +172 -173
  57. package/reference/scaffold/operations/propagation-pipeline.md +1 -1
  58. package/reference/scaffold/recipes/extend-lead-gen.md +130 -77
  59. package/reference/scaffold/reference/contracts.md +376 -446
  60. package/reference/scaffold/reference/glossary.md +8 -6
  61. package/reference/scaffold/ui/feature-flags-and-gating.md +59 -46
  62. package/reference/scaffold/ui/feature-shell.mdx +11 -11
  63. package/reference/scaffold/ui/recipes.md +24 -24
  64. package/reference/troubleshooting.mdx +222 -223
@@ -0,0 +1,541 @@
1
+ ---
2
+ title: CLI Management Commands
3
+ description: elevasis-sdk management commands -- project, note, acquisition, client, agent, session, queue, schedule, om, and ui subcommand families
4
+ ---
5
+
6
+ This page covers the domain management commands for `elevasis-sdk`. For core SDK commands (check, deploy, exec, resources, executions, describe, creds, rename), see [CLI Reference](cli.mdx).
7
+
8
+ ---
9
+
10
+ ## elevasis-sdk project:\*
11
+
12
+ `elevasis-sdk project:*` is the canonical project-management surface. Use it for project, milestone, task, and note operations whether the caller is a human, a scripted workflow, or a slash-command router like `/project`.
13
+
14
+ This CLI family is SDK-first, but it is not semantically standalone. It operates on the same Organization OS contract that the shared delivery UI uses:
15
+
16
+ - UI manifest key: `delivery`
17
+ - Organization model feature ID: `projects`
18
+ - Default surface: `projects.index`
19
+ - Semantic domain fields: `organizationModel.delivery`
20
+ - Core entity/capability IDs: `delivery.project`, `delivery.milestone`, `delivery.task`, `delivery.projects.view`
21
+
22
+ ### Projects
23
+
24
+ ```bash
25
+ elevasis-sdk project:list
26
+ elevasis-sdk project:get <id>
27
+ elevasis-sdk project:create --name "Website Refresh" --kind client_engagement
28
+ elevasis-sdk project:update <id> --status completed
29
+ elevasis-sdk project:delete <id>
30
+ ```
31
+
32
+ **Behavior:**
33
+
34
+ - `project:list` filters by `--kind` and `--status`
35
+ - `project:get` returns a single project
36
+ - `project:create` and `project:update` operate on `/api/external/projects`
37
+
38
+ ### Milestones
39
+
40
+ ```bash
41
+ elevasis-sdk project:milestone:list --project <id>
42
+ elevasis-sdk project:milestone:create --project <id> --name "Phase 1"
43
+ elevasis-sdk project:milestone:update <id> --status completed
44
+ elevasis-sdk project:milestone:update <id> --description "Updated scope description"
45
+ elevasis-sdk project:milestone:delete <id>
46
+ ```
47
+
48
+ `project:milestone:update` accepts `--description` to set or clear the milestone description. Passing an empty string clears the field, matching `project:task:update --description` semantics.
49
+
50
+ ### Tasks
51
+
52
+ ```bash
53
+ elevasis-sdk project:task:list --project <id>
54
+ elevasis-sdk project:task:get <id>
55
+ elevasis-sdk project:task:create --project <id> --title "Implement API"
56
+ elevasis-sdk project:task:update <id> --status in_progress
57
+ elevasis-sdk project:task:delete <id>
58
+ ```
59
+
60
+ Task commands also expose agent-oriented resume state:
61
+
62
+ ```bash
63
+ elevasis-sdk project:task:resume <id> --pretty
64
+ elevasis-sdk project:task:save <id> --current-state "Implemented the route layer"
65
+ ```
66
+
67
+ - `project:task:resume` reads the task's `resume_context`
68
+ - `project:task:save` merges fields into `resume_context`
69
+ - these commands are the CLI counterpart to `/work resume` and `/work save` style flows
70
+
71
+ ### Notes
72
+
73
+ ```bash
74
+ elevasis-sdk project:note:list --project <id>
75
+ elevasis-sdk project:note:create --project <id> --content "Client approved scope"
76
+ elevasis-sdk project:note:create --project <id> --type agent_learning --content "Learned X"
77
+ elevasis-sdk project:note:update <id> --content "Updated status"
78
+ elevasis-sdk project:note:delete <id>
79
+ ```
80
+
81
+ The `--type` flag accepts: `call_note`, `status_update`, `issue`, `blocker`, `agent_learning`. The `agent_learning` type is the canonical way for agents to record durable skill observations. Accepted values are derived from `NoteTypeSchema` in `packages/core/src/projects/api-schemas.ts` -- that schema is the source of truth; the CLI help text is generated from it to prevent drift.
82
+
83
+ ### Requests
84
+
85
+ ```bash
86
+ elevasis-sdk request:submit --input-file ./tmp/request-report.json
87
+ elevasis-sdk request:submit --input '{"type":"bug","category":"sdk","severity":"high","title":"..."}'
88
+ ```
89
+
90
+ Submits a structured request report to `POST /api/external/requests`. The payload is validated against `CreateRequestInputSchema` before the network call.
91
+
92
+ **Payload enum values** (inline in `--help` output; sourced from `packages/core/src/requests/api-schemas.ts`):
93
+
94
+ | Field | Accepted values |
95
+ | ---------- | ------------------------------------------------------------------------------------- |
96
+ | `type` | Values from `RequestTypeEnum` -- see `request:submit --help` for the current list |
97
+ | `category` | Values from `RequestCategoryEnum` -- see `request:submit --help` for the current list |
98
+ | `severity` | Values from `RequestSeverityEnum` -- see `request:submit --help` for the current list |
99
+
100
+ **Flags:**
101
+
102
+ | Flag | Description |
103
+ | --------------------------- | ----------------------------------------------------------------------------- |
104
+ | `-i, --input <json>` | Request body as JSON string |
105
+ | `-f, --input-file <path>` | Read body from a JSON file; relative paths resolve against the project root |
106
+ | `--pretty` | Human-readable output instead of raw JSON |
107
+ | `--cleanup-input` | Delete the input file after success (only files under `<projectRoot>/tmp/`) |
108
+ | `--api-url <url>` | Override the API base URL |
109
+
110
+ **Read commands** (added once `request` cleared the 4-point promotion bar):
111
+
112
+ ```bash
113
+ elevasis-sdk request:list --status open --severity critical
114
+ elevasis-sdk request:get <id>
115
+ ```
116
+
117
+ `request:list` calls `GET /api/external/requests` and `request:get` calls `GET /api/external/requests/:id`. Both default to raw JSON; pass `--pretty` for human-readable output (mirrors `request:submit`). Organization scope is derived from the API key, so `request:get` returns 404 for an id belonging to another tenant -- a cross-tenant id is indistinguishable from a missing one (no existence oracle).
118
+
119
+ | Flag | Description |
120
+ | --------------------- | ----------------------------------------------- |
121
+ | `--status <status>` | Filter list by status (`RequestStatusEnum`) |
122
+ | `--severity <sev>` | Filter list by severity (`RequestSeverityEnum`) |
123
+ | `--project-id <id>` | Filter list by project id |
124
+ | `--limit <n>` | Max rows (1-200, default 50) |
125
+ | `--pretty` | Human-readable output instead of raw JSON |
126
+ | `--api-url <url>` | Override the API base URL |
127
+
128
+ ---
129
+
130
+ ### Shared Flags
131
+
132
+ Most `project:*` commands support:
133
+
134
+ | Flag | Description |
135
+ | ----------------- | -------------------------------------------------- |
136
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
137
+ | `--api-url <url>` | Override the API base URL |
138
+
139
+ For exact required flags and accepted enum values, see the command source under `packages/sdk/src/cli/commands/project/`.
140
+
141
+ ### Command Boundary
142
+
143
+ - `/project` is a convenience router to these `elevasis-sdk project:*` commands. It is not a separate project system.
144
+ - `/work` is for docs-backed in-progress task tracking and session resume, not project CRUD.
145
+ - `/external` is for managing standalone apps in `external/`, not project records inside a deployed system.
146
+ - `/adev` is for implementation, debugging, testing, and platform execution flows. Use it when you need to build or run agent/workflow code rather than update project data.
147
+
148
+ ---
149
+
150
+ ## elevasis-sdk note:\*
151
+
152
+ `elevasis-sdk note:*` is the agent-facing surface for pushing and reading user notes. Workflows and agents use it to surface information -- such as "deal X stalled" or "review run completed" -- directly into a user's Notes panel in the Command Center, without sending an email or notification.
153
+
154
+ Agent-written notes are private to the target user and scoped to the calling organization. The authenticated Notes panel can also create and edit org-shared notes (`visibility: 'org'`), which are visible to active members of the same organization and show creator attribution. The external SDK CLI surface exposes `GET + POST` only; `note:update` and `note:delete` are not yet available via SDK CLI. Users edit, delete, and change visibility through the right-panel view.
155
+
156
+ ### note:create
157
+
158
+ Create a personal note for a user.
159
+
160
+ **Synopsis:**
161
+
162
+ ```
163
+ elevasis-sdk note:create --content <text>
164
+ [--user <email>]
165
+ [--title <text>]
166
+ [--priority low|normal|high|urgent]
167
+ [--pinned]
168
+ [--source <id>]
169
+ [--api-url <url>] [--pretty]
170
+ ```
171
+
172
+ **Flags:**
173
+
174
+ | Flag | Description |
175
+ | ------------------------- | ----------------------------------------------------------------------------------------- |
176
+ | `--content <text>` | Required. The note body text |
177
+ | `--user <email>` | Target user email. Defaults to the API key owner when omitted |
178
+ | `--title <text>` | Optional note title |
179
+ | `--priority <priority>` | Priority level: `low`, `normal` (default), `high`, or `urgent` |
180
+ | `--pinned` | Pin the note to the top of the panel |
181
+ | `--source <id>` | Source identifier -- set this to the workflow or agent ID when calling from agent runtime |
182
+ | `--api-url <url>` | Override the API base URL |
183
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
184
+
185
+ **Behavior:**
186
+
187
+ - Posts to `POST /api/external/user-notes`
188
+ - When `--user` is omitted the note is created for the identity bound to the API key (the caller)
189
+ - When `--user` is provided the platform resolves the email to a Supabase user UUID and verifies the resolved user is an active member of the calling organization before writing
190
+ - External agent-created notes are always private; org-shared visibility is a signed-in UI capability, not a broadcast CLI mode
191
+ - The `--source` flag is recorded as the `source` column in `user_notes`; agent runtimes should pass their resource ID here so users can see which workflow created the note
192
+ - Priority `normal` produces no badge in the UI; `high` renders orange, `urgent` renders red, `low` renders dimmed gray
193
+
194
+ **Examples:**
195
+
196
+ ```bash
197
+ # Create a note for the API key owner
198
+ elevasis-sdk note:create --content "Deal X has stalled -- follow up needed"
199
+
200
+ # Create a high-priority pinned note for a specific user
201
+ elevasis-sdk note:create \
202
+ --content "Review run completed for batch_abc123" \
203
+ --user ops@acme.com \
204
+ --priority high \
205
+ --pinned \
206
+ --source "report-review-workflow" \
207
+ --pretty
208
+ ```
209
+
210
+ ```
211
+ Note created
212
+ ID: note_550e8400-...
213
+ Priority: high
214
+ ```
215
+
216
+ ---
217
+
218
+ ### note:list
219
+
220
+ List notes for a user.
221
+
222
+ **Synopsis:**
223
+
224
+ ```
225
+ elevasis-sdk note:list --user <email>
226
+ [--priority <p>] [--pinned]
227
+ [--limit <n>] [--offset <n>]
228
+ [--api-url <url>] [--pretty]
229
+ ```
230
+
231
+ **Flags:**
232
+
233
+ | Flag | Description |
234
+ | ------------------------- | -------------------------------------------------------- |
235
+ | `--user <email>` | Required. The user whose notes to retrieve |
236
+ | `--priority <priority>` | Filter by priority: `low`, `normal`, `high`, or `urgent` |
237
+ | `--pinned` | Return only pinned notes |
238
+ | `--limit <n>` | Maximum number of results to return |
239
+ | `--offset <n>` | Pagination offset |
240
+ | `--api-url <url>` | Override the API base URL |
241
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
242
+
243
+ **Behavior:**
244
+
245
+ - Queries `GET /api/external/user-notes?user_email=<email>`
246
+ - `--user` is required -- the external GET endpoint requires an explicit user target
247
+ - Results are sorted by the platform: pinned first, then by priority (`urgent` > `high` > `normal` > `low`), then by most recently updated
248
+ - Organization scope is derived from the API key -- only notes belonging to users in the calling organization are returned
249
+
250
+ **Examples:**
251
+
252
+ ```bash
253
+ # List all notes for a user
254
+ elevasis-sdk note:list --user ops@acme.com
255
+
256
+ # List only high-priority pinned notes, human-readable
257
+ elevasis-sdk note:list --user ops@acme.com --priority high --pinned --pretty
258
+ ```
259
+
260
+ ```
261
+ Notes (2):
262
+
263
+ (no title) [pinned] [high]
264
+ ID: note_abc001
265
+ Review run completed for batch_abc123
266
+
267
+ Deal X stalled [pinned] [high]
268
+ ID: note_abc002
269
+ Deal X has stalled -- follow up needed
270
+ ```
271
+
272
+ ---
273
+
274
+ ### Shared Flags
275
+
276
+ | Flag | Description |
277
+ | ------------------- | -------------------------------------------------- |
278
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
279
+ | `--api-url <url>` | Override the API base URL |
280
+
281
+ ### Command Boundary
282
+
283
+ - `note:create` and `note:list` operate on the **user notes** surface -- not project notes. For project-scoped notes use `project:note:*`.
284
+ - `note:update` and `note:delete` are not yet available via SDK CLI. Edit and delete notes using the Notes panel in the Command Center.
285
+ - The shared Notes panel view (`NotesPanelView`) is exported from `@elevasis/ui/features/notes` and registered in the right-panel registry alongside Overview, Recent Executions, and Notifications.
286
+
287
+ **Implementation:** `packages/sdk/src/cli/commands/notes.ts` -- delegates to `POST /api/external/user-notes` and `GET /api/external/user-notes`
288
+
289
+ ### Notes Design Contract
290
+
291
+ The following invariants govern the Notes feature and are relevant when building agents or workflows that write notes:
292
+
293
+ - **Scope:** Notes are user-scoped and organization-scoped by default. A signed-in user can mark a note as org-shared; agent-created notes stay private to the target user.
294
+ - **Org-shared visibility:** `visibility: 'org'` lets active org members see and edit the note. Only the creator can change the visibility value.
295
+ - **Sort order:** Pinned first, then by priority (`urgent` > `high` > `normal` > `low`), then by most recently updated.
296
+ - **Broadcast:** Out of scope. Agents create notes for one resolved user at a time. Broadcast is a notifications concern, not a notes concern.
297
+ - **Retention:** Notes persist until the user explicitly deletes them. There is no TTL and no dismissed state.
298
+ - **Agent creation:** One-to-one only. Pass `--source` with the agent or workflow resource ID so users can trace which resource created the note.
299
+
300
+ ---
301
+
302
+ ## elevasis-sdk acquisition:\*
303
+
304
+ Read-only access to acquisition lists and CRM deals. The acquisition CLI scope is intentionally read-only; mutating commands are deferred.
305
+
306
+ ### acquisition:list:\*
307
+
308
+ ```bash
309
+ elevasis-sdk acquisition:list:list
310
+ elevasis-sdk acquisition:list:get <id>
311
+ elevasis-sdk acquisition:list:status
312
+ ```
313
+
314
+ - `acquisition:list:list` -- list all acquisition lists for the organization
315
+ - `acquisition:list:get <id>` -- get full detail for a single acquisition list by UUID
316
+ - `acquisition:list:status` -- summarize counts and progress across all lists
317
+
318
+ ### acquisition:deal:\*
319
+
320
+ ```bash
321
+ elevasis-sdk acquisition:deal:list
322
+ elevasis-sdk acquisition:deal:get <id>
323
+ elevasis-sdk acquisition:deal:status
324
+ ```
325
+
326
+ - `acquisition:deal:list` -- list all CRM deals visible to the organization
327
+ - `acquisition:deal:get <id>` -- get a single deal record
328
+ - `acquisition:deal:status` -- summarize deal pipeline counts
329
+
330
+ **API routes:**
331
+
332
+ - Acquisition lists: `GET /api/external/acquisition/lists`, `/api/external/acquisition/lists/:listId`, `/api/external/acquisition/lists/status`
333
+ - Deals: `GET /api/external/deals`, `/api/external/deals/:dealId`, `/api/external/deals/summary`
334
+
335
+ JWT-gated routes at the original unprefixed paths remain for the Command Center. All SDK CLI calls use `/api/external/*` gated by `requireApiKey`.
336
+
337
+ **Note:** List-inspection routing lives in `/om` (Acquisition Operations dispatch). The `/acquisition` skill was folded into `/om`; all list reads still route to `elevasis-sdk acquisition:list:get <uuid>`.
338
+
339
+ **Flags (all acquisition commands):**
340
+
341
+ | Flag | Description |
342
+ | ------------------- | -------------------------------------------------- |
343
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
344
+ | `--api-url <url>` | Override the API base URL |
345
+
346
+ **Implementation:** `packages/sdk/src/cli/commands/acquisition/`
347
+
348
+ ---
349
+
350
+ ## elevasis-sdk client:\*
351
+
352
+ Full CRUD management for client records. The `client:*` family covers create, read, update, and delete operations at `/api/external/clients`.
353
+
354
+ For complete field definitions, filter options, and relationship semantics, see the [Clients feature documentation](/technical/features/clients).
355
+
356
+ **Quick reference:**
357
+
358
+ ```bash
359
+ elevasis-sdk client:list
360
+ elevasis-sdk client:get <id>
361
+ elevasis-sdk client:create --name "Acme Corp"
362
+ elevasis-sdk client:update <id> --name "Acme Corp Updated"
363
+ elevasis-sdk client:delete <id>
364
+ ```
365
+
366
+ **Flags:**
367
+
368
+ | Flag | Description |
369
+ | ------------------- | -------------------------------------------------- |
370
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
371
+ | `--api-url <url>` | Override the API base URL |
372
+
373
+ **Implementation:** `packages/sdk/src/cli/commands/` (client family)
374
+
375
+ ---
376
+
377
+ ## elevasis-sdk agent:\*
378
+
379
+ Read-only inspection of deployed agents.
380
+
381
+ ```bash
382
+ elevasis-sdk agent:list
383
+ elevasis-sdk agent:get <id>
384
+ ```
385
+
386
+ - `agent:list` -- list all agents registered for the organization
387
+ - `agent:get <id>` -- get metadata and schema for a specific agent
388
+
389
+ **API routes:** `GET /api/external/agents`, `/api/external/agents/:id`
390
+
391
+ **Flags:**
392
+
393
+ | Flag | Description |
394
+ | ------------------- | -------------------------------------------------- |
395
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
396
+ | `--api-url <url>` | Override the API base URL |
397
+
398
+ **Implementation:** `packages/sdk/src/cli/commands/` (agent family)
399
+
400
+ ---
401
+
402
+ ## elevasis-sdk session:\*
403
+
404
+ Inspect and manage agent sessions.
405
+
406
+ ```bash
407
+ elevasis-sdk session:list
408
+ elevasis-sdk session:get <id>
409
+ elevasis-sdk session:end <id>
410
+ ```
411
+
412
+ - `session:list` -- list sessions for the organization; supports filtering by resource, status, and time range
413
+ - `session:get <id>` -- get full session detail including messages and events
414
+ - `session:end <id>` -- gracefully end an active session
415
+
416
+ **API routes:** `GET /api/external/sessions`, `/api/external/sessions/:id`, `POST /api/external/sessions/:id/end`
417
+
418
+ **Flags:**
419
+
420
+ | Flag | Description |
421
+ | ------------------- | -------------------------------------------------- |
422
+ | `--pretty` | Human-readable terminal output instead of raw JSON |
423
+ | `--api-url <url>` | Override the API base URL |
424
+
425
+ **Implementation:** `packages/sdk/src/cli/commands/` (session family)
426
+
427
+ ---
428
+
429
+ ## elevasis-sdk queue:\*
430
+
431
+ Manage HITL command queue tasks. See the [Command Queue CLI Guide](/technical/development/agent-driven-development/command-cli-guide) for the full command reference.
432
+
433
+ **Quick reference:**
434
+
435
+ ```bash
436
+ elevasis-sdk queue:list --status pending --pretty
437
+ elevasis-sdk queue:get <id> --pretty
438
+ elevasis-sdk queue:select <id> --action-id <action-id> --pretty
439
+ elevasis-sdk queue:expire <id> --pretty
440
+ elevasis-sdk queue:status --pretty
441
+ ```
442
+
443
+ **Auth:** Calls `/api/external/command-queue/*` with API-key auth.
444
+
445
+ ---
446
+
447
+ ## elevasis-sdk schedule:\*
448
+
449
+ Manage recurring, relative, and absolute task schedules. See the [Schedule CLI Guide](/technical/development/agent-driven-development/schedule-cli-guide) for the full command reference including schedule config JSON shapes.
450
+
451
+ **Quick reference:**
452
+
453
+ ```bash
454
+ elevasis-sdk schedule:list --status active --pretty
455
+ elevasis-sdk schedule:get <id> --pretty
456
+ elevasis-sdk schedule:create --name <name> --target-resource-type workflow --target-resource-id <id> --schedule-config '{...}' --pretty
457
+ elevasis-sdk schedule:update <id> --name "Updated name" --pretty
458
+ elevasis-sdk schedule:pause <id> --pretty
459
+ elevasis-sdk schedule:resume <id> --pretty
460
+ elevasis-sdk schedule:cancel <id> --pretty
461
+ ```
462
+
463
+ **Auth:** Calls `/api/external/task-scheduler/schedules*` with API-key auth.
464
+
465
+ ---
466
+
467
+ ## elevasis-sdk om:\*
468
+
469
+ Knowledge map inspection. The `om:*` (Organization Model) commands expose knowledge graph traversal via the CLI.
470
+
471
+ For the full command reference, flag details, and graph architecture, see the [knowledge:\* CLI documentation](/technical/features/knowledge/knowledge-cli).
472
+
473
+ **Quick reference:**
474
+
475
+ ```bash
476
+ elevasis-sdk knowledge:ls /by-system/sales.crm
477
+ elevasis-sdk knowledge:cat <node-id>
478
+ elevasis-sdk knowledge:graph
479
+ ```
480
+
481
+ These are registered as `knowledge:*` subcommands on `elevasis-sdk`. Both the SDK CLI (`elevasis-sdk knowledge:*`) and the platform CLI (`elevasis knowledge:*`) call the same query functions in `@repo/core/knowledge/queries`.
482
+
483
+ ---
484
+
485
+ ## elevasis-sdk ui:use-local / ui:use-published
486
+
487
+ Switch the `@elevasis/ui` dependency in an external project between a local tarball build and the published npm package.
488
+
489
+ **Synopsis:**
490
+
491
+ ```bash
492
+ elevasis-sdk ui:use-local
493
+ elevasis-sdk ui:use-published
494
+ ```
495
+
496
+ **Behavior:**
497
+
498
+ - `ui:use-local` -- builds a tarball from the local `packages/ui/` source and rewrites the project's `package.json` to point at the tarball path. Use this during active `@elevasis/ui` development to test changes without publishing.
499
+ - `ui:use-published` -- reverts `package.json` to the published `@elevasis/ui` version string and removes any local tarball reference.
500
+
501
+ Both commands install after rewriting `package.json`. The `external/_template` root scripts `ui:use-local` and `ui:use-published` are compatibility wrappers that delegate to these CLI commands.
502
+
503
+ **Implementation:** `packages/sdk/src/cli/commands/ui/ui-switcher.ts`
504
+
505
+ ---
506
+
507
+ ## Appendix: Domain Status
508
+
509
+ Current status of all SDK CLI domains. Domains marked `deferred` have no CLI commands yet.
510
+
511
+ | Domain | CLI surface | API surface | Status |
512
+ | ----------- | ------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------- |
513
+ | platform | top-level SDK commands | mixed platform APIs | implemented |
514
+ | project | `project:*` | `apps/api/src/projects/` | implemented |
515
+ | knowledge | `knowledge:*` | file/generated knowledge data | implemented |
516
+ | creds | `creds *` nested Commander group | credentials API | implemented |
517
+ | ui | `ui:*` | local project file edits | implemented |
518
+ | request | `request:submit`, `request:list`, `request:get` | requests API | implemented read/write scope |
519
+ | error | `error resolve`, `error resolve-execution` | execution error APIs | partial |
520
+ | acquisition | `acquisition:list:*`, `acquisition:deal:*` | `/api/external/acquisition/lists*`, `/api/external/deals*` | implemented read-only scope |
521
+ | client | `client:*` | `/api/external/clients` | implemented read/write scope |
522
+ | agent | `agent:list`, `agent:get` | `/api/external/agents*` | implemented read-only scope |
523
+ | session | `session:list`, `session:get`, `session:end` | `/api/external/sessions*` | implemented management scope |
524
+ | queue | `queue:list`, `queue:get`, `queue:select`, `queue:expire`, `queue:status` | `/api/external/command-queue*` | implemented |
525
+ | schedule | `schedule:list`, `schedule:get`, `schedule:create`, `schedule:update` | `/api/external/task-scheduler/schedules*` | implemented |
526
+ | content | none | not scoped here | deferred |
527
+ | seo | none | not scoped here | deferred |
528
+ | monitoring | none | not scoped here | deferred |
529
+
530
+ ### Promotion Criteria
531
+
532
+ A domain should meet all four criteria before gaining a `*:list` / `*:get` surface in the SDK CLI:
533
+
534
+ 1. The domain has DB-backed state with tenant scoping.
535
+ 2. External SDK tenants have a plausible read or operation need.
536
+ 3. Operators repeat the same query pattern often enough that ad-hoc DB reads are becoming workflow surface.
537
+ 4. There are at least three concrete use cases.
538
+
539
+ ---
540
+
541
+ **Last Updated:** 2026-05-19