@elevasis/core 0.21.0 → 0.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.
Files changed (59) hide show
  1. package/dist/index.d.ts +416 -6
  2. package/dist/index.js +240 -15
  3. package/dist/knowledge/index.d.ts +97 -1
  4. package/dist/organization-model/index.d.ts +416 -6
  5. package/dist/organization-model/index.js +240 -15
  6. package/dist/test-utils/index.d.ts +216 -1
  7. package/dist/test-utils/index.js +230 -14
  8. package/package.json +3 -3
  9. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +495 -302
  10. package/src/auth/multi-tenancy/permissions.ts +20 -8
  11. package/src/business/README.md +2 -2
  12. package/src/business/acquisition/api-schemas.test.ts +173 -0
  13. package/src/business/acquisition/api-schemas.ts +125 -7
  14. package/src/business/acquisition/index.ts +12 -0
  15. package/src/business/clients/api-schemas.test.ts +115 -0
  16. package/src/business/clients/api-schemas.ts +158 -0
  17. package/src/business/clients/index.ts +1 -0
  18. package/src/business/deals/api-schemas.ts +8 -0
  19. package/src/business/index.ts +5 -2
  20. package/src/business/projects/types.ts +19 -0
  21. package/src/execution/engine/__tests__/fixtures/test-agents.ts +10 -8
  22. package/src/execution/engine/agent/core/__tests__/agent.test.ts +16 -12
  23. package/src/execution/engine/agent/core/__tests__/error-passthrough.test.ts +4 -3
  24. package/src/execution/engine/agent/core/types.ts +25 -15
  25. package/src/execution/engine/agent/index.ts +6 -4
  26. package/src/execution/engine/agent/reasoning/__tests__/request-builder.test.ts +24 -18
  27. package/src/execution/engine/index.ts +3 -0
  28. package/src/execution/engine/workflow/types.ts +7 -0
  29. package/src/organization-model/README.md +10 -3
  30. package/src/organization-model/__tests__/defaults.test.ts +6 -0
  31. package/src/organization-model/__tests__/domains/resources.test.ts +188 -0
  32. package/src/organization-model/__tests__/domains/roles.test.ts +402 -347
  33. package/src/organization-model/__tests__/domains/systems.test.ts +193 -0
  34. package/src/organization-model/__tests__/knowledge.test.ts +39 -0
  35. package/src/organization-model/__tests__/resolve.test.ts +1 -1
  36. package/src/organization-model/defaults.ts +24 -3
  37. package/src/organization-model/domains/knowledge.ts +3 -2
  38. package/src/organization-model/domains/resources.ts +88 -0
  39. package/src/organization-model/domains/roles.ts +93 -55
  40. package/src/organization-model/domains/systems.ts +46 -0
  41. package/src/organization-model/icons.ts +1 -0
  42. package/src/organization-model/index.ts +2 -0
  43. package/src/organization-model/organization-model.mdx +33 -14
  44. package/src/organization-model/published.ts +52 -1
  45. package/src/organization-model/schema.ts +121 -0
  46. package/src/organization-model/types.ts +46 -1
  47. package/src/platform/api/types.ts +38 -35
  48. package/src/platform/registry/__tests__/resource-registry.test.ts +2051 -2005
  49. package/src/platform/registry/__tests__/validation.test.ts +1343 -1086
  50. package/src/platform/registry/index.ts +14 -0
  51. package/src/platform/registry/resource-registry.ts +40 -2
  52. package/src/platform/registry/serialization.ts +241 -202
  53. package/src/platform/registry/serialized-types.ts +1 -0
  54. package/src/platform/registry/types.ts +411 -361
  55. package/src/platform/registry/validation.ts +743 -513
  56. package/src/projects/api-schemas.ts +290 -267
  57. package/src/reference/_generated/contracts.md +495 -302
  58. package/src/reference/glossary.md +8 -3
  59. package/src/supabase/database.types.ts +121 -0
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ var ORGANIZATION_MODEL_ICON_TOKENS = [
19
19
  "knowledge.reference",
20
20
  "feature.dashboard",
21
21
  "feature.calendar",
22
+ "feature.business",
22
23
  "feature.sales",
23
24
  "feature.crm",
24
25
  "feature.finance",
@@ -969,13 +970,113 @@ var OfferingsDomainSchema = z.object({
969
970
  var DEFAULT_ORGANIZATION_MODEL_OFFERINGS = {
970
971
  products: []
971
972
  };
973
+ var SystemKindSchema = z.enum(["product", "operational", "platform", "diagnostic"]);
974
+ var SystemStatusSchema = z.enum(["active", "deprecated", "archived"]);
975
+ var SystemIdSchema = ModelIdSchema;
976
+ var SystemEntrySchema = z.object({
977
+ /** Stable tenant-defined system id (e.g. "sys.lead-gen"). */
978
+ id: SystemIdSchema,
979
+ /** Human-readable system title shown in governance and operations UI. */
980
+ title: LabelSchema,
981
+ /** One-paragraph purpose statement for the bounded context. */
982
+ description: DescriptionSchema,
983
+ /** Closed system shape enum; catalog values remain tenant-defined. */
984
+ kind: SystemKindSchema,
985
+ /** Optional role responsible for this system. */
986
+ responsibleRoleId: ModelIdSchema.optional(),
987
+ /** Optional knowledge nodes that govern this system. */
988
+ governedByKnowledge: ReferenceIdsSchema,
989
+ /** Optional goals this system contributes to. */
990
+ drivesGoals: ReferenceIdsSchema,
991
+ status: SystemStatusSchema
992
+ });
993
+ var SystemsDomainSchema = z.object({
994
+ systems: z.array(SystemEntrySchema).default([])
995
+ });
996
+ var DEFAULT_ORGANIZATION_MODEL_SYSTEMS = {
997
+ systems: []
998
+ };
999
+
1000
+ // src/organization-model/domains/resources.ts
1001
+ var ResourceKindSchema = z.enum(["workflow", "agent", "integration"]);
1002
+ var ResourceGovernanceStatusSchema = z.enum(["active", "deprecated", "archived"]);
1003
+ var AgentKindSchema = z.enum(["orchestrator", "specialist", "utility", "system"]);
1004
+ var ResourceIdSchema = z.string().trim().min(1).max(255).regex(/^[A-Za-z0-9]+(?:[-._][A-Za-z0-9]+)*$/, "Resource IDs must use letters, numbers, -, _, or . separators");
1005
+ var ResourceEntryBaseSchema = z.object({
1006
+ /** Canonical resource id; runtime resourceId derives from this value. */
1007
+ id: ResourceIdSchema,
1008
+ /** Required single System membership. */
1009
+ systemId: SystemIdSchema,
1010
+ /** Optional role responsible for maintaining this resource. */
1011
+ ownerRoleId: ModelIdSchema.optional(),
1012
+ status: ResourceGovernanceStatusSchema
1013
+ });
1014
+ var WorkflowResourceEntrySchema = ResourceEntryBaseSchema.extend({
1015
+ kind: z.literal("workflow"),
1016
+ /** Mirrors WorkflowConfig.capabilityKey when the runtime workflow has one. */
1017
+ capabilityKey: z.string().trim().min(1).max(255).optional()
1018
+ });
1019
+ var AgentResourceEntrySchema = ResourceEntryBaseSchema.extend({
1020
+ kind: z.literal("agent"),
1021
+ /** Mirrors code-side AgentConfig.kind. */
1022
+ agentKind: AgentKindSchema,
1023
+ /** Role this agent embodies, if any. */
1024
+ actsAsRoleId: ModelIdSchema.optional(),
1025
+ /** Mirrors AgentConfig.sessionCapable. */
1026
+ sessionCapable: z.boolean()
1027
+ });
1028
+ var IntegrationResourceEntrySchema = ResourceEntryBaseSchema.extend({
1029
+ kind: z.literal("integration"),
1030
+ provider: z.string().trim().min(1).max(100)
1031
+ });
1032
+ var ResourceEntrySchema = z.discriminatedUnion("kind", [
1033
+ WorkflowResourceEntrySchema,
1034
+ AgentResourceEntrySchema,
1035
+ IntegrationResourceEntrySchema
1036
+ ]);
1037
+ var ResourcesDomainSchema = z.object({
1038
+ entries: z.array(ResourceEntrySchema).default([])
1039
+ });
1040
+ var DEFAULT_ORGANIZATION_MODEL_RESOURCES = {
1041
+ entries: []
1042
+ };
1043
+ function defineResource(resource) {
1044
+ return ResourceEntrySchema.parse(resource);
1045
+ }
1046
+ function defineResources(resources) {
1047
+ for (const resource of Object.values(resources)) {
1048
+ ResourceEntrySchema.parse(resource);
1049
+ }
1050
+ return resources;
1051
+ }
1052
+
1053
+ // src/organization-model/domains/roles.ts
1054
+ var RoleIdSchema = ModelIdSchema;
1055
+ var HumanRoleHolderSchema = z.object({
1056
+ kind: z.literal("human"),
1057
+ userId: z.string().trim().min(1).max(200)
1058
+ });
1059
+ var AgentRoleHolderSchema = z.object({
1060
+ kind: z.literal("agent"),
1061
+ agentId: ResourceIdSchema
1062
+ });
1063
+ var TeamRoleHolderSchema = z.object({
1064
+ kind: z.literal("team"),
1065
+ memberIds: z.array(z.string().trim().min(1).max(200)).min(1)
1066
+ });
1067
+ var RoleHolderSchema = z.discriminatedUnion("kind", [
1068
+ HumanRoleHolderSchema,
1069
+ AgentRoleHolderSchema,
1070
+ TeamRoleHolderSchema
1071
+ ]);
1072
+ var RoleHoldersSchema = z.union([RoleHolderSchema, z.array(RoleHolderSchema).min(1)]);
972
1073
  var RoleSchema = z.object({
973
1074
  /** Stable unique identifier for the role (e.g. "role-ceo", "role-head-of-sales"). */
974
- id: z.string().trim().min(1).max(100),
1075
+ id: RoleIdSchema,
975
1076
  /** Human-readable title shown to agents and in UI (e.g. "CEO", "Head of Sales"). */
976
1077
  title: z.string().trim().min(1).max(200),
977
1078
  /**
978
- * List of responsibilities this role owns plain-language descriptions of
1079
+ * List of responsibilities this role owns - plain-language descriptions of
979
1080
  * what the person in this role is accountable for delivering.
980
1081
  * Defaults to empty array so minimal role definitions stay concise.
981
1082
  */
@@ -983,16 +1084,18 @@ var RoleSchema = z.object({
983
1084
  /**
984
1085
  * Optional: ID of another role this role reports to.
985
1086
  * When present, must reference another `roles[].id` in the same organization.
986
- * Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
987
- * Absence indicates a top-level role (no reporting line).
988
1087
  */
989
- reportsToId: z.string().trim().min(1).max(100).optional(),
1088
+ reportsToId: RoleIdSchema.optional(),
990
1089
  /**
991
- * Optional: name or email of the person currently holding this role.
992
- * Free-form string supports "Alice Johnson", "alice@example.com", or
993
- * any human-readable identifier. Not validated against any user registry.
1090
+ * Optional: human, agent, or team holder currently filling this role.
1091
+ * Agent holders reference OM Resource IDs and are validated at the model level.
994
1092
  */
995
- heldBy: z.string().trim().max(200).optional()
1093
+ heldBy: RoleHoldersSchema.optional(),
1094
+ /**
1095
+ * Optional Systems this role is accountable for.
1096
+ * Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
1097
+ */
1098
+ responsibleFor: z.array(SystemIdSchema).optional()
996
1099
  });
997
1100
  var RolesDomainSchema = z.object({
998
1101
  roles: z.array(RoleSchema).default([])
@@ -1227,8 +1330,8 @@ var OrgKnowledgeNodeSchema = z.object({
1227
1330
  skills: z.array(KnowledgeSkillBindingSchema).optional(),
1228
1331
  /** Domain key used to derive fast graph->skill registries. */
1229
1332
  domain: KnowledgeDomainBindingSchema.optional(),
1230
- /** Identifiers of the roles or members who own this knowledge node. */
1231
- ownerIds: z.array(ModelIdSchema).default([]),
1333
+ /** Role identifiers that own this knowledge node. */
1334
+ ownerIds: z.array(RoleIdSchema).default([]),
1232
1335
  /** ISO date string (YYYY-MM-DD or full ISO 8601) of last meaningful update. */
1233
1336
  updatedAt: z.string().trim().min(1).max(50)
1234
1337
  });
@@ -1250,6 +1353,8 @@ var OrganizationModelSchemaBase = z.object({
1250
1353
  offerings: OfferingsDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_OFFERINGS),
1251
1354
  roles: RolesDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_ROLES),
1252
1355
  goals: GoalsDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_GOALS),
1356
+ systems: SystemsDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_SYSTEMS),
1357
+ resources: ResourcesDomainSchema.default(DEFAULT_ORGANIZATION_MODEL_RESOURCES),
1253
1358
  statuses: StatusesDomainSchema.default({ entries: [] }),
1254
1359
  operations: OperationsDomainSchema.default({ entries: [] }),
1255
1360
  knowledge: KnowledgeDomainSchema.default({ nodes: [] })
@@ -1283,6 +1388,9 @@ function hasFeature(featuresById, featureId) {
1283
1388
  function defaultFeaturePathFor(id) {
1284
1389
  return `/${id.replaceAll(".", "/")}`;
1285
1390
  }
1391
+ function asRoleHolderArray(heldBy) {
1392
+ return Array.isArray(heldBy) ? heldBy : [heldBy];
1393
+ }
1286
1394
  var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ctx) => {
1287
1395
  const featuresById = collectIds(model.features, ctx, ["features"], "Feature");
1288
1396
  const featureIdsByEffectivePath = /* @__PURE__ */ new Map();
@@ -1393,6 +1501,8 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ct
1393
1501
  );
1394
1502
  }
1395
1503
  });
1504
+ const goalsById = new Map(model.goals.objectives.map((objective) => [objective.id, objective]));
1505
+ const knowledgeById = new Map(model.knowledge.nodes.map((node) => [node.id, node]));
1396
1506
  const rolesById = new Map(model.roles.roles.map((role) => [role.id, role]));
1397
1507
  model.roles.roles.forEach((role, roleIndex) => {
1398
1508
  if (role.reportsToId !== void 0 && !rolesById.has(role.reportsToId)) {
@@ -1403,6 +1513,102 @@ var OrganizationModelSchema = OrganizationModelSchemaBase.superRefine((model, ct
1403
1513
  );
1404
1514
  }
1405
1515
  });
1516
+ const systemsById = collectIds(model.systems.systems, ctx, ["systems", "systems"], "System");
1517
+ model.roles.roles.forEach((role, roleIndex) => {
1518
+ role.responsibleFor?.forEach((systemId, systemIndex) => {
1519
+ if (!systemsById.has(systemId)) {
1520
+ addIssue(
1521
+ ctx,
1522
+ ["roles", "roles", roleIndex, "responsibleFor", systemIndex],
1523
+ `Role "${role.id}" references unknown responsibleFor system "${systemId}"`
1524
+ );
1525
+ }
1526
+ });
1527
+ });
1528
+ model.systems.systems.forEach((system, systemIndex) => {
1529
+ if (system.responsibleRoleId !== void 0 && !rolesById.has(system.responsibleRoleId)) {
1530
+ addIssue(
1531
+ ctx,
1532
+ ["systems", "systems", systemIndex, "responsibleRoleId"],
1533
+ `System "${system.id}" references unknown responsibleRoleId "${system.responsibleRoleId}"`
1534
+ );
1535
+ }
1536
+ system.governedByKnowledge.forEach((nodeId, nodeIndex) => {
1537
+ if (!knowledgeById.has(nodeId)) {
1538
+ addIssue(
1539
+ ctx,
1540
+ ["systems", "systems", systemIndex, "governedByKnowledge", nodeIndex],
1541
+ `System "${system.id}" references unknown knowledge node "${nodeId}"`
1542
+ );
1543
+ }
1544
+ });
1545
+ system.drivesGoals.forEach((goalId, goalIndex) => {
1546
+ if (!goalsById.has(goalId)) {
1547
+ addIssue(
1548
+ ctx,
1549
+ ["systems", "systems", systemIndex, "drivesGoals", goalIndex],
1550
+ `System "${system.id}" references unknown goal "${goalId}"`
1551
+ );
1552
+ }
1553
+ });
1554
+ });
1555
+ const resourcesById = collectIds(model.resources.entries, ctx, ["resources", "entries"], "Resource");
1556
+ model.resources.entries.forEach((resource, resourceIndex) => {
1557
+ if (!systemsById.has(resource.systemId)) {
1558
+ addIssue(
1559
+ ctx,
1560
+ ["resources", "entries", resourceIndex, "systemId"],
1561
+ `Resource "${resource.id}" references unknown systemId "${resource.systemId}"`
1562
+ );
1563
+ }
1564
+ if (resource.ownerRoleId !== void 0 && !rolesById.has(resource.ownerRoleId)) {
1565
+ addIssue(
1566
+ ctx,
1567
+ ["resources", "entries", resourceIndex, "ownerRoleId"],
1568
+ `Resource "${resource.id}" references unknown ownerRoleId "${resource.ownerRoleId}"`
1569
+ );
1570
+ }
1571
+ if (resource.kind === "agent" && resource.actsAsRoleId !== void 0 && !rolesById.has(resource.actsAsRoleId)) {
1572
+ addIssue(
1573
+ ctx,
1574
+ ["resources", "entries", resourceIndex, "actsAsRoleId"],
1575
+ `Agent resource "${resource.id}" references unknown actsAsRoleId "${resource.actsAsRoleId}"`
1576
+ );
1577
+ }
1578
+ });
1579
+ model.roles.roles.forEach((role, roleIndex) => {
1580
+ if (role.heldBy === void 0) return;
1581
+ asRoleHolderArray(role.heldBy).forEach((holder, holderIndex) => {
1582
+ if (holder.kind !== "agent") return;
1583
+ const resource = resourcesById.get(holder.agentId);
1584
+ if (resource === void 0) {
1585
+ addIssue(
1586
+ ctx,
1587
+ ["roles", "roles", roleIndex, "heldBy", Array.isArray(role.heldBy) ? holderIndex : "agentId"],
1588
+ `Role "${role.id}" references unknown agent holder resource "${holder.agentId}"`
1589
+ );
1590
+ return;
1591
+ }
1592
+ if (resource.kind !== "agent") {
1593
+ addIssue(
1594
+ ctx,
1595
+ ["roles", "roles", roleIndex, "heldBy", Array.isArray(role.heldBy) ? holderIndex : "agentId"],
1596
+ `Role "${role.id}" agent holder "${holder.agentId}" must reference an agent resource`
1597
+ );
1598
+ }
1599
+ });
1600
+ });
1601
+ model.knowledge.nodes.forEach((node, nodeIndex) => {
1602
+ node.ownerIds.forEach((roleId, ownerIndex) => {
1603
+ if (!rolesById.has(roleId)) {
1604
+ addIssue(
1605
+ ctx,
1606
+ ["knowledge", "nodes", nodeIndex, "ownerIds", ownerIndex],
1607
+ `Knowledge node "${node.id}" references unknown owner role "${roleId}"`
1608
+ );
1609
+ }
1610
+ });
1611
+ });
1406
1612
  });
1407
1613
  var OrganizationGraphNodeKindSchema = z.enum([
1408
1614
  "organization",
@@ -1497,6 +1703,15 @@ var DEFAULT_ORGANIZATION_MODEL = {
1497
1703
  color: "green",
1498
1704
  icon: "feature.finance"
1499
1705
  },
1706
+ {
1707
+ id: "business",
1708
+ label: "Business",
1709
+ description: "Revenue, client relationships, and project delivery",
1710
+ enabled: true,
1711
+ color: "blue",
1712
+ icon: "feature.business",
1713
+ uiPosition: "sidebar-primary"
1714
+ },
1500
1715
  {
1501
1716
  id: "sales",
1502
1717
  label: "Sales",
@@ -1504,7 +1719,7 @@ var DEFAULT_ORGANIZATION_MODEL = {
1504
1719
  enabled: true,
1505
1720
  color: "blue",
1506
1721
  icon: "feature.sales",
1507
- uiPosition: "sidebar-primary"
1722
+ path: "/sales"
1508
1723
  },
1509
1724
  {
1510
1725
  id: "sales.crm",
@@ -1531,8 +1746,16 @@ var DEFAULT_ORGANIZATION_MODEL = {
1531
1746
  enabled: true,
1532
1747
  color: "orange",
1533
1748
  icon: "feature.projects",
1534
- path: "/projects",
1535
- uiPosition: "sidebar-primary"
1749
+ path: "/projects"
1750
+ },
1751
+ {
1752
+ id: "clients",
1753
+ label: "Clients",
1754
+ description: "Client relationships, accounts, and business context",
1755
+ enabled: true,
1756
+ color: "orange",
1757
+ icon: "feature.projects",
1758
+ path: "/business/clients"
1536
1759
  },
1537
1760
  {
1538
1761
  id: "operations",
@@ -1777,6 +2000,8 @@ var DEFAULT_ORGANIZATION_MODEL = {
1777
2000
  offerings: DEFAULT_ORGANIZATION_MODEL_OFFERINGS,
1778
2001
  roles: DEFAULT_ORGANIZATION_MODEL_ROLES,
1779
2002
  goals: DEFAULT_ORGANIZATION_MODEL_GOALS,
2003
+ systems: DEFAULT_ORGANIZATION_MODEL_SYSTEMS,
2004
+ resources: DEFAULT_ORGANIZATION_MODEL_RESOURCES,
1780
2005
  statuses: DEFAULT_ORGANIZATION_MODEL_STATUSES,
1781
2006
  operations: DEFAULT_ORGANIZATION_MODEL_OPERATIONS,
1782
2007
  knowledge: DEFAULT_ORGANIZATION_MODEL_KNOWLEDGE
@@ -1863,4 +2088,4 @@ function createFoundationOrganizationModel(override) {
1863
2088
  };
1864
2089
  }
1865
2090
 
1866
- export { CustomerSegmentSchema, CustomersDomainSchema, DEFAULT_ORGANIZATION_MODEL, DEFAULT_ORGANIZATION_MODEL_CUSTOMERS, DEFAULT_ORGANIZATION_MODEL_GOALS, DEFAULT_ORGANIZATION_MODEL_OFFERINGS, DEFAULT_ORGANIZATION_MODEL_OPERATIONS, DEFAULT_ORGANIZATION_MODEL_ROLES, DEFAULT_ORGANIZATION_MODEL_STATUSES, FeatureSchema, FirmographicsSchema, GoalsDomainSchema, IconNameSchema, KNOWLEDGE_FEATURE_ID, KeyResultSchema, KnowledgeDomainSchema, KnowledgeLinkSchema, LinkSchema, MONITORING_FEATURE_ID, NodeIdPathSchema, NodeIdStringSchema, OPERATIONS_COMMAND_VIEW_SURFACE_ID, OPERATIONS_FEATURE_ID, ORGANIZATION_MODEL_ICON_TOKENS, ObjectiveSchema, OfferingsDomainSchema, OperationEntrySchema, OperationSemanticClassSchema, OperationsDomainSchema, OrgKnowledgeKindSchema, OrgKnowledgeNodeSchema, OrganizationModelBuiltinIconTokenSchema, OrganizationModelIconTokenSchema, OrganizationModelSchema, PROJECTS_FEATURE_ID, PROJECTS_INDEX_SURFACE_ID, PROJECTS_VIEW_CAPABILITY_ID, PROSPECTING_FEATURE_ID, PROSPECTING_LISTS_SURFACE_ID, PricingModelSchema, ProductSchema, RoleSchema, RolesDomainSchema, SALES_FEATURE_ID, SALES_PIPELINE_SURFACE_ID, SEO_FEATURE_ID, SETTINGS_FEATURE_ID, SETTINGS_ROLES_SURFACE_ID, StatusEntrySchema, StatusSemanticClassSchema, StatusesDomainSchema, TechStackEntrySchema, UiPositionSchema, createFoundationOrganizationModel, defineOrganizationModel, resolveOrganizationModel };
2091
+ export { AgentKindSchema, AgentResourceEntrySchema, AgentRoleHolderSchema, CustomerSegmentSchema, CustomersDomainSchema, DEFAULT_ORGANIZATION_MODEL, DEFAULT_ORGANIZATION_MODEL_CUSTOMERS, DEFAULT_ORGANIZATION_MODEL_GOALS, DEFAULT_ORGANIZATION_MODEL_OFFERINGS, DEFAULT_ORGANIZATION_MODEL_OPERATIONS, DEFAULT_ORGANIZATION_MODEL_RESOURCES, DEFAULT_ORGANIZATION_MODEL_ROLES, DEFAULT_ORGANIZATION_MODEL_STATUSES, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, FeatureSchema, FirmographicsSchema, GoalsDomainSchema, HumanRoleHolderSchema, IconNameSchema, IntegrationResourceEntrySchema, KNOWLEDGE_FEATURE_ID, KeyResultSchema, KnowledgeDomainSchema, KnowledgeLinkSchema, LinkSchema, MONITORING_FEATURE_ID, NodeIdPathSchema, NodeIdStringSchema, OPERATIONS_COMMAND_VIEW_SURFACE_ID, OPERATIONS_FEATURE_ID, ORGANIZATION_MODEL_ICON_TOKENS, ObjectiveSchema, OfferingsDomainSchema, OperationEntrySchema, OperationSemanticClassSchema, OperationsDomainSchema, OrgKnowledgeKindSchema, OrgKnowledgeNodeSchema, OrganizationModelBuiltinIconTokenSchema, OrganizationModelIconTokenSchema, OrganizationModelSchema, PROJECTS_FEATURE_ID, PROJECTS_INDEX_SURFACE_ID, PROJECTS_VIEW_CAPABILITY_ID, PROSPECTING_FEATURE_ID, PROSPECTING_LISTS_SURFACE_ID, PricingModelSchema, ProductSchema, ResourceEntrySchema, ResourceGovernanceStatusSchema, ResourceIdSchema, ResourceKindSchema, ResourcesDomainSchema, RoleHolderSchema, RoleHoldersSchema, RoleIdSchema, RoleSchema, RolesDomainSchema, SALES_FEATURE_ID, SALES_PIPELINE_SURFACE_ID, SEO_FEATURE_ID, SETTINGS_FEATURE_ID, SETTINGS_ROLES_SURFACE_ID, StatusEntrySchema, StatusSemanticClassSchema, StatusesDomainSchema, SystemEntrySchema, SystemIdSchema, SystemKindSchema, SystemStatusSchema, SystemsDomainSchema, TeamRoleHolderSchema, TechStackEntrySchema, UiPositionSchema, WorkflowResourceEntrySchema, createFoundationOrganizationModel, defineOrganizationModel, defineResource, defineResources, resolveOrganizationModel };
@@ -51,6 +51,7 @@ declare const OrgKnowledgeNodeSchema: z.ZodObject<{
51
51
  "knowledge.reference": "knowledge.reference";
52
52
  "feature.dashboard": "feature.dashboard";
53
53
  "feature.calendar": "feature.calendar";
54
+ "feature.business": "feature.business";
54
55
  "feature.sales": "feature.sales";
55
56
  "feature.crm": "feature.crm";
56
57
  "feature.finance": "feature.finance";
@@ -129,6 +130,7 @@ declare const OrganizationModelIconTokenSchema: z.ZodUnion<readonly [z.ZodEnum<{
129
130
  "knowledge.reference": "knowledge.reference";
130
131
  "feature.dashboard": "feature.dashboard";
131
132
  "feature.calendar": "feature.calendar";
133
+ "feature.business": "feature.business";
132
134
  "feature.sales": "feature.sales";
133
135
  "feature.crm": "feature.crm";
134
136
  "feature.finance": "feature.finance";
@@ -205,6 +207,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
205
207
  "knowledge.reference": "knowledge.reference";
206
208
  "feature.dashboard": "feature.dashboard";
207
209
  "feature.calendar": "feature.calendar";
210
+ "feature.business": "feature.business";
208
211
  "feature.sales": "feature.sales";
209
212
  "feature.crm": "feature.crm";
210
213
  "feature.finance": "feature.finance";
@@ -306,6 +309,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
306
309
  "knowledge.reference": "knowledge.reference";
307
310
  "feature.dashboard": "feature.dashboard";
308
311
  "feature.calendar": "feature.calendar";
312
+ "feature.business": "feature.business";
309
313
  "feature.sales": "feature.sales";
310
314
  "feature.crm": "feature.crm";
311
315
  "feature.finance": "feature.finance";
@@ -398,6 +402,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
398
402
  "knowledge.reference": "knowledge.reference";
399
403
  "feature.dashboard": "feature.dashboard";
400
404
  "feature.calendar": "feature.calendar";
405
+ "feature.business": "feature.business";
401
406
  "feature.sales": "feature.sales";
402
407
  "feature.crm": "feature.crm";
403
408
  "feature.finance": "feature.finance";
@@ -487,6 +492,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
487
492
  "knowledge.reference": "knowledge.reference";
488
493
  "feature.dashboard": "feature.dashboard";
489
494
  "feature.calendar": "feature.calendar";
495
+ "feature.business": "feature.business";
490
496
  "feature.sales": "feature.sales";
491
497
  "feature.crm": "feature.crm";
492
498
  "feature.finance": "feature.finance";
@@ -560,6 +566,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
560
566
  "knowledge.reference": "knowledge.reference";
561
567
  "feature.dashboard": "feature.dashboard";
562
568
  "feature.calendar": "feature.calendar";
569
+ "feature.business": "feature.business";
563
570
  "feature.sales": "feature.sales";
564
571
  "feature.crm": "feature.crm";
565
572
  "feature.finance": "feature.finance";
@@ -634,6 +641,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
634
641
  "knowledge.reference": "knowledge.reference";
635
642
  "feature.dashboard": "feature.dashboard";
636
643
  "feature.calendar": "feature.calendar";
644
+ "feature.business": "feature.business";
637
645
  "feature.sales": "feature.sales";
638
646
  "feature.crm": "feature.crm";
639
647
  "feature.finance": "feature.finance";
@@ -705,6 +713,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
705
713
  "knowledge.reference": "knowledge.reference";
706
714
  "feature.dashboard": "feature.dashboard";
707
715
  "feature.calendar": "feature.calendar";
716
+ "feature.business": "feature.business";
708
717
  "feature.sales": "feature.sales";
709
718
  "feature.crm": "feature.crm";
710
719
  "feature.finance": "feature.finance";
@@ -852,6 +861,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
852
861
  "knowledge.reference": "knowledge.reference";
853
862
  "feature.dashboard": "feature.dashboard";
854
863
  "feature.calendar": "feature.calendar";
864
+ "feature.business": "feature.business";
855
865
  "feature.sales": "feature.sales";
856
866
  "feature.crm": "feature.crm";
857
867
  "feature.finance": "feature.finance";
@@ -925,6 +935,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
925
935
  "knowledge.reference": "knowledge.reference";
926
936
  "feature.dashboard": "feature.dashboard";
927
937
  "feature.calendar": "feature.calendar";
938
+ "feature.business": "feature.business";
928
939
  "feature.sales": "feature.sales";
929
940
  "feature.crm": "feature.crm";
930
941
  "feature.finance": "feature.finance";
@@ -998,6 +1009,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
998
1009
  "knowledge.reference": "knowledge.reference";
999
1010
  "feature.dashboard": "feature.dashboard";
1000
1011
  "feature.calendar": "feature.calendar";
1012
+ "feature.business": "feature.business";
1001
1013
  "feature.sales": "feature.sales";
1002
1014
  "feature.crm": "feature.crm";
1003
1015
  "feature.finance": "feature.finance";
@@ -1130,7 +1142,26 @@ declare const OrganizationModelSchema: z.ZodObject<{
1130
1142
  title: z.ZodString;
1131
1143
  responsibilities: z.ZodDefault<z.ZodArray<z.ZodString>>;
1132
1144
  reportsToId: z.ZodOptional<z.ZodString>;
1133
- heldBy: z.ZodOptional<z.ZodString>;
1145
+ heldBy: z.ZodOptional<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
1146
+ kind: z.ZodLiteral<"human">;
1147
+ userId: z.ZodString;
1148
+ }, z.core.$strip>, z.ZodObject<{
1149
+ kind: z.ZodLiteral<"agent">;
1150
+ agentId: z.ZodString;
1151
+ }, z.core.$strip>, z.ZodObject<{
1152
+ kind: z.ZodLiteral<"team">;
1153
+ memberIds: z.ZodArray<z.ZodString>;
1154
+ }, z.core.$strip>], "kind">, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1155
+ kind: z.ZodLiteral<"human">;
1156
+ userId: z.ZodString;
1157
+ }, z.core.$strip>, z.ZodObject<{
1158
+ kind: z.ZodLiteral<"agent">;
1159
+ agentId: z.ZodString;
1160
+ }, z.core.$strip>, z.ZodObject<{
1161
+ kind: z.ZodLiteral<"team">;
1162
+ memberIds: z.ZodArray<z.ZodString>;
1163
+ }, z.core.$strip>], "kind">>]>>;
1164
+ responsibleFor: z.ZodOptional<z.ZodArray<z.ZodString>>;
1134
1165
  }, z.core.$strip>>>;
1135
1166
  }, z.core.$strip>>;
1136
1167
  goals: z.ZodDefault<z.ZodObject<{
@@ -1148,6 +1179,70 @@ declare const OrganizationModelSchema: z.ZodObject<{
1148
1179
  }, z.core.$strip>>>;
1149
1180
  }, z.core.$strip>>>;
1150
1181
  }, z.core.$strip>>;
1182
+ systems: z.ZodDefault<z.ZodObject<{
1183
+ systems: z.ZodDefault<z.ZodArray<z.ZodObject<{
1184
+ id: z.ZodString;
1185
+ title: z.ZodString;
1186
+ description: z.ZodString;
1187
+ kind: z.ZodEnum<{
1188
+ platform: "platform";
1189
+ product: "product";
1190
+ operational: "operational";
1191
+ diagnostic: "diagnostic";
1192
+ }>;
1193
+ responsibleRoleId: z.ZodOptional<z.ZodString>;
1194
+ governedByKnowledge: z.ZodDefault<z.ZodArray<z.ZodString>>;
1195
+ drivesGoals: z.ZodDefault<z.ZodArray<z.ZodString>>;
1196
+ status: z.ZodEnum<{
1197
+ active: "active";
1198
+ deprecated: "deprecated";
1199
+ archived: "archived";
1200
+ }>;
1201
+ }, z.core.$strip>>>;
1202
+ }, z.core.$strip>>;
1203
+ resources: z.ZodDefault<z.ZodObject<{
1204
+ entries: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1205
+ id: z.ZodString;
1206
+ systemId: z.ZodString;
1207
+ ownerRoleId: z.ZodOptional<z.ZodString>;
1208
+ status: z.ZodEnum<{
1209
+ active: "active";
1210
+ deprecated: "deprecated";
1211
+ archived: "archived";
1212
+ }>;
1213
+ kind: z.ZodLiteral<"workflow">;
1214
+ capabilityKey: z.ZodOptional<z.ZodString>;
1215
+ }, z.core.$strip>, z.ZodObject<{
1216
+ id: z.ZodString;
1217
+ systemId: z.ZodString;
1218
+ ownerRoleId: z.ZodOptional<z.ZodString>;
1219
+ status: z.ZodEnum<{
1220
+ active: "active";
1221
+ deprecated: "deprecated";
1222
+ archived: "archived";
1223
+ }>;
1224
+ kind: z.ZodLiteral<"agent">;
1225
+ agentKind: z.ZodEnum<{
1226
+ orchestrator: "orchestrator";
1227
+ specialist: "specialist";
1228
+ utility: "utility";
1229
+ system: "system";
1230
+ }>;
1231
+ actsAsRoleId: z.ZodOptional<z.ZodString>;
1232
+ sessionCapable: z.ZodBoolean;
1233
+ }, z.core.$strip>, z.ZodObject<{
1234
+ id: z.ZodString;
1235
+ systemId: z.ZodString;
1236
+ ownerRoleId: z.ZodOptional<z.ZodString>;
1237
+ status: z.ZodEnum<{
1238
+ active: "active";
1239
+ deprecated: "deprecated";
1240
+ archived: "archived";
1241
+ }>;
1242
+ kind: z.ZodLiteral<"integration">;
1243
+ provider: z.ZodString;
1244
+ }, z.core.$strip>], "kind">>>;
1245
+ }, z.core.$strip>>;
1151
1246
  statuses: z.ZodDefault<z.ZodObject<{
1152
1247
  entries: z.ZodDefault<z.ZodArray<z.ZodObject<{
1153
1248
  id: z.ZodString;
@@ -1208,6 +1303,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
1208
1303
  "knowledge.reference": "knowledge.reference";
1209
1304
  "feature.dashboard": "feature.dashboard";
1210
1305
  "feature.calendar": "feature.calendar";
1306
+ "feature.business": "feature.business";
1211
1307
  "feature.sales": "feature.sales";
1212
1308
  "feature.crm": "feature.crm";
1213
1309
  "feature.finance": "feature.finance";