@tailor-platform/sdk 1.18.0 → 1.19.0

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/{application-gWUyKuzv.mjs → application-A6PZjujv.mjs} +81 -64
  3. package/dist/application-A6PZjujv.mjs.map +1 -0
  4. package/dist/application-nPS5veK6.mjs +9 -0
  5. package/dist/cli/index.mjs +8 -6
  6. package/dist/cli/index.mjs.map +1 -1
  7. package/dist/cli/lib.d.mts +12 -6
  8. package/dist/cli/lib.mjs +9 -7
  9. package/dist/cli/lib.mjs.map +1 -1
  10. package/dist/configure/index.d.mts +3 -3
  11. package/dist/configure/index.mjs +1 -1
  12. package/dist/{enum-constants-Cwd4qdpa.mjs → enum-constants-CGVvu3dd.mjs} +1 -1
  13. package/dist/{enum-constants-Cwd4qdpa.mjs.map → enum-constants-CGVvu3dd.mjs.map} +1 -1
  14. package/dist/{file-utils-cqcpFk87.mjs → file-utils-GX_tGWl4.mjs} +1 -1
  15. package/dist/{file-utils-cqcpFk87.mjs.map → file-utils-GX_tGWl4.mjs.map} +1 -1
  16. package/dist/{index-SqWgrTnF.d.mts → index-B6pvy1MK.d.mts} +2 -2
  17. package/dist/{index-sSDpuVQY.d.mts → index-B91ZpOcd.d.mts} +2 -2
  18. package/dist/{index-BKXch-td.d.mts → index-CPzbMghQ.d.mts} +2 -2
  19. package/dist/{index-DP8EB9FK.d.mts → index-ClLZCbcm.d.mts} +9 -3
  20. package/dist/{index-C3Ib7pFc.d.mts → index-DDqKNFh4.d.mts} +2 -2
  21. package/dist/interceptor-D8MeZOxX.mjs +33 -0
  22. package/dist/interceptor-D8MeZOxX.mjs.map +1 -0
  23. package/dist/{jiti-DHlauMCo.mjs → jiti-DfS9jItj.mjs} +1 -1
  24. package/dist/{jiti-DHlauMCo.mjs.map → jiti-DfS9jItj.mjs.map} +1 -1
  25. package/dist/{kysely-type-DtUUoAi3.mjs → kysely-type-Cpq5TNGY.mjs} +2 -1
  26. package/dist/kysely-type-Cpq5TNGY.mjs.map +1 -0
  27. package/dist/package-json-DUY2kB6z.mjs +17 -0
  28. package/dist/package-json-DUY2kB6z.mjs.map +1 -0
  29. package/dist/package-json-Dd1AnA5F.mjs +3 -0
  30. package/dist/plugin/builtin/enum-constants/index.d.mts +2 -2
  31. package/dist/plugin/builtin/enum-constants/index.mjs +1 -1
  32. package/dist/plugin/builtin/file-utils/index.d.mts +2 -2
  33. package/dist/plugin/builtin/file-utils/index.mjs +1 -1
  34. package/dist/plugin/builtin/kysely-type/index.d.mts +2 -2
  35. package/dist/plugin/builtin/kysely-type/index.mjs +1 -1
  36. package/dist/plugin/builtin/seed/index.d.mts +2 -2
  37. package/dist/plugin/builtin/seed/index.mjs +1 -1
  38. package/dist/plugin/index.d.mts +1 -1
  39. package/dist/{schema-WDvc7Zel.mjs → schema-D5Cpd8fQ.mjs} +45 -3
  40. package/dist/schema-D5Cpd8fQ.mjs.map +1 -0
  41. package/dist/{seed-Dm7lrGZ3.mjs → seed-CeUEANfQ.mjs} +1 -1
  42. package/dist/{seed-Dm7lrGZ3.mjs.map → seed-CeUEANfQ.mjs.map} +1 -1
  43. package/dist/{src-i4uqS1G4.mjs → src-Bb1UVstT.mjs} +1 -1
  44. package/dist/{src-i4uqS1G4.mjs.map → src-Bb1UVstT.mjs.map} +1 -1
  45. package/dist/telemetry-9A1BZqbl.mjs +3 -0
  46. package/dist/telemetry-rFq0QdvJ.mjs +84 -0
  47. package/dist/telemetry-rFq0QdvJ.mjs.map +1 -0
  48. package/dist/{types-Bhl_wAM2.d.mts → types-CJF3Y1x8.d.mts} +9 -2
  49. package/dist/{types-DdvTxFiD.d.mts → types-CblXasFV.d.mts} +33 -9
  50. package/dist/types-ClK_HJ0G.mjs.map +1 -1
  51. package/dist/{update-BoNKMti-.mjs → update-Cr5c7h1r.mjs} +221 -151
  52. package/dist/update-Cr5c7h1r.mjs.map +1 -0
  53. package/dist/utils/test/index.d.mts +3 -3
  54. package/package.json +7 -1
  55. package/dist/application-Csj7Ow5Q.mjs +0 -8
  56. package/dist/application-gWUyKuzv.mjs.map +0 -1
  57. package/dist/kysely-type-DtUUoAi3.mjs.map +0 -1
  58. package/dist/schema-WDvc7Zel.mjs.map +0 -1
  59. package/dist/update-BoNKMti-.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @tailor-platform/sdk
2
2
 
