@tailor-platform/sdk 0.16.1 → 0.16.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # @tailor-platform/sdk
2
2
 
3
+ ## 0.16.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#179](https://github.com/tailor-platform/sdk/pull/179) [`2108408`](https://github.com/tailor-platform/sdk/commit/2108408cc9e2befc93e0e0db8ab91ca0c6036222) Thanks [@k1LoW](https://github.com/k1LoW)! - feat: support `userAuthPolicy` for idp
8
+
9
+ ## 0.16.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [#170](https://github.com/tailor-platform/sdk/pull/170) [`6c34448`](https://github.com/tailor-platform/sdk/commit/6c344484cc9f4b0a574ec09737ca4e30e3889ad2) Thanks [@toiroakr](https://github.com/toiroakr)! - feat: add workflow executor support
14
+
15
+ Added `kind: "workflow"` operation to executors, enabling direct workflow execution from schedule triggers or record triggers.
16
+
17
+ ```typescript
18
+ import { createExecutor, scheduleTrigger } from "@tailor-platform/sdk";
19
+ import sampleWorkflow from "../workflows/sample";
20
+
21
+ export default createExecutor({
22
+ name: "daily-workflow",
23
+ trigger: scheduleTrigger({
24
+ cron: "0 12 * * *",
25
+ timezone: "Asia/Tokyo",
26
+ }),
27
+ operation: {
28
+ kind: "workflow",
29
+ workflow: sampleWorkflow,
30
+ args: () => ({ orderId: "daily-workflow-order" }),
31
+ },
32
+ });
33
+ ```
34
+
35
+ - `workflow`: The workflow to execute (default export)
36
+ - `args`: Arguments to pass to the workflow's mainJob (static value or function)
37
+ - `authInvoker`: Optional authentication configuration
38
+
3
39
  ## 0.16.1
4
40
 
5
41
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  /// <reference path="./../user-defined.d.ts" />
2
2
 
3
- import { AppConfig, CodeGeneratorBase, Executor, Generator, IdProviderConfig, OAuth2Client, Resolver, TailorDBTypeConfig } from "../types-DGKSzhtb.mjs";
3
+ import { AppConfig, CodeGeneratorBase, Executor, Generator, IdProviderConfig, OAuth2Client, Resolver, TailorDBTypeConfig } from "../types-Da_WnvA0.mjs";
4
4
  import "citty";
5
5
  import { z } from "zod";
6
6
  import "@bufbuild/protobuf/wkt";
package/dist/cli/api.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { apply, generate, generateUserTypes, loadAccessToken, loadConfig, loadWorkspaceId, machineUserList, machineUserToken, oauth2ClientGet, oauth2ClientList, remove, show, workflowExecutionGet, workflowExecutionsList, workflowGet, workflowList, workflowResume, workflowStart, workspaceCreate, workspaceDelete, workspaceList } from "../resume-DvbIclRU.mjs";
1
+ import { apply, generate, generateUserTypes, loadAccessToken, loadConfig, loadWorkspaceId, machineUserList, machineUserToken, oauth2ClientGet, oauth2ClientList, remove, show, workflowExecutionGet, workflowExecutionsList, workflowGet, workflowList, workflowResume, workflowStart, workspaceCreate, workspaceDelete, workspaceList } from "../resume-kyHIaNvK.mjs";
2
2
  import "../job-CL8myeqs.mjs";
3
3
  import { register } from "node:module";
4
4
 
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { PATScope, applyCommand, commonArgs, createCommand, deleteCommand, executionsCommand, fetchAll, fetchLatestToken, fetchUserInfo, formatArgs, generateCommand, getCommand, getCommand$1, initOAuth2Client, initOperatorClient, listCommand as listCommand$1, listCommand$1 as listCommand$6, listCommand$2 as listCommand$7, listCommand$3 as listCommand, loadAccessToken, loadConfig, loadWorkspaceId, parseFormat, printWithFormat, readPackageJson, readPlatformConfig, removeCommand, resumeCommand, showCommand, startCommand, tokenCommand, withCommonArgs, writePlatformConfig } from "../resume-DvbIclRU.mjs";
2
+ import { PATScope, applyCommand, commonArgs, createCommand, deleteCommand, executionsCommand, fetchAll, fetchLatestToken, fetchUserInfo, formatArgs, generateCommand, getCommand, getCommand$1, initOAuth2Client, initOperatorClient, listCommand as listCommand$1, listCommand$1 as listCommand$6, listCommand$2 as listCommand$7, listCommand$3 as listCommand, loadAccessToken, loadConfig, loadWorkspaceId, parseFormat, printWithFormat, readPackageJson, readPlatformConfig, removeCommand, resumeCommand, showCommand, startCommand, tokenCommand, withCommonArgs, writePlatformConfig } from "../resume-kyHIaNvK.mjs";
3
3
  import "../job-CL8myeqs.mjs";
4
4
  import { register } from "node:module";
5
5
  import { defineCommand, runCommand, runMain } from "citty";
@@ -1,5 +1,5 @@
1
1
  /// <reference path="./../user-defined.d.ts" />
2
2
 
