@elevasis/sdk 1.31.0 → 1.33.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 +526 -225
- package/dist/index.d.ts +71 -5
- package/dist/node/index.d.ts +65 -2
- package/dist/test-utils/index.d.ts +71 -5
- package/package.json +3 -3
- package/reference/claude-config/Overview.md +123 -0
- package/reference/claude-config/registries/skill-coverage.json +19 -0
- package/reference/claude-config/skills/client/SKILL.md +201 -0
- package/reference/claude-config/skills/elevasis/SKILL.md +244 -235
- package/reference/claude-config/skills/om/SKILL.md +56 -5
- package/reference/claude-config/skills/om/operations/features.md +12 -5
- package/reference/claude-config/skills/om/operations/scaffold.md +10 -0
- package/reference/claude-config/skills/setup/SKILL.md +9 -0
- package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +39 -0
- package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +27 -0
- package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +45 -0
- package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +34 -0
- package/reference/rules/agent-start-here.md +8 -2
- package/reference/rules/organization-os.md +11 -7
- package/reference/rules/package-taxonomy.md +4 -0
- package/reference/scaffold/recipes/customize-knowledge-browser.md +23 -26
- package/reference/scaffold/reference/contracts.md +54 -0
- package/reference/scaffold/reference/feature-registry.md +1 -1
- package/reference/scaffold/ui/composition-extensibility.mdx +1 -1
- package/reference/sdk/cli-management.mdx +2 -2
- package/reference/sdk/framework/agent.mdx +1 -1
|
@@ -1,235 +1,244 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: elevasis
|
|
3
|
-
description: Elevasis platform operations -- check, deploy, execute, inspect, and debug SDK resources
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Elevasis Platform Operations
|
|
7
|
-
|
|
8
|
-
Manage SDK resources in the `operations/` workspace via the `elevasis-sdk` CLI.
|
|
9
|
-
|
|
10
|
-
**Usage:**
|
|
11
|
-
|
|
12
|
-
- `/elevasis` -- Show available operations
|
|
13
|
-
- `/elevasis check` -- Validate resource definitions
|
|
14
|
-
- `/elevasis deploy [--prod]` -- Deploy resources
|
|
15
|
-
- `/elevasis exec <resourceId> [--input '...']` -- Execute a resource
|
|
16
|
-
- `/elevasis describe <resourceId>` -- Show resource schema
|
|
17
|
-
- `/elevasis logs <resourceId>` -- View recent executions
|
|
18
|
-
- `/elevasis creds` -- Manage credentials
|
|
19
|
-
|
|
20
|
-
## Critical Rules
|
|
21
|
-
|
|
22
|
-
- **Always describe before exec** -- run `describe` first to see the exact input schema
|
|
23
|
-
- **Use `-f` for complex inputs** -- write JSON to a temp file to avoid shell escaping issues
|
|
24
|
-
- **Always `check` before `deploy`** -- catches schema and config errors early
|
|
25
|
-
|
|
26
|
-
## Environment
|
|
27
|
-
|
|
28
|
-
The CLI authenticates via `ELEVASIS_PLATFORM_KEY` in the root `.env` file. The CLI walks up directories to find `.env`, so it works from both the project root and `operations/`.
|
|
29
|
-
|
|
30
|
-
For dev vs prod targeting:
|
|
31
|
-
|
|
32
|
-
- Default: production (`https://api.elevasis.io`)
|
|
33
|
-
- `--prod` flag: explicitly targets production (overrides `NODE_ENV=development`)
|
|
34
|
-
- `ELEVASIS_API_URL` env var: override to any custom URL
|
|
35
|
-
|
|
36
|
-
## Operations
|
|
37
|
-
|
|
38
|
-
### Check
|
|
39
|
-
|
|
40
|
-
Validate all resource definitions (schemas, contracts, config):
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
pnpm elevasis-sdk check
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Reports: resource count, validation errors, schema serialization warnings. Exit code 0 = pass.
|
|
47
|
-
|
|
48
|
-
### Deploy
|
|
49
|
-
|
|
50
|
-
Bundle and deploy resources to the Elevasis platform.
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
pnpm elevasis-sdk deploy [--prod]
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Replace `[--prod]` with `--prod` when targeting production.
|
|
57
|
-
|
|
58
|
-
**Version bumping flags** (written back to `src/index.ts`):
|
|
59
|
-
|
|
60
|
-
- `--major` -- bump major (1.0.0 to 2.0.0) for breaking contract changes
|
|
61
|
-
- `--minor` -- bump minor (1.0.0 to 1.1.0) for new features
|
|
62
|
-
- `--patch` -- bump patch (1.0.0 to 1.0.1) for fixes
|
|
63
|
-
|
|
64
|
-
Deploy replaces the previous active deployment. Resources become executable immediately.
|
|
65
|
-
|
|
66
|
-
### Describe
|
|
67
|
-
|
|
68
|
-
**Always run before executing.** Shows resource metadata, input/output schemas, and step chain:
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
pnpm elevasis-sdk describe <resourceId>
|
|
72
|
-
|
|
73
|
-
# JSON output for programmatic use
|
|
74
|
-
pnpm elevasis-sdk describe <resourceId> --json
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
Output includes: type, name, version, status, domains, input schema (required/optional fields with types), output schema, step definitions with entry point and routing.
|
|
78
|
-
|
|
79
|
-
### Execute
|
|
80
|
-
|
|
81
|
-
Run a deployed resource. **Always `describe` first to see the input schema.**
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# Simple input (inline JSON)
|
|
85
|
-
pnpm elevasis-sdk exec <resourceId> -i '{"key": "value"}'
|
|
86
|
-
|
|
87
|
-
# Complex input (temp file -- PREFERRED for non-trivial payloads)
|
|
88
|
-
# Write input to a temp file first, then reference it with -f
|
|
89
|
-
pnpm elevasis-sdk exec <resourceId> -f .tmp-input.json
|
|
90
|
-
|
|
91
|
-
# Async execution (for long-running workflows -- polls until complete)
|
|
92
|
-
pnpm elevasis-sdk exec <resourceId> -f .tmp-input.json --async
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
**When to use `-f` (file input):**
|
|
96
|
-
|
|
97
|
-
- Input contains nested objects, arrays, or special characters
|
|
98
|
-
- Input has quotes that conflict with shell escaping
|
|
99
|
-
- Input is reused across multiple executions
|
|
100
|
-
- Any time inline `-i` causes parsing errors
|
|
101
|
-
|
|
102
|
-
**Temp file pattern:**
|
|
103
|
-
|
|
104
|
-
1. Write the JSON to a temp file inside the project (e.g., `operations/.tmp-input.json`)
|
|
105
|
-
2. Execute with `-f .tmp-input.json`
|
|
106
|
-
3. Delete the temp file after
|
|
107
|
-
|
|
108
|
-
**Sync vs async:**
|
|
109
|
-
|
|
110
|
-
- Sync (default): blocks until execution completes, shows result inline
|
|
111
|
-
- Async (`--async`): returns execution ID immediately, polls every 3s with elapsed timer
|
|
112
|
-
- Use `--async` for workflows that may exceed 30 seconds
|
|
113
|
-
|
|
114
|
-
**Connection failure recovery:** If the connection drops during sync execution, the CLI automatically searches recent executions for a running one and resumes polling.
|
|
115
|
-
|
|
116
|
-
### List Resources
|
|
117
|
-
|
|
118
|
-
View all deployed resources:
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
pnpm elevasis-sdk resources
|
|
122
|
-
|
|
123
|
-
# JSON output
|
|
124
|
-
pnpm elevasis-sdk resources --json
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Shows: resource ID, type (workflow/agent), name, description, status.
|
|
128
|
-
|
|
129
|
-
### Execution History
|
|
130
|
-
|
|
131
|
-
View past executions for a resource:
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
# List recent executions (default: last 50)
|
|
135
|
-
pnpm elevasis-sdk executions <resourceId>
|
|
136
|
-
|
|
137
|
-
# Filter by status
|
|
138
|
-
pnpm elevasis-sdk executions <resourceId> --status failed --limit 10
|
|
139
|
-
|
|
140
|
-
# View specific execution (full detail with logs)
|
|
141
|
-
pnpm elevasis-sdk execution <resourceId> <executionId>
|
|
142
|
-
|
|
143
|
-
# Logs only (skip metadata)
|
|
144
|
-
pnpm elevasis-sdk execution <resourceId> <executionId> --logs-only
|
|
145
|
-
|
|
146
|
-
# Include input and result data
|
|
147
|
-
pnpm elevasis-sdk execution <resourceId> <executionId> --input --result
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**`executions` flags:** `--limit <n>` (default 50), `--status running|completed|failed`, `--json`
|
|
151
|
-
|
|
152
|
-
**`execution` flags:** `--logs-only`, `--input`, `--result`, `--json`
|
|
153
|
-
|
|
154
|
-
Execution detail shows: status, start/end times, duration, input, result, error (if failed), and timestamped logs with level (ERROR/WARN/INFO/DEBUG).
|
|
155
|
-
|
|
156
|
-
### Deployments
|
|
157
|
-
|
|
158
|
-
View deployment history:
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
pnpm elevasis-sdk deployments
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
Shows: deployment ID, SDK version, status (active/deploying/failed/stopped), created timestamp.
|
|
165
|
-
|
|
166
|
-
### Credentials
|
|
167
|
-
|
|
168
|
-
Manage integration credentials (API keys, webhook secrets):
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
# List credentials (metadata only, secrets not exposed)
|
|
172
|
-
pnpm elevasis-sdk creds list
|
|
173
|
-
|
|
174
|
-
# Create a credential
|
|
175
|
-
pnpm elevasis-sdk creds create --name my-api-key --type api-key --value '{"apiKey":"sk-..."}'
|
|
176
|
-
|
|
177
|
-
# Update a credential value
|
|
178
|
-
pnpm elevasis-sdk creds update my-api-key --value '{"apiKey":"new-key"}'
|
|
179
|
-
|
|
180
|
-
# Rename a credential
|
|
181
|
-
pnpm elevasis-sdk creds rename old-name --to new-name
|
|
182
|
-
|
|
183
|
-
# Delete a credential
|
|
184
|
-
pnpm elevasis-sdk creds delete my-api-key --force
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
Credential names: lowercase, digits, hyphens only (`^[a-z0-9]+(-[a-z0-9]+)*$`). Types: `api-key`, `webhook-secret`.
|
|
188
|
-
|
|
189
|
-
### Rename Resource
|
|
190
|
-
|
|
191
|
-
Rename a resource ID across all platform tables:
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
# Dry run (preview only)
|
|
195
|
-
pnpm elevasis-sdk rename old-id --to new-id
|
|
196
|
-
|
|
197
|
-
# Apply rename
|
|
198
|
-
pnpm elevasis-sdk rename old-id --to new-id --execute
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
Always dry-run first to see affected tables and row counts.
|
|
202
|
-
|
|
203
|
-
### Error Resolution
|
|
204
|
-
|
|
205
|
-
Mark execution errors as resolved:
|
|
206
|
-
|
|
207
|
-
```bash
|
|
208
|
-
# Resolve a specific error
|
|
209
|
-
pnpm elevasis-sdk error resolve <errorId>
|
|
210
|
-
|
|
211
|
-
# Resolve all errors for an execution
|
|
212
|
-
pnpm elevasis-sdk error resolve-execution <executionId>
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
## Standard Workflow
|
|
216
|
-
|
|
217
|
-
```
|
|
218
|
-
1. Write/modify resources operations/src/
|
|
219
|
-
2. Type-check pnpm -C operations run check-types
|
|
220
|
-
3. Validate /elevasis check
|
|
221
|
-
4. Deploy /elevasis deploy --prod
|
|
222
|
-
5. Describe /elevasis describe <id>
|
|
223
|
-
6. Execute /elevasis exec <id> -f input.json
|
|
224
|
-
7. Inspect logs /elevasis logs <id>
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
## Debugging Checklist
|
|
228
|
-
|
|
229
|
-
When an execution fails:
|
|
230
|
-
|
|
231
|
-
1. **Get the execution ID** from the exec output or `executions <resourceId> --status failed`
|
|
232
|
-
2. **Read the logs**: `execution <resourceId> <executionId> --logs-only`
|
|
233
|
-
3. **Check the input**: `execution <resourceId> <executionId> --input`
|
|
234
|
-
4. **Check the error**: `execution <resourceId> <executionId> --result`
|
|
235
|
-
5. **Fix the handler**, redeploy, re-execute
|
|
1
|
+
---
|
|
2
|
+
name: elevasis
|
|
3
|
+
description: Elevasis platform operations -- check, deploy, execute, inspect, and debug SDK resources
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Elevasis Platform Operations
|
|
7
|
+
|
|
8
|
+
Manage SDK resources in the `operations/` workspace via the `elevasis-sdk` CLI.
|
|
9
|
+
|
|
10
|
+
**Usage:**
|
|
11
|
+
|
|
12
|
+
- `/elevasis` -- Show available operations
|
|
13
|
+
- `/elevasis check` -- Validate resource definitions
|
|
14
|
+
- `/elevasis deploy [--prod]` -- Deploy resources
|
|
15
|
+
- `/elevasis exec <resourceId> [--input '...']` -- Execute a resource
|
|
16
|
+
- `/elevasis describe <resourceId>` -- Show resource schema
|
|
17
|
+
- `/elevasis logs <resourceId>` -- View recent executions
|
|
18
|
+
- `/elevasis creds` -- Manage credentials
|
|
19
|
+
|
|
20
|
+
## Critical Rules
|
|
21
|
+
|
|
22
|
+
- **Always describe before exec** -- run `describe` first to see the exact input schema
|
|
23
|
+
- **Use `-f` for complex inputs** -- write JSON to a temp file to avoid shell escaping issues
|
|
24
|
+
- **Always `check` before `deploy`** -- catches schema and config errors early
|
|
25
|
+
|
|
26
|
+
## Environment
|
|
27
|
+
|
|
28
|
+
The CLI authenticates via `ELEVASIS_PLATFORM_KEY` in the root `.env` file. The CLI walks up directories to find `.env`, so it works from both the project root and `operations/`.
|
|
29
|
+
|
|
30
|
+
For dev vs prod targeting:
|
|
31
|
+
|
|
32
|
+
- Default: production (`https://api.elevasis.io`)
|
|
33
|
+
- `--prod` flag: explicitly targets production (overrides `NODE_ENV=development`)
|
|
34
|
+
- `ELEVASIS_API_URL` env var: override to any custom URL
|
|
35
|
+
|
|
36
|
+
## Operations
|
|
37
|
+
|
|
38
|
+
### Check
|
|
39
|
+
|
|
40
|
+
Validate all resource definitions (schemas, contracts, config):
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pnpm elevasis-sdk check
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Reports: resource count, validation errors, schema serialization warnings. Exit code 0 = pass.
|
|
47
|
+
|
|
48
|
+
### Deploy
|
|
49
|
+
|
|
50
|
+
Bundle and deploy resources to the Elevasis platform.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
pnpm elevasis-sdk deploy [--prod]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Replace `[--prod]` with `--prod` when targeting production.
|
|
57
|
+
|
|
58
|
+
**Version bumping flags** (written back to `src/index.ts`):
|
|
59
|
+
|
|
60
|
+
- `--major` -- bump major (1.0.0 to 2.0.0) for breaking contract changes
|
|
61
|
+
- `--minor` -- bump minor (1.0.0 to 1.1.0) for new features
|
|
62
|
+
- `--patch` -- bump patch (1.0.0 to 1.0.1) for fixes
|
|
63
|
+
|
|
64
|
+
Deploy replaces the previous active deployment. Resources become executable immediately.
|
|
65
|
+
|
|
66
|
+
### Describe
|
|
67
|
+
|
|
68
|
+
**Always run before executing.** Shows resource metadata, input/output schemas, and step chain:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
pnpm elevasis-sdk describe <resourceId>
|
|
72
|
+
|
|
73
|
+
# JSON output for programmatic use
|
|
74
|
+
pnpm elevasis-sdk describe <resourceId> --json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Output includes: type, name, version, status, domains, input schema (required/optional fields with types), output schema, step definitions with entry point and routing.
|
|
78
|
+
|
|
79
|
+
### Execute
|
|
80
|
+
|
|
81
|
+
Run a deployed resource. **Always `describe` first to see the input schema.**
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Simple input (inline JSON)
|
|
85
|
+
pnpm elevasis-sdk exec <resourceId> -i '{"key": "value"}'
|
|
86
|
+
|
|
87
|
+
# Complex input (temp file -- PREFERRED for non-trivial payloads)
|
|
88
|
+
# Write input to a temp file first, then reference it with -f
|
|
89
|
+
pnpm elevasis-sdk exec <resourceId> -f .tmp-input.json
|
|
90
|
+
|
|
91
|
+
# Async execution (for long-running workflows -- polls until complete)
|
|
92
|
+
pnpm elevasis-sdk exec <resourceId> -f .tmp-input.json --async
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**When to use `-f` (file input):**
|
|
96
|
+
|
|
97
|
+
- Input contains nested objects, arrays, or special characters
|
|
98
|
+
- Input has quotes that conflict with shell escaping
|
|
99
|
+
- Input is reused across multiple executions
|
|
100
|
+
- Any time inline `-i` causes parsing errors
|
|
101
|
+
|
|
102
|
+
**Temp file pattern:**
|
|
103
|
+
|
|
104
|
+
1. Write the JSON to a temp file inside the project (e.g., `operations/.tmp-input.json`)
|
|
105
|
+
2. Execute with `-f .tmp-input.json`
|
|
106
|
+
3. Delete the temp file after
|
|
107
|
+
|
|
108
|
+
**Sync vs async:**
|
|
109
|
+
|
|
110
|
+
- Sync (default): blocks until execution completes, shows result inline
|
|
111
|
+
- Async (`--async`): returns execution ID immediately, polls every 3s with elapsed timer
|
|
112
|
+
- Use `--async` for workflows that may exceed 30 seconds
|
|
113
|
+
|
|
114
|
+
**Connection failure recovery:** If the connection drops during sync execution, the CLI automatically searches recent executions for a running one and resumes polling.
|
|
115
|
+
|
|
116
|
+
### List Resources
|
|
117
|
+
|
|
118
|
+
View all deployed resources:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pnpm elevasis-sdk resources
|
|
122
|
+
|
|
123
|
+
# JSON output
|
|
124
|
+
pnpm elevasis-sdk resources --json
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Shows: resource ID, type (workflow/agent), name, description, status.
|
|
128
|
+
|
|
129
|
+
### Execution History
|
|
130
|
+
|
|
131
|
+
View past executions for a resource:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# List recent executions (default: last 50)
|
|
135
|
+
pnpm elevasis-sdk executions <resourceId>
|
|
136
|
+
|
|
137
|
+
# Filter by status
|
|
138
|
+
pnpm elevasis-sdk executions <resourceId> --status failed --limit 10
|
|
139
|
+
|
|
140
|
+
# View specific execution (full detail with logs)
|
|
141
|
+
pnpm elevasis-sdk execution <resourceId> <executionId>
|
|
142
|
+
|
|
143
|
+
# Logs only (skip metadata)
|
|
144
|
+
pnpm elevasis-sdk execution <resourceId> <executionId> --logs-only
|
|
145
|
+
|
|
146
|
+
# Include input and result data
|
|
147
|
+
pnpm elevasis-sdk execution <resourceId> <executionId> --input --result
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**`executions` flags:** `--limit <n>` (default 50), `--status running|completed|failed`, `--json`
|
|
151
|
+
|
|
152
|
+
**`execution` flags:** `--logs-only`, `--input`, `--result`, `--json`
|
|
153
|
+
|
|
154
|
+
Execution detail shows: status, start/end times, duration, input, result, error (if failed), and timestamped logs with level (ERROR/WARN/INFO/DEBUG).
|
|
155
|
+
|
|
156
|
+
### Deployments
|
|
157
|
+
|
|
158
|
+
View deployment history:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
pnpm elevasis-sdk deployments
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Shows: deployment ID, SDK version, status (active/deploying/failed/stopped), created timestamp.
|
|
165
|
+
|
|
166
|
+
### Credentials
|
|
167
|
+
|
|
168
|
+
Manage integration credentials (API keys, webhook secrets):
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# List credentials (metadata only, secrets not exposed)
|
|
172
|
+
pnpm elevasis-sdk creds list
|
|
173
|
+
|
|
174
|
+
# Create a credential
|
|
175
|
+
pnpm elevasis-sdk creds create --name my-api-key --type api-key --value '{"apiKey":"sk-..."}'
|
|
176
|
+
|
|
177
|
+
# Update a credential value
|
|
178
|
+
pnpm elevasis-sdk creds update my-api-key --value '{"apiKey":"new-key"}'
|
|
179
|
+
|
|
180
|
+
# Rename a credential
|
|
181
|
+
pnpm elevasis-sdk creds rename old-name --to new-name
|
|
182
|
+
|
|
183
|
+
# Delete a credential
|
|
184
|
+
pnpm elevasis-sdk creds delete my-api-key --force
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Credential names: lowercase, digits, hyphens only (`^[a-z0-9]+(-[a-z0-9]+)*$`). Types: `api-key`, `webhook-secret`.
|
|
188
|
+
|
|
189
|
+
### Rename Resource
|
|
190
|
+
|
|
191
|
+
Rename a resource ID across all platform tables:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Dry run (preview only)
|
|
195
|
+
pnpm elevasis-sdk rename old-id --to new-id
|
|
196
|
+
|
|
197
|
+
# Apply rename
|
|
198
|
+
pnpm elevasis-sdk rename old-id --to new-id --execute
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Always dry-run first to see affected tables and row counts.
|
|
202
|
+
|
|
203
|
+
### Error Resolution
|
|
204
|
+
|
|
205
|
+
Mark execution errors as resolved:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# Resolve a specific error
|
|
209
|
+
pnpm elevasis-sdk error resolve <errorId>
|
|
210
|
+
|
|
211
|
+
# Resolve all errors for an execution
|
|
212
|
+
pnpm elevasis-sdk error resolve-execution <executionId>
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Standard Workflow
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
1. Write/modify resources operations/src/
|
|
219
|
+
2. Type-check pnpm -C operations run check-types
|
|
220
|
+
3. Validate /elevasis check
|
|
221
|
+
4. Deploy /elevasis deploy --prod
|
|
222
|
+
5. Describe /elevasis describe <id>
|
|
223
|
+
6. Execute /elevasis exec <id> -f input.json
|
|
224
|
+
7. Inspect logs /elevasis logs <id>
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Debugging Checklist
|
|
228
|
+
|
|
229
|
+
When an execution fails:
|
|
230
|
+
|
|
231
|
+
1. **Get the execution ID** from the exec output or `executions <resourceId> --status failed`
|
|
232
|
+
2. **Read the logs**: `execution <resourceId> <executionId> --logs-only`
|
|
233
|
+
3. **Check the input**: `execution <resourceId> <executionId> --input`
|
|
234
|
+
4. **Check the error**: `execution <resourceId> <executionId> --result`
|
|
235
|
+
5. **Fix the handler**, redeploy, re-execute
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Capability Surface
|
|
240
|
+
|
|
241
|
+
When a user asks what skills or commands are available, do NOT answer from recollection.
|
|
242
|
+
|
|
243
|
+
- **Skill inventory:** Read `.claude/Overview.md` — it is the authoritative list of skills available in this project.
|
|
244
|
+
- **Live CLI capability:** Run `pnpm elevasis-sdk cli` — it outputs every command and domain currently registered in the SDK, grouped by domain.
|
|
@@ -55,7 +55,6 @@ metadata:
|
|
|
55
55
|
- show me all reference docs
|
|
56
56
|
- where does
|
|
57
57
|
- apply
|
|
58
|
-
context: fork
|
|
59
58
|
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
60
59
|
---
|
|
61
60
|
|
|
@@ -227,6 +226,58 @@ follow the relationship that matches the work. Prefer structured helpers from
|
|
|
227
226
|
|
|
228
227
|
---
|
|
229
228
|
|
|
229
|
+
## System Taxonomy and Resource Placement
|
|
230
|
+
|
|
231
|
+
Use Systems for durable organizational capability boundaries, not implementation categories.
|
|
232
|
+
|
|
233
|
+
A System is appropriate only when it owns at least one of:
|
|
234
|
+
|
|
235
|
+
- Business or platform capability semantics
|
|
236
|
+
- System-local ontology/config
|
|
237
|
+
- Accountable roles or governance
|
|
238
|
+
- Resources that operate that capability
|
|
239
|
+
- Knowledge or policies that govern that capability
|
|
240
|
+
|
|
241
|
+
Do not create Systems for:
|
|
242
|
+
|
|
243
|
+
- Resource kinds such as `workflows`, `agents`, `scripts`, or `triggers`
|
|
244
|
+
- Shell or navigation groups such as `operations`, `monitoring`, `settings`, or `knowledge`
|
|
245
|
+
- Catch-all buckets such as `automation`, `misc`, `runtime`, or `tools`
|
|
246
|
+
- Individual UI pages or logs such as `command queue`, `task scheduler`, or `execution logs`
|
|
247
|
+
- One-off implementations that should be Resources
|
|
248
|
+
|
|
249
|
+
Resources still require `systemPath`. Choose the System by the capability the Resource supports,
|
|
250
|
+
not by its implementation type.
|
|
251
|
+
|
|
252
|
+
Placement examples:
|
|
253
|
+
|
|
254
|
+
- Scaffold/runtime smoke test `echo` -> `platform.diagnostics`
|
|
255
|
+
- Shared notification workflow -> `platform.notifications`
|
|
256
|
+
- Lead-gen workflow -> `sales.lead-gen`
|
|
257
|
+
- CRM or deal workflow -> `sales.crm`
|
|
258
|
+
- Project status workflow -> `projects`
|
|
259
|
+
- External integration credential/sync resource -> the business or platform System it serves, not
|
|
260
|
+
`integrations` unless an actual integration-platform subsystem exists
|
|
261
|
+
|
|
262
|
+
Before adding a System:
|
|
263
|
+
|
|
264
|
+
1. Run `pnpm exec elevasis-sdk om:ls /all-systems`.
|
|
265
|
+
2. Run `pnpm exec elevasis-sdk om:describe <candidate-parent-or-owner>`.
|
|
266
|
+
3. If the proposed System name is a resource kind, shell group, or catch-all, do not create it;
|
|
267
|
+
attach or create a Resource under the real owning System.
|
|
268
|
+
4. Create a new System only when no existing System owns the capability and the new System has
|
|
269
|
+
durable ontology/config/governance meaning.
|
|
270
|
+
|
|
271
|
+
Current template placement convention:
|
|
272
|
+
|
|
273
|
+
- Platform cross-cutting subsystems live under `platform.*`.
|
|
274
|
+
- `platform.diagnostics` owns scaffold diagnostic resources.
|
|
275
|
+
- `platform.notifications` owns notification delivery.
|
|
276
|
+
- Tenant business workflows belong to the business System they operate, such as `sales.lead-gen`
|
|
277
|
+
or `projects`.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
230
281
|
## API Interface Readiness
|
|
231
282
|
|
|
232
283
|
`system.apiInterface` is adopt-only in tenant projects. It declares intent to adopt a platform-provided API capability from the installed `@elevasis/core` / `@elevasis/sdk` version; it is not a tenant extension point.
|
|
@@ -256,14 +307,14 @@ Use it to emit a short domain layering preview before the normal read, describe,
|
|
|
256
307
|
ordering, and entity ownership.
|
|
257
308
|
2. **Runtime state:** where record progress is stored as sparse state keyed by those catalog
|
|
258
309
|
members.
|
|
259
|
-
3. **Producers:** which
|
|
260
|
-
keys.
|
|
310
|
+
3. **Producers:** which workflow resources, templates, or factories write entity-tagged results
|
|
311
|
+
for those keys.
|
|
261
312
|
4. **Consumers:** which dashboards, queues, reports, filters, or API reads render or aggregate the
|
|
262
313
|
same keys.
|
|
263
314
|
|
|
264
315
|
For vibe-coder sessions, translate this into plain language: "business profile", "saved progress",
|
|
265
|
-
"
|
|
266
|
-
catalog, state map, producer, and consumer surfaces directly.
|
|
316
|
+
"workflow resources", and "dashboard or reports". For technical sessions, it is acceptable to name
|
|
317
|
+
the catalog, state map, producer, and consumer surfaces directly.
|
|
267
318
|
|
|
268
319
|
---
|
|
269
320
|
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# Features Compatibility Notes
|
|
2
2
|
|
|
3
3
|
`features` is legacy organization-model wording. Current Organization OS vocabulary is
|
|
4
|
-
System/Action oriented:
|
|
4
|
+
System/Resource/Action oriented:
|
|
5
5
|
|
|
6
|
-
- **Systems** describe
|
|
7
|
-
mounts.
|
|
6
|
+
- **Systems** describe durable capability ownership, ontology/config, accountability, governance,
|
|
7
|
+
and knowledge mounts. They are not sidebar groups.
|
|
8
|
+
- **Resources** describe executable artifacts such as workflows, agents, scripts, and triggers;
|
|
9
|
+
each Resource attaches to a real System through `systemPath`.
|
|
8
10
|
- **Actions** describe invokable operations such as workflows, agents, commands, and UI-triggered
|
|
9
11
|
tasks.
|
|
10
12
|
|
|
@@ -12,13 +14,17 @@ Use this file only when older prompts, browser copy text, SDK references, or sca
|
|
|
12
14
|
say "feature". For current tenant organization-model work, route the user to Systems and Actions
|
|
13
15
|
wording and use `/by-system/<id>` knowledge paths.
|
|
14
16
|
|
|
17
|
+
Do not translate "feature" into a catch-all System. Route to Systems only when the user means a
|
|
18
|
+
durable capability boundary; route workflow, agent, script, trigger, or implementation asks to
|
|
19
|
+
Resources under the System that owns the actual business or platform capability.
|
|
20
|
+
|
|
15
21
|
## Compatibility Mapping
|
|
16
22
|
|
|
17
23
|
| Legacy wording | Current wording |
|
|
18
24
|
| ------------------------------------------------------------------------------------- | ----------------------------------------------- |
|
|
19
25
|
| Feature toggle | System availability or routing toggle |
|
|
20
26
|
| Feature ID | System ID when discussing Organization OS |
|
|
21
|
-
| Add a custom feature | Add or extend a System, then define
|
|
27
|
+
| Add a custom feature | Add or extend a capability System, then define Resources and Actions it owns |
|
|
22
28
|
| Feature governs X | System governs X |
|
|
23
29
|
| `/om read-folder feature:x` (legacy `/knowledge read-folder feature:x` also accepted) | `/om read-folder system:x` |
|
|
24
30
|
| `/by-feature/x` | `/by-system/x` |
|
|
@@ -50,7 +56,8 @@ means adding a project-owned extension under `core/config/extensions/` and wirin
|
|
|
50
56
|
organization model.
|
|
51
57
|
|
|
52
58
|
Older references may call this "adding a custom feature"; translate it to "add or extend a
|
|
53
|
-
System and define
|
|
59
|
+
capability System and define the Resources and Actions it owns" before invoking
|
|
60
|
+
`operations/codify-level-b.md`.
|
|
54
61
|
|
|
55
62
|
## UI Package Exception
|
|
56
63
|
|
|
@@ -61,6 +61,16 @@ Before scaffolding, run a single `om:describe` against the parent System (for Re
|
|
|
61
61
|
pnpm exec elevasis-sdk om:describe sales.crm
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
### Resource placement decision
|
|
65
|
+
|
|
66
|
+
For `om:scaffold:resource`, never choose `systemPath` because the new Resource is a workflow,
|
|
67
|
+
agent, script, or trigger. Those are Resource kinds, not Systems. Pick the existing System that
|
|
68
|
+
owns the business or platform capability the Resource operates.
|
|
69
|
+
|
|
70
|
+
If no existing System owns that capability, first propose a real capability System. Do not create
|
|
71
|
+
`automation`, `workflows`, `operations`, `monitoring`, `settings`, or similarly broad bucket
|
|
72
|
+
Systems to make the Resource fit.
|
|
73
|
+
|
|
64
74
|
### Step 2: Dry-run
|
|
65
75
|
|
|
66
76
|
Always preview first. Each command prints the exact TypeScript / MDX block it would write.
|
|
@@ -273,3 +273,12 @@ Running `/setup` more than once is safe:
|
|
|
273
273
|
5. Hands off to `/om` for full org-model configuration
|
|
274
274
|
|
|
275
275
|
`/om` owns all other structural org-model editing (identity fields beyond clientBrief, customers, offerings, roles, goals, techStack, systems, actions, labels, and legacy feature compatibility). It is idempotent, confirm-before-overwrite, and includes a runtime validation gate. Re-run `/om` any time organizational reality changes — no need to re-run `/setup`.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Capability Surface
|
|
280
|
+
|
|
281
|
+
When a user asks what skills or commands are available, do NOT answer from recollection.
|
|
282
|
+
|
|
283
|
+
- **Skill inventory:** Read `.claude/Overview.md` — it is the authoritative list of skills available in this project.
|
|
284
|
+
- **Live CLI capability:** Run `pnpm elevasis-sdk cli` — it outputs every command and domain currently registered in the SDK, grouped by domain.
|