@elevasis/sdk 1.21.0 → 1.22.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.
- package/dist/cli.cjs +1239 -173
- package/dist/index.d.ts +1752 -464
- package/dist/index.js +3477 -143
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.js +19 -1
- package/dist/test-utils/index.d.ts +1188 -127
- package/dist/test-utils/index.js +3359 -152
- package/dist/worker/index.js +3148 -80
- package/package.json +2 -2
- 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 -277
- 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 +113 -81
- 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 -235
- 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 +314 -299
- 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 -159
- package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
- package/reference/claude-config/skills/knowledge/operations/features.md +76 -76
- 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 -94
- 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 -1303
- 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 -30
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +45 -0
- package/reference/claude-config/sync-notes/README.md +43 -43
- package/reference/cli.mdx +808 -808
- 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 -107
- package/reference/deployment/ui-execution.mdx +250 -250
- package/reference/examples/organization-model.ts +171 -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 +32 -32
- package/reference/packages/core/src/organization-model/README.md +149 -149
- 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 -90
- package/reference/scaffold/core/organization-model.mdx +225 -213
- package/reference/scaffold/index.mdx +67 -67
- package/reference/scaffold/operations/propagation-pipeline.md +77 -77
- package/reference/scaffold/operations/scaffold-maintenance.md +12 -12
- package/reference/scaffold/operations/workflow-recipes.md +138 -138
- package/reference/scaffold/recipes/add-a-feature.md +307 -85
- package/reference/scaffold/recipes/add-a-resource.md +137 -103
- package/reference/scaffold/recipes/customize-knowledge-browser.md +5 -5
- package/reference/scaffold/recipes/customize-organization-model.md +275 -138
- package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
- package/reference/scaffold/recipes/extend-crm.md +3 -3
- package/reference/scaffold/recipes/extend-lead-gen.md +394 -394
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -118
- package/reference/scaffold/recipes/index.md +46 -46
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +197 -170
- package/reference/scaffold/reference/contracts.md +2136 -2093
- 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 -214
- package/reference/spine/spine-primer.md +96 -96
- package/reference/templates/index.mdx +47 -47
- package/reference/troubleshooting.mdx +223 -223
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Gate by System or Admin
|
|
3
|
-
description: Decision table and recipes for gating routes, sidebar entries, and UI elements by Organization Model system ID or admin role.
|
|
4
|
-
---
|
|
1
|
+
---
|
|
2
|
+
title: Gate by System or Admin
|
|
3
|
+
description: Decision table and recipes for gating routes, sidebar entries, and UI elements by Organization Model system ID or admin role.
|
|
4
|
+
---
|
|
5
5
|
<!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
|
|
6
6
|
<!-- Regenerate: pnpm scaffold:sync -->
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
# Gate by System or Admin
|
|
10
|
-
|
|
11
|
-
System visibility starts in `core/config/organization-model.ts`. Routes still enforce access with guards.
|
|
12
|
-
|
|
13
|
-
## Decide the gate
|
|
14
|
-
|
|
15
|
-
| Scenario | Gate to use |
|
|
16
|
-
| --- | --- |
|
|
17
|
-
| Surface can be enabled or disabled per organization/member | `SystemGuard` with the system ID |
|
|
18
|
-
| Surface is always available to members but restricted to admins | `AdminGuard` plus `requiresAdmin: true` on the system node |
|
|
19
|
-
| Surface is both system-gated and admin-only | Both guards, plus `requiresAdmin: true` on the system node |
|
|
20
|
-
|
|
21
|
-
## System gate in the org model
|
|
22
|
-
|
|
23
|
-
Add or update the system in the id-keyed `systems` map.
|
|
24
|
-
|
|
25
|
-
```ts
|
|
26
|
-
systems: {
|
|
27
|
-
analytics: {
|
|
28
|
-
id: 'analytics',
|
|
29
|
-
order: 10,
|
|
30
|
-
label: 'Analytics',
|
|
31
|
-
enabled: false,
|
|
32
|
-
path: '/analytics',
|
|
33
|
-
icon: 'custom.analytics',
|
|
34
|
-
uiPosition: 'sidebar-primary'
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Set `enabled: true` to enable it for all members by default. Dotted IDs such as `analytics.reports` inherit system state and shell placement from their ancestors unless they declare their own value.
|
|
40
|
-
|
|
41
|
-
## Route-level system gate
|
|
42
|
-
|
|
43
|
-
```tsx
|
|
44
|
-
import { ProtectedRoute } from '@/features/auth'
|
|
45
|
-
import { SystemGuard } from '@elevasis/ui/features/auth'
|
|
46
|
-
import { createFileRoute, Outlet } from '@tanstack/react-router'
|
|
47
|
-
|
|
48
|
-
export const Route = createFileRoute('/analytics')({ component: AnalyticsLayout })
|
|
49
|
-
|
|
50
|
-
function AnalyticsLayout() {
|
|
51
|
-
return (
|
|
52
|
-
<ProtectedRoute>
|
|
53
|
-
<SystemGuard systemKey="analytics">
|
|
54
|
-
<Outlet />
|
|
55
|
-
</SystemGuard>
|
|
56
|
-
</ProtectedRoute>
|
|
57
|
-
)
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
The sidebar is derived from `OrganizationModel.systems`; hiding a node there is display behavior only. Keep route guards in place for direct URL access.
|
|
62
|
-
|
|
63
|
-
## Admin-only route
|
|
64
|
-
|
|
65
|
-
```tsx
|
|
66
|
-
import { ProtectedRoute } from '@/features/auth'
|
|
67
|
-
import { AdminGuard } from '@elevasis/ui/auth'
|
|
68
|
-
import { createFileRoute, Outlet } from '@tanstack/react-router'
|
|
69
|
-
|
|
70
|
-
export const Route = createFileRoute('/admin')({ component: AdminLayout })
|
|
71
|
-
|
|
72
|
-
function AdminLayout() {
|
|
73
|
-
return (
|
|
74
|
-
<ProtectedRoute>
|
|
75
|
-
<AdminGuard>
|
|
76
|
-
<Outlet />
|
|
77
|
-
</AdminGuard>
|
|
78
|
-
</ProtectedRoute>
|
|
79
|
-
)
|
|
80
|
-
}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Pair the route guard with the system node:
|
|
84
|
-
|
|
85
|
-
```ts
|
|
86
|
-
systems: {
|
|
87
|
-
admin: {
|
|
88
|
-
id: 'admin',
|
|
89
|
-
order: 10,
|
|
90
|
-
label: 'Admin',
|
|
91
|
-
enabled: true,
|
|
92
|
-
path: '/admin',
|
|
93
|
-
uiPosition: 'sidebar-bottom',
|
|
94
|
-
requiresAdmin: true
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Per-member override
|
|
100
|
-
|
|
101
|
-
Membership config overrides enabled state per member.
|
|
102
|
-
|
|
103
|
-
```ts
|
|
104
|
-
{
|
|
105
|
-
systems: { analytics: false }
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Settings and admin-only pages should use admin checks, not per-member system flags.
|
|
110
|
-
|
|
111
|
-
## Verify
|
|
112
|
-
|
|
113
|
-
Check the state matrix:
|
|
114
|
-
|
|
115
|
-
| Org system enabled | Member override | Admin | Expected result |
|
|
116
|
-
| --- | --- | --- | --- |
|
|
117
|
-
| true | absent | any | Route accessible, sidebar visible |
|
|
118
|
-
| true | false | any | Route redirects, sidebar hidden |
|
|
119
|
-
| false | absent | any | Route redirects, sidebar hidden |
|
|
120
|
-
| true | absent | non-admin | Admin route redirects, admin sidebar hidden |
|
|
121
|
-
| true | absent | admin | Admin route accessible, admin sidebar visible |
|
|
8
|
+
|
|
9
|
+
# Gate by System or Admin
|
|
10
|
+
|
|
11
|
+
System visibility starts in `core/config/organization-model.ts`. Routes still enforce access with guards.
|
|
12
|
+
|
|
13
|
+
## Decide the gate
|
|
14
|
+
|
|
15
|
+
| Scenario | Gate to use |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| Surface can be enabled or disabled per organization/member | `SystemGuard` with the system ID |
|
|
18
|
+
| Surface is always available to members but restricted to admins | `AdminGuard` plus `requiresAdmin: true` on the system node |
|
|
19
|
+
| Surface is both system-gated and admin-only | Both guards, plus `requiresAdmin: true` on the system node |
|
|
20
|
+
|
|
21
|
+
## System gate in the org model
|
|
22
|
+
|
|
23
|
+
Add or update the system in the id-keyed `systems` map.
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
systems: {
|
|
27
|
+
analytics: {
|
|
28
|
+
id: 'analytics',
|
|
29
|
+
order: 10,
|
|
30
|
+
label: 'Analytics',
|
|
31
|
+
enabled: false,
|
|
32
|
+
path: '/analytics',
|
|
33
|
+
icon: 'custom.analytics',
|
|
34
|
+
uiPosition: 'sidebar-primary'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Set `enabled: true` to enable it for all members by default. Dotted IDs such as `analytics.reports` inherit system state and shell placement from their ancestors unless they declare their own value.
|
|
40
|
+
|
|
41
|
+
## Route-level system gate
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
import { ProtectedRoute } from '@/features/auth'
|
|
45
|
+
import { SystemGuard } from '@elevasis/ui/features/auth'
|
|
46
|
+
import { createFileRoute, Outlet } from '@tanstack/react-router'
|
|
47
|
+
|
|
48
|
+
export const Route = createFileRoute('/analytics')({ component: AnalyticsLayout })
|
|
49
|
+
|
|
50
|
+
function AnalyticsLayout() {
|
|
51
|
+
return (
|
|
52
|
+
<ProtectedRoute>
|
|
53
|
+
<SystemGuard systemKey="analytics">
|
|
54
|
+
<Outlet />
|
|
55
|
+
</SystemGuard>
|
|
56
|
+
</ProtectedRoute>
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The sidebar is derived from `OrganizationModel.systems`; hiding a node there is display behavior only. Keep route guards in place for direct URL access.
|
|
62
|
+
|
|
63
|
+
## Admin-only route
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
import { ProtectedRoute } from '@/features/auth'
|
|
67
|
+
import { AdminGuard } from '@elevasis/ui/auth'
|
|
68
|
+
import { createFileRoute, Outlet } from '@tanstack/react-router'
|
|
69
|
+
|
|
70
|
+
export const Route = createFileRoute('/admin')({ component: AdminLayout })
|
|
71
|
+
|
|
72
|
+
function AdminLayout() {
|
|
73
|
+
return (
|
|
74
|
+
<ProtectedRoute>
|
|
75
|
+
<AdminGuard>
|
|
76
|
+
<Outlet />
|
|
77
|
+
</AdminGuard>
|
|
78
|
+
</ProtectedRoute>
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Pair the route guard with the system node:
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
systems: {
|
|
87
|
+
admin: {
|
|
88
|
+
id: 'admin',
|
|
89
|
+
order: 10,
|
|
90
|
+
label: 'Admin',
|
|
91
|
+
enabled: true,
|
|
92
|
+
path: '/admin',
|
|
93
|
+
uiPosition: 'sidebar-bottom',
|
|
94
|
+
requiresAdmin: true
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Per-member override
|
|
100
|
+
|
|
101
|
+
Membership config overrides enabled state per member.
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
{
|
|
105
|
+
systems: { analytics: false }
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Settings and admin-only pages should use admin checks, not per-member system flags.
|
|
110
|
+
|
|
111
|
+
## Verify
|
|
112
|
+
|
|
113
|
+
Check the state matrix:
|
|
114
|
+
|
|
115
|
+
| Org system enabled | Member override | Admin | Expected result |
|
|
116
|
+
| --- | --- | --- | --- |
|
|
117
|
+
| true | absent | any | Route accessible, sidebar visible |
|
|
118
|
+
| true | false | any | Route redirects, sidebar hidden |
|
|
119
|
+
| false | absent | any | Route redirects, sidebar hidden |
|
|
120
|
+
| true | absent | non-admin | Admin route redirects, admin sidebar hidden |
|
|
121
|
+
| true | absent | admin | Admin route accessible, admin sidebar visible |
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
<!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
|
|
2
2
|
<!-- Regenerate: pnpm scaffold:sync -->
|
|
3
3
|
|
|
4
|
-
---
|
|
5
|
-
title: Pathway Recipes
|
|
6
|
-
description: Terse end-to-end walkthroughs for the three most common authoring tasks -- adding a system, adding a resource, and gating access.
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Pathway Recipes
|
|
10
|
-
|
|
11
|
-
Three sequential walkthroughs for common authoring tasks. Each recipe links into the reference docs rather than duplicating them.
|
|
12
|
-
|
|
13
|
-
Before starting, read [glossary.md](../reference/glossary.md) to disambiguate overloaded terms (System, Resource, systemId, Settings asymmetry, Topology).
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Recipes
|
|
18
|
-
|
|
19
|
-
**[Add
|
|
20
|
-
You want a new
|
|
21
|
-
|
|
22
|
-
**[Add a Resource](add-a-resource.md)**
|
|
23
|
-
You want a new workflow or agent deployed to the platform. Covers OM Resource descriptor authoring, descriptor-backed `WorkflowDefinition` binding, `DeploymentSpec` assembly, relationship declarations, and CLI verification.
|
|
24
|
-
|
|
25
|
-
**[Gate by System or Admin](gate-by-feature-or-admin.md)**
|
|
26
|
-
You want to restrict a route, nav item, or UI element by system flag or admin role. Covers the decision table, `SystemGuard`, `AdminGuard`, nav-entry visibility fields, per-member system overrides, and the settings-asymmetry gotcha.
|
|
27
|
-
|
|
28
|
-
**[Build and Extend CRM](extend-crm.md)**
|
|
29
|
-
You want to build on the shared CRM without forking it: add CRM routes, compose sidebars/pages, use deal/company/contact hooks, mutate CRM data from workflows, or understand which contracts and adapters form the extension surface.
|
|
30
|
-
|
|
31
|
-
**[Build and Extend Lead Gen](extend-lead-gen.md)**
|
|
32
|
-
You want to build on the shared lead-gen system without forking it: add lead-gen routes, compose sidebars/pages, use list/company/contact/artifact hooks, mutate list data from workflows, or understand which contracts and adapters form the extension surface.
|
|
33
|
-
|
|
34
|
-
**[Customize CRM Actions](customize-crm-actions.md)**
|
|
35
|
-
You want to add, hide, or replace CRM deal action buttons, configure the shared `crmActions` provider path, or call a project-owned workflow from custom UI when server-side action dispatch constraints require it. Covers `ActionDef`, `DEFAULT_CRM_ACTIONS`, provider wiring, and the current v1 boundary for custom action dispatch.
|
|
36
|
-
|
|
37
|
-
**[Customize Knowledge Browser](customize-knowledge-browser.md)**
|
|
38
|
-
You want to mount, extend, or replace the default Knowledge Browser. Covers the three customization tiers (default manifest mount, sidebar composition via `KnowledgeSidebarMiddle` + `KNOWLEDGE_ITEMS`, and direct query access via `@elevasis/core/knowledge`), the one-line `vite.config.ts` plugin add (`knowledgePlugin()` from `@elevasis/ui/vite-plugin-knowledge`), and the CSS import requirement.
|
|
39
|
-
|
|
4
|
+
---
|
|
5
|
+
title: Pathway Recipes
|
|
6
|
+
description: Terse end-to-end walkthroughs for the three most common authoring tasks -- adding a system, adding a resource, and gating access.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Pathway Recipes
|
|
10
|
+
|
|
11
|
+
Three sequential walkthroughs for common authoring tasks. Each recipe links into the reference docs rather than duplicating them.
|
|
12
|
+
|
|
13
|
+
Before starting, read [glossary.md](../reference/glossary.md) to disambiguate overloaded terms (System, Resource, systemId, Settings asymmetry, Topology).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Recipes
|
|
18
|
+
|
|
19
|
+
**[Add an OM-Backed System](add-a-feature.md)**
|
|
20
|
+
You want a new system with cohesive Organization Model semantics, executable resources, and optional UI. Covers Systems, System-owned ontology and config, Resource descriptors with `title`, `description`, `resource.ontology.actions`, `primaryAction`, `codeRefs`, OM topology, runtime assembly, manifests, routes, guards, tests, and compatibility notes for old `System.content` consumers.
|
|
21
|
+
|
|
22
|
+
**[Add a Resource](add-a-resource.md)**
|
|
23
|
+
You want a new workflow or agent deployed to the platform. Covers OM Resource descriptor authoring, descriptor-backed `WorkflowDefinition` binding, `DeploymentSpec` assembly, relationship declarations, and CLI verification.
|
|
24
|
+
|
|
25
|
+
**[Gate by System or Admin](gate-by-feature-or-admin.md)**
|
|
26
|
+
You want to restrict a route, nav item, or UI element by system flag or admin role. Covers the decision table, `SystemGuard`, `AdminGuard`, nav-entry visibility fields, per-member system overrides, and the settings-asymmetry gotcha.
|
|
27
|
+
|
|
28
|
+
**[Build and Extend CRM](extend-crm.md)**
|
|
29
|
+
You want to build on the shared CRM without forking it: add CRM routes, compose sidebars/pages, use deal/company/contact hooks, mutate CRM data from workflows, or understand which contracts and adapters form the extension surface.
|
|
30
|
+
|
|
31
|
+
**[Build and Extend Lead Gen](extend-lead-gen.md)**
|
|
32
|
+
You want to build on the shared lead-gen system without forking it: add lead-gen routes, compose sidebars/pages, use list/company/contact/artifact hooks, mutate list data from workflows, or understand which contracts and adapters form the extension surface.
|
|
33
|
+
|
|
34
|
+
**[Customize CRM Actions](customize-crm-actions.md)**
|
|
35
|
+
You want to add, hide, or replace CRM deal action buttons, configure the shared `crmActions` provider path, or call a project-owned workflow from custom UI when server-side action dispatch constraints require it. Covers `ActionDef`, `DEFAULT_CRM_ACTIONS`, provider wiring, and the current v1 boundary for custom action dispatch.
|
|
36
|
+
|
|
37
|
+
**[Customize Knowledge Browser](customize-knowledge-browser.md)**
|
|
38
|
+
You want to mount, extend, or replace the default Knowledge Browser. Covers the three customization tiers (default manifest mount, sidebar composition via `KnowledgeSidebarMiddle` + `KNOWLEDGE_ITEMS`, and direct query access via `@elevasis/core/knowledge`), the one-line `vite.config.ts` plugin add (`knowledgePlugin()` from `@elevasis/ui/vite-plugin-knowledge`), and the CSS import requirement.
|
|
39
|
+
|
|
40
40
|
**[Query the Knowledge Graph](query-the-knowledge-graph.md)**
|
|
41
|
-
You want to browse, inspect, or traverse the OrganizationModel knowledge graph from the command line. Covers the three verbs (`knowledge:ls`, `knowledge:cat`, `knowledge:graph`), all
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Reference docs these recipes link into
|
|
46
|
-
|
|
47
|
-
- [glossary.md](../reference/glossary.md) -- term disambiguation for System, Resource, systemId, Topology, Settings asymmetry
|
|
48
|
-
- [contracts.md](../reference/contracts.md) -- TypeScript shapes: `SystemModule`, `OrganizationModel`, CRM deal types, lead-gen list/member/artifact types, `CrmToolMap`, `LeadToolMap`, `ListToolMap`, `ActionDef`
|
|
49
|
-
- [feature-flags-and-gating.md](../ui/feature-flags-and-gating.md) -- full three-concept gating model
|
|
50
|
-
- [workflow-recipes.md](../operations/workflow-recipes.md) -- workflow anatomy, adapters, trigger patterns
|
|
41
|
+
You want to browse, inspect, or traverse the OrganizationModel knowledge graph from the command line. Covers the three verbs (`knowledge:ls`, `knowledge:cat`, `knowledge:graph`), all six mount axes (`/by-system/`, `/by-ontology/`, `/by-kind/`, `/by-owner/`, `/graph/.../governs/`, `/graph/.../governed-by/`), dual-CLI invocation patterns (`elevasis-sdk` for external projects, `elevasis` for the monorepo), JSON output shapes, and the Windows/MSYS PowerShell gotcha.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Reference docs these recipes link into
|
|
46
|
+
|
|
47
|
+
- [glossary.md](../reference/glossary.md) -- term disambiguation for System, Resource, systemId, Topology, Settings asymmetry
|
|
48
|
+
- [contracts.md](../reference/contracts.md) -- TypeScript shapes: `SystemModule`, `OrganizationModel`, CRM deal types, lead-gen list/member/artifact types, `CrmToolMap`, `LeadToolMap`, `ListToolMap`, `ActionDef`
|
|
49
|
+
- [feature-flags-and-gating.md](../ui/feature-flags-and-gating.md) -- full three-concept gating model
|
|
50
|
+
- [workflow-recipes.md](../operations/workflow-recipes.md) -- workflow anatomy, adapters, trigger patterns
|
|
51
51
|
|