@elevasis/core 0.22.0 → 0.24.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 (244) hide show
  1. package/dist/index.d.ts +3214 -2501
  2. package/dist/index.js +3112 -1222
  3. package/dist/knowledge/index.d.ts +1108 -1264
  4. package/dist/knowledge/index.js +112 -9
  5. package/dist/organization-model/index.d.ts +3214 -2501
  6. package/dist/organization-model/index.js +3112 -1222
  7. package/dist/test-utils/index.d.ts +985 -1103
  8. package/dist/test-utils/index.js +2464 -1165
  9. package/package.json +5 -5
  10. package/src/README.md +14 -14
  11. package/src/__tests__/publish.test.ts +24 -24
  12. package/src/__tests__/template-core-compatibility.test.ts +9 -80
  13. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +2389 -2121
  14. package/src/_gen/__tests__/scaffold-contracts.test.ts +30 -30
  15. package/src/auth/multi-tenancy/credentials/__tests__/encryption.test.ts +217 -217
  16. package/src/auth/multi-tenancy/credentials/server/encryption.ts +69 -69
  17. package/src/auth/multi-tenancy/credentials/server/kek-loader.ts +37 -37
  18. package/src/auth/multi-tenancy/index.ts +26 -26
  19. package/src/auth/multi-tenancy/invitations/api-schemas.ts +104 -104
  20. package/src/auth/multi-tenancy/memberships/api-schemas.ts +143 -143
  21. package/src/auth/multi-tenancy/memberships/index.ts +26 -26
  22. package/src/auth/multi-tenancy/memberships/membership.ts +130 -130
  23. package/src/auth/multi-tenancy/organizations/__tests__/api-schemas.test.ts +194 -194
  24. package/src/auth/multi-tenancy/organizations/api-schemas.ts +136 -136
  25. package/src/auth/multi-tenancy/permissions.test.ts +42 -42
  26. package/src/auth/multi-tenancy/permissions.ts +123 -123
  27. package/src/auth/multi-tenancy/role-management/api-schemas.ts +78 -78
  28. package/src/auth/multi-tenancy/role-management/index.ts +16 -16
  29. package/src/auth/multi-tenancy/theme-presets.ts +45 -45
  30. package/src/auth/multi-tenancy/types.ts +57 -57
  31. package/src/auth/multi-tenancy/users/api-schemas.ts +165 -165
  32. package/src/business/README.md +2 -2
  33. package/src/business/acquisition/activity-events.test.ts +250 -250
  34. package/src/business/acquisition/activity-events.ts +93 -93
  35. package/src/business/acquisition/api-schemas.test.ts +1883 -1843
  36. package/src/business/acquisition/api-schemas.ts +1493 -1500
  37. package/src/business/acquisition/build-templates.test.ts +240 -240
  38. package/src/business/acquisition/build-templates.ts +83 -41
  39. package/src/business/acquisition/crm-next-action.test.ts +262 -262
  40. package/src/business/acquisition/crm-next-action.ts +220 -220
  41. package/src/business/acquisition/crm-priority.test.ts +216 -216
  42. package/src/business/acquisition/crm-priority.ts +349 -349
  43. package/src/business/acquisition/crm-state-actions.test.ts +153 -151
  44. package/src/business/acquisition/deal-ownership.test.ts +351 -351
  45. package/src/business/acquisition/deal-ownership.ts +120 -120
  46. package/src/business/acquisition/derive-actions.test.ts +129 -104
  47. package/src/business/acquisition/derive-actions.ts +74 -84
  48. package/src/business/acquisition/index.ts +171 -170
  49. package/src/business/acquisition/ontology-validation.ts +309 -0
  50. package/src/business/acquisition/stateful.ts +30 -30
  51. package/src/business/acquisition/types.ts +396 -392
  52. package/src/business/clients/api-schemas.test.ts +115 -115
  53. package/src/business/clients/api-schemas.ts +158 -158
  54. package/src/business/clients/index.ts +1 -1
  55. package/src/business/crm/api-schemas.ts +40 -40
  56. package/src/business/crm/index.ts +1 -1
  57. package/src/business/deals/api-schemas.ts +87 -87
  58. package/src/business/deals/index.ts +1 -1
  59. package/src/business/index.ts +5 -5
  60. package/src/business/projects/types.ts +144 -144
  61. package/src/commands/queue/types/task.ts +15 -15
  62. package/src/execution/core/runner-types.ts +61 -61
  63. package/src/execution/core/sse-executions.ts +7 -7
  64. package/src/execution/engine/__tests__/fixtures/test-agents.ts +10 -10
  65. package/src/execution/engine/agent/core/__tests__/agent.test.ts +16 -16
  66. package/src/execution/engine/agent/core/__tests__/error-passthrough.test.ts +4 -4
  67. package/src/execution/engine/agent/core/types.ts +25 -25
  68. package/src/execution/engine/agent/index.ts +6 -6
  69. package/src/execution/engine/agent/reasoning/__tests__/request-builder.test.ts +24 -24
  70. package/src/execution/engine/index.ts +443 -443
  71. package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +298 -298
  72. package/src/execution/engine/tools/integration/server/adapters/apify/apify-adapter.test.ts +55 -55
  73. package/src/execution/engine/tools/integration/server/adapters/apify/apify-adapter.ts +107 -107
  74. package/src/execution/engine/tools/integration/server/adapters/apollo/apollo-adapter.test.ts +48 -48
  75. package/src/execution/engine/tools/integration/server/adapters/apollo/apollo-adapter.ts +99 -99
  76. package/src/execution/engine/tools/integration/server/adapters/apollo/index.ts +1 -1
  77. package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +363 -363
  78. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.test.ts +162 -162
  79. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.test.ts +316 -316
  80. package/src/execution/engine/tools/integration/server/adapters/clickup/clickup-adapter.test.ts +18 -18
  81. package/src/execution/engine/tools/integration/server/adapters/clickup/clickup-adapter.ts +194 -194
  82. package/src/execution/engine/tools/integration/server/adapters/clickup/index.ts +7 -7
  83. package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +204 -204
  84. package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +105 -105
  85. package/src/execution/engine/tools/integration/server/adapters/google-calendar/google-calendar-adapter.ts +428 -428
  86. package/src/execution/engine/tools/integration/server/adapters/google-calendar/index.ts +2 -2
  87. package/src/execution/engine/tools/integration/server/adapters/google-sheets/__tests__/google-sheets.integration.test.ts +261 -261
  88. package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1474 -1474
  89. package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +103 -103
  90. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.test.ts +88 -88
  91. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +141 -141
  92. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +76 -76
  93. package/src/execution/engine/tools/integration/server/adapters/signature-api/signature-api-tools.ts +182 -182
  94. package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +310 -310
  95. package/src/execution/engine/tools/integration/service.test.ts +239 -239
  96. package/src/execution/engine/tools/integration/service.ts +172 -172
  97. package/src/execution/engine/tools/integration/tool.ts +255 -255
  98. package/src/execution/engine/tools/lead-service-types.ts +1005 -1005
  99. package/src/execution/engine/tools/messages.ts +43 -43
  100. package/src/execution/engine/tools/platform/acquisition/company-tools.ts +7 -7
  101. package/src/execution/engine/tools/platform/acquisition/contact-tools.ts +6 -6
  102. package/src/execution/engine/tools/platform/acquisition/list-tools.ts +6 -6
  103. package/src/execution/engine/tools/platform/acquisition/types.ts +280 -280
  104. package/src/execution/engine/tools/platform/email/types.ts +97 -97
  105. package/src/execution/engine/tools/registry.ts +704 -704
  106. package/src/execution/engine/tools/tool-maps.ts +831 -831
  107. package/src/execution/engine/tools/types.ts +234 -234
  108. package/src/execution/engine/workflow/types.ts +202 -202
  109. package/src/execution/external/__tests__/api-schemas.test.ts +127 -127
  110. package/src/execution/external/api-schemas.ts +40 -40
  111. package/src/execution/external/index.ts +1 -1
  112. package/src/index.ts +18 -18
  113. package/src/integrations/credentials/__tests__/api-schemas.test.ts +420 -420
  114. package/src/integrations/credentials/api-schemas.ts +146 -146
  115. package/src/integrations/credentials/schemas.ts +200 -200
  116. package/src/integrations/oauth/__tests__/provider-registry.test.ts +7 -7
  117. package/src/integrations/oauth/provider-registry.ts +74 -74
  118. package/src/integrations/oauth/server/credentials.ts +43 -43
  119. package/src/integrations/webhook-endpoints/__tests__/api-schemas.test.ts +327 -327
  120. package/src/integrations/webhook-endpoints/api-schemas.ts +103 -103
  121. package/src/integrations/webhook-endpoints/types.ts +58 -58
  122. package/src/knowledge/README.md +33 -32
  123. package/src/knowledge/__tests__/queries.test.ts +633 -541
  124. package/src/knowledge/format.ts +100 -99
  125. package/src/knowledge/index.ts +5 -5
  126. package/src/knowledge/published.ts +5 -5
  127. package/src/knowledge/queries.ts +274 -222
  128. package/src/operations/activities/api-schemas.ts +80 -80
  129. package/src/operations/activities/types.ts +64 -64
  130. package/src/organization-model/README.md +149 -109
  131. package/src/organization-model/__tests__/content-kinds-registry.test.ts +210 -0
  132. package/src/organization-model/__tests__/defaults.test.ts +168 -194
  133. package/src/organization-model/__tests__/domains/actions.test.ts +78 -0
  134. package/src/organization-model/__tests__/domains/customers.test.ts +48 -44
  135. package/src/organization-model/__tests__/domains/entities.test.ts +56 -0
  136. package/src/organization-model/__tests__/domains/goals.test.ts +110 -96
  137. package/src/organization-model/__tests__/domains/identity.test.ts +4 -3
  138. package/src/organization-model/__tests__/domains/navigation.test.ts +222 -166
  139. package/src/organization-model/__tests__/domains/offerings.test.ts +83 -88
  140. package/src/organization-model/__tests__/domains/policies.test.ts +323 -0
  141. package/src/organization-model/__tests__/domains/resource-mappings.test.ts +30 -30
  142. package/src/organization-model/__tests__/domains/resources.test.ts +396 -175
  143. package/src/organization-model/__tests__/domains/roles.test.ts +463 -402
  144. package/src/organization-model/__tests__/domains/statuses.test.ts +13 -10
  145. package/src/organization-model/__tests__/domains/systems.test.ts +209 -193
  146. package/src/organization-model/__tests__/flatten-additive-merge.test.ts +362 -0
  147. package/src/organization-model/__tests__/foundation.test.ts +47 -75
  148. package/src/organization-model/__tests__/get-resources-for-system.test.ts +144 -0
  149. package/src/organization-model/__tests__/graph.test.ts +1336 -149
  150. package/src/organization-model/__tests__/icons.test.ts +10 -1
  151. package/src/organization-model/__tests__/knowledge.test.ts +418 -61
  152. package/src/organization-model/__tests__/lookup-helpers.test.ts +438 -0
  153. package/src/organization-model/__tests__/migration-helpers.test.ts +591 -0
  154. package/src/organization-model/__tests__/prospecting-ssot.test.ts +103 -94
  155. package/src/organization-model/__tests__/recursive-system-schema.test.ts +549 -0
  156. package/src/organization-model/__tests__/resolve.test.ts +303 -42
  157. package/src/organization-model/__tests__/schema.test.ts +863 -153
  158. package/src/organization-model/__tests__/surface-projection.test.ts +284 -174
  159. package/src/organization-model/catalogs/lead-gen.ts +144 -0
  160. package/src/organization-model/content-kinds/config.ts +36 -0
  161. package/src/organization-model/content-kinds/index.ts +78 -0
  162. package/src/organization-model/content-kinds/pipeline.ts +68 -0
  163. package/src/organization-model/content-kinds/registry.ts +44 -0
  164. package/src/organization-model/content-kinds/status.ts +71 -0
  165. package/src/organization-model/content-kinds/template.ts +83 -0
  166. package/src/organization-model/content-kinds/types.ts +117 -0
  167. package/src/organization-model/contracts.ts +27 -17
  168. package/src/organization-model/defaults.ts +489 -107
  169. package/src/organization-model/domains/actions.ts +333 -0
  170. package/src/organization-model/domains/customers.ts +10 -7
  171. package/src/organization-model/domains/entities.ts +144 -0
  172. package/src/organization-model/domains/goals.ts +9 -6
  173. package/src/organization-model/domains/knowledge.ts +128 -54
  174. package/src/organization-model/domains/navigation.ts +139 -416
  175. package/src/organization-model/domains/offerings.ts +15 -10
  176. package/src/organization-model/domains/policies.ts +102 -0
  177. package/src/organization-model/domains/projects.ts +6 -40
  178. package/src/organization-model/domains/prospecting.ts +395 -514
  179. package/src/organization-model/domains/resources.ts +173 -81
  180. package/src/organization-model/domains/roles.ts +96 -93
  181. package/src/organization-model/domains/sales.test.ts +218 -218
  182. package/src/organization-model/domains/sales.ts +380 -589
  183. package/src/organization-model/domains/shared.ts +8 -8
  184. package/src/organization-model/domains/statuses.ts +298 -89
  185. package/src/organization-model/domains/systems.ts +240 -38
  186. package/src/organization-model/foundation.ts +35 -48
  187. package/src/organization-model/graph/build.ts +1035 -279
  188. package/src/organization-model/graph/index.ts +4 -4
  189. package/src/organization-model/graph/link.ts +10 -10
  190. package/src/organization-model/graph/schema.ts +77 -56
  191. package/src/organization-model/graph/types.ts +75 -56
  192. package/src/organization-model/helpers.ts +312 -59
  193. package/src/organization-model/icons.ts +78 -66
  194. package/src/organization-model/index.ts +129 -16
  195. package/src/organization-model/migration-helpers.ts +252 -0
  196. package/src/organization-model/ontology.ts +661 -0
  197. package/src/organization-model/organization-graph.mdx +110 -89
  198. package/src/organization-model/organization-model.mdx +226 -171
  199. package/src/organization-model/published.ts +295 -139
  200. package/src/organization-model/resolve.ts +139 -21
  201. package/src/organization-model/schema.ts +841 -301
  202. package/src/organization-model/surface-projection.ts +212 -218
  203. package/src/organization-model/types.ts +181 -90
  204. package/src/platform/api/types.ts +38 -38
  205. package/src/platform/constants/versions.ts +3 -3
  206. package/src/platform/index.ts +23 -23
  207. package/src/platform/registry/__tests__/command-view.test.ts +5 -7
  208. package/src/platform/registry/__tests__/resource-link.test.ts +35 -30
  209. package/src/platform/registry/__tests__/resource-registry.integration.test.ts +17 -32
  210. package/src/platform/registry/__tests__/resource-registry.nested-systems.test.ts +245 -0
  211. package/src/platform/registry/__tests__/resource-registry.test.ts +2053 -2051
  212. package/src/platform/registry/__tests__/validation.test.ts +1347 -1343
  213. package/src/platform/registry/command-view.ts +10 -10
  214. package/src/platform/registry/index.ts +103 -103
  215. package/src/platform/registry/resource-link.ts +32 -32
  216. package/src/platform/registry/resource-registry.ts +890 -878
  217. package/src/platform/registry/serialization.ts +295 -295
  218. package/src/platform/registry/serialized-types.ts +166 -166
  219. package/src/platform/registry/stats-types.ts +68 -68
  220. package/src/platform/registry/types.ts +425 -425
  221. package/src/platform/registry/validation.ts +745 -743
  222. package/src/platform/utils/__tests__/validation.test.ts +1084 -1084
  223. package/src/platform/utils/validation.ts +425 -425
  224. package/src/projects/api-schemas.test.ts +39 -39
  225. package/src/projects/api-schemas.ts +291 -291
  226. package/src/reference/_generated/contracts.md +2389 -2121
  227. package/src/reference/glossary.md +76 -76
  228. package/src/scaffold-registry/__tests__/index.test.ts +206 -206
  229. package/src/scaffold-registry/__tests__/schema.test.ts +166 -166
  230. package/src/scaffold-registry/index.ts +392 -392
  231. package/src/scaffold-registry/schema.ts +243 -243
  232. package/src/server.ts +289 -289
  233. package/src/supabase/database.types.ts +3153 -3093
  234. package/src/test-utils/README.md +37 -37
  235. package/src/test-utils/entities.ts +108 -108
  236. package/src/test-utils/fixtures/memberships.ts +82 -82
  237. package/src/test-utils/index.ts +12 -12
  238. package/src/test-utils/organization-model.ts +65 -65
  239. package/src/test-utils/published.ts +6 -6
  240. package/src/test-utils/rls/RLSTestContext.ts +588 -588
  241. package/src/test-utils/test-utils.test.ts +44 -49
  242. package/src/organization-model/__tests__/domains/operations.test.ts +0 -203
  243. package/src/organization-model/domains/features.ts +0 -31
  244. package/src/organization-model/domains/operations.ts +0 -85