3
- import { AttributeList, AttributeMap, AuthConfig, AuthExternalConfig, AuthInvoker, AuthOwnConfig, AuthServiceInput, BuiltinIdP, ExecutorServiceConfig, ExecutorServiceInput, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, OAuth2Client, OAuth2ClientGrantType, OIDC, PermissionCondition, QueryType, Resolver, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WorkflowServiceConfig, WorkflowServiceInput, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, unauthenticatedTailorUser, unsafeAllowAllGqlPermission, unsafeAllowAllTypePermission } from "../types-DGKSzhtb.mjs";
4
- import { Env, FunctionOperation, GqlOperation, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, Operation, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, ResolverExecutedArgs, ResolverExecutedTrigger, ScheduleTrigger, Trigger, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowJobContext, WorkflowJobInput, WorkflowJobOutput, createExecutor, createResolver, createWorkflow, createWorkflowJob, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t } from "../index-BcDejW72.mjs";
5
- export { AttributeList, AttributeMap, AuthConfig, AuthExternalConfig, AuthInvoker, AuthOwnConfig, AuthServiceInput, BuiltinIdP, Env, ExecutorServiceConfig, ExecutorServiceInput, FunctionOperation, GqlOperation, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, OAuth2Client, OAuth2ClientGrantType, OIDC, Operation, PermissionCondition, QueryType, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, Resolver, ResolverExecutedArgs, ResolverExecutedTrigger, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, ScheduleTrigger, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, Trigger, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowJobContext, WorkflowJobInput, WorkflowJobOutput, WorkflowServiceConfig, WorkflowServiceInput, createExecutor, createResolver, createWorkflow, createWorkflowJob, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t, unauthenticatedTailorUser, unsafeAllowAllGqlPermission, unsafeAllowAllTypePermission };
3
+ import { AttributeList, AttributeMap, AuthConfig, AuthExternalConfig, AuthInvoker, AuthOwnConfig, AuthServiceInput, BuiltinIdP, ExecutorServiceConfig, ExecutorServiceInput, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, OAuth2Client, OAuth2ClientGrantType, OIDC, PermissionCondition, QueryType, Resolver, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WorkflowServiceConfig, WorkflowServiceInput, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, unauthenticatedTailorUser, unsafeAllowAllGqlPermission, unsafeAllowAllTypePermission } from "../types-Da_WnvA0.mjs";
4
+ import { Env, FunctionOperation, GqlOperation, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, Operation, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, ResolverExecutedArgs, ResolverExecutedTrigger, ScheduleTrigger, Trigger, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowJobContext, WorkflowJobInput, WorkflowJobOutput, WorkflowOperation, createExecutor, createResolver, createWorkflow, createWorkflowJob, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t } from "../index-Bin7-j3v.mjs";
5
+ export { AttributeList, AttributeMap, AuthConfig, AuthExternalConfig, AuthInvoker, AuthOwnConfig, AuthServiceInput, BuiltinIdP, Env, ExecutorServiceConfig, ExecutorServiceInput, FunctionOperation, GqlOperation, IDToken, IdPConfig, IdPExternalConfig, IdProviderConfig, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, OAuth2Client, OAuth2ClientGrantType, OIDC, Operation, PermissionCondition, QueryType, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, Resolver, ResolverExecutedArgs, ResolverExecutedTrigger, ResolverExternalConfig, ResolverServiceConfig, ResolverServiceInput, SAML, SCIMAttribute, SCIMAttributeMapping, SCIMAttributeType, SCIMAuthorization, SCIMConfig, SCIMResource, ScheduleTrigger, StaticWebsiteConfig, TailorDBField, TailorDBInstance, TailorDBType, TailorField, TailorTypeGqlPermission, TailorTypePermission, TailorUser, TenantProviderConfig, Trigger, UserAttributeKey, UserAttributeListKey, UserAttributeMap, UsernameFieldKey, ValueOperand, WORKFLOW_JOB_BRAND, WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowJobContext, WorkflowJobInput, WorkflowJobOutput, WorkflowOperation, WorkflowServiceConfig, WorkflowServiceInput, createExecutor, createResolver, createWorkflow, createWorkflowJob, db, defineAuth, defineConfig, defineGenerators, defineIdp, defineStaticWebSite, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t, unauthenticatedTailorUser, unsafeAllowAllGqlPermission, unsafeAllowAllTypePermission };
@@ -12,7 +12,6 @@ function createResolver(config) {
12
12
  //#endregion
13
13
  //#region src/configure/services/executor/executor.ts
14
14
  function createExecutor(config) {
15
- if (config.operation.kind === "graphql") config.operation.query = config.operation.query.toString();
16
15
  return config;
17
16
  }
18
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["t","_t"],"sources":["../../src/configure/services/resolver/resolver.ts","../../src/configure/services/executor/executor.ts","../../src/configure/services/executor/trigger/event.ts","../../src/configure/services/executor/trigger/schedule.ts","../../src/configure/services/executor/trigger/webhook.ts","../../src/configure/services/workflow/workflow.ts","../../src/configure/services/staticwebsite/index.ts","../../src/configure/services/idp/index.ts","../../src/configure/index.ts"],"sourcesContent":["import { t, TailorField } from \"@/configure/types/type\";\nimport type { TailorUser } from \"@/configure/types\";\nimport type { TailorEnv } from \"@/configure/types/env\";\nimport type { InferFieldsOutput, output } from \"@/configure/types/helpers\";\nimport type { ResolverInput } from \"@/parser/service/resolver/types\";\n\ntype Context<Input extends Record<string, TailorField<any>> | undefined> = {\n input: Input extends Record<string, TailorField<any>>\n ? InferFieldsOutput<Input>\n : never;\n user: TailorUser;\n env: TailorEnv;\n};\n\ntype OutputType<O> =\n O extends TailorField<any>\n ? output<O>\n : O extends Record<string, TailorField<any>>\n ? InferFieldsOutput<O>\n : never;\n\nexport function createResolver<\n Input extends Record<string, TailorField<any>> | undefined = undefined,\n Output extends TailorField<any> | Record<string, TailorField<any>> =\n TailorField<any>,\n>(\n config: Omit<ResolverInput, \"input\" | \"output\" | \"body\"> &\n Readonly<{\n input?: Input;\n output: Output;\n body: (\n context: Context<Input>,\n ) => OutputType<Output> | Promise<OutputType<Output>>;\n }>,\n) {\n const normalizedOutput =\n config.output instanceof TailorField\n ? config.output\n : t.object(config.output);\n\n return {\n ...config,\n output: normalizedOutput,\n };\n}\n\nexport type ResolverConfig = ReturnType<typeof createResolver<any, any>>;\n","import type { Operation } from \"./operation\";\nimport type { Trigger } from \"./trigger\";\nimport type { ExecutorInput } from \"@/parser/service/executor/types\";\n\ntype Executor<Args, O extends Operation<Args>> = Omit<\n ExecutorInput,\n \"trigger\" | \"operation\"\n> & {\n trigger: Trigger<Args>;\n operation: O;\n};\n\nexport function createExecutor<Args, O extends Operation<Args>>(\n config: Executor<Args, O>,\n) {\n if (config.operation.kind === \"graphql\") {\n config.operation.query = config.operation.query.toString();\n }\n return config;\n}\n","import type { ResolverConfig } from \"@/configure/services/resolver/resolver\";\nimport type { TailorDBType } from \"@/configure/services/tailordb/schema\";\nimport type { output } from \"@/configure/types/helpers\";\nimport type {\n RecordTrigger as ParserRecordTrigger,\n ResolverExecutedTrigger as ParserResolverExecutedTrigger,\n} from \"@/parser/service/executor/types\";\n\ninterface EventArgs {\n workspaceId: string;\n appNamespace: string;\n}\n\ninterface RecordArgs extends EventArgs {\n typeName: string;\n}\n\nexport interface RecordCreatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n}\n\nexport interface RecordUpdatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n oldRecord: output<T>;\n}\n\nexport interface RecordDeletedArgs<T extends TailorDBType> extends RecordArgs {\n oldRecord: output<T>;\n}\n\nexport type ResolverExecutedArgs<R extends ResolverConfig> = EventArgs & {\n resolverName: string;\n} & (\n | {\n result: output<R[\"output\"]>;\n error: undefined;\n }\n | {\n result: undefined;\n error: string;\n }\n );\n\nexport type RecordTrigger<Args> = ParserRecordTrigger & {\n __args: Args;\n};\n\nexport function recordCreatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordCreatedArgs<T>) => boolean;\n}): RecordTrigger<RecordCreatedArgs<T>> {\n return {\n kind: \"recordCreated\",\n typeName: type.name,\n condition,\n __args: {} as RecordCreatedArgs<T>,\n };\n}\n\nexport function recordUpdatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordUpdatedArgs<T>) => boolean;\n}): RecordTrigger<RecordUpdatedArgs<T>> {\n return {\n kind: \"recordUpdated\",\n typeName: type.name,\n condition,\n __args: {} as RecordUpdatedArgs<T>,\n };\n}\n\nexport function recordDeletedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordDeletedArgs<T>) => boolean;\n}): RecordTrigger<RecordDeletedArgs<T>> {\n return {\n kind: \"recordDeleted\",\n typeName: type.name,\n condition,\n __args: {} as RecordDeletedArgs<T>,\n };\n}\n\nexport type ResolverExecutedTrigger<Args> = ParserResolverExecutedTrigger & {\n __args: Args;\n};\n\nexport function resolverExecutedTrigger<R extends ResolverConfig>({\n resolver,\n condition,\n}: {\n resolver: R;\n condition?: (args: ResolverExecutedArgs<R>) => boolean;\n}): ResolverExecutedTrigger<ResolverExecutedArgs<R>> {\n return {\n kind: \"resolverExecuted\",\n resolverName: resolver.name,\n condition,\n __args: {} as ResolverExecutedArgs<R>,\n };\n}\n","import type { ScheduleTriggerInput as ParserScheduleTriggerInput } from \"@/parser/service/executor/types\";\nimport type { StandardCRON } from \"ts-cron-validator\";\nimport type { EmptyObject } from \"type-fest\";\n\ntype Timezone =\n | \"UTC\"\n | \"Pacific/Midway\"\n | \"Pacific/Niue\"\n | \"Pacific/Pago_Pago\"\n | \"America/Adak\"\n | \"Pacific/Honolulu\"\n | \"Pacific/Rarotonga\"\n | \"Pacific/Tahiti\"\n | \"Pacific/Marquesas\"\n | \"America/Anchorage\"\n | \"America/Juneau\"\n | \"America/Metlakatla\"\n | \"America/Nome\"\n | \"America/Sitka\"\n | \"America/Yakutat\"\n | \"Pacific/Gambier\"\n | \"America/Los_Angeles\"\n | \"America/Tijuana\"\n | \"America/Vancouver\"\n | \"Pacific/Pitcairn\"\n | \"America/Boise\"\n | \"America/Cambridge_Bay\"\n | \"America/Chihuahua\"\n | \"America/Creston\"\n | \"America/Dawson\"\n | \"America/Dawson_Creek\"\n | \"America/Denver\"\n | \"America/Edmonton\"\n | \"America/Fort_Nelson\"\n | \"America/Hermosillo\"\n | \"America/Inuvik\"\n | \"America/Mazatlan\"\n | \"America/Ojinaga\"\n | \"America/Phoenix\"\n | \"America/Whitehorse\"\n | \"America/Yellowknife\"\n | \"America/Bahia_Banderas\"\n | \"America/Belize\"\n | \"America/Chicago\"\n | \"America/Costa_Rica\"\n | \"America/El_Salvador\"\n | \"America/Guatemala\"\n | \"America/Indiana/Knox\"\n | \"America/Indiana/Tell_City\"\n | \"America/Managua\"\n | \"America/Matamoros\"\n | \"America/Menominee\"\n | \"America/Merida\"\n | \"America/Mexico_City\"\n | \"America/Monterrey\"\n | \"America/North_Dakota/Beulah\"\n | \"America/North_Dakota/Center\"\n | \"America/North_Dakota/New_Salem\"\n | \"America/Rainy_River\"\n | \"America/Rankin_Inlet\"\n | \"America/Regina\"\n | \"America/Resolute\"\n | \"America/Swift_Current\"\n | \"America/Tegucigalpa\"\n | \"America/Winnipeg\"\n | \"Pacific/Easter\"\n | \"Pacific/Galapagos\"\n | \"America/Atikokan\"\n | \"America/Bogota\"\n | \"America/Cancun\"\n | \"America/Cayman\"\n | \"America/Detroit\"\n | \"America/Eirunepe\"\n | \"America/Grand_Turk\"\n | \"America/Guayaquil\"\n | \"America/Havana\"\n | \"America/Indiana/Indianapolis\"\n | \"America/Indiana/Marengo\"\n | \"America/Indiana/Petersburg\"\n | \"America/Indiana/Vevay\"\n | \"America/Indiana/Vincennes\"\n | \"America/Indiana/Winamac\"\n | \"America/Iqaluit\"\n | \"America/Jamaica\"\n | \"America/Kentucky/Louisville\"\n | \"America/Kentucky/Monticello\"\n | \"America/Lima\"\n | \"America/Nassau\"\n | \"America/New_York\"\n | \"America/Nipigon\"\n | \"America/Panama\"\n | \"America/Pangnirtung\"\n | \"America/Port-au-Prince\"\n | \"America/Rio_Branco\"\n | \"America/Thunder_Bay\"\n | \"America/Toronto\"\n | \"America/Anguilla\"\n | \"America/Antigua\"\n | \"America/Aruba\"\n | \"America/Asuncion\"\n | \"America/Barbados\"\n | \"America/Blanc-Sablon\"\n | \"America/Boa_Vista\"\n | \"America/Campo_Grande\"\n | \"America/Caracas\"\n | \"America/Cuiaba\"\n | \"America/Curacao\"\n | \"America/Dominica\"\n | \"America/Glace_Bay\"\n | \"America/Goose_Bay\"\n | \"America/Grenada\"\n | \"America/Guadeloupe\"\n | \"America/Guyana\"\n | \"America/Halifax\"\n | \"America/Kralendijk\"\n | \"America/La_Paz\"\n | \"America/Lower_Princes\"\n | \"America/Manaus\"\n | \"America/Marigot\"\n | \"America/Martinique\"\n | \"America/Moncton\"\n | \"America/Montserrat\"\n | \"America/Porto_Velho\"\n | \"America/Port_of_Spain\"\n | \"America/Puerto_Rico\"\n | \"America/Santiago\"\n | \"America/Santo_Domingo\"\n | \"America/St_Barthelemy\"\n | \"America/St_Kitts\"\n | \"America/St_Lucia\"\n | \"America/St_Thomas\"\n | \"America/St_Vincent\"\n | \"America/Thule\"\n | \"America/Tortola\"\n | \"Atlantic/Bermuda\"\n | \"America/St_Johns\"\n | \"America/Araguaina\"\n | \"America/Argentina/Buenos_Aires\"\n | \"America/Argentina/Catamarca\"\n | \"America/Argentina/Cordoba\"\n | \"America/Argentina/Jujuy\"\n | \"America/Argentina/La_Rioja\"\n | \"America/Argentina/Mendoza\"\n | \"America/Argentina/Rio_Gallegos\"\n | \"America/Argentina/Salta\"\n | \"America/Argentina/San_Juan\"\n | \"America/Argentina/San_Luis\"\n | \"America/Argentina/Tucuman\"\n | \"America/Argentina/Ushuaia\"\n | \"America/Bahia\"\n | \"America/Belem\"\n | \"America/Cayenne\"\n | \"America/Fortaleza\"\n | \"America/Godthab\"\n | \"America/Maceio\"\n | \"America/Miquelon\"\n | \"America/Montevideo\"\n | \"America/Paramaribo\"\n | \"America/Punta_Arenas\"\n | \"America/Recife\"\n | \"America/Santarem\"\n | \"America/Sao_Paulo\"\n | \"Antarctica/Palmer\"\n | \"Antarctica/Rothera\"\n | \"Atlantic/Stanley\"\n | \"America/Noronha\"\n | \"Atlantic/South_Georgia\"\n | \"America/Scoresbysund\"\n | \"Atlantic/Azores\"\n | \"Atlantic/Cape_Verde\"\n | \"Africa/Abidjan\"\n | \"Africa/Accra\"\n | \"Africa/Bamako\"\n | \"Africa/Banjul\"\n | \"Africa/Bissau\"\n | \"Africa/Casablanca\"\n | \"Africa/Conakry\"\n | \"Africa/Dakar\"\n | \"Africa/El_Aaiun\"\n | \"Africa/Freetown\"\n | \"Africa/Lome\"\n | \"Africa/Monrovia\"\n | \"Africa/Nouakchott\"\n | \"Africa/Ouagadougou\"\n | \"Africa/Sao_Tome\"\n | \"America/Danmarkshavn\"\n | \"Antarctica/Troll\"\n | \"Atlantic/Canary\"\n | \"Atlantic/Faroe\"\n | \"Atlantic/Madeira\"\n | \"Atlantic/Reykjavik\"\n | \"Atlantic/St_Helena\"\n | \"Europe/Dublin\"\n | \"Europe/Guernsey\"\n | \"Europe/Isle_of_Man\"\n | \"Europe/Jersey\"\n | \"Europe/Lisbon\"\n | \"Europe/London\"\n | \"Africa/Algiers\"\n | \"Africa/Bangui\"\n | \"Africa/Brazzaville\"\n | \"Africa/Ceuta\"\n | \"Africa/Douala\"\n | \"Africa/Kinshasa\"\n | \"Africa/Lagos\"\n | \"Africa/Libreville\"\n | \"Africa/Luanda\"\n | \"Africa/Malabo\"\n | \"Africa/Ndjamena\"\n | \"Africa/Niamey\"\n | \"Africa/Porto-Novo\"\n | \"Africa/Tunis\"\n | \"Africa/Windhoek\"\n | \"Arctic/Longyearbyen\"\n | \"Europe/Amsterdam\"\n | \"Europe/Andorra\"\n | \"Europe/Belgrade\"\n | \"Europe/Berlin\"\n | \"Europe/Bratislava\"\n | \"Europe/Brussels\"\n | \"Europe/Budapest\"\n | \"Europe/Copenhagen\"\n | \"Europe/Gibraltar\"\n | \"Europe/Ljubljana\"\n | \"Europe/Luxembourg\"\n | \"Europe/Madrid\"\n | \"Europe/Malta\"\n | \"Europe/Monaco\"\n | \"Europe/Oslo\"\n | \"Europe/Paris\"\n | \"Europe/Podgorica\"\n | \"Europe/Prague\"\n | \"Europe/Rome\"\n | \"Europe/San_Marino\"\n | \"Europe/Sarajevo\"\n | \"Europe/Skopje\"\n | \"Europe/Stockholm\"\n | \"Europe/Tirane\"\n | \"Europe/Vaduz\"\n | \"Europe/Vatican\"\n | \"Europe/Vienna\"\n | \"Europe/Warsaw\"\n | \"Europe/Zagreb\"\n | \"Europe/Zurich\"\n | \"Africa/Blantyre\"\n | \"Africa/Bujumbura\"\n | \"Africa/Cairo\"\n | \"Africa/Gaborone\"\n | \"Africa/Harare\"\n | \"Africa/Johannesburg\"\n | \"Africa/Juba\"\n | \"Africa/Khartoum\"\n | \"Africa/Kigali\"\n | \"Africa/Lubumbashi\"\n | \"Africa/Lusaka\"\n | \"Africa/Maputo\"\n | \"Africa/Maseru\"\n | \"Africa/Mbabane\"\n | \"Africa/Tripoli\"\n | \"Asia/Amman\"\n | \"Asia/Beirut\"\n | \"Asia/Damascus\"\n | \"Asia/Famagusta\"\n | \"Asia/Gaza\"\n | \"Asia/Hebron\"\n | \"Asia/Jerusalem\"\n | \"Asia/Nicosia\"\n | \"Europe/Athens\"\n | \"Europe/Bucharest\"\n | \"Europe/Chisinau\"\n | \"Europe/Helsinki\"\n | \"Europe/Kaliningrad\"\n | \"Europe/Kyiv\"\n | \"Europe/Mariehamn\"\n | \"Europe/Riga\"\n | \"Europe/Sofia\"\n | \"Europe/Tallinn\"\n | \"Europe/Uzhgorod\"\n | \"Europe/Vilnius\"\n | \"Europe/Zaporizhzhia\"\n | \"Africa/Addis_Ababa\"\n | \"Africa/Asmara\"\n | \"Africa/Dar_es_Salaam\"\n | \"Africa/Djibouti\"\n | \"Africa/Kampala\"\n | \"Africa/Mogadishu\"\n | \"Africa/Nairobi\"\n | \"Antarctica/Syowa\"\n | \"Asia/Aden\"\n | \"Asia/Baghdad\"\n | \"Asia/Bahrain\"\n | \"Asia/Kuwait\"\n | \"Asia/Qatar\"\n | \"Asia/Riyadh\"\n | \"Europe/Istanbul\"\n | \"Europe/Kirov\"\n | \"Europe/Minsk\"\n | \"Europe/Moscow\"\n | \"Europe/Simferopol\"\n | \"Europe/Volgograd\"\n | \"Indian/Antananarivo\"\n | \"Indian/Comoro\"\n | \"Indian/Mayotte\"\n | \"Asia/Tehran\"\n | \"Asia/Baku\"\n | \"Asia/Dubai\"\n | \"Asia/Muscat\"\n | \"Asia/Tbilisi\"\n | \"Asia/Yerevan\"\n | \"Europe/Astrakhan\"\n | \"Europe/Samara\"\n | \"Europe/Saratov\"\n | \"Europe/Ulyanovsk\"\n | \"Indian/Mahe\"\n | \"Indian/Mauritius\"\n | \"Indian/Reunion\"\n | \"Asia/Kabul\"\n | \"Antarctica/Mawson\"\n | \"Asia/Aqtau\"\n | \"Asia/Aqtobe\"\n | \"Asia/Ashgabat\"\n | \"Asia/Atyrau\"\n | \"Asia/Dushanbe\"\n | \"Asia/Karachi\"\n | \"Asia/Oral\"\n | \"Asia/Qyzylorda\"\n | \"Asia/Samarkand\"\n | \"Asia/Tashkent\"\n | \"Asia/Yekaterinburg\"\n | \"Indian/Kerguelen\"\n | \"Indian/Maldives\"\n | \"Asia/Colombo\"\n | \"Asia/Kolkata\"\n | \"Asia/Kathmandu\"\n | \"Antarctica/Vostok\"\n | \"Asia/Almaty\"\n | \"Asia/Bishkek\"\n | \"Asia/Dhaka\"\n | \"Asia/Omsk\"\n | \"Asia/Qostanay\"\n | \"Asia/Thimphu\"\n | \"Asia/Urumqi\"\n | \"Indian/Chagos\"\n | \"Asia/Yangon\"\n | \"Indian/Cocos\"\n | \"Antarctica/Davis\"\n | \"Asia/Bangkok\"\n | \"Asia/Barnaul\"\n | \"Asia/Hovd\"\n | \"Asia/Ho_Chi_Minh\"\n | \"Asia/Jakarta\"\n | \"Asia/Krasnoyarsk\"\n | \"Asia/Novokuznetsk\"\n | \"Asia/Novosibirsk\"\n | \"Asia/Phnom_Penh\"\n | \"Asia/Pontianak\"\n | \"Asia/Tomsk\"\n | \"Asia/Vientiane\"\n | \"Indian/Christmas\"\n | \"Asia/Brunei\"\n | \"Asia/Choibalsan\"\n | \"Asia/Hong_Kong\"\n | \"Asia/Irkutsk\"\n | \"Asia/Kuala_Lumpur\"\n | \"Asia/Kuching\"\n | \"Asia/Macau\"\n | \"Asia/Makassar\"\n | \"Asia/Manila\"\n | \"Asia/Shanghai\"\n | \"Asia/Singapore\"\n | \"Asia/Taipei\"\n | \"Asia/Ulaanbaatar\"\n | \"Australia/Perth\"\n | \"Australia/Eucla\"\n | \"Asia/Chita\"\n | \"Asia/Dili\"\n | \"Asia/Jayapura\"\n | \"Asia/Khandyga\"\n | \"Asia/Pyongyang\"\n | \"Asia/Seoul\"\n | \"Asia/Tokyo\"\n | \"Asia/Yakutsk\"\n | \"Pacific/Palau\"\n | \"Australia/Adelaide\"\n | \"Australia/Broken_Hill\"\n | \"Australia/Darwin\"\n | \"Antarctica/DumontDUrville\"\n | \"Antarctica/Macquarie\"\n | \"Asia/Ust-Nera\"\n | \"Asia/Vladivostok\"\n | \"Australia/Brisbane\"\n | \"Australia/Currie\"\n | \"Australia/Hobart\"\n | \"Australia/Lindeman\"\n | \"Australia/Melbourne\"\n | \"Australia/Sydney\"\n | \"Pacific/Chuuk\"\n | \"Pacific/Guam\"\n | \"Pacific/Port_Moresby\"\n | \"Pacific/Saipan\"\n | \"Australia/Lord_Howe\"\n | \"Antarctica/Casey\"\n | \"Asia/Magadan\"\n | \"Asia/Sakhalin\"\n | \"Asia/Srednekolymsk\"\n | \"Pacific/Bougainville\"\n | \"Pacific/Efate\"\n | \"Pacific/Guadalcanal\"\n | \"Pacific/Kosrae\"\n | \"Pacific/Norfolk\"\n | \"Pacific/Noumea\"\n | \"Pacific/Pohnpei\"\n | \"Antarctica/McMurdo\"\n | \"Asia/Anadyr\"\n | \"Asia/Kamchatka\"\n | \"Pacific/Auckland\"\n | \"Pacific/Fiji\"\n | \"Pacific/Funafuti\"\n | \"Pacific/Kwajalein\"\n | \"Pacific/Majuro\"\n | \"Pacific/Nauru\"\n | \"Pacific/Tarawa\"\n | \"Pacific/Wake\"\n | \"Pacific/Wallis\"\n | \"Pacific/Chatham\"\n | \"Pacific/Apia\"\n | \"Pacific/Enderbury\"\n | \"Pacific/Fakaofo\"\n | \"Pacific/Tongatapu\"\n | \"Pacific/Kiritimati\";\n\nexport type ScheduleTrigger<Args> = ParserScheduleTriggerInput & {\n __args: Args;\n};\n\nexport function scheduleTrigger<T extends string>({\n cron,\n timezone,\n}: {\n cron: StandardCRON<T> extends never ? never : T;\n timezone?: Timezone;\n}): ScheduleTrigger<EmptyObject> {\n return {\n kind: \"schedule\",\n cron,\n timezone,\n __args: {} as EmptyObject,\n };\n}\n","import type { IncomingWebhookTrigger as ParserIncomingWebhookTrigger } from \"@/parser/service/executor/types\";\n\nexport interface IncomingWebhookArgs<T extends IncomingWebhookRequest> {\n body: T[\"body\"];\n headers: T[\"headers\"];\n method: \"POST\" | \"GET\" | \"PUT\" | \"DELETE\";\n rawBody: string;\n}\n\nexport interface IncomingWebhookRequest {\n body: Record<string, unknown>;\n headers: Record<string, string>;\n}\n\nexport type IncomingWebhookTrigger<Args> = ParserIncomingWebhookTrigger & {\n __args: Args;\n};\n\nexport function incomingWebhookTrigger<\n T extends IncomingWebhookRequest,\n>(): IncomingWebhookTrigger<IncomingWebhookArgs<T>> {\n return {\n kind: \"incomingWebhook\",\n __args: {} as IncomingWebhookArgs<T>,\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { WorkflowJob } from \"./job\";\nimport type { AuthInvoker } from \"../auth\";\n\nexport interface WorkflowConfig<\n Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>,\n> {\n name: string;\n mainJob: Job;\n}\n\nexport interface Workflow<\n Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>,\n> {\n name: string;\n mainJob: Job;\n trigger: (\n args: Parameters<Job[\"trigger\"]>[0],\n options?: { authInvoker: AuthInvoker<string> },\n ) => Promise<string>;\n}\n\nexport function createWorkflow<Job extends WorkflowJob<any, any, any>>(config: {\n name: string;\n mainJob: Job;\n}): Workflow<Job> {\n return {\n ...config,\n trigger: async (args, options) => {\n return tailor.workflow.triggerWorkflow(\n config.name,\n args,\n options ? { authInvoker: options.authInvoker } : undefined,\n );\n },\n };\n}\n","import type { StaticWebsiteInput } from \"@/parser/service/staticwebsite/types\";\n\ndeclare const staticWebsiteDefinitionBrand: unique symbol;\ntype StaticWebsiteDefinitionBrand = {\n readonly [staticWebsiteDefinitionBrand]: true;\n};\n\nexport function defineStaticWebSite(\n name: string,\n config: Omit<StaticWebsiteInput, \"name\">,\n) {\n const result = {\n ...config,\n name,\n get url() {\n return `${name}:url` as const;\n },\n } as const satisfies StaticWebsiteInput & { readonly url: string };\n\n return result as typeof result & StaticWebsiteDefinitionBrand;\n}\n\nexport type StaticWebsiteConfig = Omit<\n ReturnType<typeof defineStaticWebSite>,\n \"url\"\n>;\n","import type { BuiltinIdP } from \"@/parser/service/auth/types\";\nimport type { IdPInput } from \"@/parser/service/idp/types\";\n\ndeclare const idpDefinitionBrand: unique symbol;\ntype IdpDefinitionBrand = { readonly [idpDefinitionBrand]: true };\n\nexport function defineIdp<const TClients extends string[]>(\n name: string,\n config: Omit<IdPInput, \"name\" | \"clients\"> & { clients: TClients },\n) {\n const result = {\n ...config,\n name,\n provider(providerName: string, clientName: TClients[number]) {\n return {\n name: providerName,\n kind: \"BuiltInIdP\",\n namespace: name,\n clientName,\n } as const satisfies BuiltinIdP;\n },\n } as const satisfies IdPInput & {\n provider: (\n providerName: string,\n clientName: TClients[number],\n ) => BuiltinIdP;\n };\n\n return result as typeof result & IdpDefinitionBrand;\n}\n\nexport type IdPExternalConfig = { name: string; external: true };\n\nexport type IdPConfig =\n | Omit<ReturnType<typeof defineIdp>, \"provider\">\n | IdPExternalConfig;\n","import { t as _t } from \"@/configure/types\";\nimport type * as helperTypes from \"@/configure/types/helpers\";\n\ntype TailorOutput<T> = helperTypes.output<T>;\n\nexport type infer<T> = TailorOutput<T>;\nexport type output<T> = TailorOutput<T>;\n\n// eslint-disable-next-line import/export\nexport const t = { ..._t };\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\nexport namespace t {\n export type output<T> = TailorOutput<T>;\n export type infer<T> = TailorOutput<T>;\n}\n\nexport {\n TailorField,\n type TailorUser,\n unauthenticatedTailorUser,\n type AttributeMap,\n type AttributeList,\n type Env,\n} from \"@/configure/types\";\n\nexport * from \"@/configure/services\";\n\nexport { defineConfig, defineGenerators } from \"@/configure/config\";\n"],"mappings":";;;AAqBA,SAAgB,eAKd,QAQA;CACA,MAAM,mBACJ,OAAO,kBAAkB,cACrB,OAAO,SACPA,IAAE,OAAO,OAAO,OAAO;AAE7B,QAAO;EACL,GAAG;EACH,QAAQ;EACT;;;;;AC/BH,SAAgB,eACd,QACA;AACA,KAAI,OAAO,UAAU,SAAS,UAC5B,QAAO,UAAU,QAAQ,OAAO,UAAU,MAAM,UAAU;AAE5D,QAAO;;;;;AC6BT,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAOH,SAAgB,wBAAkD,EAChE,UACA,aAImD;AACnD,QAAO;EACL,MAAM;EACN,cAAc,SAAS;EACvB;EACA,QAAQ,EAAE;EACX;;;;;ACuUH,SAAgB,gBAAkC,EAChD,MACA,YAI+B;AAC/B,QAAO;EACL,MAAM;EACN;EACA;EACA,QAAQ,EAAE;EACX;;;;;AC7aH,SAAgB,yBAEoC;AAClD,QAAO;EACL,MAAM;EACN,QAAQ,EAAE;EACX;;;;;ACFH,SAAgB,eAAuD,QAGrD;AAChB,QAAO;EACL,GAAG;EACH,SAAS,OAAO,MAAM,YAAY;AAChC,UAAO,OAAO,SAAS,gBACrB,OAAO,MACP,MACA,UAAU,EAAE,aAAa,QAAQ,aAAa,GAAG,OAClD;;EAEJ;;;;;AC5BH,SAAgB,oBACd,MACA,QACA;AASA,QARe;EACb,GAAG;EACH;EACA,IAAI,MAAM;AACR,UAAO,GAAG,KAAK;;EAElB;;;;;ACXH,SAAgB,UACd,MACA,QACA;AAmBA,QAlBe;EACb,GAAG;EACH;EACA,SAAS,cAAsB,YAA8B;AAC3D,UAAO;IACL,MAAM;IACN,MAAM;IACN,WAAW;IACX;IACD;;EAEJ;;;;;ACZH,MAAa,IAAI,EAAE,GAAGC,KAAI"}
1
+ {"version":3,"file":"index.mjs","names":["t","_t"],"sources":["../../src/configure/services/resolver/resolver.ts","../../src/configure/services/executor/executor.ts","../../src/configure/services/executor/trigger/event.ts","../../src/configure/services/executor/trigger/schedule.ts","../../src/configure/services/executor/trigger/webhook.ts","../../src/configure/services/workflow/workflow.ts","../../src/configure/services/staticwebsite/index.ts","../../src/configure/services/idp/index.ts","../../src/configure/index.ts"],"sourcesContent":["import { t, TailorField } from \"@/configure/types/type\";\nimport type { TailorUser } from \"@/configure/types\";\nimport type { TailorEnv } from \"@/configure/types/env\";\nimport type { InferFieldsOutput, output } from \"@/configure/types/helpers\";\nimport type { ResolverInput } from \"@/parser/service/resolver/types\";\n\ntype Context<Input extends Record<string, TailorField<any>> | undefined> = {\n input: Input extends Record<string, TailorField<any>>\n ? InferFieldsOutput<Input>\n : never;\n user: TailorUser;\n env: TailorEnv;\n};\n\ntype OutputType<O> =\n O extends TailorField<any>\n ? output<O>\n : O extends Record<string, TailorField<any>>\n ? InferFieldsOutput<O>\n : never;\n\nexport function createResolver<\n Input extends Record<string, TailorField<any>> | undefined = undefined,\n Output extends TailorField<any> | Record<string, TailorField<any>> =\n TailorField<any>,\n>(\n config: Omit<ResolverInput, \"input\" | \"output\" | \"body\"> &\n Readonly<{\n input?: Input;\n output: Output;\n body: (\n context: Context<Input>,\n ) => OutputType<Output> | Promise<OutputType<Output>>;\n }>,\n) {\n const normalizedOutput =\n config.output instanceof TailorField\n ? config.output\n : t.object(config.output);\n\n return {\n ...config,\n output: normalizedOutput,\n };\n}\n\nexport type ResolverConfig = ReturnType<typeof createResolver<any, any>>;\n","import type { Operation } from \"./operation\";\nimport type { Trigger } from \"./trigger\";\nimport type { AuthInvoker } from \"@/configure/services/auth\";\nimport type { Workflow } from \"@/configure/services/workflow/workflow\";\nimport type { ExecutorInput } from \"@/parser/service/executor/types\";\n\n/**\n * Extract mainJob's Input type from Workflow.\n */\ntype WorkflowInput<W extends Workflow> = Parameters<W[\"trigger\"]>[0];\n\ntype ExecutorBase<Args> = Omit<ExecutorInput, \"trigger\" | \"operation\"> & {\n trigger: Trigger<Args>;\n};\n\n/**\n * Executor type with conditional inference for workflow operations.\n * When operation.kind is \"workflow\", infers W from the workflow property\n * to ensure args type matches the workflow's mainJob input type.\n */\ntype Executor<Args, O> = O extends {\n kind: \"workflow\";\n workflow: infer W extends Workflow;\n}\n ? ExecutorBase<Args> & {\n operation: {\n kind: \"workflow\";\n workflow: W;\n args?: WorkflowInput<W> | ((args: Args) => WorkflowInput<W>);\n authInvoker?: AuthInvoker<string>;\n };\n }\n : ExecutorBase<Args> & {\n operation: O;\n };\n\nexport function createExecutor<\n Args,\n O extends Operation<Args> | { kind: \"workflow\"; workflow: Workflow },\n>(config: Executor<Args, O>) {\n return config;\n}\n","import type { ResolverConfig } from \"@/configure/services/resolver/resolver\";\nimport type { TailorDBType } from \"@/configure/services/tailordb/schema\";\nimport type { output } from \"@/configure/types/helpers\";\nimport type {\n RecordTrigger as ParserRecordTrigger,\n ResolverExecutedTrigger as ParserResolverExecutedTrigger,\n} from \"@/parser/service/executor/types\";\n\ninterface EventArgs {\n workspaceId: string;\n appNamespace: string;\n}\n\ninterface RecordArgs extends EventArgs {\n typeName: string;\n}\n\nexport interface RecordCreatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n}\n\nexport interface RecordUpdatedArgs<T extends TailorDBType> extends RecordArgs {\n newRecord: output<T>;\n oldRecord: output<T>;\n}\n\nexport interface RecordDeletedArgs<T extends TailorDBType> extends RecordArgs {\n oldRecord: output<T>;\n}\n\nexport type ResolverExecutedArgs<R extends ResolverConfig> = EventArgs & {\n resolverName: string;\n} & (\n | {\n result: output<R[\"output\"]>;\n error: undefined;\n }\n | {\n result: undefined;\n error: string;\n }\n );\n\nexport type RecordTrigger<Args> = ParserRecordTrigger & {\n __args: Args;\n};\n\nexport function recordCreatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordCreatedArgs<T>) => boolean;\n}): RecordTrigger<RecordCreatedArgs<T>> {\n return {\n kind: \"recordCreated\",\n typeName: type.name,\n condition,\n __args: {} as RecordCreatedArgs<T>,\n };\n}\n\nexport function recordUpdatedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordUpdatedArgs<T>) => boolean;\n}): RecordTrigger<RecordUpdatedArgs<T>> {\n return {\n kind: \"recordUpdated\",\n typeName: type.name,\n condition,\n __args: {} as RecordUpdatedArgs<T>,\n };\n}\n\nexport function recordDeletedTrigger<T extends TailorDBType>({\n type,\n condition,\n}: {\n type: T;\n condition?: (args: RecordDeletedArgs<T>) => boolean;\n}): RecordTrigger<RecordDeletedArgs<T>> {\n return {\n kind: \"recordDeleted\",\n typeName: type.name,\n condition,\n __args: {} as RecordDeletedArgs<T>,\n };\n}\n\nexport type ResolverExecutedTrigger<Args> = ParserResolverExecutedTrigger & {\n __args: Args;\n};\n\nexport function resolverExecutedTrigger<R extends ResolverConfig>({\n resolver,\n condition,\n}: {\n resolver: R;\n condition?: (args: ResolverExecutedArgs<R>) => boolean;\n}): ResolverExecutedTrigger<ResolverExecutedArgs<R>> {\n return {\n kind: \"resolverExecuted\",\n resolverName: resolver.name,\n condition,\n __args: {} as ResolverExecutedArgs<R>,\n };\n}\n","import type { ScheduleTriggerInput as ParserScheduleTriggerInput } from \"@/parser/service/executor/types\";\nimport type { StandardCRON } from \"ts-cron-validator\";\nimport type { EmptyObject } from \"type-fest\";\n\ntype Timezone =\n | \"UTC\"\n | \"Pacific/Midway\"\n | \"Pacific/Niue\"\n | \"Pacific/Pago_Pago\"\n | \"America/Adak\"\n | \"Pacific/Honolulu\"\n | \"Pacific/Rarotonga\"\n | \"Pacific/Tahiti\"\n | \"Pacific/Marquesas\"\n | \"America/Anchorage\"\n | \"America/Juneau\"\n | \"America/Metlakatla\"\n | \"America/Nome\"\n | \"America/Sitka\"\n | \"America/Yakutat\"\n | \"Pacific/Gambier\"\n | \"America/Los_Angeles\"\n | \"America/Tijuana\"\n | \"America/Vancouver\"\n | \"Pacific/Pitcairn\"\n | \"America/Boise\"\n | \"America/Cambridge_Bay\"\n | \"America/Chihuahua\"\n | \"America/Creston\"\n | \"America/Dawson\"\n | \"America/Dawson_Creek\"\n | \"America/Denver\"\n | \"America/Edmonton\"\n | \"America/Fort_Nelson\"\n | \"America/Hermosillo\"\n | \"America/Inuvik\"\n | \"America/Mazatlan\"\n | \"America/Ojinaga\"\n | \"America/Phoenix\"\n | \"America/Whitehorse\"\n | \"America/Yellowknife\"\n | \"America/Bahia_Banderas\"\n | \"America/Belize\"\n | \"America/Chicago\"\n | \"America/Costa_Rica\"\n | \"America/El_Salvador\"\n | \"America/Guatemala\"\n | \"America/Indiana/Knox\"\n | \"America/Indiana/Tell_City\"\n | \"America/Managua\"\n | \"America/Matamoros\"\n | \"America/Menominee\"\n | \"America/Merida\"\n | \"America/Mexico_City\"\n | \"America/Monterrey\"\n | \"America/North_Dakota/Beulah\"\n | \"America/North_Dakota/Center\"\n | \"America/North_Dakota/New_Salem\"\n | \"America/Rainy_River\"\n | \"America/Rankin_Inlet\"\n | \"America/Regina\"\n | \"America/Resolute\"\n | \"America/Swift_Current\"\n | \"America/Tegucigalpa\"\n | \"America/Winnipeg\"\n | \"Pacific/Easter\"\n | \"Pacific/Galapagos\"\n | \"America/Atikokan\"\n | \"America/Bogota\"\n | \"America/Cancun\"\n | \"America/Cayman\"\n | \"America/Detroit\"\n | \"America/Eirunepe\"\n | \"America/Grand_Turk\"\n | \"America/Guayaquil\"\n | \"America/Havana\"\n | \"America/Indiana/Indianapolis\"\n | \"America/Indiana/Marengo\"\n | \"America/Indiana/Petersburg\"\n | \"America/Indiana/Vevay\"\n | \"America/Indiana/Vincennes\"\n | \"America/Indiana/Winamac\"\n | \"America/Iqaluit\"\n | \"America/Jamaica\"\n | \"America/Kentucky/Louisville\"\n | \"America/Kentucky/Monticello\"\n | \"America/Lima\"\n | \"America/Nassau\"\n | \"America/New_York\"\n | \"America/Nipigon\"\n | \"America/Panama\"\n | \"America/Pangnirtung\"\n | \"America/Port-au-Prince\"\n | \"America/Rio_Branco\"\n | \"America/Thunder_Bay\"\n | \"America/Toronto\"\n | \"America/Anguilla\"\n | \"America/Antigua\"\n | \"America/Aruba\"\n | \"America/Asuncion\"\n | \"America/Barbados\"\n | \"America/Blanc-Sablon\"\n | \"America/Boa_Vista\"\n | \"America/Campo_Grande\"\n | \"America/Caracas\"\n | \"America/Cuiaba\"\n | \"America/Curacao\"\n | \"America/Dominica\"\n | \"America/Glace_Bay\"\n | \"America/Goose_Bay\"\n | \"America/Grenada\"\n | \"America/Guadeloupe\"\n | \"America/Guyana\"\n | \"America/Halifax\"\n | \"America/Kralendijk\"\n | \"America/La_Paz\"\n | \"America/Lower_Princes\"\n | \"America/Manaus\"\n | \"America/Marigot\"\n | \"America/Martinique\"\n | \"America/Moncton\"\n | \"America/Montserrat\"\n | \"America/Porto_Velho\"\n | \"America/Port_of_Spain\"\n | \"America/Puerto_Rico\"\n | \"America/Santiago\"\n | \"America/Santo_Domingo\"\n | \"America/St_Barthelemy\"\n | \"America/St_Kitts\"\n | \"America/St_Lucia\"\n | \"America/St_Thomas\"\n | \"America/St_Vincent\"\n | \"America/Thule\"\n | \"America/Tortola\"\n | \"Atlantic/Bermuda\"\n | \"America/St_Johns\"\n | \"America/Araguaina\"\n | \"America/Argentina/Buenos_Aires\"\n | \"America/Argentina/Catamarca\"\n | \"America/Argentina/Cordoba\"\n | \"America/Argentina/Jujuy\"\n | \"America/Argentina/La_Rioja\"\n | \"America/Argentina/Mendoza\"\n | \"America/Argentina/Rio_Gallegos\"\n | \"America/Argentina/Salta\"\n | \"America/Argentina/San_Juan\"\n | \"America/Argentina/San_Luis\"\n | \"America/Argentina/Tucuman\"\n | \"America/Argentina/Ushuaia\"\n | \"America/Bahia\"\n | \"America/Belem\"\n | \"America/Cayenne\"\n | \"America/Fortaleza\"\n | \"America/Godthab\"\n | \"America/Maceio\"\n | \"America/Miquelon\"\n | \"America/Montevideo\"\n | \"America/Paramaribo\"\n | \"America/Punta_Arenas\"\n | \"America/Recife\"\n | \"America/Santarem\"\n | \"America/Sao_Paulo\"\n | \"Antarctica/Palmer\"\n | \"Antarctica/Rothera\"\n | \"Atlantic/Stanley\"\n | \"America/Noronha\"\n | \"Atlantic/South_Georgia\"\n | \"America/Scoresbysund\"\n | \"Atlantic/Azores\"\n | \"Atlantic/Cape_Verde\"\n | \"Africa/Abidjan\"\n | \"Africa/Accra\"\n | \"Africa/Bamako\"\n | \"Africa/Banjul\"\n | \"Africa/Bissau\"\n | \"Africa/Casablanca\"\n | \"Africa/Conakry\"\n | \"Africa/Dakar\"\n | \"Africa/El_Aaiun\"\n | \"Africa/Freetown\"\n | \"Africa/Lome\"\n | \"Africa/Monrovia\"\n | \"Africa/Nouakchott\"\n | \"Africa/Ouagadougou\"\n | \"Africa/Sao_Tome\"\n | \"America/Danmarkshavn\"\n | \"Antarctica/Troll\"\n | \"Atlantic/Canary\"\n | \"Atlantic/Faroe\"\n | \"Atlantic/Madeira\"\n | \"Atlantic/Reykjavik\"\n | \"Atlantic/St_Helena\"\n | \"Europe/Dublin\"\n | \"Europe/Guernsey\"\n | \"Europe/Isle_of_Man\"\n | \"Europe/Jersey\"\n | \"Europe/Lisbon\"\n | \"Europe/London\"\n | \"Africa/Algiers\"\n | \"Africa/Bangui\"\n | \"Africa/Brazzaville\"\n | \"Africa/Ceuta\"\n | \"Africa/Douala\"\n | \"Africa/Kinshasa\"\n | \"Africa/Lagos\"\n | \"Africa/Libreville\"\n | \"Africa/Luanda\"\n | \"Africa/Malabo\"\n | \"Africa/Ndjamena\"\n | \"Africa/Niamey\"\n | \"Africa/Porto-Novo\"\n | \"Africa/Tunis\"\n | \"Africa/Windhoek\"\n | \"Arctic/Longyearbyen\"\n | \"Europe/Amsterdam\"\n | \"Europe/Andorra\"\n | \"Europe/Belgrade\"\n | \"Europe/Berlin\"\n | \"Europe/Bratislava\"\n | \"Europe/Brussels\"\n | \"Europe/Budapest\"\n | \"Europe/Copenhagen\"\n | \"Europe/Gibraltar\"\n | \"Europe/Ljubljana\"\n | \"Europe/Luxembourg\"\n | \"Europe/Madrid\"\n | \"Europe/Malta\"\n | \"Europe/Monaco\"\n | \"Europe/Oslo\"\n | \"Europe/Paris\"\n | \"Europe/Podgorica\"\n | \"Europe/Prague\"\n | \"Europe/Rome\"\n | \"Europe/San_Marino\"\n | \"Europe/Sarajevo\"\n | \"Europe/Skopje\"\n | \"Europe/Stockholm\"\n | \"Europe/Tirane\"\n | \"Europe/Vaduz\"\n | \"Europe/Vatican\"\n | \"Europe/Vienna\"\n | \"Europe/Warsaw\"\n | \"Europe/Zagreb\"\n | \"Europe/Zurich\"\n | \"Africa/Blantyre\"\n | \"Africa/Bujumbura\"\n | \"Africa/Cairo\"\n | \"Africa/Gaborone\"\n | \"Africa/Harare\"\n | \"Africa/Johannesburg\"\n | \"Africa/Juba\"\n | \"Africa/Khartoum\"\n | \"Africa/Kigali\"\n | \"Africa/Lubumbashi\"\n | \"Africa/Lusaka\"\n | \"Africa/Maputo\"\n | \"Africa/Maseru\"\n | \"Africa/Mbabane\"\n | \"Africa/Tripoli\"\n | \"Asia/Amman\"\n | \"Asia/Beirut\"\n | \"Asia/Damascus\"\n | \"Asia/Famagusta\"\n | \"Asia/Gaza\"\n | \"Asia/Hebron\"\n | \"Asia/Jerusalem\"\n | \"Asia/Nicosia\"\n | \"Europe/Athens\"\n | \"Europe/Bucharest\"\n | \"Europe/Chisinau\"\n | \"Europe/Helsinki\"\n | \"Europe/Kaliningrad\"\n | \"Europe/Kyiv\"\n | \"Europe/Mariehamn\"\n | \"Europe/Riga\"\n | \"Europe/Sofia\"\n | \"Europe/Tallinn\"\n | \"Europe/Uzhgorod\"\n | \"Europe/Vilnius\"\n | \"Europe/Zaporizhzhia\"\n | \"Africa/Addis_Ababa\"\n | \"Africa/Asmara\"\n | \"Africa/Dar_es_Salaam\"\n | \"Africa/Djibouti\"\n | \"Africa/Kampala\"\n | \"Africa/Mogadishu\"\n | \"Africa/Nairobi\"\n | \"Antarctica/Syowa\"\n | \"Asia/Aden\"\n | \"Asia/Baghdad\"\n | \"Asia/Bahrain\"\n | \"Asia/Kuwait\"\n | \"Asia/Qatar\"\n | \"Asia/Riyadh\"\n | \"Europe/Istanbul\"\n | \"Europe/Kirov\"\n | \"Europe/Minsk\"\n | \"Europe/Moscow\"\n | \"Europe/Simferopol\"\n | \"Europe/Volgograd\"\n | \"Indian/Antananarivo\"\n | \"Indian/Comoro\"\n | \"Indian/Mayotte\"\n | \"Asia/Tehran\"\n | \"Asia/Baku\"\n | \"Asia/Dubai\"\n | \"Asia/Muscat\"\n | \"Asia/Tbilisi\"\n | \"Asia/Yerevan\"\n | \"Europe/Astrakhan\"\n | \"Europe/Samara\"\n | \"Europe/Saratov\"\n | \"Europe/Ulyanovsk\"\n | \"Indian/Mahe\"\n | \"Indian/Mauritius\"\n | \"Indian/Reunion\"\n | \"Asia/Kabul\"\n | \"Antarctica/Mawson\"\n | \"Asia/Aqtau\"\n | \"Asia/Aqtobe\"\n | \"Asia/Ashgabat\"\n | \"Asia/Atyrau\"\n | \"Asia/Dushanbe\"\n | \"Asia/Karachi\"\n | \"Asia/Oral\"\n | \"Asia/Qyzylorda\"\n | \"Asia/Samarkand\"\n | \"Asia/Tashkent\"\n | \"Asia/Yekaterinburg\"\n | \"Indian/Kerguelen\"\n | \"Indian/Maldives\"\n | \"Asia/Colombo\"\n | \"Asia/Kolkata\"\n | \"Asia/Kathmandu\"\n | \"Antarctica/Vostok\"\n | \"Asia/Almaty\"\n | \"Asia/Bishkek\"\n | \"Asia/Dhaka\"\n | \"Asia/Omsk\"\n | \"Asia/Qostanay\"\n | \"Asia/Thimphu\"\n | \"Asia/Urumqi\"\n | \"Indian/Chagos\"\n | \"Asia/Yangon\"\n | \"Indian/Cocos\"\n | \"Antarctica/Davis\"\n | \"Asia/Bangkok\"\n | \"Asia/Barnaul\"\n | \"Asia/Hovd\"\n | \"Asia/Ho_Chi_Minh\"\n | \"Asia/Jakarta\"\n | \"Asia/Krasnoyarsk\"\n | \"Asia/Novokuznetsk\"\n | \"Asia/Novosibirsk\"\n | \"Asia/Phnom_Penh\"\n | \"Asia/Pontianak\"\n | \"Asia/Tomsk\"\n | \"Asia/Vientiane\"\n | \"Indian/Christmas\"\n | \"Asia/Brunei\"\n | \"Asia/Choibalsan\"\n | \"Asia/Hong_Kong\"\n | \"Asia/Irkutsk\"\n | \"Asia/Kuala_Lumpur\"\n | \"Asia/Kuching\"\n | \"Asia/Macau\"\n | \"Asia/Makassar\"\n | \"Asia/Manila\"\n | \"Asia/Shanghai\"\n | \"Asia/Singapore\"\n | \"Asia/Taipei\"\n | \"Asia/Ulaanbaatar\"\n | \"Australia/Perth\"\n | \"Australia/Eucla\"\n | \"Asia/Chita\"\n | \"Asia/Dili\"\n | \"Asia/Jayapura\"\n | \"Asia/Khandyga\"\n | \"Asia/Pyongyang\"\n | \"Asia/Seoul\"\n | \"Asia/Tokyo\"\n | \"Asia/Yakutsk\"\n | \"Pacific/Palau\"\n | \"Australia/Adelaide\"\n | \"Australia/Broken_Hill\"\n | \"Australia/Darwin\"\n | \"Antarctica/DumontDUrville\"\n | \"Antarctica/Macquarie\"\n | \"Asia/Ust-Nera\"\n | \"Asia/Vladivostok\"\n | \"Australia/Brisbane\"\n | \"Australia/Currie\"\n | \"Australia/Hobart\"\n | \"Australia/Lindeman\"\n | \"Australia/Melbourne\"\n | \"Australia/Sydney\"\n | \"Pacific/Chuuk\"\n | \"Pacific/Guam\"\n | \"Pacific/Port_Moresby\"\n | \"Pacific/Saipan\"\n | \"Australia/Lord_Howe\"\n | \"Antarctica/Casey\"\n | \"Asia/Magadan\"\n | \"Asia/Sakhalin\"\n | \"Asia/Srednekolymsk\"\n | \"Pacific/Bougainville\"\n | \"Pacific/Efate\"\n | \"Pacific/Guadalcanal\"\n | \"Pacific/Kosrae\"\n | \"Pacific/Norfolk\"\n | \"Pacific/Noumea\"\n | \"Pacific/Pohnpei\"\n | \"Antarctica/McMurdo\"\n | \"Asia/Anadyr\"\n | \"Asia/Kamchatka\"\n | \"Pacific/Auckland\"\n | \"Pacific/Fiji\"\n | \"Pacific/Funafuti\"\n | \"Pacific/Kwajalein\"\n | \"Pacific/Majuro\"\n | \"Pacific/Nauru\"\n | \"Pacific/Tarawa\"\n | \"Pacific/Wake\"\n | \"Pacific/Wallis\"\n | \"Pacific/Chatham\"\n | \"Pacific/Apia\"\n | \"Pacific/Enderbury\"\n | \"Pacific/Fakaofo\"\n | \"Pacific/Tongatapu\"\n | \"Pacific/Kiritimati\";\n\nexport type ScheduleTrigger<Args> = ParserScheduleTriggerInput & {\n __args: Args;\n};\n\nexport function scheduleTrigger<T extends string>({\n cron,\n timezone,\n}: {\n cron: StandardCRON<T> extends never ? never : T;\n timezone?: Timezone;\n}): ScheduleTrigger<EmptyObject> {\n return {\n kind: \"schedule\",\n cron,\n timezone,\n __args: {} as EmptyObject,\n };\n}\n","import type { IncomingWebhookTrigger as ParserIncomingWebhookTrigger } from \"@/parser/service/executor/types\";\n\nexport interface IncomingWebhookArgs<T extends IncomingWebhookRequest> {\n body: T[\"body\"];\n headers: T[\"headers\"];\n method: \"POST\" | \"GET\" | \"PUT\" | \"DELETE\";\n rawBody: string;\n}\n\nexport interface IncomingWebhookRequest {\n body: Record<string, unknown>;\n headers: Record<string, string>;\n}\n\nexport type IncomingWebhookTrigger<Args> = ParserIncomingWebhookTrigger & {\n __args: Args;\n};\n\nexport function incomingWebhookTrigger<\n T extends IncomingWebhookRequest,\n>(): IncomingWebhookTrigger<IncomingWebhookArgs<T>> {\n return {\n kind: \"incomingWebhook\",\n __args: {} as IncomingWebhookArgs<T>,\n };\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { WorkflowJob } from \"./job\";\nimport type { AuthInvoker } from \"../auth\";\n\nexport interface WorkflowConfig<\n Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>,\n> {\n name: string;\n mainJob: Job;\n}\n\nexport interface Workflow<\n Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>,\n> {\n name: string;\n mainJob: Job;\n trigger: (\n args: Parameters<Job[\"trigger\"]>[0],\n options?: { authInvoker: AuthInvoker<string> },\n ) => Promise<string>;\n}\n\nexport function createWorkflow<Job extends WorkflowJob<any, any, any>>(config: {\n name: string;\n mainJob: Job;\n}): Workflow<Job> {\n return {\n ...config,\n trigger: async (args, options) => {\n return tailor.workflow.triggerWorkflow(\n config.name,\n args,\n options ? { authInvoker: options.authInvoker } : undefined,\n );\n },\n };\n}\n","import type { StaticWebsiteInput } from \"@/parser/service/staticwebsite/types\";\n\ndeclare const staticWebsiteDefinitionBrand: unique symbol;\ntype StaticWebsiteDefinitionBrand = {\n readonly [staticWebsiteDefinitionBrand]: true;\n};\n\nexport function defineStaticWebSite(\n name: string,\n config: Omit<StaticWebsiteInput, \"name\">,\n) {\n const result = {\n ...config,\n name,\n get url() {\n return `${name}:url` as const;\n },\n } as const satisfies StaticWebsiteInput & { readonly url: string };\n\n return result as typeof result & StaticWebsiteDefinitionBrand;\n}\n\nexport type StaticWebsiteConfig = Omit<\n ReturnType<typeof defineStaticWebSite>,\n \"url\"\n>;\n","import type { BuiltinIdP } from \"@/parser/service/auth/types\";\nimport type { IdPInput } from \"@/parser/service/idp/types\";\n\ndeclare const idpDefinitionBrand: unique symbol;\ntype IdpDefinitionBrand = { readonly [idpDefinitionBrand]: true };\n\nexport function defineIdp<const TClients extends string[]>(\n name: string,\n config: Omit<IdPInput, \"name\" | \"clients\"> & { clients: TClients },\n) {\n const result = {\n ...config,\n name,\n provider(providerName: string, clientName: TClients[number]) {\n return {\n name: providerName,\n kind: \"BuiltInIdP\",\n namespace: name,\n clientName,\n } as const satisfies BuiltinIdP;\n },\n } as const satisfies IdPInput & {\n provider: (\n providerName: string,\n clientName: TClients[number],\n ) => BuiltinIdP;\n };\n\n return result as typeof result & IdpDefinitionBrand;\n}\n\nexport type IdPExternalConfig = { name: string; external: true };\n\nexport type IdPConfig =\n | Omit<ReturnType<typeof defineIdp>, \"provider\">\n | IdPExternalConfig;\n","import { t as _t } from \"@/configure/types\";\nimport type * as helperTypes from \"@/configure/types/helpers\";\n\ntype TailorOutput<T> = helperTypes.output<T>;\n\nexport type infer<T> = TailorOutput<T>;\nexport type output<T> = TailorOutput<T>;\n\n// eslint-disable-next-line import/export\nexport const t = { ..._t };\n// eslint-disable-next-line @typescript-eslint/no-namespace, import/export\nexport namespace t {\n export type output<T> = TailorOutput<T>;\n export type infer<T> = TailorOutput<T>;\n}\n\nexport {\n TailorField,\n type TailorUser,\n unauthenticatedTailorUser,\n type AttributeMap,\n type AttributeList,\n type Env,\n} from \"@/configure/types\";\n\nexport * from \"@/configure/services\";\n\nexport { defineConfig, defineGenerators } from \"@/configure/config\";\n"],"mappings":";;;AAqBA,SAAgB,eAKd,QAQA;CACA,MAAM,mBACJ,OAAO,kBAAkB,cACrB,OAAO,SACPA,IAAE,OAAO,OAAO,OAAO;AAE7B,QAAO;EACL,GAAG;EACH,QAAQ;EACT;;;;;ACPH,SAAgB,eAGd,QAA2B;AAC3B,QAAO;;;;;ACOT,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAGH,SAAgB,qBAA6C,EAC3D,MACA,aAIsC;AACtC,QAAO;EACL,MAAM;EACN,UAAU,KAAK;EACf;EACA,QAAQ,EAAE;EACX;;AAOH,SAAgB,wBAAkD,EAChE,UACA,aAImD;AACnD,QAAO;EACL,MAAM;EACN,cAAc,SAAS;EACvB;EACA,QAAQ,EAAE;EACX;;;;;ACuUH,SAAgB,gBAAkC,EAChD,MACA,YAI+B;AAC/B,QAAO;EACL,MAAM;EACN;EACA;EACA,QAAQ,EAAE;EACX;;;;;AC7aH,SAAgB,yBAEoC;AAClD,QAAO;EACL,MAAM;EACN,QAAQ,EAAE;EACX;;;;;ACFH,SAAgB,eAAuD,QAGrD;AAChB,QAAO;EACL,GAAG;EACH,SAAS,OAAO,MAAM,YAAY;AAChC,UAAO,OAAO,SAAS,gBACrB,OAAO,MACP,MACA,UAAU,EAAE,aAAa,QAAQ,aAAa,GAAG,OAClD;;EAEJ;;;;;AC5BH,SAAgB,oBACd,MACA,QACA;AASA,QARe;EACb,GAAG;EACH;EACA,IAAI,MAAM;AACR,UAAO,GAAG,KAAK;;EAElB;;;;;ACXH,SAAgB,UACd,MACA,QACA;AAmBA,QAlBe;EACb,GAAG;EACH;EACA,SAAS,cAAsB,YAA8B;AAC3D,UAAO;IACL,MAAM;IACN,MAAM;IACN,WAAW;IACX;IACD;;EAEJ;;;;;ACZH,MAAa,IAAI,EAAE,GAAGC,KAAI"}
@@ -1,6 +1,6 @@
1
1
  /// <reference path="./user-defined.d.ts" />
