@tailor-platform/sdk 2.0.0-next.0 → 2.0.0-next.10
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 +972 -0
- package/README.md +9 -9
- package/agent-skills/{tailor-sdk → tailor}/SKILL.md +3 -1
- package/dist/aigateway-DR4Kwuik.mjs +9 -0
- package/dist/aigateway-DR4Kwuik.mjs.map +1 -0
- package/dist/application-DArFTTJ9.mjs +3 -0
- package/dist/{application-76hhIhnJ.mjs → application-miwiXtB4.mjs} +1963 -1953
- package/dist/application-miwiXtB4.mjs.map +1 -0
- package/dist/{assert-CKfwrmCV.mjs → assert-DBxo8jPo.mjs} +1 -2
- package/dist/{assert-CKfwrmCV.mjs.map → assert-DBxo8jPo.mjs.map} +1 -1
- package/dist/authconnection-CZvi9ANm.mjs +9 -0
- package/dist/authconnection-CZvi9ANm.mjs.map +1 -0
- package/dist/{brand-DlnJ375c.mjs → brand-Eo4pLXPJ.mjs} +1 -2
- package/dist/brand-Eo4pLXPJ.mjs.map +1 -0
- package/dist/cli/cache/bundle-cache.d.mts +2 -0
- package/dist/cli/cache/store.d.mts +1 -0
- package/dist/cli/cache/types.d.mts +1 -0
- package/dist/cli/commands/api/api-call.d.mts +19 -0
- package/dist/cli/commands/api/index.d.mts +4 -0
- package/dist/cli/commands/deploy/aigateway.d.mts +5 -0
- package/dist/cli/commands/deploy/application.d.mts +7 -0
- package/dist/cli/commands/deploy/apply-phases.d.mts +14 -0
- package/dist/cli/commands/deploy/auth.d.mts +5 -0
- package/dist/cli/commands/deploy/deploy.d.mts +34 -0
- package/dist/cli/commands/deploy/executor.d.mts +7 -0
- package/dist/cli/commands/deploy/function-registry-types.d.mts +12 -0
- package/dist/cli/commands/deploy/function-registry.d.mts +7 -0
- package/dist/cli/commands/deploy/idp.d.mts +5 -0
- package/dist/cli/commands/deploy/resolver.d.mts +5 -0
- package/dist/cli/commands/deploy/secret-manager.d.mts +5 -0
- package/dist/cli/commands/deploy/staticwebsite.d.mts +5 -0
- package/dist/cli/commands/deploy/tailordb/index.d.mts +9 -0
- package/dist/cli/commands/deploy/types.d.mts +3 -0
- package/dist/cli/commands/deploy/workflow-execution-policy.d.mts +3 -0
- package/dist/cli/commands/deploy/workflow.d.mts +4 -0
- package/dist/cli/commands/executor/get.d.mts +28 -0
- package/dist/cli/commands/executor/jobs.d.mts +122 -0
- package/dist/cli/commands/executor/list.d.mts +18 -0
- package/dist/cli/commands/executor/transform.d.mts +42 -0
- package/dist/cli/commands/executor/trigger.d.mts +40 -0
- package/dist/cli/commands/executor/webhook.d.mts +21 -0
- package/dist/cli/commands/function/get.d.mts +17 -0
- package/dist/cli/commands/function/list.d.mts +21 -0
- package/dist/cli/commands/function/transform.d.mts +12 -0
- package/dist/cli/commands/generate/options.d.mts +6 -0
- package/dist/cli/commands/generate/seed/bundler.d.mts +26 -0
- package/dist/cli/commands/generate/service.d.mts +15 -0
- package/dist/cli/commands/machineuser/list.d.mts +26 -0
- package/dist/cli/commands/machineuser/token.d.mts +21 -0
- package/dist/cli/commands/oauth2client/get.d.mts +17 -0
- package/dist/cli/commands/oauth2client/list.d.mts +19 -0
- package/dist/cli/commands/oauth2client/transform.d.mts +21 -0
- package/dist/cli/commands/organization/folder/create.d.mts +17 -0
- package/dist/cli/commands/organization/folder/delete.d.mts +15 -0
- package/dist/cli/commands/organization/folder/get.d.mts +16 -0
- package/dist/cli/commands/organization/folder/list.d.mts +21 -0
- package/dist/cli/commands/organization/folder/update.d.mts +17 -0
- package/dist/cli/commands/organization/get.d.mts +15 -0
- package/dist/cli/commands/organization/list.d.mts +14 -0
- package/dist/cli/commands/organization/transform.d.mts +29 -0
- package/dist/cli/commands/organization/tree.d.mts +24 -0
- package/dist/cli/commands/organization/update.d.mts +16 -0
- package/dist/cli/commands/remove.d.mts +15 -0
- package/dist/cli/commands/show.d.mts +39 -0
- package/dist/cli/commands/staticwebsite/deploy.d.mts +19 -0
- package/dist/cli/commands/tailordb/migrate/bundler.d.mts +29 -0
- package/dist/cli/commands/tailordb/migrate/config.d.mts +18 -0
- package/dist/cli/commands/tailordb/migrate/diff-calculator.d.mts +246 -0
- package/dist/cli/commands/tailordb/migrate/generate.d.mts +16 -0
- package/dist/cli/commands/tailordb/migrate/snapshot-types.d.mts +208 -0
- package/dist/cli/commands/tailordb/migrate/snapshot.d.mts +98 -0
- package/dist/cli/commands/tailordb/migrate/types.d.mts +7 -0
- package/dist/cli/commands/tailordb/truncate.d.mts +18 -0
- package/dist/cli/commands/workflow/executions.d.mts +74 -0
- package/dist/cli/commands/workflow/get.d.mts +30 -0
- package/dist/cli/commands/workflow/list.d.mts +18 -0
- package/dist/cli/commands/workflow/resume.d.mts +22 -0
- package/dist/cli/commands/workflow/start.d.mts +60 -0
- package/dist/cli/commands/workflow/status.d.mts +6 -0
- package/dist/cli/commands/workflow/transform.d.mts +34 -0
- package/dist/cli/commands/workflow/wait.d.mts +15 -0
- package/dist/cli/commands/workflow/waiter.d.mts +23 -0
- package/dist/cli/commands/workspace/app/health.d.mts +17 -0
- package/dist/cli/commands/workspace/app/list.d.mts +21 -0
- package/dist/cli/commands/workspace/app/transform.d.mts +20 -0
- package/dist/cli/commands/workspace/create.d.mts +27 -0
- package/dist/cli/commands/workspace/delete.d.mts +14 -0
- package/dist/cli/commands/workspace/get.d.mts +16 -0
- package/dist/cli/commands/workspace/list.d.mts +17 -0
- package/dist/cli/commands/workspace/restore.d.mts +14 -0
- package/dist/cli/commands/workspace/transform.d.mts +20 -0
- package/dist/cli/commands/workspace/user/invite.d.mts +21 -0
- package/dist/cli/commands/workspace/user/list.d.mts +21 -0
- package/dist/cli/commands/workspace/user/remove.d.mts +16 -0
- package/dist/cli/commands/workspace/user/transform.d.mts +9 -0
- package/dist/cli/commands/workspace/user/update.d.mts +21 -0
- package/dist/cli/index.mjs +12 -5534
- package/dist/cli/lib.d.mts +90 -21180
- package/dist/cli/lib.mjs +157 -16
- package/dist/cli/lib.mjs.map +1 -1
- package/dist/cli/main.d.mts +23 -0
- package/dist/cli/main.mjs +6583 -0
- package/dist/cli/main.mjs.map +1 -0
- package/dist/cli/query/index.d.mts +38 -0
- package/dist/cli/services/application.d.mts +12 -0
- package/dist/cli/services/auth/service.d.mts +3 -0
- package/dist/cli/services/executor/service.d.mts +1 -0
- package/dist/cli/services/http-adapter/bundler.d.mts +3 -0
- package/dist/cli/services/http-adapter/service.d.mts +2 -0
- package/dist/cli/services/resolver/service.d.mts +1 -0
- package/dist/cli/services/tailordb/service.d.mts +3 -0
- package/dist/cli/services/workflow/bundler.d.mts +2 -0
- package/dist/cli/services/workflow/service.d.mts +1 -0
- package/dist/cli/shared/args.d.mts +13 -0
- package/dist/cli/shared/client.d.mts +1273 -0
- package/dist/cli/shared/config-loader.d.mts +25 -0
- package/dist/cli/shared/context.d.mts +29 -0
- package/dist/cli/shared/error-json.d.mts +23 -0
- package/dist/cli/shared/readonly-guard.d.mts +25 -0
- package/dist/cli/shared/script-executor.d.mts +77 -0
- package/dist/cli/shared/seed-chunker.d.mts +45 -0
- package/dist/cli/shared/seed-context.d.mts +49 -0
- package/dist/cli/shared/tailordb-namespaces.d.mts +40 -0
- package/dist/cli/shared/type-generator.d.mts +19 -0
- package/dist/cli/shared/workspace-name.d.mts +1 -0
- package/dist/cli/ts-hook.d.mts +4 -0
- package/dist/cli/ts-hook.mjs +333 -0
- package/dist/completion/zsh-worker.zsh +4223 -0
- package/dist/configure/config/index.d.mts +20 -0
- package/dist/configure/config/types.d.mts +111 -0
- package/dist/configure/index.d.mts +135 -7
- package/dist/configure/index.mjs +409 -56
- package/dist/configure/index.mjs.map +1 -1
- package/dist/configure/services/aigateway/index.d.mts +16 -0
- package/dist/configure/services/aigateway/types.d.mts +10 -0
- package/dist/configure/services/auth/index.d.mts +33 -0
- package/dist/configure/services/auth/types.d.mts +168 -0
- package/dist/configure/services/executor/executor.d.mts +70 -0
- package/dist/configure/services/executor/index.d.mts +9 -0
- package/dist/configure/services/executor/operation.d.mts +50 -0
- package/dist/configure/services/executor/trigger/event.d.mts +271 -0
- package/dist/configure/services/executor/trigger/index.d.mts +7 -0
- package/dist/configure/services/executor/trigger/schedule.d.mts +24 -0
- package/dist/configure/services/executor/trigger/webhook.d.mts +43 -0
- package/dist/configure/services/executor/types.d.mts +2 -0
- package/dist/configure/services/http-adapter/http-adapter.d.mts +124 -0
- package/dist/configure/services/http-adapter/index.d.mts +2 -0
- package/dist/configure/services/idp/index.d.mts +60 -0
- package/dist/configure/services/idp/permission.d.mts +64 -0
- package/dist/configure/services/idp/types.d.mts +23 -0
- package/dist/configure/services/index.d.mts +40 -0
- package/dist/configure/services/resolver/index.d.mts +6 -0
- package/dist/configure/services/resolver/permission.d.mts +64 -0
- package/dist/configure/services/resolver/resolver.d.mts +88 -0
- package/dist/configure/services/resolver/types.d.mts +5 -0
- package/dist/configure/services/secrets/index.d.mts +37 -0
- package/dist/configure/services/secrets/types.d.mts +10 -0
- package/dist/configure/services/staticwebsite/index.d.mts +18 -0
- package/dist/configure/services/staticwebsite/types.d.mts +10 -0
- package/dist/configure/services/tailordb/index.d.mts +4 -0
- package/dist/configure/services/tailordb/permission.d.mts +103 -0
- package/dist/configure/services/tailordb/schema.d.mts +486 -0
- package/dist/configure/services/tailordb/types.d.mts +198 -0
- package/dist/configure/services/workflow/execution-policy.d.mts +70 -0
- package/dist/configure/services/workflow/execution-policy.types.d.mts +103 -0
- package/dist/configure/services/workflow/index.d.mts +9 -0
- package/dist/configure/services/workflow/job.d.mts +83 -0
- package/dist/configure/services/workflow/types.d.mts +2 -0
- package/dist/configure/services/workflow/wait-point.d.mts +72 -0
- package/dist/configure/services/workflow/workflow.d.mts +56 -0
- package/dist/configure/types/aigateway-name.d.mts +12 -0
- package/dist/configure/types/connection-name.d.mts +12 -0
- package/dist/configure/types/field.d.mts +8 -0
- package/dist/configure/types/field.types.d.mts +70 -0
- package/dist/configure/types/idp-name.d.mts +12 -0
- package/dist/configure/types/index.d.mts +5 -0
- package/dist/configure/types/machine-user.d.mts +2 -0
- package/dist/configure/types/permission-operand.types.d.mts +20 -0
- package/dist/configure/types/type.d.mts +73 -0
- package/dist/{context-s0lxhu8_.mjs → context-DYQVYWqZ.mjs} +4 -6
- package/dist/context-DYQVYWqZ.mjs.map +1 -0
- package/dist/{crashreport-BhD0y14F.mjs → crashreport-B5LqCTfF.mjs} +25 -17
- package/dist/{crashreport-BhD0y14F.mjs.map → crashreport-B5LqCTfF.mjs.map} +1 -1
- package/dist/{crashreport-D1wKBJ8N.mjs → crashreport-eI7ty7ok.mjs} +1 -2
- package/dist/{enum-constants-C7DaWeQo.mjs → enum-constants-j9QBF0cB.mjs} +1 -2
- package/dist/enum-constants-j9QBF0cB.mjs.map +1 -0
- package/dist/{errors-EsY4XO6O.mjs → errors-D7583Zz7.mjs} +18 -3
- package/dist/errors-D7583Zz7.mjs.map +1 -0
- package/dist/{file-B58Dm-2P.mjs → file-BUcmVIH2.mjs} +12 -23
- package/dist/file-BUcmVIH2.mjs.map +1 -0
- package/dist/{file-utils-BHPxPXmn.mjs → file-utils-yEiIS4nJ.mjs} +7 -8
- package/dist/file-utils-yEiIS4nJ.mjs.map +1 -0
- package/dist/{globals-ByrCoDip.mjs → globals-DQotNuwK.mjs} +32 -6
- package/dist/globals-DQotNuwK.mjs.map +1 -0
- package/dist/iconv-QWaZh0TT.mjs +38 -0
- package/dist/iconv-QWaZh0TT.mjs.map +1 -0
- package/dist/{idp-Ch95ag8h.mjs → idp-RA_swu-h.mjs} +12 -6
- package/dist/idp-RA_swu-h.mjs.map +1 -0
- package/dist/{interceptor-DOqRkCya.mjs → interceptor-e33JtsC-.mjs} +2 -3
- package/dist/interceptor-e33JtsC-.mjs.map +1 -0
- package/dist/kysely/index.d.mts +5 -7
- package/dist/kysely/index.mjs +0 -1
- package/dist/kysely/index.mjs.map +1 -1
- package/dist/{kysely-type-D1e0Vwkd.mjs → kysely-type-DqIRgDYR.mjs} +6 -6
- package/dist/kysely-type-DqIRgDYR.mjs.map +1 -0
- package/dist/logger-BtX0suGY.mjs +48 -0
- package/dist/logger-BtX0suGY.mjs.map +1 -0
- package/dist/logger-CXQq9YIp.mjs +317 -0
- package/dist/logger-CXQq9YIp.mjs.map +1 -0
- package/dist/{multiline-Cf9ODpr1.mjs → multiline-sfHpTZZK.mjs} +1 -2
- package/dist/{multiline-Cf9ODpr1.mjs.map → multiline-sfHpTZZK.mjs.map} +1 -1
- package/dist/{package-json-DcQApfPQ.mjs → package-json-8b0O9TlX.mjs} +1 -2
- package/dist/{package-json-DcQApfPQ.mjs.map → package-json-8b0O9TlX.mjs.map} +1 -1
- package/dist/package-json-Cv2Z-TqQ.mjs +3 -0
- package/dist/parser/service/auth/index.d.mts +1 -0
- package/dist/parser/service/auth/schema.d.mts +3 -0
- package/dist/parser/service/http-adapter/index.d.mts +1 -0
- package/dist/parser/service/http-adapter/schema.d.mts +1 -0
- package/dist/parser/service/idp/types.d.mts +5 -0
- package/dist/parser/service/tailordb/type-source.d.mts +10 -0
- package/dist/parser/service/tailordb/types.d.mts +131 -0
- package/dist/platform-serialize-RoRtBS0v.mjs +46 -0
- package/dist/platform-serialize-RoRtBS0v.mjs.map +1 -0
- package/dist/plugin/builtin/enum-constants/index.d.mts +15 -1
- package/dist/plugin/builtin/enum-constants/index.mjs +1 -2
- package/dist/plugin/builtin/file-utils/index.d.mts +15 -1
- package/dist/plugin/builtin/file-utils/index.mjs +1 -2
- package/dist/plugin/builtin/kysely-type/index.d.mts +15 -1
- package/dist/plugin/builtin/kysely-type/index.mjs +1 -2
- package/dist/plugin/builtin/seed/index.d.mts +46 -2
- package/dist/plugin/builtin/seed/index.mjs +1 -2
- package/dist/plugin/builtin/seed/seed-type-processor.d.mts +19 -0
- package/dist/plugin/builtin/seed/types.d.mts +2 -0
- package/dist/plugin/get-generated-type.d.mts +16 -0
- package/dist/plugin/index.d.mts +3 -119
- package/dist/plugin/index.mjs +1 -2
- package/dist/plugin/index.mjs.map +1 -1
- package/dist/plugin/manager.d.mts +2 -0
- package/dist/plugin/types.d.mts +242 -0
- package/dist/plugin/with-context.d.mts +101 -0
- package/dist/{runtime-C7qTBDD2.mjs → register-ts-hook-BAHMwxfG.mjs} +12374 -8672
- package/dist/register-ts-hook-BAHMwxfG.mjs.map +1 -0
- package/dist/registry-BIGVUrMB.mjs +54 -0
- package/dist/registry-BIGVUrMB.mjs.map +1 -0
- package/dist/{repl-editor-CJG3sz7A.mjs → repl-editor-BCozyiNq.mjs} +7 -7
- package/dist/{repl-editor-CJG3sz7A.mjs.map → repl-editor-BCozyiNq.mjs.map} +1 -1
- package/dist/runtime/aigateway.d.mts +25 -0
- package/dist/runtime/aigateway.mjs +3 -0
- package/dist/runtime/authconnection.d.mts +21 -2
- package/dist/runtime/authconnection.mjs +2 -3
- package/dist/runtime/context.d.mts +54 -2
- package/dist/runtime/context.mjs +2 -3
- package/dist/runtime/field-parse.d.mts +10 -0
- package/dist/runtime/file.d.mts +170 -2
- package/dist/runtime/file.mjs +2 -3
- package/dist/runtime/globals.d.mts +38 -53
- package/dist/runtime/globals.mjs +0 -1
- package/dist/runtime/iconv.d.mts +73 -2
- package/dist/runtime/iconv.mjs +2 -3
- package/dist/runtime/idp.d.mts +129 -2
- package/dist/runtime/idp.mjs +2 -3
- package/dist/runtime/index.d.mts +48 -9
- package/dist/runtime/index.mjs +10 -9
- package/dist/runtime/logger.d.mts +98 -0
- package/dist/runtime/logger.mjs +3 -0
- package/dist/runtime/secretmanager.d.mts +41 -2
- package/dist/runtime/secretmanager.mjs +2 -3
- package/dist/runtime/types.d.mts +25 -0
- package/dist/runtime/workflow.d.mts +124 -2
- package/dist/runtime/workflow.mjs +2 -3
- package/dist/{schema-1msIhXwA.mjs → schema--xYWRGfe.mjs} +289 -231
- package/dist/schema--xYWRGfe.mjs.map +1 -0
- package/dist/{secret-file-CWzF8rry.mjs → secret-file-C3J4Gy8r.mjs} +2 -3
- package/dist/{secret-file-CWzF8rry.mjs.map → secret-file-C3J4Gy8r.mjs.map} +1 -1
- package/dist/secretmanager-CYlpffsz.mjs +13 -0
- package/dist/secretmanager-CYlpffsz.mjs.map +1 -0
- package/dist/secretmanager-IY4UvinW.mjs +131 -0
- package/dist/secretmanager-IY4UvinW.mjs.map +1 -0
- package/dist/seed/index.d.mts +4 -4
- package/dist/seed/index.mjs +0 -1
- package/dist/seed/index.mjs.map +1 -1
- package/dist/seed-LUVr7jHL.mjs +444 -0
- package/dist/seed-LUVr7jHL.mjs.map +1 -0
- package/dist/{service-DMohAx8a2.mjs → service-B5WynBHQ.mjs} +3 -4
- package/dist/service-B5WynBHQ.mjs.map +1 -0
- package/dist/service-BNtPsK9Q.mjs +837 -0
- package/dist/service-BNtPsK9Q.mjs.map +1 -0
- package/dist/service-D5jn05ZI.mjs +3 -0
- package/dist/service_pb-BwZRiNug.mjs +167 -0
- package/dist/service_pb-BwZRiNug.mjs.map +1 -0
- package/dist/service_pb-wRkxUta6.mjs +3 -0
- package/dist/tailor-proto/src/tailor/v1/aigateway_pb.d.mts +203 -0
- package/dist/tailor-proto/src/tailor/v1/aigateway_resource_pb.d.mts +57 -0
- package/dist/tailor-proto/src/tailor/v1/application_pb.d.mts +315 -0
- package/dist/tailor-proto/src/tailor/v1/application_resource_pb.d.mts +160 -0
- package/dist/tailor-proto/src/tailor/v1/auth_pb.d.mts +2069 -0
- package/dist/tailor-proto/src/tailor/v1/auth_resource_pb.d.mts +865 -0
- package/dist/tailor-proto/src/tailor/v1/events_pb.d.mts +111 -0
- package/dist/tailor-proto/src/tailor/v1/events_resource_pb.d.mts +68 -0
- package/dist/tailor-proto/src/tailor/v1/executor_pb.d.mts +438 -0
- package/dist/tailor-proto/src/tailor/v1/executor_resource_pb.d.mts +563 -0
- package/dist/tailor-proto/src/tailor/v1/function_pb.d.mts +144 -0
- package/dist/tailor-proto/src/tailor/v1/function_registry_pb.d.mts +450 -0
- package/dist/tailor-proto/src/tailor/v1/function_resource_pb.d.mts +191 -0
- package/dist/tailor-proto/src/tailor/v1/http_adapter_resource_pb.d.mts +49 -0
- package/dist/tailor-proto/src/tailor/v1/idp_pb.d.mts +406 -0
- package/dist/tailor-proto/src/tailor/v1/idp_resource_pb.d.mts +429 -0
- package/dist/tailor-proto/src/tailor/v1/metadata_pb.d.mts +72 -0
- package/dist/tailor-proto/src/tailor/v1/metadata_resource_pb.d.mts +16 -0
- package/dist/tailor-proto/src/tailor/v1/meter_pb.d.mts +308 -0
- package/dist/tailor-proto/src/tailor/v1/pipeline_pb.d.mts +590 -0
- package/dist/tailor-proto/src/tailor/v1/pipeline_resource_pb.d.mts +329 -0
- package/dist/tailor-proto/src/tailor/v1/resource_pb.d.mts +112 -0
- package/dist/tailor-proto/src/tailor/v1/secret_manager_pb.d.mts +345 -0
- package/dist/tailor-proto/src/tailor/v1/secret_manager_resource_pb.d.mts +53 -0
- package/dist/tailor-proto/src/tailor/v1/service_pb.d.mts +3575 -0
- package/dist/tailor-proto/src/tailor/v1/stateflow_pb.d.mts +186 -0
- package/dist/tailor-proto/src/tailor/v1/stateflow_resource_pb.d.mts +28 -0
- package/dist/tailor-proto/src/tailor/v1/staticwebsite_pb.d.mts +428 -0
- package/dist/tailor-proto/src/tailor/v1/staticwebsite_resource_pb.d.mts +89 -0
- package/dist/tailor-proto/src/tailor/v1/tailordb_pb.d.mts +683 -0
- package/dist/tailor-proto/src/tailor/v1/tailordb_resource_pb.d.mts +796 -0
- package/dist/tailor-proto/src/tailor/v1/telemetryrouter_pb.d.mts +329 -0
- package/dist/tailor-proto/src/tailor/v1/telemetryrouter_resource_pb.d.mts +182 -0
- package/dist/tailor-proto/src/tailor/v1/workflow_pb.d.mts +861 -0
- package/dist/tailor-proto/src/tailor/v1/workflow_resource_pb.d.mts +309 -0
- package/dist/tailor-proto/src/tailor/v1/workspace_pb.d.mts +2014 -0
- package/dist/tailor-proto/src/tailor/v1/workspace_resource_pb.d.mts +482 -0
- package/dist/{telemetry-BQbbVo2t.mjs → telemetry-BRVdwh14.mjs} +4 -5
- package/dist/telemetry-BRVdwh14.mjs.map +1 -0
- package/dist/telemetry-CkbkeJxl.mjs +3 -0
- package/dist/test-env-key-D7UkZp99.mjs +75 -0
- package/dist/test-env-key-D7UkZp99.mjs.map +1 -0
- package/dist/type-source-DH_LH20p.mjs +13 -0
- package/dist/type-source-DH_LH20p.mjs.map +1 -0
- package/dist/types/aigateway.generated.d.mts +12 -0
- package/dist/types/app-config.generated.d.mts +4 -0
- package/dist/types/auth-connection.generated.d.mts +33 -0
- package/dist/types/auth.generated.d.mts +188 -0
- package/dist/types/executor.generated.d.mts +209 -0
- package/dist/types/helpers.d.mts +40 -0
- package/dist/types/http-adapter.generated.d.mts +28 -0
- package/dist/types/idp.generated.d.mts +626 -0
- package/dist/types/resolver.generated.d.mts +82 -0
- package/dist/types/secrets.generated.d.mts +14 -0
- package/dist/types/staticwebsite.generated.d.mts +14 -0
- package/dist/types/tailordb.generated.d.mts +468 -0
- package/dist/types/workflow.generated.d.mts +17 -0
- package/dist/user-agent-Bgsszb5I.mjs +28 -0
- package/dist/user-agent-Bgsszb5I.mjs.map +1 -0
- package/dist/utils/test/index.d.mts +6 -99
- package/dist/utils/test/index.mjs +60 -40
- package/dist/utils/test/index.mjs.map +1 -1
- package/dist/utils/test/mock.d.mts +86 -0
- package/dist/vitest/environment.d.mts +1 -2
- package/dist/vitest/environment.mjs +2 -3
- package/dist/vitest/environment.mjs.map +1 -1
- package/dist/vitest/index.d.mts +15 -392
- package/dist/vitest/index.mjs +1347 -9
- package/dist/vitest/index.mjs.map +1 -1
- package/dist/vitest/mock-kysely.d.mts +61 -0
- package/dist/vitest/mock.d.mts +10 -0
- package/dist/vitest/mocks/aigateway.d.mts +40 -0
- package/dist/vitest/mocks/authconnection.d.mts +38 -0
- package/dist/vitest/mocks/file.d.mts +58 -0
- package/dist/vitest/mocks/iconv.d.mts +51 -0
- package/dist/vitest/mocks/idp.d.mts +60 -0
- package/dist/vitest/mocks/logger.d.mts +45 -0
- package/dist/vitest/mocks/secretmanager.d.mts +44 -0
- package/dist/vitest/mocks/tailordb.d.mts +115 -0
- package/dist/vitest/mocks/workflow.d.mts +157 -0
- package/dist/vitest/setup.d.mts +1 -2
- package/dist/vitest/setup.mjs +2 -3
- package/dist/vitest/setup.mjs.map +1 -1
- package/dist/vitest/workflow-local.d.mts +41 -0
- package/dist/workflow-CsaQ9qK-.mjs +42 -0
- package/dist/workflow-CsaQ9qK-.mjs.map +1 -0
- package/dist/{client-CobIRHl-.mjs → workspace_resource_pb-UGK1SSn_.mjs} +55 -616
- package/dist/workspace_resource_pb-UGK1SSn_.mjs.map +1 -0
- package/docs/cli/application.md +150 -252
- package/docs/cli/auth.md +51 -295
- package/docs/cli/completion.md +4 -25
- package/docs/cli/crashreport.md +3 -63
- package/docs/cli/executor.md +72 -183
- package/docs/cli/function.md +17 -133
- package/docs/cli/organization.md +11 -221
- package/docs/cli/plugin.md +29 -0
- package/docs/cli/query.md +2 -22
- package/docs/cli/secret.md +71 -251
- package/docs/cli/setup.md +138 -40
- package/docs/cli/skills.md +50 -39
- package/docs/cli/staticwebsite.md +32 -180
- package/docs/cli/tailordb.md +71 -427
- package/docs/cli/upgrade.md +2 -22
- package/docs/cli/user.md +78 -247
- package/docs/cli/workflow.md +150 -172
- package/docs/cli/workspace.md +167 -538
- package/docs/cli-reference.md +213 -96
- package/docs/configuration.md +40 -8
- package/docs/github-actions.md +72 -24
- package/docs/migration/v2.md +1316 -0
- package/docs/multi-environment.md +29 -7
- package/docs/plugin/custom.md +6 -6
- package/docs/plugin/index.md +9 -9
- package/docs/quickstart.md +8 -7
- package/docs/runtime.md +21 -12
- package/docs/services/aigateway.md +115 -0
- package/docs/services/auth.md +70 -61
- package/docs/services/executor.md +8 -5
- package/docs/services/http-adapter.md +16 -1
- package/docs/services/idp.md +55 -2
- package/docs/services/resolver.md +63 -11
- package/docs/services/secret.md +11 -11
- package/docs/services/staticwebsite.md +8 -2
- package/docs/services/tailordb-migration.md +43 -28
- package/docs/services/tailordb.md +200 -99
- package/docs/services/workflow.md +135 -59
- package/docs/testing.md +253 -145
- package/package.json +61 -47
- package/postinstall.mjs +4 -6
- package/dist/actor-J2gJ0eK5.d.mts +0 -24
- package/dist/application-76hhIhnJ.mjs.map +0 -1
- package/dist/application-av2raLs6.mjs +0 -4
- package/dist/authconnection-BIYzEh2p.d.mts +0 -39
- package/dist/authconnection-D8SJGMpj.mjs +0 -16
- package/dist/authconnection-D8SJGMpj.mjs.map +0 -1
- package/dist/brand-DlnJ375c.mjs.map +0 -1
- package/dist/chunk-BkoGK1jX.mjs +0 -21
- package/dist/cli/erd-viewer-assets/app.js +0 -1181
- package/dist/cli/erd-viewer-assets/index.html +0 -73
- package/dist/cli/erd-viewer-assets/serve.json +0 -13
- package/dist/cli/erd-viewer-assets/styles.css +0 -789
- package/dist/cli/index.d.mts +0 -5
- package/dist/cli/index.mjs.map +0 -1
- package/dist/cli/skills.d.mts +0 -1
- package/dist/cli/skills.mjs +0 -22
- package/dist/cli/skills.mjs.map +0 -1
- package/dist/client-C68VWo4g.mjs +0 -4
- package/dist/client-CobIRHl-.mjs.map +0 -1
- package/dist/context-CUBwSBq4.d.mts +0 -68
- package/dist/context-s0lxhu8_.mjs.map +0 -1
- package/dist/enum-constants-C7DaWeQo.mjs.map +0 -1
- package/dist/env-B-g-qgE4.d.mts +0 -7
- package/dist/errors-EsY4XO6O.mjs.map +0 -1
- package/dist/field-C4zdJLW5.mjs +0 -23
- package/dist/field-C4zdJLW5.mjs.map +0 -1
- package/dist/file-B58Dm-2P.mjs.map +0 -1
- package/dist/file-BzK8z3X-.d.mts +0 -250
- package/dist/file-utils-BHPxPXmn.mjs.map +0 -1
- package/dist/globals-ByrCoDip.mjs.map +0 -1
- package/dist/iconv-DreIffeM.mjs +0 -64
- package/dist/iconv-DreIffeM.mjs.map +0 -1
- package/dist/iconv-kwrmd1U_.d.mts +0 -122
- package/dist/idp-BlBPtXJ-.d.mts +0 -160
- package/dist/idp-Ch95ag8h.mjs.map +0 -1
- package/dist/index-CLxubakC.d.mts +0 -1225
- package/dist/index-CPRnOjjt.d.mts +0 -18
- package/dist/index-CQZVJ5SX.d.mts +0 -18
- package/dist/index-CfRFkXIO.d.mts +0 -47
- package/dist/index-DRhMpdnA.d.mts +0 -46
- package/dist/index-DUupuPhZ.d.mts +0 -18
- package/dist/interceptor-DOqRkCya.mjs.map +0 -1
- package/dist/job-BpsFXPbi.mjs +0 -54
- package/dist/job-BpsFXPbi.mjs.map +0 -1
- package/dist/kysely-type-D1e0Vwkd.mjs.map +0 -1
- package/dist/logger-DpJyJvNz.mjs +0 -221
- package/dist/logger-DpJyJvNz.mjs.map +0 -1
- package/dist/mock-DMgIygjE.mjs +0 -806
- package/dist/mock-DMgIygjE.mjs.map +0 -1
- package/dist/package-json-wzO6nV9O.mjs +0 -4
- package/dist/plugin-C_FyVSdl.d.mts +0 -634
- package/dist/registry-D0uB0OrK.mjs +0 -178
- package/dist/registry-D0uB0OrK.mjs.map +0 -1
- package/dist/runtime-C7qTBDD2.mjs.map +0 -1
- package/dist/schema-1msIhXwA.mjs.map +0 -1
- package/dist/secretmanager-B9h-U_8U.mjs +0 -25
- package/dist/secretmanager-B9h-U_8U.mjs.map +0 -1
- package/dist/secretmanager-CKLB3wAQ.d.mts +0 -55
- package/dist/seed-BH2FbrPV.mjs +0 -1171
- package/dist/seed-BH2FbrPV.mjs.map +0 -1
- package/dist/service-BHQIerYh.mjs +0 -4
- package/dist/service-DMohAx8a2.mjs.map +0 -1
- package/dist/service-wI3Hvrgx.mjs +0 -460
- package/dist/service-wI3Hvrgx.mjs.map +0 -1
- package/dist/tailordb-BlBGmQK-.d.mts +0 -863
- package/dist/telemetry-BQbbVo2t.mjs.map +0 -1
- package/dist/telemetry-w92bvGdC.mjs +0 -4
- package/dist/types-2Be3wSMc.mjs +0 -5
- package/dist/types-CmzfQP_m.mjs +0 -372
- package/dist/types-CmzfQP_m.mjs.map +0 -1
- package/dist/workflow--aPbA8Uq.mjs +0 -39
- package/dist/workflow--aPbA8Uq.mjs.map +0 -1
- package/dist/workflow-CMamswkK.d.mts +0 -96
- package/dist/workflow.generated-Bf1tWylx.d.mts +0 -1416
- package/docs/generator/builtin.md +0 -257
- package/docs/generator/custom.md +0 -147
- package/docs/generator/index.md +0 -66
package/dist/configure/index.mjs
CHANGED
|
@@ -1,18 +1,199 @@
|
|
|
1
|
+
import { i as parseInternal, n as mapAllowedValues, t as db } from "../schema--xYWRGfe.mjs";
|
|
2
|
+
import { t as brandValue } from "../brand-Eo4pLXPJ.mjs";
|
|
3
|
+
import { a as registerJob, n as dispatchStartJob, r as dispatchStartWorkflow } from "../registry-BIGVUrMB.mjs";
|
|
4
|
+
import { i as withWorkflowTestInvoker } from "../test-env-key-D7UkZp99.mjs";
|
|
1
5
|
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
//#region src/configure/types/type.ts
|
|
7
|
+
function createTailorField(type, options, fields, values, metadata) {
|
|
8
|
+
const _metadata = metadata ? {
|
|
9
|
+
...metadata,
|
|
10
|
+
...metadata.allowedValues && { allowedValues: metadata.allowedValues.map((v) => ({ ...v })) },
|
|
11
|
+
...metadata.validate && { validate: metadata.validate.map((v) => Array.isArray(v) ? [...v] : v) }
|
|
12
|
+
} : { required: true };
|
|
13
|
+
if (!metadata) {
|
|
14
|
+
if (options) {
|
|
15
|
+
if (options.optional === true) _metadata.required = false;
|
|
16
|
+
if (options.array === true) _metadata.array = true;
|
|
17
|
+
}
|
|
18
|
+
if (values) _metadata.allowedValues = mapAllowedValues(values);
|
|
19
|
+
}
|
|
20
|
+
function parseInternal$1(args) {
|
|
21
|
+
return parseInternal({
|
|
22
|
+
...args,
|
|
23
|
+
field
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Clone the field and apply metadata updates to the clone.
|
|
28
|
+
* The original instance is never mutated, so a field shared across places
|
|
29
|
+
* cannot leak metadata between them.
|
|
30
|
+
* @param metadataUpdates - Metadata properties to overwrite on the clone
|
|
31
|
+
* @returns A new field with the updated metadata
|
|
32
|
+
*/
|
|
33
|
+
function cloneWith(metadataUpdates) {
|
|
34
|
+
const cloned = field.clone();
|
|
35
|
+
Object.assign(cloned._metadata, metadataUpdates);
|
|
36
|
+
return cloned;
|
|
37
|
+
}
|
|
38
|
+
const field = {
|
|
39
|
+
type,
|
|
40
|
+
fields: fields ?? {},
|
|
41
|
+
_defined: void 0,
|
|
42
|
+
_output: void 0,
|
|
43
|
+
_metadata,
|
|
44
|
+
get metadata() {
|
|
45
|
+
return { ...this._metadata };
|
|
46
|
+
},
|
|
47
|
+
description(description) {
|
|
48
|
+
return cloneWith({ description });
|
|
49
|
+
},
|
|
50
|
+
typeName(typeName) {
|
|
51
|
+
return cloneWith({ typeName });
|
|
52
|
+
},
|
|
53
|
+
validate(...validateInputs) {
|
|
54
|
+
return cloneWith({ validate: validateInputs });
|
|
55
|
+
},
|
|
56
|
+
parse(args) {
|
|
57
|
+
return parseInternal$1({
|
|
58
|
+
value: args.value,
|
|
59
|
+
data: args.data,
|
|
60
|
+
invoker: args.invoker,
|
|
61
|
+
pathArray: []
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
clone() {
|
|
65
|
+
let clonedFields = fields;
|
|
66
|
+
if (fields) {
|
|
67
|
+
const cloned = {};
|
|
68
|
+
for (const [key, nestedField] of Object.entries(fields)) cloned[key] = nestedField.clone();
|
|
69
|
+
clonedFields = cloned;
|
|
70
|
+
}
|
|
71
|
+
return createTailorField(type, options, clonedFields, values, this._metadata);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
return field;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create a UUID field for resolver input/output.
|
|
78
|
+
* @param options - Field configuration options
|
|
79
|
+
* @returns A UUID field
|
|
80
|
+
* @example t.uuid()
|
|
81
|
+
*/
|
|
82
|
+
function uuid(options) {
|
|
83
|
+
return createTailorField("uuid", options);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Create a string field for resolver input/output.
|
|
87
|
+
* @param options - Field configuration options
|
|
88
|
+
* @returns A string field
|
|
89
|
+
* @example t.string()
|
|
90
|
+
* @example t.string({ optional: true })
|
|
91
|
+
* @example t.string({ array: true })
|
|
92
|
+
*/
|
|
93
|
+
function string(options) {
|
|
94
|
+
return createTailorField("string", options);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Create a boolean field for resolver input/output.
|
|
98
|
+
* @param options - Field configuration options
|
|
99
|
+
* @returns A boolean field
|
|
100
|
+
* @example t.bool()
|
|
101
|
+
*/
|
|
102
|
+
function bool(options) {
|
|
103
|
+
return createTailorField("boolean", options);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Create an integer field for resolver input/output.
|
|
107
|
+
* @param options - Field configuration options
|
|
108
|
+
* @returns An integer field
|
|
109
|
+
* @example t.int()
|
|
110
|
+
*/
|
|
111
|
+
function int(options) {
|
|
112
|
+
return createTailorField("integer", options);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a float field for resolver input/output.
|
|
116
|
+
* @param options - Field configuration options
|
|
117
|
+
* @returns A float field
|
|
118
|
+
* @example t.float()
|
|
119
|
+
*/
|
|
120
|
+
function float(options) {
|
|
121
|
+
return createTailorField("float", options);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Create a decimal field for resolver input/output (stored as string for precision).
|
|
125
|
+
* @param options - Field configuration options
|
|
126
|
+
* @returns A decimal field
|
|
127
|
+
* @example t.decimal()
|
|
128
|
+
* @example t.decimal({ optional: true })
|
|
129
|
+
*/
|
|
130
|
+
function decimal(options) {
|
|
131
|
+
return createTailorField("decimal", options);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Create a date field for resolver input/output.
|
|
135
|
+
* @param options - Field configuration options
|
|
136
|
+
* @returns A date field
|
|
137
|
+
* @example t.date()
|
|
138
|
+
*/
|
|
139
|
+
function date(options) {
|
|
140
|
+
return createTailorField("date", options);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Create a datetime field for resolver input/output.
|
|
144
|
+
* @param options - Field configuration options
|
|
145
|
+
* @returns A datetime field
|
|
146
|
+
* @example t.datetime()
|
|
147
|
+
*/
|
|
148
|
+
function datetime(options) {
|
|
149
|
+
return createTailorField("datetime", options);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Create a time field for resolver input/output.
|
|
153
|
+
* @param options - Field configuration options
|
|
154
|
+
* @returns A time field
|
|
155
|
+
* @example t.time()
|
|
156
|
+
*/
|
|
157
|
+
function time(options) {
|
|
158
|
+
return createTailorField("time", options);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Create an enum field for resolver input/output.
|
|
162
|
+
* @param values - Array of allowed string values
|
|
163
|
+
* @param options - Field configuration options
|
|
164
|
+
* @returns An enum field
|
|
165
|
+
* @example t.enum(["active", "inactive"])
|
|
166
|
+
*/
|
|
167
|
+
function _enum(values, options) {
|
|
168
|
+
return createTailorField("enum", options, void 0, values);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Create a nested object field for resolver input/output.
|
|
172
|
+
* @param fields - Record of field definitions
|
|
173
|
+
* @param options - Field options (optional, array)
|
|
174
|
+
* @returns A nested object field
|
|
175
|
+
* @example
|
|
176
|
+
* // Single object:
|
|
177
|
+
* output: t.object({ name: t.string(), email: t.string() })
|
|
178
|
+
* @example
|
|
179
|
+
* // Array of objects:
|
|
180
|
+
* items: t.object({ name: t.string() }, { array: true })
|
|
181
|
+
*/
|
|
182
|
+
function object(fields, options) {
|
|
183
|
+
return createTailorField("nested", options, fields);
|
|
184
|
+
}
|
|
185
|
+
const t$1 = {
|
|
186
|
+
uuid,
|
|
187
|
+
string,
|
|
188
|
+
bool,
|
|
189
|
+
int,
|
|
190
|
+
float,
|
|
191
|
+
decimal,
|
|
192
|
+
date,
|
|
193
|
+
datetime,
|
|
194
|
+
time,
|
|
195
|
+
enum: _enum,
|
|
196
|
+
object
|
|
16
197
|
};
|
|
17
198
|
|
|
18
199
|
//#endregion
|
|
@@ -21,16 +202,7 @@ const unauthenticatedTailorUser = {
|
|
|
21
202
|
function defineAuth(name, config) {
|
|
22
203
|
return {
|
|
23
204
|
...config,
|
|
24
|
-
name
|
|
25
|
-
invoker(machineUser) {
|
|
26
|
-
return {
|
|
27
|
-
namespace: name,
|
|
28
|
-
machineUserName: machineUser
|
|
29
|
-
};
|
|
30
|
-
},
|
|
31
|
-
getConnectionToken(connectionName) {
|
|
32
|
-
return tailor.authconnection.getConnectionToken(connectionName);
|
|
33
|
-
}
|
|
205
|
+
name
|
|
34
206
|
};
|
|
35
207
|
}
|
|
36
208
|
|
|
@@ -80,7 +252,7 @@ const unsafeAllowAllGqlPermission = [{
|
|
|
80
252
|
* Create a resolver definition for the Tailor SDK.
|
|
81
253
|
*
|
|
82
254
|
* The `body` function receives a context with `input` (typed from `config.input`),
|
|
83
|
-
* `
|
|
255
|
+
* `caller`, `invoker` (reflects configured machine-user delegation), and `env`.
|
|
84
256
|
* The return value of `body` must match the `output` type.
|
|
85
257
|
*
|
|
86
258
|
* `output` accepts either a single TailorField (e.g. `t.string()`) or a
|
|
@@ -90,6 +262,14 @@ const unsafeAllowAllGqlPermission = [{
|
|
|
90
262
|
* If not specified, this is automatically set to true when an executor uses this resolver
|
|
91
263
|
* with `resolverExecutedTrigger`. If explicitly set to false while an executor uses this
|
|
92
264
|
* resolver, an error will be thrown during apply.
|
|
265
|
+
*
|
|
266
|
+
* `permission` declares the resolver's access requirement, checked against `context.user` (the
|
|
267
|
+
* original caller, unaffected by `authInvoker`) before `body` runs. Omitted (default):
|
|
268
|
+
* unchanged, anonymous callers can reach the resolver. `"allowAnonymous"`: explicitly documents
|
|
269
|
+
* that anonymous callers are allowed. An array of `{ conditions, permit }` policies (in the same
|
|
270
|
+
* style as TailorDB's `.permission()`) rejects non-matching callers: at least one `permit: true`
|
|
271
|
+
* policy is required (denied unless it matches), and a matching `permit: false` policy always
|
|
272
|
+
* overrides that grant.
|
|
93
273
|
* @template Input
|
|
94
274
|
* @template Output
|
|
95
275
|
* @param config - Resolver configuration
|
|
@@ -100,10 +280,11 @@ const unsafeAllowAllGqlPermission = [{
|
|
|
100
280
|
* export default createResolver({
|
|
101
281
|
* name: "getUser",
|
|
102
282
|
* operation: "query",
|
|
283
|
+
* permission: [{ conditions: [[{ user: "_loggedIn" }, "=", true]], permit: true }],
|
|
103
284
|
* input: {
|
|
104
285
|
* id: t.string(),
|
|
105
286
|
* },
|
|
106
|
-
* body: async ({ input,
|
|
287
|
+
* body: async ({ input, caller }) => {
|
|
107
288
|
* const db = getDB("tailordb");
|
|
108
289
|
* const result = await db.selectFrom("User").selectAll().where("id", "=", input.id).executeTakeFirst();
|
|
109
290
|
* return { name: result?.name ?? "", email: result?.email ?? "" };
|
|
@@ -370,6 +551,165 @@ function incomingWebhookTrigger(options) {
|
|
|
370
551
|
};
|
|
371
552
|
}
|
|
372
553
|
|
|
554
|
+
//#endregion
|
|
555
|
+
//#region src/configure/services/workflow/execution-policy.ts
|
|
556
|
+
const EXECUTION_POLICY_EXACT_KEY_REGEX = /^[a-z0-9][a-z0-9_:.-]{0,62}[a-z0-9]$/;
|
|
557
|
+
function createExecutionPolicyInstance(initialName, initialKey, concurrencyPolicy, matchType, separator, allowNameSetter, allowKeySetter) {
|
|
558
|
+
const isPrefix = matchType === "prefix";
|
|
559
|
+
const raw = {
|
|
560
|
+
name: initialName,
|
|
561
|
+
key: initialKey,
|
|
562
|
+
matchType,
|
|
563
|
+
...concurrencyPolicy && { concurrencyPolicy },
|
|
564
|
+
...isPrefix && { keyFor: (suffix) => {
|
|
565
|
+
const key = `${raw.key}${separator}${suffix}`;
|
|
566
|
+
if (!EXECUTION_POLICY_EXACT_KEY_REGEX.test(key)) throw new Error(`Invalid execution policy key "${key}" built by keyFor("${suffix}"): must match [a-z0-9_:.-] (2-64 chars; must start and end with [a-z0-9]).`);
|
|
567
|
+
return key;
|
|
568
|
+
} }
|
|
569
|
+
};
|
|
570
|
+
return {
|
|
571
|
+
instance: brandValue(raw, "execution-policy"),
|
|
572
|
+
setName: allowNameSetter ? (n) => {
|
|
573
|
+
raw.name = n;
|
|
574
|
+
} : void 0,
|
|
575
|
+
setKey: allowKeySetter ? (k) => {
|
|
576
|
+
raw.key = k;
|
|
577
|
+
} : void 0
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* Define a single workflow job function execution policy.
|
|
582
|
+
*
|
|
583
|
+
* Use this when declaring a policy outside the
|
|
584
|
+
* {@link defineWorkflowExecutionPolicies} builder — for example, when the
|
|
585
|
+
* runtime key prefix needs to differ from the corresponding workspace-unique
|
|
586
|
+
* name.
|
|
587
|
+
*
|
|
588
|
+
* When `matchType: "prefix"` is set, the returned instance has `keyFor(suffix)`
|
|
589
|
+
* instead of a directly-usable `key` (see {@link ExecutionPolicyWildcardInstance}).
|
|
590
|
+
* @param name - Workspace-unique name. Must match `^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$`.
|
|
591
|
+
* @param def - Optional overrides for `key` (defaults to `name`), `matchType`, `separator` (the `keyFor` join character, defaults to `.`), and concurrency
|
|
592
|
+
* @returns An execution policy instance
|
|
593
|
+
* @example
|
|
594
|
+
* export const perTenant = defineWorkflowExecutionPolicy("tenant-api", {
|
|
595
|
+
* matchType: "prefix",
|
|
596
|
+
* concurrencyPolicy: { maxConcurrentExecutions: 3 },
|
|
597
|
+
* });
|
|
598
|
+
*
|
|
599
|
+
* perTenant.keyFor(tenantId); // "tenant-api.<tenantId>"
|
|
600
|
+
*/
|
|
601
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
602
|
+
function defineWorkflowExecutionPolicy(name, def) {
|
|
603
|
+
return createExecutionPolicyInstance(name, def?.key ?? name, def?.concurrencyPolicy, def?.matchType ?? "exact", def?.separator ?? ".", false, false).instance;
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Define a group of workflow job function execution policies. Property names
|
|
607
|
+
* become the workspace-unique `name` and default `key` verbatim, matching the
|
|
608
|
+
* mental model of {@link defineWaitPoints}. Provide `name` / `key` explicitly
|
|
609
|
+
* to override the property-name default (for example, when the property name
|
|
610
|
+
* is not valid for the execution policy grammar or when the runtime key
|
|
611
|
+
* prefix needs to differ).
|
|
612
|
+
*
|
|
613
|
+
* When `matchType: "prefix"` is set, the returned instance has `keyFor(suffix)`
|
|
614
|
+
* instead of a directly-usable `key` (see {@link ExecutionPolicyWildcardInstance}).
|
|
615
|
+
* `matchType` can be combined with an explicit `key`, or left to apply to
|
|
616
|
+
* the property-name-derived prefix.
|
|
617
|
+
*
|
|
618
|
+
* The return type mirrors the builder's return type so JSDoc on each property
|
|
619
|
+
* is preserved in IDE autocompletion.
|
|
620
|
+
* @param builder - Callback that receives a `define` factory and returns a record of policies
|
|
621
|
+
* @param options - Group-wide options; `separator` overrides the `.` `keyFor` uses to join the prefix and suffix for every prefix policy in the group
|
|
622
|
+
* @returns The same object returned by the builder (with `name` / `key` resolved on each instance)
|
|
623
|
+
* @example
|
|
624
|
+
* export const executionPolicies = defineWorkflowExecutionPolicies((define) => ({
|
|
625
|
+
* premium: define({ concurrencyPolicy: { maxConcurrentExecutions: 5 } }),
|
|
626
|
+
* "tenant-api": define({
|
|
627
|
+
* matchType: "prefix",
|
|
628
|
+
* concurrencyPolicy: { maxConcurrentExecutions: 3 },
|
|
629
|
+
* }),
|
|
630
|
+
* }));
|
|
631
|
+
*
|
|
632
|
+
* // In a workflow job function:
|
|
633
|
+
* await tailor.workflow.execJobFunction("worker", args, {
|
|
634
|
+
* executionPolicyKey: executionPolicies.premium.key,
|
|
635
|
+
* });
|
|
636
|
+
* await tailor.workflow.execJobFunction("worker", args, {
|
|
637
|
+
* executionPolicyKey: executionPolicies["tenant-api"].keyFor(input.tenantId),
|
|
638
|
+
* });
|
|
639
|
+
*/
|
|
640
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
641
|
+
function defineWorkflowExecutionPolicies(builder, options) {
|
|
642
|
+
const separator = options?.separator ?? ".";
|
|
643
|
+
const nameSetters = /* @__PURE__ */ new Map();
|
|
644
|
+
const keySetters = /* @__PURE__ */ new Map();
|
|
645
|
+
const define = (def) => {
|
|
646
|
+
const explicitName = def?.name;
|
|
647
|
+
const explicitKey = def?.key;
|
|
648
|
+
const { instance, setName, setKey } = createExecutionPolicyInstance(explicitName ?? "__pending__", explicitKey ?? explicitName ?? "__pending__", def?.concurrencyPolicy, def?.matchType ?? "exact", separator, explicitName === void 0, explicitKey === void 0 && explicitName === void 0);
|
|
649
|
+
if (setName) nameSetters.set(instance, setName);
|
|
650
|
+
if (setKey) keySetters.set(instance, setKey);
|
|
651
|
+
return instance;
|
|
652
|
+
};
|
|
653
|
+
const result = builder(define);
|
|
654
|
+
for (const propName of Object.keys(result)) {
|
|
655
|
+
const instance = result[propName];
|
|
656
|
+
nameSetters.get(instance)?.(propName);
|
|
657
|
+
keySetters.get(instance)?.(propName);
|
|
658
|
+
}
|
|
659
|
+
return result;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
//#endregion
|
|
663
|
+
//#region src/configure/services/workflow/job.ts
|
|
664
|
+
/**
|
|
665
|
+
* Create a workflow job definition.
|
|
666
|
+
*
|
|
667
|
+
* All jobs must be named exports from the workflow file.
|
|
668
|
+
* Job names must be unique across the entire project.
|
|
669
|
+
*
|
|
670
|
+
* Input and output must be JsonValue-compatible (primitives, plain objects, arrays).
|
|
671
|
+
* Functions and objects with a `toJSON` method are rejected at the type level;
|
|
672
|
+
* class instances exposing methods are rejected via the property walk.
|
|
673
|
+
* @param config - Job configuration with name and body function.
|
|
674
|
+
* @param config.name - Unique job name across the project.
|
|
675
|
+
* @param config.body - Function that processes the job input.
|
|
676
|
+
* @returns A WorkflowJob that can be started from other jobs.
|
|
677
|
+
* @example
|
|
678
|
+
* // Simple job with async body:
|
|
679
|
+
* export const fetchData = createWorkflowJob({
|
|
680
|
+
* name: "fetch-data",
|
|
681
|
+
* body: async (input: { id: string }) => {
|
|
682
|
+
* const db = getDB("tailordb");
|
|
683
|
+
* return await db.selectFrom("Table").selectAll().where("id", "=", input.id).executeTakeFirst();
|
|
684
|
+
* },
|
|
685
|
+
* });
|
|
686
|
+
* @example
|
|
687
|
+
* // Orchestrator job that fans out to other jobs.
|
|
688
|
+
* export const orchestrate = createWorkflowJob({
|
|
689
|
+
* name: "orchestrate",
|
|
690
|
+
* body: (input: { orderId: string }) => {
|
|
691
|
+
* const inventory = checkInventory.start({ orderId: input.orderId });
|
|
692
|
+
* const payment = processPayment.start({ orderId: input.orderId });
|
|
693
|
+
* return { inventory, payment };
|
|
694
|
+
* },
|
|
695
|
+
* });
|
|
696
|
+
*/
|
|
697
|
+
function createWorkflowJob(config) {
|
|
698
|
+
const userBody = config.body;
|
|
699
|
+
const body = process.env.__TAILOR_PLATFORM_BUNDLE ? userBody : (input, context) => withWorkflowTestInvoker(context.invoker, () => userBody(input, context));
|
|
700
|
+
if (!process.env.__TAILOR_PLATFORM_BUNDLE) registerJob(config.name, body);
|
|
701
|
+
const start = process.env.__TAILOR_PLATFORM_BUNDLE ? () => {
|
|
702
|
+
throw new Error("This workflow job's .start() is rewritten at build time and is unavailable in the bundle");
|
|
703
|
+
} : function start(args, options) {
|
|
704
|
+
return arguments.length >= 2 ? dispatchStartJob(config.name, args, options) : dispatchStartJob(config.name, args);
|
|
705
|
+
};
|
|
706
|
+
return brandValue({
|
|
707
|
+
name: config.name,
|
|
708
|
+
start,
|
|
709
|
+
body
|
|
710
|
+
}, "workflow-job");
|
|
711
|
+
}
|
|
712
|
+
|
|
373
713
|
//#endregion
|
|
374
714
|
//#region src/configure/services/workflow/wait-point.ts
|
|
375
715
|
function getPlatformWorkflow() {
|
|
@@ -401,7 +741,7 @@ function createWaitPointInstance(initialKey) {
|
|
|
401
741
|
};
|
|
402
742
|
}
|
|
403
743
|
/**
|
|
404
|
-
*
|
|
744
|
+
* Create a single typed wait point with an explicit key.
|
|
405
745
|
*
|
|
406
746
|
* `Payload` and `Result` must be JsonValue-compatible.
|
|
407
747
|
* Functions and objects with a `toJSON` method are rejected at the type level;
|
|
@@ -409,16 +749,16 @@ function createWaitPointInstance(initialKey) {
|
|
|
409
749
|
* @param key - The wait point key used to match wait and resolve calls
|
|
410
750
|
* @returns A WaitPointInstance with typed `.wait()` and `.resolve()` methods
|
|
411
751
|
* @example
|
|
412
|
-
* export const approval =
|
|
752
|
+
* export const approval = createWaitPoint<{ message: string }, { approved: boolean }>("approval");
|
|
413
753
|
*
|
|
414
754
|
* await approval.wait({ message: "Please approve" });
|
|
415
755
|
*/
|
|
416
756
|
/* @__NO_SIDE_EFFECTS__ */
|
|
417
|
-
function
|
|
757
|
+
function createWaitPoint(key) {
|
|
418
758
|
return createWaitPointInstance(key).instance;
|
|
419
759
|
}
|
|
420
760
|
/**
|
|
421
|
-
*
|
|
761
|
+
* Create a group of typed wait points for human-in-the-loop workflows.
|
|
422
762
|
* Property names become the wait point keys.
|
|
423
763
|
*
|
|
424
764
|
* The return type is the same as the builder's return type, so JSDoc on each
|
|
@@ -430,7 +770,7 @@ function defineWaitPoint(key) {
|
|
|
430
770
|
* @param builder - Callback that receives a `define` factory and returns an object of wait points
|
|
431
771
|
* @returns The same object returned by the builder (with correct keys set on each instance)
|
|
432
772
|
* @example
|
|
433
|
-
* export const waitPoints =
|
|
773
|
+
* export const waitPoints = createWaitPoints(define => ({
|
|
434
774
|
* // Preceding JSDoc on this property is shown in IDE autocompletion
|
|
435
775
|
* approval: define<{ message: string }, { approved: boolean }>(),
|
|
436
776
|
* }));
|
|
@@ -441,7 +781,7 @@ function defineWaitPoint(key) {
|
|
|
441
781
|
* // For 2-level access, use destructured export with JSDoc attached to the export itself.
|
|
442
782
|
*/
|
|
443
783
|
/* @__NO_SIDE_EFFECTS__ */
|
|
444
|
-
function
|
|
784
|
+
function createWaitPoints(builder) {
|
|
445
785
|
const setters = /* @__PURE__ */ new Map();
|
|
446
786
|
const define = (() => {
|
|
447
787
|
const { instance, setKey } = createWaitPointInstance("__pending__");
|
|
@@ -456,8 +796,8 @@ function defineWaitPoints(builder) {
|
|
|
456
796
|
//#endregion
|
|
457
797
|
//#region src/configure/services/workflow/workflow.ts
|
|
458
798
|
/**
|
|
459
|
-
* Create a workflow definition that can be
|
|
460
|
-
* In production, bundler
|
|
799
|
+
* Create a workflow definition that can be started via the Tailor SDK.
|
|
800
|
+
* In production, the bundler rewrites `.start()` calls into direct platform workflow calls.
|
|
461
801
|
*
|
|
462
802
|
* The workflow MUST be the default export of the file.
|
|
463
803
|
* All jobs referenced by the workflow MUST be named exports.
|
|
@@ -468,8 +808,8 @@ function defineWaitPoints(builder) {
|
|
|
468
808
|
* export const fetchData = createWorkflowJob({ name: "fetch-data", body: async (input: { id: string }) => ({ id: input.id }) });
|
|
469
809
|
* export const processData = createWorkflowJob({
|
|
470
810
|
* name: "process-data",
|
|
471
|
-
* body:
|
|
472
|
-
* const data =
|
|
811
|
+
* body: (input: { id: string }) => {
|
|
812
|
+
* const data = fetchData.start({ id: input.id });
|
|
473
813
|
* return { data };
|
|
474
814
|
* },
|
|
475
815
|
* });
|
|
@@ -481,12 +821,13 @@ function defineWaitPoints(builder) {
|
|
|
481
821
|
* });
|
|
482
822
|
*/
|
|
483
823
|
function createWorkflow(config) {
|
|
484
|
-
if (!process.env.TAILOR_PLATFORM_BUNDLE) registerWorkflow(config.name, config.mainJob.name);
|
|
485
824
|
return brandValue({
|
|
486
825
|
...config,
|
|
487
|
-
|
|
488
|
-
throw new Error("workflow.
|
|
489
|
-
} : async (args, options)
|
|
826
|
+
start: process.env.__TAILOR_PLATFORM_BUNDLE ? async () => {
|
|
827
|
+
throw new Error("workflow.start() is rewritten at build time and unavailable in the bundle");
|
|
828
|
+
} : async function start(args, options) {
|
|
829
|
+
return arguments.length >= 2 ? await dispatchStartWorkflow(config.name, args, options) : await dispatchStartWorkflow(config.name, args);
|
|
830
|
+
}
|
|
490
831
|
}, "workflow");
|
|
491
832
|
}
|
|
492
833
|
|
|
@@ -509,6 +850,22 @@ function defineStaticWebSite(name, config) {
|
|
|
509
850
|
};
|
|
510
851
|
}
|
|
511
852
|
|
|
853
|
+
//#endregion
|
|
854
|
+
//#region src/configure/services/aigateway/index.ts
|
|
855
|
+
/**
|
|
856
|
+
* Define an AI Gateway configuration for the Tailor SDK.
|
|
857
|
+
* @param name - AI Gateway name
|
|
858
|
+
* @param config - AI Gateway configuration
|
|
859
|
+
* @returns Defined AI Gateway
|
|
860
|
+
*/
|
|
861
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
862
|
+
function defineAIGateway(name, config) {
|
|
863
|
+
return {
|
|
864
|
+
...config,
|
|
865
|
+
name
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
|
|
512
869
|
//#endregion
|
|
513
870
|
//#region src/configure/services/idp/permission.ts
|
|
514
871
|
/**
|
|
@@ -538,6 +895,10 @@ const unsafeAllowAllIdPPermission = {
|
|
|
538
895
|
sendPasswordResetEmail: [{
|
|
539
896
|
conditions: [],
|
|
540
897
|
permit: true
|
|
898
|
+
}],
|
|
899
|
+
unenrollMfa: [{
|
|
900
|
+
conditions: [],
|
|
901
|
+
permit: true
|
|
541
902
|
}]
|
|
542
903
|
};
|
|
543
904
|
|
|
@@ -600,12 +961,14 @@ function defineSecretManager(config, options) {
|
|
|
600
961
|
* Files are discovered via the `httpAdapter.files` glob in `defineConfig()`.
|
|
601
962
|
*
|
|
602
963
|
* `input` is an object keyed by lowercase HTTP method (`get`, `post`, `put`,
|
|
603
|
-
* `patch`, `delete`).
|
|
964
|
+
* `patch`, `delete`). Each handler can return a GraphQL query string or a
|
|
965
|
+
* typed document node. At least one method must be declared; the methods the
|
|
604
966
|
* adapter serves are derived from these keys.
|
|
605
967
|
*
|
|
606
|
-
* `output` is optional and shared across all methods. If
|
|
607
|
-
*
|
|
608
|
-
*
|
|
968
|
+
* `output` is optional and shared across all methods. If `input` returns typed
|
|
969
|
+
* document nodes, `output` receives the corresponding result type as
|
|
970
|
+
* `resp.data`. If you need different response shapes per method, discriminate
|
|
971
|
+
* inside `output` based on the GraphQL response shape.
|
|
609
972
|
*
|
|
610
973
|
* Each handler runs server-side and must be synchronous: Node APIs, `fetch`,
|
|
611
974
|
* `async`/`await`, Promises, and top-level `await` are not available.
|
|
@@ -637,7 +1000,7 @@ function createHttpAdapter(config) {
|
|
|
637
1000
|
}
|
|
638
1001
|
|
|
639
1002
|
//#endregion
|
|
640
|
-
//#region src/configure/config.ts
|
|
1003
|
+
//#region src/configure/config/index.ts
|
|
641
1004
|
/**
|
|
642
1005
|
* Define a Tailor SDK application configuration with shallow exactness.
|
|
643
1006
|
* @template Config
|
|
@@ -649,16 +1012,6 @@ function defineConfig(config) {
|
|
|
649
1012
|
return config;
|
|
650
1013
|
}
|
|
651
1014
|
/**
|
|
652
|
-
* Define generators to be used with the Tailor SDK.
|
|
653
|
-
* @deprecated Use definePlugins() with generation hooks (onTypeLoaded, generate, etc.) instead.
|
|
654
|
-
* @param configs - Generator configurations
|
|
655
|
-
* @returns Generator configurations as given
|
|
656
|
-
*/
|
|
657
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
658
|
-
function defineGenerators(...configs) {
|
|
659
|
-
return configs;
|
|
660
|
-
}
|
|
661
|
-
/**
|
|
662
1015
|
* Define plugins to be used with the Tailor SDK.
|
|
663
1016
|
* Plugins can generate additional types, resolvers, and executors
|
|
664
1017
|
* based on existing TailorDB types.
|
|
@@ -676,5 +1029,5 @@ function definePlugins(...configs) {
|
|
|
676
1029
|
const t = t$1;
|
|
677
1030
|
|
|
678
1031
|
//#endregion
|
|
679
|
-
export {
|
|
1032
|
+
export { authAccessTokenIssuedTrigger, authAccessTokenRefreshedTrigger, authAccessTokenRevokedTrigger, authAccessTokenTrigger, createExecutor, createHttpAdapter, createResolver, createWaitPoint, createWaitPoints, createWorkflow, createWorkflowJob, db, defineAIGateway, defineAuth, defineConfig, defineIdp, definePlugins, defineSecretManager, defineStaticWebSite, defineWorkflowExecutionPolicies, defineWorkflowExecutionPolicy, idpUserCreatedTrigger, idpUserDeletedTrigger, idpUserTrigger, idpUserUpdatedTrigger, incomingWebhookTrigger, recordCreatedTrigger, recordDeletedTrigger, recordTrigger, recordUpdatedTrigger, resolverExecutedTrigger, scheduleTrigger, t, unsafeAllowAllGqlPermission, unsafeAllowAllIdPPermission, unsafeAllowAllTypePermission };
|
|
680
1033
|
//# sourceMappingURL=index.mjs.map
|