@elevasis/sdk 1.20.2 → 1.22.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 +4220 -1583
- package/dist/index.d.ts +1035 -481
- package/dist/index.js +7381 -4187
- package/dist/node/index.d.ts +1 -3
- package/dist/node/index.js +40 -49
- package/dist/test-utils/index.d.ts +699 -123
- package/dist/test-utils/index.js +3826 -630
- package/dist/worker/index.js +3616 -442
- package/package.json +3 -3
- package/reference/_navigation.md +9 -7
- package/reference/_reference-manifest.json +1 -1
- package/reference/claude-config/hooks/post-edit-validate.mjs +98 -98
- package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +188 -188
- package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -73
- package/reference/claude-config/registries/graph-skills.json +4 -4
- package/reference/claude-config/registries/knowledge-flags.json +0 -2
- package/reference/claude-config/rules/active-change-index.md +80 -80
- package/reference/claude-config/rules/agent-start-here.md +277 -273
- package/reference/claude-config/rules/deployment.md +57 -57
- package/reference/claude-config/rules/error-handling.md +56 -56
- package/reference/claude-config/rules/execution.md +40 -40
- package/reference/claude-config/rules/frontend.md +4 -4
- package/reference/claude-config/rules/observability.md +31 -31
- package/reference/claude-config/rules/operations.md +29 -17
- package/reference/claude-config/rules/organization-model.md +108 -40
- package/reference/claude-config/rules/organization-os.md +115 -113
- package/reference/claude-config/rules/package-taxonomy.md +33 -33
- package/reference/claude-config/rules/platform.md +42 -42
- package/reference/claude-config/rules/shared-types.md +49 -46
- package/reference/claude-config/rules/task-tracking.md +47 -47
- package/reference/claude-config/rules/ui.md +200 -200
- package/reference/claude-config/rules/vibe.md +235 -231
- package/reference/claude-config/scripts/statusline-command.js +18 -18
- package/reference/claude-config/settings.json +34 -34
- package/reference/claude-config/skills/deploy/{SKILL.md → skill.md} +156 -156
- package/reference/claude-config/skills/dsp/SKILL.md +66 -66
- package/reference/claude-config/skills/elevasis/SKILL.md +235 -235
- package/reference/claude-config/skills/explore/SKILL.md +6 -6
- package/reference/claude-config/skills/git-sync/SKILL.md +126 -126
- package/reference/claude-config/skills/knowledge/SKILL.md +330 -271
- package/reference/claude-config/skills/knowledge/operations/codify-level-a.md +100 -100
- package/reference/claude-config/skills/knowledge/operations/codify-level-b.md +159 -158
- package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
- package/reference/claude-config/skills/knowledge/operations/features.md +76 -113
- package/reference/claude-config/skills/knowledge/operations/goals.md +118 -118
- package/reference/claude-config/skills/knowledge/operations/identity.md +93 -93
- package/reference/claude-config/skills/knowledge/operations/labels.md +94 -89
- package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -109
- package/reference/claude-config/skills/knowledge/operations/roles.md +99 -99
- package/reference/claude-config/skills/knowledge/operations/techStack.md +30 -30
- package/reference/claude-config/skills/project/SKILL.md +1088 -1088
- package/reference/claude-config/skills/run-ui/SKILL.md +73 -73
- package/reference/claude-config/skills/save/SKILL.md +3 -3
- package/reference/claude-config/skills/setup/SKILL.md +275 -275
- package/reference/claude-config/skills/status/SKILL.md +59 -59
- package/reference/claude-config/skills/submit-request/SKILL.md +180 -180
- package/reference/claude-config/skills/sync/SKILL.md +47 -47
- package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
- package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
- package/reference/claude-config/skills/tutorial/technical.md +1303 -1306
- package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
- package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +27 -27
- package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +30 -30
- package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +73 -73
- package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +86 -86
- package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -55
- package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +97 -97
- package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +112 -112
- package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +93 -93
- package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +58 -58
- package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +56 -56
- package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -71
- package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
- package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -59
- package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -42
- package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -60
- package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -37
- package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +34 -34
- package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +38 -38
- package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +32 -32
- package/reference/claude-config/sync-notes/2026-05-09-command-system.md +33 -33
- package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +69 -69
- package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +30 -0
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +42 -0
- package/reference/claude-config/sync-notes/README.md +43 -43
- package/reference/cli.mdx +808 -668
- package/reference/concepts.mdx +146 -146
- package/reference/deployment/api.mdx +297 -297
- package/reference/deployment/command-center.mdx +209 -209
- package/reference/deployment/index.mdx +195 -195
- package/reference/deployment/provided-features.mdx +107 -93
- package/reference/deployment/ui-execution.mdx +250 -250
- package/reference/examples/organization-model.ts +147 -84
- package/reference/framework/agent.mdx +156 -156
- package/reference/framework/index.mdx +195 -195
- package/reference/framework/interaction-guidance.mdx +182 -182
- package/reference/framework/memory.mdx +326 -326
- package/reference/framework/project-structure.mdx +282 -282
- package/reference/framework/tutorial-system.mdx +135 -135
- package/reference/getting-started.mdx +142 -142
- package/reference/index.mdx +106 -106
- package/reference/packages/core/src/README.md +14 -14
- package/reference/packages/core/src/business/README.md +2 -2
- package/reference/packages/core/src/knowledge/README.md +33 -32
- package/reference/packages/core/src/organization-model/README.md +149 -109
- package/reference/packages/core/src/test-utils/README.md +37 -37
- package/reference/packages/ui/src/api/README.md +18 -18
- package/reference/packages/ui/src/app/README.md +24 -24
- package/reference/packages/ui/src/auth/README.md +18 -18
- package/reference/packages/ui/src/components/README.md +24 -24
- package/reference/packages/ui/src/execution/README.md +16 -16
- package/reference/packages/ui/src/features/README.md +28 -28
- package/reference/packages/ui/src/graph/README.md +16 -16
- package/reference/packages/ui/src/hooks/README.md +23 -23
- package/reference/packages/ui/src/initialization/README.md +19 -19
- package/reference/packages/ui/src/knowledge/README.md +31 -31
- package/reference/packages/ui/src/organization/README.md +18 -18
- package/reference/packages/ui/src/profile/README.md +19 -19
- package/reference/packages/ui/src/provider/README.md +32 -32
- package/reference/packages/ui/src/router/README.md +18 -18
- package/reference/packages/ui/src/sse/README.md +13 -13
- package/reference/packages/ui/src/test-utils/README.md +7 -7
- package/reference/packages/ui/src/theme/README.md +23 -23
- package/reference/packages/ui/src/theme/presets/README.md +19 -19
- package/reference/packages/ui/src/types/README.md +16 -16
- package/reference/packages/ui/src/utils/README.md +18 -18
- package/reference/packages/ui/src/zustand/README.md +18 -18
- package/reference/platform-tools/adapters-integration.mdx +301 -301
- package/reference/platform-tools/adapters-platform.mdx +553 -553
- package/reference/platform-tools/index.mdx +217 -217
- package/reference/platform-tools/type-safety.mdx +82 -82
- package/reference/resources/index.mdx +349 -349
- package/reference/resources/patterns.mdx +449 -449
- package/reference/resources/types.mdx +116 -116
- package/reference/roadmap.mdx +165 -165
- package/reference/runtime.mdx +173 -173
- package/reference/scaffold/core/organization-graph.mdx +110 -89
- package/reference/scaffold/core/organization-model.mdx +226 -171
- package/reference/scaffold/index.mdx +67 -67
- package/reference/scaffold/operations/propagation-pipeline.md +77 -77
- package/reference/scaffold/operations/scaffold-maintenance.md +10 -10
- package/reference/scaffold/operations/workflow-recipes.md +138 -138
- package/reference/scaffold/recipes/add-a-feature.md +310 -88
- package/reference/scaffold/recipes/add-a-resource.md +137 -117
- package/reference/scaffold/recipes/customize-crm-actions.md +439 -439
- package/reference/scaffold/recipes/customize-knowledge-browser.md +384 -0
- package/reference/scaffold/recipes/customize-organization-model.md +281 -118
- package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
- package/reference/scaffold/recipes/extend-crm.md +40 -39
- package/reference/scaffold/recipes/extend-lead-gen.md +400 -401
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -114
- package/reference/scaffold/recipes/index.md +47 -46
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +227 -0
- package/reference/scaffold/reference/contracts.md +2389 -2121
- package/reference/scaffold/reference/feature-registry.md +9 -20
- package/reference/scaffold/reference/glossary.md +76 -76
- package/reference/scaffold/ui/composition-extensibility.mdx +233 -233
- package/reference/scaffold/ui/customization.md +243 -243
- package/reference/scaffold/ui/feature-flags-and-gating.md +46 -46
- package/reference/scaffold/ui/feature-shell.mdx +72 -72
- package/reference/scaffold/ui/recipes.md +221 -213
- package/reference/spine/spine-primer.md +96 -96
- package/reference/templates/index.mdx +47 -47
- package/reference/troubleshooting.mdx +223 -223
package/reference/index.mdx
CHANGED
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Elevasis SDK
|
|
3
|
-
description: Build and deploy workflows, agents, and resources with the Elevasis SDK
|
|
4
|
-
loadWhen: "First session or new to the SDK"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
`@elevasis/sdk` lets you build workflows, agents, and resources in TypeScript and deploy them to the Elevasis platform with a single command. The developer experience is Vercel-style: write TypeScript, validate locally, deploy -- the platform handles execution, tool access, and observability. You never manage infrastructure. Zod 4.1 is the only peer dependency.
|
|
8
|
-
|
|
9
|
-
Workflows are step-based automations with typed inputs and outputs. Agents are autonomous AI resources with access to platform tools. Both are defined in TypeScript, exported from a single entry point, and deployed with `elevasis-sdk deploy`. Resources appear in AI Studio immediately after a successful deploy.
|
|
10
|
-
|
|
11
|
-
The SDK ships with a full CLI (`elevasis-sdk`) for validation, deployment, execution, inspection, and project-management operations. Platform tools expose 70+ tools across integration adapters and platform services -- Gmail, Stripe, Google Sheets, Attio, and more -- with credentials managed server-side so API keys never cross the execution boundary.
|
|
12
|
-
|
|
13
|
-
## Quick Start
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
pnpm dlx @elevasis/sdk init my-project
|
|
17
|
-
cd my-project
|
|
18
|
-
pnpm install
|
|
19
|
-
elevasis-sdk deploy
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
After `pnpm dlx @elevasis/sdk init`, your project is scaffolded with a working echo workflow, config file, TypeScript setup, and a `CLAUDE.md` that gives Claude Code full awareness of the SDK.
|
|
23
|
-
|
|
24
|
-
## What You Can Build
|
|
25
|
-
|
|
26
|
-
- **Workflows** -- Step-based automation with typed inputs and outputs. Steps can be linear, conditional, or branching. Each step is a plain async function. See [Resources](resources/index.mdx) for the complete definition API.
|
|
27
|
-
- **Agents** -- Autonomous AI resources with access to platform tools. Agents run in the worker runtime with full LLM access and platform tool support. Use `--async` when executing agents to avoid HTTP timeout limits on long-running runs.
|
|
28
|
-
- **Feature-driven apps** -- The published `@elevasis/ui` surface includes manifest-backed shared features for Lead Gen, CRM, Projects, Operations, Monitoring, Settings, and SEO, plus dashboard-oriented compatibility components for host-owned shells. See [Provided Features](deployment/provided-features.mdx).
|
|
29
|
-
|
|
30
|
-
## Platform Tools
|
|
31
|
-
|
|
32
|
-
Inside any workflow step or agent, import from `@elevasis/sdk/worker` to call platform tools via typed adapters:
|
|
33
|
-
|
|
34
|
-
```typescript
|
|
35
|
-
import { createAttioAdapter, scheduler, llm } from '@elevasis/sdk/worker'
|
|
36
|
-
|
|
37
|
-
const attio = createAttioAdapter('my-attio')
|
|
38
|
-
const records = await attio.listRecords({ object: 'deals' })
|
|
39
|
-
|
|
40
|
-
await scheduler.createSchedule({ ... })
|
|
41
|
-
const result = await llm.generate({ messages: [...] })
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
The platform exposes 70+ tools across integration adapters and platform services -- Gmail, Stripe, Google Sheets, Attio, and more. Credentials are managed server-side; API keys never cross the execution boundary.
|
|
45
|
-
|
|
46
|
-
See [Platform Tools](platform-tools/index.mdx) for the full catalog.
|
|
47
|
-
|
|
48
|
-
## Known Limitations
|
|
49
|
-
|
|
50
|
-
- **No streaming logs** -- Execution logs are returned in the response body after completion. Real-time log streaming is not available.
|
|
51
|
-
- **Agent HTTP timeouts** -- Use `elevasis-sdk exec --async` for agent executions. Agents can run for minutes; the synchronous endpoint will time out for long-running runs. The `--async` flag returns an execution ID immediately and polls for the result.
|
|
52
|
-
|
|
53
|
-
## Documentation
|
|
54
|
-
|
|
55
|
-
### Getting Started
|
|
56
|
-
|
|
57
|
-
- [Getting Started](getting-started.mdx) - Installation, authentication, first workflow, and project structure
|
|
58
|
-
|
|
59
|
-
### Core Concepts
|
|
60
|
-
|
|
61
|
-
- [Resources](resources/index.mdx) - Workflow and agent definition patterns, Zod schemas, step types, and routing
|
|
62
|
-
- [Platform Tools](platform-tools/index.mdx) - Full catalog of 70+ tools, integration adapters, and credential management
|
|
63
|
-
- [Credential Security](platform-tools/index.mdx#credential-security) - Three-layer credential model, HTTP tool patterns, and credential management
|
|
64
|
-
|
|
65
|
-
### Reference
|
|
66
|
-
|
|
67
|
-
- [Concepts](concepts.mdx) - Plain-English concept explanations, glossary, Zod guide, execution model, and common errors
|
|
68
|
-
- [Templates](templates/index.mdx) - 7 workflow templates: web-scraper, data-enrichment, email-sender, lead-scorer, and more
|
|
69
|
-
- [CLI Reference](cli.mdx) - All CLI commands: check, deploy, exec, resources, executions, env, `project:*`, and more
|
|
70
|
-
- [Deployment](deployment/index.mdx) - Deploy pipeline, versioning, bundle upload, and registry registration
|
|
71
|
-
- [Runtime](runtime.mdx) - Worker execution model, concurrency, timeouts, cancellation, resource limits, and v1 limitations
|
|
72
|
-
|
|
73
|
-
### Typed Adapters
|
|
74
|
-
|
|
75
|
-
- [Integration Adapters](platform-tools/adapters-integration.mdx) - Integration adapter catalog for Attio, Stripe, Google Sheets, Resend, and more
|
|
76
|
-
- [Platform Adapters](platform-tools/adapters-platform.mdx) - All 9 platform service adapters: scheduler, storage, llm, pdf, approval, and more
|
|
77
|
-
|
|
78
|
-
### Framework
|
|
79
|
-
|
|
80
|
-
- [Development Framework](framework/index.mdx) - How Claude Code helps you build: project structure, agent integration, memory, and documentation
|
|
81
|
-
- [Project Structure](framework/project-structure.mdx) - Scaffolded file layout, domain barrels, src/index.ts entry point, and config files
|
|
82
|
-
- [Agent Configuration](framework/agent.mdx) - Agent capabilities, tool access, model config, and Claude Code integration patterns
|
|
83
|
-
- [Memory](framework/memory.mdx) - Agent memory system, session state, developer profiles, and workspace conventions
|
|
84
|
-
- [Interaction Guidance](framework/interaction-guidance.mdx) - Skill dimension adaptation rules for platform navigation, API integration, and automation concepts
|
|
85
|
-
- [Tutorial System](framework/tutorial-system.mdx) - 21-item tutorial menu, skill-adaptive lesson variants, progress tracking, and module contents
|
|
86
|
-
|
|
87
|
-
### Resources Subpages
|
|
88
|
-
|
|
89
|
-
- [SDK Types](resources/types.mdx) - Complete type reference for `@elevasis/sdk` exports, config fields, and step handler context
|
|
90
|
-
- [Common Patterns](resources/patterns.mdx) - Sequential steps, conditional branching, error handling, and resource status patterns
|
|
91
|
-
|
|
92
|
-
### Deployment Subpages
|
|
93
|
-
|
|
94
|
-
- [Command Center](deployment/command-center.mdx) - Resource graph, relationships, node types, and post-deployment UI reference
|
|
95
|
-
- [Provided Features](deployment/provided-features.mdx) - Manifest-backed shared features, compatibility components, and host shell wiring
|
|
96
|
-
- [Execution API](deployment/api.mdx) - REST endpoints for executing resources and managing deployments
|
|
97
|
-
- [UI Execution](deployment/ui-execution.mdx) - Custom React execution dialogs, forms, and hooks built with `@elevasis/ui`
|
|
98
|
-
|
|
99
|
-
### More
|
|
100
|
-
|
|
101
|
-
- [Troubleshooting](troubleshooting.mdx) - Static error catalog for CLI, deployment, schema, and runtime failures
|
|
102
|
-
- [Roadmap](roadmap.mdx) - Planned features including error taxonomy, retry semantics, circuit breaker, and metrics
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
**Last Updated:** 2026-04-23
|
|
1
|
+
---
|
|
2
|
+
title: Elevasis SDK
|
|
3
|
+
description: Build and deploy workflows, agents, and resources with the Elevasis SDK
|
|
4
|
+
loadWhen: "First session or new to the SDK"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
`@elevasis/sdk` lets you build workflows, agents, and resources in TypeScript and deploy them to the Elevasis platform with a single command. The developer experience is Vercel-style: write TypeScript, validate locally, deploy -- the platform handles execution, tool access, and observability. You never manage infrastructure. Zod 4.1 is the only peer dependency.
|
|
8
|
+
|
|
9
|
+
Workflows are step-based automations with typed inputs and outputs. Agents are autonomous AI resources with access to platform tools. Both are defined in TypeScript, exported from a single entry point, and deployed with `elevasis-sdk deploy`. Resources appear in AI Studio immediately after a successful deploy.
|
|
10
|
+
|
|
11
|
+
The SDK ships with a full CLI (`elevasis-sdk`) for validation, deployment, execution, inspection, and project-management operations. Platform tools expose 70+ tools across integration adapters and platform services -- Gmail, Stripe, Google Sheets, Attio, and more -- with credentials managed server-side so API keys never cross the execution boundary.
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm dlx @elevasis/sdk init my-project
|
|
17
|
+
cd my-project
|
|
18
|
+
pnpm install
|
|
19
|
+
elevasis-sdk deploy
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
After `pnpm dlx @elevasis/sdk init`, your project is scaffolded with a working echo workflow, config file, TypeScript setup, and a `CLAUDE.md` that gives Claude Code full awareness of the SDK.
|
|
23
|
+
|
|
24
|
+
## What You Can Build
|
|
25
|
+
|
|
26
|
+
- **Workflows** -- Step-based automation with typed inputs and outputs. Steps can be linear, conditional, or branching. Each step is a plain async function. See [Resources](resources/index.mdx) for the complete definition API.
|
|
27
|
+
- **Agents** -- Autonomous AI resources with access to platform tools. Agents run in the worker runtime with full LLM access and platform tool support. Use `--async` when executing agents to avoid HTTP timeout limits on long-running runs.
|
|
28
|
+
- **Feature-driven apps** -- The published `@elevasis/ui` surface includes manifest-backed shared features for Lead Gen, CRM, Projects, Operations, Monitoring, Settings, and SEO, plus dashboard-oriented compatibility components for host-owned shells. See [Provided Features](deployment/provided-features.mdx).
|
|
29
|
+
|
|
30
|
+
## Platform Tools
|
|
31
|
+
|
|
32
|
+
Inside any workflow step or agent, import from `@elevasis/sdk/worker` to call platform tools via typed adapters:
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
import { createAttioAdapter, scheduler, llm } from '@elevasis/sdk/worker'
|
|
36
|
+
|
|
37
|
+
const attio = createAttioAdapter('my-attio')
|
|
38
|
+
const records = await attio.listRecords({ object: 'deals' })
|
|
39
|
+
|
|
40
|
+
await scheduler.createSchedule({ ... })
|
|
41
|
+
const result = await llm.generate({ messages: [...] })
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The platform exposes 70+ tools across integration adapters and platform services -- Gmail, Stripe, Google Sheets, Attio, and more. Credentials are managed server-side; API keys never cross the execution boundary.
|
|
45
|
+
|
|
46
|
+
See [Platform Tools](platform-tools/index.mdx) for the full catalog.
|
|
47
|
+
|
|
48
|
+
## Known Limitations
|
|
49
|
+
|
|
50
|
+
- **No streaming logs** -- Execution logs are returned in the response body after completion. Real-time log streaming is not available.
|
|
51
|
+
- **Agent HTTP timeouts** -- Use `elevasis-sdk exec --async` for agent executions. Agents can run for minutes; the synchronous endpoint will time out for long-running runs. The `--async` flag returns an execution ID immediately and polls for the result.
|
|
52
|
+
|
|
53
|
+
## Documentation
|
|
54
|
+
|
|
55
|
+
### Getting Started
|
|
56
|
+
|
|
57
|
+
- [Getting Started](getting-started.mdx) - Installation, authentication, first workflow, and project structure
|
|
58
|
+
|
|
59
|
+
### Core Concepts
|
|
60
|
+
|
|
61
|
+
- [Resources](resources/index.mdx) - Workflow and agent definition patterns, Zod schemas, step types, and routing
|
|
62
|
+
- [Platform Tools](platform-tools/index.mdx) - Full catalog of 70+ tools, integration adapters, and credential management
|
|
63
|
+
- [Credential Security](platform-tools/index.mdx#credential-security) - Three-layer credential model, HTTP tool patterns, and credential management
|
|
64
|
+
|
|
65
|
+
### Reference
|
|
66
|
+
|
|
67
|
+
- [Concepts](concepts.mdx) - Plain-English concept explanations, glossary, Zod guide, execution model, and common errors
|
|
68
|
+
- [Templates](templates/index.mdx) - 7 workflow templates: web-scraper, data-enrichment, email-sender, lead-scorer, and more
|
|
69
|
+
- [CLI Reference](cli.mdx) - All CLI commands: check, deploy, exec, resources, executions, env, `project:*`, and more
|
|
70
|
+
- [Deployment](deployment/index.mdx) - Deploy pipeline, versioning, bundle upload, and registry registration
|
|
71
|
+
- [Runtime](runtime.mdx) - Worker execution model, concurrency, timeouts, cancellation, resource limits, and v1 limitations
|
|
72
|
+
|
|
73
|
+
### Typed Adapters
|
|
74
|
+
|
|
75
|
+
- [Integration Adapters](platform-tools/adapters-integration.mdx) - Integration adapter catalog for Attio, Stripe, Google Sheets, Resend, and more
|
|
76
|
+
- [Platform Adapters](platform-tools/adapters-platform.mdx) - All 9 platform service adapters: scheduler, storage, llm, pdf, approval, and more
|
|
77
|
+
|
|
78
|
+
### Framework
|
|
79
|
+
|
|
80
|
+
- [Development Framework](framework/index.mdx) - How Claude Code helps you build: project structure, agent integration, memory, and documentation
|
|
81
|
+
- [Project Structure](framework/project-structure.mdx) - Scaffolded file layout, domain barrels, src/index.ts entry point, and config files
|
|
82
|
+
- [Agent Configuration](framework/agent.mdx) - Agent capabilities, tool access, model config, and Claude Code integration patterns
|
|
83
|
+
- [Memory](framework/memory.mdx) - Agent memory system, session state, developer profiles, and workspace conventions
|
|
84
|
+
- [Interaction Guidance](framework/interaction-guidance.mdx) - Skill dimension adaptation rules for platform navigation, API integration, and automation concepts
|
|
85
|
+
- [Tutorial System](framework/tutorial-system.mdx) - 21-item tutorial menu, skill-adaptive lesson variants, progress tracking, and module contents
|
|
86
|
+
|
|
87
|
+
### Resources Subpages
|
|
88
|
+
|
|
89
|
+
- [SDK Types](resources/types.mdx) - Complete type reference for `@elevasis/sdk` exports, config fields, and step handler context
|
|
90
|
+
- [Common Patterns](resources/patterns.mdx) - Sequential steps, conditional branching, error handling, and resource status patterns
|
|
91
|
+
|
|
92
|
+
### Deployment Subpages
|
|
93
|
+
|
|
94
|
+
- [Command Center](deployment/command-center.mdx) - Resource graph, relationships, node types, and post-deployment UI reference
|
|
95
|
+
- [Provided Features](deployment/provided-features.mdx) - Manifest-backed shared features, compatibility components, and host shell wiring
|
|
96
|
+
- [Execution API](deployment/api.mdx) - REST endpoints for executing resources and managing deployments
|
|
97
|
+
- [UI Execution](deployment/ui-execution.mdx) - Custom React execution dialogs, forms, and hooks built with `@elevasis/ui`
|
|
98
|
+
|
|
99
|
+
### More
|
|
100
|
+
|
|
101
|
+
- [Troubleshooting](troubleshooting.mdx) - Static error catalog for CLI, deployment, schema, and runtime failures
|
|
102
|
+
- [Roadmap](roadmap.mdx) - Planned features including error taxonomy, retry semantics, circuit breaker, and metrics
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
**Last Updated:** 2026-04-23
|
|
@@ -6,20 +6,20 @@ This package is the source of truth for shared types, schemas, and contract help
|
|
|
6
6
|
|
|
7
7
|
## Import Rules
|
|
8
8
|
|
|
9
|
-
- Use `@elevasis/core` (root export) for browser-safe shared types and schemas.
|
|
10
|
-
- Use `@elevasis/core/organization-model` for the semantic contract layer.
|
|
11
|
-
- Use `@elevasis/core/entities` for the published base entity contracts.
|
|
12
|
-
- Use `@elevasis/core/test-utils` for shared test fixtures, mocks, and test helpers.
|
|
13
|
-
- Paths like `@elevasis/core/server` and `@elevasis/core/platform` are internal monorepo paths (`@repo/core/...`) and are NOT available to external consumers.
|
|
9
|
+
- Use `@elevasis/core` (root export) for browser-safe shared types and schemas.
|
|
10
|
+
- Use `@elevasis/core/organization-model` for the semantic contract layer.
|
|
11
|
+
- Use `@elevasis/core/entities` for the published base entity contracts.
|
|
12
|
+
- Use `@elevasis/core/test-utils` for shared test fixtures, mocks, and test helpers.
|
|
13
|
+
- Paths like `@elevasis/core/server` and `@elevasis/core/platform` are internal monorepo paths (`@repo/core/...`) and are NOT available to external consumers.
|
|
14
14
|
|
|
15
15
|
## Published Surface Groups
|
|
16
16
|
|
|
17
|
-
The published `@elevasis/core` npm package exposes these subpaths:
|
|
18
|
-
|
|
19
|
-
- `.` (`@elevasis/core`) - browser-safe shared types, schemas, and constants.
|
|
20
|
-
- `./organization-model` (`@elevasis/core/organization-model`) - the semantic contract layer for CRM, lead gen, delivery, features, branding, and navigation.
|
|
21
|
-
- `./entities` (`@elevasis/core/entities`) - published base entity contracts generic over project metadata extensions.
|
|
22
|
-
- `./test-utils` (`@elevasis/core/test-utils`) - test fixtures, mocks, and helpers for downstream automated tests.
|
|
17
|
+
The published `@elevasis/core` npm package exposes these subpaths:
|
|
18
|
+
|
|
19
|
+
- `.` (`@elevasis/core`) - browser-safe shared types, schemas, and constants.
|
|
20
|
+
- `./organization-model` (`@elevasis/core/organization-model`) - the semantic contract layer for CRM, lead gen, delivery, features, branding, and navigation.
|
|
21
|
+
- `./entities` (`@elevasis/core/entities`) - published base entity contracts generic over project metadata extensions.
|
|
22
|
+
- `./test-utils` (`@elevasis/core/test-utils`) - test fixtures, mocks, and helpers for downstream automated tests.
|
|
23
23
|
|
|
24
24
|
Within the monorepo, the internal `@repo/core` package exposes additional subpaths for use by `apps/` and other packages:
|
|
25
25
|
|
|
@@ -33,9 +33,9 @@ Within the monorepo, the internal `@repo/core` package exposes additional subpat
|
|
|
33
33
|
- `@repo/core/integrations/...` - OAuth and credential contracts.
|
|
34
34
|
- `@repo/core/projects/api-schemas` - project management request and response schemas.
|
|
35
35
|
- `@repo/core/content` - published content metadata types.
|
|
36
|
-
- `@repo/core/test-utils` - source of the published test fixtures and mocks surface.
|
|
37
|
-
|
|
38
|
-
Other `@repo/core/*` subpaths remain monorepo-only unless they are explicitly listed above in the published `@elevasis/core` surface.
|
|
36
|
+
- `@repo/core/test-utils` - source of the published test fixtures and mocks surface.
|
|
37
|
+
|
|
38
|
+
Other `@repo/core/*` subpaths remain monorepo-only unless they are explicitly listed above in the published `@elevasis/core` surface.
|
|
39
39
|
|
|
40
40
|
## When To Read Deeper
|
|
41
41
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Published base entity contracts for the Elevasis platform. Each entity ships as a TypeScript interface, a matching Zod schema, and an inferred `Input` type, generic over a `<TMeta>` extension slot.
|
|
4
4
|
|
|
5
|
-
External projects extend these in `core/types/entities.ts` to attach project-specific metadata while keeping the canonical shape stable.
|
|
5
|
+
External projects extend these in `core/types/entities.ts` to attach project-specific metadata while keeping the canonical shape stable.
|
|
6
6
|
|
|
7
7
|
## Published Exports
|
|
8
8
|
|
|
@@ -49,4 +49,4 @@ export type Deal = BaseDeal
|
|
|
49
49
|
|
|
50
50
|
The full pattern is documented in the SDK scaffold bundle: `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-a-base-entity.md`.
|
|
51
51
|
|
|
52
|
-
The canonical template demo lives at `external/_template/core/types/entities.ts`.
|
|
52
|
+
The canonical template demo lives at `external/_template/core/types/entities.ts`.
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
# @elevasis/core/knowledge
|
|
2
|
-
|
|
3
|
-
Pure query layer over the organization graph. Browser-safe (no Node APIs); shared by the SDK CLI, platform CLI, and the `@elevasis/ui/knowledge` browser.
|
|
4
|
-
|
|
5
|
-
## Surface
|
|
6
|
-
|
|
7
|
-
| Export | Purpose |
|
|
8
|
-
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
|
-
| `
|
|
10
|
-
| `byKind(graph, kind, knowledgeNodes)` | Filter knowledge nodes by `OrgKnowledgeKind`. |
|
|
11
|
-
| `byOwner(graph, ownerId, knowledgeNodes)` | Knowledge nodes whose `ownerIds` includes the given owner. |
|
|
12
|
-
| `governs(graph, nodeId)` | Outgoing `governs` targets (governed-
|
|
13
|
-
| `governedBy(graph, nodeId)` | Incoming `governs` sources (governing knowledge-node ids) into a
|
|
14
|
-
| `parsePath(pathString)` | Parse `/by-
|
|
15
|
-
| `formatText`, `formatJson`, `formatIdsOnly` | Output formatters used by the `knowledge:*` CLI subcommands. |
|
|
16
|
-
|
|
17
|
-
## Path syntax
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
/by-
|
|
21
|
-
/by-kind/<playbook|strategy|reference>
|
|
22
|
-
/by-owner/<ownerId>
|
|
23
|
-
/graph/<nodeId>/governs
|
|
24
|
-
/graph/<nodeId>/governed-by
|
|
25
|
-
/<nodeId>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## JSON envelope
|
|
29
|
-
|
|
30
|
-
`formatJson` returns `{ path, mount, args, results }`
|
|
31
|
-
|
|
32
|
-
`governs` and `governedBy` accept either bare or graph-namespaced ids (`knowledge.foo` or `knowledge:knowledge.foo`).
|
|
1
|
+
# @elevasis/core/knowledge
|
|
2
|
+
|
|
3
|
+
Pure query layer over the organization graph. Browser-safe (no Node APIs); shared by the SDK CLI, platform CLI, and the `@elevasis/ui/knowledge` browser.
|
|
4
|
+
|
|
5
|
+
## Surface
|
|
6
|
+
|
|
7
|
+
| Export | Purpose |
|
|
8
|
+
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
|
+
| `bySystem(graph, systemId, knowledgeNodes)` | Knowledge nodes that govern the given system. |
|
|
10
|
+
| `byKind(graph, kind, knowledgeNodes)` | Filter knowledge nodes by `OrgKnowledgeKind`. |
|
|
11
|
+
| `byOwner(graph, ownerId, knowledgeNodes)` | Knowledge nodes whose `ownerIds` includes the given owner. |
|
|
12
|
+
| `governs(graph, nodeId)` | Outgoing `governs` targets (governed-system ids) from a knowledge node. |
|
|
13
|
+
| `governedBy(graph, nodeId)` | Incoming `governs` sources (governing knowledge-node ids) into a system. |
|
|
14
|
+
| `parsePath(pathString)` | Parse `/by-system/$id`, `/by-kind/$kind`, `/by-owner/$id`, `/graph/$id/{governs,governed-by}`, or `/$id`. Throws on invalid input. |
|
|
15
|
+
| `formatText`, `formatJson`, `formatIdsOnly` | Output formatters used by the `knowledge:*` CLI subcommands. |
|
|
16
|
+
|
|
17
|
+
## Path syntax
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/by-system/<systemId>
|
|
21
|
+
/by-kind/<playbook|strategy|reference>
|
|
22
|
+
/by-owner/<ownerId>
|
|
23
|
+
/graph/<nodeId>/governs
|
|
24
|
+
/graph/<nodeId>/governed-by
|
|
25
|
+
/<nodeId>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## JSON envelope
|
|
29
|
+
|
|
30
|
+
`formatJson` returns `{ path, mount, args, results }` — the same wrapped envelope used by `pnpm exec elevasis knowledge:ls --json` and `pnpm exec elevasis-sdk knowledge:ls --json`.
|
|
31
|
+
|
|
32
|
+
`governs` and `governedBy` accept either bare or graph-namespaced ids (`knowledge.foo` or `knowledge:knowledge.foo`).
|
|
33
|
+
|
|
@@ -1,109 +1,149 @@
|
|
|
1
|
-
# Organization Model
|
|
2
|
-
|
|
3
|
-
The organization model is the published semantic contract that maps a tenant's
|
|
4
|
-
|
|
5
|
-
Use this module when resolving or validating an organization's contract before wiring UI shells, routing,
|
|
6
|
-
|
|
7
|
-
## Published Exports
|
|
8
|
-
|
|
9
|
-
The public entry point exposes:
|
|
10
|
-
|
|
11
|
-
- `OrganizationModelSchema`
|
|
12
|
-
- `
|
|
13
|
-
- `
|
|
14
|
-
- `
|
|
15
|
-
- `
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- `
|
|
39
|
-
- `branding`
|
|
40
|
-
- `
|
|
41
|
-
- `
|
|
42
|
-
- `
|
|
43
|
-
- `
|
|
44
|
-
- `
|
|
45
|
-
- `
|
|
46
|
-
- `
|
|
47
|
-
- `
|
|
48
|
-
- `
|
|
49
|
-
- `
|
|
50
|
-
- `
|
|
51
|
-
- `
|
|
52
|
-
- `
|
|
53
|
-
- `
|
|
54
|
-
- `knowledge`
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
{ id: '
|
|
67
|
-
{ id: '
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
1
|
+
# Organization Model
|
|
2
|
+
|
|
3
|
+
The organization model is the published semantic contract that maps a tenant's System hierarchy, shell navigation, business semantics, resource governance, and graph bindings.
|
|
4
|
+
|
|
5
|
+
Use this module when resolving or validating an organization's contract before wiring UI shells, routing, system gates, or domain-specific capability checks.
|
|
6
|
+
|
|
7
|
+
## Published Exports
|
|
8
|
+
|
|
9
|
+
The public entry point exposes:
|
|
10
|
+
|
|
11
|
+
- `OrganizationModelSchema`
|
|
12
|
+
- `DEFAULT_ORGANIZATION_MODEL`
|
|
13
|
+
- `defineOrganizationModel`
|
|
14
|
+
- `resolveOrganizationModel`
|
|
15
|
+
- `createFoundationOrganizationModel`
|
|
16
|
+
- node ID and System helper types
|
|
17
|
+
- `OrganizationModel` and supporting domain types
|
|
18
|
+
|
|
19
|
+
Import it from the published subpath:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import {
|
|
23
|
+
DEFAULT_ORGANIZATION_MODEL,
|
|
24
|
+
createFoundationOrganizationModel,
|
|
25
|
+
defineOrganizationModel,
|
|
26
|
+
resolveOrganizationModel,
|
|
27
|
+
type OrganizationModel
|
|
28
|
+
} from '@elevasis/core/organization-model'
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Contract Shape
|
|
32
|
+
|
|
33
|
+
The model is versioned and currently validates against `version: 1`.
|
|
34
|
+
|
|
35
|
+
Top-level fields:
|
|
36
|
+
|
|
37
|
+
- `version`
|
|
38
|
+
- `domainMetadata`
|
|
39
|
+
- `branding`
|
|
40
|
+
- `navigation`
|
|
41
|
+
- `sales`
|
|
42
|
+
- `prospecting`
|
|
43
|
+
- `projects`
|
|
44
|
+
- `identity`
|
|
45
|
+
- `customers`
|
|
46
|
+
- `offerings`
|
|
47
|
+
- `roles`
|
|
48
|
+
- `goals`
|
|
49
|
+
- `systems`
|
|
50
|
+
- `resources`
|
|
51
|
+
- `capabilities`
|
|
52
|
+
- `policies`
|
|
53
|
+
- `statuses`
|
|
54
|
+
- `knowledge`
|
|
55
|
+
|
|
56
|
+
The pure collection domains are id-keyed maps: `systems`, `roles`, `goals`, `customers`, `offerings`, `resources`, `capabilities`, `policies`, and `statuses`. The map key must match the entry `id`. Entries carry `order` for deterministic ordered views; use `listDomain(record)` when order matters.
|
|
57
|
+
|
|
58
|
+
Resource identity is authored in `resources`. Runtime workflows, agents, integrations, and scripts import those descriptors, derive `resourceId` and kind from them, and attach executable behavior in operations code.
|
|
59
|
+
|
|
60
|
+
## System Set
|
|
61
|
+
|
|
62
|
+
System hierarchy is authored as an id-keyed `systems` map. Dotted IDs and `parentSystemId` define parent/child relationships:
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
systems: {
|
|
66
|
+
dashboard: { id: 'dashboard', order: 10, label: 'Dashboard', lifecycle: 'active' },
|
|
67
|
+
sales: { id: 'sales', order: 20, label: 'Sales', lifecycle: 'active' },
|
|
68
|
+
clients: { id: 'clients', order: 30, label: 'Clients', lifecycle: 'active' },
|
|
69
|
+
projects: { id: 'projects', order: 40, label: 'Projects', lifecycle: 'active' }
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Systems describe semantic ownership, hierarchy, lifecycle, access, and governance. Sidebar presentation is authored separately under `navigation.sidebar`; UI-backed Systems may still provide `ui.path` for route matching during the migration, but they do not author composed surface lists. Lifecycle values such as `active`, `beta`, `deprecated`, and `archived` replace the old feature enabled/dev-only split.
|
|
74
|
+
|
|
75
|
+
## Sidebar Navigation
|
|
76
|
+
|
|
77
|
+
Shell navigation is authored as a recursive sidebar tree:
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
navigation: {
|
|
81
|
+
sidebar: {
|
|
82
|
+
primary: {
|
|
83
|
+
dashboard: {
|
|
84
|
+
type: 'surface',
|
|
85
|
+
order: 10,
|
|
86
|
+
label: 'Dashboard',
|
|
87
|
+
path: '/',
|
|
88
|
+
surfaceType: 'dashboard',
|
|
89
|
+
targets: { systems: ['dashboard'] }
|
|
90
|
+
},
|
|
91
|
+
business: {
|
|
92
|
+
type: 'group',
|
|
93
|
+
order: 20,
|
|
94
|
+
label: 'Business',
|
|
95
|
+
children: {
|
|
96
|
+
clients: {
|
|
97
|
+
type: 'surface',
|
|
98
|
+
order: 20,
|
|
99
|
+
label: 'Clients',
|
|
100
|
+
path: '/clients',
|
|
101
|
+
surfaceType: 'list',
|
|
102
|
+
targets: { systems: ['clients'] }
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
bottom: {}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Routeable sidebar leaves are projected into flat semantic surface DTOs by `projectOrganizationSurfaces(model)`. Do not author top-level `surfaces` or `navigationGroups` fields on `OrganizationModel`.
|
|
113
|
+
|
|
114
|
+
## Graph IDs
|
|
115
|
+
|
|
116
|
+
Cross-collection links use kind-prefixed IDs:
|
|
117
|
+
|
|
118
|
+
- `system:sales.crm`
|
|
119
|
+
- `integration:instantly`
|
|
120
|
+
- `resource:lead-import`
|
|
121
|
+
- `action:operations.queue.review`
|
|
122
|
+
|
|
123
|
+
## Resource Descriptors
|
|
124
|
+
|
|
125
|
+
The OM Resources domain is governance-only. Descriptors declare canonical `id`, required `systemPath`, governance `status`, and optional role ownership. `DeploymentSpec` remains the runtime/deploy assembly around those descriptors, not a second resource identity catalog.
|
|
126
|
+
|
|
127
|
+
## Resolution Semantics
|
|
128
|
+
|
|
129
|
+
- `defineOrganizationModel()` is a typed helper.
|
|
130
|
+
- `resolveOrganizationModel()` deep-merges a partial override into the default model, then validates it.
|
|
131
|
+
- `createFoundationOrganizationModel()` resolves the canonical model and returns UI-facing helper outputs.
|
|
132
|
+
- Plain objects merge recursively.
|
|
133
|
+
- Id-keyed domain maps merge additively by key.
|
|
134
|
+
- Arrays replace the default value.
|
|
135
|
+
- Missing fields fall back to `DEFAULT_ORGANIZATION_MODEL`.
|
|
136
|
+
|
|
137
|
+
## Referential Integrity
|
|
138
|
+
|
|
139
|
+
- System IDs must be unique.
|
|
140
|
+
- Child System IDs require valid ancestors or `parentSystemId` links.
|
|
141
|
+
- Systems with UI provide `ui.path`.
|
|
142
|
+
- Systems, resources, roles, knowledge nodes, and goals must resolve their declared cross-references.
|
|
143
|
+
|
|
144
|
+
## Practical Guidance
|
|
145
|
+
|
|
146
|
+
- Use `resolveOrganizationModel()` when you need a runtime-safe model.
|
|
147
|
+
- Use `defineOrganizationModel()` when authoring static overrides.
|
|
148
|
+
- Keep System IDs stable because shell routing, gating, breadcrumbs, and docs depend on them.
|
|
149
|
+
- Put resource identity and governance in `resources`; attach executable behavior in operations.
|