@elevasis/sdk 1.24.0 → 1.26.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 +875 -834
- package/dist/index.d.ts +4857 -4547
- package/dist/index.js +564 -2338
- package/dist/node/index.d.ts +693 -1356
- package/dist/node/index.js +1 -1
- package/dist/test-utils/index.d.ts +4186 -4139
- package/dist/test-utils/index.js +694 -2769
- package/dist/types/worker/adapters/clickup.d.ts +22 -0
- package/dist/types/worker/adapters/index.d.ts +1 -0
- package/dist/types/worker/index.d.ts +3 -2
- package/dist/types/worker/platform.d.ts +2 -2
- package/dist/worker/index.js +427 -2803
- package/package.json +2 -2
- package/reference/_navigation.md +11 -1
- package/reference/_reference-manifest.json +70 -0
- package/reference/claude-config/rules/organization-model.md +12 -1
- package/reference/claude-config/rules/organization-os.md +12 -1
- package/reference/claude-config/skills/om/SKILL.md +13 -5
- package/reference/claude-config/skills/om/operations/codify-level-a.md +109 -100
- package/reference/claude-config/skills/om/operations/customers.md +10 -6
- package/reference/claude-config/skills/om/operations/features.md +7 -3
- package/reference/claude-config/skills/om/operations/goals.md +10 -6
- package/reference/claude-config/skills/om/operations/identity.md +8 -5
- package/reference/claude-config/skills/om/operations/labels.md +17 -1
- package/reference/claude-config/skills/om/operations/offerings.md +11 -7
- package/reference/claude-config/skills/om/operations/roles.md +11 -7
- package/reference/claude-config/skills/om/operations/techStack.md +10 -2
- package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +32 -0
- package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +43 -0
- package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +40 -0
- package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +61 -0
- package/reference/cli-management.mdx +539 -0
- package/reference/cli.mdx +579 -808
- package/reference/concepts.mdx +134 -146
- package/reference/deployment/api.mdx +296 -297
- package/reference/deployment/command-center.mdx +208 -209
- package/reference/deployment/index.mdx +194 -195
- package/reference/deployment/provided-features.mdx +110 -107
- package/reference/deployment/ui-execution.mdx +249 -250
- package/reference/framework/index.mdx +111 -195
- package/reference/framework/resource-documentation.mdx +90 -0
- package/reference/framework/tutorial-system.mdx +135 -135
- package/reference/getting-started.mdx +141 -142
- package/reference/index.mdx +95 -106
- package/reference/packages/ui/src/auth/README.md +6 -6
- package/reference/platform-tools/adapters-integration.mdx +300 -301
- package/reference/platform-tools/adapters-platform.mdx +552 -553
- package/reference/platform-tools/index.mdx +216 -217
- package/reference/platform-tools/type-safety.mdx +82 -82
- package/reference/resources/index.mdx +348 -349
- package/reference/resources/patterns.mdx +446 -449
- package/reference/resources/types.mdx +115 -116
- package/reference/roadmap.mdx +164 -165
- package/reference/rules/organization-model.md +14 -0
- package/reference/runtime.mdx +172 -173
- package/reference/scaffold/operations/propagation-pipeline.md +1 -1
- package/reference/scaffold/recipes/customize-crm-actions.md +45 -46
- package/reference/scaffold/recipes/extend-crm.md +253 -255
- package/reference/scaffold/recipes/extend-lead-gen.md +130 -77
- package/reference/scaffold/recipes/index.md +43 -44
- package/reference/scaffold/reference/contracts.md +1275 -1432
- package/reference/scaffold/reference/glossary.md +8 -6
- package/reference/scaffold/ui/feature-flags-and-gating.md +59 -46
- package/reference/scaffold/ui/feature-shell.mdx +11 -11
- package/reference/scaffold/ui/recipes.md +24 -24
- package/reference/troubleshooting.mdx +222 -223
|
@@ -10,7 +10,9 @@ description: Terminology disambiguation for Organization OS concepts used in the
|
|
|
10
10
|
|
|
11
11
|
## Terms
|
|
12
12
|
|
|
13
|
-
**
|
|
13
|
+
**AccessGuard** -- route-level and section-level access wrapper from `@elevasis/ui/auth`. It consumes the unified Access Model and gates on an `accessKey`.
|
|
14
|
+
|
|
15
|
+
**AccessKeys** -- exported access-key constants from `@elevasis/core/auth` / `@repo/core/auth` for platform-admin, diagnostic, and permission-backed gates.
|
|
14
16
|
|
|
15
17
|
**Contract** -- the publishable boundary a consumer depends on: Zod schemas, TypeScript types, provider props, resource definitions, or workflow I/O schemas.
|
|
16
18
|
|
|
@@ -18,7 +20,7 @@ description: Terminology disambiguation for Organization OS concepts used in the
|
|
|
18
20
|
|
|
19
21
|
**Feature** -- legacy or UI-package wording for a platform capability area. In the current Organization Model, use **System** for semantic ownership and **navigation surface** for shell placement. Keep "feature" only when referring to existing UI package folders, exported manifest names, or legacy compatibility recipes.
|
|
20
22
|
|
|
21
|
-
**SystemGuard** -- route-level System gate
|
|
23
|
+
**SystemGuard** -- retired route-level System gate. Use **AccessGuard** with a System path or `AccessKeys` constant.
|
|
22
24
|
|
|
23
25
|
**SystemModule** -- manifest contract a shell module provides to `ElevasisSystemsProvider`. Key fields are `key`, optional `systemId`, optional `routePrefixes`, optional `capabilityIds`, optional `icon`, optional `sidebar`, and optional `sidebarWidth`. Graph bridge metadata is compatibility-only; new semantic bindings belong in the Organization Model System, ontology, navigation, and Resource descriptors.
|
|
24
26
|
|
|
@@ -32,13 +34,13 @@ description: Terminology disambiguation for Organization OS concepts used in the
|
|
|
32
34
|
|
|
33
35
|
**Manifest** -- a runtime declaration for a feature or resource collection.
|
|
34
36
|
|
|
35
|
-
**MembershipFeatureConfig** --
|
|
37
|
+
**MembershipFeatureConfig** -- retired per-member feature override config. The migration is complete: access is resolved through the unified Access Model using Organization Model System lifecycle, role permissions, diagnostic allowlists, membership scope, and platform-admin bypass.
|
|
36
38
|
|
|
37
39
|
**OrganizationModel** -- top-level semantic contract for an organization. Current primary fields include `version`, `domainMetadata`, `branding`, `navigation`, `ontology`, `systems`, `resources`, `topology`, `identity`, `customers`, `offerings`, `roles`, `goals`, `policies`, `statuses`, and `knowledge`. Legacy domain keys such as `sales`, `prospecting`, `projects`, `actions`, and `entities` remain compatibility inputs while projects migrate to System-owned ontology/config/resource contracts.
|
|
38
40
|
|
|
39
41
|
**OrganizationModelSystemEntry** -- System node in `OrganizationModel.systems`. Primary authoring fields include `id`, `label`, `description`, `parentSystemId`, `systems`, `lifecycle`, `ui`, `requiresAdmin`, `devOnly`, `responsibleRoleId`, `governedByKnowledge`, `drivesGoals`, `actions`, `policies`, `ontology`, `config`, and `order`. `subsystems` and `content` are retained compatibility inputs for older projects and should not be used for new recursive Systems, schemas, catalogs, or config.
|
|
40
42
|
|
|
41
|
-
**Provider / ElevasisSystemsProvider** -- runtime that registers System modules, resolves System
|
|
43
|
+
**Provider / ElevasisSystemsProvider** -- runtime that registers System modules, resolves System lifecycle against the org model, projects sidebar navigation, and exposes shell helpers through `useElevasisSystems()`.
|
|
42
44
|
|
|
43
45
|
**Resource** -- governance-only descriptor in `OrganizationModel.resources` for a workflow, agent, integration, or script. Runtime code derives `resourceId` and kind from the descriptor, then attaches executable behavior in operations.
|
|
44
46
|
|
|
@@ -65,13 +67,13 @@ description: Terminology disambiguation for Organization OS concepts used in the
|
|
|
65
67
|
- `OrganizationModel`, `OrganizationModelSystemEntry`
|
|
66
68
|
- `SystemEntry`, `ResourceEntry`
|
|
67
69
|
- `resolveOrganizationModel`, `defineOrganizationModel`, `DEFAULT_ORGANIZATION_MODEL`
|
|
68
|
-
- `
|
|
70
|
+
- `AccessKeys`, `checkAccess`, `createAccessModel`
|
|
69
71
|
- `DeploymentSpec`, `ResourceLink`, `ResourceCategory`
|
|
70
72
|
|
|
71
73
|
**`@elevasis/ui`**
|
|
72
74
|
|
|
73
75
|
- `SystemModule`
|
|
74
|
-
- `
|
|
76
|
+
- `AccessGuard`, `ProtectedRoute`
|
|
75
77
|
- `ElevasisSystemsProvider`, `ElevasisCoreProvider`, `useElevasisSystems`
|
|
76
78
|
|
|
77
79
|
**External project source**
|
|
@@ -1,49 +1,62 @@
|
|
|
1
1
|
<!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
|
|
2
2
|
<!-- Regenerate: pnpm scaffold:sync -->
|
|
3
3
|
|
|
4
|
-
# System Flags And Gating
|
|
5
|
-
|
|
6
|
-
System
|
|
7
|
-
|
|
8
|
-
## Where Visibility Comes From
|
|
9
|
-
|
|
10
|
-
- `systems
|
|
11
|
-
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
4
|
+
# System Flags And Gating
|
|
5
|
+
|
|
6
|
+
System access is keyed by Organization Model system path and resolved through the unified Access Model.
|
|
7
|
+
|
|
8
|
+
## Where Visibility Comes From
|
|
9
|
+
|
|
10
|
+
- `systems` entries in the organization model define available System paths.
|
|
11
|
+
- `lifecycle: 'active'` enables normal access.
|
|
12
|
+
- `lifecycle: 'beta'` is allowed only when the runtime enables beta access or runs in development mode.
|
|
13
|
+
- `lifecycle: 'draft'`, `'deprecated'`, and `'archived'` deny access.
|
|
14
|
+
- Role permissions such as `org.manage` and `operations.read` are represented by permission-backed `AccessKeys`.
|
|
15
|
+
- Platform admins bypass through `checkAccess` with `reason: 'platform-admin-bypass'`.
|
|
16
|
+
|
|
17
|
+
The shell derives visible sidebar entries from `shellModel.topLevel()` and `shellModel.childrenOf(id)`.
|
|
18
|
+
|
|
19
|
+
## Route Guards
|
|
20
|
+
|
|
21
|
+
Navigation visibility is cosmetic. Always guard routes directly:
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
import { AccessGuard } from '@elevasis/ui/auth'
|
|
25
|
+
|
|
26
|
+
<ProtectedRoute>
|
|
27
|
+
<AccessGuard accessKey="sales.crm">
|
|
28
|
+
<Outlet />
|
|
29
|
+
</AccessGuard>
|
|
30
|
+
</ProtectedRoute>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
For admin-only routes:
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { AccessKeys } from '@elevasis/core/auth'
|
|
37
|
+
import { AccessGuard } from '@elevasis/ui/auth'
|
|
38
|
+
|
|
39
|
+
<AccessGuard accessKey={AccessKeys.platformAdmin}>
|
|
40
|
+
<SystemHealthPage />
|
|
41
|
+
</AccessGuard>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Adding A Gated System
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
{
|
|
48
|
+
id: 'analytics',
|
|
49
|
+
label: 'Analytics',
|
|
50
|
+
lifecycle: 'active',
|
|
51
|
+
path: '/analytics',
|
|
52
|
+
uiPosition: 'sidebar-primary'
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Use the same System path in `AccessGuard accessKey` and `SystemModule.systemId`. For action-level checks, use the structured key shape:
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
{ systemPath: 'analytics', action: 'manage' }
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Prefer exported `AccessKeys` for permission-backed or diagnostic access keys.
|
|
@@ -58,17 +58,17 @@ Sidebar rendering walks `topLevel()` and `childrenOf(id)`. Breadcrumbs resolve `
|
|
|
58
58
|
|
|
59
59
|
System access is keyed by Organization Model system ID. `requiresAdmin` and `devOnly` inherit from ancestor system nodes and are applied when deriving visible sidebar entries.
|
|
60
60
|
|
|
61
|
-
Routes still need guards:
|
|
62
|
-
|
|
63
|
-
```tsx
|
|
64
|
-
<ProtectedRoute>
|
|
65
|
-
<
|
|
66
|
-
<Outlet />
|
|
67
|
-
</
|
|
68
|
-
</ProtectedRoute>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Use `
|
|
61
|
+
Routes still need guards:
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
<ProtectedRoute>
|
|
65
|
+
<AccessGuard accessKey="sales.crm">
|
|
66
|
+
<Outlet />
|
|
67
|
+
</AccessGuard>
|
|
68
|
+
</ProtectedRoute>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Use `AccessKeys.platformAdmin` with `AccessGuard` for pages that require platform-admin privileges.
|
|
72
72
|
|
|
73
73
|
## External Shells
|
|
74
74
|
|
|
@@ -56,31 +56,31 @@ systems: {
|
|
|
56
56
|
|
|
57
57
|
TanStack Router derives the path from the filename. The sidebar is derived from `OrganizationModel.systems`.
|
|
58
58
|
|
|
59
|
-
## 2. Add
|
|
60
|
-
|
|
61
|
-
Wrap the route with `
|
|
62
|
-
|
|
63
|
-
```tsx
|
|
64
|
-
import {
|
|
65
|
-
|
|
66
|
-
function MySystemRouteComponent() {
|
|
67
|
-
return (
|
|
68
|
-
<ProtectedRoute>
|
|
69
|
-
<
|
|
70
|
-
<AppTopbarAdjusterWrapper>
|
|
71
|
-
<AppShellContentContainer>
|
|
72
|
-
<PageContainer>
|
|
59
|
+
## 2. Add an Access-Gated Page
|
|
60
|
+
|
|
61
|
+
Wrap the route with `AccessGuard` and use the same system path as the org model node.
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
import { AccessGuard } from '@elevasis/ui/auth'
|
|
65
|
+
|
|
66
|
+
function MySystemRouteComponent() {
|
|
67
|
+
return (
|
|
68
|
+
<ProtectedRoute>
|
|
69
|
+
<AccessGuard accessKey="my-system">
|
|
70
|
+
<AppTopbarAdjusterWrapper>
|
|
71
|
+
<AppShellContentContainer>
|
|
72
|
+
<PageContainer>
|
|
73
73
|
<MySystemPage />
|
|
74
|
-
</PageContainer>
|
|
75
|
-
</AppShellContentContainer>
|
|
76
|
-
</AppTopbarAdjusterWrapper>
|
|
77
|
-
</
|
|
78
|
-
</ProtectedRoute>
|
|
79
|
-
)
|
|
80
|
-
}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Set `
|
|
74
|
+
</PageContainer>
|
|
75
|
+
</AppShellContentContainer>
|
|
76
|
+
</AppTopbarAdjusterWrapper>
|
|
77
|
+
</AccessGuard>
|
|
78
|
+
</ProtectedRoute>
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Set `lifecycle` to an inactive state in the system node to hide or deny access by default. Use `AccessKeys.platformAdmin` with `AccessGuard` for platform-admin-only pages.
|
|
84
84
|
|
|
85
85
|
## 3. Add a Nested Page
|
|
86
86
|
|