@@ -1,5 +1,5 @@
1
- import { z } from 'zod'
2
- import { OrganizationModelIconTokenSchema } from '../icons'
1
+ import { z } from 'zod'
2
+ import { OrganizationModelIconTokenSchema } from '../icons'
3
3
 
4
4
  export const ModelIdSchema = z
5
5
  .string()
@@ -9,10 +9,10 @@ export const ModelIdSchema = z
9
9
  .regex(/^[a-z0-9]+(?:[-._][a-z0-9]+)*$/, 'IDs must be lowercase and use -, _, or . separators')
10
10
 
11
11
  export const LabelSchema = z.string().trim().min(1).max(120)
12
- export const DescriptionSchema = z.string().trim().min(1).max(2000)
13
- export const ColorTokenSchema = z.string().trim().min(1).max(50)
14
- export const IconNameSchema = OrganizationModelIconTokenSchema
15
- export const PathSchema = z.string().trim().startsWith('/').max(300)
12
+ export const DescriptionSchema = z.string().trim().min(1).max(2000)
13
+ export const ColorTokenSchema = z.string().trim().min(1).max(50)
14
+ export const IconNameSchema = OrganizationModelIconTokenSchema
15
+ export const PathSchema = z.string().trim().startsWith('/').max(300)
16
16
 
