@elevasis/core 0.13.0 → 0.14.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 (41) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +9 -2
  3. package/dist/organization-model/index.d.ts +1 -1
  4. package/dist/organization-model/index.js +9 -2
  5. package/dist/test-utils/index.d.ts +463 -377
  6. package/dist/test-utils/index.js +9 -2
  7. package/package.json +1 -1
  8. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +2324 -0
  9. package/src/business/acquisition/activity-events.test.ts +250 -0
  10. package/src/business/acquisition/activity-events.ts +7 -65
  11. package/src/business/acquisition/api-schemas.test.ts +1180 -0
  12. package/src/business/acquisition/api-schemas.ts +1075 -859
  13. package/src/business/acquisition/crm-state-actions.test.ts +160 -0
  14. package/src/business/acquisition/derive-actions.test.ts +518 -0
  15. package/src/business/acquisition/derive-actions.ts +103 -90
  16. package/src/business/acquisition/index.ts +149 -111
  17. package/src/business/acquisition/stateful.ts +30 -0
  18. package/src/business/acquisition/types.ts +44 -77
  19. package/src/execution/engine/index.ts +437 -434
  20. package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +363 -360
  21. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.test.ts +162 -186
  22. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.test.ts +316 -338
  23. package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +204 -210
  24. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.test.ts +88 -0
  25. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +141 -134
  26. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +76 -75
  27. package/src/execution/engine/tools/integration/service.test.ts +34 -9
  28. package/src/execution/engine/tools/integration/service.ts +6 -3
  29. package/src/execution/engine/tools/lead-service-types.ts +945 -888
  30. package/src/execution/engine/tools/platform/acquisition/types.ts +266 -260
  31. package/src/execution/engine/tools/registry.ts +701 -699
  32. package/src/execution/engine/tools/tool-maps.ts +816 -791
  33. package/src/execution/engine/workflow/types.ts +11 -0
  34. package/src/organization-model/contracts.ts +4 -4
  35. package/src/organization-model/domains/navigation.ts +62 -62
  36. package/src/organization-model/domains/sales.ts +272 -0
  37. package/src/organization-model/published.ts +21 -21
  38. package/src/organization-model/resolve.ts +21 -8
  39. package/src/platform/constants/versions.ts +1 -1
  40. package/src/reference/_generated/contracts.md +2324 -0
  41. package/src/supabase/database.types.ts +2958 -2886
package/dist/index.d.ts CHANGED
@@ -667,7 +667,7 @@ type DeepPartial<T> = T extends Array<infer U> ? Array<DeepPartial<U>> : T exten
667
667
  declare const DEFAULT_ORGANIZATION_MODEL: OrganizationModel;
668
668
 
669
669
  declare function defineOrganizationModel<T extends DeepPartial<OrganizationModel>>(model: T): T;
670
- declare function resolveOrganizationModel(override?: DeepPartial<OrganizationModel>): OrganizationModel;
670
+ declare function resolveOrganizationModel(override?: DeepPartial<OrganizationModel>, organizationId?: string): OrganizationModel;
671
671
 
672
672
  type FoundationSurfaceType = 'page' | 'dashboard' | 'graph' | 'detail' | 'list' | 'settings';
673
673
  type FoundationSurfaceIcon = 'dashboard' | 'crm' | 'lead-gen' | 'projects' | 'operations' | 'settings';
package/dist/index.js CHANGED
@@ -1131,9 +1131,16 @@ function deepMerge(base, override) {
1131
1131
  function defineOrganizationModel(model) {
1132
1132
  return model;
1133
1133
  }
1134
- function resolveOrganizationModel(override) {
1134
+ function resolveOrganizationModel(override, organizationId) {
1135
1135
  const merged = deepMerge(DEFAULT_ORGANIZATION_MODEL, override);
1136
- return OrganizationModelSchema.parse(merged);
1136
+ const model = OrganizationModelSchema.parse(merged);
1137
+ if (!model.sales?.pipelines || model.sales.pipelines.length === 0) {
1138
+ const orgLabel = organizationId ? `Organization ${organizationId}` : "Organization";
1139
+ throw new Error(
1140
+ `${orgLabel} has no sales pipeline configuration. This indicates an incomplete provisioning state. Run org provisioning to seed defaults.`
1141
+ );
1142
+ }
1143
+ return model;
1137
1144
  }
1138
1145
 
1139
1146
  // src/organization-model/foundation.ts
@@ -667,7 +667,7 @@ type DeepPartial<T> = T extends Array<infer U> ? Array<DeepPartial<U>> : T exten
667
667
  declare const DEFAULT_ORGANIZATION_MODEL: OrganizationModel;
668
668
 
669
669
  declare function defineOrganizationModel<T extends DeepPartial<OrganizationModel>>(model: T): T;
670
- declare function resolveOrganizationModel(override?: DeepPartial<OrganizationModel>): OrganizationModel;
670
+ declare function resolveOrganizationModel(override?: DeepPartial<OrganizationModel>, organizationId?: string): OrganizationModel;
671
671
 
672
672
  type FoundationSurfaceType = 'page' | 'dashboard' | 'graph' | 'detail' | 'list' | 'settings';
673
673
  type FoundationSurfaceIcon = 'dashboard' | 'crm' | 'lead-gen' | 'projects' | 'operations' | 'settings';
@@ -1131,9 +1131,16 @@ function deepMerge(base, override) {
1131
1131
  function defineOrganizationModel(model) {
1132
1132
  return model;
1133
1133
  }
1134
- function resolveOrganizationModel(override) {
1134
+ function resolveOrganizationModel(override, organizationId) {
1135
1135
  const merged = deepMerge(DEFAULT_ORGANIZATION_MODEL, override);
1136
- return OrganizationModelSchema.parse(merged);
1136
+ const model = OrganizationModelSchema.parse(merged);
1137
+ if (!model.sales?.pipelines || model.sales.pipelines.length === 0) {
1138
+ const orgLabel = organizationId ? `Organization ${organizationId}` : "Organization";
1139
+ throw new Error(
1140
+ `${orgLabel} has no sales pipeline configuration. This indicates an incomplete provisioning state. Run org provisioning to seed defaults.`
1141
+ );
1142
+ }
1143
+ return model;
1137
1144
  }
1138
1145
 
1139
1146
  // src/organization-model/foundation.ts