@elevasis/sdk 1.21.0 → 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 +951 -171
- package/dist/index.d.ts +632 -341
- package/dist/index.js +3102 -142
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.js +19 -1
- package/dist/test-utils/index.d.ts +313 -4
- package/dist/test-utils/index.js +3246 -281
- package/dist/worker/index.js +3041 -80
- package/package.json +3 -3
- 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 +110 -84
- 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 +42 -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 +146 -83
- 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 +226 -219
- 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 +308 -88
- package/reference/scaffold/recipes/add-a-resource.md +134 -110
- package/reference/scaffold/recipes/customize-knowledge-browser.md +5 -5
- package/reference/scaffold/recipes/customize-organization-model.md +273 -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 +400 -400
- 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 +2101 -2096
- 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,27 +1,27 @@
|
|
|
1
|
-
# Git Sync And Sync Notes Workflow
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The template now ships a dedicated `/git-sync` command and a `.claude/sync-notes/` contract for downstream release guidance. This separates plain git transport from manual template reconciliation work.
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
All template-derived projects that pull this train and previously relied on `/sync` for pull-plus-reinstall behavior.
|
|
10
|
-
|
|
11
|
-
## Required actions
|
|
12
|
-
|
|
13
|
-
- Use `/git-sync` for future release-train pulls so new sync notes are surfaced automatically
|
|
14
|
-
- Keep using `/sync` only for local cache resets or fresh reinstalls when git transport is not part of the task
|
|
15
|
-
- Read any newly introduced note file after `/git-sync` and apply the listed manual follow-up before considering the update complete
|
|
16
|
-
|
|
17
|
-
## Verification
|
|
18
|
-
|
|
19
|
-
- Run `/git-sync`
|
|
20
|
-
- Confirm it reports this note as newly introduced on the first pull that contains it
|
|
21
|
-
- Confirm the baseline verification flow passes or follow the reported failure
|
|
22
|
-
|
|
23
|
-
## Not handled by /git-sync
|
|
24
|
-
|
|
25
|
-
- registry/template reconciliation
|
|
26
|
-
- project-specific migration edits
|
|
27
|
-
- conflict resolution in project-owned files
|
|
1
|
+
# Git Sync And Sync Notes Workflow
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
The template now ships a dedicated `/git-sync` command and a `.claude/sync-notes/` contract for downstream release guidance. This separates plain git transport from manual template reconciliation work.
|
|
6
|
+
|
|
7
|
+
## Applies to
|
|
8
|
+
|
|
9
|
+
All template-derived projects that pull this train and previously relied on `/sync` for pull-plus-reinstall behavior.
|
|
10
|
+
|
|
11
|
+
## Required actions
|
|
12
|
+
|
|
13
|
+
- Use `/git-sync` for future release-train pulls so new sync notes are surfaced automatically
|
|
14
|
+
- Keep using `/sync` only for local cache resets or fresh reinstalls when git transport is not part of the task
|
|
15
|
+
- Read any newly introduced note file after `/git-sync` and apply the listed manual follow-up before considering the update complete
|
|
16
|
+
|
|
17
|
+
## Verification
|
|
18
|
+
|
|
19
|
+
- Run `/git-sync`
|
|
20
|
+
- Confirm it reports this note as newly introduced on the first pull that contains it
|
|
21
|
+
- Confirm the baseline verification flow passes or follow the reported failure
|
|
22
|
+
|
|
23
|
+
## Not handled by /git-sync
|
|
24
|
+
|
|
25
|
+
- registry/template reconciliation
|
|
26
|
+
- project-specific migration edits
|
|
27
|
+
- conflict resolution in project-owned files
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
# Lead Gen Deliverability Page Removal
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
`LeadGenDeliverabilityPage` has been removed from the published `@elevasis/ui` package. The deliverability route and sidebar nav item were removed from the shared lead-gen surface. Template-derived projects that still import or route to this page will fail to compile after pulling this train.
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
All template-derived projects that use the lead-gen feature and have a `ui/src/routes/lead-gen/deliverability.tsx` route file or a deliverability entry in their lead-gen sidebar.
|
|
10
|
-
|
|
11
|
-
Known affected projects: `nirvana-marketing`, `ZentaraHQ`.
|
|
12
|
-
|
|
13
|
-
## Required actions
|
|
14
|
-
|
|
15
|
-
1. Delete `ui/src/routes/lead-gen/deliverability.tsx` — this file is completely removed (no redirect replacement).
|
|
16
|
-
2. Remove the deliverability nav item from any project-local lead-gen sidebar overrides that reference it by ID or label.
|
|
17
|
-
3. Remove any import of `LeadGenDeliverabilityPage` from route trees, lazy-loaded chunks, or custom page wrappers.
|
|
18
|
-
4. Regenerate the TanStack Router route tree (`pnpm -C ui exec tsr generate` or equivalent) after removing the route file so the generated routeTree no longer references the deleted route.
|
|
19
|
-
5. Run `pnpm -C ui build` to confirm the build is clean.
|
|
20
|
-
|
|
21
|
-
## Verification
|
|
22
|
-
|
|
23
|
-
- `pnpm -C ui build` passes with no import or route errors.
|
|
24
|
-
- Navigating to `/lead-gen` works; navigating to `/lead-gen/deliverability` either 404s or redirects as expected by the project's router config.
|
|
25
|
-
|
|
26
|
-
## Not handled by /git-sync
|
|
27
|
-
|
|
28
|
-
- `/git-sync` pulls the template source change (removal of `deliverability.tsx` from `_template/ui/src/routes/lead-gen/`), but it does not automatically delete project-owned route files that still import `LeadGenDeliverabilityPage`.
|
|
29
|
-
- Any project-local sidebar override that hard-references the deliverability nav entry must be manually cleaned up.
|
|
30
|
-
- The route tree regeneration step must be run manually after route file removal.
|
|
1
|
+
# Lead Gen Deliverability Page Removal
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
`LeadGenDeliverabilityPage` has been removed from the published `@elevasis/ui` package. The deliverability route and sidebar nav item were removed from the shared lead-gen surface. Template-derived projects that still import or route to this page will fail to compile after pulling this train.
|
|
6
|
+
|
|
7
|
+
## Applies to
|
|
8
|
+
|
|
9
|
+
All template-derived projects that use the lead-gen feature and have a `ui/src/routes/lead-gen/deliverability.tsx` route file or a deliverability entry in their lead-gen sidebar.
|
|
10
|
+
|
|
11
|
+
Known affected projects: `nirvana-marketing`, `ZentaraHQ`.
|
|
12
|
+
|
|
13
|
+
## Required actions
|
|
14
|
+
|
|
15
|
+
1. Delete `ui/src/routes/lead-gen/deliverability.tsx` — this file is completely removed (no redirect replacement).
|
|
16
|
+
2. Remove the deliverability nav item from any project-local lead-gen sidebar overrides that reference it by ID or label.
|
|
17
|
+
3. Remove any import of `LeadGenDeliverabilityPage` from route trees, lazy-loaded chunks, or custom page wrappers.
|
|
18
|
+
4. Regenerate the TanStack Router route tree (`pnpm -C ui exec tsr generate` or equivalent) after removing the route file so the generated routeTree no longer references the deleted route.
|
|
19
|
+
5. Run `pnpm -C ui build` to confirm the build is clean.
|
|
20
|
+
|
|
21
|
+
## Verification
|
|
22
|
+
|
|
23
|
+
- `pnpm -C ui build` passes with no import or route errors.
|
|
24
|
+
- Navigating to `/lead-gen` works; navigating to `/lead-gen/deliverability` either 404s or redirects as expected by the project's router config.
|
|
25
|
+
|
|
26
|
+
## Not handled by /git-sync
|
|
27
|
+
|
|
28
|
+
- `/git-sync` pulls the template source change (removal of `deliverability.tsx` from `_template/ui/src/routes/lead-gen/`), but it does not automatically delete project-owned route files that still import `LeadGenDeliverabilityPage`.
|
|
29
|
+
- Any project-local sidebar override that hard-references the deliverability nav entry must be manually cleaned up.
|
|
30
|
+
- The route tree regeneration step must be run manually after route file removal.
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
# Test Utils And Template Tests
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This update adds meaningful package, template, and downstream test coverage while keeping ownership boundaries clear. Package-owned contracts live in package tests/test-utils; `_template` keeps scaffold smoke tests and examples; downstream projects keep custom tests for project-specific workflows and routes.
|
|
6
|
-
|
|
7
|
-
The new package-level test-utils subpaths are being prepared in the monorepo packages:
|
|
8
|
-
|
|
9
|
-
- `@elevasis/core/test-utils`
|
|
10
|
-
- `@elevasis/ui/test-utils`
|
|
11
|
-
- `@elevasis/sdk/test-utils`
|
|
12
|
-
|
|
13
|
-
Until the bundled release train publishes those expanded package surfaces, `_template` keeps small local compatibility wrappers for tests that need the new helpers. Do not replace those wrappers with local `file:` dependencies.
|
|
14
|
-
|
|
15
|
-
## Applies to
|
|
16
|
-
|
|
17
|
-
All template-derived projects that sync from `external/_template`.
|
|
18
|
-
|
|
19
|
-
Known affected projects: `nirvana-marketing`, `ZentaraHQ`.
|
|
20
|
-
|
|
21
|
-
## Required actions
|
|
22
|
-
|
|
23
|
-
### Step 1 -- Pull template changes via `/git-sync`
|
|
24
|
-
|
|
25
|
-
Accept the new tests under sync-managed scaffold surfaces:
|
|
26
|
-
|
|
27
|
-
- `ui/src/routes/__tests__/`
|
|
28
|
-
- `core/types/**`
|
|
29
|
-
- `core/config/**`
|
|
30
|
-
- local core compatibility helpers under `core/test-utils/`
|
|
31
|
-
|
|
32
|
-
Operations tests are intentionally narrower. Treat `operations/src/**` as project-owned runtime code. Only keep or add Operations tests in a downstream project when the project owns the workflow/module being tested. The template's email-notification tests are examples, not a requirement for every derived project.
|
|
33
|
-
|
|
34
|
-
### Step 2 -- Run the expanded test chain
|
|
35
|
-
|
|
36
|
-
From project root:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
pnpm test
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
The root test script now runs `operations check` between UI and operations tests so resource-registry drift fails during ordinary test runs.
|
|
43
|
-
|
|
44
|
-
### Step 3 -- Keep compatibility wrappers until the bundled release lands
|
|
45
|
-
|
|
46
|
-
Do not delete any local compatibility wrapper that is still used by a project-owned custom test until the project has upgraded to package versions that publish the expanded test-utils subpaths.
|
|
47
|
-
|
|
48
|
-
After the release train lands, projects can migrate local compatibility imports to:
|
|
49
|
-
|
|
50
|
-
```ts
|
|
51
|
-
import { renderWithProviders } from '@elevasis/ui/test-utils'
|
|
52
|
-
import { makeProject } from '@elevasis/core/test-utils'
|
|
53
|
-
import { runWorkflow } from '@elevasis/sdk/test-utils'
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Step 4 -- Adjust only for intentionally removed features
|
|
57
|
-
|
|
58
|
-
If a derived project intentionally removed a feature route or workflow, skip or adjust the specific synced test case. For Operations, prefer project-owned tests that import package helpers over copied template workflow tests.
|
|
59
|
-
|
|
60
|
-
## Verification
|
|
61
|
-
|
|
62
|
-
- `pnpm -C ui test` passes.
|
|
63
|
-
- `pnpm -C operations check` passes.
|
|
64
|
-
- `pnpm -C operations test` passes.
|
|
65
|
-
- `pnpm -C core test` passes.
|
|
66
|
-
- `pnpm test` passes from project root.
|
|
67
|
-
|
|
68
|
-
## Not handled by /git-sync
|
|
69
|
-
|
|
70
|
-
- `/git-sync` does not publish or upgrade `@elevasis/*` package versions.
|
|
71
|
-
- `/git-sync` does not remove compatibility wrappers after the release train.
|
|
72
|
-
- `/git-sync` does not decide how a project-specific removed feature should be represented in tests.
|
|
73
|
-
- `/git-sync` does not force template-only Operations example tests into downstream projects that do not own the matching workflow files.
|
|
1
|
+
# Test Utils And Template Tests
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This update adds meaningful package, template, and downstream test coverage while keeping ownership boundaries clear. Package-owned contracts live in package tests/test-utils; `_template` keeps scaffold smoke tests and examples; downstream projects keep custom tests for project-specific workflows and routes.
|
|
6
|
+
|
|
7
|
+
The new package-level test-utils subpaths are being prepared in the monorepo packages:
|
|
8
|
+
|
|
9
|
+
- `@elevasis/core/test-utils`
|
|
10
|
+
- `@elevasis/ui/test-utils`
|
|
11
|
+
- `@elevasis/sdk/test-utils`
|
|
12
|
+
|
|
13
|
+
Until the bundled release train publishes those expanded package surfaces, `_template` keeps small local compatibility wrappers for tests that need the new helpers. Do not replace those wrappers with local `file:` dependencies.
|
|
14
|
+
|
|
15
|
+
## Applies to
|
|
16
|
+
|
|
17
|
+
All template-derived projects that sync from `external/_template`.
|
|
18
|
+
|
|
19
|
+
Known affected projects: `nirvana-marketing`, `ZentaraHQ`.
|
|
20
|
+
|
|
21
|
+
## Required actions
|
|
22
|
+
|
|
23
|
+
### Step 1 -- Pull template changes via `/git-sync`
|
|
24
|
+
|
|
25
|
+
Accept the new tests under sync-managed scaffold surfaces:
|
|
26
|
+
|
|
27
|
+
- `ui/src/routes/__tests__/`
|
|
28
|
+
- `core/types/**`
|
|
29
|
+
- `core/config/**`
|
|
30
|
+
- local core compatibility helpers under `core/test-utils/`
|
|
31
|
+
|
|
32
|
+
Operations tests are intentionally narrower. Treat `operations/src/**` as project-owned runtime code. Only keep or add Operations tests in a downstream project when the project owns the workflow/module being tested. The template's email-notification tests are examples, not a requirement for every derived project.
|
|
33
|
+
|
|
34
|
+
### Step 2 -- Run the expanded test chain
|
|
35
|
+
|
|
36
|
+
From project root:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
pnpm test
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The root test script now runs `operations check` between UI and operations tests so resource-registry drift fails during ordinary test runs.
|
|
43
|
+
|
|
44
|
+
### Step 3 -- Keep compatibility wrappers until the bundled release lands
|
|
45
|
+
|
|
46
|
+
Do not delete any local compatibility wrapper that is still used by a project-owned custom test until the project has upgraded to package versions that publish the expanded test-utils subpaths.
|
|
47
|
+
|
|
48
|
+
After the release train lands, projects can migrate local compatibility imports to:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { renderWithProviders } from '@elevasis/ui/test-utils'
|
|
52
|
+
import { makeProject } from '@elevasis/core/test-utils'
|
|
53
|
+
import { runWorkflow } from '@elevasis/sdk/test-utils'
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Step 4 -- Adjust only for intentionally removed features
|
|
57
|
+
|
|
58
|
+
If a derived project intentionally removed a feature route or workflow, skip or adjust the specific synced test case. For Operations, prefer project-owned tests that import package helpers over copied template workflow tests.
|
|
59
|
+
|
|
60
|
+
## Verification
|
|
61
|
+
|
|
62
|
+
- `pnpm -C ui test` passes.
|
|
63
|
+
- `pnpm -C operations check` passes.
|
|
64
|
+
- `pnpm -C operations test` passes.
|
|
65
|
+
- `pnpm -C core test` passes.
|
|
66
|
+
- `pnpm test` passes from project root.
|
|
67
|
+
|
|
68
|
+
## Not handled by /git-sync
|
|
69
|
+
|
|
70
|
+
- `/git-sync` does not publish or upgrade `@elevasis/*` package versions.
|
|
71
|
+
- `/git-sync` does not remove compatibility wrappers after the release train.
|
|
72
|
+
- `/git-sync` does not decide how a project-specific removed feature should be represented in tests.
|
|
73
|
+
- `/git-sync` does not force template-only Operations example tests into downstream projects that do not own the matching workflow files.
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
# UI Consolidation And SDK CLI Train
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This release train combines three changes that affect derived projects after `pnpm up`:
|
|
6
|
-
|
|
7
|
-
1. `@elevasis/ui` 2.18.x consolidates previously-duplicated template surface (hooks, components, constants, utilities, test-utils, org-model examples) into the published package. Files that lived in `_template/ui/src/lib/**`, `_template/ui/src/test-utils/**`, and `_template/scripts/use-*-ui.mjs` are deleted from the template and re-exported from `@elevasis/ui`. A `useDeleteRequest` hook and a rollup dts fix also land in this `@elevasis/ui` version.
|
|
8
|
-
2. `@elevasis/sdk` hardens project-root and CWD resolution in the `elevasis-sdk` CLI. Unsupported invocation directories now fail fast with a clear error instead of silently using `process.cwd()`.
|
|
9
|
-
3. `@elevasis/sdk` + `@elevasis/core` + `@elevasis/ui` close three `project:*` / `request:submit` CLI gaps: `--description` on `project:milestone:update`, `agent_learning` note-type enum alignment between `/project` skill docs and the server, and enum values surfaced in `request:submit --help`.
|
|
10
|
-
|
|
11
|
-
## Applies to
|
|
12
|
-
|
|
13
|
-
All template-derived projects that:
|
|
14
|
-
|
|
15
|
-
- import from `@elevasis/ui` (nearly all of them),
|
|
16
|
-
- run the `elevasis-sdk` CLI from any project directory (all of them),
|
|
17
|
-
- invoke `project:milestone:update`, `project:note:create --type agent_learning`, or `request:submit`.
|
|
18
|
-
|
|
19
|
-
Known affected projects: `nirvana-marketing`, `ZentaraHQ`.
|
|
20
|
-
|
|
21
|
-
## Required actions
|
|
22
|
-
|
|
23
|
-
### Step 1 -- Pull the train via `/git-sync`
|
|
24
|
-
|
|
25
|
-
`/git-sync` surfaces this note and applies template-source changes (deletions of `ui/src/lib/**`, `ui/src/test-utils/**`, `scripts/use-*-ui.mjs`).
|
|
26
|
-
|
|
27
|
-
### Step 2 -- Update package dependencies
|
|
28
|
-
|
|
29
|
-
Run from project root:
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
pnpm up @elevasis/ui @elevasis/core @elevasis/sdk --latest
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Dep bumps are already written into `_template/ui/package.json`, `_template/operations/package.json`, and `_template/core/package.json` by the release train (`@elevasis/core` ^0.9.0, `@elevasis/ui` ^2.19.0, `@elevasis/sdk` ^1.9.0).
|
|
36
|
-
|
|
37
|
-
### Step 3 -- Replace inlined type defs with package imports
|
|
38
|
-
|
|
39
|
-
Projects that copied the Phase-1 workaround carry six inlined symbols in `ui/src/lib/platform-utils.ts` that should now come from `@elevasis/ui`:
|
|
40
|
-
|
|
41
|
-
- `CredentialSchema`, `CredentialField`, `OAuthProviderConfig`, `OAuthToken`, `OAuthState` -> `@elevasis/ui/types`
|
|
42
|
-
- `DOMAIN_MAP` -> `@elevasis/ui/utils`
|
|
43
|
-
|
|
44
|
-
Delete the inlined copies and replace with named imports from the appropriate subpaths. After the edit, `ui/src/lib/platform-utils.ts` should only contain Elevasis-specific symbols and the new imports.
|
|
45
|
-
|
|
46
|
-
### Step 4 -- Re-verify `elevasis-sdk` invocations
|
|
47
|
-
|
|
48
|
-
From any dir you routinely invoke the SDK CLI, run:
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
pnpm exec elevasis-sdk doctor
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
If the command fails with a "no `.elevasis` marker reachable" error, re-run from a supported directory (project root, `operations/`, or any nested path under a valid project). Previously-silent misfires now surface as hard errors; this is intentional.
|
|
55
|
-
|
|
56
|
-
### Step 5 -- Audit `project:note:create --type agent_learning` call sites
|
|
57
|
-
|
|
58
|
-
If any project scripts or agent prompts call `project:note:create --type agent_learning`, verify they match the server enum decision (the train either adds `agent_learning` to the enum or strips it from `/project` skill docs -- check the landed behavior in `pnpm exec elevasis-sdk project:note:create --help` and in the project's synced `/project` SKILL).
|
|
59
|
-
|
|
60
|
-
### Step 6 -- Rebuild and type-check
|
|
61
|
-
|
|
62
|
-
Run from project root:
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
pnpm -C ui build
|
|
66
|
-
pnpm -C ui exec tsc --noEmit
|
|
67
|
-
pnpm -C operations exec tsc --noEmit
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
All three must pass before the update is complete.
|
|
71
|
-
|
|
72
|
-
## Verification
|
|
73
|
-
|
|
74
|
-
- `pnpm up` completes cleanly.
|
|
75
|
-
- `ui/src/lib/platform-utils.ts` contains no inlined `CredentialSchema | CredentialField | OAuthProviderConfig | OAuthToken | OAuthState | DOMAIN_MAP` definitions -- only imports from `@elevasis/ui`.
|
|
76
|
-
- `pnpm -C ui exec tsc --noEmit` passes with no missing-module errors for `@elevasis/ui/hooks`, `@elevasis/ui/components`, `@elevasis/ui/constants`, `@elevasis/ui/utils`, `@elevasis/ui/test-utils`.
|
|
77
|
-
- `pnpm exec elevasis-sdk doctor` reports project root correctly from the directories you use.
|
|
78
|
-
- `pnpm exec elevasis-sdk project:milestone:update --help` lists `--description`.
|
|
79
|
-
- `pnpm exec elevasis-sdk request:submit --help` shows enum values for `--type`, `--category`, `--severity`.
|
|
80
|
-
|
|
81
|
-
## Not handled by /git-sync
|
|
82
|
-
|
|
83
|
-
- `/git-sync` does not run `pnpm up` -- Step 2 is manual.
|
|
84
|
-
- `/git-sync` does not rewrite project-owned `ui/src/lib/platform-utils.ts` -- the inlined-to-imports swap in Step 3 is manual per project.
|
|
85
|
-
- `/git-sync` does not validate SDK CLI behavior from project terminals -- Step 4 verification is manual.
|
|
86
|
-
- Any project-local override that hard-references the deleted `_template/ui/src/lib/**` paths must be cleaned up manually.
|
|
1
|
+
# UI Consolidation And SDK CLI Train
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This release train combines three changes that affect derived projects after `pnpm up`:
|
|
6
|
+
|
|
7
|
+
1. `@elevasis/ui` 2.18.x consolidates previously-duplicated template surface (hooks, components, constants, utilities, test-utils, org-model examples) into the published package. Files that lived in `_template/ui/src/lib/**`, `_template/ui/src/test-utils/**`, and `_template/scripts/use-*-ui.mjs` are deleted from the template and re-exported from `@elevasis/ui`. A `useDeleteRequest` hook and a rollup dts fix also land in this `@elevasis/ui` version.
|
|
8
|
+
2. `@elevasis/sdk` hardens project-root and CWD resolution in the `elevasis-sdk` CLI. Unsupported invocation directories now fail fast with a clear error instead of silently using `process.cwd()`.
|
|
9
|
+
3. `@elevasis/sdk` + `@elevasis/core` + `@elevasis/ui` close three `project:*` / `request:submit` CLI gaps: `--description` on `project:milestone:update`, `agent_learning` note-type enum alignment between `/project` skill docs and the server, and enum values surfaced in `request:submit --help`.
|
|
10
|
+
|
|
11
|
+
## Applies to
|
|
12
|
+
|
|
13
|
+
All template-derived projects that:
|
|
14
|
+
|
|
15
|
+
- import from `@elevasis/ui` (nearly all of them),
|
|
16
|
+
- run the `elevasis-sdk` CLI from any project directory (all of them),
|
|
17
|
+
- invoke `project:milestone:update`, `project:note:create --type agent_learning`, or `request:submit`.
|
|
18
|
+
|
|
19
|
+
Known affected projects: `nirvana-marketing`, `ZentaraHQ`.
|
|
20
|
+
|
|
21
|
+
## Required actions
|
|
22
|
+
|
|
23
|
+
### Step 1 -- Pull the train via `/git-sync`
|
|
24
|
+
|
|
25
|
+
`/git-sync` surfaces this note and applies template-source changes (deletions of `ui/src/lib/**`, `ui/src/test-utils/**`, `scripts/use-*-ui.mjs`).
|
|
26
|
+
|
|
27
|
+
### Step 2 -- Update package dependencies
|
|
28
|
+
|
|
29
|
+
Run from project root:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
pnpm up @elevasis/ui @elevasis/core @elevasis/sdk --latest
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Dep bumps are already written into `_template/ui/package.json`, `_template/operations/package.json`, and `_template/core/package.json` by the release train (`@elevasis/core` ^0.9.0, `@elevasis/ui` ^2.19.0, `@elevasis/sdk` ^1.9.0).
|
|
36
|
+
|
|
37
|
+
### Step 3 -- Replace inlined type defs with package imports
|
|
38
|
+
|
|
39
|
+
Projects that copied the Phase-1 workaround carry six inlined symbols in `ui/src/lib/platform-utils.ts` that should now come from `@elevasis/ui`:
|
|
40
|
+
|
|
41
|
+
- `CredentialSchema`, `CredentialField`, `OAuthProviderConfig`, `OAuthToken`, `OAuthState` -> `@elevasis/ui/types`
|
|
42
|
+
- `DOMAIN_MAP` -> `@elevasis/ui/utils`
|
|
43
|
+
|
|
44
|
+
Delete the inlined copies and replace with named imports from the appropriate subpaths. After the edit, `ui/src/lib/platform-utils.ts` should only contain Elevasis-specific symbols and the new imports.
|
|
45
|
+
|
|
46
|
+
### Step 4 -- Re-verify `elevasis-sdk` invocations
|
|
47
|
+
|
|
48
|
+
From any dir you routinely invoke the SDK CLI, run:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
pnpm exec elevasis-sdk doctor
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
If the command fails with a "no `.elevasis` marker reachable" error, re-run from a supported directory (project root, `operations/`, or any nested path under a valid project). Previously-silent misfires now surface as hard errors; this is intentional.
|
|
55
|
+
|
|
56
|
+
### Step 5 -- Audit `project:note:create --type agent_learning` call sites
|
|
57
|
+
|
|
58
|
+
If any project scripts or agent prompts call `project:note:create --type agent_learning`, verify they match the server enum decision (the train either adds `agent_learning` to the enum or strips it from `/project` skill docs -- check the landed behavior in `pnpm exec elevasis-sdk project:note:create --help` and in the project's synced `/project` SKILL).
|
|
59
|
+
|
|
60
|
+
### Step 6 -- Rebuild and type-check
|
|
61
|
+
|
|
62
|
+
Run from project root:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
pnpm -C ui build
|
|
66
|
+
pnpm -C ui exec tsc --noEmit
|
|
67
|
+
pnpm -C operations exec tsc --noEmit
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
All three must pass before the update is complete.
|
|
71
|
+
|
|
72
|
+
## Verification
|
|
73
|
+
|
|
74
|
+
- `pnpm up` completes cleanly.
|
|
75
|
+
- `ui/src/lib/platform-utils.ts` contains no inlined `CredentialSchema | CredentialField | OAuthProviderConfig | OAuthToken | OAuthState | DOMAIN_MAP` definitions -- only imports from `@elevasis/ui`.
|
|
76
|
+
- `pnpm -C ui exec tsc --noEmit` passes with no missing-module errors for `@elevasis/ui/hooks`, `@elevasis/ui/components`, `@elevasis/ui/constants`, `@elevasis/ui/utils`, `@elevasis/ui/test-utils`.
|
|
77
|
+
- `pnpm exec elevasis-sdk doctor` reports project root correctly from the directories you use.
|
|
78
|
+
- `pnpm exec elevasis-sdk project:milestone:update --help` lists `--description`.
|
|
79
|
+
- `pnpm exec elevasis-sdk request:submit --help` shows enum values for `--type`, `--category`, `--severity`.
|
|
80
|
+
|
|
81
|
+
## Not handled by /git-sync
|
|
82
|
+
|
|
83
|
+
- `/git-sync` does not run `pnpm up` -- Step 2 is manual.
|
|
84
|
+
- `/git-sync` does not rewrite project-owned `ui/src/lib/platform-utils.ts` -- the inlined-to-imports swap in Step 3 is manual per project.
|
|
85
|
+
- `/git-sync` does not validate SDK CLI behavior from project terminals -- Step 4 verification is manual.
|
|
86
|
+
- Any project-local override that hard-references the deleted `_template/ui/src/lib/**` paths must be cleaned up manually.
|
package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
# Auth Role System And Settings Roles
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The Org OS default surface now includes `settings.roles` at `/settings/roles`. Template-derived projects that update to the matching `@elevasis/core` release will receive the Settings navigation entry, so the template now ships a self-view route for members to see their current role and effective permission groups.
|
|
6
|
-
|
|
7
|
-
This route depends on the published `@elevasis/ui` provider/layout/auth exports that the template already uses, plus the backend role and permission endpoints introduced by the same release train. The release train also publishes reusable role hooks and primitives for custom app code that wants the richer role-management surfaces.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
All template-derived projects that sync from `external/_template` and update to the auth role system release train.
|
|
12
|
-
|
|
13
|
-
This is especially relevant for projects that expose the default Settings navigation from `@elevasis/core` organization-model surfaces or run a project-local organization model derived from those defaults.
|
|
14
|
-
|
|
15
|
-
## Required actions
|
|
16
|
-
|
|
17
|
-
1. Pull template changes with `/git-sync` so `ui/src/routes/settings/roles.tsx` is available.
|
|
18
|
-
2. Update project packages after the release train is published:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
pnpm up @elevasis/core @elevasis/ui --latest
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
3. Confirm the project API target is deployed to a backend version that includes the auth role endpoints used by the published UI hooks:
|
|
25
|
-
|
|
26
|
-
- `GET /permissions/catalog`
|
|
27
|
-
- `GET /memberships/my-permissions/:orgId`
|
|
28
|
-
- role-management endpoints under `/organizations/:orgId/roles`
|
|
29
|
-
- membership role and effective-permission endpoints under `/memberships/:membershipId`
|
|
30
|
-
|
|
31
|
-
4. Rebuild any project-local route tree artifacts if your project does not regenerate TanStack Router routes during normal dev/build startup.
|
|
32
|
-
|
|
33
|
-
## Verification
|
|
34
|
-
|
|
35
|
-
Run from the project root after package updates and backend deployment:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
pnpm -C ui check-types
|
|
39
|
-
pnpm -C ui build
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Then sign in to the UI, open `/settings/roles`, and verify:
|
|
43
|
-
|
|
44
|
-
- the page is protected for authenticated organization members,
|
|
45
|
-
- the current membership role badge is visible,
|
|
46
|
-
- grouped effective permissions render,
|
|
47
|
-
- permission descriptions load from the catalog endpoint,
|
|
48
|
-
- no Settings navigation item points to a missing route.
|
|
49
|
-
|
|
50
|
-
## Not handled by /git-sync
|
|
51
|
-
|
|
52
|
-
- `/git-sync` does not publish or upgrade `@elevasis/core` or `@elevasis/ui`.
|
|
53
|
-
- `/git-sync` does not deploy the API/backend version that serves the role and permission endpoints.
|
|
54
|
-
- `/git-sync` does not reconcile project-owned organization-model overrides that intentionally remove or rename Settings surfaces.
|
|
55
|
-
- `/git-sync` does not validate downstream auth state, role assignments, or production API connectivity.
|
|
1
|
+
# Auth Role System And Settings Roles
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
The Org OS default surface now includes `settings.roles` at `/settings/roles`. Template-derived projects that update to the matching `@elevasis/core` release will receive the Settings navigation entry, so the template now ships a self-view route for members to see their current role and effective permission groups.
|
|
6
|
+
|
|
7
|
+
This route depends on the published `@elevasis/ui` provider/layout/auth exports that the template already uses, plus the backend role and permission endpoints introduced by the same release train. The release train also publishes reusable role hooks and primitives for custom app code that wants the richer role-management surfaces.
|
|
8
|
+
|
|
9
|
+
## Applies to
|
|
10
|
+
|
|
11
|
+
All template-derived projects that sync from `external/_template` and update to the auth role system release train.
|
|
12
|
+
|
|
13
|
+
This is especially relevant for projects that expose the default Settings navigation from `@elevasis/core` organization-model surfaces or run a project-local organization model derived from those defaults.
|
|
14
|
+
|
|
15
|
+
## Required actions
|
|
16
|
+
|
|
17
|
+
1. Pull template changes with `/git-sync` so `ui/src/routes/settings/roles.tsx` is available.
|
|
18
|
+
2. Update project packages after the release train is published:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pnpm up @elevasis/core @elevasis/ui --latest
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
3. Confirm the project API target is deployed to a backend version that includes the auth role endpoints used by the published UI hooks:
|
|
25
|
+
|
|
26
|
+
- `GET /permissions/catalog`
|
|
27
|
+
- `GET /memberships/my-permissions/:orgId`
|
|
28
|
+
- role-management endpoints under `/organizations/:orgId/roles`
|
|
29
|
+
- membership role and effective-permission endpoints under `/memberships/:membershipId`
|
|
30
|
+
|
|
31
|
+
4. Rebuild any project-local route tree artifacts if your project does not regenerate TanStack Router routes during normal dev/build startup.
|
|
32
|
+
|
|
33
|
+
## Verification
|
|
34
|
+
|
|
35
|
+
Run from the project root after package updates and backend deployment:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pnpm -C ui check-types
|
|
39
|
+
pnpm -C ui build
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Then sign in to the UI, open `/settings/roles`, and verify:
|
|
43
|
+
|
|
44
|
+
- the page is protected for authenticated organization members,
|
|
45
|
+
- the current membership role badge is visible,
|
|
46
|
+
- grouped effective permissions render,
|
|
47
|
+
- permission descriptions load from the catalog endpoint,
|
|
48
|
+
- no Settings navigation item points to a missing route.
|
|
49
|
+
|
|
50
|
+
## Not handled by /git-sync
|
|
51
|
+
|
|
52
|
+
- `/git-sync` does not publish or upgrade `@elevasis/core` or `@elevasis/ui`.
|
|
53
|
+
- `/git-sync` does not deploy the API/backend version that serves the role and permission endpoints.
|
|
54
|
+
- `/git-sync` does not reconcile project-owned organization-model overrides that intentionally remove or rename Settings surfaces.
|
|
55
|
+
- `/git-sync` does not validate downstream auth state, role assignments, or production API connectivity.
|