@elevasis/sdk 1.25.0 → 1.26.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 +87 -120
- package/dist/index.d.ts +220 -50
- package/dist/index.js +4 -435
- package/dist/node/index.d.ts +46 -38
- package/dist/test-utils/index.d.ts +154 -40
- package/dist/test-utils/index.js +27 -355
- package/dist/types/worker/adapters/clickup.d.ts +22 -0
- package/dist/types/worker/adapters/index.d.ts +1 -0
- package/dist/worker/index.js +32 -354
- 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/skills/setup/SKILL.md +2 -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/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +49 -0
- package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +42 -0
- package/reference/cli-management.mdx +541 -0
- package/reference/cli.mdx +4 -532
- 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/examples/organization-model.ts +14 -4
- 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/extend-lead-gen.md +130 -77
- package/reference/scaffold/reference/contracts.md +376 -446
- 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
package/dist/cli.cjs
CHANGED
|
@@ -37181,15 +37181,55 @@ var ResourceMappingSchema = DisplayMetadataSchema.extend({
|
|
|
37181
37181
|
|
|
37182
37182
|
// ../core/src/organization-model/domains/branding.ts
|
|
37183
37183
|
var OrganizationModelBrandingSchema = external_exports.object({
|
|
37184
|
+
/**
|
|
37185
|
+
* @deprecated Prefer `identity.organizationName`; branding retains it for back-compat.
|
|
37186
|
+
* Legacy tenants that have not set `identity.organizationName` fall back to this field.
|
|
37187
|
+
*/
|
|
37184
37188
|
organizationName: LabelSchema,
|
|
37189
|
+
/**
|
|
37190
|
+
* @deprecated Prefer `identity.productName`; branding retains it for back-compat.
|
|
37191
|
+
* Legacy tenants that have not set `identity.productName` fall back to this field.
|
|
37192
|
+
*/
|
|
37185
37193
|
productName: LabelSchema,
|
|
37194
|
+
/**
|
|
37195
|
+
* @deprecated Prefer `identity.shortName`; branding retains it for back-compat.
|
|
37196
|
+
* Legacy tenants that have not set `identity.shortName` fall back to this field.
|
|
37197
|
+
*/
|
|
37186
37198
|
shortName: external_exports.string().trim().min(1).max(40),
|
|
37199
|
+
/**
|
|
37200
|
+
* @deprecated Prefer `identity.description`; branding retains it for back-compat.
|
|
37201
|
+
* Legacy tenants that have not set `identity.description` fall back to this field.
|
|
37202
|
+
*/
|
|
37187
37203
|
description: DescriptionSchema.optional(),
|
|
37188
37204
|
logos: external_exports.object({
|
|
37189
37205
|
light: external_exports.string().trim().min(1).max(2048).optional(),
|
|
37190
37206
|
dark: external_exports.string().trim().min(1).max(2048).optional()
|
|
37191
|
-
}).default({})
|
|
37192
|
-
|
|
37207
|
+
}).default({}),
|
|
37208
|
+
/**
|
|
37209
|
+
* Brand voice — how the organization communicates. Plain-language description
|
|
37210
|
+
* of tone, register, and personality (e.g. "Direct and human — no jargon").
|
|
37211
|
+
* Max 280 characters.
|
|
37212
|
+
*/
|
|
37213
|
+
voice: external_exports.string().trim().max(280).optional(),
|
|
37214
|
+
/**
|
|
37215
|
+
* Brand tagline or positioning statement — the memorable one-liner that
|
|
37216
|
+
* captures the brand's promise or differentiator. Max 200 characters.
|
|
37217
|
+
*/
|
|
37218
|
+
tagline: external_exports.string().trim().max(200).optional(),
|
|
37219
|
+
/**
|
|
37220
|
+
* Core brand values — an ordered list of principles the organization stands
|
|
37221
|
+
* for (e.g. ["Transparency", "Craftsmanship", "Velocity"]). Each entry must
|
|
37222
|
+
* be a non-empty trimmed string.
|
|
37223
|
+
*/
|
|
37224
|
+
values: external_exports.array(external_exports.string().trim().min(1)).optional(),
|
|
37225
|
+
/**
|
|
37226
|
+
* ID of the active UI theme preset from the UI theme-presets registry.
|
|
37227
|
+
* The UI layer resolves this to colors and typography via `usePresetsContext()`.
|
|
37228
|
+
* Free-form string — validation and fallback state are handled at the UI layer.
|
|
37229
|
+
* Min 1, max 64 characters.
|
|
37230
|
+
*/
|
|
37231
|
+
themePresetId: external_exports.string().trim().min(1).max(64).optional()
|
|
37232
|
+
}).passthrough();
|
|
37193
37233
|
var DEFAULT_ORGANIZATION_MODEL_BRANDING = {
|
|
37194
37234
|
organizationName: "Default Organization",
|
|
37195
37235
|
productName: "Organization OS",
|
|
@@ -37312,8 +37352,33 @@ var IdentityDomainSchema = external_exports.object({
|
|
|
37312
37352
|
* background. Populated by /setup; surfaced to agents as organizational context.
|
|
37313
37353
|
* Optional — many projects have no external client.
|
|
37314
37354
|
*/
|
|
37315
|
-
clientBrief: external_exports.string().trim().default("")
|
|
37316
|
-
|
|
37355
|
+
clientBrief: external_exports.string().trim().default(""),
|
|
37356
|
+
/**
|
|
37357
|
+
* Display name of the organization as shown to end users.
|
|
37358
|
+
* Recommended placement for display naming — prefer this over the deprecated
|
|
37359
|
+
* `branding.organizationName`. Falls back to `branding.organizationName` for
|
|
37360
|
+
* legacy tenants that have not yet migrated.
|
|
37361
|
+
*/
|
|
37362
|
+
organizationName: LabelSchema.optional(),
|
|
37363
|
+
/**
|
|
37364
|
+
* Display name of the primary product or platform.
|
|
37365
|
+
* Recommended placement for display naming — prefer this over the deprecated
|
|
37366
|
+
* `branding.productName`. Falls back to `branding.productName` for legacy tenants.
|
|
37367
|
+
*/
|
|
37368
|
+
productName: LabelSchema.optional(),
|
|
37369
|
+
/**
|
|
37370
|
+
* Short abbreviated name used in space-constrained UI surfaces (max 40 chars).
|
|
37371
|
+
* Recommended placement for display naming — prefer this over the deprecated
|
|
37372
|
+
* `branding.shortName`. Falls back to `branding.shortName` for legacy tenants.
|
|
37373
|
+
*/
|
|
37374
|
+
shortName: external_exports.string().trim().min(1).max(40).optional(),
|
|
37375
|
+
/**
|
|
37376
|
+
* Plain-language description of the organization for display and discovery.
|
|
37377
|
+
* Recommended placement for display naming — prefer this over the deprecated
|
|
37378
|
+
* `branding.description`. Falls back to `branding.description` for legacy tenants.
|
|
37379
|
+
*/
|
|
37380
|
+
description: DescriptionSchema.optional()
|
|
37381
|
+
}).passthrough();
|
|
37317
37382
|
var DEFAULT_ORGANIZATION_MODEL_IDENTITY = {
|
|
37318
37383
|
mission: "",
|
|
37319
37384
|
vision: "",
|
|
@@ -37447,107 +37512,6 @@ var EntitySchema = external_exports.object({
|
|
|
37447
37512
|
var EntitiesDomainSchema = external_exports.record(external_exports.string(), EntitySchema).refine((record2) => Object.entries(record2).every(([key, entry]) => entry.id === key), {
|
|
37448
37513
|
message: "Each entity entry id must match its map key"
|
|
37449
37514
|
}).default({});
|
|
37450
|
-
var ENTITY_ENTRY_INPUTS = [
|
|
37451
|
-
{
|
|
37452
|
-
id: "crm.deal",
|
|
37453
|
-
order: 10,
|
|
37454
|
-
label: "Deal",
|
|
37455
|
-
description: "A CRM opportunity or sales pipeline record.",
|
|
37456
|
-
ownedBySystemId: "sales.crm",
|
|
37457
|
-
table: "crm_deals",
|
|
37458
|
-
stateCatalogId: "crm.pipeline",
|
|
37459
|
-
links: [{ toEntity: "crm.contact", kind: "has-many", via: "deal_contacts", label: "contacts" }]
|
|
37460
|
-
},
|
|
37461
|
-
{
|
|
37462
|
-
id: "crm.contact",
|
|
37463
|
-
order: 20,
|
|
37464
|
-
label: "CRM Contact",
|
|
37465
|
-
description: "A person associated with a CRM relationship or deal.",
|
|
37466
|
-
ownedBySystemId: "sales.crm",
|
|
37467
|
-
table: "crm_contacts"
|
|
37468
|
-
},
|
|
37469
|
-
{
|
|
37470
|
-
id: "leadgen.list",
|
|
37471
|
-
order: 30,
|
|
37472
|
-
label: "Lead List",
|
|
37473
|
-
description: "A prospecting list that groups companies and contacts for acquisition workflows.",
|
|
37474
|
-
ownedBySystemId: "sales.lead-gen",
|
|
37475
|
-
table: "acq_lists",
|
|
37476
|
-
links: [
|
|
37477
|
-
{ toEntity: "leadgen.company", kind: "has-many", via: "acq_list_companies", label: "companies" },
|
|
37478
|
-
{ toEntity: "leadgen.contact", kind: "has-many", via: "acq_list_members", label: "contacts" }
|
|
37479
|
-
]
|
|
37480
|
-
},
|
|
37481
|
-
{
|
|
37482
|
-
id: "leadgen.company",
|
|
37483
|
-
order: 40,
|
|
37484
|
-
label: "Lead Company",
|
|
37485
|
-
description: "A company record sourced, enriched, and qualified during prospecting.",
|
|
37486
|
-
ownedBySystemId: "sales.lead-gen",
|
|
37487
|
-
table: "acq_list_companies",
|
|
37488
|
-
stateCatalogId: "lead-gen.company",
|
|
37489
|
-
links: [
|
|
37490
|
-
{ toEntity: "leadgen.list", kind: "belongs-to", via: "list_id", label: "list" },
|
|
37491
|
-
{ toEntity: "leadgen.contact", kind: "has-many", via: "company_id", label: "contacts" }
|
|
37492
|
-
]
|
|
37493
|
-
},
|
|
37494
|
-
{
|
|
37495
|
-
id: "leadgen.contact",
|
|
37496
|
-
order: 50,
|
|
37497
|
-
label: "Lead Contact",
|
|
37498
|
-
description: "A prospect contact discovered or enriched during lead generation.",
|
|
37499
|
-
ownedBySystemId: "sales.lead-gen",
|
|
37500
|
-
table: "acq_list_members",
|
|
37501
|
-
stateCatalogId: "lead-gen.contact",
|
|
37502
|
-
links: [
|
|
37503
|
-
{ toEntity: "leadgen.list", kind: "belongs-to", via: "list_id", label: "list" },
|
|
37504
|
-
{ toEntity: "leadgen.company", kind: "belongs-to", via: "company_id", label: "company" }
|
|
37505
|
-
]
|
|
37506
|
-
},
|
|
37507
|
-
{
|
|
37508
|
-
id: "delivery.project",
|
|
37509
|
-
order: 60,
|
|
37510
|
-
label: "Project",
|
|
37511
|
-
description: "A client delivery project.",
|
|
37512
|
-
ownedBySystemId: "projects",
|
|
37513
|
-
table: "projects",
|
|
37514
|
-
links: [
|
|
37515
|
-
{ toEntity: "delivery.milestone", kind: "has-many", via: "project_id", label: "milestones" },
|
|
37516
|
-
{ toEntity: "delivery.task", kind: "has-many", via: "project_id", label: "tasks" }
|
|
37517
|
-
]
|
|
37518
|
-
},
|
|
37519
|
-
{
|
|
37520
|
-
id: "delivery.milestone",
|
|
37521
|
-
order: 70,
|
|
37522
|
-
label: "Milestone",
|
|
37523
|
-
description: "A delivery checkpoint within a project.",
|
|
37524
|
-
ownedBySystemId: "projects",
|
|
37525
|
-
table: "project_milestones",
|
|
37526
|
-
links: [
|
|
37527
|
-
{ toEntity: "delivery.project", kind: "belongs-to", via: "project_id", label: "project" },
|
|
37528
|
-
{ toEntity: "delivery.task", kind: "has-many", via: "milestone_id", label: "tasks" }
|
|
37529
|
-
]
|
|
37530
|
-
},
|
|
37531
|
-
{
|
|
37532
|
-
id: "delivery.task",
|
|
37533
|
-
order: 80,
|
|
37534
|
-
label: "Task",
|
|
37535
|
-
description: "A delivery task that can move through the task status catalog.",
|
|
37536
|
-
ownedBySystemId: "projects",
|
|
37537
|
-
table: "project_tasks",
|
|
37538
|
-
stateCatalogId: "delivery.task",
|
|
37539
|
-
links: [
|
|
37540
|
-
{ toEntity: "delivery.project", kind: "belongs-to", via: "project_id", label: "project" },
|
|
37541
|
-
{ toEntity: "delivery.milestone", kind: "belongs-to", via: "milestone_id", label: "milestone" }
|
|
37542
|
-
]
|
|
37543
|
-
}
|
|
37544
|
-
];
|
|
37545
|
-
var DEFAULT_ORGANIZATION_MODEL_ENTITIES = Object.fromEntries(
|
|
37546
|
-
ENTITY_ENTRY_INPUTS.map((entity) => {
|
|
37547
|
-
const parsed = EntitySchema.parse(entity);
|
|
37548
|
-
return [parsed.id, parsed];
|
|
37549
|
-
})
|
|
37550
|
-
);
|
|
37551
37515
|
|
|
37552
37516
|
// ../core/src/organization-model/domains/actions.ts
|
|
37553
37517
|
var ActionResourceIdSchema = external_exports.string().trim().min(1).max(255).regex(/^[A-Za-z0-9]+(?:[-._][A-Za-z0-9]+)*$/, "Resource IDs must use letters, numbers, -, _, or . separators");
|
|
@@ -38798,7 +38762,7 @@ var OrganizationModelSchemaBase = external_exports.object({
|
|
|
38798
38762
|
resources: ResourcesDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_RESOURCES),
|
|
38799
38763
|
topology: OmTopologyDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_TOPOLOGY),
|
|
38800
38764
|
actions: ActionsDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_ACTIONS),
|
|
38801
|
-
entities: EntitiesDomainSchema.default(
|
|
38765
|
+
entities: EntitiesDomainSchema.default({}),
|
|
38802
38766
|
policies: PoliciesDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_POLICIES),
|
|
38803
38767
|
// D3: flat Record<id, OrgKnowledgeNode> — no wrapper object
|
|
38804
38768
|
knowledge: KnowledgeDomainSchema.default({})
|
|
@@ -38807,7 +38771,7 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine(refineOrga
|
|
|
38807
38771
|
|
|
38808
38772
|
// ../core/src/organization-model/defaults.ts
|
|
38809
38773
|
var DEFAULT_ORGANIZATION_MODEL_KNOWLEDGE = {};
|
|
38810
|
-
var
|
|
38774
|
+
var DEFAULT_ORGANIZATION_MODEL_ENTITIES = {};
|
|
38811
38775
|
var DEFAULT_ORGANIZATION_MODEL_NAVIGATION = {
|
|
38812
38776
|
sidebar: {
|
|
38813
38777
|
primary: {},
|
|
@@ -38835,7 +38799,7 @@ var DEFAULT_ORGANIZATION_MODEL = {
|
|
|
38835
38799
|
// Generic empty actions map. Elevasis-specific action entries have been relocated to
|
|
38836
38800
|
// `@repo/elevasis-core/src/organization-model/actions.ts`.
|
|
38837
38801
|
actions: {},
|
|
38838
|
-
entities:
|
|
38802
|
+
entities: DEFAULT_ORGANIZATION_MODEL_ENTITIES,
|
|
38839
38803
|
policies: DEFAULT_ORGANIZATION_MODEL_POLICIES,
|
|
38840
38804
|
knowledge: DEFAULT_ORGANIZATION_MODEL_KNOWLEDGE
|
|
38841
38805
|
};
|
|
@@ -38910,19 +38874,22 @@ function getAllBuildTemplates(model) {
|
|
|
38910
38874
|
const stepCatalog = stepCatalogId !== void 0 ? stepCatalogs.get(stepCatalogId) : void 0;
|
|
38911
38875
|
const steps = stepCatalog === void 0 ? [] : entriesOf(stepCatalog);
|
|
38912
38876
|
return {
|
|
38913
|
-
|
|
38914
|
-
|
|
38915
|
-
|
|
38916
|
-
|
|
38917
|
-
|
|
38918
|
-
|
|
38919
|
-
|
|
38920
|
-
|
|
38921
|
-
|
|
38922
|
-
|
|
38877
|
+
order: numberValue(templateEntry.order, Number.MAX_SAFE_INTEGER),
|
|
38878
|
+
template: {
|
|
38879
|
+
id: templateId,
|
|
38880
|
+
label: stringValue(templateEntry.label) ?? templateId,
|
|
38881
|
+
...stringValue(templateEntry.description) ? { description: stringValue(templateEntry.description) } : {},
|
|
38882
|
+
...stringValue(templateEntry.color) ? { color: stringValue(templateEntry.color) } : {},
|
|
38883
|
+
steps: steps.map(([stepId, step]) => ({
|
|
38884
|
+
id: stepId,
|
|
38885
|
+
label: stringValue(step.label) ?? stepId,
|
|
38886
|
+
...stringValue(step.description) ? { description: stringValue(step.description) } : {},
|
|
38887
|
+
...step
|
|
38888
|
+
}))
|
|
38889
|
+
}
|
|
38923
38890
|
};
|
|
38924
38891
|
})
|
|
38925
|
-
).sort((a, b) => a.id.localeCompare(b.id));
|
|
38892
|
+
).sort((a, b) => a.order - b.order || a.template.id.localeCompare(b.template.id)).map(({ template }) => template);
|
|
38926
38893
|
}
|
|
38927
38894
|
function getAllProspectingStages(model, kind) {
|
|
38928
38895
|
return catalogRecords(model).filter((catalog) => catalog.kind === "stage" && appliesToEntityKind(catalog) === kind).flatMap(
|
|
@@ -44157,7 +44124,7 @@ function wrapAction(commandName, fn) {
|
|
|
44157
44124
|
// package.json
|
|
44158
44125
|
var package_default = {
|
|
44159
44126
|
name: "@elevasis/sdk",
|
|
44160
|
-
version: "1.
|
|
44127
|
+
version: "1.26.1",
|
|
44161
44128
|
description: "SDK for building Elevasis organization resources",
|
|
44162
44129
|
type: "module",
|
|
44163
44130
|
bin: {
|