@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
|
@@ -1,192 +1,236 @@
|
|
|
1
|
-
|
|
2
|
-
import { t as mapAllowedValues } from "./field-C4zdJLW5.mjs";
|
|
3
|
-
import { t as brandValue } from "./brand-DlnJ375c.mjs";
|
|
1
|
+
import { t as brandValue } from "./brand-Eo4pLXPJ.mjs";
|
|
4
2
|
import { cloneDeep } from "es-toolkit";
|
|
5
3
|
|
|
6
|
-
//#region src/
|
|
7
|
-
function isRelationSelfConfig(config) {
|
|
8
|
-
return config.toward.type === "self";
|
|
9
|
-
}
|
|
4
|
+
//#region src/runtime/field-parse.ts
|
|
10
5
|
const regex = {
|
|
11
6
|
uuid: /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,
|
|
12
7
|
date: /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/,
|
|
13
|
-
time: /^(?<hour
|
|
14
|
-
datetime: /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})
|
|
8
|
+
time: /^(?<hour>[01]\d|2[0-3]):(?<minute>[0-5]\d)$/,
|
|
9
|
+
datetime: /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})[Tt](?<hour>[01]\d|2[0-3]):(?<minute>[0-5]\d):(?<second>[0-5]\d|60)(\.(?<fraction>\d+))?(?<offset>[Zz]|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/,
|
|
15
10
|
decimal: /^-?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/
|
|
16
11
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
83
|
-
});
|
|
84
|
-
break;
|
|
85
|
-
case "time":
|
|
86
|
-
if (typeof value !== "string" || !regex.time.test(value)) issues.push({
|
|
87
|
-
message: `Expected to match "HH:mm" format: received ${String(value)}`,
|
|
88
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
89
|
-
});
|
|
90
|
-
break;
|
|
91
|
-
case "decimal":
|
|
92
|
-
if (typeof value !== "string" || !regex.decimal.test(value)) issues.push({
|
|
93
|
-
message: `Expected a decimal string: received ${String(value)}`,
|
|
94
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
12
|
+
function validateBaseValue(args) {
|
|
13
|
+
const { field, value, pathArray, issues } = args;
|
|
14
|
+
const path = pathArray.length > 0 ? pathArray : void 0;
|
|
15
|
+
const initialIssueCount = issues.length;
|
|
16
|
+
switch (field.type) {
|
|
17
|
+
case "string":
|
|
18
|
+
if (typeof value !== "string") issues.push({
|
|
19
|
+
message: `Expected a string: received ${String(value)}`,
|
|
20
|
+
path
|
|
21
|
+
});
|
|
22
|
+
break;
|
|
23
|
+
case "integer":
|
|
24
|
+
if (typeof value !== "number" || !Number.isInteger(value)) issues.push({
|
|
25
|
+
message: `Expected an integer: received ${String(value)}`,
|
|
26
|
+
path
|
|
27
|
+
});
|
|
28
|
+
break;
|
|
29
|
+
case "float":
|
|
30
|
+
if (typeof value !== "number" || !Number.isFinite(value)) issues.push({
|
|
31
|
+
message: `Expected a number: received ${String(value)}`,
|
|
32
|
+
path
|
|
33
|
+
});
|
|
34
|
+
break;
|
|
35
|
+
case "boolean":
|
|
36
|
+
if (typeof value !== "boolean") issues.push({
|
|
37
|
+
message: `Expected a boolean: received ${String(value)}`,
|
|
38
|
+
path
|
|
39
|
+
});
|
|
40
|
+
break;
|
|
41
|
+
case "uuid":
|
|
42
|
+
if (typeof value !== "string" || !regex.uuid.test(value)) issues.push({
|
|
43
|
+
message: `Expected a valid UUID: received ${String(value)}`,
|
|
44
|
+
path
|
|
45
|
+
});
|
|
46
|
+
break;
|
|
47
|
+
case "date":
|
|
48
|
+
if (typeof value !== "string" || !regex.date.test(value)) issues.push({
|
|
49
|
+
message: `Expected to match "yyyy-MM-dd" format: received ${String(value)}`,
|
|
50
|
+
path
|
|
51
|
+
});
|
|
52
|
+
break;
|
|
53
|
+
case "datetime":
|
|
54
|
+
if (typeof value !== "string" || !regex.datetime.test(value)) issues.push({
|
|
55
|
+
message: `Expected to match ISO format: received ${String(value)}`,
|
|
56
|
+
path
|
|
57
|
+
});
|
|
58
|
+
break;
|
|
59
|
+
case "time":
|
|
60
|
+
if (typeof value !== "string" || !regex.time.test(value)) issues.push({
|
|
61
|
+
message: `Expected to match "HH:mm" format: received ${String(value)}`,
|
|
62
|
+
path
|
|
63
|
+
});
|
|
64
|
+
break;
|
|
65
|
+
case "decimal":
|
|
66
|
+
if (typeof value !== "string" || !regex.decimal.test(value)) issues.push({
|
|
67
|
+
message: `Expected a decimal string: received ${String(value)}`,
|
|
68
|
+
path
|
|
69
|
+
});
|
|
70
|
+
break;
|
|
71
|
+
case "enum":
|
|
72
|
+
if (field._metadata.allowedValues) {
|
|
73
|
+
const allowedValues = field._metadata.allowedValues.map((v) => v.value);
|
|
74
|
+
if (typeof value !== "string" || !allowedValues.includes(value)) issues.push({
|
|
75
|
+
message: `Must be one of [${allowedValues.join(", ")}]: received ${String(value)}`,
|
|
76
|
+
path
|
|
95
77
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
message: `Must be one of [${allowedValues.join(", ")}]: received ${String(value)}`,
|
|
102
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
break;
|
|
106
|
-
case "nested":
|
|
107
|
-
if (typeof value !== "object" || value === null || Array.isArray(value) || value instanceof Date) issues.push({
|
|
78
|
+
}
|
|
79
|
+
break;
|
|
80
|
+
case "nested": {
|
|
81
|
+
if (typeof value !== "object" || value === null || Array.isArray(value) || value instanceof Date) {
|
|
82
|
+
issues.push({
|
|
108
83
|
message: `Expected an object: received ${String(value)}`,
|
|
109
|
-
path
|
|
84
|
+
path
|
|
110
85
|
});
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (validateFns && validateFns.length > 0) for (const validateInput of validateFns) {
|
|
125
|
-
const { fn, message } = typeof validateInput === "function" ? {
|
|
126
|
-
fn: validateInput,
|
|
127
|
-
message: "Validation failed"
|
|
128
|
-
} : {
|
|
129
|
-
fn: validateInput[0],
|
|
130
|
-
message: validateInput[1]
|
|
131
|
-
};
|
|
132
|
-
if (!fn({
|
|
133
|
-
value,
|
|
134
|
-
data,
|
|
135
|
-
user
|
|
136
|
-
})) issues.push({
|
|
137
|
-
message,
|
|
138
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
139
|
-
});
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
let nestedBaseValid = true;
|
|
89
|
+
for (const [fieldName, nestedField] of Object.entries(field.fields)) {
|
|
90
|
+
const fieldValue = value[fieldName];
|
|
91
|
+
if (!validateBaseField({
|
|
92
|
+
...args,
|
|
93
|
+
field: nestedField,
|
|
94
|
+
value: fieldValue,
|
|
95
|
+
pathArray: pathArray.concat(fieldName)
|
|
96
|
+
})) nestedBaseValid = false;
|
|
97
|
+
}
|
|
98
|
+
return nestedBaseValid;
|
|
140
99
|
}
|
|
141
|
-
return issues;
|
|
142
100
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const { value
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
101
|
+
return issues.length === initialIssueCount;
|
|
102
|
+
}
|
|
103
|
+
function validateCustomValue(args, validateFns) {
|
|
104
|
+
const { value, pathArray, issues } = args;
|
|
105
|
+
const path = pathArray.length > 0 ? pathArray : void 0;
|
|
106
|
+
for (const fn of validateFns) {
|
|
107
|
+
const result = fn({ value });
|
|
108
|
+
if (typeof result === "string") issues.push({
|
|
109
|
+
message: result,
|
|
110
|
+
path
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function validateBaseField(args) {
|
|
115
|
+
const { field, value, pathArray, issues } = args;
|
|
116
|
+
const path = pathArray.length > 0 ? pathArray : void 0;
|
|
117
|
+
const isNullOrUndefined = value === null || value === void 0;
|
|
118
|
+
if (field._metadata.required && isNullOrUndefined) {
|
|
119
|
+
issues.push({
|
|
120
|
+
message: "Required field is missing",
|
|
121
|
+
path
|
|
122
|
+
});
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
if (!field._metadata.required && isNullOrUndefined) return true;
|
|
126
|
+
let baseValid = true;
|
|
127
|
+
if (field._metadata.array) {
|
|
128
|
+
if (!Array.isArray(value)) {
|
|
153
129
|
issues.push({
|
|
154
|
-
message: "
|
|
155
|
-
path
|
|
130
|
+
message: "Expected an array",
|
|
131
|
+
path
|
|
156
132
|
});
|
|
157
|
-
return
|
|
133
|
+
return false;
|
|
158
134
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
135
|
+
for (let i = 0; i < value.length; i++) if (!validateBaseValue({
|
|
136
|
+
...args,
|
|
137
|
+
value: value[i],
|
|
138
|
+
pathArray: pathArray.concat(`[${i}]`)
|
|
139
|
+
})) baseValid = false;
|
|
140
|
+
} else baseValid = validateBaseValue(args);
|
|
141
|
+
return baseValid;
|
|
142
|
+
}
|
|
143
|
+
function validateCustomField(args) {
|
|
144
|
+
const { field, value, pathArray } = args;
|
|
145
|
+
if (value === null || value === void 0) return;
|
|
146
|
+
if (field.type === "nested") {
|
|
147
|
+
const records = field._metadata.array ? value : [value];
|
|
148
|
+
for (let i = 0; i < records.length; i++) {
|
|
149
|
+
const record = records[i];
|
|
150
|
+
const recordPath = field._metadata.array ? pathArray.concat(`[${i}]`) : pathArray;
|
|
151
|
+
for (const [fieldName, nestedField] of Object.entries(field.fields)) validateCustomField({
|
|
152
|
+
...args,
|
|
153
|
+
field: nestedField,
|
|
154
|
+
value: record[fieldName],
|
|
155
|
+
pathArray: recordPath.concat(fieldName)
|
|
156
|
+
});
|
|
180
157
|
}
|
|
181
|
-
|
|
158
|
+
}
|
|
159
|
+
const validateFns = field._metadata.validate;
|
|
160
|
+
if (validateFns?.length) validateCustomValue(args, validateFns);
|
|
161
|
+
}
|
|
162
|
+
function parseInternal(args) {
|
|
163
|
+
const { value } = args;
|
|
164
|
+
const issues = [];
|
|
165
|
+
const validationArgs = {
|
|
166
|
+
...args,
|
|
167
|
+
issues
|
|
168
|
+
};
|
|
169
|
+
if (validateBaseField(validationArgs)) validateCustomField(validationArgs);
|
|
170
|
+
if (issues.length > 0) return { issues };
|
|
171
|
+
return { value: value ?? null };
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Validate a value against a record of input fields, treating the record as a
|
|
175
|
+
* single required object — the same code path deployed functions run via
|
|
176
|
+
* `t.object(fields).parse(...)`, so local validation matches platform behavior.
|
|
177
|
+
* @param args - Input field definitions plus the value, context data, and user
|
|
178
|
+
* @returns Validation result
|
|
179
|
+
*/
|
|
180
|
+
function parseInputFields(args) {
|
|
181
|
+
const { fields, ...parseArgs } = args;
|
|
182
|
+
return parseInternal({
|
|
183
|
+
...parseArgs,
|
|
184
|
+
field: {
|
|
185
|
+
type: "nested",
|
|
186
|
+
fields,
|
|
187
|
+
_metadata: { required: true }
|
|
188
|
+
},
|
|
189
|
+
pathArray: []
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/configure/types/field.ts
|
|
195
|
+
/**
|
|
196
|
+
* Normalize allowed values into EnumValue objects with descriptions.
|
|
197
|
+
* @param values - Allowed values as strings or EnumValue objects
|
|
198
|
+
* @returns Normalized allowed values
|
|
199
|
+
*/
|
|
200
|
+
function mapAllowedValues(values) {
|
|
201
|
+
return values.map((value) => {
|
|
202
|
+
if (typeof value === "string") return {
|
|
182
203
|
value,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
204
|
+
description: ""
|
|
205
|
+
};
|
|
206
|
+
return {
|
|
207
|
+
...value,
|
|
208
|
+
description: value.description ?? ""
|
|
209
|
+
};
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
//#endregion
|
|
214
|
+
//#region src/configure/services/tailordb/schema.ts
|
|
215
|
+
function isRelationSelfConfig(config) {
|
|
216
|
+
return config.toward.type === "self";
|
|
217
|
+
}
|
|
218
|
+
function createTailorDBField(type, options, fields, values) {
|
|
219
|
+
return createTailorDBFieldRuntime(type, options, fields, values);
|
|
220
|
+
}
|
|
221
|
+
function createTailorDBFieldRuntime(type, options, fields, values) {
|
|
222
|
+
const _metadata = { required: true };
|
|
223
|
+
let _rawRelation;
|
|
224
|
+
if (options) {
|
|
225
|
+
if (options.optional === true) _metadata.required = false;
|
|
226
|
+
if (options.array === true) _metadata.array = true;
|
|
227
|
+
}
|
|
228
|
+
if (values) _metadata.allowedValues = mapAllowedValues(values);
|
|
229
|
+
function parseInternal$1(args) {
|
|
230
|
+
return parseInternal({
|
|
231
|
+
...args,
|
|
232
|
+
field
|
|
186
233
|
});
|
|
187
|
-
issues.push(...valueIssues);
|
|
188
|
-
if (issues.length > 0) return { issues };
|
|
189
|
-
return { value };
|
|
190
234
|
}
|
|
191
235
|
function cloneWith(metadataUpdates) {
|
|
192
236
|
const cloned = field.clone();
|
|
@@ -211,19 +255,20 @@ function createTailorDBField(type, options, fields, values) {
|
|
|
211
255
|
description(description) {
|
|
212
256
|
return cloneWith({ description });
|
|
213
257
|
},
|
|
214
|
-
typeName
|
|
258
|
+
typeName(typeName) {
|
|
259
|
+
return cloneWith({ typeName });
|
|
260
|
+
},
|
|
215
261
|
validate(...validateInputs) {
|
|
216
262
|
return cloneWith({ validate: validateInputs });
|
|
217
263
|
},
|
|
218
264
|
parse(args) {
|
|
219
|
-
return parseInternal({
|
|
265
|
+
return parseInternal$1({
|
|
220
266
|
value: args.value,
|
|
221
267
|
data: args.data,
|
|
222
|
-
|
|
268
|
+
invoker: args.invoker,
|
|
223
269
|
pathArray: []
|
|
224
270
|
});
|
|
225
271
|
},
|
|
226
|
-
_parseInternal: parseInternal,
|
|
227
272
|
relation(config) {
|
|
228
273
|
const cloned = field.clone();
|
|
229
274
|
const targetType = isRelationSelfConfig(config) ? "self" : config.toward.type.name;
|
|
@@ -250,6 +295,9 @@ function createTailorDBField(type, options, fields, values) {
|
|
|
250
295
|
vector() {
|
|
251
296
|
return cloneWith({ vector: true });
|
|
252
297
|
},
|
|
298
|
+
default(value) {
|
|
299
|
+
return cloneWith({ default: value });
|
|
300
|
+
},
|
|
253
301
|
hooks(hooks) {
|
|
254
302
|
return cloneWith({ hooks });
|
|
255
303
|
},
|
|
@@ -257,22 +305,20 @@ function createTailorDBField(type, options, fields, values) {
|
|
|
257
305
|
return cloneWith({ serial: config });
|
|
258
306
|
},
|
|
259
307
|
clone(cloneOptions) {
|
|
308
|
+
if (this._metadata.validate?.length && cloneOptions?.array !== void 0 && cloneOptions.array !== (this._metadata.array === true)) throw new Error("Cannot change the array option on a field with custom validation");
|
|
260
309
|
let clonedFields = fields;
|
|
261
310
|
if (fields) {
|
|
262
311
|
const cloned = {};
|
|
263
312
|
for (const [key, field] of Object.entries(fields)) cloned[key] = field.clone();
|
|
264
313
|
clonedFields = cloned;
|
|
265
314
|
}
|
|
266
|
-
const clonedField =
|
|
315
|
+
const clonedField = createTailorDBFieldRuntime(type, options, clonedFields, values);
|
|
267
316
|
Object.assign(clonedField._metadata, cloneDeep(this._metadata));
|
|
268
317
|
if (cloneOptions) {
|
|
269
318
|
if (cloneOptions.optional !== void 0) clonedField._metadata.required = !cloneOptions.optional;
|
|
270
319
|
if (cloneOptions.array !== void 0) clonedField._metadata.array = cloneOptions.array;
|
|
271
320
|
}
|
|
272
|
-
if (_rawRelation)
|
|
273
|
-
const clonedRawRelation = cloneDeep(_rawRelation);
|
|
274
|
-
clonedField._setRawRelation(clonedRawRelation);
|
|
275
|
-
}
|
|
321
|
+
if (_rawRelation) clonedField._setRawRelation(cloneDeep(_rawRelation));
|
|
276
322
|
return clonedField;
|
|
277
323
|
},
|
|
278
324
|
_setRawRelation(relation) {
|
|
@@ -361,7 +407,7 @@ function date(options) {
|
|
|
361
407
|
}
|
|
362
408
|
/**
|
|
363
409
|
* Create a datetime field (date and time).
|
|
364
|
-
* Format: ISO 8601 "yyyy-MM-ddTHH:mm:ssZ"
|
|
410
|
+
* Format: ISO 8601, such as "yyyy-MM-ddTHH:mm:ssZ" or "yyyy-MM-ddTHH:mm:ss+09:00"
|
|
365
411
|
* @param options - Field configuration options
|
|
366
412
|
* @returns A datetime field
|
|
367
413
|
* @example db.datetime()
|
|
@@ -417,6 +463,16 @@ function createTailorDBType(name, fields, options) {
|
|
|
417
463
|
const _permissions = {};
|
|
418
464
|
let _files = {};
|
|
419
465
|
const _plugins = [];
|
|
466
|
+
let _typeHook;
|
|
467
|
+
let _typeValidate;
|
|
468
|
+
const _definedMethods = /* @__PURE__ */ new Set();
|
|
469
|
+
if (options.description !== void 0) _definedMethods.add("description");
|
|
470
|
+
function runMethodOnce(method, action) {
|
|
471
|
+
if (_definedMethods.has(method)) throw new Error(`.${method}() has already been set`);
|
|
472
|
+
const result = action();
|
|
473
|
+
_definedMethods.add(method);
|
|
474
|
+
return result;
|
|
475
|
+
}
|
|
420
476
|
if (options.pluralForm) {
|
|
421
477
|
if (name === options.pluralForm) throw new Error(`The name and the plural form must be different. name=${name}`);
|
|
422
478
|
_settings.pluralForm = options.pluralForm;
|
|
@@ -442,61 +498,64 @@ function createTailorDBType(name, fields, options) {
|
|
|
442
498
|
settings: _settings,
|
|
443
499
|
permissions: _permissions,
|
|
444
500
|
files: _files,
|
|
445
|
-
...Object.keys(indexes).length > 0 && { indexes }
|
|
501
|
+
...Object.keys(indexes).length > 0 && { indexes },
|
|
502
|
+
..._typeHook && { typeHook: _typeHook },
|
|
503
|
+
..._typeValidate && { typeValidate: _typeValidate }
|
|
446
504
|
};
|
|
447
505
|
},
|
|
448
|
-
hooks(
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
this.fields[fieldName] = field.hooks(fieldHooks);
|
|
506
|
+
hooks(hook) {
|
|
507
|
+
return runMethodOnce("hooks", () => {
|
|
508
|
+
_typeHook = hook;
|
|
509
|
+
return this;
|
|
453
510
|
});
|
|
454
|
-
return this;
|
|
455
511
|
},
|
|
456
|
-
validate(
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
const isValidateConfig = (v) => {
|
|
461
|
-
return Array.isArray(v) && v.length === 2 && typeof v[1] === "string";
|
|
462
|
-
};
|
|
463
|
-
let updatedField;
|
|
464
|
-
if (Array.isArray(validators)) if (isValidateConfig(validators)) updatedField = field.validate(validators);
|
|
465
|
-
else updatedField = field.validate(...validators);
|
|
466
|
-
else updatedField = field.validate(validators);
|
|
467
|
-
this.fields[fieldName] = updatedField;
|
|
512
|
+
validate(fn) {
|
|
513
|
+
return runMethodOnce("validate", () => {
|
|
514
|
+
_typeValidate = fn;
|
|
515
|
+
return this;
|
|
468
516
|
});
|
|
469
|
-
return this;
|
|
470
517
|
},
|
|
471
518
|
features(features) {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
519
|
+
return runMethodOnce("features", () => {
|
|
520
|
+
_settings = {
|
|
521
|
+
..._settings,
|
|
522
|
+
...features
|
|
523
|
+
};
|
|
524
|
+
return this;
|
|
525
|
+
});
|
|
477
526
|
},
|
|
478
527
|
indexes(...indexes) {
|
|
479
|
-
|
|
480
|
-
|
|
528
|
+
return runMethodOnce("indexes", () => {
|
|
529
|
+
_indexes = indexes;
|
|
530
|
+
return this;
|
|
531
|
+
});
|
|
481
532
|
},
|
|
482
533
|
files(files) {
|
|
483
|
-
|
|
484
|
-
|
|
534
|
+
return runMethodOnce("files", () => {
|
|
535
|
+
_files = files;
|
|
536
|
+
return this;
|
|
537
|
+
});
|
|
485
538
|
},
|
|
486
539
|
permission(permission) {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
540
|
+
return runMethodOnce("permission", () => {
|
|
541
|
+
const ret = this;
|
|
542
|
+
_permissions.record = permission;
|
|
543
|
+
return ret;
|
|
544
|
+
});
|
|
490
545
|
},
|
|
491
546
|
gqlPermission(permission) {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
547
|
+
return runMethodOnce("gqlPermission", () => {
|
|
548
|
+
const ret = this;
|
|
549
|
+
_permissions.gql = permission;
|
|
550
|
+
return ret;
|
|
551
|
+
});
|
|
495
552
|
},
|
|
496
553
|
description(description) {
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
554
|
+
return runMethodOnce("description", () => {
|
|
555
|
+
_description = description;
|
|
556
|
+
this._description = description;
|
|
557
|
+
return this;
|
|
558
|
+
});
|
|
500
559
|
},
|
|
501
560
|
pickFields(keys, options) {
|
|
502
561
|
const result = {};
|
|
@@ -526,7 +585,7 @@ function createTailorDBType(name, fields, options) {
|
|
|
526
585
|
}, "tailordb-type");
|
|
527
586
|
}
|
|
528
587
|
const idField = uuid();
|
|
529
|
-
function
|
|
588
|
+
function dbTable(name, fieldsOrDescription, fields) {
|
|
530
589
|
const typeName = Array.isArray(name) ? name[0] : name;
|
|
531
590
|
const pluralForm = Array.isArray(name) ? name[1] : void 0;
|
|
532
591
|
let description;
|
|
@@ -543,9 +602,9 @@ function dbType(name, fieldsOrDescription, fields) {
|
|
|
543
602
|
description
|
|
544
603
|
});
|
|
545
604
|
}
|
|
546
|
-
/** TailorDB schema builder utilities for defining
|
|
605
|
+
/** TailorDB schema builder utilities for defining tables and fields. */
|
|
547
606
|
const db = {
|
|
548
|
-
|
|
607
|
+
table: dbTable,
|
|
549
608
|
uuid,
|
|
550
609
|
string,
|
|
551
610
|
bool,
|
|
@@ -559,23 +618,22 @@ const db = {
|
|
|
559
618
|
object,
|
|
560
619
|
fields: {
|
|
561
620
|
/**
|
|
562
|
-
* Creates standard timestamp fields (createdAt, updatedAt) with
|
|
563
|
-
*
|
|
564
|
-
*
|
|
565
|
-
* records); the current time is used only when the value is omitted.
|
|
621
|
+
* Creates standard timestamp fields (createdAt, updatedAt) with automatic defaults.
|
|
622
|
+
* Both fields default to the current time on create. updatedAt is also refreshed on update.
|
|
623
|
+
* User-specified values are respected when provided (e.g. seeding historical records).
|
|
566
624
|
* @returns An object with createdAt and updatedAt fields
|
|
567
625
|
* @example
|
|
568
|
-
* const model = db.
|
|
626
|
+
* const model = db.table("Model", {
|
|
569
627
|
* name: db.string(),
|
|
570
628
|
* ...db.fields.timestamps(),
|
|
571
629
|
* });
|
|
572
630
|
*/
|
|
573
631
|
timestamps: () => ({
|
|
574
|
-
createdAt: datetime().
|
|
575
|
-
updatedAt: datetime(
|
|
632
|
+
createdAt: datetime().default("now").description("Record creation timestamp"),
|
|
633
|
+
updatedAt: datetime().default("now").hooks({ update: ({ input, now }) => input ?? now }).description("Record update timestamp")
|
|
576
634
|
}) }
|
|
577
635
|
};
|
|
578
636
|
|
|
579
637
|
//#endregion
|
|
580
|
-
export { db as t };
|
|
581
|
-
//# sourceMappingURL=schema
|
|
638
|
+
export { parseInternal as i, mapAllowedValues as n, parseInputFields as r, db as t };
|
|
639
|
+
//# sourceMappingURL=schema--xYWRGfe.mjs.map
|