3
+ ## 1.19.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#633](https://github.com/tailor-platform/sdk/pull/633) [`5f0b84b`](https://github.com/tailor-platform/sdk/commit/5f0b84bea403f9d15a9802e9a1fd7b07e0c2a9d2) Thanks [@ikawaha](https://github.com/ikawaha)! - Add decimal field type support with optional scale parameter (0-12) for fixed-point precision
8
+
9
+ - [#631](https://github.com/tailor-platform/sdk/pull/631) [`9aded63`](https://github.com/tailor-platform/sdk/commit/9aded634276ad51786b2b1119c89be23d1ed26ff) Thanks [@toiroakr](https://github.com/toiroakr)! - Add OpenTelemetry tracing to CLI apply process for performance profiling
10
+
11
+ - Implement opt-in OTLP tracing activated via `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable
12
+ - Use `@opentelemetry/api` built-in noop spans for zero overhead when tracing is disabled
13
+ - Instrument all apply phases (build, plan, confirm, create/update, delete) with hierarchical spans
14
+ - Add Connect-RPC interceptor for automatic RPC call tracing
15
+ - Parallelize plan phase service calls and internal RPC calls for ~60% faster plan execution
16
+ - Fix race condition in parallel plan phase with Promise-based memoization for loadTypes/loadExecutors
17
+
18
+ ### Patch Changes
19
+
20
+ - [#642](https://github.com/tailor-platform/sdk/pull/642) [`7ca52a5`](https://github.com/tailor-platform/sdk/commit/7ca52a56f3dcf4b41cf9c495bfa9ca3f279c00f1) Thanks [@riku99](https://github.com/riku99)! - Remove NPM_TOKEN from .github/workflows/release.yml
21
+
22
+ - [#641](https://github.com/tailor-platform/sdk/pull/641) [`86d382c`](https://github.com/tailor-platform/sdk/commit/86d382ce261b7abd71c7d27b3d50cc83c9df3430) Thanks [@riku99](https://github.com/riku99)! - Allow configuring inline sourcemaps via `inlineSourcemap` in defineConfig
23
+
3
24
  ## 1.18.0
4
25
 
5
26
  ### Minor Changes
@@ -1,10 +1,11 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "./chunk-CqAI0b6X.mjs";
2
2
  import { t as isPluginGeneratedType } from "./types-ClK_HJ0G.mjs";
3
3
  import { n as isSdkBranded } from "./brand-BZJCv6UY.mjs";
4
- import { n as enumConstantsPlugin, t as EnumConstantsGeneratorID } from "./enum-constants-Cwd4qdpa.mjs";
5
- import { n as fileUtilsPlugin, t as FileUtilsGeneratorID } from "./file-utils-cqcpFk87.mjs";
6
- import { n as kyselyTypePlugin, t as KyselyGeneratorID } from "./kysely-type-DtUUoAi3.mjs";
7
- import { n as seedPlugin, t as SeedGeneratorID } from "./seed-Dm7lrGZ3.mjs";
4
+ import { t as readPackageJson } from "./package-json-DUY2kB6z.mjs";
5
+ import { n as enumConstantsPlugin, t as EnumConstantsGeneratorID } from "./enum-constants-CGVvu3dd.mjs";
6
+ import { n as fileUtilsPlugin, t as FileUtilsGeneratorID } from "./file-utils-GX_tGWl4.mjs";
7
+ import { n as kyselyTypePlugin, t as KyselyGeneratorID } from "./kysely-type-Cpq5TNGY.mjs";
8
+ import { n as seedPlugin, t as SeedGeneratorID } from "./seed-CeUEANfQ.mjs";
8
9
  import Module, { createRequire } from "node:module";
9
10
  import { z } from "zod";
10
11
  import * as fs$15 from "node:fs";
@@ -21,7 +22,7 @@ import { MethodOptions_IdempotencyLevel, file_google_protobuf_descriptor, file_g
21
22
  import { Code, ConnectError, createClient } from "@connectrpc/connect";
22
23
  import { createConnectTransport } from "@connectrpc/connect-node";
23
24
  import { enumDesc, fileDesc, messageDesc, serviceDesc, tsEnum } from "@bufbuild/protobuf/codegenv2";
24
- import { readPackageJSON, resolveTSConfig } from "pkg-types";
25
+ import { resolveTSConfig } from "pkg-types";
25
26
  import * as os$3 from "node:os";
26
27
  import os from "node:os";
27
28
  import { parseTOML, parseYAML, stringifyYAML } from "confbox";
@@ -731,7 +732,7 @@ const file_tailor_v1_staticwebsite = /* @__PURE__ */ fileDesc("Ch10YWlsb3IvdjEvc
731
732
  /**
732
733
  * Describes the file tailor/v1/tailordb_resource.proto.
733
734
  */
734
- const file_tailor_v1_tailordb_resource = /* @__PURE__ */ fileDesc("CiF0YWlsb3IvdjEvdGFpbG9yZGJfcmVzb3VyY2UucHJvdG8SCXRhaWxvci52MSJUCg9UYWlsb3JEQlNlcnZpY2USJwoJbmFtZXNwYWNlGAEgASgLMhQudGFpbG9yLnYxLk5hbWVzcGFjZRIYChBkZWZhdWx0X3RpbWV6b25lGAIgASgJIpUnCgxUYWlsb3JEQlR5cGUSLQoEbmFtZRgBIAEoCUIfukgcchoyGF5bQS1aXVthLXpBLVowLTldezAsNjJ9JBIyCgZzY2hlbWEYAiABKAsyIi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWca3gcKClR5cGVDb25maWcSPgoGZmllbGRzGAEgAygLMi4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlQ29uZmlnLkZpZWxkc0VudHJ5EhMKC2Rlc2NyaXB0aW9uGAIgASgJEjUKCHNldHRpbmdzGAMgASgLMiMudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlU2V0dGluZxI/Cg90eXBlX3Blcm1pc3Npb24YBCABKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVQZXJtaXNzaW9uEg8KB2V4dGVuZHMYBSABKAgSNQoKZGlyZWN0aXZlcxgGIAMoCzIhLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlEkAKB2luZGV4ZXMYByADKAsyLy50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWcuSW5kZXhlc0VudHJ5EkgKEXJlY29yZF9wZXJtaXNzaW9uGAggASgLMigudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWNvcmRQZXJtaXNzaW9uSACIAQESTAoNcmVsYXRpb25zaGlwcxgJIAMoCzI1LnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5SZWxhdGlvbnNoaXBzRW50cnkSNgoKcGVybWlzc2lvbhgKIAEoCzIiLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbhI8CgVmaWxlcxgLIAMoCzItLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5GaWxlc0VudHJ5GlIKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRmllbGRDb25maWc6AjgBGk0KDEluZGV4ZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkluZGV4OgI4ARpgChJSZWxhdGlvbnNoaXBzRW50cnkSCwoDa2V5GAEgASgJEjkKBXZhbHVlGAIgASgLMioudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWxhdGlvbnNoaXBDb25maWc6AjgBGlAKCkZpbGVzRW50cnkSCwoDa2V5GAEgASgJEjEKBXZhbHVlGAIgASgLMiIudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWxlQ29uZmlnOgI4AUIUChJfcmVjb3JkX3Blcm1pc3Npb24ahwMKC1R5cGVTZXR0aW5nEhMKC2FnZ3JlZ2F0aW9uGAIgASgIEhMKC2J1bGtfdXBzZXJ0GAMgASgIEiUKGGRlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZRgEIAEoA0gAiAEBEiEKFG1heF9idWxrX3Vwc2VydF9zaXplGAUgASgDSAGIAQESPAoLcGx1cmFsX2Zvcm0YBiABKAlCIrpIH3IdMhteJHxeW2Etel1bYS16QS1aMC05XXswLDYyfSRIAogBARIdChVwdWJsaXNoX3JlY29yZF9ldmVudHMYByABKAgSDQoFZHJhZnQYCCABKAgSTAoWZGlzYWJsZV9ncWxfb3BlcmF0aW9ucxgJIAEoCzIsLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlzYWJsZUdxbE9wZXJhdGlvbnNCGwoZX2RlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZUIXChVfbWF4X2J1bGtfdXBzZXJ0X3NpemVCDgoMX3BsdXJhbF9mb3JtSgQIARACGlQKFERpc2FibGVHcWxPcGVyYXRpb25zEg4KBmNyZWF0ZRgBIAEoCBIOCgZ1cGRhdGUYAiABKAgSDgoGZGVsZXRlGAMgASgIEgwKBHJlYWQYBCABKAgaTQoJRGlyZWN0aXZlEgwKBG5hbWUYASABKAkSMgoEYXJncxgCIAMoCzIkLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlQXJnGisKDERpcmVjdGl2ZUFyZxIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJGiwKBUluZGV4EhMKC2ZpZWxkX25hbWVzGAEgAygJEg4KBnVuaXF1ZRgCIAEoCBqiBQoLRmllbGRDb25maWcSDAoEdHlwZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIWCglzb3VyY2VfaWQYBCABKAlIAIgBARIQCghyZXF1aXJlZBgFIAEoCBINCgVhcnJheRgGIAEoCBI4Cgh2YWxpZGF0ZRgHIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVmFsaWRhdGVDb25maWcSPwoGZmllbGRzGAggAygLMi8udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWVsZENvbmZpZy5GaWVsZHNFbnRyeRINCgVpbmRleBgJIAEoCBIOCgZ1bmlxdWUYCiABKAgSEwoLZm9yZWlnbl9rZXkYCyABKAgSHQoQZm9yZWlnbl9rZXlfdHlwZRgMIAEoCUgBiAEBEh4KEWZvcmVpZ25fa2V5X2ZpZWxkGA0gASgJSAKIAQESNQoFaG9va3MYDiABKAsyIS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkZpZWxkSG9va0gDiAEBEjUKDmFsbG93ZWRfdmFsdWVzGA8gAygLMh0udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5WYWx1ZRIOCgZ2ZWN0b3IYECABKAgSLgoGc2VyaWFsGBEgASgLMh4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5TZXJpYWwaUgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWVsZENvbmZpZzoCOAFCDAoKX3NvdXJjZV9pZEITChFfZm9yZWlnbl9rZXlfdHlwZUIUChJfZm9yZWlnbl9rZXlfZmllbGRCCAoGX2hvb2tzSgQIAhADGnAKElJlbGF0aW9uc2hpcENvbmZpZxIQCghyZWZfdHlwZRgBIAEoCRIRCglyZWZfZmllbGQYAiABKAkSEQoJc3JjX2ZpZWxkGAMgASgJEg0KBWFycmF5GAQgASgIEhMKC2Rlc2NyaXB0aW9uGAUgASgJGiEKCkZpbGVDb25maWcSEwoLZGVzY3JpcHRpb24YASABKAkaYwoFVmFsdWUSRQoFdmFsdWUYASABKAlCNrpIM3IxMhxeW2EtekEtWl1bYS16QS1aMC05X117MCw2Mn0kWgR0cnVlWgVmYWxzZVoEbnVsbBITCgtkZXNjcmlwdGlvbhgCIAEoCRqlAQoJRmllbGRIb29rEhgKC2NyZWF0ZV9leHByGAEgASgJSACIAQESGAoLdXBkYXRlX2V4cHIYAiABKAlIAYgBARIhCgZjcmVhdGUYAyABKAsyES50YWlsb3IudjEuU2NyaXB0EiEKBnVwZGF0ZRgEIAEoCzIRLnRhaWxvci52MS5TY3JpcHRCDgoMX2NyZWF0ZV9leHByQg4KDF91cGRhdGVfZXhwchquAQoGU2VyaWFsEhYKBXN0YXJ0GAEgASgDQge6SAQiAiAAEh8KCW1heF92YWx1ZRgCIAEoA0IHukgEIgIgAEgAiAEBElIKBmZvcm1hdBgDIAEoCUI9ukg6cjgYIDI0Xig/Oig/OiUlfFteJV0pKiklKD86WzAtOV0rKT9bZG94WF0oPzooPzolJXxbXiVdKSopJEgBiAEBQgwKCl9tYXhfdmFsdWVCCQoHX2Zvcm1hdBqxAQoOVmFsaWRhdGVDb25maWcSDAoEZXhwchgBIAEoCRJACgZhY3Rpb24YAiABKA4yJC50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pdEFjdGlvbkIKukgHggEEEAEgABIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSACIAQESIQoGc2NyaXB0GAQgASgLMhEudGFpbG9yLnYxLlNjcmlwdEIQCg5fZXJyb3JfbWVzc2FnZRqlAgoOVHlwZVBlcm1pc3Npb24SNgoGY3JlYXRlGAEgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI0CgRyZWFkGAIgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI2CgZ1cGRhdGUYAyADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjYKBmRlbGV0ZRgEIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNQoFYWRtaW4YBSADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtGrgBChBSZWNvcmRQZXJtaXNzaW9uEjQKBHJlYWQYASADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjYKBnVwZGF0ZRgCIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNgoGZGVsZXRlGAMgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRprCg5QZXJtaXNzaW9uSXRlbRJACgZwZXJtaXQYASABKA4yJC50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pdEFjdGlvbkIKukgHggEEEAEgABIKCgJpZBgCIAEoCRILCgNpZHMYAyADKAkavggKClBlcm1pc3Npb24SOQoGY3JlYXRlGAEgAygLMikudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLlBvbGljeRI3CgRyZWFkGAIgAygLMikudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLlBvbGljeRI5CgZ1cGRhdGUYAyADKAsyKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUG9saWN5EjkKBmRlbGV0ZRgEIAMoCzIpLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5Qb2xpY3kauwEKBlBvbGljeRJACgpjb25kaXRpb25zGAEgAygLMiwudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLkNvbmRpdGlvbhJFCgZwZXJtaXQYAiABKA4yKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUGVybWl0Qgq6SAeCAQQQASAAEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uGtsBCglDb25kaXRpb24SQAoEbGVmdBgBIAEoCzIqLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQESSQoIb3BlcmF0b3IYAiABKA4yKy50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uT3BlcmF0b3JCCrpIB4IBBBABIAASQQoFcmlnaHQYAyABKAsyKi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uT3BlcmFuZEIGukgDyAEBGssBCgdPcGVyYW5kEh0KCnVzZXJfZmllbGQYASABKAlCB7pIBHICEAFIABIfCgxyZWNvcmRfZmllbGQYAiABKAlCB7pIBHICEAFIABIjChBvbGRfcmVjb3JkX2ZpZWxkGAMgASgJQge6SARyAhABSAASIwoQbmV3X3JlY29yZF9maWVsZBgEIAEoCUIHukgEcgIQAUgAEicKBXZhbHVlGAUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSABCDQoEa2luZBIFukgCCAEilgEKCE9wZXJhdG9yEhgKFE9QRVJBVE9SX1VOU1BFQ0lGSUVEEAASDwoLT1BFUkFUT1JfRVEQARIPCgtPUEVSQVRPUl9ORRACEg8KC09QRVJBVE9SX0lOEAMSEAoMT1BFUkFUT1JfTklOEAQSFAoQT1BFUkFUT1JfSEFTX0FOWRAFEhUKEU9QRVJBVE9SX05IQVNfQU5ZEAYiQwoGUGVybWl0EhYKElBFUk1JVF9VTlNQRUNJRklFRBAAEhAKDFBFUk1JVF9BTExPVxABEg8KC1BFUk1JVF9ERU5ZEAIiegoMUGVybWl0QWN0aW9uEh0KGVBFUk1JVF9BQ1RJT05fVU5TUEVDSUZJRUQQABIXChNQRVJNSVRfQUNUSU9OX0FMTE9XEAESGgoSUEVSTUlUX0FDVElPTl9TS0lQEAIaAggBEhYKElBFUk1JVF9BQ1RJT05fREVOWRADIq0IChVUYWlsb3JEQkdRTFBlcm1pc3Npb24SDwoCaWQYASABKAlCA+BBAxI5Cghwb2xpY2llcxgCIAMoCzInLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uUG9saWN5GoQCCgZQb2xpY3kSPgoKY29uZGl0aW9ucxgBIAMoCzIqLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uQ29uZGl0aW9uEksKB2FjdGlvbnMYAiADKA4yJy50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLkFjdGlvbkIRukgOkgELCAEiB4IBBBABIAASQwoGcGVybWl0GAMgASgOMicudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5QZXJtaXRCCrpIB4IBBBABIAASGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24a1QEKCUNvbmRpdGlvbhI+CgRsZWZ0GAEgASgLMigudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQESRwoIb3BlcmF0b3IYAiABKA4yKS50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLk9wZXJhdG9yQgq6SAeCAQQQASAAEj8KBXJpZ2h0GAMgASgLMigudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQEaYAoHT3BlcmFuZBIdCgp1c2VyX2ZpZWxkGAEgASgJQge6SARyAhABSAASJwoFdmFsdWUYBSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVIAEINCgRraW5kEgW6SAIIASKWAQoIT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIPCgtPUEVSQVRPUl9FURABEg8KC09QRVJBVE9SX05FEAISDwoLT1BFUkFUT1JfSU4QAxIQCgxPUEVSQVRPUl9OSU4QBBIUChBPUEVSQVRPUl9IQVNfQU5ZEAUSFQoRT1BFUkFUT1JfTkhBU19BTlkQBiKoAQoGQWN0aW9uEhYKEkFDVElPTl9VTlNQRUNJRklFRBAAEg4KCkFDVElPTl9BTEwQARIRCg1BQ1RJT05fQ1JFQVRFEAISDwoLQUNUSU9OX1JFQUQQAxIRCg1BQ1RJT05fVVBEQVRFEAQSEQoNQUNUSU9OX0RFTEVURRAFEhQKEEFDVElPTl9BR0dSRUdBVEUQBhIWChJBQ1RJT05fQlVMS19VUFNFUlQQByJDCgZQZXJtaXQSFgoSUEVSTUlUX1VOU1BFQ0lGSUVEEAASEAoMUEVSTUlUX0FMTE9XEAESDwoLUEVSTUlUX0RFTlkQAmIGcHJvdG8z", [
735
+ const file_tailor_v1_tailordb_resource = /* @__PURE__ */ fileDesc("CiF0YWlsb3IvdjEvdGFpbG9yZGJfcmVzb3VyY2UucHJvdG8SCXRhaWxvci52MSJUCg9UYWlsb3JEQlNlcnZpY2USJwoJbmFtZXNwYWNlGAEgASgLMhQudGFpbG9yLnYxLk5hbWVzcGFjZRIYChBkZWZhdWx0X3RpbWV6b25lGAIgASgJIr4nCgxUYWlsb3JEQlR5cGUSLQoEbmFtZRgBIAEoCUIfukgcchoyGF5bQS1aXVthLXpBLVowLTldezAsNjJ9JBIyCgZzY2hlbWEYAiABKAsyIi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWca3gcKClR5cGVDb25maWcSPgoGZmllbGRzGAEgAygLMi4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlQ29uZmlnLkZpZWxkc0VudHJ5EhMKC2Rlc2NyaXB0aW9uGAIgASgJEjUKCHNldHRpbmdzGAMgASgLMiMudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlU2V0dGluZxI/Cg90eXBlX3Blcm1pc3Npb24YBCABKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVQZXJtaXNzaW9uEg8KB2V4dGVuZHMYBSABKAgSNQoKZGlyZWN0aXZlcxgGIAMoCzIhLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlEkAKB2luZGV4ZXMYByADKAsyLy50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWcuSW5kZXhlc0VudHJ5EkgKEXJlY29yZF9wZXJtaXNzaW9uGAggASgLMigudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWNvcmRQZXJtaXNzaW9uSACIAQESTAoNcmVsYXRpb25zaGlwcxgJIAMoCzI1LnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5SZWxhdGlvbnNoaXBzRW50cnkSNgoKcGVybWlzc2lvbhgKIAEoCzIiLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbhI8CgVmaWxlcxgLIAMoCzItLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5GaWxlc0VudHJ5GlIKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRmllbGRDb25maWc6AjgBGk0KDEluZGV4ZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkluZGV4OgI4ARpgChJSZWxhdGlvbnNoaXBzRW50cnkSCwoDa2V5GAEgASgJEjkKBXZhbHVlGAIgASgLMioudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWxhdGlvbnNoaXBDb25maWc6AjgBGlAKCkZpbGVzRW50cnkSCwoDa2V5GAEgASgJEjEKBXZhbHVlGAIgASgLMiIudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWxlQ29uZmlnOgI4AUIUChJfcmVjb3JkX3Blcm1pc3Npb24ahwMKC1R5cGVTZXR0aW5nEhMKC2FnZ3JlZ2F0aW9uGAIgASgIEhMKC2J1bGtfdXBzZXJ0GAMgASgIEiUKGGRlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZRgEIAEoA0gAiAEBEiEKFG1heF9idWxrX3Vwc2VydF9zaXplGAUgASgDSAGIAQESPAoLcGx1cmFsX2Zvcm0YBiABKAlCIrpIH3IdMhteJHxeW2Etel1bYS16QS1aMC05XXswLDYyfSRIAogBARIdChVwdWJsaXNoX3JlY29yZF9ldmVudHMYByABKAgSDQoFZHJhZnQYCCABKAgSTAoWZGlzYWJsZV9ncWxfb3BlcmF0aW9ucxgJIAEoCzIsLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlzYWJsZUdxbE9wZXJhdGlvbnNCGwoZX2RlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZUIXChVfbWF4X2J1bGtfdXBzZXJ0X3NpemVCDgoMX3BsdXJhbF9mb3JtSgQIARACGlQKFERpc2FibGVHcWxPcGVyYXRpb25zEg4KBmNyZWF0ZRgBIAEoCBIOCgZ1cGRhdGUYAiABKAgSDgoGZGVsZXRlGAMgASgIEgwKBHJlYWQYBCABKAgaTQoJRGlyZWN0aXZlEgwKBG5hbWUYASABKAkSMgoEYXJncxgCIAMoCzIkLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlQXJnGisKDERpcmVjdGl2ZUFyZxIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJGiwKBUluZGV4EhMKC2ZpZWxkX25hbWVzGAEgAygJEg4KBnVuaXF1ZRgCIAEoCBrLBQoLRmllbGRDb25maWcSDAoEdHlwZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIWCglzb3VyY2VfaWQYBCABKAlIAIgBARIQCghyZXF1aXJlZBgFIAEoCBINCgVhcnJheRgGIAEoCBI4Cgh2YWxpZGF0ZRgHIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVmFsaWRhdGVDb25maWcSPwoGZmllbGRzGAggAygLMi8udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWVsZENvbmZpZy5GaWVsZHNFbnRyeRINCgVpbmRleBgJIAEoCBIOCgZ1bmlxdWUYCiABKAgSEwoLZm9yZWlnbl9rZXkYCyABKAgSHQoQZm9yZWlnbl9rZXlfdHlwZRgMIAEoCUgBiAEBEh4KEWZvcmVpZ25fa2V5X2ZpZWxkGA0gASgJSAKIAQESNQoFaG9va3MYDiABKAsyIS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkZpZWxkSG9va0gDiAEBEjUKDmFsbG93ZWRfdmFsdWVzGA8gAygLMh0udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5WYWx1ZRIOCgZ2ZWN0b3IYECABKAgSLgoGc2VyaWFsGBEgASgLMh4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5TZXJpYWwSHQoFc2NhbGUYEiABKAVCCbpIBhoEGAwoAEgEiAEBGlIKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRmllbGRDb25maWc6AjgBQgwKCl9zb3VyY2VfaWRCEwoRX2ZvcmVpZ25fa2V5X3R5cGVCFAoSX2ZvcmVpZ25fa2V5X2ZpZWxkQggKBl9ob29rc0IICgZfc2NhbGVKBAgCEAMacAoSUmVsYXRpb25zaGlwQ29uZmlnEhAKCHJlZl90eXBlGAEgASgJEhEKCXJlZl9maWVsZBgCIAEoCRIRCglzcmNfZmllbGQYAyABKAkSDQoFYXJyYXkYBCABKAgSEwoLZGVzY3JpcHRpb24YBSABKAkaIQoKRmlsZUNvbmZpZxITCgtkZXNjcmlwdGlvbhgBIAEoCRpjCgVWYWx1ZRJFCgV2YWx1ZRgBIAEoCUI2ukgzcjEyHF5bYS16QS1aXVthLXpBLVowLTlfXXswLDYyfSRaBHRydWVaBWZhbHNlWgRudWxsEhMKC2Rlc2NyaXB0aW9uGAIgASgJGqUBCglGaWVsZEhvb2sSGAoLY3JlYXRlX2V4cHIYASABKAlIAIgBARIYCgt1cGRhdGVfZXhwchgCIAEoCUgBiAEBEiEKBmNyZWF0ZRgDIAEoCzIRLnRhaWxvci52MS5TY3JpcHQSIQoGdXBkYXRlGAQgASgLMhEudGFpbG9yLnYxLlNjcmlwdEIOCgxfY3JlYXRlX2V4cHJCDgoMX3VwZGF0ZV9leHByGq4BCgZTZXJpYWwSFgoFc3RhcnQYASABKANCB7pIBCICIAASHwoJbWF4X3ZhbHVlGAIgASgDQge6SAQiAiAASACIAQESUgoGZm9ybWF0GAMgASgJQj26SDpyOBggMjReKD86KD86JSV8W14lXSkqKSUoPzpbMC05XSspP1tkb3hYXSg/Oig/OiUlfFteJV0pKikkSAGIAQFCDAoKX21heF92YWx1ZUIJCgdfZm9ybWF0GrEBCg5WYWxpZGF0ZUNvbmZpZxIMCgRleHByGAEgASgJEkAKBmFjdGlvbhgCIAEoDjIkLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWl0QWN0aW9uQgq6SAeCAQQQASAAEhoKDWVycm9yX21lc3NhZ2UYAyABKAlIAIgBARIhCgZzY3JpcHQYBCABKAsyES50YWlsb3IudjEuU2NyaXB0QhAKDl9lcnJvcl9tZXNzYWdlGqUCCg5UeXBlUGVybWlzc2lvbhI2CgZjcmVhdGUYASADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjQKBHJlYWQYAiADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjYKBnVwZGF0ZRgDIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNgoGZGVsZXRlGAQgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI1CgVhZG1pbhgFIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0auAEKEFJlY29yZFBlcm1pc3Npb24SNAoEcmVhZBgBIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNgoGdXBkYXRlGAIgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI2CgZkZWxldGUYAyADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtGmsKDlBlcm1pc3Npb25JdGVtEkAKBnBlcm1pdBgBIAEoDjIkLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWl0QWN0aW9uQgq6SAeCAQQQASAAEgoKAmlkGAIgASgJEgsKA2lkcxgDIAMoCRq+CAoKUGVybWlzc2lvbhI5CgZjcmVhdGUYASADKAsyKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUG9saWN5EjcKBHJlYWQYAiADKAsyKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUG9saWN5EjkKBnVwZGF0ZRgDIAMoCzIpLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5Qb2xpY3kSOQoGZGVsZXRlGAQgAygLMikudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLlBvbGljeRq7AQoGUG9saWN5EkAKCmNvbmRpdGlvbnMYASADKAsyLC50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uQ29uZGl0aW9uEkUKBnBlcm1pdBgCIAEoDjIpLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5QZXJtaXRCCrpIB4IBBBABIAASGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24a2wEKCUNvbmRpdGlvbhJACgRsZWZ0GAEgASgLMioudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLk9wZXJhbmRCBrpIA8gBARJJCghvcGVyYXRvchgCIAEoDjIrLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5PcGVyYXRvckIKukgHggEEEAEgABJBCgVyaWdodBgDIAEoCzIqLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQEaywEKB09wZXJhbmQSHQoKdXNlcl9maWVsZBgBIAEoCUIHukgEcgIQAUgAEh8KDHJlY29yZF9maWVsZBgCIAEoCUIHukgEcgIQAUgAEiMKEG9sZF9yZWNvcmRfZmllbGQYAyABKAlCB7pIBHICEAFIABIjChBuZXdfcmVjb3JkX2ZpZWxkGAQgASgJQge6SARyAhABSAASJwoFdmFsdWUYBSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVIAEINCgRraW5kEgW6SAIIASKWAQoIT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIPCgtPUEVSQVRPUl9FURABEg8KC09QRVJBVE9SX05FEAISDwoLT1BFUkFUT1JfSU4QAxIQCgxPUEVSQVRPUl9OSU4QBBIUChBPUEVSQVRPUl9IQVNfQU5ZEAUSFQoRT1BFUkFUT1JfTkhBU19BTlkQBiJDCgZQZXJtaXQSFgoSUEVSTUlUX1VOU1BFQ0lGSUVEEAASEAoMUEVSTUlUX0FMTE9XEAESDwoLUEVSTUlUX0RFTlkQAiJ6CgxQZXJtaXRBY3Rpb24SHQoZUEVSTUlUX0FDVElPTl9VTlNQRUNJRklFRBAAEhcKE1BFUk1JVF9BQ1RJT05fQUxMT1cQARIaChJQRVJNSVRfQUNUSU9OX1NLSVAQAhoCCAESFgoSUEVSTUlUX0FDVElPTl9ERU5ZEAMirQgKFVRhaWxvckRCR1FMUGVybWlzc2lvbhIPCgJpZBgBIAEoCUID4EEDEjkKCHBvbGljaWVzGAIgAygLMicudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5Qb2xpY3kahAIKBlBvbGljeRI+Cgpjb25kaXRpb25zGAEgAygLMioudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5Db25kaXRpb24SSwoHYWN0aW9ucxgCIAMoDjInLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uQWN0aW9uQhG6SA6SAQsIASIHggEEEAEgABJDCgZwZXJtaXQYAyABKA4yJy50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLlBlcm1pdEIKukgHggEEEAEgABIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbhrVAQoJQ29uZGl0aW9uEj4KBGxlZnQYASABKAsyKC50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLk9wZXJhbmRCBrpIA8gBARJHCghvcGVyYXRvchgCIAEoDjIpLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uT3BlcmF0b3JCCrpIB4IBBBABIAASPwoFcmlnaHQYAyABKAsyKC50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLk9wZXJhbmRCBrpIA8gBARpgCgdPcGVyYW5kEh0KCnVzZXJfZmllbGQYASABKAlCB7pIBHICEAFIABInCgV2YWx1ZRgFIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgAQg0KBGtpbmQSBbpIAggBIpYBCghPcGVyYXRvchIYChRPUEVSQVRPUl9VTlNQRUNJRklFRBAAEg8KC09QRVJBVE9SX0VREAESDwoLT1BFUkFUT1JfTkUQAhIPCgtPUEVSQVRPUl9JThADEhAKDE9QRVJBVE9SX05JThAEEhQKEE9QRVJBVE9SX0hBU19BTlkQBRIVChFPUEVSQVRPUl9OSEFTX0FOWRAGIqgBCgZBY3Rpb24SFgoSQUNUSU9OX1VOU1BFQ0lGSUVEEAASDgoKQUNUSU9OX0FMTBABEhEKDUFDVElPTl9DUkVBVEUQAhIPCgtBQ1RJT05fUkVBRBADEhEKDUFDVElPTl9VUERBVEUQBBIRCg1BQ1RJT05fREVMRVRFEAUSFAoQQUNUSU9OX0FHR1JFR0FURRAGEhYKEkFDVElPTl9CVUxLX1VQU0VSVBAHIkMKBlBlcm1pdBIWChJQRVJNSVRfVU5TUEVDSUZJRUQQABIQCgxQRVJNSVRfQUxMT1cQARIPCgtQRVJNSVRfREVOWRACYgZwcm90bzM", [
735
736
  file_buf_validate_validate,
736
737
  file_google_api_field_behavior,
737
738
  file_google_protobuf_struct,
@@ -890,19 +891,6 @@ const file_tailor_v1_service = /* @__PURE__ */ fileDesc("Chd0YWlsb3IvdjEvc2Vydml
890
891
  */
891
892
  const OperatorService = /* @__PURE__ */ serviceDesc(file_tailor_v1_service, 0);
892
893
 
893
- //#endregion
894
- //#region src/cli/utils/package-json.ts
895
- let packageJson = null;
896
- /**
897
- * Read and cache the package.json of the SDK package.
898
- * @returns Parsed package.json contents
899
- */
900
- async function readPackageJson() {
901
- if (packageJson) return packageJson;
902
- packageJson = await readPackageJSON(import.meta.url);
903
- return packageJson;
904
- }
905
-
906
894
  //#endregion
907
895
  //#region src/cli/client.ts
908
896
  const platformBaseUrl = process.env.PLATFORM_URL ?? "https://api.tailor.tech";
@@ -925,6 +913,7 @@ function initOAuth2Client() {
925
913
  * @returns Configured Operator client
926
914
  */
927
915
  async function initOperatorClient(accessToken) {
916
+ const { createTracingInterceptor } = await import("./interceptor-D8MeZOxX.mjs");
928
917
  return createClient(OperatorService, createConnectTransport({
929
918
  httpVersion: "2",
930
919
  baseUrl: platformBaseUrl,
@@ -932,7 +921,8 @@ async function initOperatorClient(accessToken) {
932
921
  await userAgentInterceptor(),
933
922
  await bearerTokenInterceptor(accessToken),
934
923
  retryInterceptor(),
935
- errorHandlingInterceptor()
924
+ errorHandlingInterceptor(),
925
+ createTracingInterceptor()
936
926
  ]
937
927
  }));
938
928
  }
@@ -87401,7 +87391,7 @@ var require_config_loader = /* @__PURE__ */ __commonJSMin(((exports, module) =>
87401
87391
  * @returns {Promise<{createJiti: Function|undefined, version: string;}>} A promise that fulfills with an object containing the jiti module's createJiti function and version.
87402
87392
  */
87403
87393
  static async loadJiti() {
87404
- const { createJiti } = await import("./jiti-DHlauMCo.mjs");
87394
+ const { createJiti } = await import("./jiti-DfS9jItj.mjs");
87405
87395
  return {
87406
87396
  createJiti,
87407
87397
  version: require_package$1().version
@@ -87743,7 +87733,7 @@ var require_eslint_helpers = /* @__PURE__ */ __commonJSMin(((exports, module) =>
87743
87733
  */
87744
87734
  async function globMatch({ basePath, pattern }) {
87745
87735
  let found = false;
87746
- const { hfs } = await import("./src-i4uqS1G4.mjs");
87736
+ const { hfs } = await import("./src-Bb1UVstT.mjs");
87747
87737
  const matcher = new Minimatch(normalizeToPosix(path$9.relative(basePath, pattern)), MINIMATCH_OPTIONS);
87748
87738
  const walkSettings = {
87749
87739
  directoryFilter(entry) {
@@ -87790,7 +87780,7 @@ var require_eslint_helpers = /* @__PURE__ */ __commonJSMin(((exports, module) =>
87790
87780
  return new Minimatch(patternToUse, MINIMATCH_OPTIONS);
87791
87781
  });
87792
87782
  const unmatchedPatterns = new Set([...relativeToPatterns.keys()]);
87793
- const { hfs } = await import("./src-i4uqS1G4.mjs");
87783
+ const { hfs } = await import("./src-Bb1UVstT.mjs");
87794
87784
  const walk = hfs.walk(basePath, {
87795
87785
  async directoryFilter(entry) {
87796
87786
  if (!matchers.some((matcher) => matcher.match(entry.path, true))) return false;
@@ -98726,6 +98716,7 @@ const TailorFieldTypeSchema$1 = z.enum([
98726
98716
  "boolean",
98727
98717
  "integer",
98728
98718
  "float",
98719
+ "decimal",
98729
98720
  "enum",
98730
98721
  "date",
98731
98722
  "datetime",
@@ -98757,7 +98748,8 @@ const DBFieldMetadataSchema = z.object({
98757
98748
  start: z.number(),
98758
98749
  maxValue: z.number().optional(),
98759
98750
  format: z.string().optional()
98760
- }).optional()
98751
+ }).optional(),
98752
+ scale: z.number().int().min(0).max(12).optional()
98761
98753
  });
98762
98754
  const RelationTypeSchema = z.enum(relationTypesKeys);
98763
98755
  const RawRelationConfigSchema = z.object({
@@ -98913,6 +98905,7 @@ function createTailorDBService(params) {
98913
98905
  let types$2 = {};
98914
98906
  const typeSourceInfo = {};
98915
98907
  const pluginAttachments = /* @__PURE__ */ new Map();
98908
+ let loadPromise;
98916
98909
  const doParseTypes = () => {
98917
98910
  const allTypes = {};
98918
98911
  for (const fileTypes of Object.values(rawTypes)) for (const [typeName, type] of Object.entries(fileTypes)) allTypes[typeName] = type;
@@ -99014,15 +99007,17 @@ function createTailorDBService(params) {
99014
99007
  return pluginAttachments;
99015
99008
  },
99016
99009
  loadTypes: async () => {
99017
- if (Object.keys(rawTypes).length > 0) return types$2;
99018
- if (!config.files || config.files.length === 0) return;
99019
- const typeFiles = loadFilesWithIgnores(config);
99020
- logger.newline();
99021
- logger.log(`Found ${styles.highlight(typeFiles.length.toString())} type files for TailorDB service ${styles.highlight(`"${namespace}"`)}`);
99022
- if (pluginManager) for (const typeFile of typeFiles) await loadTypeFile(typeFile);
99023
- else await Promise.all(typeFiles.map((typeFile) => loadTypeFile(typeFile)));
99024
- doParseTypes();
99025
- return types$2;
99010
+ if (!loadPromise) loadPromise = (async () => {
99011
+ if (!config.files || config.files.length === 0) return;
99012
+ const typeFiles = loadFilesWithIgnores(config);
99013
+ logger.newline();
99014
+ logger.log(`Found ${styles.highlight(typeFiles.length.toString())} type files for TailorDB service ${styles.highlight(`"${namespace}"`)}`);
99015
+ if (pluginManager) for (const typeFile of typeFiles) await loadTypeFile(typeFile);
99016
+ else await Promise.all(typeFiles.map((typeFile) => loadTypeFile(typeFile)));
99017
+ doParseTypes();
99018
+ return types$2;
99019
+ })();
99020
+ return loadPromise;
99026
99021
  },
99027
99022
  processNamespacePlugins: async () => {
99028
99023
  if (!pluginManager) return;
@@ -99065,6 +99060,7 @@ const TailorFieldTypeSchema = z.enum([
99065
99060
  "boolean",
99066
99061
  "integer",
99067
99062
  "float",
99063
+ "decimal",
99068
99064
  "enum",
99069
99065
  "date",
99070
99066
  "datetime",
@@ -99442,6 +99438,7 @@ function createExecutorService(params) {
99442
99438
  const { config } = params;
99443
99439
  const executors = {};
99444
99440
  const pluginExecutors = [];
99441
+ let loadPromise;
99445
99442
  const loadExecutorForFile = async (executorFile) => {
99446
99443
  try {
99447
99444
  const executorModule = await import(pathToFileURL(executorFile).href);
@@ -99469,13 +99466,15 @@ function createExecutorService(params) {
99469
99466
  return pluginExecutors;
99470
99467
  },
99471
99468
  loadExecutors: async () => {
99472
- if (Object.keys(executors).length > 0) return executors;
99473
- if (!config.files || config.files.length === 0) return;
99474
- const executorFiles = loadFilesWithIgnores(config);
99475
- logger.newline();
99476
- logger.log(`Found ${styles.highlight(executorFiles.length.toString())} executor files`);
99477
- await Promise.all(executorFiles.map((executorFile) => loadExecutorForFile(executorFile)));
99478
- return executors;
99469
+ if (!loadPromise) loadPromise = (async () => {
99470
+ if (!config.files || config.files.length === 0) return;
99471
+ const executorFiles = loadFilesWithIgnores(config);
99472
+ logger.newline();
99473
+ logger.log(`Found ${styles.highlight(executorFiles.length.toString())} executor files`);
99474
+ await Promise.all(executorFiles.map((executorFile) => loadExecutorForFile(executorFile)));
99475
+ return executors;
99476
+ })();
99477
+ return loadPromise;
99479
99478
  },
99480
99479
  loadPluginExecutorFiles: async (filePaths) => {
99481
99480
  if (filePaths.length === 0) return;
@@ -99683,10 +99682,6 @@ async function loadFileContent(filePath) {
99683
99682
  };
99684
99683
  }
99685
99684
 
99686
- //#endregion
99687
- //#region src/cli/bundler/inline-sourcemap.ts
99688
- const enableInlineSourcemap = process.env.TAILOR_ENABLE_INLINE_SOURCEMAP === "true";
99689
-
99690
99685
  //#endregion
99691
99686
  //#region src/cli/utils/dist-dir.ts
99692
99687
  let distPath = null;
@@ -100352,7 +100347,7 @@ async function loadExecutor(executorFilePath) {
100352
100347
  * @returns Promise that resolves when bundling completes
100353
100348
  */
100354
100349
  async function bundleExecutors(options) {
100355
- const { config, triggerContext, additionalFiles = [] } = options;
100350
+ const { config, triggerContext, additionalFiles = [], inlineSourcemap } = options;
100356
100351
  const files = [...loadFilesWithIgnores(config), ...additionalFiles];
100357
100352
  if (files.length === 0) {
100358
100353
  logger.warn(`No executor files found for patterns: ${config.files?.join(", ") ?? "(none)"}`);
@@ -100388,10 +100383,10 @@ async function bundleExecutors(options) {
100388
100383
  } catch {
100389
100384
  tsconfig = void 0;
100390
100385
  }
100391
- await Promise.all(executors.map((executor) => bundleSingleExecutor(executor, outputDir, tsconfig, triggerContext)));
100386
+ await Promise.all(executors.map((executor) => bundleSingleExecutor(executor, outputDir, tsconfig, triggerContext, inlineSourcemap)));
100392
100387
  logger.log(`${styles.success("Bundled")} ${styles.info("\"executor\"")}`);
100393
100388
  }
100394
- async function bundleSingleExecutor(executor, outputDir, tsconfig, triggerContext) {
100389
+ async function bundleSingleExecutor(executor, outputDir, tsconfig, triggerContext, inlineSourcemap) {
100395
100390
  const entryPath = path$20.join(outputDir, `${executor.name}.entry.js`);
100396
100391
  const entryContent = ml`
100397
100392
  import _internalExecutor from "${path$20.resolve(executor.sourceFile)}";
@@ -100409,8 +100404,8 @@ async function bundleSingleExecutor(executor, outputDir, tsconfig, triggerContex
100409
100404
  output: {
100410
100405
  file: outputPath,
100411
100406
  format: "esm",
100412
- sourcemap: enableInlineSourcemap ? "inline" : true,
100413
- minify: enableInlineSourcemap ? { mangle: { keepNames: true } } : true,
100407
+ sourcemap: inlineSourcemap ? "inline" : true,
100408
+ minify: inlineSourcemap ? { mangle: { keepNames: true } } : true,
100414
100409
  inlineDynamicImports: true
100415
100410
  },
100416
100411
  tsconfig,
@@ -100424,6 +100419,24 @@ async function bundleSingleExecutor(executor, outputDir, tsconfig, triggerContex
100424
100419
  }));