2
2
 
3
- import { AllowedValues, AllowedValuesOutput, ArrayFieldOutput, AuthInvoker, ExecutorInput, FieldMetadata, FieldOptions, FieldOutput, FunctionOperation, GqlOperation, IncomingWebhookTrigger as IncomingWebhookTrigger$1, InferFieldsOutput, JsonCompatible, RecordTrigger as RecordTrigger$1, ResolverExecutedTrigger as ResolverExecutedTrigger$1, ResolverInput, ScheduleTriggerInput, TailorDBType, TailorField, TailorUser, WebhookOperation, output as output$1 } from "./types-DGKSzhtb.mjs";
3
+ import { AllowedValues, AllowedValuesOutput, ArrayFieldOutput, AuthInvoker, ExecutorInput, FieldMetadata, FieldOptions, FieldOutput, FunctionOperation, GqlOperation, IncomingWebhookTrigger as IncomingWebhookTrigger$1, InferFieldsOutput, JsonCompatible, RecordTrigger as RecordTrigger$1, ResolverExecutedTrigger as ResolverExecutedTrigger$1, ResolverInput, ScheduleTriggerInput, TailorDBType, TailorField, TailorUser, WebhookOperation, WorkflowOperation, output as output$1 } from "./types-Da_WnvA0.mjs";
4
4
  import { EmptyObject, JsonPrimitive, Jsonifiable, Jsonify } from "type-fest";
