@elevasis/core 0.12.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 (50) 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 +480 -389
  6. package/dist/test-utils/index.js +28 -2
  7. package/package.json +1 -1
  8. package/src/_gen/__tests__/__snapshots__/contracts.md.snap +2324 -0
  9. package/src/auth/multi-tenancy/credentials/__tests__/encryption.test.ts +217 -216
  10. package/src/auth/multi-tenancy/credentials/server/encryption.ts +5 -19
  11. package/src/auth/multi-tenancy/credentials/server/kek-loader.ts +3 -13
  12. package/src/auth/multi-tenancy/permissions.ts +12 -5
  13. package/src/business/acquisition/activity-events.test.ts +250 -0
  14. package/src/business/acquisition/activity-events.ts +84 -0
  15. package/src/business/acquisition/api-schemas.test.ts +1180 -0
  16. package/src/business/acquisition/api-schemas.ts +456 -235
  17. package/src/business/acquisition/crm-state-actions.test.ts +160 -0
  18. package/src/business/acquisition/derive-actions.test.ts +518 -0
  19. package/src/business/acquisition/derive-actions.ts +103 -0
  20. package/src/business/acquisition/index.ts +51 -11
  21. package/src/business/acquisition/stateful.ts +30 -0
  22. package/src/business/acquisition/types.ts +44 -77
  23. package/src/execution/engine/index.ts +4 -1
  24. package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +1 -2
  25. package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +363 -361
  26. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.test.ts +162 -186
  27. package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.test.ts +316 -338
  28. package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +204 -210
  29. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.test.ts +88 -0
  30. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +141 -134
  31. package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +76 -75
  32. package/src/execution/engine/tools/integration/service.test.ts +34 -9
  33. package/src/execution/engine/tools/integration/service.ts +6 -3
  34. package/src/execution/engine/tools/lead-service-types.ts +90 -30
  35. package/src/execution/engine/tools/platform/acquisition/types.ts +266 -260
  36. package/src/execution/engine/tools/registry.ts +5 -4
  37. package/src/execution/engine/tools/tool-maps.ts +43 -21
  38. package/src/execution/engine/workflow/types.ts +11 -0
  39. package/src/organization-model/contracts.ts +4 -4
  40. package/src/organization-model/domains/navigation.ts +62 -62
  41. package/src/organization-model/domains/sales.ts +272 -0
  42. package/src/organization-model/organization-graph.mdx +2 -2
  43. package/src/organization-model/published.ts +21 -21
  44. package/src/organization-model/resolve.ts +21 -8
  45. package/src/platform/constants/versions.ts +1 -1
  46. package/src/reference/_generated/contracts.md +2324 -0
  47. package/src/scaffold-registry/index.ts +10 -9
  48. package/src/scaffold-registry/schema.ts +68 -62
  49. package/src/supabase/database.types.ts +2958 -2884
  50. package/src/test-utils/rls/RLSTestContext.ts +585 -553
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