100425
100420
  }
100426
100421
 
100422
+ //#endregion
100423
+ //#region src/cli/bundler/inline-sourcemap.ts
100424
+ /**
100425
+ * Resolve whether inline sourcemaps should be enabled.
100426
+ *
100427
+ * Resolution order:
100428
+ * 1. Config value (`inlineSourcemap` in defineConfig) — if explicitly set
100429
+ * 2. Environment variable `TAILOR_ENABLE_INLINE_SOURCEMAP` — if explicitly set
100430
+ * 3. Default: `true`
100431
+ * @param configValue - The `inlineSourcemap` value from AppConfig
100432
+ * @returns Whether inline sourcemaps should be enabled
100433
+ */
100434
+ function resolveInlineSourcemap(configValue) {
100435
+ if (configValue !== void 0) return configValue;
100436
+ if (process.env.TAILOR_ENABLE_INLINE_SOURCEMAP !== void 0) return process.env.TAILOR_ENABLE_INLINE_SOURCEMAP === "true";
100437
+ return true;
100438
+ }
100439
+
100427
100440
  //#endregion
100428
100441
  //#region src/cli/bundler/resolver/loader.ts
100429
100442
  /**
@@ -100450,9 +100463,10 @@ async function loadResolver(resolverFilePath) {
100450
100463
  * @param namespace - Resolver namespace name
100451
100464
  * @param config - Resolver file loading configuration
100452
100465
  * @param triggerContext - Trigger context for workflow/job transformations
100466
+ * @param inlineSourcemap - Whether to enable inline sourcemaps
100453
100467
  * @returns Promise that resolves when bundling completes
100454
100468
  */
