@elevasis/core 0.7.1 → 0.8.2
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.
- package/dist/test-utils/index.d.ts +3122 -0
- package/dist/test-utils/index.js +386 -0
- package/package.json +6 -1
- package/src/README.md +39 -36
- package/src/__tests__/publish.test.ts +18 -13
- package/src/__tests__/{template-foundations-compatibility.test.ts → template-core-compatibility.test.ts} +99 -99
- package/src/_gen/__tests__/__snapshots__/contracts.md.snap +1135 -1131
- package/src/_gen/__tests__/scaffold-contracts.test.ts +47 -36
- package/src/_gen/scaffold-contracts.ts +45 -45
- package/src/auth/multi-tenancy/credentials/README.md +38 -38
- package/src/auth/multi-tenancy/credentials/index.ts +6 -6
- package/src/auth/multi-tenancy/credentials/server/encryption.ts +39 -39
- package/src/auth/multi-tenancy/credentials/server/service.ts +60 -60
- package/src/auth/multi-tenancy/index.ts +17 -17
- package/src/auth/multi-tenancy/invitations/api-schemas.ts +107 -107
- package/src/auth/multi-tenancy/invitations/index.ts +37 -37
- package/src/auth/multi-tenancy/invitations/invitation.ts +86 -86
- package/src/auth/multi-tenancy/invitations/server/index.ts +25 -25
- package/src/auth/multi-tenancy/invitations/server/transforms.ts +24 -24
- package/src/auth/multi-tenancy/invitations/server/workos.ts +24 -24
- package/src/auth/multi-tenancy/invitations/supabase.ts +50 -50
- package/src/auth/multi-tenancy/memberships/api-schemas.ts +126 -126
- package/src/auth/multi-tenancy/memberships/index.ts +21 -21
- package/src/auth/multi-tenancy/memberships/membership.ts +138 -138
- package/src/auth/multi-tenancy/memberships/server/index.ts +15 -15
- package/src/auth/multi-tenancy/memberships/server/transforms.ts +32 -32
- package/src/auth/multi-tenancy/memberships/server/workos.ts +21 -21
- package/src/auth/multi-tenancy/memberships/supabase.ts +46 -46
- package/src/auth/multi-tenancy/organizations/api-schemas.ts +128 -128
- package/src/auth/multi-tenancy/organizations/index.ts +23 -23
- package/src/auth/multi-tenancy/organizations/organization.ts +24 -24
- package/src/auth/multi-tenancy/organizations/server/index.ts +10 -10
- package/src/auth/multi-tenancy/organizations/server/transforms.ts +35 -35
- package/src/auth/multi-tenancy/organizations/server/workos.ts +20 -20
- package/src/auth/multi-tenancy/types.ts +83 -83
- package/src/auth/multi-tenancy/users/api-schemas.ts +194 -194
- package/src/auth/multi-tenancy/users/index.ts +27 -27
- package/src/auth/multi-tenancy/users/server/index.ts +19 -19
- package/src/auth/multi-tenancy/users/server/transforms.ts +21 -21
- package/src/auth/multi-tenancy/users/server/workos.ts +16 -16
- package/src/auth/multi-tenancy/users/user.ts +65 -65
- package/src/business/README.md +52 -52
- package/src/business/__tests__/entities-published.test.ts +33 -33
- package/src/business/acquisition/api-schemas.ts +759 -759
- package/src/business/acquisition/index.ts +109 -109
- package/src/business/acquisition/types.ts +402 -402
- package/src/business/base-entities.test.ts +481 -481
- package/src/business/base-entities.ts +241 -241
- package/src/business/entities-published.ts +24 -24
- package/src/business/index.ts +15 -15
- package/src/business/pdf/browser/pdfmake-browser.ts +229 -229
- package/src/business/pdf/index.ts +10 -10
- package/src/business/pdf/server/index.ts +21 -21
- package/src/business/pdf/server/themes/default.ts +8 -8
- package/src/business/pdf/server/themes/index.ts +9 -9
- package/src/business/pdf/server/themes/types.ts +8 -8
- package/src/business/pdf/types.ts +272 -272
- package/src/business/projects/index.ts +2 -2
- package/src/business/projects/sse-events.ts +21 -21
- package/src/business/projects/types.ts +89 -89
- package/src/business/sales/api-schemas.ts +75 -75
- package/src/business/seo/__tests__/linking.test.ts +549 -549
- package/src/business/seo/__tests__/types.test.ts +404 -404
- package/src/business/seo/index.ts +2 -2
- package/src/business/seo/linking.ts +281 -281
- package/src/business/seo/types.ts +199 -199
- package/src/commands/queue/index.ts +3 -3
- package/src/commands/queue/schemas.test.ts +593 -593
- package/src/commands/queue/schemas.ts +125 -125
- package/src/commands/queue/sse-events.ts +61 -61
- package/src/commands/queue/types/action.ts +52 -52
- package/src/commands/queue/types/checkpoint.ts +44 -44
- package/src/commands/queue/types/index.ts +7 -7
- package/src/commands/queue/types/task.ts +116 -116
- package/src/commands/queue/types.ts +14 -14
- package/src/content/distribution-metadata.ts +61 -61
- package/src/content/index.ts +10 -10
- package/src/deployments/index.ts +22 -22
- package/src/execution/core/__tests__/archived-logs.test.ts +72 -72
- package/src/execution/core/index.ts +11 -11
- package/src/execution/core/runner-types.ts +80 -80
- package/src/execution/core/server/environment.ts +31 -31
- package/src/execution/core/sse-executions.ts +119 -119
- package/src/execution/core/types.ts +29 -29
- package/src/execution/engine/__tests__/fixtures/test-agents.ts +4 -4
- package/src/execution/engine/__tests__/timeout.test.ts +565 -565
- package/src/execution/engine/agent/__tests__/errors.test.ts +508 -508
- package/src/execution/engine/agent/actions/__tests__/processor.test.ts +531 -531
- package/src/execution/engine/agent/actions/executor.ts +205 -205
- package/src/execution/engine/agent/actions/navigate-knowledge-executor.ts +230 -230
- package/src/execution/engine/agent/actions/processor.ts +116 -116
- package/src/execution/engine/agent/actions/types.ts +70 -70
- package/src/execution/engine/agent/core/agent.ts +810 -810
- package/src/execution/engine/agent/core/types.ts +155 -155
- package/src/execution/engine/agent/errors.ts +251 -251
- package/src/execution/engine/agent/index.ts +78 -78
- package/src/execution/engine/agent/knowledge-map/types.ts +106 -106
- package/src/execution/engine/agent/knowledge-map/utils.ts +101 -101
- package/src/execution/engine/agent/memory/__tests__/manager.test.ts +754 -754
- package/src/execution/engine/agent/memory/domains.ts +99 -99
- package/src/execution/engine/agent/memory/manager.ts +365 -365
- package/src/execution/engine/agent/memory/processor.ts +66 -66
- package/src/execution/engine/agent/memory/types.ts +90 -90
- package/src/execution/engine/agent/memory/utils.ts +134 -134
- package/src/execution/engine/agent/observability/logging.ts +467 -467
- package/src/execution/engine/agent/observability/types.ts +64 -64
- package/src/execution/engine/agent/reasoning/adapters/agent-adapter-helpers.ts +349 -349
- package/src/execution/engine/agent/reasoning/processor.ts +92 -92
- package/src/execution/engine/agent/reasoning/prompt-sections/base-actions.ts +134 -134
- package/src/execution/engine/agent/reasoning/prompt-sections/completion.ts +49 -49
- package/src/execution/engine/agent/reasoning/prompt-sections/knowledge-map.ts +93 -93
- package/src/execution/engine/agent/reasoning/prompt-sections/memory.ts +65 -65
- package/src/execution/engine/agent/reasoning/prompt-sections/tools.ts +44 -44
- package/src/execution/engine/agent/reasoning/request-builder.ts +169 -169
- package/src/execution/engine/agent/reasoning/types.ts +18 -18
- package/src/execution/engine/base/errors.ts +118 -118
- package/src/execution/engine/base/index.ts +2 -2
- package/src/execution/engine/base/logging.ts +31 -31
- package/src/execution/engine/base/serialization.ts +324 -324
- package/src/execution/engine/base/types.ts +126 -126
- package/src/execution/engine/base/utils.ts +41 -41
- package/src/execution/engine/index.ts +434 -434
- package/src/execution/engine/interface/index.ts +1 -1
- package/src/execution/engine/interface/types.ts +62 -62
- package/src/execution/engine/llm/__tests__/model-info.test.ts +50 -50
- package/src/execution/engine/llm/__tests__/model-validation.test.ts +321 -321
- package/src/execution/engine/llm/__tests__/response-schema-validator.test.ts +115 -115
- package/src/execution/engine/llm/adapters/__tests__/adapter-factory.test.ts +375 -375
- package/src/execution/engine/llm/adapters/__tests__/anthropic-adapter.test.ts +463 -463
- package/src/execution/engine/llm/adapters/__tests__/anthropic.integration.test.ts +177 -177
- package/src/execution/engine/llm/adapters/__tests__/google-adapter.test.ts +722 -722
- package/src/execution/engine/llm/adapters/__tests__/google.integration.test.ts +376 -376
- package/src/execution/engine/llm/adapters/__tests__/openai-adapter.test.ts +551 -551
- package/src/execution/engine/llm/adapters/__tests__/openrouter-adapter.test.ts +563 -563
- package/src/execution/engine/llm/adapters/__tests__/openrouter.integration.test.ts +105 -105
- package/src/execution/engine/llm/adapters/__tests__/universal-adapter.test.ts +537 -537
- package/src/execution/engine/llm/adapters/circuit-breaker.ts +147 -147
- package/src/execution/engine/llm/adapters/index.ts +17 -17
- package/src/execution/engine/llm/adapters/mock-adapter.ts +116 -116
- package/src/execution/engine/llm/adapters/server/adapter-factory.ts +130 -130
- package/src/execution/engine/llm/adapters/server/anthropic.ts +137 -137
- package/src/execution/engine/llm/adapters/server/google.ts +283 -283
- package/src/execution/engine/llm/adapters/server/index.ts +12 -12
- package/src/execution/engine/llm/adapters/server/openai.ts +206 -206
- package/src/execution/engine/llm/adapters/server/openrouter.ts +235 -235
- package/src/execution/engine/llm/adapters/universal-adapter.ts +230 -230
- package/src/execution/engine/llm/errors.ts +186 -186
- package/src/execution/engine/llm/model-info.ts +332 -332
- package/src/execution/engine/llm/response-schema-validator.ts +113 -113
- package/src/execution/engine/llm/types.ts +86 -86
- package/src/execution/engine/test-utils/index.ts +6 -6
- package/src/execution/engine/test-utils/mocks.ts +56 -56
- package/src/execution/engine/tools/integration/base-integration-adapter.ts +50 -50
- package/src/execution/engine/tools/integration/index.ts +53 -53
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-adapter.ts +73 -73
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/anymailfinder-tools.ts +209 -209
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-company-email/index.ts +82 -82
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-decision-maker-email/index.ts +122 -122
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/find-person-email/index.ts +89 -89
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/fetch/verify-email/index.ts +84 -84
- package/src/execution/engine/tools/integration/server/adapters/anymailfinder/index.ts +16 -16
- package/src/execution/engine/tools/integration/server/adapters/apify/__tests__/apify-run-actor.integration.test.ts +293 -293
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-adapter.ts +100 -100
- package/src/execution/engine/tools/integration/server/adapters/apify/apify-tools.ts +217 -217
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/get-dataset-items/index.ts +92 -92
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/run-actor/index.ts +218 -218
- package/src/execution/engine/tools/integration/server/adapters/apify/fetch/start-actor/index.ts +87 -87
- package/src/execution/engine/tools/integration/server/adapters/apify/index.ts +11 -11
- package/src/execution/engine/tools/integration/server/adapters/attio/__tests__/attio-crud.integration.test.ts +361 -361
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-adapter.ts +162 -162
- package/src/execution/engine/tools/integration/server/adapters/attio/attio-tools.ts +594 -594
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-attribute/index.ts +214 -214
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-note/index.ts +152 -152
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/create-record/index.ts +141 -141
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-note/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/delete-record/index.ts +105 -105
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/get-record/index.ts +118 -118
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-attributes/index.ts +165 -165
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-notes/index.ts +96 -96
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-objects/index.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/list-records/index.ts +156 -156
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-attribute/index.ts +220 -220
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/update-record/index.ts +140 -140
- package/src/execution/engine/tools/integration/server/adapters/attio/fetch/utils/types.ts +146 -146
- package/src/execution/engine/tools/integration/server/adapters/attio/index.ts +31 -31
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-adapter.ts +210 -210
- package/src/execution/engine/tools/integration/server/adapters/gmail/gmail-tools.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/__tests__/google-sheets.integration.test.ts +261 -261
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-adapter.ts +1189 -1189
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/google-sheets-tools.ts +641 -641
- package/src/execution/engine/tools/integration/server/adapters/google-sheets/index.ts +18 -18
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/activate-campaign/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/__tests__/index.test.ts +289 -289
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/add-to-campaign/index.ts +154 -154
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/__tests__/index.test.ts +325 -325
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-add-leads/index.ts +153 -153
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/bulk-delete-leads/index.ts +84 -84
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-campaign/index.ts +125 -125
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/create-inbox-test/index.ts +107 -107
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/delete-campaign/index.ts +85 -85
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-account-health/index.ts +91 -91
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign/index.ts +92 -92
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/__tests__/index.test.ts +195 -195
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-campaign-analytics/index.ts +113 -113
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-daily-campaign-analytics/index.ts +104 -104
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-emails/index.ts +155 -155
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/__tests__/index.test.ts +196 -196
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/get-step-analytics/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/__tests__/index.test.ts +189 -189
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-campaigns/index.ts +87 -87
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/list-leads/index.ts +112 -112
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/patch-lead/index.ts +76 -76
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/pause-campaign/index.ts +86 -86
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/remove-from-subsequence/index.ts +98 -98
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/send-reply/index.ts +126 -126
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/__tests__/index.test.ts +193 -193
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-campaign/index.ts +99 -99
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/__tests__/index.test.ts +621 -621
- package/src/execution/engine/tools/integration/server/adapters/instantly/fetch/update-interest-status/index.ts +125 -125
- package/src/execution/engine/tools/integration/server/adapters/instantly/index.ts +29 -29
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-adapter.ts +178 -178
- package/src/execution/engine/tools/integration/server/adapters/instantly/instantly-tools.ts +1473 -1473
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/check-credits/index.ts +59 -59
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/fetch/verify-email/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/index.ts +17 -17
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-adapter.ts +80 -80
- package/src/execution/engine/tools/integration/server/adapters/millionverifier/millionverifier-tools.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/get-email/index.ts +102 -102
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/send-email/index.ts +134 -134
- package/src/execution/engine/tools/integration/server/adapters/resend/fetch/utils/types.ts +75 -75
- package/src/execution/engine/tools/integration/server/adapters/resend/index.ts +27 -27
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-adapter.ts +108 -108
- package/src/execution/engine/tools/integration/server/adapters/resend/resend-tools.ts +132 -132
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/create-envelope/index.ts +274 -274
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/download-document/index.ts +230 -230
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/get-envelope/index.ts +133 -133
- package/src/execution/engine/tools/integration/server/adapters/signature-api/fetch/void-envelope/index.ts +90 -90
- package/src/execution/engine/tools/integration/server/adapters/stripe/fetch/utils/types.ts +210 -210
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-adapter.ts +517 -517
- package/src/execution/engine/tools/integration/server/adapters/stripe/stripe-tools.ts +309 -309
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/domain-search/index.ts +133 -133
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-finder/index.ts +122 -122
- package/src/execution/engine/tools/integration/server/adapters/tomba/fetch/email-verifier/index.ts +111 -111
- package/src/execution/engine/tools/integration/server/adapters/tomba/index.ts +11 -11
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-adapter.ts +78 -78
- package/src/execution/engine/tools/integration/server/adapters/tomba/tomba-tools.ts +222 -222
- package/src/execution/engine/tools/integration/server/index.ts +61 -61
- package/src/execution/engine/tools/integration/service.ts +161 -161
- package/src/execution/engine/tools/integration/tool.ts +253 -253
- package/src/execution/engine/tools/integration/types/anymailfinder.ts +74 -74
- package/src/execution/engine/tools/integration/types/apify.ts +92 -92
- package/src/execution/engine/tools/integration/types/index.ts +19 -19
- package/src/execution/engine/tools/integration/types/instantly.ts +557 -557
- package/src/execution/engine/tools/integration/types/millionverifier.ts +56 -56
- package/src/execution/engine/tools/integration/types/stripe.ts +162 -162
- package/src/execution/engine/tools/integration/types/tomba.ts +94 -94
- package/src/execution/engine/tools/lead-service-types.ts +884 -884
- package/src/execution/engine/tools/llm/index.ts +11 -11
- package/src/execution/engine/tools/llm/server/index.ts +8 -8
- package/src/execution/engine/tools/llm/server/llm-call-tool.ts +118 -118
- package/src/execution/engine/tools/platform/__tests__/pdf.test.ts +441 -441
- package/src/execution/engine/tools/platform/acquisition/company-tools.ts +248 -248
- package/src/execution/engine/tools/platform/acquisition/contact-tools.ts +319 -319
- package/src/execution/engine/tools/platform/acquisition/index.ts +43 -43
- package/src/execution/engine/tools/platform/acquisition/list-tools.ts +148 -148
- package/src/execution/engine/tools/platform/acquisition/types.ts +260 -260
- package/src/execution/engine/tools/platform/email/index.ts +122 -122
- package/src/execution/engine/tools/platform/email/types.ts +96 -96
- package/src/execution/engine/tools/platform/index.ts +157 -157
- package/src/execution/engine/tools/platform/notification.ts +81 -81
- package/src/execution/engine/tools/platform/pdf/index.ts +110 -110
- package/src/execution/engine/tools/platform/pdf/types.ts +77 -77
- package/src/execution/engine/tools/platform/scheduler.ts +87 -87
- package/src/execution/engine/tools/platform/storage/index.ts +370 -370
- package/src/execution/engine/tools/platform/types.ts +148 -148
- package/src/execution/engine/tools/registry.ts +700 -700
- package/src/execution/engine/tools/tool-maps.ts +786 -786
- package/src/execution/engine/tools/types.ts +233 -233
- package/src/execution/engine/workflow/__tests__/errors.test.ts +139 -139
- package/src/execution/engine/workflow/errors.ts +63 -63
- package/src/execution/engine/workflow/helpers/index.ts +11 -11
- package/src/execution/engine/workflow/helpers/server/index.ts +8 -8
- package/src/execution/engine/workflow/helpers/server/llm-call.ts +93 -93
- package/src/execution/engine/workflow/index.ts +19 -19
- package/src/execution/engine/workflow/log-truncate.ts +26 -26
- package/src/execution/engine/workflow/logging.ts +191 -191
- package/src/execution/engine/workflow/types.ts +182 -182
- package/src/execution/engine/workflow/utils.ts +280 -280
- package/src/execution/engine/workflow/workflow.ts +168 -168
- package/src/execution/index.ts +3 -3
- package/src/execution/scheduler/__tests__/api-schemas.test.ts +733 -733
- package/src/execution/scheduler/__tests__/utils.test.ts +1009 -1009
- package/src/execution/scheduler/api-schemas.ts +296 -296
- package/src/execution/scheduler/index.ts +50 -50
- package/src/execution/scheduler/schemas.ts +264 -264
- package/src/execution/scheduler/types.ts +111 -111
- package/src/execution/scheduler/utils.ts +364 -364
- package/src/forms/index.ts +7 -7
- package/src/forms/schemas.ts +69 -69
- package/src/forms/types.ts +70 -70
- package/src/index.ts +71 -60
- package/src/integrations/credentials/__tests__/schemas.test.ts +82 -82
- package/src/integrations/credentials/__tests__/utils.test.ts +144 -144
- package/src/integrations/credentials/api-schemas.ts +143 -143
- package/src/integrations/credentials/index.ts +32 -32
- package/src/integrations/credentials/schemas.ts +164 -164
- package/src/integrations/credentials/utils.ts +59 -59
- package/src/integrations/oauth/__tests__/provider-registry.test.ts +59 -59
- package/src/integrations/oauth/api-schemas.ts +92 -92
- package/src/integrations/oauth/index.ts +19 -19
- package/src/integrations/oauth/provider-registry.ts +61 -61
- package/src/integrations/oauth/server/__tests__/refresh-concurrent.test.ts +183 -183
- package/src/integrations/oauth/server/__tests__/refresh.test.ts +577 -577
- package/src/integrations/oauth/server/credentials.ts +39 -39
- package/src/integrations/oauth/server/refresh.ts +214 -214
- package/src/integrations/oauth/types.ts +34 -34
- package/src/integrations/webhook-endpoints/__tests__/api-schemas.test.ts +318 -318
- package/src/integrations/webhook-endpoints/api-schemas.ts +102 -102
- package/src/integrations/webhook-endpoints/index.ts +28 -28
- package/src/integrations/webhook-endpoints/types.ts +51 -51
- package/src/operations/activities/api-schemas.ts +79 -79
- package/src/operations/activities/index.ts +9 -9
- package/src/operations/activities/sse-events.ts +30 -30
- package/src/operations/activities/types.ts +63 -63
- package/src/operations/debug-logs/client.ts +60 -60
- package/src/operations/debug-logs/debug-logger.ts +83 -83
- package/src/operations/debug-logs/index.ts +8 -8
- package/src/operations/debug-logs/server.ts +19 -19
- package/src/operations/debug-logs/types.ts +33 -33
- package/src/operations/index.ts +50 -50
- package/src/operations/notifications/api-schemas.ts +91 -91
- package/src/operations/notifications/index.ts +3 -3
- package/src/operations/notifications/sse-events.ts +21 -21
- package/src/operations/notifications/types.ts +47 -47
- package/src/operations/observability/__tests__/openrouter-cost-flow.test.ts +297 -297
- package/src/operations/observability/__tests__/utils.test.ts +54 -54
- package/src/operations/observability/ai-usage-collector.ts +64 -64
- package/src/operations/observability/index.ts +13 -13
- package/src/operations/observability/metrics-collector.ts +49 -49
- package/src/operations/observability/schemas.ts +39 -39
- package/src/operations/observability/types.ts +463 -463
- package/src/operations/observability/utils.ts +77 -77
- package/src/operations/sessions/__tests__/manager.test.ts +821 -821
- package/src/operations/sessions/index.ts +26 -26
- package/src/operations/sessions/server/manager.ts +90 -90
- package/src/operations/sessions/server/session.ts +180 -180
- package/src/operations/sessions/types.ts +98 -98
- package/src/operations/triggers/index.ts +12 -12
- package/src/operations/triggers/webhook/definitions/instantly-account-error.ts +44 -44
- package/src/operations/triggers/webhook/definitions/instantly-auto-reply-received.ts +51 -51
- package/src/operations/triggers/webhook/definitions/instantly-campaign-completed.ts +45 -45
- package/src/operations/triggers/webhook/definitions/instantly-email-bounced.ts +49 -49
- package/src/operations/triggers/webhook/definitions/instantly-lead-unsubscribed.ts +45 -45
- package/src/operations/triggers/webhook/definitions/instantly-reply-received.ts +54 -54
- package/src/operations/triggers/webhook/index.ts +35 -35
- package/src/operations/triggers/webhook/types.ts +74 -74
- package/src/organization-model/README.md +97 -97
- package/src/organization-model/__tests__/defaults.test.ts +175 -175
- package/src/organization-model/__tests__/domains/customers.test.ts +295 -295
- package/src/organization-model/__tests__/domains/goals.test.ts +479 -479
- package/src/organization-model/__tests__/domains/identity.test.ts +279 -279
- package/src/organization-model/__tests__/domains/navigation.test.ts +212 -212
- package/src/organization-model/__tests__/domains/offerings.test.ts +419 -419
- package/src/organization-model/__tests__/domains/operations.test.ts +203 -203
- package/src/organization-model/__tests__/domains/resource-mappings.test.ts +362 -362
- package/src/organization-model/__tests__/domains/roles.test.ts +347 -347
- package/src/organization-model/__tests__/domains/statuses.test.ts +243 -243
- package/src/organization-model/__tests__/foundation.test.ts +105 -105
- package/src/organization-model/__tests__/graph.test.ts +894 -894
- package/src/organization-model/__tests__/resolve.test.ts +690 -690
- package/src/organization-model/__tests__/schema.test.ts +407 -407
- package/src/organization-model/contracts.ts +14 -14
- package/src/organization-model/defaults.ts +148 -148
- package/src/organization-model/domains/branding.ts +22 -22
- package/src/organization-model/domains/customers.ts +75 -75
- package/src/organization-model/domains/features.ts +22 -22
- package/src/organization-model/domains/goals.ts +80 -80
- package/src/organization-model/domains/identity.ts +94 -94
- package/src/organization-model/domains/navigation.ts +391 -391
- package/src/organization-model/domains/offerings.ts +66 -66
- package/src/organization-model/domains/operations.ts +85 -85
- package/src/organization-model/domains/projects.ts +48 -48
- package/src/organization-model/domains/prospecting.ts +33 -33
- package/src/organization-model/domains/roles.ts +55 -55
- package/src/organization-model/domains/sales.ts +94 -94
- package/src/organization-model/domains/shared.ts +62 -62
- package/src/organization-model/domains/statuses.ts +130 -130
- package/src/organization-model/foundation.ts +97 -97
- package/src/organization-model/graph/build.ts +399 -399
- package/src/organization-model/graph/index.ts +4 -4
- package/src/organization-model/graph/schema.ts +48 -48
- package/src/organization-model/graph/types.ts +40 -40
- package/src/organization-model/index.ts +13 -13
- package/src/organization-model/organization-graph.mdx +272 -272
- package/src/organization-model/organization-model.mdx +320 -320
- package/src/organization-model/published.ts +85 -85
- package/src/organization-model/resolve.ts +66 -66
- package/src/organization-model/schema.ts +287 -287
- package/src/organization-model/types.ts +46 -46
- package/src/platform/api/index.ts +1 -1
- package/src/platform/api/types.ts +35 -35
- package/src/platform/constants/http.ts +37 -37
- package/src/platform/constants/index.ts +5 -5
- package/src/platform/constants/limits.ts +32 -32
- package/src/platform/constants/resilience.ts +51 -51
- package/src/platform/constants/timeouts.ts +20 -20
- package/src/platform/constants/versions.ts +3 -3
- package/src/platform/registry/__tests__/resource-registry-static.test.ts +347 -347
- package/src/platform/registry/__tests__/resource-registry.integration.test.ts +1028 -1028
- package/src/platform/registry/__tests__/resource-registry.list-executable.test.ts +393 -393
- package/src/platform/registry/__tests__/resource-registry.test.ts +2005 -2005
- package/src/platform/registry/__tests__/serialization.test.ts +1127 -1127
- package/src/platform/registry/command-view.ts +180 -180
- package/src/platform/registry/domains.ts +165 -165
- package/src/platform/registry/index.ts +93 -93
- package/src/platform/registry/reserved.ts +24 -24
- package/src/platform/registry/resource-metadata.ts +59 -59
- package/src/platform/registry/resource-registry.command-queue-groups.test.ts +129 -129
- package/src/platform/registry/resource-registry.ts +876 -876
- package/src/platform/registry/serialization.ts +273 -273
- package/src/platform/registry/serialized-types.ts +231 -231
- package/src/platform/registry/stats-types.ts +66 -66
- package/src/platform/registry/types.ts +404 -404
- package/src/platform/registry/validation.ts +513 -513
- package/src/platform/resilience/__tests__/rate-limiter.test.ts +471 -471
- package/src/platform/resilience/circuit-breaker.ts +164 -164
- package/src/platform/resilience/errors.ts +68 -68
- package/src/platform/resilience/http-error-mapper.ts +129 -129
- package/src/platform/resilience/index.ts +93 -93
- package/src/platform/resilience/rate-limiter-types.ts +46 -46
- package/src/platform/resilience/rate-limiter.ts +140 -140
- package/src/platform/resilience/retry.ts +89 -89
- package/src/platform/resilience/timeout.ts +63 -63
- package/src/platform/sse/events.ts +37 -37
- package/src/platform/sse/index.ts +7 -7
- package/src/platform/utils/__tests__/validation.test.ts +1083 -1083
- package/src/platform/utils/currency.ts +96 -96
- package/src/platform/utils/debounce.ts +52 -52
- package/src/platform/utils/error.ts +41 -41
- package/src/platform/utils/hmac.test.ts +97 -97
- package/src/platform/utils/index.ts +32 -32
- package/src/platform/utils/server/betterstack-logger.ts +210 -210
- package/src/platform/utils/server/hmac.ts +44 -44
- package/src/platform/utils/server/unsubscribe.ts +111 -111
- package/src/platform/utils/token-counter.ts +96 -96
- package/src/platform/utils/validation.ts +425 -425
- package/src/projects/api-schemas.ts +268 -268
- package/src/published.ts +1 -1
- package/src/reference/_generated/contracts.md +607 -607
- package/src/reference/glossary.md +105 -105
- package/src/requests/__tests__/api-schemas.test.ts +277 -277
- package/src/requests/api-schemas.ts +83 -83
- package/src/requests/index.ts +1 -1
- package/src/scaffold-registry/__tests__/index.test.ts +17 -0
- package/src/scaffold-registry/__tests__/schema.test.ts +329 -230
- package/src/scaffold-registry/index.ts +205 -189
- package/src/scaffold-registry/schema.ts +196 -128
- package/src/server.ts +272 -272
- package/src/supabase/database.types.ts +2719 -2719
- package/src/supabase/helpers.ts +20 -20
- package/src/supabase/index.ts +52 -52
- package/src/supabase/server/client.ts +58 -58
- package/src/test-utils/README.md +30 -138
- package/src/test-utils/browser-mocks.ts +54 -54
- package/src/test-utils/fixtures/api-keys.ts +52 -52
- package/src/test-utils/fixtures/index.ts +4 -4
- package/src/test-utils/fixtures/memberships.ts +80 -80
- package/src/test-utils/fixtures/organizations.ts +69 -69
- package/src/test-utils/fixtures/users.ts +79 -79
- package/src/test-utils/index.ts +7 -8
- package/src/test-utils/mocks/index.ts +2 -2
- package/src/test-utils/mocks/supabase.ts +142 -142
- package/src/test-utils/mocks/workos.ts +108 -108
- package/src/test-utils/published.ts +4 -0
- package/src/test-utils/rls/RLSTestContext.ts +554 -554
- package/src/test-utils/rls/index.ts +1 -1
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import { z } from 'zod'
|
|
2
|
-
|
|
3
|
-
// ---------------------------------------------------------------------------
|
|
4
|
-
// Pricing model — the four canonical pricing structures used in B2B SaaS and
|
|
5
|
-
// professional services. "custom" covers bespoke / negotiated pricing.
|
|
6
|
-
// ---------------------------------------------------------------------------
|
|
7
|
-
|
|
8
|
-
export const PricingModelSchema = z.enum(['one-time', 'subscription', 'usage-based', 'custom'])
|
|
9
|
-
|
|
10
|
-
// ---------------------------------------------------------------------------
|
|
11
|
-
// Product schema — one entry per distinct offering (product or service).
|
|
12
|
-
// Modeled after Business Model Canvas "Value Propositions" and company profile
|
|
13
|
-
// product/service catalog language. Fields use plain English throughout.
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
|
|
16
|
-
export const ProductSchema = z.object({
|
|
17
|
-
/** Stable unique identifier for the product (e.g. "product-starter-plan"). */
|
|
18
|
-
id: z.string().trim().min(1).max(100),
|
|
19
|
-
/** Human-readable name shown to agents and in UI (e.g. "Starter Plan"). */
|
|
20
|
-
name: z.string().trim().max(200).default(''),
|
|
21
|
-
/** One or two sentences describing what this product/service delivers. */
|
|
22
|
-
description: z.string().trim().max(2000).default(''),
|
|
23
|
-
/**
|
|
24
|
-
* How this product is priced:
|
|
25
|
-
* - "one-time" — single purchase (setup fee, project fee)
|
|
26
|
-
* - "subscription" — recurring (monthly/annual SaaS, retainer)
|
|
27
|
-
* - "usage-based" — metered by consumption (API calls, seats)
|
|
28
|
-
* - "custom" — negotiated or bespoke pricing
|
|
29
|
-
*/
|
|
30
|
-
pricingModel: PricingModelSchema.default('custom'),
|
|
31
|
-
/** Base price amount (≥ 0). Currency unit defined by `currency`. */
|
|
32
|
-
price: z.number().min(0).default(0),
|
|
33
|
-
/**
|
|
34
|
-
* ISO 4217 currency code (e.g. "USD", "EUR", "GBP").
|
|
35
|
-
* Free-form string to accommodate any currency; defaults to "USD".
|
|
36
|
-
*/
|
|
37
|
-
currency: z.string().trim().max(10).default('USD'),
|
|
38
|
-
/**
|
|
39
|
-
* IDs of customer segments this product targets.
|
|
40
|
-
* Each id must reference a declared `customers.segments[].id`.
|
|
41
|
-
* Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
|
|
42
|
-
*/
|
|
43
|
-
targetSegmentIds: z.array(z.string().trim().min(1)).default([]),
|
|
44
|
-
/**
|
|
45
|
-
* Optional: ID of the platform feature responsible for delivering this product.
|
|
46
|
-
* When present, must reference a declared `features[].id`.
|
|
47
|
-
* Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
|
|
48
|
-
*/
|
|
49
|
-
deliveryFeatureId: z.string().trim().min(1).optional()
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
// ---------------------------------------------------------------------------
|
|
53
|
-
// Offerings domain schema — a collection of products and services.
|
|
54
|
-
// ---------------------------------------------------------------------------
|
|
55
|
-
|
|
56
|
-
export const OfferingsDomainSchema = z.object({
|
|
57
|
-
products: z.array(ProductSchema).default([])
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
// ---------------------------------------------------------------------------
|
|
61
|
-
// Seed — empty by default; adapters populate with real product definitions.
|
|
62
|
-
// ---------------------------------------------------------------------------
|
|
63
|
-
|
|
64
|
-
export const DEFAULT_ORGANIZATION_MODEL_OFFERINGS: z.infer<typeof OfferingsDomainSchema> = {
|
|
65
|
-
products: []
|
|
66
|
-
}
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Pricing model — the four canonical pricing structures used in B2B SaaS and
|
|
5
|
+
// professional services. "custom" covers bespoke / negotiated pricing.
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
export const PricingModelSchema = z.enum(['one-time', 'subscription', 'usage-based', 'custom'])
|
|
9
|
+
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Product schema — one entry per distinct offering (product or service).
|
|
12
|
+
// Modeled after Business Model Canvas "Value Propositions" and company profile
|
|
13
|
+
// product/service catalog language. Fields use plain English throughout.
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
|
|
16
|
+
export const ProductSchema = z.object({
|
|
17
|
+
/** Stable unique identifier for the product (e.g. "product-starter-plan"). */
|
|
18
|
+
id: z.string().trim().min(1).max(100),
|
|
19
|
+
/** Human-readable name shown to agents and in UI (e.g. "Starter Plan"). */
|
|
20
|
+
name: z.string().trim().max(200).default(''),
|
|
21
|
+
/** One or two sentences describing what this product/service delivers. */
|
|
22
|
+
description: z.string().trim().max(2000).default(''),
|
|
23
|
+
/**
|
|
24
|
+
* How this product is priced:
|
|
25
|
+
* - "one-time" — single purchase (setup fee, project fee)
|
|
26
|
+
* - "subscription" — recurring (monthly/annual SaaS, retainer)
|
|
27
|
+
* - "usage-based" — metered by consumption (API calls, seats)
|
|
28
|
+
* - "custom" — negotiated or bespoke pricing
|
|
29
|
+
*/
|
|
30
|
+
pricingModel: PricingModelSchema.default('custom'),
|
|
31
|
+
/** Base price amount (≥ 0). Currency unit defined by `currency`. */
|
|
32
|
+
price: z.number().min(0).default(0),
|
|
33
|
+
/**
|
|
34
|
+
* ISO 4217 currency code (e.g. "USD", "EUR", "GBP").
|
|
35
|
+
* Free-form string to accommodate any currency; defaults to "USD".
|
|
36
|
+
*/
|
|
37
|
+
currency: z.string().trim().max(10).default('USD'),
|
|
38
|
+
/**
|
|
39
|
+
* IDs of customer segments this product targets.
|
|
40
|
+
* Each id must reference a declared `customers.segments[].id`.
|
|
41
|
+
* Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
|
|
42
|
+
*/
|
|
43
|
+
targetSegmentIds: z.array(z.string().trim().min(1)).default([]),
|
|
44
|
+
/**
|
|
45
|
+
* Optional: ID of the platform feature responsible for delivering this product.
|
|
46
|
+
* When present, must reference a declared `features[].id`.
|
|
47
|
+
* Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
|
|
48
|
+
*/
|
|
49
|
+
deliveryFeatureId: z.string().trim().min(1).optional()
|
|
50
|
+
})
|
|
51
|
+
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
// Offerings domain schema — a collection of products and services.
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
|
|
56
|
+
export const OfferingsDomainSchema = z.object({
|
|
57
|
+
products: z.array(ProductSchema).default([])
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
// Seed — empty by default; adapters populate with real product definitions.
|
|
62
|
+
// ---------------------------------------------------------------------------
|
|
63
|
+
|
|
64
|
+
export const DEFAULT_ORGANIZATION_MODEL_OFFERINGS: z.infer<typeof OfferingsDomainSchema> = {
|
|
65
|
+
products: []
|
|
66
|
+
}
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
import { z } from 'zod'
|
|
2
|
-
|
|
3
|
-
// ---------------------------------------------------------------------------
|
|
4
|
-
// Semantic class enum — one value per stateful runtime entity category.
|
|
5
|
-
// Every operation entry declares which category it belongs to via semanticClass.
|
|
6
|
-
// ---------------------------------------------------------------------------
|
|
7
|
-
|
|
8
|
-
export const OperationSemanticClassSchema = z.enum(['queue', 'executions', 'sessions', 'notifications', 'schedules'])
|
|
9
|
-
|
|
10
|
-
// ---------------------------------------------------------------------------
|
|
11
|
-
// Operation entry schema
|
|
12
|
-
// ---------------------------------------------------------------------------
|
|
13
|
-
|
|
14
|
-
export const OperationEntrySchema = z.object({
|
|
15
|
-
id: z.string().trim().min(1).max(100),
|
|
16
|
-
label: z.string().trim().min(1).max(120),
|
|
17
|
-
semanticClass: OperationSemanticClassSchema,
|
|
18
|
-
/** Optional reference to the feature that owns this runtime entity. */
|
|
19
|
-
featureId: z.string().trim().min(1).max(100).optional(),
|
|
20
|
-
/**
|
|
21
|
-
* Optional pointer to the status semanticClass values that apply to this
|
|
22
|
-
* entity — ties operations back to the statuses domain for vibe rendering.
|
|
23
|
-
*/
|
|
24
|
-
supportedStatusSemanticClass: z.array(z.string().trim().min(1).max(80)).optional()
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
// Domain schema — a flat array of operation entries
|
|
29
|
-
// ---------------------------------------------------------------------------
|
|
30
|
-
|
|
31
|
-
export const OperationsDomainSchema = z.object({
|
|
32
|
-
entries: z.array(OperationEntrySchema).default([])
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
// ---------------------------------------------------------------------------
|
|
36
|
-
// Seed — one entry per stateful runtime entity category.
|
|
37
|
-
// Categories: queue (HITL), executions, sessions, notifications, schedules.
|
|
38
|
-
// ---------------------------------------------------------------------------
|
|
39
|
-
|
|
40
|
-
export const DEFAULT_ORGANIZATION_MODEL_OPERATIONS: z.infer<typeof OperationsDomainSchema> = {
|
|
41
|
-
entries: [
|
|
42
|
-
// --- queue (HITL command queue) ---
|
|
43
|
-
{
|
|
44
|
-
id: 'operations.queue',
|
|
45
|
-
label: 'HITL Queue',
|
|
46
|
-
semanticClass: 'queue',
|
|
47
|
-
featureId: 'operations',
|
|
48
|
-
supportedStatusSemanticClass: ['queue']
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
// --- executions (workflow / agent executions) ---
|
|
52
|
-
{
|
|
53
|
-
id: 'operations.executions',
|
|
54
|
-
label: 'Executions',
|
|
55
|
-
semanticClass: 'executions',
|
|
56
|
-
featureId: 'operations',
|
|
57
|
-
supportedStatusSemanticClass: ['execution']
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
// --- sessions (agent conversation sessions) ---
|
|
61
|
-
{
|
|
62
|
-
id: 'operations.sessions',
|
|
63
|
-
label: 'Sessions',
|
|
64
|
-
semanticClass: 'sessions',
|
|
65
|
-
featureId: 'operations'
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
// --- notifications (platform in-app notifications) ---
|
|
69
|
-
{
|
|
70
|
-
id: 'operations.notifications',
|
|
71
|
-
label: 'Notifications',
|
|
72
|
-
semanticClass: 'notifications',
|
|
73
|
-
featureId: 'monitoring'
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
// --- schedules (task scheduler) ---
|
|
77
|
-
{
|
|
78
|
-
id: 'operations.schedules',
|
|
79
|
-
label: 'Schedules',
|
|
80
|
-
semanticClass: 'schedules',
|
|
81
|
-
featureId: 'operations',
|
|
82
|
-
supportedStatusSemanticClass: ['schedule', 'schedule.run']
|
|
83
|
-
}
|
|
84
|
-
]
|
|
85
|
-
}
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Semantic class enum — one value per stateful runtime entity category.
|
|
5
|
+
// Every operation entry declares which category it belongs to via semanticClass.
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
export const OperationSemanticClassSchema = z.enum(['queue', 'executions', 'sessions', 'notifications', 'schedules'])
|
|
9
|
+
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Operation entry schema
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
export const OperationEntrySchema = z.object({
|
|
15
|
+
id: z.string().trim().min(1).max(100),
|
|
16
|
+
label: z.string().trim().min(1).max(120),
|
|
17
|
+
semanticClass: OperationSemanticClassSchema,
|
|
18
|
+
/** Optional reference to the feature that owns this runtime entity. */
|
|
19
|
+
featureId: z.string().trim().min(1).max(100).optional(),
|
|
20
|
+
/**
|
|
21
|
+
* Optional pointer to the status semanticClass values that apply to this
|
|
22
|
+
* entity — ties operations back to the statuses domain for vibe rendering.
|
|
23
|
+
*/
|
|
24
|
+
supportedStatusSemanticClass: z.array(z.string().trim().min(1).max(80)).optional()
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Domain schema — a flat array of operation entries
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
|
|
31
|
+
export const OperationsDomainSchema = z.object({
|
|
32
|
+
entries: z.array(OperationEntrySchema).default([])
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Seed — one entry per stateful runtime entity category.
|
|
37
|
+
// Categories: queue (HITL), executions, sessions, notifications, schedules.
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
|
|
40
|
+
export const DEFAULT_ORGANIZATION_MODEL_OPERATIONS: z.infer<typeof OperationsDomainSchema> = {
|
|
41
|
+
entries: [
|
|
42
|
+
// --- queue (HITL command queue) ---
|
|
43
|
+
{
|
|
44
|
+
id: 'operations.queue',
|
|
45
|
+
label: 'HITL Queue',
|
|
46
|
+
semanticClass: 'queue',
|
|
47
|
+
featureId: 'operations',
|
|
48
|
+
supportedStatusSemanticClass: ['queue']
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
// --- executions (workflow / agent executions) ---
|
|
52
|
+
{
|
|
53
|
+
id: 'operations.executions',
|
|
54
|
+
label: 'Executions',
|
|
55
|
+
semanticClass: 'executions',
|
|
56
|
+
featureId: 'operations',
|
|
57
|
+
supportedStatusSemanticClass: ['execution']
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
// --- sessions (agent conversation sessions) ---
|
|
61
|
+
{
|
|
62
|
+
id: 'operations.sessions',
|
|
63
|
+
label: 'Sessions',
|
|
64
|
+
semanticClass: 'sessions',
|
|
65
|
+
featureId: 'operations'
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
// --- notifications (platform in-app notifications) ---
|
|
69
|
+
{
|
|
70
|
+
id: 'operations.notifications',
|
|
71
|
+
label: 'Notifications',
|
|
72
|
+
semanticClass: 'notifications',
|
|
73
|
+
featureId: 'monitoring'
|
|
74
|
+
},
|
|
75
|
+
|
|
76
|
+
// --- schedules (task scheduler) ---
|
|
77
|
+
{
|
|
78
|
+
id: 'operations.schedules',
|
|
79
|
+
label: 'Schedules',
|
|
80
|
+
semanticClass: 'schedules',
|
|
81
|
+
featureId: 'operations',
|
|
82
|
+
supportedStatusSemanticClass: ['schedule', 'schedule.run']
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
}
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import { z } from 'zod'
|
|
2
|
-
import { DisplayMetadataSchema, ModelIdSchema } from './shared'
|
|
3
|
-
|
|
4
|
-
export const ProjectsDomainStateSchema = DisplayMetadataSchema.extend({
|
|
5
|
-
id: ModelIdSchema,
|
|
6
|
-
order: z.number().int().min(0)
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
export const OrganizationModelProjectsSchema = z.object({
|
|
10
|
-
projectEntityId: ModelIdSchema,
|
|
11
|
-
milestoneEntityId: ModelIdSchema,
|
|
12
|
-
taskEntityId: ModelIdSchema,
|
|
13
|
-
projectStatuses: z.array(ProjectsDomainStateSchema).min(1),
|
|
14
|
-
milestoneStatuses: z.array(ProjectsDomainStateSchema).min(1),
|
|
15
|
-
taskStatuses: z.array(ProjectsDomainStateSchema).min(1)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
export const DEFAULT_ORGANIZATION_MODEL_PROJECTS: z.infer<typeof OrganizationModelProjectsSchema> = {
|
|
19
|
-
projectEntityId: 'delivery.project',
|
|
20
|
-
milestoneEntityId: 'delivery.milestone',
|
|
21
|
-
taskEntityId: 'delivery.task',
|
|
22
|
-
projectStatuses: [
|
|
23
|
-
{ id: 'active', label: 'Active', order: 1 },
|
|
24
|
-
{ id: 'on_track', label: 'On Track', order: 2 },
|
|
25
|
-
{ id: 'at_risk', label: 'At Risk', order: 3 },
|
|
26
|
-
{ id: 'blocked', label: 'Blocked', order: 4 },
|
|
27
|
-
{ id: 'paused', label: 'Paused', order: 5 },
|
|
28
|
-
{ id: 'completed', label: 'Completed', order: 6 }
|
|
29
|
-
],
|
|
30
|
-
milestoneStatuses: [
|
|
31
|
-
{ id: 'upcoming', label: 'Upcoming', order: 1 },
|
|
32
|
-
{ id: 'in_progress', label: 'In Progress', order: 2 },
|
|
33
|
-
{ id: 'blocked', label: 'Blocked', order: 3 },
|
|
34
|
-
{ id: 'overdue', label: 'Overdue', order: 4 },
|
|
35
|
-
{ id: 'completed', label: 'Completed', order: 5 }
|
|
36
|
-
],
|
|
37
|
-
taskStatuses: [
|
|
38
|
-
{ id: 'planned', label: 'Planned', order: 1 },
|
|
39
|
-
{ id: 'in_progress', label: 'In Progress', order: 2 },
|
|
40
|
-
{ id: 'blocked', label: 'Blocked', order: 3 },
|
|
41
|
-
{ id: 'submitted', label: 'Submitted', order: 4 },
|
|
42
|
-
{ id: 'approved', label: 'Approved', order: 5 },
|
|
43
|
-
{ id: 'revision_requested', label: 'Revision Requested', order: 6 },
|
|
44
|
-
{ id: 'rejected', label: 'Rejected', order: 7 },
|
|
45
|
-
{ id: 'cancelled', label: 'Cancelled', order: 8 },
|
|
46
|
-
{ id: 'completed', label: 'Completed', order: 9 }
|
|
47
|
-
]
|
|
48
|
-
}
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
import { DisplayMetadataSchema, ModelIdSchema } from './shared'
|
|
3
|
+
|
|
4
|
+
export const ProjectsDomainStateSchema = DisplayMetadataSchema.extend({
|
|
5
|
+
id: ModelIdSchema,
|
|
6
|
+
order: z.number().int().min(0)
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
export const OrganizationModelProjectsSchema = z.object({
|
|
10
|
+
projectEntityId: ModelIdSchema,
|
|
11
|
+
milestoneEntityId: ModelIdSchema,
|
|
12
|
+
taskEntityId: ModelIdSchema,
|
|
13
|
+
projectStatuses: z.array(ProjectsDomainStateSchema).min(1),
|
|
14
|
+
milestoneStatuses: z.array(ProjectsDomainStateSchema).min(1),
|
|
15
|
+
taskStatuses: z.array(ProjectsDomainStateSchema).min(1)
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
export const DEFAULT_ORGANIZATION_MODEL_PROJECTS: z.infer<typeof OrganizationModelProjectsSchema> = {
|
|
19
|
+
projectEntityId: 'delivery.project',
|
|
20
|
+
milestoneEntityId: 'delivery.milestone',
|
|
21
|
+
taskEntityId: 'delivery.task',
|
|
22
|
+
projectStatuses: [
|
|
23
|
+
{ id: 'active', label: 'Active', order: 1 },
|
|
24
|
+
{ id: 'on_track', label: 'On Track', order: 2 },
|
|
25
|
+
{ id: 'at_risk', label: 'At Risk', order: 3 },
|
|
26
|
+
{ id: 'blocked', label: 'Blocked', order: 4 },
|
|
27
|
+
{ id: 'paused', label: 'Paused', order: 5 },
|
|
28
|
+
{ id: 'completed', label: 'Completed', order: 6 }
|
|
29
|
+
],
|
|
30
|
+
milestoneStatuses: [
|
|
31
|
+
{ id: 'upcoming', label: 'Upcoming', order: 1 },
|
|
32
|
+
{ id: 'in_progress', label: 'In Progress', order: 2 },
|
|
33
|
+
{ id: 'blocked', label: 'Blocked', order: 3 },
|
|
34
|
+
{ id: 'overdue', label: 'Overdue', order: 4 },
|
|
35
|
+
{ id: 'completed', label: 'Completed', order: 5 }
|
|
36
|
+
],
|
|
37
|
+
taskStatuses: [
|
|
38
|
+
{ id: 'planned', label: 'Planned', order: 1 },
|
|
39
|
+
{ id: 'in_progress', label: 'In Progress', order: 2 },
|
|
40
|
+
{ id: 'blocked', label: 'Blocked', order: 3 },
|
|
41
|
+
{ id: 'submitted', label: 'Submitted', order: 4 },
|
|
42
|
+
{ id: 'approved', label: 'Approved', order: 5 },
|
|
43
|
+
{ id: 'revision_requested', label: 'Revision Requested', order: 6 },
|
|
44
|
+
{ id: 'rejected', label: 'Rejected', order: 7 },
|
|
45
|
+
{ id: 'cancelled', label: 'Cancelled', order: 8 },
|
|
46
|
+
{ id: 'completed', label: 'Completed', order: 9 }
|
|
47
|
+
]
|
|
48
|
+
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { z } from 'zod'
|
|
2
|
-
import { DescriptionSchema, DisplayMetadataSchema, ModelIdSchema } from './shared'
|
|
3
|
-
|
|
4
|
-
export const ProspectingLifecycleStageSchema = DisplayMetadataSchema.extend({
|
|
5
|
-
id: ModelIdSchema,
|
|
6
|
-
order: z.number().int().min(0)
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
export const OrganizationModelProspectingSchema = z.object({
|
|
10
|
-
listEntityId: ModelIdSchema,
|
|
11
|
-
companyEntityId: ModelIdSchema,
|
|
12
|
-
contactEntityId: ModelIdSchema,
|
|
13
|
-
description: DescriptionSchema.optional(),
|
|
14
|
-
companyStages: z.array(ProspectingLifecycleStageSchema).min(1),
|
|
15
|
-
contactStages: z.array(ProspectingLifecycleStageSchema).min(1)
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
export const DEFAULT_ORGANIZATION_MODEL_PROSPECTING: z.infer<typeof OrganizationModelProspectingSchema> = {
|
|
19
|
-
listEntityId: 'leadgen.list',
|
|
20
|
-
companyEntityId: 'leadgen.company',
|
|
21
|
-
contactEntityId: 'leadgen.contact',
|
|
22
|
-
companyStages: [
|
|
23
|
-
{ id: 'populated', label: 'Populated', order: 1 },
|
|
24
|
-
{ id: 'extracted', label: 'Extracted', order: 2 },
|
|
25
|
-
{ id: 'qualified', label: 'Qualified', order: 3 }
|
|
26
|
-
],
|
|
27
|
-
contactStages: [
|
|
28
|
-
{ id: 'discovered', label: 'Discovered', order: 1 },
|
|
29
|
-
{ id: 'verified', label: 'Verified', order: 2 },
|
|
30
|
-
{ id: 'personalized', label: 'Personalized', order: 3 },
|
|
31
|
-
{ id: 'uploaded', label: 'Uploaded', order: 4 }
|
|
32
|
-
]
|
|
33
|
-
}
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
import { DescriptionSchema, DisplayMetadataSchema, ModelIdSchema } from './shared'
|
|
3
|
+
|
|
4
|
+
export const ProspectingLifecycleStageSchema = DisplayMetadataSchema.extend({
|
|
5
|
+
id: ModelIdSchema,
|
|
6
|
+
order: z.number().int().min(0)
|
|
7
|
+
})
|
|
8
|
+
|
|
9
|
+
export const OrganizationModelProspectingSchema = z.object({
|
|
10
|
+
listEntityId: ModelIdSchema,
|
|
11
|
+
companyEntityId: ModelIdSchema,
|
|
12
|
+
contactEntityId: ModelIdSchema,
|
|
13
|
+
description: DescriptionSchema.optional(),
|
|
14
|
+
companyStages: z.array(ProspectingLifecycleStageSchema).min(1),
|
|
15
|
+
contactStages: z.array(ProspectingLifecycleStageSchema).min(1)
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
export const DEFAULT_ORGANIZATION_MODEL_PROSPECTING: z.infer<typeof OrganizationModelProspectingSchema> = {
|
|
19
|
+
listEntityId: 'leadgen.list',
|
|
20
|
+
companyEntityId: 'leadgen.company',
|
|
21
|
+
contactEntityId: 'leadgen.contact',
|
|
22
|
+
companyStages: [
|
|
23
|
+
{ id: 'populated', label: 'Populated', order: 1 },
|
|
24
|
+
{ id: 'extracted', label: 'Extracted', order: 2 },
|
|
25
|
+
{ id: 'qualified', label: 'Qualified', order: 3 }
|
|
26
|
+
],
|
|
27
|
+
contactStages: [
|
|
28
|
+
{ id: 'discovered', label: 'Discovered', order: 1 },
|
|
29
|
+
{ id: 'verified', label: 'Verified', order: 2 },
|
|
30
|
+
{ id: 'personalized', label: 'Personalized', order: 3 },
|
|
31
|
+
{ id: 'uploaded', label: 'Uploaded', order: 4 }
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { z } from 'zod'
|
|
2
|
-
|
|
3
|
-
// ---------------------------------------------------------------------------
|
|
4
|
-
// Role schema — one entry per distinct role in the organization's chart.
|
|
5
|
-
// Inspired by the EOS Accountability Chart but uses plain-language field names
|
|
6
|
-
// throughout. No EOS jargon: "title" (not seatTitle), "responsibilities"
|
|
7
|
-
// (not accountabilities), "reportsToId", "heldBy".
|
|
8
|
-
//
|
|
9
|
-
// Cross-reference: `reportsToId` (when present) must resolve to another
|
|
10
|
-
// `roles[].id` in the same collection. Enforcement is via
|
|
11
|
-
// `OrganizationModelSchema.superRefine()` — not at the individual schema level.
|
|
12
|
-
// Cycle detection is NOT enforced (known limitation; document if needed).
|
|
13
|
-
// ---------------------------------------------------------------------------
|
|
14
|
-
|
|
15
|
-
export const RoleSchema = z.object({
|
|
16
|
-
/** Stable unique identifier for the role (e.g. "role-ceo", "role-head-of-sales"). */
|
|
17
|
-
id: z.string().trim().min(1).max(100),
|
|
18
|
-
/** Human-readable title shown to agents and in UI (e.g. "CEO", "Head of Sales"). */
|
|
19
|
-
title: z.string().trim().min(1).max(200),
|
|
20
|
-
/**
|
|
21
|
-
* List of responsibilities this role owns — plain-language descriptions of
|
|
22
|
-
* what the person in this role is accountable for delivering.
|
|
23
|
-
* Defaults to empty array so minimal role definitions stay concise.
|
|
24
|
-
*/
|
|
25
|
-
responsibilities: z.array(z.string().trim().max(500)).default([]),
|
|
26
|
-
/**
|
|
27
|
-
* Optional: ID of another role this role reports to.
|
|
28
|
-
* When present, must reference another `roles[].id` in the same organization.
|
|
29
|
-
* Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
|
|
30
|
-
* Absence indicates a top-level role (no reporting line).
|
|
31
|
-
*/
|
|
32
|
-
reportsToId: z.string().trim().min(1).max(100).optional(),
|
|
33
|
-
/**
|
|
34
|
-
* Optional: name or email of the person currently holding this role.
|
|
35
|
-
* Free-form string — supports "Alice Johnson", "alice@example.com", or
|
|
36
|
-
* any human-readable identifier. Not validated against any user registry.
|
|
37
|
-
*/
|
|
38
|
-
heldBy: z.string().trim().max(200).optional()
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
// ---------------------------------------------------------------------------
|
|
42
|
-
// Roles domain schema — a collection of roles.
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
|
-
|
|
45
|
-
export const RolesDomainSchema = z.object({
|
|
46
|
-
roles: z.array(RoleSchema).default([])
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
// ---------------------------------------------------------------------------
|
|
50
|
-
// Seed — empty by default; adapters populate with real role definitions.
|
|
51
|
-
// ---------------------------------------------------------------------------
|
|
52
|
-
|
|
53
|
-
export const DEFAULT_ORGANIZATION_MODEL_ROLES: z.infer<typeof RolesDomainSchema> = {
|
|
54
|
-
roles: []
|
|
55
|
-
}
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Role schema — one entry per distinct role in the organization's chart.
|
|
5
|
+
// Inspired by the EOS Accountability Chart but uses plain-language field names
|
|
6
|
+
// throughout. No EOS jargon: "title" (not seatTitle), "responsibilities"
|
|
7
|
+
// (not accountabilities), "reportsToId", "heldBy".
|
|
8
|
+
//
|
|
9
|
+
// Cross-reference: `reportsToId` (when present) must resolve to another
|
|
10
|
+
// `roles[].id` in the same collection. Enforcement is via
|
|
11
|
+
// `OrganizationModelSchema.superRefine()` — not at the individual schema level.
|
|
12
|
+
// Cycle detection is NOT enforced (known limitation; document if needed).
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
|
|
15
|
+
export const RoleSchema = z.object({
|
|
16
|
+
/** Stable unique identifier for the role (e.g. "role-ceo", "role-head-of-sales"). */
|
|
17
|
+
id: z.string().trim().min(1).max(100),
|
|
18
|
+
/** Human-readable title shown to agents and in UI (e.g. "CEO", "Head of Sales"). */
|
|
19
|
+
title: z.string().trim().min(1).max(200),
|
|
20
|
+
/**
|
|
21
|
+
* List of responsibilities this role owns — plain-language descriptions of
|
|
22
|
+
* what the person in this role is accountable for delivering.
|
|
23
|
+
* Defaults to empty array so minimal role definitions stay concise.
|
|
24
|
+
*/
|
|
25
|
+
responsibilities: z.array(z.string().trim().max(500)).default([]),
|
|
26
|
+
/**
|
|
27
|
+
* Optional: ID of another role this role reports to.
|
|
28
|
+
* When present, must reference another `roles[].id` in the same organization.
|
|
29
|
+
* Cross-reference enforced in `OrganizationModelSchema.superRefine()`.
|
|
30
|
+
* Absence indicates a top-level role (no reporting line).
|
|
31
|
+
*/
|
|
32
|
+
reportsToId: z.string().trim().min(1).max(100).optional(),
|
|
33
|
+
/**
|
|
34
|
+
* Optional: name or email of the person currently holding this role.
|
|
35
|
+
* Free-form string — supports "Alice Johnson", "alice@example.com", or
|
|
36
|
+
* any human-readable identifier. Not validated against any user registry.
|
|
37
|
+
*/
|
|
38
|
+
heldBy: z.string().trim().max(200).optional()
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Roles domain schema — a collection of roles.
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
|
|
45
|
+
export const RolesDomainSchema = z.object({
|
|
46
|
+
roles: z.array(RoleSchema).default([])
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
// Seed — empty by default; adapters populate with real role definitions.
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
|
|
53
|
+
export const DEFAULT_ORGANIZATION_MODEL_ROLES: z.infer<typeof RolesDomainSchema> = {
|
|
54
|
+
roles: []
|
|
55
|
+
}
|