@elevasis/core 0.24.1 → 0.25.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.
Files changed (32) hide show
  1. package/dist/index.d.ts +75 -3
  2. package/dist/index.js +332 -4
  3. package/dist/knowledge/index.d.ts +30 -1
  4. package/dist/organization-model/index.d.ts +75 -3
  5. package/dist/organization-model/index.js +332 -4
  6. package/dist/test-utils/index.d.ts +1 -0
  7. package/dist/test-utils/index.js +4 -3
  8. package/package.json +1 -1
  9. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +94 -94
  10. package/src/execution/engine/llm/adapters/__tests__/openrouter.integration.test.ts +10 -10
  11. package/src/knowledge/__tests__/queries.test.ts +960 -546
  12. package/src/knowledge/format.ts +322 -100
  13. package/src/knowledge/index.ts +18 -5
  14. package/src/knowledge/queries.ts +1004 -239
  15. package/src/organization-model/__tests__/deprecate-helpers.test.ts +71 -0
  16. package/src/organization-model/__tests__/resolve.test.ts +9 -7
  17. package/src/organization-model/__tests__/scaffolders.test.ts +93 -0
  18. package/src/organization-model/defaults.ts +3 -3
  19. package/src/organization-model/helpers.ts +76 -9
  20. package/src/organization-model/icons.ts +1 -0
  21. package/src/organization-model/index.ts +3 -2
  22. package/src/organization-model/published.ts +15 -2
  23. package/src/organization-model/scaffolders/helpers.ts +84 -0
  24. package/src/organization-model/scaffolders/index.ts +19 -0
  25. package/src/organization-model/scaffolders/scaffoldKnowledgeNode.ts +48 -0
  26. package/src/organization-model/scaffolders/scaffoldOntologyRecord.ts +38 -0
  27. package/src/organization-model/scaffolders/scaffoldResource.ts +59 -0
  28. package/src/organization-model/scaffolders/scaffoldSystem.ts +110 -0
  29. package/src/organization-model/scaffolders/types.ts +81 -0
  30. package/src/platform/constants/versions.ts +1 -1
  31. package/src/reference/_generated/contracts.md +94 -94
  32. package/src/reference/glossary.md +71 -69
