@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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Plugin } from "../../plugin/types.mjs";
|
|
2
|
+
import { AppConfig } from "../../configure/config/types.mjs";
|
|
3
|
+
//#region src/cli/shared/config-loader.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Loaded configuration with resolved path
|
|
6
|
+
*/
|
|
7
|
+
type LoadedConfig = AppConfig & {
|
|
8
|
+
path: string;
|
|
9
|
+
};
|
|
10
|
+
interface LoadConfigOptions {
|
|
11
|
+
/** Import cache-busting value for callers that reload the config module after a rebuild. */
|
|
12
|
+
importNonce?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Load Tailor configuration file and associated plugins.
|
|
16
|
+
* @param configPath - Optional explicit config path
|
|
17
|
+
* @param options - Optional module import behavior.
|
|
18
|
+
* @returns Loaded config, plugins, and config path
|
|
19
|
+
*/
|
|
20
|
+
declare function loadConfig(configPath?: string, options?: LoadConfigOptions): Promise<{
|
|
21
|
+
config: LoadedConfig;
|
|
22
|
+
plugins: Plugin[];
|
|
23
|
+
}>;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { LoadConfigOptions, LoadedConfig, loadConfig };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import "./client.mjs";
|
|
2
|
+
import "./args.mjs";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/cli/shared/context.d.ts
|
|
5
|
+
type LoadWorkspaceIdOptions = {
|
|
6
|
+
workspaceId?: string;
|
|
7
|
+
profile?: string;
|
|
8
|
+
};
|
|
9
|
+
type LoadAccessTokenOptions = {
|
|
10
|
+
profile?: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Load workspace ID from command options, environment variables, or platform config.
|
|
14
|
+
* In CLI context, env fallback is also handled by politty's arg env option.
|
|
15
|
+
* Priority: opts/workspaceId > env/workspaceId > opts/profile > error
|
|
16
|
+
* @param opts - Workspace and profile options
|
|
17
|
+
* @returns Resolved workspace ID
|
|
18
|
+
*/
|
|
19
|
+
declare function loadWorkspaceId(opts?: LoadWorkspaceIdOptions): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Load access token from environment variables, command options, or platform config.
|
|
22
|
+
* In CLI context, profile env fallback is also handled by politty's arg env option.
|
|
23
|
+
* Priority: env/TAILOR_PLATFORM_TOKEN > env/TAILOR_TOKEN (deprecated) > opts/profile > env/profile > config/currentUser > error
|
|
24
|
+
* @param opts - Profile options
|
|
25
|
+
* @returns Resolved access token
|
|
26
|
+
*/
|
|
27
|
+
declare function loadAccessToken(opts?: LoadAccessTokenOptions): Promise<string>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { loadAccessToken, loadWorkspaceId };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/cli/shared/error-json.d.ts
|
|
2
|
+
interface ErrorToJsonOptions {
|
|
3
|
+
/** Include the original stack trace in the error envelope. */
|
|
4
|
+
includeStack?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Convert a CLI failure into the stable JSON error envelope.
|
|
8
|
+
* @param error - Failure to serialize
|
|
9
|
+
* @param options - JSON serialization options
|
|
10
|
+
* @returns JSON-compatible error envelope
|
|
11
|
+
*/
|
|
12
|
+
declare function errorToJson(error: unknown, options?: ErrorToJsonOptions): {
|
|
13
|
+
error: Readonly<Record<string, unknown>>;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Serialize a CLI failure into the stable JSON error envelope.
|
|
17
|
+
* @param error - Failure to serialize
|
|
18
|
+
* @param options - JSON serialization options
|
|
19
|
+
* @returns Serialized JSON error envelope
|
|
20
|
+
*/
|
|
21
|
+
declare function serializeError(error: unknown, options?: ErrorToJsonOptions): string;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ErrorToJsonOptions, errorToJson, serializeError };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/cli/shared/readonly-guard.d.ts
|
|
2
|
+
interface AssertWritableOptions {
|
|
3
|
+
/** Explicit profile name from command args. Falls back to TAILOR_PLATFORM_PROFILE. */
|
|
4
|
+
profile?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Throw a CLIError if the active profile has `readonly: true`.
|
|
8
|
+
*
|
|
9
|
+
* Resolves the active profile in this order:
|
|
10
|
+
* 1. `opts.profile` (CLI flag)
|
|
11
|
+
* 2. `process.env.TAILOR_PLATFORM_PROFILE`
|
|
12
|
+
*
|
|
13
|
+
* If neither is set, no profile is in scope so the call is allowed. This is
|
|
14
|
+
* intentional: `TAILOR_PLATFORM_TOKEN` direct access (CI / machine user) and
|
|
15
|
+
* `--workspace-id` without a profile are out-of-band paths whose authorization
|
|
16
|
+
* is governed by the bearer token itself, not by the local profile flag.
|
|
17
|
+
*
|
|
18
|
+
* If the resolved profile cannot be found in the config, this function returns
|
|
19
|
+
* silently and lets downstream loaders surface the not-found error.
|
|
20
|
+
* @param opts - Options
|
|
21
|
+
* @param opts.profile - Optional explicit profile name from command args
|
|
22
|
+
*/
|
|
23
|
+
declare function assertWritable(opts?: AssertWritableOptions): Promise<void>;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { assertWritable };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { AuthInvokerSchema } from "../../tailor-proto/src/tailor/v1/auth_resource_pb.mjs";
|
|
2
|
+
import { FunctionExecution_Status } from "../../tailor-proto/src/tailor/v1/function_resource_pb.mjs";
|
|
3
|
+
import { OperatorClient } from "./client.mjs";
|
|
4
|
+
import { Jsonifiable } from "type-fest";
|
|
5
|
+
import { MessageInitShape } from "@bufbuild/protobuf";
|
|
6
|
+
//#region src/cli/shared/script-executor.d.ts
|
|
7
|
+
/** Authentication context for script execution, provided as a plain object. */
|
|
8
|
+
type ScriptInvoker = MessageInitShape<typeof AuthInvokerSchema>;
|
|
9
|
+
/**
|
|
10
|
+
* Options for script execution
|
|
11
|
+
*/
|
|
12
|
+
interface ScriptExecutionOptions<T extends Jsonifiable = Jsonifiable> {
|
|
13
|
+
/** Operator client instance */
|
|
14
|
+
client: OperatorClient;
|
|
15
|
+
/** Workspace ID */
|
|
16
|
+
workspaceId: string;
|
|
17
|
+
/** Script name (for identification) */
|
|
18
|
+
name: string;
|
|
19
|
+
/** Bundled script code to execute */
|
|
20
|
+
code: string;
|
|
21
|
+
/** Optional JSON-serializable argument to pass to the script */
|
|
22
|
+
arg?: T;
|
|
23
|
+
/** Auth invoker for script execution */
|
|
24
|
+
invoker: ScriptInvoker;
|
|
25
|
+
/** Polling interval in milliseconds (default: 1000ms) */
|
|
26
|
+
pollInterval?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Result of script execution
|
|
30
|
+
*/
|
|
31
|
+
interface ScriptExecutionResult {
|
|
32
|
+
/** Whether the script executed successfully */
|
|
33
|
+
success: boolean;
|
|
34
|
+
/** Logs output from the script execution */
|
|
35
|
+
logs: string;
|
|
36
|
+
/** Result value from the script execution */
|
|
37
|
+
result: string;
|
|
38
|
+
/** Error message if execution failed */
|
|
39
|
+
error?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Result from waiting for execution completion
|
|
43
|
+
*/
|
|
44
|
+
interface ExecutionWaitResult {
|
|
45
|
+
/** Execution status */
|
|
46
|
+
status: FunctionExecution_Status;
|
|
47
|
+
/** Logs output from the execution */
|
|
48
|
+
logs: string;
|
|
49
|
+
/** Result value from the execution */
|
|
50
|
+
result: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Wait for a function execution to complete
|
|
54
|
+
*
|
|
55
|
+
* Polls the getFunctionExecution API until the execution reaches a terminal state
|
|
56
|
+
* (SUCCESS or FAILED).
|
|
57
|
+
* @param {OperatorClient} client - Operator client instance
|
|
58
|
+
* @param {string} workspaceId - Workspace ID
|
|
59
|
+
* @param {string} executionId - Execution ID to wait for
|
|
60
|
+
* @param {number} [pollInterval] - Polling interval in milliseconds (default: 1000ms)
|
|
61
|
+
* @returns {Promise<ExecutionWaitResult>} Execution result
|
|
62
|
+
* @throws {Error} If execution is not found
|
|
63
|
+
*/
|
|
64
|
+
declare function waitForExecution(client: OperatorClient, workspaceId: string, executionId: string, pollInterval?: number): Promise<ExecutionWaitResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Execute a script via TestExecScript API and wait for completion
|
|
67
|
+
*
|
|
68
|
+
* This function:
|
|
69
|
+
* 1. Calls testExecScript API to start execution
|
|
70
|
+
* 2. Polls getFunctionExecution until completion
|
|
71
|
+
* 3. Returns structured result with success/failure status
|
|
72
|
+
* @param {ScriptExecutionOptions} options - Execution options
|
|
73
|
+
* @returns {Promise<ScriptExecutionResult>} Execution result
|
|
74
|
+
*/
|
|
75
|
+
declare function executeScript<T extends Jsonifiable = Jsonifiable>(options: ScriptExecutionOptions<T>): Promise<ScriptExecutionResult>;
|
|
76
|
+
//#endregion
|
|
77
|
+
export { ExecutionWaitResult, ScriptExecutionOptions, ScriptExecutionResult, ScriptInvoker, executeScript, waitForExecution };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { JsonObject } from "type-fest";
|
|
2
|
+
//#region src/cli/shared/seed-chunker.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Seed data keyed by type name, with an array of records per type.
|
|
5
|
+
*/
|
|
6
|
+
type SeedData = Record<string, JsonObject[]>;
|
|
7
|
+
/**
|
|
8
|
+
* A single chunk of seed data with metadata for ordered execution.
|
|
9
|
+
*/
|
|
10
|
+
type SeedChunk = {
|
|
11
|
+
data: SeedData;
|
|
12
|
+
order: string[];
|
|
13
|
+
index: number;
|
|
14
|
+
total: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Options for chunking seed data.
|
|
18
|
+
*/
|
|
19
|
+
type ChunkSeedDataOptions = {
|
|
20
|
+
/** Seed data keyed by type name */
|
|
21
|
+
data: SeedData;
|
|
22
|
+
/** Ordered list of type names (dependency order) */
|
|
23
|
+
order: string[];
|
|
24
|
+
/** Byte size of the bundled seed script code */
|
|
25
|
+
codeByteSize: number;
|
|
26
|
+
/** Maximum gRPC message size in bytes (default: 3.5MB) */
|
|
27
|
+
maxMessageSize?: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Split seed data into chunks that fit within the gRPC message size limit.
|
|
31
|
+
*
|
|
32
|
+
* Algorithm:
|
|
33
|
+
* 1. Calculate the available budget for the arg field (maxMessageSize - codeByteSize - overhead)
|
|
34
|
+
* 2. If all data fits in one message, return a single chunk
|
|
35
|
+
* 3. Otherwise, iterate through types in dependency order:
|
|
36
|
+
* - If a type fits in the current chunk, add it
|
|
37
|
+
* - If adding a type would exceed the budget, finalize the current chunk and start a new one
|
|
38
|
+
* - If a single type exceeds the budget, split its records across multiple chunks
|
|
39
|
+
* - If a single record exceeds the budget, throw an error
|
|
40
|
+
* @param options - Chunking options
|
|
41
|
+
* @returns Array of seed chunks
|
|
42
|
+
*/
|
|
43
|
+
declare function chunkSeedData(options: ChunkSeedDataOptions): SeedChunk[];
|
|
44
|
+
//#endregion
|
|
45
|
+
export { ChunkSeedDataOptions, SeedChunk, SeedData, chunkSeedData };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { LoadedConfig } from "./config-loader.mjs";
|
|
2
|
+
import { SeedNamespaceConfig } from "../../plugin/builtin/seed/seed-type-processor.mjs";
|
|
3
|
+
//#region src/cli/shared/seed-context.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* IdP `_User` seeding context, present when the config uses the built-in IdP
|
|
6
|
+
* with a user profile type.
|
|
7
|
+
*/
|
|
8
|
+
interface SeedIdpUserContext {
|
|
9
|
+
/** IdP namespace the `_User` records belong to. */
|
|
10
|
+
idpNamespace: string;
|
|
11
|
+
/** Server-side script that creates `_User` records from seed rows. */
|
|
12
|
+
seedScriptCode: string;
|
|
13
|
+
/** Server-side script that deletes all `_User` records. */
|
|
14
|
+
truncateScriptCode: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Everything a seed run needs from the local config: the seed data location,
|
|
18
|
+
* per-namespace seeding order, and IdP user context.
|
|
19
|
+
*/
|
|
20
|
+
interface SeedContext {
|
|
21
|
+
/** The loaded Tailor config. */
|
|
22
|
+
config: LoadedConfig;
|
|
23
|
+
/** Absolute path to the seedPlugin output directory. */
|
|
24
|
+
distPath: string;
|
|
25
|
+
/** Default machine user name from seedPlugin options, if configured. */
|
|
26
|
+
machineUserName?: string | undefined;
|
|
27
|
+
/** Seed ordering information per TailorDB namespace. */
|
|
28
|
+
namespaces: SeedNamespaceConfig[];
|
|
29
|
+
/** IdP `_User` seeding context, or null when not applicable. */
|
|
30
|
+
idpUser: SeedIdpUserContext | null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Options for {@link loadSeedContext}.
|
|
34
|
+
*/
|
|
35
|
+
interface LoadSeedContextOptions {
|
|
36
|
+
/** Path to tailor.config.ts. Defaults to searching from the current directory. */
|
|
37
|
+
configPath?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Load the seed context from the local config. Requires `seedPlugin` to be
|
|
41
|
+
* configured in the config's plugins. A relative `distPath` in the seedPlugin
|
|
42
|
+
* options is resolved against the current working directory — the same base
|
|
43
|
+
* `tailor generate` writes it to.
|
|
44
|
+
* @param options - Seed context loading options.
|
|
45
|
+
* @returns The seed context computed from the local config.
|
|
46
|
+
*/
|
|
47
|
+
declare function loadSeedContext(options?: LoadSeedContextOptions): Promise<SeedContext>;
|
|
48
|
+
//#endregion
|
|
49
|
+
export { LoadSeedContextOptions, SeedContext, SeedIdpUserContext, type SeedNamespaceConfig, loadSeedContext };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Plugin, TailorDBNamespaceData } from "../../plugin/types.mjs";
|
|
2
|
+
import { LoadedConfig } from "./config-loader.mjs";
|
|
3
|
+
import "../services/application.mjs";
|
|
4
|
+
//#region src/cli/shared/tailordb-namespaces.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Namespace selection for {@link loadTailorDBNamespaces}: explicit namespace
|
|
7
|
+
* names, or a selector deriving them from the loaded config and its plugins.
|
|
8
|
+
* Returning `undefined` (or omitting the option) loads all owned namespaces.
|
|
9
|
+
*/
|
|
10
|
+
type TailorDBNamespaceSelector = string[] | ((config: LoadedConfig, plugins: Plugin[]) => string[] | undefined);
|
|
11
|
+
/**
|
|
12
|
+
* Options for {@link loadTailorDBNamespaces}.
|
|
13
|
+
*/
|
|
14
|
+
interface LoadTailorDBNamespacesOptions {
|
|
15
|
+
/** Path to tailor.config.ts. Defaults to searching from the current directory. */
|
|
16
|
+
configPath?: string;
|
|
17
|
+
/** Namespaces to load. Omit to load all owned namespaces. */
|
|
18
|
+
namespaces?: TailorDBNamespaceSelector;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Result of {@link loadTailorDBNamespaces}.
|
|
22
|
+
*/
|
|
23
|
+
interface LoadedTailorDBNamespaces {
|
|
24
|
+
/** The loaded Tailor config. */
|
|
25
|
+
config: LoadedConfig;
|
|
26
|
+
/** Plugins collected from the config module's plugin-array exports (typically `definePlugins()`). */
|
|
27
|
+
plugins: Plugin[];
|
|
28
|
+
/** Loaded TailorDB namespace data, in config order. */
|
|
29
|
+
namespaces: TailorDBNamespaceData[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Load local TailorDB namespaces exactly as SDK generation/deploy sees them:
|
|
33
|
+
* the config is loaded, user types are generated, and each selected
|
|
34
|
+
* namespace's types are loaded with namespace plugins applied.
|
|
35
|
+
* @param options - Namespace loading options.
|
|
36
|
+
* @returns The loaded config and TailorDB namespace data.
|
|
37
|
+
*/
|
|
38
|
+
declare function loadTailorDBNamespaces(options?: LoadTailorDBNamespacesOptions): Promise<LoadedTailorDBNamespaces>;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { LoadTailorDBNamespacesOptions, LoadedTailorDBNamespaces, TailorDBNamespaceSelector, loadTailorDBNamespaces };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AppConfig } from "../../configure/config/types.mjs";
|
|
2
|
+
//#region src/cli/shared/type-generator.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Options for generating user type definitions
|
|
5
|
+
*/
|
|
6
|
+
interface GenerateUserTypesOptions {
|
|
7
|
+
/** Application config */
|
|
8
|
+
config: AppConfig;
|
|
9
|
+
/** Path to Tailor config file */
|
|
10
|
+
configPath: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generate user type definitions from the app config and write them to disk.
|
|
14
|
+
* @param options - Generation options
|
|
15
|
+
* @returns Promise that resolves when types are generated
|
|
16
|
+
*/
|
|
17
|
+
declare function generateUserTypes(options: GenerateUserTypesOptions): Promise<void>;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { generateUserTypes };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import { dirname, join, resolve as resolvePath } from "node:path";
|
|
4
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
|
+
// Node.js module hook: TypeScript resolver + type stripper via amaro.
|
|
6
|
+
// Registered programmatically so the CLI can import user .ts files without
|
|
7
|
+
// requiring --experimental-strip-types at process startup.
|
|
8
|
+
import { transformSync } from "amaro";
|
|
9
|
+
|
|
10
|
+
const TS_EXTENSIONS = [".ts", ".mts"];
|
|
11
|
+
const JS_TO_TS = new Map([
|
|
12
|
+
[".js", ".ts"],
|
|
13
|
+
[".mjs", ".mts"],
|
|
14
|
+
]);
|
|
15
|
+
const KNOWN_EXTENSIONS = [".ts", ".tsx", ".mts", ".js", ".mjs", ".json"];
|
|
16
|
+
|
|
17
|
+
// --- tsconfig paths resolution ---
|
|
18
|
+
|
|
19
|
+
const tsconfigPathsCache = new Map();
|
|
20
|
+
|
|
21
|
+
// Walks the `extends` chain and returns the nearest-defined `baseUrl` (which
|
|
22
|
+
// may come from a different config than the one defining `paths`), the
|
|
23
|
+
// nearest-defined `paths` object (TypeScript replaces, not merges, inherited
|
|
24
|
+
// `paths` once a config defines its own), and the directory of the config
|
|
25
|
+
// that defines that `paths` object (the TS 5.0+ fallback base when no
|
|
26
|
+
// `baseUrl` is defined anywhere in the chain).
|
|
27
|
+
function resolveEffectiveConfig(configFilePath, content, visited) {
|
|
28
|
+
if (visited.has(configFilePath)) return {};
|
|
29
|
+
visited.add(configFilePath);
|
|
30
|
+
|
|
31
|
+
const baseDir = dirname(configFilePath);
|
|
32
|
+
const opts = content.compilerOptions ?? {};
|
|
33
|
+
const ownBaseUrl =
|
|
34
|
+
typeof opts.baseUrl === "string" ? resolvePath(baseDir, opts.baseUrl) : undefined;
|
|
35
|
+
const ownRawPaths =
|
|
36
|
+
opts.paths && typeof opts.paths === "object" && !Array.isArray(opts.paths)
|
|
37
|
+
? opts.paths
|
|
38
|
+
: undefined;
|
|
39
|
+
|
|
40
|
+
let inherited = {};
|
|
41
|
+
const extendsField = content.extends;
|
|
42
|
+
if (typeof extendsField === "string") {
|
|
43
|
+
const base = resolvePath(baseDir, extendsField);
|
|
44
|
+
const extendsPath = base.endsWith(".json") ? base : base + ".json";
|
|
45
|
+
try {
|
|
46
|
+
const sub = JSON.parse(readFileSync(extendsPath, "utf-8"));
|
|
47
|
+
inherited = resolveEffectiveConfig(extendsPath, sub, visited);
|
|
48
|
+
} catch (e) {
|
|
49
|
+
if (e?.code !== "ENOENT" && !(e instanceof SyntaxError)) throw e;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return {
|
|
54
|
+
baseUrl: ownBaseUrl ?? inherited.baseUrl,
|
|
55
|
+
rawPaths: ownRawPaths ?? inherited.rawPaths,
|
|
56
|
+
pathsBaseDir: ownRawPaths ? baseDir : inherited.pathsBaseDir,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function collectPathsInto(out, configFilePath, content, visited) {
|
|
61
|
+
const { baseUrl, rawPaths, pathsBaseDir } = resolveEffectiveConfig(
|
|
62
|
+
configFilePath,
|
|
63
|
+
content,
|
|
64
|
+
visited,
|
|
65
|
+
);
|
|
66
|
+
if (!rawPaths) return;
|
|
67
|
+
|
|
68
|
+
const absBase = baseUrl ?? pathsBaseDir ?? dirname(configFilePath);
|
|
69
|
+
for (const [alias, targets] of Object.entries(rawPaths)) {
|
|
70
|
+
if (!Array.isArray(targets)) continue;
|
|
71
|
+
const normalized = targets
|
|
72
|
+
.filter((t) => typeof t === "string")
|
|
73
|
+
.map((t) => {
|
|
74
|
+
const isWildcard = t.endsWith("/*");
|
|
75
|
+
const resolved = resolvePath(absBase, isWildcard ? t.slice(0, -2) : t);
|
|
76
|
+
return pathToFileURL(resolved).href + (isWildcard ? "/*" : "");
|
|
77
|
+
});
|
|
78
|
+
if (normalized.length === 0) continue;
|
|
79
|
+
out[alias] = normalized;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function loadTsconfigPaths(startDir) {
|
|
84
|
+
if (tsconfigPathsCache.has(startDir)) return tsconfigPathsCache.get(startDir);
|
|
85
|
+
|
|
86
|
+
const paths = Object.create(null);
|
|
87
|
+
let dir = startDir;
|
|
88
|
+
let prev = "";
|
|
89
|
+
while (dir !== prev) {
|
|
90
|
+
try {
|
|
91
|
+
const configFilePath = join(dir, "tsconfig.json");
|
|
92
|
+
const content = JSON.parse(readFileSync(configFilePath, "utf-8"));
|
|
93
|
+
collectPathsInto(paths, configFilePath, content, new Set());
|
|
94
|
+
break;
|
|
95
|
+
} catch (e) {
|
|
96
|
+
if (e?.code !== "ENOENT" && !(e instanceof SyntaxError)) throw e;
|
|
97
|
+
if (e instanceof SyntaxError) break;
|
|
98
|
+
}
|
|
99
|
+
prev = dir;
|
|
100
|
+
dir = dirname(dir);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
tsconfigPathsCache.set(startDir, paths);
|
|
104
|
+
return paths;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function matchTsconfigPaths(specifier, paths) {
|
|
108
|
+
if (paths[specifier]?.length > 0) {
|
|
109
|
+
return paths[specifier];
|
|
110
|
+
}
|
|
111
|
+
const wildcardEntries = Object.entries(paths)
|
|
112
|
+
.filter(([alias]) => alias.endsWith("/*"))
|
|
113
|
+
.toSorted((a, b) => b[0].length - a[0].length);
|
|
114
|
+
for (const [alias, targets] of wildcardEntries) {
|
|
115
|
+
const prefix = alias.slice(0, -2);
|
|
116
|
+
if (specifier.startsWith(prefix + "/")) {
|
|
117
|
+
const rest = specifier.slice(prefix.length + 1);
|
|
118
|
+
return targets.map((t) => (t.endsWith("/*") ? t.slice(0, -2) + "/" + rest : t));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
async function tryResolveWithExtensions(base, context, nextResolve) {
|
|
125
|
+
if (!TS_EXTENSIONS.some((ext) => base.endsWith(ext))) {
|
|
126
|
+
for (const ext of TS_EXTENSIONS) {
|
|
127
|
+
for (const suffix of ["", "/index"]) {
|
|
128
|
+
try {
|
|
129
|
+
return await nextResolve(base + suffix + ext, context);
|
|
130
|
+
} catch (e) {
|
|
131
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
return await nextResolve(base, context);
|
|
138
|
+
} catch (e) {
|
|
139
|
+
const code = e?.code;
|
|
140
|
+
if (code !== "ERR_MODULE_NOT_FOUND" && code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw e;
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
function tryResolveWithExtensionsSync(base, context, nextResolve) {
|
|
146
|
+
if (!TS_EXTENSIONS.some((ext) => base.endsWith(ext))) {
|
|
147
|
+
for (const ext of TS_EXTENSIONS) {
|
|
148
|
+
for (const suffix of ["", "/index"]) {
|
|
149
|
+
try {
|
|
150
|
+
return nextResolve(base + suffix + ext, context);
|
|
151
|
+
} catch (e) {
|
|
152
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
return nextResolve(base, context);
|
|
159
|
+
} catch (e) {
|
|
160
|
+
const code = e?.code;
|
|
161
|
+
if (code !== "ERR_MODULE_NOT_FOUND" && code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw e;
|
|
162
|
+
}
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// --- module hooks ---
|
|
167
|
+
|
|
168
|
+
export async function resolve(specifier, context, nextResolve) {
|
|
169
|
+
try {
|
|
170
|
+
return await nextResolve(specifier, context);
|
|
171
|
+
} catch (err) {
|
|
172
|
+
if (err.code !== "ERR_MODULE_NOT_FOUND" && err.code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw err;
|
|
173
|
+
|
|
174
|
+
if (
|
|
175
|
+
err.code === "ERR_UNSUPPORTED_DIR_IMPORT" &&
|
|
176
|
+
(specifier.startsWith(".") || specifier.startsWith("/"))
|
|
177
|
+
) {
|
|
178
|
+
for (const ext of TS_EXTENSIONS) {
|
|
179
|
+
try {
|
|
180
|
+
return await nextResolve(specifier + "/index" + ext, context);
|
|
181
|
+
} catch (e) {
|
|
182
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
throw err;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (!specifier.startsWith(".") && !specifier.startsWith("/")) {
|
|
189
|
+
// Non-relative: try tsconfig path aliases
|
|
190
|
+
if (context.parentURL?.startsWith("file://")) {
|
|
191
|
+
const parentParsed = new URL(context.parentURL);
|
|
192
|
+
parentParsed.search = "";
|
|
193
|
+
parentParsed.hash = "";
|
|
194
|
+
const parentDir = dirname(fileURLToPath(parentParsed));
|
|
195
|
+
const tsconfigPaths = loadTsconfigPaths(parentDir);
|
|
196
|
+
const candidates = matchTsconfigPaths(specifier, tsconfigPaths);
|
|
197
|
+
if (candidates) {
|
|
198
|
+
for (const candidate of candidates) {
|
|
199
|
+
const result = await tryResolveWithExtensions(candidate, context, nextResolve);
|
|
200
|
+
if (result) return result;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
throw err;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
const lastSegment = specifier.split("/").pop() ?? "";
|
|
208
|
+
if (!KNOWN_EXTENSIONS.some((ext) => lastSegment.endsWith(ext))) {
|
|
209
|
+
for (const ext of TS_EXTENSIONS) {
|
|
210
|
+
try {
|
|
211
|
+
return await nextResolve(specifier + ext, context);
|
|
212
|
+
} catch (e) {
|
|
213
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
for (const [jsExt, tsExt] of JS_TO_TS) {
|
|
219
|
+
if (specifier.endsWith(jsExt)) {
|
|
220
|
+
try {
|
|
221
|
+
return await nextResolve(specifier.slice(0, -jsExt.length) + tsExt, context);
|
|
222
|
+
} catch (e) {
|
|
223
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
throw err;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export async function load(url, context, nextLoad) {
|
|
233
|
+
if (url.startsWith("file:")) {
|
|
234
|
+
const parsedUrl = new URL(url);
|
|
235
|
+
if (
|
|
236
|
+
TS_EXTENSIONS.some((ext) => parsedUrl.pathname.endsWith(ext)) &&
|
|
237
|
+
!parsedUrl.pathname.endsWith(".d.ts") &&
|
|
238
|
+
!parsedUrl.pathname.endsWith(".d.mts")
|
|
239
|
+
) {
|
|
240
|
+
parsedUrl.search = "";
|
|
241
|
+
parsedUrl.hash = "";
|
|
242
|
+
const filePath = fileURLToPath(parsedUrl);
|
|
243
|
+
const source = await readFile(filePath, "utf-8");
|
|
244
|
+
const { code } = transformSync(source, { mode: "transform", filename: filePath });
|
|
245
|
+
return { format: "module", shortCircuit: true, source: `${code}\n//# sourceURL=${url}` };
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return nextLoad(url, context);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// Sync hooks for module.registerHooks() (Node >= 22.15.0).
|
|
252
|
+
export function resolveSync(specifier, context, nextResolve) {
|
|
253
|
+
try {
|
|
254
|
+
return nextResolve(specifier, context);
|
|
255
|
+
} catch (err) {
|
|
256
|
+
if (err.code !== "ERR_MODULE_NOT_FOUND" && err.code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw err;
|
|
257
|
+
|
|
258
|
+
if (
|
|
259
|
+
err.code === "ERR_UNSUPPORTED_DIR_IMPORT" &&
|
|
260
|
+
(specifier.startsWith(".") || specifier.startsWith("/"))
|
|
261
|
+
) {
|
|
262
|
+
for (const ext of TS_EXTENSIONS) {
|
|
263
|
+
try {
|
|
264
|
+
return nextResolve(specifier + "/index" + ext, context);
|
|
265
|
+
} catch (e) {
|
|
266
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
throw err;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
if (!specifier.startsWith(".") && !specifier.startsWith("/")) {
|
|
273
|
+
// Non-relative: try tsconfig path aliases
|
|
274
|
+
if (context.parentURL?.startsWith("file://")) {
|
|
275
|
+
const parentParsed = new URL(context.parentURL);
|
|
276
|
+
parentParsed.search = "";
|
|
277
|
+
parentParsed.hash = "";
|
|
278
|
+
const parentDir = dirname(fileURLToPath(parentParsed));
|
|
279
|
+
const tsconfigPaths = loadTsconfigPaths(parentDir);
|
|
280
|
+
const candidates = matchTsconfigPaths(specifier, tsconfigPaths);
|
|
281
|
+
if (candidates) {
|
|
282
|
+
for (const candidate of candidates) {
|
|
283
|
+
const result = tryResolveWithExtensionsSync(candidate, context, nextResolve);
|
|
284
|
+
if (result) return result;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
throw err;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
const lastSegment = specifier.split("/").pop() ?? "";
|
|
292
|
+
if (!KNOWN_EXTENSIONS.some((ext) => lastSegment.endsWith(ext))) {
|
|
293
|
+
for (const ext of TS_EXTENSIONS) {
|
|
294
|
+
try {
|
|
295
|
+
return nextResolve(specifier + ext, context);
|
|
296
|
+
} catch (e) {
|
|
297
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
for (const [jsExt, tsExt] of JS_TO_TS) {
|
|
303
|
+
if (specifier.endsWith(jsExt)) {
|
|
304
|
+
try {
|
|
305
|
+
return nextResolve(specifier.slice(0, -jsExt.length) + tsExt, context);
|
|
306
|
+
} catch (e) {
|
|
307
|
+
if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
throw err;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export function loadSync(url, context, nextLoad) {
|
|
317
|
+
if (url.startsWith("file:")) {
|
|
318
|
+
const parsedUrl = new URL(url);
|
|
319
|
+
if (
|
|
320
|
+
TS_EXTENSIONS.some((ext) => parsedUrl.pathname.endsWith(ext)) &&
|
|
321
|
+
!parsedUrl.pathname.endsWith(".d.ts") &&
|
|
322
|
+
!parsedUrl.pathname.endsWith(".d.mts")
|
|
323
|
+
) {
|
|
324
|
+
parsedUrl.search = "";
|
|
325
|
+
parsedUrl.hash = "";
|
|
326
|
+
const filePath = fileURLToPath(parsedUrl);
|
|
327
|
+
const source = readFileSync(filePath, "utf-8");
|
|
328
|
+
const { code } = transformSync(source, { mode: "transform", filename: filePath });
|
|
329
|
+
return { format: "module", shortCircuit: true, source: `${code}\n//# sourceURL=${url}` };
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return nextLoad(url, context);
|
|
333
|
+
}
|