@tailor-platform/sdk 2.0.0-next.1 → 2.0.0-next.11
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 +1056 -24
- 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-DqS1yBg3.mjs → application-CM6hKnSK.mjs} +2155 -2008
- package/dist/application-CM6hKnSK.mjs.map +1 -0
- package/dist/application-CXNaUNhv.mjs +3 -0
- package/dist/authconnection-CZvi9ANm.mjs +9 -0
- package/dist/authconnection-CZvi9ANm.mjs.map +1 -0
- package/dist/brand-Eo4pLXPJ.mjs.map +1 -1
- 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 +35 -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 +6 -0
- package/dist/cli/commands/deploy/idp.d.mts +5 -0
- package/dist/cli/commands/deploy/label.d.mts +2 -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 +10 -0
- package/dist/cli/commands/deploy/types.d.mts +4 -0
- package/dist/cli/commands/deploy/workflow-execution-policy.d.mts +2 -0
- package/dist/cli/commands/deploy/workflow.d.mts +4 -0
- package/dist/cli/commands/executor/get.d.mts +19 -0
- package/dist/cli/commands/executor/jobs.d.mts +85 -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 +30 -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 +27 -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/schema-checks.d.mts +5 -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 +62 -0
- package/dist/cli/commands/workflow/get.d.mts +21 -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 +48 -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 -5481
- package/dist/cli/lib.d.mts +86 -21048
- package/dist/cli/lib.mjs +245 -46
- package/dist/cli/lib.mjs.map +1 -1
- package/dist/cli/main.d.mts +23 -0
- package/dist/cli/main.mjs +6777 -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 +4 -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 +3 -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 +1298 -0
- package/dist/cli/shared/config-loader.d.mts +32 -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/tsconfig-paths-plugin.d.mts +2 -0
- package/dist/cli/shared/type-generator.d.mts +20 -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 +1471 -1217
- package/dist/configure/config/index.d.mts +20 -0
- package/dist/configure/config/types.d.mts +134 -0
- package/dist/configure/index.d.mts +135 -8
- package/dist/configure/index.mjs +558 -36
- 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 +514 -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 +3 -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 +92 -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 +66 -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-Bd266-ru.mjs → context-DYQVYWqZ.mjs} +4 -5
- package/dist/context-DYQVYWqZ.mjs.map +1 -0
- package/dist/{crashreport-BsjAkFWw.mjs → crashreport-B5LqCTfF.mjs} +10 -11
- package/dist/{crashreport-BsjAkFWw.mjs.map → crashreport-B5LqCTfF.mjs.map} +1 -1
- package/dist/{crashreport-pr6Rhvza.mjs → crashreport-eI7ty7ok.mjs} +1 -1
- package/dist/{errors-Dtf2WPaW.mjs → errors-D7583Zz7.mjs} +18 -2
- package/dist/errors-D7583Zz7.mjs.map +1 -0
- package/dist/{file-_oUZo76X.mjs → file-BUcmVIH2.mjs} +12 -22
- package/dist/file-BUcmVIH2.mjs.map +1 -0
- package/dist/{globals-Crz8o65k.mjs → globals-TfAVItuK.mjs} +32 -55
- package/dist/globals-TfAVItuK.mjs.map +1 -0
- package/dist/iconv-QWaZh0TT.mjs +38 -0
- package/dist/iconv-QWaZh0TT.mjs.map +1 -0
- package/dist/{idp-BDbK5gjm.mjs → idp-RA_swu-h.mjs} +12 -5
- package/dist/idp-RA_swu-h.mjs.map +1 -0
- package/dist/{interceptor-D-q1rvRl.mjs → interceptor-e33JtsC-.mjs} +2 -2
- package/dist/interceptor-e33JtsC-.mjs.map +1 -0
- package/dist/kysely/index.d.mts +5 -7
- 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/node-builtins-CmaL2Cbq.mjs +36 -0
- package/dist/node-builtins-CmaL2Cbq.mjs.map +1 -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 +115 -2
- package/dist/plugin/builtin/enum-constants/index.mjs.map +1 -0
- package/dist/plugin/builtin/file-utils/index.d.mts +15 -1
- package/dist/plugin/builtin/file-utils/index.mjs +149 -2
- package/dist/plugin/builtin/file-utils/index.mjs.map +1 -0
- package/dist/plugin/builtin/kysely-type/index.d.mts +15 -1
- package/dist/plugin/builtin/kysely-type/index.mjs +274 -2
- package/dist/plugin/builtin/kysely-type/index.mjs.map +1 -0
- package/dist/plugin/builtin/seed/index.d.mts +46 -2
- package/dist/plugin/builtin/seed/index.mjs +1 -1
- package/dist/plugin/builtin/seed/seed-type-processor.d.mts +21 -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 -117
- package/dist/plugin/index.mjs +1 -1
- 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-n9NCkjee.mjs → register-ts-hook-LYV7zH-e.mjs} +9652 -4479
- package/dist/register-ts-hook-LYV7zH-e.mjs.map +1 -0
- package/dist/{registry-DdsYlL_P.mjs → registry-BIGVUrMB.mjs} +12 -9
- package/dist/registry-BIGVUrMB.mjs.map +1 -0
- package/dist/{repl-editor-DmGr9zMw.mjs → repl-editor-BCozyiNq.mjs} +6 -5
- package/dist/{repl-editor-DmGr9zMw.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 -2
- package/dist/runtime/context.d.mts +54 -2
- package/dist/runtime/context.mjs +2 -2
- package/dist/runtime/field-parse.d.mts +10 -0
- package/dist/runtime/file.d.mts +170 -2
- package/dist/runtime/file.mjs +2 -2
- package/dist/runtime/globals.d.mts +38 -20
- package/dist/runtime/iconv.d.mts +73 -2
- package/dist/runtime/iconv.mjs +2 -2
- package/dist/runtime/idp.d.mts +129 -2
- package/dist/runtime/idp.mjs +2 -2
- package/dist/runtime/index.d.mts +48 -9
- package/dist/runtime/index.mjs +10 -8
- 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 -2
- package/dist/runtime/types.d.mts +25 -0
- package/dist/runtime/workflow.d.mts +106 -2
- package/dist/runtime/workflow.mjs +2 -2
- package/dist/{schema-BhkpP5Hw.mjs → schema--xYWRGfe.mjs} +288 -229
- package/dist/schema--xYWRGfe.mjs.map +1 -0
- package/dist/{secret-file-DBqZhjFQ.mjs → secret-file-C3J4Gy8r.mjs} +2 -2
- package/dist/{secret-file-DBqZhjFQ.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-B-yckgQY.mjs +483 -0
- package/dist/seed-B-yckgQY.mjs.map +1 -0
- package/dist/{service-DU1mVzri.mjs → service-B5WynBHQ.mjs} +3 -3
- package/dist/{service-DU1mVzri.mjs.map → service-B5WynBHQ.mjs.map} +1 -1
- package/dist/service-M7OYziQP.mjs +3 -0
- package/dist/service-k1xy_A5G.mjs +864 -0
- package/dist/service-k1xy_A5G.mjs.map +1 -0
- package/dist/service_pb-D5--My_M.mjs +167 -0
- package/dist/service_pb-D5--My_M.mjs.map +1 -0
- package/dist/service_pb-i8CmnQP4.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 +420 -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 +586 -0
- package/dist/tailor-proto/src/tailor/v1/function_pb.d.mts +192 -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 +3658 -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 +207 -0
- package/dist/tailor-proto/src/tailor/v1/workflow_pb.d.mts +961 -0
- package/dist/tailor-proto/src/tailor/v1/workflow_resource_pb.d.mts +330 -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-CdqJEzkj.mjs → telemetry-BRVdwh14.mjs} +3 -3
- 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/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 +229 -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 +5 -100
- package/dist/utils/test/index.mjs +38 -189
- package/dist/utils/test/index.mjs.map +1 -1
- package/dist/vitest/environment.d.mts +1 -2
- package/dist/vitest/environment.mjs +2 -2
- package/dist/vitest/environment.mjs.map +1 -1
- package/dist/vitest/index.d.mts +17 -431
- package/dist/vitest/index.mjs +1234 -67
- 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 +148 -0
- package/dist/vitest/setup.d.mts +1 -2
- package/dist/vitest/setup.mjs +2 -2
- package/dist/vitest/workflow-local.d.mts +41 -0
- package/dist/workflow-Bamae_Yc.mjs +34 -0
- package/dist/workflow-Bamae_Yc.mjs.map +1 -0
- package/dist/{client-z_oHGVNy.mjs → workspace_resource_pb-DXnO2AT-.mjs} +57 -621
- package/dist/workspace_resource_pb-DXnO2AT-.mjs.map +1 -0
- package/docs/cli/application.md +150 -250
- package/docs/cli/auth.md +51 -295
- package/docs/cli/completion.md +1 -25
- package/docs/cli/crashreport.md +3 -61
- package/docs/cli/executor.md +72 -183
- package/docs/cli/function.md +16 -132
- 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 +89 -413
- 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 +214 -96
- package/docs/configuration.md +90 -6
- package/docs/github-actions.md +72 -24
- package/docs/migration/v2.md +1613 -0
- package/docs/multi-environment.md +29 -7
- package/docs/plugin/custom.md +4 -4
- package/docs/plugin/index.md +8 -8
- package/docs/quickstart.md +8 -7
- package/docs/runtime.md +18 -9
- package/docs/services/aigateway.md +20 -2
- package/docs/services/auth.md +51 -59
- package/docs/services/executor.md +91 -6
- package/docs/services/http-adapter.md +16 -1
- package/docs/services/idp.md +62 -7
- package/docs/services/resolver.md +67 -11
- package/docs/services/secret.md +11 -11
- package/docs/services/staticwebsite.md +8 -2
- package/docs/services/tailordb-migration.md +55 -29
- package/docs/services/tailordb.md +205 -102
- package/docs/services/workflow.md +163 -55
- package/docs/testing.md +244 -143
- package/package.json +61 -46
- package/postinstall.mjs +4 -6
- package/dist/application-DB2r36Et.mjs +0 -3
- package/dist/application-DqS1yBg3.mjs.map +0 -1
- package/dist/authconnection-D2MhtTN5.mjs +0 -15
- package/dist/authconnection-D2MhtTN5.mjs.map +0 -1
- package/dist/authconnection-DvUQAjQS.d.mts +0 -39
- 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/client-Dbohmtkv.mjs +0 -3
- package/dist/client-z_oHGVNy.mjs.map +0 -1
- package/dist/context-Bd266-ru.mjs.map +0 -1
- package/dist/context-BuuIb8CC.d.mts +0 -68
- package/dist/enum-constants-j9QBF0cB.mjs +0 -116
- package/dist/enum-constants-j9QBF0cB.mjs.map +0 -1
- package/dist/errors-Dtf2WPaW.mjs.map +0 -1
- package/dist/field-DOsJCPFa.mjs +0 -22
- package/dist/field-DOsJCPFa.mjs.map +0 -1
- package/dist/file-BB8Vs9O_.d.mts +0 -250
- package/dist/file-_oUZo76X.mjs.map +0 -1
- package/dist/file-utils-DcyIPFQh.mjs +0 -150
- package/dist/file-utils-DcyIPFQh.mjs.map +0 -1
- package/dist/globals-Crz8o65k.mjs.map +0 -1
- package/dist/http-adapter.generated-WgMnb7Sb.d.mts +0 -580
- package/dist/iconv-Co-TOPuH.d.mts +0 -122
- package/dist/iconv-D2vi8G36.mjs +0 -63
- package/dist/iconv-D2vi8G36.mjs.map +0 -1
- package/dist/idp-BDbK5gjm.mjs.map +0 -1
- package/dist/idp-DrhVrLmV.d.mts +0 -160
- package/dist/index-5vPyRu1y.d.mts +0 -18
- package/dist/index-B7AKc18V.d.mts +0 -47
- package/dist/index-BlpzXncY.d.mts +0 -1016
- package/dist/index-CK7u9isy.d.mts +0 -46
- package/dist/index-CNYe5lnW.d.mts +0 -18
- package/dist/index-DjUdWlzf.d.mts +0 -18
- package/dist/index-ZePLwxw7.d.mts +0 -208
- package/dist/interceptor-D-q1rvRl.mjs.map +0 -1
- package/dist/job-fuc3j1Ma.mjs +0 -53
- package/dist/job-fuc3j1Ma.mjs.map +0 -1
- package/dist/kysely-type-DR8uzZTA.mjs +0 -274
- package/dist/kysely-type-DR8uzZTA.mjs.map +0 -1
- package/dist/logger-CxF-Ex5d.mjs +0 -220
- package/dist/logger-CxF-Ex5d.mjs.map +0 -1
- package/dist/mock-BjFj5o1I.mjs +0 -804
- package/dist/mock-BjFj5o1I.mjs.map +0 -1
- package/dist/registry-DdsYlL_P.mjs.map +0 -1
- package/dist/rolldown-runtime-DXywRVcq.mjs +0 -20
- package/dist/runtime-n9NCkjee.mjs.map +0 -1
- package/dist/schema-BhkpP5Hw.mjs.map +0 -1
- package/dist/secretmanager-B3n4KHfm.d.mts +0 -55
- package/dist/secretmanager-BVxw3ih_.mjs +0 -24
- package/dist/secretmanager-BVxw3ih_.mjs.map +0 -1
- package/dist/seed-jf3008-h.mjs +0 -1160
- package/dist/seed-jf3008-h.mjs.map +0 -1
- package/dist/service-CCL8ruDf.mjs +0 -459
- package/dist/service-CCL8ruDf.mjs.map +0 -1
- package/dist/service-D6yonf2I.mjs +0 -3
- package/dist/telemetry-CdqJEzkj.mjs.map +0 -1
- package/dist/telemetry-ClwW5ohF.mjs +0 -3
- package/dist/test-env-key-D9kM6ETE.mjs +0 -49
- package/dist/test-env-key-D9kM6ETE.mjs.map +0 -1
- package/dist/types-B2RpYyA_.mjs +0 -371
- package/dist/types-B2RpYyA_.mjs.map +0 -1
- package/dist/types-ClhIrW_C.mjs +0 -4
- package/dist/types-DCUhgpyI.d.mts +0 -784
- package/dist/types-DhO_VEZd.d.mts +0 -574
- package/dist/types-DwDgacni.d.mts +0 -338
- package/dist/workflow-BbKvGLQg.d.mts +0 -96
- package/dist/workflow-DgemCAz3.mjs +0 -38
- package/dist/workflow-DgemCAz3.mjs.map +0 -1
- package/dist/workflow.generated-DtQwEo-x.d.mts +0 -671
|
@@ -1,191 +1,236 @@
|
|
|
1
|
-
import { t as mapAllowedValues } from "./field-DOsJCPFa.mjs";
|
|
2
1
|
import { t as brandValue } from "./brand-Eo4pLXPJ.mjs";
|
|
3
2
|
import { cloneDeep } from "es-toolkit";
|
|
4
3
|
|
|
5
|
-
//#region src/
|
|
6
|
-
function isRelationSelfConfig(config) {
|
|
7
|
-
return config.toward.type === "self";
|
|
8
|
-
}
|
|
4
|
+
//#region src/runtime/field-parse.ts
|
|
9
5
|
const regex = {
|
|
10
6
|
uuid: /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,
|
|
11
7
|
date: /^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/,
|
|
12
|
-
time: /^(?<hour
|
|
13
|
-
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)$/,
|
|
14
10
|
decimal: /^-?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/
|
|
15
11
|
};
|
|
16
|
-
|
|
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
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
82
|
-
});
|
|
83
|
-
break;
|
|
84
|
-
case "time":
|
|
85
|
-
if (typeof value !== "string" || !regex.time.test(value)) issues.push({
|
|
86
|
-
message: `Expected to match "HH:mm" format: received ${String(value)}`,
|
|
87
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
88
|
-
});
|
|
89
|
-
break;
|
|
90
|
-
case "decimal":
|
|
91
|
-
if (typeof value !== "string" || !regex.decimal.test(value)) issues.push({
|
|
92
|
-
message: `Expected a decimal string: received ${String(value)}`,
|
|
93
|
-
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
|
|
94
77
|
});
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
message: `Must be one of [${allowedValues.join(", ")}]: received ${String(value)}`,
|
|
101
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
break;
|
|
105
|
-
case "nested":
|
|
106
|
-
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({
|
|
107
83
|
message: `Expected an object: received ${String(value)}`,
|
|
108
|
-
path
|
|
84
|
+
path
|
|
109
85
|
});
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
if (validateFns && validateFns.length > 0) for (const validateInput of validateFns) {
|
|
124
|
-
const { fn, message } = typeof validateInput === "function" ? {
|
|
125
|
-
fn: validateInput,
|
|
126
|
-
message: "Validation failed"
|
|
127
|
-
} : {
|
|
128
|
-
fn: validateInput[0],
|
|
129
|
-
message: validateInput[1]
|
|
130
|
-
};
|
|
131
|
-
if (!fn({
|
|
132
|
-
value,
|
|
133
|
-
data,
|
|
134
|
-
user
|
|
135
|
-
})) issues.push({
|
|
136
|
-
message,
|
|
137
|
-
path: pathArray.length > 0 ? pathArray : void 0
|
|
138
|
-
});
|
|
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;
|
|
139
99
|
}
|
|
140
|
-
return issues;
|
|
141
100
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const { value
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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)) {
|
|
152
129
|
issues.push({
|
|
153
|
-
message: "
|
|
154
|
-
path
|
|
130
|
+
message: "Expected an array",
|
|
131
|
+
path
|
|
155
132
|
});
|
|
156
|
-
return
|
|
133
|
+
return false;
|
|
157
134
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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
|
+
});
|
|
179
157
|
}
|
|
180
|
-
|
|
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 {
|
|
181
203
|
value,
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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
|
|
185
233
|
});
|
|
186
|
-
issues.push(...valueIssues);
|
|
187
|
-
if (issues.length > 0) return { issues };
|
|
188
|
-
return { value };
|
|
189
234
|
}
|
|
190
235
|
function cloneWith(metadataUpdates) {
|
|
191
236
|
const cloned = field.clone();
|
|
@@ -210,19 +255,20 @@ function createTailorDBField(type, options, fields, values) {
|
|
|
210
255
|
description(description) {
|
|
211
256
|
return cloneWith({ description });
|
|
212
257
|
},
|
|
213
|
-
typeName
|
|
258
|
+
typeName(typeName) {
|
|
259
|
+
return cloneWith({ typeName });
|
|
260
|
+
},
|
|
214
261
|
validate(...validateInputs) {
|
|
215
262
|
return cloneWith({ validate: validateInputs });
|
|
216
263
|
},
|
|
217
264
|
parse(args) {
|
|
218
|
-
return parseInternal({
|
|
265
|
+
return parseInternal$1({
|
|
219
266
|
value: args.value,
|
|
220
267
|
data: args.data,
|
|
221
|
-
|
|
268
|
+
invoker: args.invoker,
|
|
222
269
|
pathArray: []
|
|
223
270
|
});
|
|
224
271
|
},
|
|
225
|
-
_parseInternal: parseInternal,
|
|
226
272
|
relation(config) {
|
|
227
273
|
const cloned = field.clone();
|
|
228
274
|
const targetType = isRelationSelfConfig(config) ? "self" : config.toward.type.name;
|
|
@@ -249,6 +295,9 @@ function createTailorDBField(type, options, fields, values) {
|
|
|
249
295
|
vector() {
|
|
250
296
|
return cloneWith({ vector: true });
|
|
251
297
|
},
|
|
298
|
+
default(value) {
|
|
299
|
+
return cloneWith({ default: value });
|
|
300
|
+
},
|
|
252
301
|
hooks(hooks) {
|
|
253
302
|
return cloneWith({ hooks });
|
|
254
303
|
},
|
|
@@ -256,22 +305,20 @@ function createTailorDBField(type, options, fields, values) {
|
|
|
256
305
|
return cloneWith({ serial: config });
|
|
257
306
|
},
|
|
258
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");
|
|
259
309
|
let clonedFields = fields;
|
|
260
310
|
if (fields) {
|
|
261
311
|
const cloned = {};
|
|
262
312
|
for (const [key, field] of Object.entries(fields)) cloned[key] = field.clone();
|
|
263
313
|
clonedFields = cloned;
|
|
264
314
|
}
|
|
265
|
-
const clonedField =
|
|
315
|
+
const clonedField = createTailorDBFieldRuntime(type, options, clonedFields, values);
|
|
266
316
|
Object.assign(clonedField._metadata, cloneDeep(this._metadata));
|
|
267
317
|
if (cloneOptions) {
|
|
268
318
|
if (cloneOptions.optional !== void 0) clonedField._metadata.required = !cloneOptions.optional;
|
|
269
319
|
if (cloneOptions.array !== void 0) clonedField._metadata.array = cloneOptions.array;
|
|
270
320
|
}
|
|
271
|
-
if (_rawRelation)
|
|
272
|
-
const clonedRawRelation = cloneDeep(_rawRelation);
|
|
273
|
-
clonedField._setRawRelation(clonedRawRelation);
|
|
274
|
-
}
|
|
321
|
+
if (_rawRelation) clonedField._setRawRelation(cloneDeep(_rawRelation));
|
|
275
322
|
return clonedField;
|
|
276
323
|
},
|
|
277
324
|
_setRawRelation(relation) {
|
|
@@ -360,7 +407,7 @@ function date(options) {
|
|
|
360
407
|
}
|
|
361
408
|
/**
|
|
362
409
|
* Create a datetime field (date and time).
|
|
363
|
-
* 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"
|
|
364
411
|
* @param options - Field configuration options
|
|
365
412
|
* @returns A datetime field
|
|
366
413
|
* @example db.datetime()
|
|
@@ -416,6 +463,16 @@ function createTailorDBType(name, fields, options) {
|
|
|
416
463
|
const _permissions = {};
|
|
417
464
|
let _files = {};
|
|
418
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
|
+
}
|
|
419
476
|
if (options.pluralForm) {
|
|
420
477
|
if (name === options.pluralForm) throw new Error(`The name and the plural form must be different. name=${name}`);
|
|
421
478
|
_settings.pluralForm = options.pluralForm;
|
|
@@ -441,61 +498,64 @@ function createTailorDBType(name, fields, options) {
|
|
|
441
498
|
settings: _settings,
|
|
442
499
|
permissions: _permissions,
|
|
443
500
|
files: _files,
|
|
444
|
-
...Object.keys(indexes).length > 0 && { indexes }
|
|
501
|
+
...Object.keys(indexes).length > 0 && { indexes },
|
|
502
|
+
..._typeHook && { typeHook: _typeHook },
|
|
503
|
+
..._typeValidate && { typeValidate: _typeValidate }
|
|
445
504
|
};
|
|
446
505
|
},
|
|
447
|
-
hooks(
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
this.fields[fieldName] = field.hooks(fieldHooks);
|
|
506
|
+
hooks(hook) {
|
|
507
|
+
return runMethodOnce("hooks", () => {
|
|
508
|
+
_typeHook = hook;
|
|
509
|
+
return this;
|
|
452
510
|
});
|
|
453
|
-
return this;
|
|
454
511
|
},
|
|
455
|
-
validate(
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
const isValidateConfig = (v) => {
|
|
460
|
-
return Array.isArray(v) && v.length === 2 && typeof v[1] === "string";
|
|
461
|
-
};
|
|
462
|
-
let updatedField;
|
|
463
|
-
if (Array.isArray(validators)) if (isValidateConfig(validators)) updatedField = field.validate(validators);
|
|
464
|
-
else updatedField = field.validate(...validators);
|
|
465
|
-
else updatedField = field.validate(validators);
|
|
466
|
-
this.fields[fieldName] = updatedField;
|
|
512
|
+
validate(fn) {
|
|
513
|
+
return runMethodOnce("validate", () => {
|
|
514
|
+
_typeValidate = fn;
|
|
515
|
+
return this;
|
|
467
516
|
});
|
|
468
|
-
return this;
|
|
469
517
|
},
|
|
470
518
|
features(features) {
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
519
|
+
return runMethodOnce("features", () => {
|
|
520
|
+
_settings = {
|
|
521
|
+
..._settings,
|
|
522
|
+
...features
|
|
523
|
+
};
|
|
524
|
+
return this;
|
|
525
|
+
});
|
|
476
526
|
},
|
|
477
527
|
indexes(...indexes) {
|
|
478
|
-
|
|
479
|
-
|
|
528
|
+
return runMethodOnce("indexes", () => {
|
|
529
|
+
_indexes = indexes;
|
|
530
|
+
return this;
|
|
531
|
+
});
|
|
480
532
|
},
|
|
481
533
|
files(files) {
|
|
482
|
-
|
|
483
|
-
|
|
534
|
+
return runMethodOnce("files", () => {
|
|
535
|
+
_files = files;
|
|
536
|
+
return this;
|
|
537
|
+
});
|
|
484
538
|
},
|
|
485
539
|
permission(permission) {
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
540
|
+
return runMethodOnce("permission", () => {
|
|
541
|
+
const ret = this;
|
|
542
|
+
_permissions.record = permission;
|
|
543
|
+
return ret;
|
|
544
|
+
});
|
|
489
545
|
},
|
|
490
546
|
gqlPermission(permission) {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
547
|
+
return runMethodOnce("gqlPermission", () => {
|
|
548
|
+
const ret = this;
|
|
549
|
+
_permissions.gql = permission;
|
|
550
|
+
return ret;
|
|
551
|
+
});
|
|
494
552
|
},
|
|
495
553
|
description(description) {
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
554
|
+
return runMethodOnce("description", () => {
|
|
555
|
+
_description = description;
|
|
556
|
+
this._description = description;
|
|
557
|
+
return this;
|
|
558
|
+
});
|
|
499
559
|
},
|
|
500
560
|
pickFields(keys, options) {
|
|
501
561
|
const result = {};
|
|
@@ -525,7 +585,7 @@ function createTailorDBType(name, fields, options) {
|
|
|
525
585
|
}, "tailordb-type");
|
|
526
586
|
}
|
|
527
587
|
const idField = uuid();
|
|
528
|
-
function
|
|
588
|
+
function dbTable(name, fieldsOrDescription, fields) {
|
|
529
589
|
const typeName = Array.isArray(name) ? name[0] : name;
|
|
530
590
|
const pluralForm = Array.isArray(name) ? name[1] : void 0;
|
|
531
591
|
let description;
|
|
@@ -542,9 +602,9 @@ function dbType(name, fieldsOrDescription, fields) {
|
|
|
542
602
|
description
|
|
543
603
|
});
|
|
544
604
|
}
|
|
545
|
-
/** TailorDB schema builder utilities for defining
|
|
605
|
+
/** TailorDB schema builder utilities for defining tables and fields. */
|
|
546
606
|
const db = {
|
|
547
|
-
|
|
607
|
+
table: dbTable,
|
|
548
608
|
uuid,
|
|
549
609
|
string,
|
|
550
610
|
bool,
|
|
@@ -558,23 +618,22 @@ const db = {
|
|
|
558
618
|
object,
|
|
559
619
|
fields: {
|
|
560
620
|
/**
|
|
561
|
-
* Creates standard timestamp fields (createdAt, updatedAt) with
|
|
562
|
-
*
|
|
563
|
-
*
|
|
564
|
-
* 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).
|
|
565
624
|
* @returns An object with createdAt and updatedAt fields
|
|
566
625
|
* @example
|
|
567
|
-
* const model = db.
|
|
626
|
+
* const model = db.table("Model", {
|
|
568
627
|
* name: db.string(),
|
|
569
628
|
* ...db.fields.timestamps(),
|
|
570
629
|
* });
|
|
571
630
|
*/
|
|
572
631
|
timestamps: () => ({
|
|
573
|
-
createdAt: datetime().
|
|
574
|
-
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")
|
|
575
634
|
}) }
|
|
576
635
|
};
|
|
577
636
|
|
|
578
637
|
//#endregion
|
|
579
|
-
export { db as t };
|
|
580
|
-
//# sourceMappingURL=schema
|
|
638
|
+
export { parseInternal as i, mapAllowedValues as n, parseInputFields as r, db as t };
|
|
639
|
+
//# sourceMappingURL=schema--xYWRGfe.mjs.map
|