package/dist/index.d.ts CHANGED
@@ -427,6 +427,7 @@ declare const SystemUiSchema: z.ZodObject<{
427
427
  crm: "crm";
428
428
  "lead-gen": "lead-gen";
429
429
  projects: "projects";
430
+ clients: "clients";
430
431
  operations: "operations";
431
432
  monitoring: "monitoring";
432
433
  knowledge: "knowledge";
@@ -721,6 +722,7 @@ declare const SurfaceDefinitionSchema: z.ZodObject<{
721
722
  crm: "crm";
722
723
  "lead-gen": "lead-gen";
723
724
  projects: "projects";
725
+ clients: "clients";
724
726
  operations: "operations";
725
727
  monitoring: "monitoring";
726
728
  knowledge: "knowledge";
@@ -841,6 +843,7 @@ declare const IconNameSchema: z.ZodUnion<readonly [z.ZodEnum<{
841
843
  crm: "crm";
842
844
  "lead-gen": "lead-gen";
843
845
  projects: "projects";
846
+ clients: "clients";
844
847
  operations: "operations";
845
848
  monitoring: "monitoring";
846
849
  knowledge: "knowledge";
@@ -1247,6 +1250,7 @@ declare const OrgKnowledgeNodeSchema: z.ZodObject<{
1247
1250
  crm: "crm";
1248
1251
  "lead-gen": "lead-gen";
1249
1252
  projects: "projects";
1253
+ clients: "clients";
1250
1254
  operations: "operations";
1251
1255
  monitoring: "monitoring";
1252
1256
  knowledge: "knowledge";
@@ -1356,6 +1360,7 @@ declare const KnowledgeDomainSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.Zod
1356
1360
  crm: "crm";
1357
1361
  "lead-gen": "lead-gen";
1358
1362
  projects: "projects";
1363
+ clients: "clients";
1359
1364
  operations: "operations";
1360
1365
  monitoring: "monitoring";
1361
1366
  knowledge: "knowledge";
@@ -3117,7 +3122,7 @@ declare const PoliciesDomainSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodO
3117
3122
  }, z.core.$strip>>>;
3118
3123
  declare const DEFAULT_ORGANIZATION_MODEL_POLICIES: z.infer<typeof PoliciesDomainSchema>;
3119
3124
 
3120
- declare const ORGANIZATION_MODEL_ICON_TOKENS: readonly ["dashboard", "calendar", "sales", "crm", "lead-gen", "projects", "operations", "monitoring", "knowledge", "settings", "admin", "archive", "business", "finance", "platform", "seo", "playbook", "strategy", "reference", "agent", "workflow", "integration", "database", "user", "team", "gmail", "google-sheets", "attio", "overview", "command-view", "command-queue", "pipeline", "lists", "resources", "approve", "reject", "retry", "edit", "view", "launch", "message", "escalate", "promote", "submit", "email", "success", "error", "warning", "info", "pending", "bolt", "building", "briefcase", "apps", "graph", "shield", "users", "chart-bar", "search"];
3125
+ declare const ORGANIZATION_MODEL_ICON_TOKENS: readonly ["dashboard", "calendar", "sales", "crm", "lead-gen", "projects", "clients", "operations", "monitoring", "knowledge", "settings", "admin", "archive", "business", "finance", "platform", "seo", "playbook", "strategy", "reference", "agent", "workflow", "integration", "database", "user", "team", "gmail", "google-sheets", "attio", "overview", "command-view", "command-queue", "pipeline", "lists", "resources", "approve", "reject", "retry", "edit", "view", "launch", "message", "escalate", "promote", "submit", "email", "success", "error", "warning", "info", "pending", "bolt", "building", "briefcase", "apps", "graph", "shield", "users", "chart-bar", "search"];
3121
3126
  declare const OrganizationModelBuiltinIconTokenSchema: z.ZodEnum<{
3122
3127
  message: "message";
3123
3128
  error: "error";
@@ -3130,6 +3135,7 @@ declare const OrganizationModelBuiltinIconTokenSchema: z.ZodEnum<{
3130
3135
  crm: "crm";
3131
3136
  "lead-gen": "lead-gen";
3132
3137
  projects: "projects";
3138
+ clients: "clients";
3133
3139
  operations: "operations";
3134
3140
  monitoring: "monitoring";
3135
3141
  knowledge: "knowledge";
@@ -3191,6 +3197,7 @@ declare const OrganizationModelIconTokenSchema: z.ZodUnion<readonly [z.ZodEnum<{
3191
3197
  crm: "crm";
3192
3198
  "lead-gen": "lead-gen";
3193
3199
  projects: "projects";
3200
+ clients: "clients";
3194
3201
  operations: "operations";
3195
3202
  monitoring: "monitoring";
3196
3203
  knowledge: "knowledge";
@@ -3475,6 +3482,70 @@ declare function createFoundationOrganizationModel(override: DeepPartial<Organiz
3475
3482
  getOrganizationSurface: (surfaceId: string) => FoundationNavigationSurface | undefined;
3476
3483
  };
3477
3484
 
3485
+ type OmScaffoldIntent = 'system' | 'ontology' | 'resource' | 'knowledge';
3486
+ interface OmScaffoldWrite {
3487
+ path: string;
3488
+ content: string;
3489
+ description: string;
3490
+ mode: 'create';
3491
+ }
3492
+ interface OmScaffoldEdit {
3493
+ path: string;
3494
+ description: string;
3495
+ snippet: string;
3496
+ }
3497
+ interface OmScaffoldPlan {
3498
+ intent: OmScaffoldIntent;
3499
+ id: string;
3500
+ summary: string;
3501
+ writes: OmScaffoldWrite[];
3502
+ edits: OmScaffoldEdit[];
3503
+ warnings: string[];
3504
+ nextSteps: string[];
3505
+ projectCommand?: string;
3506
+ }
3507
+ interface BaseOmScaffoldSpec {
3508
+ id: string;
3509
+ label?: string;
3510
+ description?: string;
3511
+ }
3512
+ interface SystemScaffoldSpec extends BaseOmScaffoldSpec {
3513
+ intent: 'system';
3514
+ parent?: string;
3515
+ kind?: OrganizationModelSystemKind;
3516
+ uiPath?: string;
3517
+ icon?: OrganizationModelIconToken;
3518
+ role?: string;
3519
+ withOntology?: boolean;
3520
+ noProject?: boolean;
3521
+ withProject?: boolean;
3522
+ }
3523
+ interface OntologyRecordScaffoldSpec extends BaseOmScaffoldSpec {
3524
+ intent: 'ontology';
3525
+ systemPath: string;
3526
+ kind: OntologyKind;
3527
+ localId?: string;
3528
+ withProject?: boolean;
3529
+ }
3530
+ interface ResourceScaffoldSpec extends BaseOmScaffoldSpec {
3531
+ intent: 'resource';
3532
+ systemPath: string;
3533
+ kind?: OrganizationModelResourceKind;
3534
+ ownerRoleId?: string;
3535
+ withStubWorkflow?: boolean;
3536
+ withProject?: boolean;
3537
+ }
3538
+ interface KnowledgeNodeScaffoldSpec extends BaseOmScaffoldSpec {
3539
+ intent: 'knowledge';
3540
+ systemPath?: string;
3541
+ kind?: 'playbook' | 'strategy' | 'reference';
3542
+ ownerRoleId?: string;
3543
+ withProject?: boolean;
3544
+ }
3545
+ type OmScaffoldSpec = SystemScaffoldSpec | OntologyRecordScaffoldSpec | ResourceScaffoldSpec | KnowledgeNodeScaffoldSpec;
3546
+
3547
+ declare function scaffoldOrganizationModel(model: OrganizationModel, spec: OmScaffoldSpec): OmScaffoldPlan;
3548
+
3478
3549
  declare const LinkSchema: z.ZodObject<{
3479
3550
  nodeId: z.ZodString;
3480
3551
  kind: z.ZodEnum<{
@@ -4496,6 +4567,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
4496
4567
  crm: "crm";
4497
4568
  "lead-gen": "lead-gen";
4498
4569
  projects: "projects";
4570
+ clients: "clients";
4499
4571
  operations: "operations";
4500
4572
  monitoring: "monitoring";
4501
4573
  knowledge: "knowledge";
@@ -4586,5 +4658,5 @@ declare const OrganizationModelSchema: z.ZodObject<{
4586
4658
  }, z.core.$strip>>>>;
4587
4659
  }, z.core.$strip>;
4588
4660
 
4589
- export { ActionIdSchema, ActionInvocationKindSchema, ActionInvocationSchema, ActionRefSchema, ActionSchema, ActionScopeSchema, ActionsDomainSchema, AgentKindSchema, AgentResourceEntrySchema, AgentRoleHolderSchema, ApiEndpointInvocationSchema, CRM_ACTION_ENTRIES, CodeReferenceRoleSchema, CodeReferenceSchema, CustomerSegmentSchema, CustomersDomainSchema, DEFAULT_ONTOLOGY_SCOPE, DEFAULT_ORGANIZATION_MODEL, DEFAULT_ORGANIZATION_MODEL_ACTIONS, DEFAULT_ORGANIZATION_MODEL_CUSTOMERS, DEFAULT_ORGANIZATION_MODEL_DOMAIN_METADATA, DEFAULT_ORGANIZATION_MODEL_ENTITIES, DEFAULT_ORGANIZATION_MODEL_GOALS, DEFAULT_ORGANIZATION_MODEL_NAVIGATION, DEFAULT_ORGANIZATION_MODEL_OFFERINGS, DEFAULT_ORGANIZATION_MODEL_POLICIES, DEFAULT_ORGANIZATION_MODEL_RESOURCES, DEFAULT_ORGANIZATION_MODEL_ROLES, DEFAULT_ORGANIZATION_MODEL_STATUSES, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, DEFAULT_ORGANIZATION_MODEL_TOPOLOGY, EntitiesDomainSchema, EntityIdSchema, EntityLinkKindSchema, EntityLinkSchema, EntitySchema, EventDescriptorSchema, EventEmissionDescriptorSchema, EventIdSchema, FirmographicsSchema, GoalsDomainSchema, HumanRoleHolderSchema, IconNameSchema, IntegrationResourceEntrySchema, KNOWLEDGE_FEATURE_ID, KNOWLEDGE_SYSTEM_ID, KeyResultSchema, KnowledgeDomainSchema, KnowledgeLinkSchema, KnowledgeTargetKindSchema, KnowledgeTargetRefSchema, LEAD_GEN_ACTION_ENTRIES, LEAD_GEN_STAGE_CATALOG, LinkSchema, MONITORING_FEATURE_ID, MONITORING_SYSTEM_ID, McpToolInvocationSchema, NavigationGroupSchema, NodeIdPathSchema, NodeIdStringSchema, OPERATIONS_COMMAND_VIEW_SURFACE_ID, OPERATIONS_FEATURE_ID, OPERATIONS_SYSTEM_ID, ORGANIZATION_MODEL_ICON_TOKENS, ObjectiveSchema, OfferingsDomainSchema, OmTopologyDomainSchema, OmTopologyMetadataSchema, OmTopologyNodeKindSchema, OmTopologyNodeRefSchema, OmTopologyRelationshipKindSchema, OmTopologyRelationshipSchema, OntologyActionTypeSchema, OntologyCatalogTypeSchema, OntologyEventTypeSchema, OntologyGroupSchema, OntologyIdSchema, OntologyInterfaceTypeSchema, OntologyKindSchema, OntologyLinkTypeSchema, OntologyObjectTypeSchema, OntologyScopeSchema, OntologySharedPropertySchema, OntologySurfaceTypeSchema, OntologyValueTypeSchema, OrgKnowledgeKindSchema, OrgKnowledgeNodeSchema, OrganizationModelBuiltinIconTokenSchema, OrganizationModelDomainKeySchema, OrganizationModelDomainMetadataByDomainSchema, OrganizationModelDomainMetadataSchema, OrganizationModelIconTokenSchema, OrganizationModelNavigationSchema, OrganizationModelSchema, PROJECTS_FEATURE_ID, PROJECTS_INDEX_SURFACE_ID, PROJECTS_SYSTEM_ID, PROJECTS_VIEW_ACTION_ID, PROSPECTING_FEATURE_ID, PROSPECTING_LISTS_SURFACE_ID, PROSPECTING_SYSTEM_ID, PoliciesDomainSchema, PolicyApplicabilitySchema, PolicyEffectSchema, PolicyIdSchema, PolicyPredicateSchema, PolicySchema, PolicyTriggerSchema, PricingModelSchema, ProductSchema, ResourceEntrySchema, ResourceGovernanceStatusSchema, ResourceIdSchema, ResourceKindSchema, ResourceOntologyBindingSchema, ResourcesDomainSchema, RoleHolderSchema, RoleHoldersSchema, RoleIdSchema, RoleSchema, RolesDomainSchema, SALES_FEATURE_ID, SALES_PIPELINE_SURFACE_ID, SALES_SYSTEM_ID, SEO_FEATURE_ID, SEO_SYSTEM_ID, SETTINGS_FEATURE_ID, SETTINGS_ROLES_SURFACE_ID, SETTINGS_SYSTEM_ID, ScriptExecutionInvocationSchema, ScriptResourceEntrySchema, ScriptResourceLanguageSchema, ScriptResourceSourceSchema, SidebarNavigationSchema, SidebarNodeSchema, SidebarSectionSchema, SidebarSurfaceTargetsSchema, SlashCommandInvocationSchema, StatusEntrySchema, StatusSemanticClassSchema, StatusesDomainSchema, SurfaceDefinitionSchema, SurfaceTypeSchema, SystemEntrySchema, SystemIdSchema, SystemKindSchema, SystemLifecycleSchema, SystemPathSchema, SystemStatusSchema, SystemUiSchema, SystemsDomainSchema, TeamRoleHolderSchema, TechStackEntrySchema, UiPositionSchema, WorkflowResourceEntrySchema, compileOrganizationOntology, compileTopologyNodeRef, createFoundationOrganizationModel, defineOrganizationModel, defineResource, defineResourceOntology, defineResources, defineTopology, defineTopologyRelationship, findOrganizationActionById, formatOntologyId, getOntologyDiagnostics, getSortedSidebarEntries, isOntologyGraphNodeId, isOntologyTopologyRef, listResolvedOntologyRecords, ontologyGraphNodeId, ontologyIdFromGraphNodeId, parseOntologyId, parseTopologyNodeRef, resolveOrganizationModel, resolveOrganizationModelWithResources, topologyRef, topologyRelationship };
4590
- export type { DeepPartial, Entity, EntityId, EntityLink, EventDescriptor, EventEmissionDescriptor, EventId, FoundationBranding, FoundationNavigationSurface, FoundationOrganizationModel, FoundationSurfaceIcon, FoundationSurfaceType, KnowledgeLink, KnowledgeTargetKind, KnowledgeTargetRef, LeadGenStageCatalogEntry, NodeIdPath, NodeIdString, OntologyActionType, OntologyCatalogType, OntologyCompilation, OntologyDiagnostic, OntologyEventType, OntologyGroup, OntologyId, OntologyInterfaceType, OntologyKind, OntologyLinkType, OntologyObjectType, OntologyRecordOrigin, OntologyScope, OntologySharedProperty, OntologySurfaceType, OntologyValueType, OrgKnowledgeKind, OrgKnowledgeNode, OrgKnowledgeNodeInput, OrganizationModel, OrganizationModelAction, OrganizationModelActionId, OrganizationModelActionInvocation, OrganizationModelActionInvocationKind, OrganizationModelActionRef, OrganizationModelActionScope, OrganizationModelActions, OrganizationModelAgentKind, OrganizationModelAgentResourceEntry, OrganizationModelAgentRoleHolder, OrganizationModelBranding, OrganizationModelBuiltinIconToken, OrganizationModelCodeReference, OrganizationModelCodeReferenceRole, OrganizationModelCustomerFirmographics, OrganizationModelCustomerSegment, OrganizationModelCustomers, OrganizationModelDomainKey, OrganizationModelDomainMetadata, OrganizationModelDomainMetadataByDomain, OrganizationModelEntities, OrganizationModelEntity, OrganizationModelGoals, OrganizationModelHumanRoleHolder, OrganizationModelIconToken, OrganizationModelIntegrationResourceEntry, OrganizationModelKeyResult, OrganizationModelKnowledge, OrganizationModelNavigation, OrganizationModelObjective, OrganizationModelOfferings, OrganizationModelPolicies, OrganizationModelPolicy, OrganizationModelPolicyApplicability, OrganizationModelPolicyEffect, OrganizationModelPolicyId, OrganizationModelPolicyPredicate, OrganizationModelPolicyTrigger, OrganizationModelPricingModel, OrganizationModelProduct, OrganizationModelResourceEntry, OrganizationModelResourceGovernanceStatus, OrganizationModelResourceId, OrganizationModelResourceKind, OrganizationModelResourceOntologyBinding, OrganizationModelResources, OrganizationModelRole, OrganizationModelRoleHolder, OrganizationModelRoleId, OrganizationModelRoles, OrganizationModelScriptResourceEntry, OrganizationModelScriptResourceLanguage, OrganizationModelScriptResourceSource, OrganizationModelSidebar, OrganizationModelSidebarGroupNode, OrganizationModelSidebarNode, OrganizationModelSidebarSection, OrganizationModelSidebarSurfaceNode, OrganizationModelSidebarSurfaceTargets, OrganizationModelStatusEntry, OrganizationModelStatusSemanticClass, OrganizationModelStatuses, OrganizationModelSystemEntry, OrganizationModelSystemId, OrganizationModelSystemKind, OrganizationModelSystemLifecycle, OrganizationModelSystemStatus, OrganizationModelSystems, OrganizationModelTeamRoleHolder, OrganizationModelTechStackEntry, OrganizationModelTopology, OrganizationModelTopologyMetadata, OrganizationModelTopologyNodeKind, OrganizationModelTopologyNodeRef, OrganizationModelTopologyRelationship, OrganizationModelTopologyRelationshipKind, OrganizationModelWorkflowResourceEntry, ParsedOntologyId, ResolvedOntologyIndex, ResolvedOntologyRecord, ResolvedOntologyRecordEntry, ResolvedOrganizationModel, ResolvedSystemEntry };
4661
+ export { ActionIdSchema, ActionInvocationKindSchema, ActionInvocationSchema, ActionRefSchema, ActionSchema, ActionScopeSchema, ActionsDomainSchema, AgentKindSchema, AgentResourceEntrySchema, AgentRoleHolderSchema, ApiEndpointInvocationSchema, CRM_ACTION_ENTRIES, CodeReferenceRoleSchema, CodeReferenceSchema, CustomerSegmentSchema, CustomersDomainSchema, DEFAULT_ONTOLOGY_SCOPE, DEFAULT_ORGANIZATION_MODEL, DEFAULT_ORGANIZATION_MODEL_ACTIONS, DEFAULT_ORGANIZATION_MODEL_CUSTOMERS, DEFAULT_ORGANIZATION_MODEL_DOMAIN_METADATA, DEFAULT_ORGANIZATION_MODEL_ENTITIES, DEFAULT_ORGANIZATION_MODEL_GOALS, DEFAULT_ORGANIZATION_MODEL_NAVIGATION, DEFAULT_ORGANIZATION_MODEL_OFFERINGS, DEFAULT_ORGANIZATION_MODEL_POLICIES, DEFAULT_ORGANIZATION_MODEL_RESOURCES, DEFAULT_ORGANIZATION_MODEL_ROLES, DEFAULT_ORGANIZATION_MODEL_STATUSES, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, DEFAULT_ORGANIZATION_MODEL_TOPOLOGY, EntitiesDomainSchema, EntityIdSchema, EntityLinkKindSchema, EntityLinkSchema, EntitySchema, EventDescriptorSchema, EventEmissionDescriptorSchema, EventIdSchema, FirmographicsSchema, GoalsDomainSchema, HumanRoleHolderSchema, IconNameSchema, IntegrationResourceEntrySchema, KNOWLEDGE_FEATURE_ID, KNOWLEDGE_SYSTEM_ID, KeyResultSchema, KnowledgeDomainSchema, KnowledgeLinkSchema, KnowledgeTargetKindSchema, KnowledgeTargetRefSchema, LEAD_GEN_ACTION_ENTRIES, LEAD_GEN_STAGE_CATALOG, LinkSchema, MONITORING_FEATURE_ID, MONITORING_SYSTEM_ID, McpToolInvocationSchema, NavigationGroupSchema, NodeIdPathSchema, NodeIdStringSchema, OPERATIONS_COMMAND_VIEW_SURFACE_ID, OPERATIONS_FEATURE_ID, OPERATIONS_SYSTEM_ID, ORGANIZATION_MODEL_ICON_TOKENS, ObjectiveSchema, OfferingsDomainSchema, OmTopologyDomainSchema, OmTopologyMetadataSchema, OmTopologyNodeKindSchema, OmTopologyNodeRefSchema, OmTopologyRelationshipKindSchema, OmTopologyRelationshipSchema, OntologyActionTypeSchema, OntologyCatalogTypeSchema, OntologyEventTypeSchema, OntologyGroupSchema, OntologyIdSchema, OntologyInterfaceTypeSchema, OntologyKindSchema, OntologyLinkTypeSchema, OntologyObjectTypeSchema, OntologyScopeSchema, OntologySharedPropertySchema, OntologySurfaceTypeSchema, OntologyValueTypeSchema, OrgKnowledgeKindSchema, OrgKnowledgeNodeSchema, OrganizationModelBuiltinIconTokenSchema, OrganizationModelDomainKeySchema, OrganizationModelDomainMetadataByDomainSchema, OrganizationModelDomainMetadataSchema, OrganizationModelIconTokenSchema, OrganizationModelNavigationSchema, OrganizationModelSchema, PROJECTS_FEATURE_ID, PROJECTS_INDEX_SURFACE_ID, PROJECTS_SYSTEM_ID, PROJECTS_VIEW_ACTION_ID, PROSPECTING_FEATURE_ID, PROSPECTING_LISTS_SURFACE_ID, PROSPECTING_SYSTEM_ID, PoliciesDomainSchema, PolicyApplicabilitySchema, PolicyEffectSchema, PolicyIdSchema, PolicyPredicateSchema, PolicySchema, PolicyTriggerSchema, PricingModelSchema, ProductSchema, ResourceEntrySchema, ResourceGovernanceStatusSchema, ResourceIdSchema, ResourceKindSchema, ResourceOntologyBindingSchema, ResourcesDomainSchema, RoleHolderSchema, RoleHoldersSchema, RoleIdSchema, RoleSchema, RolesDomainSchema, SALES_FEATURE_ID, SALES_PIPELINE_SURFACE_ID, SALES_SYSTEM_ID, SEO_FEATURE_ID, SEO_SYSTEM_ID, SETTINGS_FEATURE_ID, SETTINGS_ROLES_SURFACE_ID, SETTINGS_SYSTEM_ID, ScriptExecutionInvocationSchema, ScriptResourceEntrySchema, ScriptResourceLanguageSchema, ScriptResourceSourceSchema, SidebarNavigationSchema, SidebarNodeSchema, SidebarSectionSchema, SidebarSurfaceTargetsSchema, SlashCommandInvocationSchema, StatusEntrySchema, StatusSemanticClassSchema, StatusesDomainSchema, SurfaceDefinitionSchema, SurfaceTypeSchema, SystemEntrySchema, SystemIdSchema, SystemKindSchema, SystemLifecycleSchema, SystemPathSchema, SystemStatusSchema, SystemUiSchema, SystemsDomainSchema, TeamRoleHolderSchema, TechStackEntrySchema, UiPositionSchema, WorkflowResourceEntrySchema, compileOrganizationOntology, compileTopologyNodeRef, createFoundationOrganizationModel, defineOrganizationModel, defineResource, defineResourceOntology, defineResources, defineTopology, defineTopologyRelationship, findOrganizationActionById, formatOntologyId, getOntologyDiagnostics, getSortedSidebarEntries, isOntologyGraphNodeId, isOntologyTopologyRef, listResolvedOntologyRecords, ontologyGraphNodeId, ontologyIdFromGraphNodeId, parseOntologyId, parseTopologyNodeRef, resolveOrganizationModel, resolveOrganizationModelWithResources, scaffoldOrganizationModel, topologyRef, topologyRelationship };
4662
+ export type { BaseOmScaffoldSpec, DeepPartial, Entity, EntityId, EntityLink, EventDescriptor, EventEmissionDescriptor, EventId, FoundationBranding, FoundationNavigationSurface, FoundationOrganizationModel, FoundationSurfaceIcon, FoundationSurfaceType, KnowledgeLink, KnowledgeNodeScaffoldSpec, KnowledgeTargetKind, KnowledgeTargetRef, LeadGenStageCatalogEntry, NodeIdPath, NodeIdString, OmScaffoldEdit, OmScaffoldIntent, OmScaffoldPlan, OmScaffoldSpec, OmScaffoldWrite, OntologyActionType, OntologyCatalogType, OntologyCompilation, OntologyDiagnostic, OntologyEventType, OntologyGroup, OntologyId, OntologyInterfaceType, OntologyKind, OntologyLinkType, OntologyObjectType, OntologyRecordOrigin, OntologyRecordScaffoldSpec, OntologyScope, OntologySharedProperty, OntologySurfaceType, OntologyValueType, OrgKnowledgeKind, OrgKnowledgeNode, OrgKnowledgeNodeInput, OrganizationModel, OrganizationModelAction, OrganizationModelActionId, OrganizationModelActionInvocation, OrganizationModelActionInvocationKind, OrganizationModelActionRef, OrganizationModelActionScope, OrganizationModelActions, OrganizationModelAgentKind, OrganizationModelAgentResourceEntry, OrganizationModelAgentRoleHolder, OrganizationModelBranding, OrganizationModelBuiltinIconToken, OrganizationModelCodeReference, OrganizationModelCodeReferenceRole, OrganizationModelCustomerFirmographics, OrganizationModelCustomerSegment, OrganizationModelCustomers, OrganizationModelDomainKey, OrganizationModelDomainMetadata, OrganizationModelDomainMetadataByDomain, OrganizationModelEntities, OrganizationModelEntity, OrganizationModelGoals, OrganizationModelHumanRoleHolder, OrganizationModelIconToken, OrganizationModelIntegrationResourceEntry, OrganizationModelKeyResult, OrganizationModelKnowledge, OrganizationModelNavigation, OrganizationModelObjective, OrganizationModelOfferings, OrganizationModelPolicies, OrganizationModelPolicy, OrganizationModelPolicyApplicability, OrganizationModelPolicyEffect, OrganizationModelPolicyId, OrganizationModelPolicyPredicate, OrganizationModelPolicyTrigger, OrganizationModelPricingModel, OrganizationModelProduct, OrganizationModelResourceEntry, OrganizationModelResourceGovernanceStatus, OrganizationModelResourceId, OrganizationModelResourceKind, OrganizationModelResourceOntologyBinding, OrganizationModelResources, OrganizationModelRole, OrganizationModelRoleHolder, OrganizationModelRoleId, OrganizationModelRoles, OrganizationModelScriptResourceEntry, OrganizationModelScriptResourceLanguage, OrganizationModelScriptResourceSource, OrganizationModelSidebar, OrganizationModelSidebarGroupNode, OrganizationModelSidebarNode, OrganizationModelSidebarSection, OrganizationModelSidebarSurfaceNode, OrganizationModelSidebarSurfaceTargets, OrganizationModelStatusEntry, OrganizationModelStatusSemanticClass, OrganizationModelStatuses, OrganizationModelSystemEntry, OrganizationModelSystemId, OrganizationModelSystemKind, OrganizationModelSystemLifecycle, OrganizationModelSystemStatus, OrganizationModelSystems, OrganizationModelTeamRoleHolder, OrganizationModelTechStackEntry, OrganizationModelTopology, OrganizationModelTopologyMetadata, OrganizationModelTopologyNodeKind, OrganizationModelTopologyNodeRef, OrganizationModelTopologyRelationship, OrganizationModelTopologyRelationshipKind, OrganizationModelWorkflowResourceEntry, ParsedOntologyId, ResolvedOntologyIndex, ResolvedOntologyRecord, ResolvedOntologyRecordEntry, ResolvedOrganizationModel, ResolvedSystemEntry, ResourceScaffoldSpec, SystemScaffoldSpec };
package/dist/index.js CHANGED
@@ -594,6 +594,7 @@ var ORGANIZATION_MODEL_ICON_TOKENS = [
594
594
  "crm",
595
595
  "lead-gen",
596
596
  "projects",
597
+ "clients",
597
598
  "operations",
598
599
  "monitoring",
599
600
  "knowledge",
@@ -2864,7 +2865,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION2 = {
2864
2865
  business: {
2865
2866
  type: "group",
2866
2867
  label: "Business",
2867
- icon: "business",
2868
+ icon: "briefcase",
2868
2869
  order: 20,
2869
2870
  children: {
2870
2871
  sales: {
@@ -2881,7 +2882,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION2 = {
2881
2882
  label: "Clients",
2882
2883
  path: "/clients",
2883
2884
  surfaceType: "list",
2884
- icon: "projects",
2885
+ icon: "clients",
2885
2886
  order: 20,
2886
2887
  targets: { systems: ["clients"] }
2887
2888
  },
@@ -3255,7 +3256,7 @@ var DEFAULT_ORGANIZATION_MODEL = {
3255
3256
  enabled: true,
3256
3257
  lifecycle: "active",
3257
3258
  color: "orange",
3258
- icon: "projects",
3259
+ icon: "clients",
3259
3260
  path: "/clients"
3260
3261
  },
3261
3262
  operations: {
@@ -4208,4 +4209,331 @@ function createFoundationOrganizationModel(override) {
4208
4209
  };
4209
4210
  }
4210
4211
 
4211
- export { ActionIdSchema, ActionInvocationKindSchema, ActionInvocationSchema, ActionRefSchema, ActionSchema, ActionScopeSchema, ActionsDomainSchema, AgentKindSchema, AgentResourceEntrySchema, AgentRoleHolderSchema, ApiEndpointInvocationSchema, CRM_ACTION_ENTRIES, CodeReferenceRoleSchema, CodeReferenceSchema, CustomerSegmentSchema, CustomersDomainSchema, DEFAULT_ONTOLOGY_SCOPE, DEFAULT_ORGANIZATION_MODEL, DEFAULT_ORGANIZATION_MODEL_ACTIONS, DEFAULT_ORGANIZATION_MODEL_CUSTOMERS, DEFAULT_ORGANIZATION_MODEL_DOMAIN_METADATA, DEFAULT_ORGANIZATION_MODEL_ENTITIES, DEFAULT_ORGANIZATION_MODEL_GOALS, DEFAULT_ORGANIZATION_MODEL_NAVIGATION, DEFAULT_ORGANIZATION_MODEL_OFFERINGS, DEFAULT_ORGANIZATION_MODEL_POLICIES, DEFAULT_ORGANIZATION_MODEL_RESOURCES, DEFAULT_ORGANIZATION_MODEL_ROLES, DEFAULT_ORGANIZATION_MODEL_STATUSES, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, DEFAULT_ORGANIZATION_MODEL_TOPOLOGY, EntitiesDomainSchema, EntityIdSchema, EntityLinkKindSchema, EntityLinkSchema, EntitySchema, EventDescriptorSchema, EventEmissionDescriptorSchema, EventIdSchema, FirmographicsSchema, GoalsDomainSchema, HumanRoleHolderSchema, IconNameSchema, IntegrationResourceEntrySchema, KNOWLEDGE_FEATURE_ID, KNOWLEDGE_SYSTEM_ID, KeyResultSchema, KnowledgeDomainSchema, KnowledgeLinkSchema, KnowledgeTargetKindSchema, KnowledgeTargetRefSchema, LEAD_GEN_ACTION_ENTRIES, LEAD_GEN_STAGE_CATALOG, LinkSchema, MONITORING_FEATURE_ID, MONITORING_SYSTEM_ID, McpToolInvocationSchema, NavigationGroupSchema, NodeIdPathSchema, NodeIdStringSchema, OPERATIONS_COMMAND_VIEW_SURFACE_ID, OPERATIONS_FEATURE_ID, OPERATIONS_SYSTEM_ID, ORGANIZATION_MODEL_ICON_TOKENS, ObjectiveSchema, OfferingsDomainSchema, OmTopologyDomainSchema, OmTopologyMetadataSchema, OmTopologyNodeKindSchema, OmTopologyNodeRefSchema, OmTopologyRelationshipKindSchema, OmTopologyRelationshipSchema, OntologyActionTypeSchema, OntologyCatalogTypeSchema, OntologyEventTypeSchema, OntologyGroupSchema, OntologyIdSchema, OntologyInterfaceTypeSchema, OntologyKindSchema, OntologyLinkTypeSchema, OntologyObjectTypeSchema, OntologyScopeSchema, OntologySharedPropertySchema, OntologySurfaceTypeSchema, OntologyValueTypeSchema, OrgKnowledgeKindSchema, OrgKnowledgeNodeSchema, OrganizationModelBuiltinIconTokenSchema, OrganizationModelDomainKeySchema, OrganizationModelDomainMetadataByDomainSchema, OrganizationModelDomainMetadataSchema, OrganizationModelIconTokenSchema, OrganizationModelNavigationSchema, OrganizationModelSchema, PROJECTS_FEATURE_ID, PROJECTS_INDEX_SURFACE_ID, PROJECTS_SYSTEM_ID, PROJECTS_VIEW_ACTION_ID, PROSPECTING_FEATURE_ID, PROSPECTING_LISTS_SURFACE_ID, PROSPECTING_SYSTEM_ID, PoliciesDomainSchema, PolicyApplicabilitySchema, PolicyEffectSchema, PolicyIdSchema, PolicyPredicateSchema, PolicySchema, PolicyTriggerSchema, PricingModelSchema, ProductSchema, ResourceEntrySchema, ResourceGovernanceStatusSchema, ResourceIdSchema, ResourceKindSchema, ResourceOntologyBindingSchema, ResourcesDomainSchema, RoleHolderSchema, RoleHoldersSchema, RoleIdSchema, RoleSchema, RolesDomainSchema, SALES_FEATURE_ID, SALES_PIPELINE_SURFACE_ID, SALES_SYSTEM_ID, SEO_FEATURE_ID, SEO_SYSTEM_ID, SETTINGS_FEATURE_ID, SETTINGS_ROLES_SURFACE_ID, SETTINGS_SYSTEM_ID, ScriptExecutionInvocationSchema, ScriptResourceEntrySchema, ScriptResourceLanguageSchema, ScriptResourceSourceSchema, SidebarNavigationSchema, SidebarNodeSchema, SidebarSectionSchema, SidebarSurfaceTargetsSchema, SlashCommandInvocationSchema, StatusEntrySchema, StatusSemanticClassSchema, StatusesDomainSchema, SurfaceDefinitionSchema, SurfaceTypeSchema, SystemEntrySchema, SystemIdSchema, SystemKindSchema, SystemLifecycleSchema, SystemPathSchema, SystemStatusSchema, SystemUiSchema, SystemsDomainSchema, TeamRoleHolderSchema, TechStackEntrySchema, UiPositionSchema, WorkflowResourceEntrySchema, compileOrganizationOntology, compileTopologyNodeRef, createFoundationOrganizationModel, defineOrganizationModel, defineResource, defineResourceOntology, defineResources, defineTopology, defineTopologyRelationship, findOrganizationActionById, formatOntologyId, getOntologyDiagnostics, getSortedSidebarEntries, isOntologyGraphNodeId, isOntologyTopologyRef, listResolvedOntologyRecords, ontologyGraphNodeId, ontologyIdFromGraphNodeId, parseOntologyId, parseTopologyNodeRef, resolveOrganizationModel, resolveOrganizationModelWithResources, topologyRef, topologyRelationship };
4212
+ // src/organization-model/scaffolders/helpers.ts
4213
+ function slugify(input) {
4214
+ return input.trim().replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
4215
+ }
4216
+ function titleize(input) {
4217
+ return input.split(/[-._\s]+/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
4218
+ }
4219
+ function assertSystemPathAvailable(model, path) {
4220
+ if (getSystem(model, path) !== void 0) {
4221
+ throw new Error(`system already exists: ${path}`);
4222
+ }
4223
+ const parent = parentPathOf(path);
4224
+ if (parent !== void 0 && getSystem(model, parent) === void 0) {
4225
+ throw new Error(`parent system does not exist: ${parent}`);
4226
+ }
4227
+ }
4228
+ function assertSystemExists(model, path) {
4229
+ if (getSystem(model, path) === void 0) {
4230
+ throw new Error(`system does not exist: ${path}`);
4231
+ }
4232
+ }
4233
+ function parentPathOf(path) {
4234
+ const index = path.lastIndexOf(".");
4235
+ return index === -1 ? void 0 : path.slice(0, index);
4236
+ }
4237
+ function localIdOf(path) {
4238
+ return path.split(".").at(-1) ?? path;
4239
+ }
4240
+ function nextSystemOrder(model, parentPath) {
4241
+ const siblings = parentPath === void 0 ? listAllSystems(model).filter(({ path }) => !path.includes(".")) : listAllSystems(model).filter(({ path }) => parentPathOf(path) === parentPath);
4242
+ const maxOrder = siblings.reduce((max, { system }) => Math.max(max, system.order), 0);
4243
+ return Math.ceil((maxOrder + 10) / 10) * 10;
4244
+ }
4245
+ function ontologyMapName(kind) {
4246
+ const map = {
4247
+ object: "objectTypes",
4248
+ link: "linkTypes",
4249
+ action: "actionTypes",
4250
+ catalog: "catalogTypes",
4251
+ event: "eventTypes",
4252
+ interface: "interfaceTypes",
4253
+ "value-type": "valueTypes",
4254
+ property: "sharedProperties",
4255
+ group: "groups",
4256
+ surface: "surfaces"
4257
+ };
4258
+ return map[kind];
4259
+ }
4260
+ function makeOntologyId(systemPath, kind, localId) {
4261
+ return formatOntologyId({ scope: systemPath, kind, localId: slugify(localId) });
4262
+ }
4263
+ function addProjectNextStep(plan, enabled, command) {
4264
+ if (!enabled) return plan;
4265
+ return {
4266
+ ...plan,
4267
+ projectCommand: command,
4268
+ nextSteps: [...plan.nextSteps, `Run project handoff: ${command}`]
4269
+ };
4270
+ }
4271
+
4272
+ // src/organization-model/scaffolders/scaffoldKnowledgeNode.ts
4273
+ function scaffoldKnowledgeNode(model, spec) {
4274
+ if (spec.systemPath !== void 0) assertSystemExists(model, spec.systemPath);
4275
+ if (model.knowledge?.[spec.id] !== void 0) {
4276
+ throw new Error(`knowledge node already exists: ${spec.id}`);
4277
+ }
4278
+ const title = spec.label ?? titleize(spec.id.replace(/^knowledge\./, ""));
4279
+ const slug = slugify(spec.id.replace(/^knowledge\./, ""));
4280
+ const kind = spec.kind ?? "reference";
4281
+ const links = spec.systemPath === void 0 ? "" : `links:
4282
+ - system:${spec.systemPath}
4283
+ `;
4284
+ const ownerIds = spec.ownerRoleId === void 0 ? "" : `ownerIds:
4285
+ - ${spec.ownerRoleId}
4286
+ `;
4287
+ return {
4288
+ intent: "knowledge",
4289
+ id: spec.id,
4290
+ summary: `Scaffold ${kind} knowledge node "${spec.id}".`,
4291
+ writes: [
4292
+ {
4293
+ path: `packages/elevasis-core/src/knowledge/nodes/${slug}.mdx.stub`,
4294
+ mode: "create",
4295
+ description: "Knowledge node MDX skeleton.",
4296
+ content: `---
4297
+ id: ${spec.id}
4298
+ kind: ${kind}
4299
+ title: ${JSON.stringify(title)}
4300
+ summary: ${JSON.stringify(spec.description ?? `${title} knowledge node.`)}
4301
+ ${links}${ownerIds}updatedAt: 2026-05-15
4302
+ ---
4303
+
4304
+ ## Overview
4305
+
4306
+ Capture the durable operating knowledge here.
4307
+ `
4308
+ }
4309
+ ],
4310
+ edits: [
4311
+ {
4312
+ path: "packages/elevasis-core/src/organization-model/knowledge.ts",
4313
+ description: "Register this generated node after replacing the .stub suffix.",
4314
+ snippet: `${JSON.stringify(spec.id)}`
4315
+ }
4316
+ ],
4317
+ warnings: [],
4318
+ nextSteps: [
4319
+ "Replace the .stub suffix after the node is ready to become canonical.",
4320
+ spec.systemPath === void 0 ? "Add links to the OM nodes this knowledge governs." : `Run pnpm exec elevasis om:verify --scope ${spec.systemPath}.`
4321
+ ],
4322
+ projectCommand: spec.withProject && spec.systemPath !== void 0 ? `pnpm exec elevasis project:create --link-om ${spec.systemPath} --title "Add ${title} knowledge" --kind om-change` : void 0
4323
+ };
4324
+ }
4325
+
4326
+ // src/organization-model/scaffolders/scaffoldOntologyRecord.ts
4327
+ function scaffoldOntologyRecord(model, spec) {
4328
+ assertSystemExists(model, spec.systemPath);
4329
+ const localId = spec.localId ?? spec.id;
4330
+ const ontologyId = makeOntologyId(spec.systemPath, spec.kind, localId);
4331
+ const label = spec.label ?? titleize(localId);
4332
+ const mapName = ontologyMapName(spec.kind);
4333
+ return {
4334
+ intent: "ontology",
4335
+ id: ontologyId,
4336
+ summary: `Scaffold ${spec.kind} ontology record "${ontologyId}".`,
4337
+ writes: [],
4338
+ edits: [
4339
+ {
4340
+ path: "packages/elevasis-core/src/organization-model/systems.ts",
4341
+ description: `Add this record under ${spec.systemPath}.ontology.${mapName}.`,
4342
+ snippet: `${JSON.stringify(ontologyId)}: {
4343
+ id: ${JSON.stringify(ontologyId)},
4344
+ label: ${JSON.stringify(label)},
4345
+ ownerSystemId: ${JSON.stringify(spec.systemPath)}${spec.description === void 0 ? "" : `,
4346
+ description: ${JSON.stringify(spec.description)}`}
4347
+ }`
4348
+ }
4349
+ ],
4350
+ warnings: [],
4351
+ nextSteps: [
4352
+ "Wire any cross-references using canonical ontology IDs.",
4353
+ `Run pnpm exec elevasis om:verify --scope ${spec.systemPath}.`
4354
+ ],
4355
+ projectCommand: spec.withProject ? `pnpm exec elevasis project:create --link-om ${spec.systemPath} --title "Add ${label} ontology" --kind om-change` : void 0
4356
+ };
4357
+ }
4358
+
4359
+ // src/organization-model/scaffolders/scaffoldResource.ts
4360
+ function scaffoldResource(model, spec) {
4361
+ assertSystemExists(model, spec.systemPath);
4362
+ if (model.resources?.[spec.id] !== void 0) {
4363
+ throw new Error(`resource already exists: ${spec.id}`);
4364
+ }
4365
+ const label = spec.label ?? titleize(spec.id);
4366
+ const kind = spec.kind ?? "workflow";
4367
+ const slug = slugify(spec.id);
4368
+ const writes = spec.withStubWorkflow ? [
4369
+ {
4370
+ path: `packages/elevasis-core/src/workflows/${slug}.stub.ts`,
4371
+ mode: "create",
4372
+ description: "Optional workflow implementation stub. Runtime wiring remains manual.",
4373
+ content: `// Stub only. Replace with a real workflow implementation before registering the resource.
4374
+ export const ${slug.replaceAll("-", "_")}Workflow = {
4375
+ id: ${JSON.stringify(spec.id)}
4376
+ }
4377
+ `
4378
+ }
4379
+ ] : [];
4380
+ return {
4381
+ intent: "resource",
4382
+ id: spec.id,
4383
+ summary: `Scaffold ${kind} Resource "${spec.id}" for System "${spec.systemPath}".`,
4384
+ writes,
4385
+ edits: [
4386
+ {
4387
+ path: "packages/elevasis-core/src/organization-model/resources.ts",
4388
+ description: "Add this descriptor to platformResources/platformResourceDescriptors.",
4389
+ snippet: `${JSON.stringify(spec.id)}: {
4390
+ id: ${JSON.stringify(spec.id)},
4391
+ order: 0,
4392
+ kind: ${JSON.stringify(kind)},
4393
+ systemPath: ${JSON.stringify(spec.systemPath)},
4394
+ title: ${JSON.stringify(label)},
4395
+ ${spec.description === void 0 ? "" : `description: ${JSON.stringify(spec.description)},
4396
+ `}${spec.ownerRoleId === void 0 ? "" : `ownerRoleId: ${JSON.stringify(spec.ownerRoleId)},
4397
+ `}status: 'active',
4398
+ codeRefs: []
4399
+ }`
4400
+ },
4401
+ {
4402
+ path: "packages/elevasis-core/src/organization-model/topology.ts",
4403
+ description: "Add topology relationships only when this resource triggers, uses, or requires approval from another OM node.",
4404
+ snippet: `// topologyRelationship({ from: topologyRef('resource', ${JSON.stringify(spec.id)}), kind: 'uses', to: ... })`
4405
+ }
4406
+ ],
4407
+ warnings: ["Resource ontology bindings are intentionally omitted until action/read/write contracts are known."],
4408
+ nextSteps: [
4409
+ "Bind resource.ontology.actions/reads/writes after the ontology records exist.",
4410
+ `Run pnpm exec elevasis om:verify --scope ${spec.systemPath}.`
4411
+ ],
4412
+ projectCommand: spec.withProject ? `pnpm exec elevasis project:create --link-om ${spec.systemPath} --title "Add ${label} resource" --kind om-change` : void 0
4413
+ };
4414
+ }
4415
+
4416
+ // src/organization-model/scaffolders/scaffoldSystem.ts
4417
+ function scaffoldSystem(model, spec) {
4418
+ const systemPath = spec.parent !== void 0 && !spec.id.includes(".") ? `${spec.parent}.${spec.id}` : spec.id;
4419
+ assertSystemPathAvailable(model, systemPath);
4420
+ const parentPath = parentPathOf(systemPath);
4421
+ const localId = localIdOf(systemPath);
4422
+ const label = spec.label ?? titleize(localId);
4423
+ const roleId = spec.role ?? "role.ops-lead";
4424
+ const uiPath = spec.uiPath ?? `/${localId}`;
4425
+ const featureSlug = slugify(systemPath.replaceAll(".", "-"));
4426
+ const knowledgeId = `knowledge.${featureSlug}-system-overview`;
4427
+ const order = nextSystemOrder(model, parentPath);
4428
+ const withProject = spec.withProject ?? !spec.noProject;
4429
+ const systemEntry = ` ${JSON.stringify(localId)}: {
4430
+ id: ${JSON.stringify(systemPath)},
4431
+ order: ${order},
4432
+ label: ${JSON.stringify(label)},
4433
+ description: ${JSON.stringify(spec.description ?? `${label} bounded context.`)},
4434
+ kind: ${JSON.stringify(spec.kind ?? "operational")},
4435
+ ${parentPath === void 0 ? "" : `parentSystemId: ${JSON.stringify(parentPath)},
4436
+ `}responsibleRoleId: ${JSON.stringify(roleId)},
4437
+ governedByKnowledge: [${JSON.stringify(knowledgeId)}],
4438
+ drivesGoals: [],
4439
+ lifecycle: 'draft',
4440
+ ui: {
4441
+ path: ${JSON.stringify(uiPath)},
4442
+ surfaces: [],
4443
+ ${spec.icon === void 0 ? "" : `icon: ${JSON.stringify(spec.icon)},`}
4444
+ }${spec.withOntology ? `,
4445
+ ontology: {
4446
+ objectTypes: {}
4447
+ }` : ""}
4448
+ }`;
4449
+ const plan = {
4450
+ intent: "system",
4451
+ id: systemPath,
4452
+ summary: `Scaffold System "${systemPath}" with nav, role wiring, governing knowledge, and a UI manifest stub.`,
4453
+ writes: [
4454
+ {
4455
+ path: `packages/ui/src/features/${featureSlug}/manifest.stub.ts`,
4456
+ mode: "create",
4457
+ description: "SystemModule manifest stub. Route files are intentionally not generated.",
4458
+ content: `import type { SystemModule } from '@repo/ui'
4459
+
4460
+ export const ${featureSlug.replaceAll("-", "_")}Manifest: SystemModule = {
4461
+ systemId: ${JSON.stringify(systemPath)},
4462
+ label: ${JSON.stringify(label)},
4463
+ routes: []
4464
+ }
4465
+ `
4466
+ },
4467
+ {
4468
+ path: `packages/elevasis-core/src/knowledge/nodes/${featureSlug}-system-overview.mdx.stub`,
4469
+ mode: "create",
4470
+ description: "Governing knowledge skeleton for the new System.",
4471
+ content: `---
4472
+ id: ${knowledgeId}
4473
+ kind: reference
4474
+ title: ${JSON.stringify(`${label} System Overview`)}
4475
+ summary: ${JSON.stringify(`Governing context for the ${label} System.`)}
4476
+ links:
4477
+ - system:${systemPath}
4478
+ ownerIds:
4479
+ - ${roleId}
4480
+ updatedAt: 2026-05-15
4481
+ ---
4482
+
4483
+ ## Purpose
4484
+
4485
+ Document the operating boundaries, decisions, and ownership for ${label}.
4486
+ `
4487
+ }
4488
+ ],
4489
+ edits: [
4490
+ {
4491
+ path: "packages/elevasis-core/src/organization-model/systems.ts",
4492
+ description: parentPath === void 0 ? "Add this entry to platformSystems." : `Add this entry under platformSystems ${parentPath}.systems.`,
4493
+ snippet: systemEntry
4494
+ },
4495
+ {
4496
+ path: "packages/elevasis-core/src/organization-model/navigation.ts",
4497
+ description: "Confirm sidebar placement derives from ui.path or add explicit surface targeting if needed.",
4498
+ snippet: `// System "${systemPath}" declares ui.path ${JSON.stringify(uiPath)}. Do not add route files in /om create.`
4499
+ },
4500
+ {
4501
+ path: "packages/elevasis-core/src/organization-model/roles.ts",
4502
+ description: `Confirm ${roleId} exists or add the owning role before merging.`,
4503
+ snippet: `// responsibleRoleId: ${JSON.stringify(roleId)}`
4504
+ },
4505
+ {
4506
+ path: "packages/elevasis-core/src/organization-model/assembly.ts",
4507
+ description: "Confirm roleFor()/owner routing covers the new System.",
4508
+ snippet: `case ${JSON.stringify(systemPath)}:
4509
+ return ${JSON.stringify(roleId)}`
4510
+ },
4511
+ {
4512
+ path: "packages/elevasis-core/src/organization-model/knowledge.ts",
4513
+ description: "Register the generated governing knowledge node after replacing the .stub suffix.",
4514
+ snippet: `${JSON.stringify(knowledgeId)}`
4515
+ }
4516
+ ],
4517
+ warnings: spec.withOntology ? ["Ontology was requested; the default objectTypes block is intentionally empty until the domain language is known."] : ["Ontology is opt-in. Re-run with --with-ontology when the object/action/catalog language is known."],
4518
+ nextSteps: [
4519
+ "Review the planned OM edits and apply them in the listed source files.",
4520
+ "Replace .stub suffixes only after the System entry is merged.",
4521
+ `Run pnpm exec elevasis om:verify --scope ${systemPath}.`
4522
+ ]
4523
+ };
4524
+ return addProjectNextStep(
4525
+ plan,
4526
+ withProject,
4527
+ `pnpm exec elevasis project:create --link-om ${systemPath} --title "Build ${label} System" --kind system-build`
4528
+ );
4529
+ }
4530
+
4531
+ // src/organization-model/scaffolders/index.ts
4532
+ function scaffoldOrganizationModel(model, spec) {
4533
+ if (spec.intent === "system") return scaffoldSystem(model, spec);
4534
+ if (spec.intent === "ontology") return scaffoldOntologyRecord(model, spec);
4535
+ if (spec.intent === "resource") return scaffoldResource(model, spec);
4536
+ return scaffoldKnowledgeNode(model, spec);
4537
+ }
4538
+
4539
+ export { ActionIdSchema, ActionInvocationKindSchema, ActionInvocationSchema, ActionRefSchema, ActionSchema, ActionScopeSchema, ActionsDomainSchema, AgentKindSchema, AgentResourceEntrySchema, AgentRoleHolderSchema, ApiEndpointInvocationSchema, CRM_ACTION_ENTRIES, CodeReferenceRoleSchema, CodeReferenceSchema, CustomerSegmentSchema, CustomersDomainSchema, DEFAULT_ONTOLOGY_SCOPE, DEFAULT_ORGANIZATION_MODEL, DEFAULT_ORGANIZATION_MODEL_ACTIONS, DEFAULT_ORGANIZATION_MODEL_CUSTOMERS, DEFAULT_ORGANIZATION_MODEL_DOMAIN_METADATA, DEFAULT_ORGANIZATION_MODEL_ENTITIES, DEFAULT_ORGANIZATION_MODEL_GOALS, DEFAULT_ORGANIZATION_MODEL_NAVIGATION, DEFAULT_ORGANIZATION_MODEL_OFFERINGS, DEFAULT_ORGANIZATION_MODEL_POLICIES, DEFAULT_ORGANIZATION_MODEL_RESOURCES, DEFAULT_ORGANIZATION_MODEL_ROLES, DEFAULT_ORGANIZATION_MODEL_STATUSES, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, DEFAULT_ORGANIZATION_MODEL_TOPOLOGY, EntitiesDomainSchema, EntityIdSchema, EntityLinkKindSchema, EntityLinkSchema, EntitySchema, EventDescriptorSchema, EventEmissionDescriptorSchema, EventIdSchema, FirmographicsSchema, GoalsDomainSchema, HumanRoleHolderSchema, IconNameSchema, IntegrationResourceEntrySchema, KNOWLEDGE_FEATURE_ID, KNOWLEDGE_SYSTEM_ID, KeyResultSchema, KnowledgeDomainSchema, KnowledgeLinkSchema, KnowledgeTargetKindSchema, KnowledgeTargetRefSchema, LEAD_GEN_ACTION_ENTRIES, LEAD_GEN_STAGE_CATALOG, LinkSchema, MONITORING_FEATURE_ID, MONITORING_SYSTEM_ID, McpToolInvocationSchema, NavigationGroupSchema, NodeIdPathSchema, NodeIdStringSchema, OPERATIONS_COMMAND_VIEW_SURFACE_ID, OPERATIONS_FEATURE_ID, OPERATIONS_SYSTEM_ID, ORGANIZATION_MODEL_ICON_TOKENS, ObjectiveSchema, OfferingsDomainSchema, OmTopologyDomainSchema, OmTopologyMetadataSchema, OmTopologyNodeKindSchema, OmTopologyNodeRefSchema, OmTopologyRelationshipKindSchema, OmTopologyRelationshipSchema, OntologyActionTypeSchema, OntologyCatalogTypeSchema, OntologyEventTypeSchema, OntologyGroupSchema, OntologyIdSchema, OntologyInterfaceTypeSchema, OntologyKindSchema, OntologyLinkTypeSchema, OntologyObjectTypeSchema, OntologyScopeSchema, OntologySharedPropertySchema, OntologySurfaceTypeSchema, OntologyValueTypeSchema, OrgKnowledgeKindSchema, OrgKnowledgeNodeSchema, OrganizationModelBuiltinIconTokenSchema, OrganizationModelDomainKeySchema, OrganizationModelDomainMetadataByDomainSchema, OrganizationModelDomainMetadataSchema, OrganizationModelIconTokenSchema, OrganizationModelNavigationSchema, OrganizationModelSchema, PROJECTS_FEATURE_ID, PROJECTS_INDEX_SURFACE_ID, PROJECTS_SYSTEM_ID, PROJECTS_VIEW_ACTION_ID, PROSPECTING_FEATURE_ID, PROSPECTING_LISTS_SURFACE_ID, PROSPECTING_SYSTEM_ID, PoliciesDomainSchema, PolicyApplicabilitySchema, PolicyEffectSchema, PolicyIdSchema, PolicyPredicateSchema, PolicySchema, PolicyTriggerSchema, PricingModelSchema, ProductSchema, ResourceEntrySchema, ResourceGovernanceStatusSchema, ResourceIdSchema, ResourceKindSchema, ResourceOntologyBindingSchema, ResourcesDomainSchema, RoleHolderSchema, RoleHoldersSchema, RoleIdSchema, RoleSchema, RolesDomainSchema, SALES_FEATURE_ID, SALES_PIPELINE_SURFACE_ID, SALES_SYSTEM_ID, SEO_FEATURE_ID, SEO_SYSTEM_ID, SETTINGS_FEATURE_ID, SETTINGS_ROLES_SURFACE_ID, SETTINGS_SYSTEM_ID, ScriptExecutionInvocationSchema, ScriptResourceEntrySchema, ScriptResourceLanguageSchema, ScriptResourceSourceSchema, SidebarNavigationSchema, SidebarNodeSchema, SidebarSectionSchema, SidebarSurfaceTargetsSchema, SlashCommandInvocationSchema, StatusEntrySchema, StatusSemanticClassSchema, StatusesDomainSchema, SurfaceDefinitionSchema, SurfaceTypeSchema, SystemEntrySchema, SystemIdSchema, SystemKindSchema, SystemLifecycleSchema, SystemPathSchema, SystemStatusSchema, SystemUiSchema, SystemsDomainSchema, TeamRoleHolderSchema, TechStackEntrySchema, UiPositionSchema, WorkflowResourceEntrySchema, compileOrganizationOntology, compileTopologyNodeRef, createFoundationOrganizationModel, defineOrganizationModel, defineResource, defineResourceOntology, defineResources, defineTopology, defineTopologyRelationship, findOrganizationActionById, formatOntologyId, getOntologyDiagnostics, getSortedSidebarEntries, isOntologyGraphNodeId, isOntologyTopologyRef, listResolvedOntologyRecords, ontologyGraphNodeId, ontologyIdFromGraphNodeId, parseOntologyId, parseTopologyNodeRef, resolveOrganizationModel, resolveOrganizationModelWithResources, scaffoldOrganizationModel, topologyRef, topologyRelationship };
@@ -241,6 +241,7 @@ declare const OrgKnowledgeNodeSchema: z.ZodObject<{
241
241
  crm: "crm";
242
242
  "lead-gen": "lead-gen";
243
243
  projects: "projects";
244
+ clients: "clients";
244
245
  operations: "operations";
245
246
  monitoring: "monitoring";
246
247
  knowledge: "knowledge";
@@ -344,6 +345,7 @@ declare const OrganizationModelIconTokenSchema: z.ZodUnion<readonly [z.ZodEnum<{
344
345
  crm: "crm";
345
346
  "lead-gen": "lead-gen";
346
347
  projects: "projects";
348
+ clients: "clients";
347
349
  operations: "operations";
348
350
  monitoring: "monitoring";
349
351
  knowledge: "knowledge";
@@ -1200,6 +1202,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
1200
1202
  crm: "crm";
1201
1203
  "lead-gen": "lead-gen";
1202
1204
  projects: "projects";
1205
+ clients: "clients";
1203
1206
  operations: "operations";
1204
1207
  monitoring: "monitoring";
1205
1208
  knowledge: "knowledge";
@@ -1406,6 +1409,32 @@ interface ParsedKnowledgePath {
1406
1409
  * match any supported mount pattern.
1407
1410
  */
1408
1411
  declare function parsePath(pathString: string): ParsedKnowledgePath;
1412
+ /**
1413
+ * The kind of OM node that produced a search hit.
1414
+ *
1415
+ * Maps to the surface being searched:
1416
+ * - `system` — recursive systems tree (model.systems)
1417
+ * - `resource` — model.resources (workflows, agents, integrations, scripts)
1418
+ * - `knowledge` — model.knowledge (playbooks, strategies, references)
1419
+ * - `ontology` — system.ontology and model.ontology (objects, actions, events, catalogs, links, ...)
1420
+ * - `role` — model.roles
1421
+ * - `policy` — model.policies
1422
+ */
1423
+ type OmSearchHitKind = 'system' | 'resource' | 'knowledge' | 'ontology' | 'role' | 'policy';
1424
+ interface OmSearchHit {
1425
+ /** Surface that produced the hit. */
1426
+ kind: OmSearchHitKind;
1427
+ /** Canonical id (system path, resource id, knowledge id, ontology id, role id, policy id). */
1428
+ id: string;
1429
+ /** Display title (label/title/summary fallback). */
1430
+ title: string;
1431
+ /** One-line description or summary (may be empty). */
1432
+ summary: string;
1433
+ /** Ranking score; higher is better. */
1434
+ score: number;
1435
+ /** Optional sub-kind for ontology / resource (`object`, `action`, `event`, `workflow`, ...). */
1436
+ subKind?: string;
1437
+ }
1409
1438
 
1410
1439
  /**
1411
1440
  * Renders a list of `OrgKnowledgeNode` results as a human-friendly text table.
@@ -1457,7 +1486,7 @@ declare function formatJson(input: {
1457
1486
  *
1458
1487
  * Returns an empty string when the array is empty (suitable for `wc -l` piping).
1459
1488
  */
1460
- declare function formatIdsOnly(results: OrgKnowledgeNode[] | string[]): string;
1489
+ declare function formatIdsOnly(results: OrgKnowledgeNode[] | string[] | OmSearchHit[]): string;
1461
1490
 
1462
1491
  export { byKind, byOwner, bySystem, formatIdsOnly, formatJson, formatText, governedBy, governs, parsePath };
1463
1492
  export type { KnowledgeJsonEnvelope, KnowledgeMount, ParsedKnowledgePath };