5
5
  import { Client } from "@urql/core";
6
6
  import { StandardCRON } from "ts-cron-validator";
@@ -34,6 +34,99 @@ declare function createResolver<Input extends Record<string, TailorField<any>> |
34
34
  };
35
35
  type ResolverConfig = ReturnType<typeof createResolver<any, any>>;
36
36
  //#endregion
37
+ //#region src/configure/services/workflow/job.d.ts
38
+ /**
39
+ * Symbol used to brand WorkflowJob objects created by createWorkflowJob.
40
+ * This enables reliable runtime detection of workflow jobs regardless of
41
+ * how they were imported or assigned (variable reassignment, destructuring, etc.)
42
+ */
43
+ declare const WORKFLOW_JOB_BRAND: unique symbol;
44
+ /**
45
+ * Context object passed as the second argument to workflow job body functions.
46
+ */
47
+ type WorkflowJobContext = {
48
+ env: TailorEnv;
49
+ };
50
+ /**
51
+ * Allowed output types for workflow job body functions.
52
+ * Includes Jsonifiable (JSON-serializable values including objects with toJSON like Date),
53
+ * undefined, and void.
54
+ */
55
+ type WorkflowJobOutput = Jsonifiable | undefined | void;
56
+ /**
57
+ * Convert output type to what trigger returns after JSON serialization.
58
+ * - Jsonifiable values are converted via Jsonify (Date -> string, etc.)
59
+ * - undefined remains undefined
60
+ * - void becomes void
61
+ */
62
+ type JsonifyOutput<T> = T extends Jsonifiable ? Jsonify<T> : T;
63
+ /**
64
+ * Input type constraint for workflow jobs.
65
+ * Accepts any type that is JSON-compatible (primitives, arrays, objects with JSON-compatible values).
66
+ * Excludes objects with toJSON method (like Date) since they won't be serialized in input.
67
+ */
68
+ type WorkflowJobInput = undefined | JsonCompatible<unknown>;
69
+ /**
70
+ * WorkflowJob represents a job that can be triggered in a workflow.
71
+ *
72
+ * Type constraints:
73
+ * - Input: Must be JSON-compatible (no Date/toJSON objects) or undefined. Interfaces are allowed.
74
+ * - Output: Must be Jsonifiable, undefined, or void
75
+ * - Trigger returns Jsonify<Output> (Date becomes string after JSON.stringify)
76
+ */
77
+ interface WorkflowJob<Name extends string = string, Input = undefined, Output = undefined> {
78
+ readonly [WORKFLOW_JOB_BRAND]?: true;
79
+ name: Name;
80
+ /**
81
+ * Trigger this job with the given input.
82
+ * At runtime, this is a placeholder that calls the body function.
83
+ * During bundling, calls to .trigger() are transformed to
84
+ * tailor.workflow.triggerJobFunction("<job-name>", args).
85
+ *
86
+ * Returns Jsonify<Output> because the value passes through JSON.stringify.
87
+ */
88
+ trigger: [Input] extends [undefined] ? () => Promise<JsonifyOutput<Awaited<Output>>> : (input: Input) => Promise<JsonifyOutput<Awaited<Output>>>;
89
+ body: (input: Input, context: WorkflowJobContext) => Output | Promise<Output>;
90
+ }
91
+ /**
92
+ * Check if a type contains any non-JSON-compatible values.
93
+ * Returns `true` if the type is valid for input, `false` otherwise.
94
+ */
95
+ type IsValidInput<T> = T extends undefined ? true : T extends JsonPrimitive ? true : T extends readonly (infer U)[] ? IsValidInput<U> : T extends object ? T extends {
96
+ toJSON: () => unknown;
97
+ } ? false : { [K in keyof T]: IsValidInput<T[K]> }[keyof T] extends true ? true : false : false;
98
+ /**
99
+ * Check if a type is valid for output.
100
+ * Returns `true` if the type is valid, `false` otherwise.
101
+ */
102
+ type IsValidOutput<T> = T extends undefined | void ? true : T extends JsonPrimitive ? true : T extends readonly (infer U)[] ? IsValidOutput<U> : T extends object ? { [K in keyof T]: IsValidOutput<T[K]> }[keyof T] extends true ? true : false : false;
103
+ /**
104
+ * Body function type with conditional constraint.
105
+ * If input contains invalid types (like Date), the body type becomes `never` to cause an error.
106
+ */
107
+ type WorkflowJobBody<I, O> = IsValidInput<I> extends true ? IsValidOutput<O> extends true ? (input: I, context: WorkflowJobContext) => O | Promise<O> : never : never;
108
+ declare const createWorkflowJob: <const Name extends string, I = undefined, O = undefined>(config: {
109
+ readonly name: Name;
110
+ readonly body: WorkflowJobBody<I, O>;
111
+ }) => WorkflowJob<Name, I, Awaited<O>>;
112
+ //#endregion
113
+ //#region src/configure/services/workflow/workflow.d.ts
114
+ interface WorkflowConfig<Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>> {
115
+ name: string;
116
+ mainJob: Job;
117
+ }
118
+ interface Workflow<Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>> {
119
+ name: string;
120
+ mainJob: Job;
121
+ trigger: (args: Parameters<Job["trigger"]>[0], options?: {
122
+ authInvoker: AuthInvoker<string>;
123
+ }) => Promise<string>;
124
+ }
125
+ declare function createWorkflow<Job extends WorkflowJob<any, any, any>>(config: {
126
+ name: string;
127
+ mainJob: Job;
128
+ }): Workflow<Job>;
129
+ //#endregion
37
130
  //#region src/configure/services/executor/operation.d.ts