17
17
  export const ReferenceIdsSchema = z.array(ModelIdSchema).default([])
18
18
 
@@ -54,10 +54,10 @@ export const ResourceMappingSchema = DisplayMetadataSchema.extend({
54
54
  id: ModelIdSchema,
55
55
  resourceId: z.string().trim().min(1).max(255),
56
56
  resourceType: z.enum(['workflow', 'agent', 'trigger', 'integration', 'external', 'human_checkpoint']),
57
- featureIds: ReferenceIdsSchema,
57
+ systemIds: ReferenceIdsSchema,
58
58
  entityIds: ReferenceIdsSchema,
59
59
  surfaceIds: ReferenceIdsSchema,
60
- capabilityIds: ReferenceIdsSchema,
60
+ actionIds: ReferenceIdsSchema,
61
61
  /** Optional tech-stack metadata for external-SaaS integrations. */
62
62
  techStack: TechStackEntrySchema.optional()
63
63
  })
@@ -22,18 +22,23 @@ export const StatusSemanticClassSchema = z.enum([
22
22
 
23
23
  export const StatusEntrySchema = z.object({
24
24
  id: z.string().trim().min(1).max(100),
25
+ /** Domain-map iteration order. Convention: multiples of 10 (10, 20, 30, ...) to allow easy insertion. */
26
+ order: z.number(),
25
27
  label: z.string().trim().min(1).max(120),
26
28
  semanticClass: StatusSemanticClassSchema,
27
29
  category: z.string().trim().min(1).max(80).optional()
28
30
  })
29
31
 
30
32
  // ---------------------------------------------------------------------------
31
- // Domain schema — a flat array of status entries keyed by id
33
+ // Domain schema — id-keyed map of status entries
32
34
  // ---------------------------------------------------------------------------
33
35
 
34
- export const StatusesDomainSchema = z.object({
35
- entries: z.array(StatusEntrySchema).default([])
36
- })
36
+ export const StatusesDomainSchema = z
37
+ .record(z.string(), StatusEntrySchema)
38
+ .refine((record) => Object.entries(record).every(([key, entry]) => entry.id === key), {
39
+ message: 'Each status entry id must match its map key'
40
+ })
41
+ .default({})
37
42
 
38
43
  // ---------------------------------------------------------------------------
39
44
  // Seed — covers all status enums in scope (delivery, queue, execution,
@@ -42,89 +47,293 @@ export const StatusesDomainSchema = z.object({
42
47
  // the statuses domain as the vibe-readable registry.
43
48
  // ---------------------------------------------------------------------------
44
49
 
45
- export const DEFAULT_ORGANIZATION_MODEL_STATUSES: z.infer<typeof StatusesDomainSchema> = {
46
- entries: [
47
- // --- delivery.task (TaskStatus — 9 values) ---
48
- { id: 'delivery.task.planned', label: 'Planned', semanticClass: 'delivery.task', category: 'delivery' },
49
- { id: 'delivery.task.in_progress', label: 'In Progress', semanticClass: 'delivery.task', category: 'delivery' },
50
- { id: 'delivery.task.blocked', label: 'Blocked', semanticClass: 'delivery.task', category: 'delivery' },
51
- { id: 'delivery.task.submitted', label: 'Submitted', semanticClass: 'delivery.task', category: 'delivery' },
52
- { id: 'delivery.task.approved', label: 'Approved', semanticClass: 'delivery.task', category: 'delivery' },
53
- {
54
- id: 'delivery.task.revision_requested',
55
- label: 'Revision Requested',
56
- semanticClass: 'delivery.task',
57
- category: 'delivery'
58
- },
59
- { id: 'delivery.task.rejected', label: 'Rejected', semanticClass: 'delivery.task', category: 'delivery' },
60
- { id: 'delivery.task.cancelled', label: 'Cancelled', semanticClass: 'delivery.task', category: 'delivery' },
61
- { id: 'delivery.task.completed', label: 'Completed', semanticClass: 'delivery.task', category: 'delivery' },
62
-
63
- // --- delivery.project (ProjectStatus — 6 values) ---
64
- { id: 'delivery.project.active', label: 'Active', semanticClass: 'delivery.project', category: 'delivery' },
65
- { id: 'delivery.project.on_track', label: 'On Track', semanticClass: 'delivery.project', category: 'delivery' },
66
- { id: 'delivery.project.at_risk', label: 'At Risk', semanticClass: 'delivery.project', category: 'delivery' },
67
- { id: 'delivery.project.blocked', label: 'Blocked', semanticClass: 'delivery.project', category: 'delivery' },
68
- { id: 'delivery.project.paused', label: 'Paused', semanticClass: 'delivery.project', category: 'delivery' },
69
- { id: 'delivery.project.completed', label: 'Completed', semanticClass: 'delivery.project', category: 'delivery' },
70
-
71
- // --- delivery.milestone (MilestoneStatus — 5 values) ---
72
- {
73
- id: 'delivery.milestone.upcoming',
74
- label: 'Upcoming',
75
- semanticClass: 'delivery.milestone',
76
- category: 'delivery'
77
- },
78
- {
79
- id: 'delivery.milestone.in_progress',
80
- label: 'In Progress',
81
- semanticClass: 'delivery.milestone',
82
- category: 'delivery'
83
- },
84
- {
85
- id: 'delivery.milestone.blocked',
86
- label: 'Blocked',
87
- semanticClass: 'delivery.milestone',
88
- category: 'delivery'
89
- },
90
- { id: 'delivery.milestone.overdue', label: 'Overdue', semanticClass: 'delivery.milestone', category: 'delivery' },
91
- {
92
- id: 'delivery.milestone.completed',
93
- label: 'Completed',
94
- semanticClass: 'delivery.milestone',
95
- category: 'delivery'
96
- },
97
-
98
- // --- queue (QueueTaskStatus — 5 values, maps hitl/command-queue tasks) ---
99
- { id: 'queue.pending', label: 'Pending', semanticClass: 'queue', category: 'queue' },
100
- { id: 'queue.processing', label: 'Processing', semanticClass: 'queue', category: 'queue' },
101
- { id: 'queue.completed', label: 'Completed', semanticClass: 'queue', category: 'queue' },
102
- { id: 'queue.failed', label: 'Failed', semanticClass: 'queue', category: 'queue' },
103
- { id: 'queue.expired', label: 'Expired', semanticClass: 'queue', category: 'queue' },
104
-
105
- // --- execution (ExecutionStatus — 5 values) ---
106
- { id: 'execution.pending', label: 'Pending', semanticClass: 'execution', category: 'execution' },
107
- { id: 'execution.running', label: 'Running', semanticClass: 'execution', category: 'execution' },
108
- { id: 'execution.completed', label: 'Completed', semanticClass: 'execution', category: 'execution' },
109
- { id: 'execution.failed', label: 'Failed', semanticClass: 'execution', category: 'execution' },
110
- { id: 'execution.warning', label: 'Warning', semanticClass: 'execution', category: 'execution' },
111
-
112
- // --- schedule (schedule status — 4 values) ---
113
- { id: 'schedule.active', label: 'Active', semanticClass: 'schedule', category: 'schedule' },
114
- { id: 'schedule.paused', label: 'Paused', semanticClass: 'schedule', category: 'schedule' },
115
- { id: 'schedule.completed', label: 'Completed', semanticClass: 'schedule', category: 'schedule' },
116
- { id: 'schedule.cancelled', label: 'Cancelled', semanticClass: 'schedule', category: 'schedule' },
117
-
118
- // --- schedule.run (schedule run status — 4 values) ---
119
- { id: 'schedule.run.running', label: 'Running', semanticClass: 'schedule.run', category: 'schedule' },
120
- { id: 'schedule.run.completed', label: 'Completed', semanticClass: 'schedule.run', category: 'schedule' },
121
- { id: 'schedule.run.failed', label: 'Failed', semanticClass: 'schedule.run', category: 'schedule' },
122
- { id: 'schedule.run.cancelled', label: 'Cancelled', semanticClass: 'schedule.run', category: 'schedule' },
123
-
124
- // --- request (RequestStatus — 4 values, maps reported_requests) ---
125
- { id: 'request.open', label: 'Open', semanticClass: 'request', category: 'request' },
126
- { id: 'request.investigating', label: 'Investigating', semanticClass: 'request', category: 'request' },
127
- { id: 'request.resolved', label: 'Resolved', semanticClass: 'request', category: 'request' },
128
- { id: 'request.wont_fix', label: "Won't Fix", semanticClass: 'request', category: 'request' }
129
- ]
50
+ export type StatusEntry = z.infer<typeof StatusEntrySchema>
51
+ export type StatusesDomain = z.infer<typeof StatusesDomainSchema>
52
+
53
+ export const DEFAULT_ORGANIZATION_MODEL_STATUSES: StatusesDomain = {
54
+ // --- delivery.task (TaskStatus 9 values) ---
55
+ 'delivery.task.planned': {
56
+ id: 'delivery.task.planned',
57
+ order: 10,
58
+ label: 'Planned',
59
+ semanticClass: 'delivery.task',
60
+ category: 'delivery'
61
+ },
62
+ 'delivery.task.in_progress': {
63
+ id: 'delivery.task.in_progress',
64
+ order: 20,
65
+ label: 'In Progress',
66
+ semanticClass: 'delivery.task',
67
+ category: 'delivery'
68
+ },
69
+ 'delivery.task.blocked': {
70
+ id: 'delivery.task.blocked',
71
+ order: 30,
72
+ label: 'Blocked',
73
+ semanticClass: 'delivery.task',
74
+ category: 'delivery'
75
+ },
76
+ 'delivery.task.submitted': {
77
+ id: 'delivery.task.submitted',
78
+ order: 40,
79
+ label: 'Submitted',
80
+ semanticClass: 'delivery.task',
81
+ category: 'delivery'
82
+ },
83
+ 'delivery.task.approved': {
84
+ id: 'delivery.task.approved',
85
+ order: 50,
86
+ label: 'Approved',
87
+ semanticClass: 'delivery.task',
88
+ category: 'delivery'
89
+ },
90
+ 'delivery.task.revision_requested': {
91
+ id: 'delivery.task.revision_requested',
92
+ order: 60,
93
+ label: 'Revision Requested',
94
+ semanticClass: 'delivery.task',
95
+ category: 'delivery'
96
+ },
97
+ 'delivery.task.rejected': {
98
+ id: 'delivery.task.rejected',
99
+ order: 70,
100
+ label: 'Rejected',
101
+ semanticClass: 'delivery.task',
102
+ category: 'delivery'
103
+ },
104
+ 'delivery.task.cancelled': {
105
+ id: 'delivery.task.cancelled',
106
+ order: 80,
107
+ label: 'Cancelled',
108
+ semanticClass: 'delivery.task',
109
+ category: 'delivery'
110
+ },
111
+ 'delivery.task.completed': {
112
+ id: 'delivery.task.completed',
113
+ order: 90,
114
+ label: 'Completed',
115
+ semanticClass: 'delivery.task',
116
+ category: 'delivery'
117
+ },
118
+
119
+ // --- delivery.project (ProjectStatus 6 values) ---
120
+ 'delivery.project.active': {
121
+ id: 'delivery.project.active',
122
+ order: 100,
123
+ label: 'Active',
124
+ semanticClass: 'delivery.project',
125
+ category: 'delivery'
126
+ },
127
+ 'delivery.project.on_track': {
128
+ id: 'delivery.project.on_track',
129
+ order: 110,
130
+ label: 'On Track',
131
+ semanticClass: 'delivery.project',
132
+ category: 'delivery'
133
+ },
134
+ 'delivery.project.at_risk': {
135
+ id: 'delivery.project.at_risk',
136
+ order: 120,
137
+ label: 'At Risk',
138
+ semanticClass: 'delivery.project',
139
+ category: 'delivery'
140
+ },
141
+ 'delivery.project.blocked': {
142
+ id: 'delivery.project.blocked',
143
+ order: 130,
144
+ label: 'Blocked',
145
+ semanticClass: 'delivery.project',
146
+ category: 'delivery'
147
+ },
148
+ 'delivery.project.paused': {
149
+ id: 'delivery.project.paused',
150
+ order: 140,
151
+ label: 'Paused',
152
+ semanticClass: 'delivery.project',
153
+ category: 'delivery'
154
+ },
155
+ 'delivery.project.completed': {
156
+ id: 'delivery.project.completed',
157
+ order: 150,
158
+ label: 'Completed',
159
+ semanticClass: 'delivery.project',
160
+ category: 'delivery'
161
+ },
162
+
163
+ // --- delivery.milestone (MilestoneStatus — 5 values) ---
164
+ 'delivery.milestone.upcoming': {
165
+ id: 'delivery.milestone.upcoming',
166
+ order: 160,
167
+ label: 'Upcoming',
168
+ semanticClass: 'delivery.milestone',
169
+ category: 'delivery'
170
+ },
171
+ 'delivery.milestone.in_progress': {
172
+ id: 'delivery.milestone.in_progress',
173
+ order: 170,
174
+ label: 'In Progress',
175
+ semanticClass: 'delivery.milestone',
176
+ category: 'delivery'
177
+ },
178
+ 'delivery.milestone.blocked': {
179
+ id: 'delivery.milestone.blocked',
180
+ order: 180,
181
+ label: 'Blocked',
182
+ semanticClass: 'delivery.milestone',
183
+ category: 'delivery'
184
+ },
185
+ 'delivery.milestone.overdue': {
186
+ id: 'delivery.milestone.overdue',
187
+ order: 190,
188
+ label: 'Overdue',
189
+ semanticClass: 'delivery.milestone',
190
+ category: 'delivery'
191
+ },
192
+ 'delivery.milestone.completed': {
193
+ id: 'delivery.milestone.completed',
194
+ order: 200,
195
+ label: 'Completed',
196
+ semanticClass: 'delivery.milestone',
197
+ category: 'delivery'
198
+ },
199
+
200
+ // --- queue (QueueTaskStatus — 5 values, maps hitl/command-queue tasks) ---
201
+ 'queue.pending': { id: 'queue.pending', order: 210, label: 'Pending', semanticClass: 'queue', category: 'queue' },
202
+ 'queue.processing': {
203
+ id: 'queue.processing',
204
+ order: 220,
205
+ label: 'Processing',
206
+ semanticClass: 'queue',
207
+ category: 'queue'
208
+ },
209
+ 'queue.completed': {
210
+ id: 'queue.completed',
211
+ order: 230,
212
+ label: 'Completed',
213
+ semanticClass: 'queue',
214
+ category: 'queue'
215
+ },
216
+ 'queue.failed': { id: 'queue.failed', order: 240, label: 'Failed', semanticClass: 'queue', category: 'queue' },
217
+ 'queue.expired': { id: 'queue.expired', order: 250, label: 'Expired', semanticClass: 'queue', category: 'queue' },
218
+
219
+ // --- execution (ExecutionStatus — 5 values) ---
220
+ 'execution.pending': {
221
+ id: 'execution.pending',
222
+ order: 260,
223
+ label: 'Pending',
224
+ semanticClass: 'execution',
225
+ category: 'execution'
226
+ },
227
+ 'execution.running': {
228
+ id: 'execution.running',
229
+ order: 270,
230
+ label: 'Running',
231
+ semanticClass: 'execution',
232
+ category: 'execution'
233
+ },
234
+ 'execution.completed': {
235
+ id: 'execution.completed',
236
+ order: 280,
237
+ label: 'Completed',
238
+ semanticClass: 'execution',
239
+ category: 'execution'
240
+ },
241
+ 'execution.failed': {
242
+ id: 'execution.failed',
243
+ order: 290,
244
+ label: 'Failed',
245
+ semanticClass: 'execution',
246
+ category: 'execution'
247
+ },
248
+ 'execution.warning': {
249
+ id: 'execution.warning',
250
+ order: 300,
251
+ label: 'Warning',
252
+ semanticClass: 'execution',
253
+ category: 'execution'
254
+ },
255
+
256
+ // --- schedule (schedule status — 4 values) ---
257
+ 'schedule.active': {
258
+ id: 'schedule.active',
259
+ order: 310,
260
+ label: 'Active',
261
+ semanticClass: 'schedule',
262
+ category: 'schedule'
263
+ },
264
+ 'schedule.paused': {
265
+ id: 'schedule.paused',
266
+ order: 320,
267
+ label: 'Paused',
268
+ semanticClass: 'schedule',
269
+ category: 'schedule'
270
+ },
271
+ 'schedule.completed': {
272
+ id: 'schedule.completed',
273
+ order: 330,
274
+ label: 'Completed',
275
+ semanticClass: 'schedule',
276
+ category: 'schedule'
277
+ },
278
+ 'schedule.cancelled': {
279
+ id: 'schedule.cancelled',
280
+ order: 340,
281
+ label: 'Cancelled',
282
+ semanticClass: 'schedule',
283
+ category: 'schedule'
284
+ },
285
+
286
+ // --- schedule.run (schedule run status — 4 values) ---
287
+ 'schedule.run.running': {
288
+ id: 'schedule.run.running',
289
+ order: 350,
290
+ label: 'Running',
291
+ semanticClass: 'schedule.run',
292
+ category: 'schedule'
293
+ },
294
+ 'schedule.run.completed': {
295
+ id: 'schedule.run.completed',
296
+ order: 360,
297
+ label: 'Completed',
298
+ semanticClass: 'schedule.run',
299
+ category: 'schedule'
300
+ },
301
+ 'schedule.run.failed': {
302
+ id: 'schedule.run.failed',
303
+ order: 370,
304
+ label: 'Failed',
305
+ semanticClass: 'schedule.run',
306
+ category: 'schedule'
307
+ },
308
+ 'schedule.run.cancelled': {
309
+ id: 'schedule.run.cancelled',
310
+ order: 380,
311
+ label: 'Cancelled',
312
+ semanticClass: 'schedule.run',
313
+ category: 'schedule'
314
+ },
315
+
316
+ // --- request (RequestStatus — 4 values, maps reported_requests) ---
317
+ 'request.open': { id: 'request.open', order: 390, label: 'Open', semanticClass: 'request', category: 'request' },
318
+ 'request.investigating': {
319
+ id: 'request.investigating',
320
+ order: 400,
321
+ label: 'Investigating',
322
+ semanticClass: 'request',
323
+ category: 'request'
324
+ },
325
+ 'request.resolved': {
326
+ id: 'request.resolved',
327
+ order: 410,
328
+ label: 'Resolved',
329
+ semanticClass: 'request',
330
+ category: 'request'
331
+ },
332
+ 'request.wont_fix': {
333
+ id: 'request.wont_fix',
334
+ order: 420,
335
+ label: "Won't Fix",
336
+ semanticClass: 'request',
337
+ category: 'request'
338
+ }
130
339
  }