@superpanel-sdk/runtime 0.2.2 → 0.5.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.
- package/README.md +28 -8
- package/dist/builder/codegen/emit.d.ts +29 -11
- package/dist/builder/codegen/emit.js +328 -61
- package/dist/builder/codegen/generate.d.ts +21 -0
- package/dist/builder/codegen/generate.js +152 -20
- package/dist/builder/company-import-graph.d.ts +2 -0
- package/dist/builder/company-import-graph.js +40 -8
- package/dist/builder/company-imports.d.ts +24 -0
- package/dist/builder/company-imports.js +114 -0
- package/dist/builder/compile/compile-sequence.d.ts +59 -8
- package/dist/builder/compile/compile-sequence.js +279 -77
- package/dist/builder/compile/function-code.d.ts +12 -2
- package/dist/builder/compile/function-code.js +87 -39
- package/dist/builder/compile/registry.d.ts +7 -3
- package/dist/builder/compile/registry.js +24 -23
- package/dist/builder/load.d.ts +70 -10
- package/dist/builder/load.js +250 -61
- package/dist/builder/paths.d.ts +3 -0
- package/dist/builder/paths.js +16 -0
- package/dist/builder/schedules.d.ts +23 -0
- package/dist/builder/schedules.js +102 -0
- package/dist/builder/slot-schema-validation.d.ts +4 -0
- package/dist/builder/slot-schema-validation.js +10 -0
- package/dist/builder/typecheck.d.ts +8 -0
- package/dist/builder/typecheck.js +105 -0
- package/dist/builder/types.d.ts +91 -19
- package/dist/builder/types.js +2 -1
- package/dist/cli/auth/auth.d.ts +37 -0
- package/dist/cli/auth/auth.js +211 -0
- package/dist/cli/auth/backend-url.d.ts +5 -0
- package/dist/cli/auth/backend-url.js +25 -0
- package/dist/cli/auth/clipboard.d.ts +9 -0
- package/dist/cli/auth/clipboard.js +38 -0
- package/dist/cli/auth/http.d.ts +20 -0
- package/dist/cli/auth/http.js +27 -0
- package/dist/cli/auth/index.d.ts +10 -0
- package/dist/cli/auth/index.js +27 -0
- package/dist/cli/auth/progress.d.ts +12 -0
- package/dist/cli/auth/progress.js +15 -0
- package/dist/cli/auth/serve-login.d.ts +8 -0
- package/dist/cli/auth/serve-login.js +24 -0
- package/dist/cli/compile/index.js +3 -0
- package/dist/cli/config.d.ts +10 -0
- package/dist/cli/config.js +52 -0
- package/dist/cli/index.js +28 -8
- package/dist/cli/serve/index.d.ts +73 -3
- package/dist/cli/serve/index.js +410 -113
- package/dist/cli/type-gen/index.js +9 -8
- package/dist/compiler.d.ts +7 -0
- package/dist/compiler.js +7 -0
- package/dist/compute-host/compute-host.d.ts +15 -23
- package/dist/compute-host/compute-host.js +25 -28
- package/dist/compute-host/index.d.ts +2 -2
- package/dist/compute-host/index.js +1 -1
- package/dist/compute-host/source-compute-host.d.ts +11 -9
- package/dist/compute-host/source-compute-host.js +50 -31
- package/dist/core/case-orchestrator/contact-hours.d.ts +50 -0
- package/dist/core/case-orchestrator/contact-hours.js +108 -0
- package/dist/core/case-orchestrator/follow-ups.d.ts +31 -0
- package/dist/core/case-orchestrator/follow-ups.js +103 -0
- package/dist/core/case-orchestrator/index.d.ts +6 -0
- package/dist/core/case-orchestrator/index.js +6 -0
- package/dist/core/case-orchestrator/render.d.ts +75 -0
- package/dist/core/case-orchestrator/render.js +239 -0
- package/dist/core/case-orchestrator/time.d.ts +11 -0
- package/dist/core/case-orchestrator/time.js +29 -0
- package/dist/core/case-orchestrator/tools.d.ts +29 -0
- package/dist/core/case-orchestrator/tools.js +31 -0
- package/dist/core/case-orchestrator/types.d.ts +753 -0
- package/dist/core/case-orchestrator/types.js +46 -0
- package/dist/core/case-orchestrator/validate.d.ts +11 -0
- package/dist/core/case-orchestrator/validate.js +63 -0
- package/dist/core/context/call.d.ts +291 -0
- package/dist/core/context/call.js +94 -0
- package/dist/core/context/channels.d.ts +60 -0
- package/dist/core/context/channels.js +35 -0
- package/dist/core/context/contact.d.ts +96 -6
- package/dist/core/context/contact.js +48 -2
- package/dist/core/context/email-message.d.ts +159 -0
- package/dist/core/context/email-message.js +59 -0
- package/dist/core/context/email.d.ts +97 -0
- package/dist/core/context/email.js +91 -0
- package/dist/core/context/exchanges.d.ts +142 -0
- package/dist/core/context/exchanges.js +63 -0
- package/dist/core/context/instances.d.ts +278 -0
- package/dist/core/context/instances.js +123 -0
- package/dist/core/context/kv.d.ts +113 -0
- package/dist/core/context/kv.js +60 -0
- package/dist/core/context/platform-registry.d.ts +509 -4
- package/dist/core/context/platform-registry.js +14 -2
- package/dist/core/context/platform.d.ts +2 -1
- package/dist/core/context/sms.d.ts +147 -0
- package/dist/core/context/sms.js +57 -0
- package/dist/core/context/types.d.ts +51 -30
- package/dist/core/context/types.js +1 -7
- package/dist/core/conversation/index.d.ts +31 -0
- package/dist/core/conversation/index.js +14 -0
- package/dist/core/functions/define/bind.d.ts +25 -0
- package/dist/core/functions/define/bind.js +14 -0
- package/dist/core/functions/define/case.d.ts +9 -0
- package/dist/core/functions/define/case.js +13 -0
- package/dist/core/functions/define/events.d.ts +20 -0
- package/dist/core/functions/define/events.js +21 -0
- package/dist/core/functions/define/no-case.d.ts +4 -0
- package/dist/core/functions/define/no-case.js +9 -0
- package/dist/core/functions/events.d.ts +247 -0
- package/dist/core/functions/events.js +32 -0
- package/dist/core/functions/func-ref.d.ts +11 -2
- package/dist/core/functions/schedules.d.ts +51 -0
- package/dist/core/functions/schedules.js +20 -0
- package/dist/core/functions/types.d.ts +62 -51
- package/dist/core/functions/types.js +6 -1
- package/dist/core/office-hours/index.d.ts +39 -0
- package/dist/core/office-hours/index.js +187 -0
- package/dist/core/page/define.d.ts +834 -0
- package/dist/core/page/define.js +477 -0
- package/dist/core/page/ops.d.ts +58 -0
- package/dist/core/page/ops.js +220 -0
- package/dist/core/page/render.d.ts +253 -0
- package/dist/core/page/render.js +840 -0
- package/dist/core/page/time-format.d.ts +19 -0
- package/dist/core/page/time-format.js +41 -0
- package/dist/core/page/timeline.d.ts +40 -0
- package/dist/core/page/timeline.js +2 -0
- package/dist/core/page/typed.d.ts +642 -0
- package/dist/core/page/typed.js +2 -0
- package/dist/core/page/workspace.d.ts +33 -0
- package/dist/core/page/workspace.js +231 -0
- package/dist/core/party/index.d.ts +3 -0
- package/dist/core/party/index.js +3 -0
- package/dist/core/party/schema.d.ts +137 -0
- package/dist/core/party/schema.js +80 -0
- package/dist/core/party/types.d.ts +40 -0
- package/dist/core/party/types.js +15 -0
- package/dist/core/sequence/define.d.ts +57 -0
- package/dist/core/sequence/define.js +10 -0
- package/dist/core/sequence/index.d.ts +63 -0
- package/dist/core/sequence/index.js +231 -0
- package/dist/core/slot/binding.d.ts +40 -0
- package/dist/core/slot/binding.js +2 -0
- package/dist/core/slot/company-metadata.d.ts +113 -0
- package/dist/core/slot/company-metadata.js +563 -0
- package/dist/core/slot/compile-schema.d.ts +19 -13
- package/dist/core/slot/compile-schema.js +51 -248
- package/dist/core/slot/contact-timezone.d.ts +110 -0
- package/dist/core/slot/contact-timezone.js +186 -0
- package/dist/core/slot/field.d.ts +2 -24
- package/dist/core/slot/field.js +0 -69
- package/dist/core/slot/id-ref.d.ts +17 -2
- package/dist/core/slot/id-ref.js +16 -8
- package/dist/core/slot/index.d.ts +12 -13
- package/dist/core/slot/index.js +11 -12
- package/dist/core/slot/naming.d.ts +15 -0
- package/dist/core/slot/naming.js +96 -0
- package/dist/core/slot/platform-fields.d.ts +119 -0
- package/dist/core/slot/platform-fields.js +121 -0
- package/dist/core/slot/ref.d.ts +16 -0
- package/dist/core/slot/ref.js +14 -0
- package/dist/core/slot/row.d.ts +2 -9
- package/dist/core/slot/row.js +13 -23
- package/dist/core/slot/schema-compat.d.ts +16 -0
- package/dist/core/slot/schema-compat.js +112 -0
- package/dist/core/slot/schema.d.ts +409 -76
- package/dist/core/slot/schema.js +178 -10
- package/dist/core/slot/types.d.ts +27 -92
- package/dist/core/slot/value.d.ts +26 -3
- package/dist/core/slot/value.js +89 -57
- package/dist/dev-overlay/protocol.d.ts +41 -8
- package/dist/fn-context/build-context.d.ts +3 -1
- package/dist/fn-context/build-context.js +20 -10
- package/dist/fn-context/fake/empty-api.js +9 -28
- package/dist/fn-context/fake/index.d.ts +11 -4
- package/dist/fn-context/fake/index.js +27 -2
- package/dist/fn-context/fn-params.d.ts +6 -0
- package/dist/fn-context/fn-params.js +13 -0
- package/dist/fn-context/index.d.ts +5 -5
- package/dist/fn-context/index.js +4 -4
- package/dist/fn-context/log.js +2 -2
- package/dist/fn-context/make-ctx.d.ts +11 -0
- package/dist/fn-context/make-ctx.js +18 -8
- package/dist/fn-context/rpc/case-orchestrator-tools.d.ts +24 -0
- package/dist/fn-context/rpc/case-orchestrator-tools.js +13 -0
- package/dist/fn-context/rpc/index.d.ts +3 -1
- package/dist/fn-context/rpc/index.js +3 -1
- package/dist/fn-context/rpc/integration/index.d.ts +4 -4
- package/dist/fn-context/rpc/integration/index.js +1 -1
- package/dist/fn-context/rpc/integration/list-surfaces.d.ts +21 -0
- package/dist/fn-context/rpc/integration/{list-bindings.js → list-surfaces.js} +4 -4
- package/dist/fn-context/rpc/platform.d.ts +2 -2
- package/dist/fn-context/rpc/platform.js +1 -1
- package/dist/fn-context/rpc/records.d.ts +78 -0
- package/dist/fn-context/rpc/records.js +26 -0
- package/dist/fn-context/rpc/trpc-client.d.ts +2 -2
- package/dist/fn-context/rpc/trpc-client.js +89 -5
- package/dist/fn-context/rpc/trpc-init.d.ts +2 -2
- package/dist/fn-context/rpc/trpc-router-factory.d.ts +49 -3
- package/dist/fn-context/rpc/trpc-router-factory.js +2 -0
- package/dist/fn-context/run-scope.d.ts +4 -0
- package/dist/fn-context/run-scope.js +9 -0
- package/dist/fn-context/types.d.ts +36 -3
- package/dist/index.d.ts +37 -46
- package/dist/index.js +33 -33
- package/dist/logger.d.ts +7 -0
- package/dist/logger.js +41 -0
- package/dist/platform.d.ts +76 -0
- package/dist/platform.js +56 -0
- package/dist/voice-service/actions.d.ts +71 -4
- package/dist/voice-service/types.d.ts +42 -2
- package/dist/worker.d.ts +10 -0
- package/dist/worker.js +10 -0
- package/package.json +38 -19
- package/dist/builder/compile/compile-agenda.d.ts +0 -15
- package/dist/builder/compile/compile-agenda.js +0 -59
- package/dist/builder/merge.d.ts +0 -4
- package/dist/builder/merge.js +0 -19
- package/dist/core/context/db.d.ts +0 -69
- package/dist/core/context/db.js +0 -44
- package/dist/core/context/docusign.d.ts +0 -134
- package/dist/core/context/docusign.js +0 -108
- package/dist/core/context/filevine.d.ts +0 -323
- package/dist/core/context/filevine.js +0 -254
- package/dist/core/context/http.d.ts +0 -9
- package/dist/core/context/http.js +0 -4
- package/dist/core/context/hubspot.d.ts +0 -250
- package/dist/core/context/hubspot.js +0 -191
- package/dist/core/context/twilio.d.ts +0 -50
- package/dist/core/context/twilio.js +0 -42
- package/dist/core/functions/define/case-context.d.ts +0 -14
- package/dist/core/functions/define/case-context.js +0 -15
- package/dist/core/functions/define/compute.d.ts +0 -7
- package/dist/core/functions/define/compute.js +0 -17
- package/dist/core/functions/define/custom.d.ts +0 -4
- package/dist/core/functions/define/custom.js +0 -8
- package/dist/core/functions/define/system.d.ts +0 -7
- package/dist/core/functions/define/system.js +0 -12
- package/dist/core/slot/deps.d.ts +0 -15
- package/dist/core/slot/deps.js +0 -88
- package/dist/core/slot/derived.d.ts +0 -32
- package/dist/core/slot/derived.js +0 -115
- package/dist/core/slot/platform-session-fields.d.ts +0 -38
- package/dist/core/slot/platform-session-fields.js +0 -48
- package/dist/core/slot/sf-schema.d.ts +0 -23
- package/dist/core/slot/sf-schema.js +0 -125
- package/dist/core/slot/sf-validate.d.ts +0 -14
- package/dist/core/slot/sf-validate.js +0 -132
- package/dist/core/slot/snapshot.d.ts +0 -18
- package/dist/core/slot/snapshot.js +0 -138
- package/dist/core/slot/write.d.ts +0 -41
- package/dist/core/slot/write.js +0 -319
- package/dist/core/stage/builders.d.ts +0 -36
- package/dist/core/stage/builders.js +0 -28
- package/dist/core/stage/condition.d.ts +0 -17
- package/dist/core/stage/condition.js +0 -198
- package/dist/core/stage/drive.d.ts +0 -43
- package/dist/core/stage/drive.js +0 -77
- package/dist/core/stage/finish-when.d.ts +0 -20
- package/dist/core/stage/finish-when.js +0 -82
- package/dist/core/stage/flatten.d.ts +0 -27
- package/dist/core/stage/flatten.js +0 -464
- package/dist/core/stage/index.d.ts +0 -11
- package/dist/core/stage/index.js +0 -10
- package/dist/core/stage/simulate.d.ts +0 -24
- package/dist/core/stage/simulate.js +0 -33
- package/dist/core/stage/transfer-fields.d.ts +0 -14
- package/dist/core/stage/transfer-fields.js +0 -88
- package/dist/core/stage/types.d.ts +0 -177
- package/dist/core/stage/types.js +0 -2
- package/dist/core/stage/validate.d.ts +0 -11
- package/dist/core/stage/validate.js +0 -226
- package/dist/core/stage/walk.d.ts +0 -34
- package/dist/core/stage/walk.js +0 -96
- package/dist/fn-context/rpc/integration/list-bindings.d.ts +0 -21
- package/dist/fn-context/system-args.d.ts +0 -6
- package/dist/fn-context/system-args.js +0 -14
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The whole runtime, for the platform: every other entry (the company API `index.ts`, the Worker shell
|
|
3
|
+
* `worker.ts`, the compiler `compiler.ts`) and the slot and page engines and RPC routers behind them.
|
|
4
|
+
* Platform services, tests and scripts import from here; only the Worker shell takes `./worker` and the
|
|
5
|
+
* compile child `./compiler`, which stay small. Platform-only: the package resolves `./platform` under the
|
|
6
|
+
* `superpanel-platform` condition, so company code cannot import it.
|
|
7
|
+
*/
|
|
8
|
+
export type { CompanyFieldDef, CompanyNormalFieldDef, CompiledCompanyMetadata, CompanySchema, CompanyTableDef, DataType, ContactSchedule, LocalTimeRange, ContactWeekday, ScalarDataType, NormalFieldCore, SessionDataType, SessionFieldDef, SessionSchema, TableRef, } from './core/slot/schema.js';
|
|
9
|
+
export { ROW_ID_FIELD, ROW_SYSTEM_KEYS, ROW_TIME_KEYS, isRowTimeKey, type RowSystemKey, type RowTimeKey, idFieldCore, normalFieldCoreSchema, companyNormalFieldDefSchema, tableRefSchema, compiledCompanyMetadataSchema, companyFieldDefSchema, companyTableDefSchema, companySchemaSchema, contactScheduleValueSchema, localTimeRangeSchema, isCompanySchema, EMPTY_SESSION_SCHEMA, sessionFieldDefSchema, sessionSchemaSchema, } from './core/slot/schema.js';
|
|
10
|
+
export { CONTACT_OPT_OUT_FIELDS, CONTACT_TABLE, LIMITS, POLICY_IDS, PLATFORM_CONTACT_FIELDS, PLATFORM_SESSION_FIELDS, PLATFORM_SESSION_SCHEMA, SESSION_TABLE, compileCompanyMetadata, sessionSchemaIssues, isCustomTable, isParentField, isRecordTable, parentOf, subjectTableIssues, compileCompanySchema, type CompileCompanyMetadataResult, type ResponsePolicyId, type SlotFillingPolicyId, type VoiceProfileId, } from './core/slot/company-metadata.js';
|
|
11
|
+
export { STATE_CODES, STATE_TIMEZONES, areaCodeTimezone, contactTimezone, knownTimezone, postalTimezone, stateCode, type StateCode, type TimezoneSource, } from './core/slot/contact-timezone.js';
|
|
12
|
+
export { randomTimeBetween } from './core/case-orchestrator/time.js';
|
|
13
|
+
export { contactHoursOn, contactScheduleHours, everyDay, nextContactTime, withinContactHours, type ContactHours, type ContactHoursRange, type ContactHoursWeekday, type ContactScheduleValue, } from './core/case-orchestrator/contact-hours.js';
|
|
14
|
+
export { integrationSurfaceKeys } from './core/context/types.js';
|
|
15
|
+
export { lookupRef, parentRef } from './core/slot/id-ref.js';
|
|
16
|
+
export type { EmailApi, EmailAttachment, EmailGetAttachmentInput, EmailGetAttachmentOutput, EmailGetMessageInput, EmailGetMessageOutput, EmailListMessagesInput, EmailListMessagesOutput, EmailProvider, EmailSendEmailInput, EmailSendEmailOutput, EmailService, } from './core/context/email.js';
|
|
17
|
+
export { emailGetAttachmentInput, emailGetAttachmentOutput, emailGetMessageInput, emailGetMessageOutput, emailListMessagesInput, emailListMessagesOutput, emailMockService, emailProvider, emailSendEmailInput, emailSendEmailOutput, } from './core/context/email.js';
|
|
18
|
+
export type { ContactApi, IntegrationSurfaceMeta, EnvApi, EnvService, FieldState, IntegrationAccountFields, IntegrationApi, IntegrationStub, IntegrationSurfaceKey, IntegrationTarget, Logger, MakeCtxOverrides, SystemContext, } from './core/context/types.js';
|
|
19
|
+
export { CALL_PAGE_LIMIT_MAX, callDirection, callGetInput, callGetOutput, callListInput, callListOutput, callMockService, callParticipant, callRecord, callSurface, callTranscriptInput, callTranscriptLine, callTranscriptOutput, type CallApi, type CallDirection, type CallListParams, type CallListResult, type CallParticipant, type CallRecord, type CallTranscript, type CallTranscriptLine, } from './core/context/call.js';
|
|
20
|
+
export { CONTACT_PAGE_LIMIT_MAX, contactCreateInput, contactFindInput, contactFindOutput, contactListInput, contactListOutput, contactMockService, contactSummary, contactSurface, slotFieldValue, type ContactCreateParams, type ContactFindParams, type ContactFindResult, type ContactListParams, type ContactListResult, type ContactSummary, type SlotFieldValue, } from './core/context/contact.js';
|
|
21
|
+
export { instanceCloseInput, instanceFindForContactInput, instanceIdInput, instanceListOutput, instanceNotifyInput, instanceNotifyOutput, instanceSetVariablesInput, instanceStartInput, instanceStartOutput, instanceSummary, instancesMockService, instancesSurface, type InstanceCloseParams, type InstanceFindForContactParams, type InstanceIdParams, type InstanceListResult, type InstanceNotifyParams, type InstanceNotifyResult, type InstanceSetVariablesParams, type InstanceStartParams, type InstanceStartResult, type InstanceSummary, type InstancesApi, } from './core/context/instances.js';
|
|
22
|
+
export { channelMailbox, channelPhoneNumber, channelsListInput, channelsListOutput, channelsMockService, channelsSurface, type ChannelMailbox, type ChannelPhoneNumber, type ChannelsApi, type ChannelsListParams, type ChannelsListResult, } from './core/context/channels.js';
|
|
23
|
+
export { exchangeEmailThreadInput, exchangeEmailThreadOutput, exchangeLastInput, exchangeLastOutput, exchangeRef, exchangeSummary, exchangesMockService, exchangesSurface, type ExchangeRef, type ExchangeEmailThreadParams, type ExchangeEmailThreadResult, type ExchangeLastParams, type ExchangeLastResult, type ExchangeSummary, type ExchangesApi, } from './core/context/exchanges.js';
|
|
24
|
+
export { SYSTEM_VARIABLES, compileVariables, defineSequence, defineVariables, isSystemVariable, json, readVariables, startVariables, variableValueIssue, variablesSize, variablesWriteIssues, type CompiledExperiments, type CompiledVariable, type CompiledVariables, type ExperimentDecl, type JsonVariableType, type SequenceDefinition, type SystemVariableName, type VariableDecl, type VariableDecls, type VariablesOf, } from './core/sequence/index.js';
|
|
25
|
+
export { EMAIL_PAGE_LIMIT_MAX, emailDirection, emailGetInput, emailGetOutput, emailHistoryMockService, emailHistorySurface, emailListInput, emailListOutput, emailRecord, type EmailDirection, type EmailHistoryApi, type EmailListParams, type EmailListResult, type EmailRecord, } from './core/context/email-message.js';
|
|
26
|
+
export { KV_KEY_MAX, KV_SCOPES, KV_TTL_SECONDS_MAX, KV_VALUE_MAX, kvDelInput, kvDelOutput, kvGetInput, kvGetOutput, kvMockService, kvScope, kvSetInput, kvSetOutput, kvSurface, type KvApi, type KvDelInput, type KvDelOutput, type KvGetInput, type KvGetOutput, type KvScope, type KvSetInput, type KvSetOutput, } from './core/context/kv.js';
|
|
27
|
+
export { SMS_PAGE_LIMIT_MAX, smsDirection, smsGetInput, smsGetOutput, smsListInput, smsListOutput, smsMockService, smsRecord, smsSurface, type SmsApi, type SmsDirection, type SmsListParams, type SmsListResult, type SmsRecord, } from './core/context/sms.js';
|
|
28
|
+
export { bindEnvService, envMockService, readEnvGet } from './core/context/env.js';
|
|
29
|
+
export type { AnyPlatformSurface, PlatformApiShape, PlatformImpl, PlatformSurface } from './core/context/platform.js';
|
|
30
|
+
export { platformSurfaces, type PlatformApis, type PlatformSurfaceKey } from './core/context/platform-registry.js';
|
|
31
|
+
export type { CompiledSlotSchema, FieldHistoryEntry, FieldValue, MultiRowRecord, MultiRowTableData, RuntimeFieldDef, RuntimeTableDef, SingleRowTableData, SlotValue, UpdatedBy, ValidationIssue, ValidationResult, WriteSource, } from './core/slot/types.js';
|
|
32
|
+
export type { FuncRef } from './core/functions/func-ref.js';
|
|
33
|
+
export { resolveFuncName } from './core/functions/func-ref.js';
|
|
34
|
+
export type { CompanyBuild, CompanyPart, RuntimePackageSource, SequenceBuild } from './builder/types.js';
|
|
35
|
+
export { COMPANY_SCOPE } from './builder/types.js';
|
|
36
|
+
export { parseOfficeHours, resolveOfficeHours, type OfficeHours, type OfficeHoursSnapshot, type ParseOfficeHoursResult, type Weekday, type Window, } from './core/office-hours/index.js';
|
|
37
|
+
export type { CaseFn, DefinedCaseFunc, DefinedCaseOrchestratorFunc, DefinedFunc, DefinedNoCaseFunc, FuncMap, FuncOptions, FuncRegistration, FunctionCtx, FunctionKind, FunctionRegistry, FunctionRegistryEntry, NoCaseFn, WorkerFunctionKind, } from './core/functions/types.js';
|
|
38
|
+
export type { AnyEventHandlers, CallEndedEvent, CallEventBase, CallInboundEvent, CallOutboundEvent, EmailReceivedEvent, EmailEventBase, EmptyEvent, EmailSendRequestedEvent, ConversationHandoffEvent, EventHandler, EventHandlerParams, EventHandlers, SmsReceivedEvent, SmsEventBase, SmsSendRequestedEvent, SystemEventMap, SystemEventName, SystemEventPayload, WebhookEvent, WebhookHandler, WebhookOutcome, WebhookRequest, } from './core/functions/events.js';
|
|
39
|
+
export { defineEvents, defineWebhook } from './core/functions/define/events.js';
|
|
40
|
+
export { isSystemEventName, SYSTEM_EVENT_NAMES, SYSTEM_EVENTS, systemEventKind, WEBHOOK_RECEIVED_FUNCTION, webhookOutcome, } from './core/functions/events.js';
|
|
41
|
+
export { defineSchedules, SCHEDULE_FUNCTION_PREFIX, SCHEDULES_MODULE, scheduleFunctionName, type ScheduleCtx, type ScheduleDefinition, type ScheduleManifest, type Schedules, type ScheduleTick, } from './core/functions/schedules.js';
|
|
42
|
+
export { parseSchedules, scheduleTimingIssue } from './builder/schedules.js';
|
|
43
|
+
export { isWorkerFunctionKind, toFuncRegistrations, WORKER_FUNCTION_KINDS } from './core/functions/types.js';
|
|
44
|
+
export { toEventRegistry, toFunctionRegistry } from './builder/compile/registry.js';
|
|
45
|
+
export { compileFunctionCode } from './builder/compile/function-code.js';
|
|
46
|
+
export { COMPILE_CONCURRENCY, COMPILE_SEQUENCE_TIMEOUT_MS, compileAll, compileCompanyMetadataFromRepo, compileCompanyPart, compileRepo, compileSequence, compileSequenceBuild, runtimePackageSource, runtimePackageVersion, type CompileRepoEvent, type CompileRepoOptions, type CompileRepoSequenceResult, type CompileSequenceBuildResult, type CompileSequenceOptions, type CompileSequenceResult, } from './builder/compile/compile-sequence.js';
|
|
47
|
+
export { loadSequenceEvents, loadSequenceFunctions } from './builder/load.js';
|
|
48
|
+
export { findTsModule } from './builder/paths.js';
|
|
49
|
+
export type { OverlayClientMessage, OverlayExecuteMessage, OverlayExecuteResultMessage, OverlayAuthErrorMessage, OverlayAuthMessage, OverlayAuthOkMessage, OverlayMessage, OverlayNoticeMessage, OverlayPushMessage, OverlayReplacedMessage, OverlayServerMessage, } from './dev-overlay/protocol.js';
|
|
50
|
+
export { encodeOverlayMessage, OVERLAY_REPLACED_CLOSE_CODE, parseOverlayMessage } from './dev-overlay/protocol.js';
|
|
51
|
+
export { asCaseOrchestratorRun, buildActionContext, buildCaseOrchestratorContext, bindLogMeta, createFakeApiHost, defaultPlatformApis, emptyIntegration, createRpcApiHost, LOG_TAGS_HEADER, REQUEST_ID_HEADER, RUNTIME_VERSION_HEADER, encodeLogTagsHeader, formatRuntimeVersion, readLogTagsHeader, readRequestIdHeader, readRuntimeVersionHeader, makeCaseOrchestratorCtx, makeCtx, makeCtxAsync, noopLog, type ActionContext, type ActionDataSlice, type ApiHost, type CaseOrchestratorActionContext, type CaseOrchestratorApiHost, type CaseOrchestratorRunScope, type FakeApiHostOptions, type RunClaims, type RunScope, } from './fn-context/index.js';
|
|
52
|
+
export { createAppRouter, createIntegrationRouter, createListSurfacesProcedure, createLogRouter, createPlatformRouter, createCaseOrchestratorToolsRouter, createRecordsRouter, isRpcCodedError, parseScriptInput, ScriptInputError, type AppRouter, type RpcCodedError, type RpcErrorCode, type IntegrationInvokeHandler, type LogEmitHandler, type PlatformInvokeHandler, type CaseOrchestratorToolInvokeHandler, type RecordsReadInput, type RecordsHandlers, type RecordsResult, type RecordsWriteInput, type RpcContext, } from './fn-context/rpc/index.js';
|
|
53
|
+
export * from './compute-host/index.js';
|
|
54
|
+
export type { BoundRow, Cell, CellBinding, CellRef, RowRef } from './core/slot/binding.js';
|
|
55
|
+
export { announce, createRow, defineAction, definePage, deleteRow, emptyRuns, end, field, keypad, lastActionRun, pageEntry, perform, schemaField, transferTo, isSipUri, runFunction, messages, voicemail, type PageFarEnd, type VoicemailAction, pageFollowUps, choose, isChoose, refField, type RefFieldCell, type RefOption, type ChooseParam, type FunctionAction, type MessageAction, type FollowUpAction, type PageFollowUps, type PageTime, type MessageOptions, type PageMessages, tried, type PageActionRun, type ActionRunScope, type AnnounceAction, type ChannelAction, type DefinedPage, type EndAction, type KeypadAction, type PageChannel, type PageDefinition, type PageFunction, type PagePersona, type PageFollowUp, type PageFaq, type PageFaqEntry, type PageStart, checkPageStart, MAX_FAQ_ENTRIES, type PageRuns, type PageScheduledAction, type PerformAction, type TransferAction, type ActionContext as PageActionContext, type ActionParam, type ActionParameters, type CreateRowAction, type CustomAction, type DefinedAction, type DeleteRowAction, type FieldCell, type FieldOptions, type FindArgs, type Placeable, type SchemaFieldParam, type SchemaFieldOptions, type PageAction as PageScriptAction, type PageContext, type PageContextOf, type PageBaseContext, type PageCallCaps, type PagePreviousCall, type PageChannelCaps, type PageSmsMessage, type PageEmailMessage, PAGE_CHANNELS, type PageConversation, type PageHistory, type PageEntryArg, type PageRow as PageScriptRow, type Db, type ReadDb, type Slot, type SlotRef, type SlotState, type TableReader, type TableWriter, } from './core/page/define.js';
|
|
56
|
+
export { actionKey, runKeyOf, fallbackPage, PageDocumentError, renderDocument, RowNames, type AutoAction, type BlockNode, type PageNode, type PageReads, type InputProperty, type InputSchema, type ReadSlot, type RenderDocumentInput, type RenderedAction, type RenderedCell, type RenderedPage as RenderedPageDocument, } from './core/page/render.js';
|
|
57
|
+
export { TIMELINE_KINDS, type TimelineEntry, type TimelineKind, type TimelineWhere } from './core/page/timeline.js';
|
|
58
|
+
export { blockAt, viewText, workspaceText, type WorkspaceNote, type WorkspaceTextOptions } from './core/page/workspace.js';
|
|
59
|
+
export type { ArgsOf, CreateData, FindManyArgs, FindUniqueArgs, Id, IncludeArg, PageDocumentOf, PageFieldDesc, PageTablesDesc, RowOf, SchemaFieldPath, SelectArg, TypedActionContext, TypedActionParameters, TypedDefinedAction, TypedPageContext, TypedPageModule, TypedDb, TypedReadDb, TypedSchemaFieldParam, TypedSlot, UpdateData, Where, } from './core/page/typed.js';
|
|
60
|
+
export { resolvePageOps, type ActionOp, type DroppedOp, type OpenOp, type PageOp, type PageOpsAllowed, type ResolvedActionOp, type ResolvedOp, type ResolvedOpenOp, type ResolvedSlotOp, type SlotOp, } from './core/page/ops.js';
|
|
61
|
+
export { defineCaseFunc } from './core/functions/define/case.js';
|
|
62
|
+
export { defineNoCaseFunc } from './core/functions/define/no-case.js';
|
|
63
|
+
export { bindDefines, type BoundDefines } from './core/functions/define/bind.js';
|
|
64
|
+
export { emitCaseContextSource, emitSlotsSource } from './builder/codegen/emit.js';
|
|
65
|
+
export { companyMetadataCompatibilityIssues, compiledTableEntries, compileSlotSchema, emptyFieldValue, formatFieldPath, getCompiledTable, getTableField, relationsOf, type TableRelation, isFieldValue, isReservedTableName, isResolved, isRowIdField, mintRowId, SNAPSHOT_CURRENT_KEY, DATE_VALUE_FORMAT, DATE_VALUE_PATTERN, DATETIME_VALUE_FORMAT, DATETIME_VALUE_PATTERN, isValidDataTypeValue, companyFieldToRuntime, makeFieldValue, parseFieldPath, refKind, refValueIssues, requireFieldPath, slotFieldEntries, slotFieldNames, validateBareValue, validateFieldRefs, } from './core/slot/index.js';
|
|
66
|
+
export type { RefKind } from './core/slot/index.js';
|
|
67
|
+
export type { FieldPath, ParsedFieldPath, SlotRow, } from './core/slot/index.js';
|
|
68
|
+
export { CHANNELS, isSpokenLanguage, SPOKEN_LANGUAGES, type Channel, type Direction, type ScheduledContactContext, type SpokenLanguage } from './core/conversation/index.js';
|
|
69
|
+
export * from './core/case-orchestrator/index.js';
|
|
70
|
+
export * from './core/party/index.js';
|
|
71
|
+
export * from './voice-service/index.js';
|
|
72
|
+
export { dayIn, formatTime, type FormatTimeOptions, type TimeStyle } from './core/page/time-format.js';
|
|
73
|
+
export * from './index.js';
|
|
74
|
+
export * from './worker.js';
|
|
75
|
+
export * from './compiler.js';
|
|
76
|
+
//# sourceMappingURL=platform.d.ts.map
|
package/dist/platform.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export { ROW_ID_FIELD, ROW_SYSTEM_KEYS, ROW_TIME_KEYS, isRowTimeKey, idFieldCore, normalFieldCoreSchema, companyNormalFieldDefSchema, tableRefSchema, compiledCompanyMetadataSchema, companyFieldDefSchema, companyTableDefSchema, companySchemaSchema, contactScheduleValueSchema, localTimeRangeSchema, isCompanySchema, EMPTY_SESSION_SCHEMA, sessionFieldDefSchema, sessionSchemaSchema, } from './core/slot/schema.js';
|
|
2
|
+
export { CONTACT_OPT_OUT_FIELDS, CONTACT_TABLE, LIMITS, POLICY_IDS, PLATFORM_CONTACT_FIELDS, PLATFORM_SESSION_FIELDS, PLATFORM_SESSION_SCHEMA, SESSION_TABLE, compileCompanyMetadata, sessionSchemaIssues, isCustomTable, isParentField, isRecordTable, parentOf, subjectTableIssues, compileCompanySchema, } from './core/slot/company-metadata.js';
|
|
3
|
+
export { STATE_CODES, STATE_TIMEZONES, areaCodeTimezone, contactTimezone, knownTimezone, postalTimezone, stateCode, } from './core/slot/contact-timezone.js';
|
|
4
|
+
export { randomTimeBetween } from './core/case-orchestrator/time.js';
|
|
5
|
+
export { contactHoursOn, contactScheduleHours, everyDay, nextContactTime, withinContactHours, } from './core/case-orchestrator/contact-hours.js';
|
|
6
|
+
export { integrationSurfaceKeys } from './core/context/types.js';
|
|
7
|
+
export { lookupRef, parentRef } from './core/slot/id-ref.js';
|
|
8
|
+
export { emailGetAttachmentInput, emailGetAttachmentOutput, emailGetMessageInput, emailGetMessageOutput, emailListMessagesInput, emailListMessagesOutput, emailMockService, emailProvider, emailSendEmailInput, emailSendEmailOutput, } from './core/context/email.js';
|
|
9
|
+
export { CALL_PAGE_LIMIT_MAX, callDirection, callGetInput, callGetOutput, callListInput, callListOutput, callMockService, callParticipant, callRecord, callSurface, callTranscriptInput, callTranscriptLine, callTranscriptOutput, } from './core/context/call.js';
|
|
10
|
+
export { CONTACT_PAGE_LIMIT_MAX, contactCreateInput, contactFindInput, contactFindOutput, contactListInput, contactListOutput, contactMockService, contactSummary, contactSurface, slotFieldValue, } from './core/context/contact.js';
|
|
11
|
+
export { instanceCloseInput, instanceFindForContactInput, instanceIdInput, instanceListOutput, instanceNotifyInput, instanceNotifyOutput, instanceSetVariablesInput, instanceStartInput, instanceStartOutput, instanceSummary, instancesMockService, instancesSurface, } from './core/context/instances.js';
|
|
12
|
+
export { channelMailbox, channelPhoneNumber, channelsListInput, channelsListOutput, channelsMockService, channelsSurface, } from './core/context/channels.js';
|
|
13
|
+
export { exchangeEmailThreadInput, exchangeEmailThreadOutput, exchangeLastInput, exchangeLastOutput, exchangeRef, exchangeSummary, exchangesMockService, exchangesSurface, } from './core/context/exchanges.js';
|
|
14
|
+
export { SYSTEM_VARIABLES, compileVariables, defineSequence, defineVariables, isSystemVariable, json, readVariables, startVariables, variableValueIssue, variablesSize, variablesWriteIssues, } from './core/sequence/index.js';
|
|
15
|
+
export { EMAIL_PAGE_LIMIT_MAX, emailDirection, emailGetInput, emailGetOutput, emailHistoryMockService, emailHistorySurface, emailListInput, emailListOutput, emailRecord, } from './core/context/email-message.js';
|
|
16
|
+
export { KV_KEY_MAX, KV_SCOPES, KV_TTL_SECONDS_MAX, KV_VALUE_MAX, kvDelInput, kvDelOutput, kvGetInput, kvGetOutput, kvMockService, kvScope, kvSetInput, kvSetOutput, kvSurface, } from './core/context/kv.js';
|
|
17
|
+
export { SMS_PAGE_LIMIT_MAX, smsDirection, smsGetInput, smsGetOutput, smsListInput, smsListOutput, smsMockService, smsRecord, smsSurface, } from './core/context/sms.js';
|
|
18
|
+
export { bindEnvService, envMockService, readEnvGet } from './core/context/env.js';
|
|
19
|
+
export { platformSurfaces } from './core/context/platform-registry.js';
|
|
20
|
+
export { resolveFuncName } from './core/functions/func-ref.js';
|
|
21
|
+
export { COMPANY_SCOPE } from './builder/types.js';
|
|
22
|
+
export { parseOfficeHours, resolveOfficeHours, } from './core/office-hours/index.js';
|
|
23
|
+
export { defineEvents, defineWebhook } from './core/functions/define/events.js';
|
|
24
|
+
export { isSystemEventName, SYSTEM_EVENT_NAMES, SYSTEM_EVENTS, systemEventKind, WEBHOOK_RECEIVED_FUNCTION, webhookOutcome, } from './core/functions/events.js';
|
|
25
|
+
export { defineSchedules, SCHEDULE_FUNCTION_PREFIX, SCHEDULES_MODULE, scheduleFunctionName, } from './core/functions/schedules.js';
|
|
26
|
+
export { parseSchedules, scheduleTimingIssue } from './builder/schedules.js';
|
|
27
|
+
export { isWorkerFunctionKind, toFuncRegistrations, WORKER_FUNCTION_KINDS } from './core/functions/types.js';
|
|
28
|
+
export { toEventRegistry, toFunctionRegistry } from './builder/compile/registry.js';
|
|
29
|
+
export { compileFunctionCode } from './builder/compile/function-code.js';
|
|
30
|
+
export { COMPILE_CONCURRENCY, COMPILE_SEQUENCE_TIMEOUT_MS, compileAll, compileCompanyMetadataFromRepo, compileCompanyPart, compileRepo, compileSequence, compileSequenceBuild, runtimePackageSource, runtimePackageVersion, } from './builder/compile/compile-sequence.js';
|
|
31
|
+
export { loadSequenceEvents, loadSequenceFunctions } from './builder/load.js';
|
|
32
|
+
export { findTsModule } from './builder/paths.js';
|
|
33
|
+
export { encodeOverlayMessage, OVERLAY_REPLACED_CLOSE_CODE, parseOverlayMessage } from './dev-overlay/protocol.js';
|
|
34
|
+
export { asCaseOrchestratorRun, buildActionContext, buildCaseOrchestratorContext, bindLogMeta, createFakeApiHost, defaultPlatformApis, emptyIntegration, createRpcApiHost, LOG_TAGS_HEADER, REQUEST_ID_HEADER, RUNTIME_VERSION_HEADER, encodeLogTagsHeader, formatRuntimeVersion, readLogTagsHeader, readRequestIdHeader, readRuntimeVersionHeader, makeCaseOrchestratorCtx, makeCtx, makeCtxAsync, noopLog, } from './fn-context/index.js';
|
|
35
|
+
export { createAppRouter, createIntegrationRouter, createListSurfacesProcedure, createLogRouter, createPlatformRouter, createCaseOrchestratorToolsRouter, createRecordsRouter, isRpcCodedError, parseScriptInput, ScriptInputError, } from './fn-context/rpc/index.js';
|
|
36
|
+
export * from './compute-host/index.js';
|
|
37
|
+
export { announce, createRow, defineAction, definePage, deleteRow, emptyRuns, end, field, keypad, lastActionRun, pageEntry, perform, schemaField, transferTo, isSipUri, runFunction, messages, voicemail, pageFollowUps, choose, isChoose, refField, tried, checkPageStart, MAX_FAQ_ENTRIES, PAGE_CHANNELS, } from './core/page/define.js';
|
|
38
|
+
export { actionKey, runKeyOf, fallbackPage, PageDocumentError, renderDocument, RowNames, } from './core/page/render.js';
|
|
39
|
+
export { TIMELINE_KINDS } from './core/page/timeline.js';
|
|
40
|
+
export { blockAt, viewText, workspaceText } from './core/page/workspace.js';
|
|
41
|
+
export { resolvePageOps, } from './core/page/ops.js';
|
|
42
|
+
export { defineCaseFunc } from './core/functions/define/case.js';
|
|
43
|
+
export { defineNoCaseFunc } from './core/functions/define/no-case.js';
|
|
44
|
+
export { bindDefines } from './core/functions/define/bind.js';
|
|
45
|
+
export { emitCaseContextSource, emitSlotsSource } from './builder/codegen/emit.js';
|
|
46
|
+
export { companyMetadataCompatibilityIssues, compiledTableEntries, compileSlotSchema, emptyFieldValue, formatFieldPath, getCompiledTable, getTableField, relationsOf, isFieldValue, isReservedTableName, isResolved, isRowIdField, mintRowId, SNAPSHOT_CURRENT_KEY, DATE_VALUE_FORMAT, DATE_VALUE_PATTERN, DATETIME_VALUE_FORMAT, DATETIME_VALUE_PATTERN, isValidDataTypeValue, companyFieldToRuntime, makeFieldValue, parseFieldPath, refKind, refValueIssues, requireFieldPath, slotFieldEntries, slotFieldNames, validateBareValue, validateFieldRefs, } from './core/slot/index.js';
|
|
47
|
+
export { CHANNELS, isSpokenLanguage, SPOKEN_LANGUAGES } from './core/conversation/index.js';
|
|
48
|
+
export * from './core/case-orchestrator/index.js';
|
|
49
|
+
export * from './core/party/index.js';
|
|
50
|
+
export * from './voice-service/index.js';
|
|
51
|
+
export { dayIn, formatTime } from './core/page/time-format.js';
|
|
52
|
+
// The other entries in full, so this one holds them by construction (`package-entries.test.ts`).
|
|
53
|
+
export * from './index.js';
|
|
54
|
+
export * from './worker.js';
|
|
55
|
+
export * from './compiler.js';
|
|
56
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -1,20 +1,87 @@
|
|
|
1
1
|
import type { CallEndEvent, CallRecordedEvent, CallStatusChangeEvent, ChatItemWithCallSid, FieldCollectResponse, IncomingOutgoingCall, TransferEvent } from './types.js';
|
|
2
2
|
/** Superpanel SDK-owned action dispatch types. Do not add to types.ts — that file is overwritten from Mars. */
|
|
3
|
-
export type VoiceServiceActionName = 'fetchTwilioConfig' | 'onInbound' | 'onCallStart' | 'onCallEnd' | 'onCallStatusChanged' | 'onChatItem' | 'onOutbound' | 'onTransferEvents' | 'onFieldCollectCompleted' | 'onCallRecorded';
|
|
3
|
+
export type VoiceServiceActionName = 'fetchTwilioConfig' | 'onInbound' | 'onCallStart' | 'onCallEnd' | 'onCallStatusChanged' | 'onChatItem' | 'onOutbound' | 'onTransferEvents' | 'onFieldCollectCompleted' | 'onFarEnd' | 'onCallRecorded' | 'onSms';
|
|
4
4
|
export type VoiceServiceActionMap = {
|
|
5
5
|
fetchTwilioConfig: IncomingOutgoingCall;
|
|
6
6
|
onInbound: IncomingOutgoingCall;
|
|
7
7
|
onCallStart: IncomingOutgoingCall;
|
|
8
8
|
onCallEnd: CallEndEvent;
|
|
9
9
|
onCallStatusChanged: CallStatusChangeEvent;
|
|
10
|
-
onChatItem: ChatItemWithCallSid;
|
|
10
|
+
onChatItem: ChatItemWithCallSid & WithEventId;
|
|
11
11
|
onOutbound: IncomingOutgoingCall;
|
|
12
|
-
onTransferEvents: TransferEvent;
|
|
13
|
-
onFieldCollectCompleted: FieldCollectResponse;
|
|
12
|
+
onTransferEvents: TransferEvent & WithEventId;
|
|
13
|
+
onFieldCollectCompleted: FieldCollectResponse & WithEventId;
|
|
14
|
+
onFarEnd: FarEndEvent & WithEventId;
|
|
14
15
|
onCallRecorded: CallRecordedEvent;
|
|
16
|
+
onSms: {
|
|
17
|
+
MessageSid: string;
|
|
18
|
+
AccountSid: string;
|
|
19
|
+
From: string;
|
|
20
|
+
To: string;
|
|
21
|
+
Body: string;
|
|
22
|
+
[key: string]: string | undefined;
|
|
23
|
+
};
|
|
15
24
|
};
|
|
16
25
|
export type VoiceServiceActionRequest<A extends VoiceServiceActionName = VoiceServiceActionName> = {
|
|
17
26
|
action: A;
|
|
18
27
|
params: VoiceServiceActionMap[A];
|
|
19
28
|
};
|
|
29
|
+
/** A call event's id: the same event sent again (a resend after reconnecting, a retry) is handled once. */
|
|
30
|
+
export type WithEventId = {
|
|
31
|
+
eventId?: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* A call event the voice service sends on the call's socket (`{ action: 'event', params }`), answered with
|
|
35
|
+
* `eventAck` once handled and saved. Once the call's socket is gone it goes by HTTP as its own action.
|
|
36
|
+
*/
|
|
37
|
+
export type VoiceCallEvent = {
|
|
38
|
+
eventId: string;
|
|
39
|
+
name: 'chatItem';
|
|
40
|
+
payload: ChatItemWithCallSid;
|
|
41
|
+
} | {
|
|
42
|
+
eventId: string;
|
|
43
|
+
name: 'fieldCollectCompleted';
|
|
44
|
+
payload: FieldCollectResponse;
|
|
45
|
+
} | {
|
|
46
|
+
eventId: string;
|
|
47
|
+
name: 'transferEvent';
|
|
48
|
+
payload: TransferEvent;
|
|
49
|
+
} | {
|
|
50
|
+
eventId: string;
|
|
51
|
+
name: 'farEnd';
|
|
52
|
+
payload: FarEndEvent;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Who answered an outbound call (25 §13): a person, a voicemail greeting, a call-screening assistant
|
|
56
|
+
* ("say your name and why you are calling"), or a phone menu. The voice service tells; the page decides.
|
|
57
|
+
*/
|
|
58
|
+
export type FarEndKind = 'human' | 'voicemail' | 'screening' | 'ivr';
|
|
59
|
+
/** The voice service's verdict on the far end, with what it said. */
|
|
60
|
+
export type FarEndEvent = {
|
|
61
|
+
callSid: string;
|
|
62
|
+
kind: FarEndKind;
|
|
63
|
+
said: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* The backend's answer to a far end (25 §13): `handled` — the page took it (it leaves a message, speaks to
|
|
67
|
+
* the screener, presses keys, ends), so the voice service does not do its own thing (and, screened,
|
|
68
|
+
* waits longer in silence); `default` — the voice service does what it did before (hang up on a machine).
|
|
69
|
+
*/
|
|
70
|
+
export type FarEndDecisionRequest = {
|
|
71
|
+
callSid: string;
|
|
72
|
+
type: 'far-end-decision';
|
|
73
|
+
kind: FarEndKind;
|
|
74
|
+
decision: 'default' | 'handled';
|
|
75
|
+
};
|
|
76
|
+
/** Leave this message on the voicemail, after its beep, word for word, then hang up (25 §13). */
|
|
77
|
+
export type LeaveVoicemailRequest = {
|
|
78
|
+
callSid: string;
|
|
79
|
+
type: 'leave-voicemail';
|
|
80
|
+
text: string;
|
|
81
|
+
};
|
|
82
|
+
/** The answer to a call event: handled, or failed with `error` (not sent again either way). */
|
|
83
|
+
export type VoiceCallEventAck = {
|
|
84
|
+
eventId: string;
|
|
85
|
+
error?: string;
|
|
86
|
+
};
|
|
20
87
|
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -320,6 +320,8 @@ export interface VoiceMailConfig {
|
|
|
320
320
|
voiceMailSpeakTimeoutMs: number;
|
|
321
321
|
voiceMailAutoHangupDelayMs: number;
|
|
322
322
|
voiceMailPrompt?: string;
|
|
323
|
+
/** Tell the backend who answered (voicemail, screening, IVR, human) and let it decide (25 §13), instead of acting alone. */
|
|
324
|
+
reportFarEnd?: boolean;
|
|
323
325
|
}
|
|
324
326
|
export interface UserSilenceConfig {
|
|
325
327
|
silenceTimeoutMs: number[];
|
|
@@ -360,6 +362,8 @@ export interface LoopConfirmConfig {
|
|
|
360
362
|
export interface TransferConfig extends LoopConfirmConfig {
|
|
361
363
|
confirmLlmPrompt: string;
|
|
362
364
|
withoutBriefing: boolean;
|
|
365
|
+
/** Warm and async-warm only. Set per hop when the transfer names `callerIdShown`. */
|
|
366
|
+
inboundCallTransferCallerId?: 'customer' | 'assistant';
|
|
363
367
|
warmTransferWaitingMusicURL?: string;
|
|
364
368
|
warmTransferWaitingMusicVolume?: number;
|
|
365
369
|
}
|
|
@@ -442,6 +446,8 @@ export interface VoiceAssistantConfig {
|
|
|
442
446
|
twilio: {
|
|
443
447
|
accountSid: string;
|
|
444
448
|
authToken: string;
|
|
449
|
+
/** Twilio REST requests go here instead of `*.twilio.com` (a test environment's stand-in). */
|
|
450
|
+
apiBaseUrl?: string;
|
|
445
451
|
};
|
|
446
452
|
language: string;
|
|
447
453
|
}
|
|
@@ -464,6 +470,19 @@ export type TwilioCredentials = VoiceAssistantConfig['twilio'];
|
|
|
464
470
|
export interface AppAction {
|
|
465
471
|
callSid: string;
|
|
466
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* A SIP call's own facts, as the voice service parses Twilio's SIP Domain webhook: the URIs as they came,
|
|
475
|
+
* the domain, and the `X-` headers (and `User-to-User`) the far end sent, by name without `SipHeader_`.
|
|
476
|
+
*/
|
|
477
|
+
export interface IncomingSipInfo {
|
|
478
|
+
fromUri?: string;
|
|
479
|
+
toUri?: string;
|
|
480
|
+
domain?: string;
|
|
481
|
+
domainSid?: string;
|
|
482
|
+
callId?: string;
|
|
483
|
+
sourceIp?: string;
|
|
484
|
+
headers: Record<string, string>;
|
|
485
|
+
}
|
|
467
486
|
export interface IncomingOutgoingCall extends AppAction {
|
|
468
487
|
fromNumber: string;
|
|
469
488
|
toNumber: string;
|
|
@@ -472,6 +491,17 @@ export interface IncomingOutgoingCall extends AppAction {
|
|
|
472
491
|
appId: string;
|
|
473
492
|
startTs: Date;
|
|
474
493
|
status?: TwilioCallStatus;
|
|
494
|
+
/**
|
|
495
|
+
* How the call came in: `sip` through our SIP Domain. A SIP URI's user that is a phone number is given
|
|
496
|
+
* as the number (`fromNumber` / `toNumber`); any other stays the URI.
|
|
497
|
+
*/
|
|
498
|
+
source?: 'pstn' | 'sip';
|
|
499
|
+
sip?: IncomingSipInfo;
|
|
500
|
+
/**
|
|
501
|
+
* Inbound: the voice service's own dependencies that its last health check found down (`deepgram`,
|
|
502
|
+
* `cartesia`, …). The AI cannot take the call: it goes to the fallback number.
|
|
503
|
+
*/
|
|
504
|
+
unavailableServices?: string[];
|
|
475
505
|
}
|
|
476
506
|
export interface ChatWebsocketStartMessage extends IncomingOutgoingCall {
|
|
477
507
|
voiceServiceUrl: string;
|
|
@@ -493,6 +523,11 @@ export type ApplicationConfig = {
|
|
|
493
523
|
language: string;
|
|
494
524
|
reason?: CallFailedReason;
|
|
495
525
|
cfg: VoiceAssistantConfig;
|
|
526
|
+
/**
|
|
527
|
+
* The number this call is taken as, when it is not the one it came in on (a SIP call routed by its URI,
|
|
528
|
+
* domain or header): the voice service shows it as the caller ID when it transfers.
|
|
529
|
+
*/
|
|
530
|
+
serviceNumber?: string;
|
|
496
531
|
};
|
|
497
532
|
export type ApplicationConfigResponse = Omit<Partial<ApplicationConfig>, 'cfg'> & {
|
|
498
533
|
cfg?: OptionalVoiceAssistantConfig;
|
|
@@ -674,7 +709,7 @@ export interface ReloadAppConfigResponse extends AppAction {
|
|
|
674
709
|
export interface VoiceServiceResponse {
|
|
675
710
|
success: boolean;
|
|
676
711
|
callSid?: string;
|
|
677
|
-
failedReason?: 'max-outbound-calls-reached' | 'twilio-api-error' | 'voice-service-internal-error' | 'on-outbound-request-error' | 'network-error' | 'fetch-twilio-config-error';
|
|
712
|
+
failedReason?: 'max-outbound-calls-reached' | 'service-unavailable' | 'twilio-api-error' | 'voice-service-internal-error' | 'on-outbound-request-error' | 'network-error' | 'fetch-twilio-config-error';
|
|
678
713
|
message?: string;
|
|
679
714
|
errorCode?: number;
|
|
680
715
|
statusCode?: number;
|
|
@@ -711,7 +746,7 @@ export interface DispatchRule {
|
|
|
711
746
|
phoneNumber: string;
|
|
712
747
|
agentServiceUrl: string;
|
|
713
748
|
}
|
|
714
|
-
export type CallEndReason = 'stt-error-exit' | 'voicemail-detected-with-reply' | 'voicemail-detected-no-reply' | 'user-silence-max-reached' | 'user-silence-signal-max-continue-reached' | 'assistant-said-goodbye' | 'instance-shutting-down' | 'customer-ended-call' | 'call-busy' | 'call-no-answer' | 'call-failed' | 'call-canceled' | 'cold-transfer-call-success' | 'cold-transfer-call-success-by-first-action' | 'warm-transfer-call-success' | 'warm-transfer-call-success-by-first-action' | 'warm-transfer-failed-execute-error' | 'warm-transfer-failed-confirm-timeout' | 'warm-transfer-failed-join-conference' | 'warm-transfer-failed-target-no-answer' | 'warm-transfer-failed-target-busy' | 'warm-transfer-failed-target-canceled' | 'warm-transfer-failed-target-hangup' | 'warm-transfer-failed-target-error' | 'warm-transfer-failed-customer-hangup' | 'cold-transfer-failed-no-answer' | 'cold-transfer-failed-busy' | 'cold-transfer-failed-canceled' | 'cold-transfer-failed-error' | 'cold-transfer-failed-customer-hangup' | 'field-collect-failed' | 'field-collect-customer-hangup' | 'user-is-bot' | 'unknown';
|
|
749
|
+
export type CallEndReason = 'stt-error-exit' | 'voicemail-detected-with-reply' | 'voicemail-detected-no-reply' | 'voicemail-left' | 'user-silence-max-reached' | 'user-silence-signal-max-continue-reached' | 'assistant-said-goodbye' | 'instance-shutting-down' | 'customer-ended-call' | 'call-busy' | 'call-no-answer' | 'call-failed' | 'call-canceled' | 'cold-transfer-call-success' | 'cold-transfer-call-success-by-first-action' | 'warm-transfer-call-success' | 'warm-transfer-call-success-by-first-action' | 'warm-transfer-failed-execute-error' | 'warm-transfer-failed-confirm-timeout' | 'warm-transfer-failed-join-conference' | 'warm-transfer-failed-target-no-answer' | 'warm-transfer-failed-target-busy' | 'warm-transfer-failed-target-canceled' | 'warm-transfer-failed-target-hangup' | 'warm-transfer-failed-target-error' | 'warm-transfer-failed-customer-hangup' | 'cold-transfer-failed-no-answer' | 'cold-transfer-failed-busy' | 'cold-transfer-failed-canceled' | 'cold-transfer-failed-error' | 'cold-transfer-failed-customer-hangup' | 'field-collect-failed' | 'field-collect-customer-hangup' | 'user-is-bot' | 'unknown';
|
|
715
750
|
export interface CallStatusChangeEvent extends AppAction {
|
|
716
751
|
ctx: IncomingOutgoingCall;
|
|
717
752
|
status: TwilioCallStatusCallback;
|
|
@@ -1006,5 +1041,10 @@ export interface RealtimeChatRequest extends AppAction {
|
|
|
1006
1041
|
type: 'realtime-chat';
|
|
1007
1042
|
payload: Omit<RealtimeChatActionPayload, 'callSid'>;
|
|
1008
1043
|
}
|
|
1044
|
+
export interface SayRequest extends AppAction {
|
|
1045
|
+
type: 'say';
|
|
1046
|
+
text: string;
|
|
1047
|
+
interruptable?: boolean;
|
|
1048
|
+
}
|
|
1009
1049
|
export {};
|
|
1010
1050
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/worker.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The user Worker's shell (`apps/cf-fn/user-worker-template`): the invocation it receives, the ctx it
|
|
3
|
+
* builds for a function and the RPC client behind `ctx.api`. Platform-only: the package resolves
|
|
4
|
+
* `./worker` under the `superpanel-platform` condition. It pulls in neither the compiler nor Node, so
|
|
5
|
+
* the Worker carries only this.
|
|
6
|
+
*/
|
|
7
|
+
export * from './fn-context/index.js';
|
|
8
|
+
export { isWorkerFunctionKind, type WorkerFunctionKind } from './core/functions/types.js';
|
|
9
|
+
export { parseComputeInvocation, type FunctionInvocation } from './compute-host/compute-host.js';
|
|
10
|
+
//# sourceMappingURL=worker.d.ts.map
|
package/dist/worker.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The user Worker's shell (`apps/cf-fn/user-worker-template`): the invocation it receives, the ctx it
|
|
3
|
+
* builds for a function and the RPC client behind `ctx.api`. Platform-only: the package resolves
|
|
4
|
+
* `./worker` under the `superpanel-platform` condition. It pulls in neither the compiler nor Node, so
|
|
5
|
+
* the Worker carries only this.
|
|
6
|
+
*/
|
|
7
|
+
export * from './fn-context/index.js';
|
|
8
|
+
export { isWorkerFunctionKind } from './core/functions/types.js';
|
|
9
|
+
export { parseComputeInvocation } from './compute-host/compute-host.js';
|
|
10
|
+
//# sourceMappingURL=worker.js.map
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superpanel-sdk/runtime",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Slot +
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Slot + page runtime: schema, writes, derived recompute, page compile + todos",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": ">=
|
|
8
|
+
"node": ">=22.15"
|
|
9
9
|
},
|
|
10
10
|
"bin": {
|
|
11
|
-
"superpanel-sdk-runtime": "
|
|
11
|
+
"superpanel-sdk-runtime": "bin/superpanel-sdk-runtime.mjs"
|
|
12
12
|
},
|
|
13
13
|
"exports": {
|
|
14
14
|
".": {
|
|
@@ -16,13 +16,30 @@
|
|
|
16
16
|
"import": "./dist/index.js",
|
|
17
17
|
"default": "./dist/index.js"
|
|
18
18
|
},
|
|
19
|
-
"./
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
"./platform": {
|
|
20
|
+
"superpanel-platform": {
|
|
21
|
+
"types": "./dist/platform.d.ts",
|
|
22
|
+
"import": "./dist/platform.js",
|
|
23
|
+
"default": "./dist/platform.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"./worker": {
|
|
27
|
+
"superpanel-platform": {
|
|
28
|
+
"types": "./dist/worker.d.ts",
|
|
29
|
+
"import": "./dist/worker.js",
|
|
30
|
+
"default": "./dist/worker.js"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"./compiler": {
|
|
34
|
+
"superpanel-platform": {
|
|
35
|
+
"types": "./dist/compiler.d.ts",
|
|
36
|
+
"import": "./dist/compiler.js",
|
|
37
|
+
"default": "./dist/compiler.js"
|
|
38
|
+
}
|
|
23
39
|
},
|
|
24
40
|
"./package.json": "./package.json"
|
|
25
41
|
},
|
|
42
|
+
"sideEffects": false,
|
|
26
43
|
"files": [
|
|
27
44
|
"bin/**/*.mjs",
|
|
28
45
|
"dist/**/*.js",
|
|
@@ -30,26 +47,28 @@
|
|
|
30
47
|
],
|
|
31
48
|
"publishConfig": {
|
|
32
49
|
"access": "public",
|
|
33
|
-
"tag": "
|
|
50
|
+
"tag": "latest"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"build": "tsc -p tsconfig.json",
|
|
54
|
+
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tests/tsconfig.json --noEmit",
|
|
55
|
+
"test": "tsx --tsconfig tests/tsconfig.json --test tests/**/*.test.ts",
|
|
56
|
+
"dev": "tsc -p tsconfig.json --watch --preserveWatchOutput",
|
|
57
|
+
"prepublishOnly": "rm -rf dist tsconfig.tsbuildinfo && tsc -p tsconfig.json"
|
|
34
58
|
},
|
|
35
59
|
"dependencies": {
|
|
60
|
+
"@clack/prompts": "^1.8.1",
|
|
36
61
|
"@trpc/client": "^11.7.2",
|
|
37
62
|
"@trpc/server": "^11.7.2",
|
|
38
63
|
"chokidar": "^4.0.3",
|
|
39
64
|
"commander": "^15.0.0",
|
|
65
|
+
"cron-parser": "5.10.0",
|
|
40
66
|
"esbuild": "^0.25.12",
|
|
41
|
-
"json-rules-engine": "^7.3.1",
|
|
42
67
|
"tsx": "^4.23.1",
|
|
68
|
+
"typescript": "7.0.2",
|
|
43
69
|
"zod": "^4.4.3"
|
|
44
70
|
},
|
|
45
71
|
"devDependencies": {
|
|
46
|
-
"@types/node": "^26.1.1"
|
|
47
|
-
"typescript": "^7.0.2"
|
|
48
|
-
},
|
|
49
|
-
"scripts": {
|
|
50
|
-
"build": "tsc -p tsconfig.json",
|
|
51
|
-
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tests/tsconfig.json --noEmit",
|
|
52
|
-
"test": "tsx --tsconfig tests/tsconfig.json --test tests/**/*.test.ts",
|
|
53
|
-
"dev": "tsc -p tsconfig.json --watch --preserveWatchOutput"
|
|
72
|
+
"@types/node": "^26.1.1"
|
|
54
73
|
}
|
|
55
|
-
}
|
|
74
|
+
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { EffectiveSchema } from '../../core/slot/schema.js';
|
|
2
|
-
import type { CompiledSlotSchema, ValidationIssue } from '../../core/slot/types.js';
|
|
3
|
-
import type { FuncMap } from '../../core/functions/types.js';
|
|
4
|
-
import { fatalAgendaIssues, type CompiledAgenda } from '../../core/stage/index.js';
|
|
5
|
-
export type CompileAgendasResult = {
|
|
6
|
-
schema: CompiledSlotSchema;
|
|
7
|
-
effectiveSchema: EffectiveSchema;
|
|
8
|
-
agendas: Record<string, CompiledAgenda>;
|
|
9
|
-
issues: ValidationIssue[];
|
|
10
|
-
};
|
|
11
|
-
export declare function compileSequenceAgendas(schema: CompiledSlotSchema, raw: unknown, options?: {
|
|
12
|
-
functions?: FuncMap;
|
|
13
|
-
}): CompileAgendasResult;
|
|
14
|
-
export { fatalAgendaIssues };
|
|
15
|
-
//# sourceMappingURL=compile-agenda.d.ts.map
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { toEffectiveSchema } from '../../core/slot/compile-schema.js';
|
|
2
|
-
import { collectTransferBlocks, fatalAgendaIssues, flattenAgendaPlacements, flattenAgendaTree, isAgendaTree, isSequenceAgendas, normalizeSequenceAgendas, registerTransferSessionFields, validateCompiledAgenda, } from '../../core/stage/index.js';
|
|
3
|
-
function asAgendaTrees(raw) {
|
|
4
|
-
if (isAgendaTree(raw))
|
|
5
|
-
return [raw];
|
|
6
|
-
if (Array.isArray(raw) && raw.length > 0 && raw.every(isAgendaTree))
|
|
7
|
-
return raw;
|
|
8
|
-
if (raw != null && typeof raw === 'object' && !Array.isArray(raw) && !isSequenceAgendas(raw)) {
|
|
9
|
-
const values = Object.values(raw);
|
|
10
|
-
if (values.length > 0 && values.every(isAgendaTree))
|
|
11
|
-
return values;
|
|
12
|
-
}
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
function compileOneFlat(agendaId, header, flattened, schema, functions, issues) {
|
|
16
|
-
issues.push(...flattened.issues);
|
|
17
|
-
const agenda = { header, flat: flattened.items };
|
|
18
|
-
const validated = validateCompiledAgenda(agenda, { schema, functions, agendaId });
|
|
19
|
-
if (!validated.ok)
|
|
20
|
-
issues.push(...validated.issues);
|
|
21
|
-
return agenda;
|
|
22
|
-
}
|
|
23
|
-
export function compileSequenceAgendas(schema, raw, options = {}) {
|
|
24
|
-
const issues = [];
|
|
25
|
-
if (raw == null) {
|
|
26
|
-
return { schema, effectiveSchema: toEffectiveSchema(schema), agendas: {}, issues };
|
|
27
|
-
}
|
|
28
|
-
const trees = asAgendaTrees(raw);
|
|
29
|
-
if (trees) {
|
|
30
|
-
const transferIds = collectTransferBlocks({}, trees.flatMap((tree) => tree.tree)).map((block) => block.id);
|
|
31
|
-
const withTransfer = registerTransferSessionFields(schema, transferIds);
|
|
32
|
-
const compiled = {};
|
|
33
|
-
for (const tree of trees) {
|
|
34
|
-
compiled[tree.id] = compileOneFlat(tree.id, tree.header, flattenAgendaTree(tree.tree, { functions: options.functions }), withTransfer, options.functions, issues);
|
|
35
|
-
}
|
|
36
|
-
return { schema: withTransfer, effectiveSchema: toEffectiveSchema(withTransfer), agendas: compiled, issues };
|
|
37
|
-
}
|
|
38
|
-
let agendasInput;
|
|
39
|
-
try {
|
|
40
|
-
agendasInput = isSequenceAgendas(raw) ? raw : normalizeSequenceAgendas(raw);
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
issues.push({
|
|
44
|
-
code: 'invalid-agendas',
|
|
45
|
-
message: error instanceof Error ? error.message : String(error),
|
|
46
|
-
path: 'agendas',
|
|
47
|
-
});
|
|
48
|
-
return { schema, effectiveSchema: toEffectiveSchema(schema), agendas: {}, issues };
|
|
49
|
-
}
|
|
50
|
-
const transferIds = collectTransferBlocks(agendasInput.blocks).map((block) => block.id);
|
|
51
|
-
const withTransfer = registerTransferSessionFields(schema, transferIds);
|
|
52
|
-
const compiled = {};
|
|
53
|
-
for (const [agendaId, config] of Object.entries(agendasInput.agendas)) {
|
|
54
|
-
compiled[agendaId] = compileOneFlat(agendaId, config.header, flattenAgendaPlacements(config.placements, agendasInput.blocks, { functions: options.functions }), withTransfer, options.functions, issues);
|
|
55
|
-
}
|
|
56
|
-
return { schema: withTransfer, effectiveSchema: toEffectiveSchema(withTransfer), agendas: compiled, issues };
|
|
57
|
-
}
|
|
58
|
-
export { fatalAgendaIssues };
|
|
59
|
-
//# sourceMappingURL=compile-agenda.js.map
|
package/dist/builder/merge.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { CompanySchema, EffectiveSchema, SequenceSlots } from '../core/slot/schema.js';
|
|
2
|
-
/** Merge company schema + sequence slots view into effective schema for codegen. */
|
|
3
|
-
export declare function mergeEffectiveSchema(company: CompanySchema, sequenceSlots: SequenceSlots): EffectiveSchema;
|
|
4
|
-
//# sourceMappingURL=merge.d.ts.map
|
package/dist/builder/merge.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { compileSlotSchema, toEffectiveSchema } from '../core/slot/compile-schema.js';
|
|
2
|
-
/** Merge company schema + sequence slots view into effective schema for codegen. */
|
|
3
|
-
export function mergeEffectiveSchema(company, sequenceSlots) {
|
|
4
|
-
const { schema, validation } = compileSlotSchema(company, sequenceSlots);
|
|
5
|
-
if (!validation.ok) {
|
|
6
|
-
const fatal = validation.issues.filter((i) => i.code === 'unknown-table' ||
|
|
7
|
-
i.code === 'unknown-field' ||
|
|
8
|
-
i.code === 'unknown-ref-table' ||
|
|
9
|
-
i.code === 'invalid-id-field' ||
|
|
10
|
-
i.code === 'missing-id-field' ||
|
|
11
|
-
i.code === 'id-cannot-ref' ||
|
|
12
|
-
i.code === 'reserved-table-name');
|
|
13
|
-
if (fatal.length > 0) {
|
|
14
|
-
throw new Error(fatal.map((i) => i.message).join('; '));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return toEffectiveSchema(schema);
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=merge.js.map
|