38
131
  type FunctionOperation$1<Args> = Omit<FunctionOperation, "body"> & {
39
132
  body: (args: Args & {
@@ -54,7 +147,17 @@ type WebhookOperation$1<Args> = Omit<WebhookOperation, "url" | "requestBody" | "
54
147
  key: string;
55
148
  } };
56
149
  };
57
- type Operation<Args> = FunctionOperation$1<Args> | GqlOperation$1<Args> | WebhookOperation$1<Args>;
150
+ /**
151
+ * Extract mainJob's Input type from Workflow.
152
+ * Workflow<Job> -> Job is WorkflowJob<Name, Input, Output> -> Input
153
+ */
154
+ type WorkflowInput$1<W extends Workflow> = Parameters<W["trigger"]>[0];
155
+ type WorkflowOperation$1<Args, W extends Workflow = Workflow> = Omit<WorkflowOperation, "workflowName" | "args" | "authInvoker"> & {
156
+ workflow: W;
157
+ args?: WorkflowInput$1<W> | ((args: Args) => WorkflowInput$1<W>);
158
+ authInvoker?: AuthInvoker<string>;
159
+ };
160
+ type Operation<Args> = FunctionOperation$1<Args> | GqlOperation$1<Args> | WebhookOperation$1<Args> | WorkflowOperation$1<Args>;
58
161
  //#endregion