100455
- async function bundleResolvers(namespace, config, triggerContext) {
100469
+ async function bundleResolvers(namespace, config, triggerContext, inlineSourcemap) {
100456
100470
  const files = loadFilesWithIgnores(config);
100457
100471
  if (files.length === 0) {
100458
100472
  logger.warn(`No resolver files found for patterns: ${config.files?.join(", ") ?? "(none)"}`);
@@ -100480,10 +100494,10 @@ async function bundleResolvers(namespace, config, triggerContext) {
100480
100494
  } catch {
100481
100495
  tsconfig = void 0;
100482
100496
  }
100483
- await Promise.all(resolvers.map((resolver) => bundleSingleResolver(resolver, outputDir, tsconfig, triggerContext)));
100497
+ await Promise.all(resolvers.map((resolver) => bundleSingleResolver(resolver, outputDir, tsconfig, triggerContext, inlineSourcemap)));
100484
100498
  logger.log(`${styles.success("Bundled")} ${styles.info(`"${namespace}"`)}`);
100485
100499
  }
100486
- async function bundleSingleResolver(resolver, outputDir, tsconfig, triggerContext) {
100500
+ async function bundleSingleResolver(resolver, outputDir, tsconfig, triggerContext, inlineSourcemap) {
100487
100501
  const entryPath = path$20.join(outputDir, `${resolver.name}.entry.js`);
100488
100502
  const entryContent = ml`
100489
100503
  import _internalResolver from "${path$20.resolve(resolver.sourceFile)}";
@@ -100522,8 +100536,8 @@ async function bundleSingleResolver(resolver, outputDir, tsconfig, triggerContex
100522
100536
  output: {
100523
100537
  file: outputPath,
100524
100538
  format: "esm",
100525
- sourcemap: enableInlineSourcemap ? "inline" : true,
100526
- minify: enableInlineSourcemap ? { mangle: { keepNames: true } } : true,
100539
+ sourcemap: inlineSourcemap ? "inline" : true,
100540
+ minify: inlineSourcemap ? { mangle: { keepNames: true } } : true,
100527
100541
  inlineDynamicImports: true
100528
100542
  },
100529
100543
  tsconfig,
@@ -100772,9 +100786,10 @@ function transformWorkflowSource(source, targetJobName, targetJobExportName, oth
100772
100786
  * @param mainJobNames - Names of main jobs
100773
100787
  * @param env - Environment variables to inject
100774
100788
  * @param triggerContext - Trigger context for transformations
100789
+ * @param inlineSourcemap - Whether to enable inline sourcemaps
100775
100790
  * @returns Workflow job bundling result
100776
100791
  */
100777
- async function bundleWorkflowJobs(allJobs, mainJobNames, env = {}, triggerContext) {
100792
+ async function bundleWorkflowJobs(allJobs, mainJobNames, env = {}, triggerContext, inlineSourcemap) {
100778
100793
  if (allJobs.length === 0) {
100779
100794
  logger.warn("No workflow jobs to bundle");
100780
100795
  return { mainJobDeps: {} };
@@ -100791,7 +100806,7 @@ async function bundleWorkflowJobs(allJobs, mainJobNames, env = {}, triggerContex
100791
100806
  } catch {
100792
100807
  tsconfig = void 0;
100793
100808
  }
100794
- await Promise.all(usedJobs.map((job) => bundleSingleJob(job, usedJobs, outputDir, tsconfig, env, triggerContext)));
100809
+ await Promise.all(usedJobs.map((job) => bundleSingleJob(job, usedJobs, outputDir, tsconfig, env, triggerContext, inlineSourcemap)));
100795
100810
  logger.log(`${styles.success("Bundled")} ${styles.info("\"workflow-job\"")}`);
100796
100811
  return { mainJobDeps };
100797
100812
  }
@@ -100867,7 +100882,7 @@ async function filterUsedJobs(allJobs, mainJobNames) {
100867
100882
  mainJobDeps
100868
100883
  };
100869
100884
  }
100870
- async function bundleSingleJob(job, allJobs, outputDir, tsconfig, env, triggerContext) {
100885
+ async function bundleSingleJob(job, allJobs, outputDir, tsconfig, env, triggerContext, inlineSourcemap) {
100871
100886
  const entryPath = path$20.join(outputDir, `${job.name}.entry.js`);
100872
100887
  const absoluteSourcePath = path$20.resolve(job.sourceFile);
100873
100888
  const entryContent = ml`
@@ -100889,8 +100904,8 @@ async function bundleSingleJob(job, allJobs, outputDir, tsconfig, env, triggerCo
100889
100904
  output: {
100890
100905
  file: outputPath,
100891
100906
  format: "esm",
100892
- sourcemap: enableInlineSourcemap ? "inline" : true,
100893
- minify: enableInlineSourcemap ? { mangle: { keepNames: true } } : true,
100907
+ sourcemap: inlineSourcemap ? "inline" : true,
100908
+ minify: inlineSourcemap ? { mangle: { keepNames: true } } : true,
100894
100909
  inlineDynamicImports: true
100895
100910
  },
100896
100911
  tsconfig,
@@ -101856,16 +101871,18 @@ async function loadApplication(params) {
101856
101871
  const workflowService = defineWorkflow(config.workflow);
101857
101872
  if (workflowService) await workflowService.loadWorkflows();
101858
101873
  const triggerContext = await buildTriggerContext(config.workflow);
101859
- for (const pipeline of resolverResult.resolverServices) await bundleResolvers(pipeline.namespace, pipeline.config, triggerContext);
101874
+ const inlineSourcemap = resolveInlineSourcemap(config.inlineSourcemap);
101875
+ for (const pipeline of resolverResult.resolverServices) await bundleResolvers(pipeline.namespace, pipeline.config, triggerContext, inlineSourcemap);
101860
101876
  if (executorService) await bundleExecutors({
101861
101877
  config: executorService.config,
101862
101878
  triggerContext,
101863
- additionalFiles: [...pluginExecutorFiles]
101879
+ additionalFiles: [...pluginExecutorFiles],
101880
+ inlineSourcemap
101864
101881
  });
101865
101882
  let workflowBuildResult;
101866
101883
  if (workflowService && workflowService.jobs.length > 0) {
101867
101884
  const mainJobNames = workflowService.workflowSources.map((ws) => ws.workflow.mainJob.name);
101868
- workflowBuildResult = await bundleWorkflowJobs(workflowService.jobs, mainJobNames, config.env ?? {}, triggerContext);
101885
+ workflowBuildResult = await bundleWorkflowJobs(workflowService.jobs, mainJobNames, config.env ?? {}, triggerContext, inlineSourcemap);
101869
101886
  }
101870
101887
  for (const pipeline of resolverResult.resolverServices) await pipeline.loadResolvers();
101871
101888
  if (executorService) {
@@ -101891,5 +101908,5 @@ async function loadApplication(params) {
101891
101908
  }
101892
101909
 
101893
101910
  //#endregion
101894
- export { UserProfileProviderConfig_UserProfileProviderType as $, TailorDBGQLPermission_Action as A, ExecutorJobStatus as B, platformBaseUrl as C, WorkspacePlatformUserRole as D, readPackageJson as E, TailorDBType_PermitAction as F, AuthOAuth2Client_ClientType as G, ExecutorTriggerType as H, PipelineResolver_OperationType as I, AuthSCIMAttribute_Type as J, AuthOAuth2Client_GrantType as K, IdPLang as L, TailorDBGQLPermission_Permit as M, TailorDBType_Permission_Operator as N, WorkflowExecution_Status as O, TailorDBType_Permission_Permit as P, TenantProviderConfig_TenantProviderType as Q, FunctionExecution_Status as R, initOperatorClient as S, userAgent as T, AuthIDPConfig_AuthType as U, ExecutorTargetType as V, AuthInvokerSchema$1 as W, AuthSCIMConfig_AuthorizationType as X, AuthSCIMAttribute_Uniqueness as Y, PATScope as Z, writePlatformConfig as _, buildExecutorArgsExpr as a, ApplicationSchemaUpdateAttemptStatus as at, fetchUserInfo as b, createExecutorService as c, styles as ct, fetchLatestToken as d, GetApplicationSchemaHealthResponse_ApplicationSchemaHealthStatus as et, loadAccessToken as f, readPlatformConfig as g, loadWorkspaceId as h, loadConfig as i, PageDirection as it, TailorDBGQLPermission_Operator as j, WorkflowJobExecution_Status as k, OAuth2ClientSchema as l, symbols as lt, loadOrganizationId as m, generatePluginFilesIfNeeded as n, Condition_Operator as nt, buildResolverOperationHookExpr as o, Subgraph_ServiceType as ot, loadFolderId as p, AuthSCIMAttribute_Mutability as q, loadApplication as r, FilterSchema as rt, getDistDir as s, logger as st, defineApplication as t, ConditionSchema as tt, stringifyFunction as u, fetchAll as v, resolveStaticWebsiteUrls as w, initOAuth2Client as x, fetchMachineUserToken as y, FunctionExecution_Type as z };
101895
- //# sourceMappingURL=application-gWUyKuzv.mjs.map
101911
+ export { GetApplicationSchemaHealthResponse_ApplicationSchemaHealthStatus as $, TailorDBGQLPermission_Operator as A, ExecutorTargetType as B, platformBaseUrl as C, WorkflowExecution_Status as D, WorkspacePlatformUserRole as E, PipelineResolver_OperationType as F, AuthOAuth2Client_GrantType as G, AuthIDPConfig_AuthType as H, IdPLang as I, AuthSCIMAttribute_Uniqueness as J, AuthSCIMAttribute_Mutability as K, FunctionExecution_Status as L, TailorDBType_Permission_Operator as M, TailorDBType_Permission_Permit as N, WorkflowJobExecution_Status as O, TailorDBType_PermitAction as P, UserProfileProviderConfig_UserProfileProviderType as Q, FunctionExecution_Type as R, initOperatorClient as S, userAgent as T, AuthInvokerSchema$1 as U, ExecutorTriggerType as V, AuthOAuth2Client_ClientType as W, PATScope as X, AuthSCIMConfig_AuthorizationType as Y, TenantProviderConfig_TenantProviderType as Z, writePlatformConfig as _, buildExecutorArgsExpr as a, Subgraph_ServiceType as at, fetchUserInfo as b, createExecutorService as c, symbols as ct, fetchLatestToken as d, ConditionSchema as et, loadAccessToken as f, readPlatformConfig as g, loadWorkspaceId as h, loadConfig as i, ApplicationSchemaUpdateAttemptStatus as it, TailorDBGQLPermission_Permit as j, TailorDBGQLPermission_Action as k, OAuth2ClientSchema as l, loadOrganizationId as m, generatePluginFilesIfNeeded as n, FilterSchema as nt, buildResolverOperationHookExpr as o, logger as ot, loadFolderId as p, AuthSCIMAttribute_Type as q, loadApplication as r, PageDirection as rt, getDistDir as s, styles as st, defineApplication as t, Condition_Operator as tt, stringifyFunction as u, fetchAll as v, resolveStaticWebsiteUrls as w, initOAuth2Client as x, fetchMachineUserToken as y, ExecutorJobStatus as z };
101912
+ //# sourceMappingURL=application-A6PZjujv.mjs.map