59
162
  //#region src/configure/services/executor/trigger/event.d.ts
60
163
  interface EventArgs {
@@ -151,104 +254,35 @@ declare function incomingWebhookTrigger<T extends IncomingWebhookRequest>(): Inc
151
254
  type Trigger<Args> = RecordTrigger<Args> | ResolverExecutedTrigger<Args> | ScheduleTrigger<Args> | IncomingWebhookTrigger<Args>;
152
255
  //#endregion
153
256
  //#region src/configure/services/executor/executor.d.ts
154
- type Executor<Args, O extends Operation<Args>> = Omit<ExecutorInput, "trigger" | "operation"> & {
155
- trigger: Trigger<Args>;
156
- operation: O;
157
- };
158
- declare function createExecutor<Args, O extends Operation<Args>>(config: Executor<Args, O>): Executor<Args, O>;
159
- //#endregion
160
- //#region src/configure/services/workflow/job.d.ts
161
- /**
162
- * Symbol used to brand WorkflowJob objects created by createWorkflowJob.
163
- * This enables reliable runtime detection of workflow jobs regardless of
164
- * how they were imported or assigned (variable reassignment, destructuring, etc.)
165
- */
166
- declare const WORKFLOW_JOB_BRAND: unique symbol;
167
257
  /**
168
- * Context object passed as the second argument to workflow job body functions.
258
+ * Extract mainJob's Input type from Workflow.
169
259
  */
170
- type WorkflowJobContext = {
171
- env: TailorEnv;
260
+ type WorkflowInput<W extends Workflow> = Parameters<W["trigger"]>[0];
261
+ type ExecutorBase<Args> = Omit<ExecutorInput, "trigger" | "operation"> & {
262
+ trigger: Trigger<Args>;
172
263
  };
173
264
  /**
174
- * Allowed output types for workflow job body functions.
175
- * Includes Jsonifiable (JSON-serializable values including objects with toJSON like Date),
176
- * undefined, and void.
177
- */
178
- type WorkflowJobOutput = Jsonifiable | undefined | void;
179
- /**
180
- * Convert output type to what trigger returns after JSON serialization.
181
- * - Jsonifiable values are converted via Jsonify (Date -> string, etc.)
182
- * - undefined remains undefined
183
- * - void becomes void
184
- */
185
- type JsonifyOutput<T> = T extends Jsonifiable ? Jsonify<T> : T;
186
- /**
187
- * Input type constraint for workflow jobs.
188
- * Accepts any type that is JSON-compatible (primitives, arrays, objects with JSON-compatible values).
189
- * Excludes objects with toJSON method (like Date) since they won't be serialized in input.
190
- */
191
- type WorkflowJobInput = undefined | JsonCompatible<unknown>;
192
- /**
193
- * WorkflowJob represents a job that can be triggered in a workflow.
194
- *
195
- * Type constraints:
196
- * - Input: Must be JSON-compatible (no Date/toJSON objects) or undefined. Interfaces are allowed.
197
- * - Output: Must be Jsonifiable, undefined, or void
198
- * - Trigger returns Jsonify<Output> (Date becomes string after JSON.stringify)
265
+ * Executor type with conditional inference for workflow operations.
266
+ * When operation.kind is "workflow", infers W from the workflow property
267
+ * to ensure args type matches the workflow's mainJob input type.
199
268
  */
200
- interface WorkflowJob<Name extends string = string, Input = undefined, Output = undefined> {
201
- readonly [WORKFLOW_JOB_BRAND]?: true;
202
- name: Name;
203
- /**
204
- * Trigger this job with the given input.
205
- * At runtime, this is a placeholder that calls the body function.
206
- * During bundling, calls to .trigger() are transformed to
207
- * tailor.workflow.triggerJobFunction("<job-name>", args).
208
- *
209
- * Returns Jsonify<Output> because the value passes through JSON.stringify.
210
- */
211
- trigger: [Input] extends [undefined] ? () => Promise<JsonifyOutput<Awaited<Output>>> : (input: Input) => Promise<JsonifyOutput<Awaited<Output>>>;
212
- body: (input: Input, context: WorkflowJobContext) => Output | Promise<Output>;
213
- }
214
- /**
215
- * Check if a type contains any non-JSON-compatible values.
216
- * Returns `true` if the type is valid for input, `false` otherwise.
217
- */
218
- type IsValidInput<T> = T extends undefined ? true : T extends JsonPrimitive ? true : T extends readonly (infer U)[] ? IsValidInput<U> : T extends object ? T extends {
219
- toJSON: () => unknown;
220
- } ? false : { [K in keyof T]: IsValidInput<T[K]> }[keyof T] extends true ? true : false : false;
221
- /**
222
- * Check if a type is valid for output.
223
- * Returns `true` if the type is valid, `false` otherwise.
224
- */
225
- type IsValidOutput<T> = T extends undefined | void ? true : T extends JsonPrimitive ? true : T extends readonly (infer U)[] ? IsValidOutput<U> : T extends object ? { [K in keyof T]: IsValidOutput<T[K]> }[keyof T] extends true ? true : false : false;
226
- /**
227
- * Body function type with conditional constraint.
228
- * If input contains invalid types (like Date), the body type becomes `never` to cause an error.
229
- */
230
- type WorkflowJobBody<I, O> = IsValidInput<I> extends true ? IsValidOutput<O> extends true ? (input: I, context: WorkflowJobContext) => O | Promise<O> : never : never;
231
- declare const createWorkflowJob: <const Name extends string, I = undefined, O = undefined>(config: {
232
- readonly name: Name;
233
- readonly body: WorkflowJobBody<I, O>;
234
- }) => WorkflowJob<Name, I, Awaited<O>>;
235
- //#endregion
236
- //#region src/configure/services/workflow/workflow.d.ts
237
- interface WorkflowConfig<Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>> {
238
- name: string;
239
- mainJob: Job;
240
- }
241
- interface Workflow<Job extends WorkflowJob<any, any, any> = WorkflowJob<any, any, any>> {
242
- name: string;
243
- mainJob: Job;
244
- trigger: (args: Parameters<Job["trigger"]>[0], options?: {
245
- authInvoker: AuthInvoker<string>;
246
- }) => Promise<string>;
247
- }
248
- declare function createWorkflow<Job extends WorkflowJob<any, any, any>>(config: {
249
- name: string;
250
- mainJob: Job;
251
- }): Workflow<Job>;
269
+ type Executor<Args, O> = O extends {
270
+ kind: "workflow";
271
+ workflow: infer W extends Workflow;
272
+ } ? ExecutorBase<Args> & {
273
+ operation: {
274
+ kind: "workflow";
275
+ workflow: W;
276
+ args?: WorkflowInput<W> | ((args: Args) => WorkflowInput<W>);
277
+ authInvoker?: AuthInvoker<string>;
278
+ };
279
+ } : ExecutorBase<Args> & {
280
+ operation: O;
281
+ };
282
+ declare function createExecutor<Args, O extends Operation<Args> | {
283
+ kind: "workflow";
284
+ workflow: Workflow;
285
+ }>(config: Executor<Args, O>): Executor<Args, O>;
252
286
  //#endregion
253
287
  //#region src/configure/index.d.ts
254
288
  type TailorOutput<T> = output$1<T>;
@@ -321,5 +355,5 @@ declare namespace t {
321
355
  type infer<T> = TailorOutput<T>;
322
356
  }
323
357
  //#endregion
324
- export { type Env, FunctionOperation$1 as FunctionOperation, GqlOperation$1 as GqlOperation, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, Operation, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, ResolverExecutedArgs, ResolverExecutedTrigger, ScheduleTrigger, Trigger, WORKFLOW_JOB_BRAND, WebhookOperation$1 as WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowJobContext, WorkflowJobInput, WorkflowJobOutput, createExecutor, createResolver, createWorkflow, createWorkflowJob, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t };
325
- //# sourceMappingURL=index-BcDejW72.d.mts.map
358
+ export { type Env, FunctionOperation$1 as FunctionOperation, GqlOperation$1 as GqlOperation, IncomingWebhookArgs, IncomingWebhookRequest, IncomingWebhookTrigger, Operation, RecordCreatedArgs, RecordDeletedArgs, RecordTrigger, RecordUpdatedArgs, ResolverExecutedArgs, ResolverExecutedTrigger, ScheduleTrigger, Trigger, WORKFLOW_JOB_BRAND, WebhookOperation$1 as WebhookOperation, Workflow, WorkflowConfig, WorkflowJob, WorkflowJobContext, WorkflowJobInput, WorkflowJobOutput, WorkflowOperation$1 as WorkflowOperation, createExecutor, createResolver, createWorkflow, createWorkflowJob, incomingWebhookTrigger, infer, output, recordCreatedTrigger, recordDeletedTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t };
359
+ //# sourceMappingURL=index-Bin7-j3v.d.mts.map