@tailor-platform/sdk 2.3.0 → 2.5.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 (257) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/README.md +1 -1
  3. package/dist/aigateway-DsWDjzk4.mjs +2 -0
  4. package/dist/{aigateway-DR4Kwuik.mjs.map → aigateway-DsWDjzk4.mjs.map} +1 -1
  5. package/dist/application-DFOUovmN.mjs +1 -0
  6. package/dist/application-D_4vg1KR.mjs +192 -0
  7. package/dist/application-D_4vg1KR.mjs.map +1 -0
  8. package/dist/assert-WeXvmG4j.mjs +2 -0
  9. package/dist/{assert-DBxo8jPo.mjs.map → assert-WeXvmG4j.mjs.map} +1 -1
  10. package/dist/authconnection-CynFBIv8.mjs +2 -0
  11. package/dist/{authconnection-CZvi9ANm.mjs.map → authconnection-CynFBIv8.mjs.map} +1 -1
  12. package/dist/brand-C8nMKhJC.mjs +2 -0
  13. package/dist/{brand-Eo4pLXPJ.mjs.map → brand-C8nMKhJC.mjs.map} +1 -1
  14. package/dist/cli/commands/deploy/deploy.d.mts +2 -2
  15. package/dist/cli/commands/deploy/deployment-target.d.mts +2 -0
  16. package/dist/cli/commands/deploy/event-subscriptions.d.mts +3 -0
  17. package/dist/cli/commands/deploy/tailordb/apply.d.mts +3 -0
  18. package/dist/cli/commands/deploy/tailordb/index.d.mts +3 -10
  19. package/dist/cli/commands/deploy/tailordb/migration-validation.d.mts +5 -0
  20. package/dist/cli/commands/deploy/tailordb/plan.d.mts +8 -0
  21. package/dist/cli/commands/executor/jobs.d.mts +1 -1
  22. package/dist/cli/commands/generate/seed/bundler.d.mts +2 -2
  23. package/dist/cli/commands/show.d.mts +1 -1
  24. package/dist/cli/commands/tailordb/migrate/diff-calculator.d.mts +15 -15
  25. package/dist/cli/commands/tailordb/migrate/generate.d.mts +7 -3
  26. package/dist/cli/commands/tailordb/migrate/rename-detection.d.mts +1 -1
  27. package/dist/cli/commands/tailordb/migrate/snapshot-comparison.d.mts +43 -0
  28. package/dist/cli/commands/tailordb/migrate/snapshot-files.d.mts +62 -0
  29. package/dist/cli/commands/tailordb/migrate/snapshot-local.d.mts +12 -0
  30. package/dist/cli/commands/tailordb/migrate/snapshot-migrations.d.mts +12 -0
  31. package/dist/cli/commands/tailordb/migrate/snapshot-remote.d.mts +1 -0
  32. package/dist/cli/commands/tailordb/migrate/snapshot-types.d.mts +3 -1
  33. package/dist/cli/commands/tailordb/migrate/snapshot.d.mts +5 -117
  34. package/dist/cli/commands/tailordb/truncate.d.mts +2 -2
  35. package/dist/cli/lib.d.mts +8 -4
  36. package/dist/cli/lib.mjs +1 -9
  37. package/dist/cli/lib.mjs.map +1 -1
  38. package/dist/cli/main.mjs +1170 -7686
  39. package/dist/cli/main.mjs.map +1 -1
  40. package/dist/cli/shared/seed-chunker.d.mts +5 -5
  41. package/dist/cli/ts-hook.mjs +3 -1
  42. package/dist/completion/zsh-worker.zsh +99 -18
  43. package/dist/configure/config/index.d.mts +2 -2
  44. package/dist/configure/config/types.d.mts +2 -2
  45. package/dist/configure/index.d.mts +49 -12
  46. package/dist/configure/index.mjs +1 -1267
  47. package/dist/configure/index.mjs.map +1 -1
  48. package/dist/configure/services/aigateway/index.d.mts +5 -4
  49. package/dist/configure/services/aigateway/types.d.mts +6 -1
  50. package/dist/configure/services/auth/types.d.mts +3 -3
  51. package/dist/configure/services/idp/types.d.mts +1 -1
  52. package/dist/configure/services/tailordb/permission.d.mts +1 -1
  53. package/dist/configure/services/tailordb/schema.d.mts +5 -9
  54. package/dist/configure/services/tailordb/types.d.mts +8 -5
  55. package/dist/configure/services/workflow/execution-policy.d.mts +3 -3
  56. package/dist/configure/services/workflow/job.d.mts +12 -2
  57. package/dist/configure/types/auth-namespace-name.d.mts +18 -0
  58. package/dist/configure/types/field.types.d.mts +1 -1
  59. package/dist/configure/types/permission-operand.types.d.mts +1 -1
  60. package/dist/context-D0QjfxzD.mjs +2 -0
  61. package/dist/{context-DYQVYWqZ.mjs.map → context-D0QjfxzD.mjs.map} +1 -1
  62. package/dist/crashreport-B-_HTKLr.mjs +42 -0
  63. package/dist/{crashreport-CIIfLnoO.mjs.map → crashreport-B-_HTKLr.mjs.map} +1 -1
  64. package/dist/crashreport-BmsRIdpy.mjs +1 -0
  65. package/dist/errors-DSEXKRVD.mjs +2 -0
  66. package/dist/errors-DSEXKRVD.mjs.map +1 -0
  67. package/dist/file-COPYfju_.mjs +2 -0
  68. package/dist/file-COPYfju_.mjs.map +1 -0
  69. package/dist/globals-CMHSnj4w.mjs +2 -0
  70. package/dist/{globals-B2nlxBrz.mjs.map → globals-CMHSnj4w.mjs.map} +1 -1
  71. package/dist/iconv-DlFMt2gW.mjs +2 -0
  72. package/dist/{iconv-QWaZh0TT.mjs.map → iconv-DlFMt2gW.mjs.map} +1 -1
  73. package/dist/idp-G_ojPBB5.mjs +2 -0
  74. package/dist/{idp-RA_swu-h.mjs.map → idp-G_ojPBB5.mjs.map} +1 -1
  75. package/dist/interceptor-DQg3cR_9.mjs +2 -0
  76. package/dist/{interceptor-e33JtsC-.mjs.map → interceptor-DQg3cR_9.mjs.map} +1 -1
  77. package/dist/kysely/index.mjs +1 -31
  78. package/dist/kysely/index.mjs.map +1 -1
  79. package/dist/kysely-type-BTi3BMtL.mjs +43 -0
  80. package/dist/kysely-type-BTi3BMtL.mjs.map +1 -0
  81. package/dist/logger-BcGy-u7G.mjs +9 -0
  82. package/dist/{logger-DSdExfor.mjs.map → logger-BcGy-u7G.mjs.map} +1 -1
  83. package/dist/logger-DP2BjQ93.mjs +2 -0
  84. package/dist/{logger-BtX0suGY.mjs.map → logger-DP2BjQ93.mjs.map} +1 -1
  85. package/dist/multiline-EyzjEwn9.mjs +3 -0
  86. package/dist/{multiline-sfHpTZZK.mjs.map → multiline-EyzjEwn9.mjs.map} +1 -1
  87. package/dist/node-builtins-oBl7EbyV.mjs +2 -0
  88. package/dist/{node-builtins-CmaL2Cbq.mjs.map → node-builtins-oBl7EbyV.mjs.map} +1 -1
  89. package/dist/package-json-C690ceex.mjs +2 -0
  90. package/dist/{package-json-8b0O9TlX.mjs.map → package-json-C690ceex.mjs.map} +1 -1
  91. package/dist/package-json-CmqhDJ__.mjs +1 -0
  92. package/dist/parser/service/tailordb/type-source.d.mts +5 -5
  93. package/dist/parser/service/tailordb/types.d.mts +4 -4
  94. package/dist/platform-serialize-DkiTdHOt.mjs +2 -0
  95. package/dist/{platform-serialize-RoRtBS0v.mjs.map → platform-serialize-DkiTdHOt.mjs.map} +1 -1
  96. package/dist/plugin/builtin/enum-constants/index.d.mts +1 -1
  97. package/dist/plugin/builtin/enum-constants/index.mjs +5 -114
  98. package/dist/plugin/builtin/enum-constants/index.mjs.map +1 -1
  99. package/dist/plugin/builtin/file-utils/index.d.mts +1 -1
  100. package/dist/plugin/builtin/file-utils/index.mjs +22 -101
  101. package/dist/plugin/builtin/file-utils/index.mjs.map +1 -1
  102. package/dist/plugin/builtin/kysely-type/index.d.mts +9 -2
  103. package/dist/plugin/builtin/kysely-type/index.mjs +1 -275
  104. package/dist/plugin/builtin/seed/index.d.mts +5 -0
  105. package/dist/plugin/builtin/seed/index.mjs +1 -3
  106. package/dist/plugin/builtin/seed/seed-type-processor.d.mts +4 -6
  107. package/dist/plugin/get-generated-table.d.mts +16 -0
  108. package/dist/plugin/index.d.mts +3 -2
  109. package/dist/plugin/index.mjs +1 -251
  110. package/dist/plugin/index.mjs.map +1 -1
  111. package/dist/plugin/types.d.mts +32 -25
  112. package/dist/plugin/with-context.d.mts +4 -4
  113. package/dist/register-ts-hook-Drnaproy.mjs +640 -0
  114. package/dist/register-ts-hook-Drnaproy.mjs.map +1 -0
  115. package/dist/registry-HlEaGvl5.mjs +2 -0
  116. package/dist/{registry-BIGVUrMB.mjs.map → registry-HlEaGvl5.mjs.map} +1 -1
  117. package/dist/repl-editor-BG1aDOfH.mjs +2 -0
  118. package/dist/{repl-editor-BCozyiNq.mjs.map → repl-editor-BG1aDOfH.mjs.map} +1 -1
  119. package/dist/runtime/aigateway.mjs +1 -3
  120. package/dist/runtime/authconnection.mjs +1 -3
  121. package/dist/runtime/context.mjs +1 -3
  122. package/dist/runtime/file.d.mts +28 -28
  123. package/dist/runtime/file.mjs +1 -3
  124. package/dist/runtime/globals.mjs +1 -1
  125. package/dist/runtime/iconv.mjs +1 -3
  126. package/dist/runtime/idp.mjs +1 -3
  127. package/dist/runtime/index.mjs +1 -11
  128. package/dist/runtime/logger.mjs +1 -3
  129. package/dist/runtime/secretmanager.mjs +1 -3
  130. package/dist/runtime/types.d.mts +1 -1
  131. package/dist/runtime/workflow.mjs +1 -3
  132. package/dist/schema-Ze_dI5VX.mjs +2 -0
  133. package/dist/schema-Ze_dI5VX.mjs.map +1 -0
  134. package/dist/secret-file-C9wp_FCX.mjs +2 -0
  135. package/dist/{secret-file-C3J4Gy8r.mjs.map → secret-file-C9wp_FCX.mjs.map} +1 -1
  136. package/dist/secretmanager-5olfnI1b.mjs +2 -0
  137. package/dist/{secretmanager-IY4UvinW.mjs.map → secretmanager-5olfnI1b.mjs.map} +1 -1
  138. package/dist/secretmanager-vHQoXdQz.mjs +2 -0
  139. package/dist/{secretmanager-CYlpffsz.mjs.map → secretmanager-vHQoXdQz.mjs.map} +1 -1
  140. package/dist/seed/index.d.mts +4 -4
  141. package/dist/seed/index.mjs +8 -244
  142. package/dist/seed/index.mjs.map +1 -1
  143. package/dist/seed-DwqRFdqP.mjs +207 -0
  144. package/dist/seed-DwqRFdqP.mjs.map +1 -0
  145. package/dist/service-BVe9u2Rt.mjs +7 -0
  146. package/dist/service-BVe9u2Rt.mjs.map +1 -0
  147. package/dist/service-CpZELSBa.mjs +1 -0
  148. package/dist/service-DlgaUO4V.mjs +2 -0
  149. package/dist/{service-hZskxZmg.mjs.map → service-DlgaUO4V.mjs.map} +1 -1
  150. package/dist/service_pb-DGKCLuAs.mjs +2 -0
  151. package/dist/{service_pb-BEWj1pOV.mjs.map → service_pb-DGKCLuAs.mjs.map} +1 -1
  152. package/dist/service_pb-_aeFE-Nv.mjs +1 -0
  153. package/dist/telemetry-Bklv9kQY.mjs +2 -0
  154. package/dist/{telemetry-BRVdwh14.mjs.map → telemetry-Bklv9kQY.mjs.map} +1 -1
  155. package/dist/telemetry-DXHP3VVi.mjs +1 -0
  156. package/dist/type-source--ZNcV8RJ.mjs +2 -0
  157. package/dist/type-source--ZNcV8RJ.mjs.map +1 -0
  158. package/dist/types/aigateway.generated.d.mts +2 -2
  159. package/dist/types/auth.generated.d.mts +3 -3
  160. package/dist/types/executor.generated.d.mts +2 -2
  161. package/dist/types/tailordb.generated.d.mts +12 -12
  162. package/dist/user-agent-vdHYF3QL.mjs +2 -0
  163. package/dist/{user-agent-Bgsszb5I.mjs.map → user-agent-vdHYF3QL.mjs.map} +1 -1
  164. package/dist/utils/test/index.d.mts +4 -4
  165. package/dist/utils/test/index.mjs +1 -109
  166. package/dist/utils/test/index.mjs.map +1 -1
  167. package/dist/vitest/environment.mjs +1 -41
  168. package/dist/vitest/environment.mjs.map +1 -1
  169. package/dist/vitest/index.mjs +1 -1980
  170. package/dist/vitest/index.mjs.map +1 -1
  171. package/dist/vitest/mocks/file.d.mts +8 -8
  172. package/dist/vitest/setup.mjs +1 -140
  173. package/dist/vitest/setup.mjs.map +1 -1
  174. package/dist/wait-point-invoker-eiP-IIux.mjs +2 -0
  175. package/dist/wait-point-invoker-eiP-IIux.mjs.map +1 -0
  176. package/dist/wait-point-registry-BrkwfyjS.mjs +2 -0
  177. package/dist/{wait-point-registry-TL99zotw.mjs.map → wait-point-registry-BrkwfyjS.mjs.map} +1 -1
  178. package/dist/workflow-Cs9ISw6j.mjs +2 -0
  179. package/dist/{workflow-Bamae_Yc.mjs.map → workflow-Cs9ISw6j.mjs.map} +1 -1
  180. package/dist/workspace_resource_pb--GeYQPXu.mjs +2 -0
  181. package/dist/{workspace_resource_pb-HNIL_Vfj.mjs.map → workspace_resource_pb--GeYQPXu.mjs.map} +1 -1
  182. package/docs/cli/application.md +3 -1
  183. package/docs/cli/function.md +77 -13
  184. package/docs/cli/setup.md +24 -14
  185. package/docs/cli/tailordb.md +32 -30
  186. package/docs/cli/workspace.md +2 -2
  187. package/docs/cli-reference.md +23 -22
  188. package/docs/configuration.md +2 -2
  189. package/docs/github-actions.md +10 -9
  190. package/docs/migration/v2.md +16 -4
  191. package/docs/migration/v3.md +123 -0
  192. package/docs/plugin/custom.md +130 -85
  193. package/docs/plugin/index.md +3 -3
  194. package/docs/quickstart.md +1 -1
  195. package/docs/services/aigateway.md +33 -9
  196. package/docs/services/executor.md +5 -1
  197. package/docs/services/tailordb-migration.md +68 -54
  198. package/docs/services/tailordb.md +7 -7
  199. package/docs/services/workflow.md +10 -9
  200. package/docs/testing.md +1 -1
  201. package/package.json +16 -16
  202. package/postinstall.mjs +1 -1
  203. package/dist/aigateway-DR4Kwuik.mjs +0 -9
  204. package/dist/application-BZfk4HKm.mjs +0 -3
  205. package/dist/application-F-nl107y.mjs +0 -6019
  206. package/dist/application-F-nl107y.mjs.map +0 -1
  207. package/dist/assert-DBxo8jPo.mjs +0 -9
  208. package/dist/authconnection-CZvi9ANm.mjs +0 -9
  209. package/dist/brand-Eo4pLXPJ.mjs +0 -36
  210. package/dist/context-DYQVYWqZ.mjs +0 -23
  211. package/dist/crashreport-CIIfLnoO.mjs +0 -423
  212. package/dist/crashreport-CINZ5dVN.mjs +0 -3
  213. package/dist/errors-BVb6vYGy.mjs +0 -89
  214. package/dist/errors-BVb6vYGy.mjs.map +0 -1
  215. package/dist/file-BUcmVIH2.mjs +0 -58
  216. package/dist/file-BUcmVIH2.mjs.map +0 -1
  217. package/dist/globals-B2nlxBrz.mjs +0 -126
  218. package/dist/iconv-QWaZh0TT.mjs +0 -38
  219. package/dist/idp-RA_swu-h.mjs +0 -82
  220. package/dist/interceptor-e33JtsC-.mjs +0 -33
  221. package/dist/logger-BtX0suGY.mjs +0 -48
  222. package/dist/logger-DSdExfor.mjs +0 -358
  223. package/dist/multiline-sfHpTZZK.mjs +0 -38
  224. package/dist/node-builtins-CmaL2Cbq.mjs +0 -36
  225. package/dist/package-json-8b0O9TlX.mjs +0 -17
  226. package/dist/package-json-Cv2Z-TqQ.mjs +0 -3
  227. package/dist/platform-serialize-RoRtBS0v.mjs +0 -46
  228. package/dist/plugin/builtin/kysely-type/index.mjs.map +0 -1
  229. package/dist/plugin/builtin/seed/types.d.mts +0 -2
  230. package/dist/plugin/get-generated-type.d.mts +0 -16
  231. package/dist/register-ts-hook-ClI226n2.mjs +0 -25543
  232. package/dist/register-ts-hook-ClI226n2.mjs.map +0 -1
  233. package/dist/registry-BIGVUrMB.mjs +0 -54
  234. package/dist/repl-editor-BCozyiNq.mjs +0 -251
  235. package/dist/schema--xYWRGfe.mjs +0 -639
  236. package/dist/schema--xYWRGfe.mjs.map +0 -1
  237. package/dist/secret-file-C3J4Gy8r.mjs +0 -64
  238. package/dist/secretmanager-CYlpffsz.mjs +0 -13
  239. package/dist/secretmanager-IY4UvinW.mjs +0 -131
  240. package/dist/seed-xqM9WIHP.mjs +0 -483
  241. package/dist/seed-xqM9WIHP.mjs.map +0 -1
  242. package/dist/service-C_WpbKHu.mjs +0 -898
  243. package/dist/service-C_WpbKHu.mjs.map +0 -1
  244. package/dist/service-D1RCdzIL.mjs +0 -3
  245. package/dist/service-hZskxZmg.mjs +0 -131
  246. package/dist/service_pb-BEWj1pOV.mjs +0 -167
  247. package/dist/service_pb-BjlhvK9E.mjs +0 -3
  248. package/dist/telemetry-BRVdwh14.mjs +0 -84
  249. package/dist/telemetry-CkbkeJxl.mjs +0 -3
  250. package/dist/type-source-DH_LH20p.mjs +0 -13
  251. package/dist/type-source-DH_LH20p.mjs.map +0 -1
  252. package/dist/user-agent-Bgsszb5I.mjs +0 -28
  253. package/dist/wait-point-invoker-__oE88_P.mjs +0 -148
  254. package/dist/wait-point-invoker-__oE88_P.mjs.map +0 -1
  255. package/dist/wait-point-registry-TL99zotw.mjs +0 -47
  256. package/dist/workflow-Bamae_Yc.mjs +0 -34
  257. package/dist/workspace_resource_pb-HNIL_Vfj.mjs +0 -860
package/CHANGELOG.md CHANGED
@@ -1,5 +1,176 @@
1
1
  # @tailor-platform/sdk
2
2
 
3
+ ## 2.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#2076](https://github.com/tailor-platform/sdk/pull/2076) [`d4a23f0`](https://github.com/tailor-platform/sdk/commit/d4a23f05dfe7044db69fd3f58f7653619ef4607e) Thanks [@dqn](https://github.com/dqn)! - Add `tailor function script`, which scaffolds a one-off script executed by `tailor function run` without deploying. By default, the skeleton imports the project's generated `getDB()` when `kyselyTypePlugin` is configured; without the plugin, the command generates a script-scoped `db.ts` and `db.snapshot.json` from local table definitions. Pass `--remote` to generate those script-scoped files from a deployed or external namespace instead. `function run` refuses to execute the script when that snapshot no longer matches the deployed or locally defined table and field structure (override with `--allow-schema-drift`).
8
+
9
+ - [#2103](https://github.com/tailor-platform/sdk/pull/2103) [`0578df4`](https://github.com/tailor-platform/sdk/commit/0578df4bed1b82a6ee1fa775ec3cdecac0d81d48) Thanks [@toiroakr](https://github.com/toiroakr)! - Add `PluginConfigRegistry` to `@tailor-platform/sdk/plugin`, an interface builtin plugins extend via declaration merging to register their config type under their own id. `kyselyTypePlugin` and `seedPlugin` now register through it.
10
+
11
+ - [#2088](https://github.com/tailor-platform/sdk/pull/2088) [`c9f91d9`](https://github.com/tailor-platform/sdk/commit/c9f91d944e4b041250979ec4438c36cabf818e14) Thanks [@dqn](https://github.com/dqn)! - The `--branch` option of `tailor setup branch` is renamed to `--target`, so it no longer collides with the subcommand name. The old spelling keeps working as a deprecated alias until v3 and prints a deprecation warning when used; `tailor upgrade` offers the `v3/setup-branch-flag-rename` codemod to rewrite `setup branch --branch` invocations across package.json scripts, shell and Windows scripts, YAML, Markdown, and JavaScript/TypeScript sources. The `--branch` option of `setup tag`, `setup preview`, and `setup coordinate` is unchanged.
12
+
13
+ - [#2110](https://github.com/tailor-platform/sdk/pull/2110) [`fca0ff0`](https://github.com/tailor-platform/sdk/commit/fca0ff0a951a683cf5760b9cc693c19987ca8b36) Thanks [@dqn](https://github.com/dqn)! - **Breaking change (beta)**: Rename `tailor setup renovate` to `tailor setup deps`, which selects the dependency update provider with `--provider` (currently `renovate`, the default).
14
+
15
+ - [#2124](https://github.com/tailor-platform/sdk/pull/2124) [`e8e8097`](https://github.com/tailor-platform/sdk/commit/e8e8097eb9cd08523f545df114379f7848293168) Thanks [@dqn](https://github.com/dqn)! - **Breaking change (beta)**: Rename the remaining TailorDB identifiers that named a `db.table()` definition a type:
16
+
17
+ - record trigger config `typeName` → `tableName`
18
+ - `PluginRecordTriggerConfig.typeName` → `tableName`
19
+ - generator auth input `userProfile.typeName` → `tableName`
20
+ - `mockFile().calls[]` entries expose `tableName`
21
+ - `tailordb.file` runtime parameters and their JSDoc
22
+
23
+ Update custom plugins that build a record trigger config, and test assertions that read `mockFile().calls[].typeName`. Executor runtime args keep `typeName`, since that is the key the platform sends into a deployed executor; the proto `type_name` wire field, TRN `type` segments, and the `.typeName()` field builder are unchanged.
24
+
25
+ - [#2067](https://github.com/tailor-platform/sdk/pull/2067) [`a2e431f`](https://github.com/tailor-platform/sdk/commit/a2e431fe068a956123c00b100467c7083f9f2e08) Thanks [@dqn](https://github.com/dqn)! - Add `tailor tailordb migration generate --data-only` to create a migration with no schema changes that exists to run a data transformation script. Pass `--namespace` to pick the target when more than one namespace configures migrations.
26
+
27
+ ### Patch Changes
28
+
29
+ - [#2128](https://github.com/tailor-platform/sdk/pull/2128) [`2a97723`](https://github.com/tailor-platform/sdk/commit/2a977238325a20f5b2c7d525ed4fec535108c175) Thanks [@dqn](https://github.com/dqn)! - Simplify how build-only resolver bundles are merged across config files. No observable behavior change.
30
+
31
+ - [#2087](https://github.com/tailor-platform/sdk/pull/2087) [`e98a03d`](https://github.com/tailor-platform/sdk/commit/e98a03dc3f2638f439c766afe76342111ecde452) Thanks [@toiroakr](https://github.com/toiroakr)! - Deprecate `execJobFunction` on the `workflow` value imported from `@tailor-platform/sdk/runtime`(`/workflow`); it is removed in v3. Calling a workflow job by name through it has no working use — the build already rejects a direct call to it from inside a job body — so call the target job's own `.start()` method instead. The ambient `tailor.workflow.execJobFunction` global (what `.start()` itself compiles down to) is unaffected.
32
+
33
+ - [#2134](https://github.com/tailor-platform/sdk/pull/2134) [`46e2b6e`](https://github.com/tailor-platform/sdk/commit/46e2b6e386daba1c3a9b72395ebd6e7c7c5095ce) Thanks [@dqn](https://github.com/dqn)! - Prevent unchanged Executor, pipeline resolver, Auth IdP, user-profile, and tenant-provider resources from appearing as updates when the platform returns omitted fields with their default values.
34
+
35
+ - [#2110](https://github.com/tailor-platform/sdk/pull/2110) [`a588f78`](https://github.com/tailor-platform/sdk/commit/a588f7823a46581d649776f866962f2689417bb6) Thanks [@dqn](https://github.com/dqn)! - Fix the missing deprecation warning for `tailor function test-run` when a global option precedes the subcommand, such as `tailor function --json test-run`.
36
+
37
+ - [#2138](https://github.com/tailor-platform/sdk/pull/2138) [`870c8cd`](https://github.com/tailor-platform/sdk/commit/870c8cdaa007adcbb8f565fe9b4d238d98c00e6d) Thanks [@dqn](https://github.com/dqn)! - Stop exporting internal declarations that were only used within their own module.
38
+
39
+ - [#2102](https://github.com/tailor-platform/sdk/pull/2102) [`4f017f2`](https://github.com/tailor-platform/sdk/commit/4f017f20f6682820855bd9ab49193effd5722b32) Thanks [@dqn](https://github.com/dqn)! - Report a connection failure while preparing the login or auth-connection authorization URL as a normal command error, instead of treating it as an SDK crash.
40
+
41
+ - [#2122](https://github.com/tailor-platform/sdk/pull/2122) [`f5b5b24`](https://github.com/tailor-platform/sdk/commit/f5b5b2409a2e797c667602672d3fab6034145ab9) Thanks [@toiroakr](https://github.com/toiroakr)! - Minify the SDK's build output (function names are preserved for readable stack traces), shrinking the CLI bundle by roughly 40%. Pin the script expression generated for `db.fields.timestamps()`'s built-in `updatedAt` hook so it no longer changes across SDK builds, which previously could surface as a spurious "hooks modified" migration diff for every table using it.
42
+
43
+ - [#2120](https://github.com/tailor-platform/sdk/pull/2120) [`e4966ec`](https://github.com/tailor-platform/sdk/commit/e4966ec9f7dba0604d3f0b6e7b0cd89a4bbe35ef) Thanks [@toiroakr](https://github.com/toiroakr)! - Fix `tailor deploy` warning `Could not validate OAuth2 client "<name>": unresolved attribute`. The pre-flight check could not evaluate the rule that rejects `requireDpop: true` on a browser client, so it skipped it for every OAuth2 client. The rule now runs: a browser client with `requireDpop: true` fails pre-flight, and other client types no longer produce the warning.
44
+
45
+ - [#2129](https://github.com/tailor-platform/sdk/pull/2129) [`124db73`](https://github.com/tailor-platform/sdk/commit/124db731293f896889c666b95d0aa63686af9a5b) Thanks [@dqn](https://github.com/dqn)! - Report the real error when the folder lookup in `tailor organization folder delete` fails with something other than "not found" (e.g. network, permission, or authentication errors), instead of always claiming the folder was not found.
46
+
47
+ - [#2074](https://github.com/tailor-platform/sdk/pull/2074) [`13cd666`](https://github.com/tailor-platform/sdk/commit/13cd6661e45caeaf9c7c1fb7eb487b888209efac) Thanks [@dqn](https://github.com/dqn)! - Prevent TailorDB migration processing from changing object prototypes when snapshots contain special record keys
48
+
49
+ - [#2006](https://github.com/tailor-platform/sdk/pull/2006) [`1aca9f2`](https://github.com/tailor-platform/sdk/commit/1aca9f283b19f6ca392c8f53d725d7375e580dc4) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update oxc
50
+
51
+ - [#2030](https://github.com/tailor-platform/sdk/pull/2030) [`943b577`](https://github.com/tailor-platform/sdk/commit/943b577c004b5d08c0753710d447959b29054c80) Thanks [@renovate](https://github.com/apps/renovate)! - chore(deps): update dependency tsx to v4.23.12
52
+
53
+ - [#2081](https://github.com/tailor-platform/sdk/pull/2081) [`80403ce`](https://github.com/tailor-platform/sdk/commit/80403cee8e8dd1650f5288358845d0dfabfd8b98) Thanks [@renovate](https://github.com/apps/renovate)! - chore(deps): update dependency @electric-sql/pglite to v0.5.5
54
+
55
+ - [#2083](https://github.com/tailor-platform/sdk/pull/2083) [`fa4fc36`](https://github.com/tailor-platform/sdk/commit/fa4fc36969dddc241c10c332b1091afbfdc6b7d8) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update dependency get-tsconfig to v4.14.2
56
+
57
+ - [#2084](https://github.com/tailor-platform/sdk/pull/2084) [`bb85f06`](https://github.com/tailor-platform/sdk/commit/bb85f06f9386b6dfcdc1cd46135c8bc2b55f087b) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update dependency kysely to v0.29.5
58
+
59
+ - [#2085](https://github.com/tailor-platform/sdk/pull/2085) [`98542d3`](https://github.com/tailor-platform/sdk/commit/98542d3aef9e791ca5fa4aaf38e8cbeed7e477f0) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update dependency open to v11.0.1
60
+
61
+ - [#2108](https://github.com/tailor-platform/sdk/pull/2108) [`c2a1fb5`](https://github.com/tailor-platform/sdk/commit/c2a1fb5fdd0c52a0147f04ee3421bb95ed549943) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update dependency @bufbuild/protobuf to v2.14.0
62
+
63
+ - [#2109](https://github.com/tailor-platform/sdk/pull/2109) [`b48e4e0`](https://github.com/tailor-platform/sdk/commit/b48e4e0dd9f86ed12f571727dbf96e543ceebb65) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update dependency globals to v17.11.0
64
+
65
+ - [#2117](https://github.com/tailor-platform/sdk/pull/2117) [`cedf0f6`](https://github.com/tailor-platform/sdk/commit/cedf0f6fb2b6e31afe3f2cf9e8a1134904bc26d7) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update dependency es-toolkit to v1.51.0
66
+
67
+ - [#2132](https://github.com/tailor-platform/sdk/pull/2132) [`bec3a20`](https://github.com/tailor-platform/sdk/commit/bec3a20445f580a97d4d3e05499d1cbc4d228287) Thanks [@dqn](https://github.com/dqn)! - Skip reloading resolver files when a namespace's resolvers were already loaded but yielded none, avoiding duplicate imports and log output.
68
+
69
+ - [#2064](https://github.com/tailor-platform/sdk/pull/2064) [`737edfe`](https://github.com/tailor-platform/sdk/commit/737edfe5c17a954430c91e67c89398ab40771450) Thanks [@dqn](https://github.com/dqn)! - Fix `tailor seed apply` timing out with `deadline_exceeded` when seeding 100+ IdP `_User` rows. `_User` rows are now sent in chunks of 25, and when a chunk fails the confirmed created/updated counts are reported so re-running with `--upsert` is an informed choice.
70
+
71
+ - [#2126](https://github.com/tailor-platform/sdk/pull/2126) [`889bd16`](https://github.com/tailor-platform/sdk/commit/889bd1647895d04934175ca52f15a03302f0e960) Thanks [@dqn](https://github.com/dqn)! - Refactor TailorDB migration snapshot internals into focused modules without changing CLI behavior or persisted formats.
72
+
73
+ - [#2130](https://github.com/tailor-platform/sdk/pull/2130) [`f67de20`](https://github.com/tailor-platform/sdk/commit/f67de209e49d418372aa8d572d836ef9c927d580) Thanks [@dqn](https://github.com/dqn)! - Output an empty JSON array from `tailor staticwebsite domain list --json` when no custom domains exist, instead of producing no stdout output.
74
+
75
+ - [#2127](https://github.com/tailor-platform/sdk/pull/2127) [`37e3105`](https://github.com/tailor-platform/sdk/commit/37e310570d4dd1d28327f3330fb1b5cf9115d2b4) Thanks [@dqn](https://github.com/dqn)! - Fix TailorDB hooks and validators sharing one function reference (e.g. `hooks: { create: fn, update: fn }`) being deployed with the argument shape of only the last role, which made the other role read undefined values at runtime.
76
+
77
+ - [#2073](https://github.com/tailor-platform/sdk/pull/2073) [`f03ea04`](https://github.com/tailor-platform/sdk/commit/f03ea0414ae022e88de5535d2e2ec4c2faf128f0) Thanks [@dqn](https://github.com/dqn)! - Rename the plugin authoring APIs that model TailorDB tables:
78
+
79
+ - `PluginGeneratedType` → `PluginGeneratedTable`
80
+ - `TailorDBTypeForPlugin` → `TailorDBTableForPlugin`
81
+ - `TypePluginOutput` → `TablePluginOutput`
82
+ - `PluginProcessContext` → `PluginTableProcessContext`
83
+ - `typeConfigRequired` → `tableConfigRequired`
84
+ - `onTypeLoaded` → `onTableLoaded`
85
+ - callback context `type` / `typeConfig` → `table` / `tableConfig`
86
+ - plugin output `types` → `tables`
87
+ - `TailorDBNamespaceData.types` → `TailorDBNamespaceData.tables`
88
+ - executor context `sourceType` → `sourceTable`
89
+ - `getGeneratedType` → `getGeneratedTable`
90
+ - `PluginGeneratedTypeSource` → `PluginGeneratedTableSource`
91
+ - `isPluginGeneratedType` → `isPluginGeneratedTable`
92
+ - source metadata `generatedTypeKind` → `generatedTableKind`
93
+
94
+ Update custom plugins, generated-table lookups, and CLI source metadata consumers to use the new names. The generated `.tailor/<plugin-id>/types` directory and the TailorDB ERD artifact's `generatedTypeKind` field are unchanged.
95
+
96
+ - [#2070](https://github.com/tailor-platform/sdk/pull/2070) [`fea7726`](https://github.com/tailor-platform/sdk/commit/fea7726df32ec2483f9ddb45565a479aa7e70e37) Thanks [@dqn](https://github.com/dqn)! - The remaining internal comments, JSDoc, and test titles that named a `db.table()` definition a type now say table (table-level hooks, table-attached plugins, table renames, and so on). Behavior is unchanged; a few internal error messages follow the rename, such as `Plugin "..." does not support table-attached processing`. Identifiers and persisted formats are untouched.
97
+
98
+ - [#2089](https://github.com/tailor-platform/sdk/pull/2089) [`90948e6`](https://github.com/tailor-platform/sdk/commit/90948e6f6e1f3624a9c30595b3ff3a46ffbbced0) Thanks [@toiroakr](https://github.com/toiroakr)! - Add a targeted hint to the `Remote schema drift detected` error when every reported drift is a missing script hash — the pattern left by an environment last deployed with the pre-v2 CLI, which never wrote script hashes. The hint points at `migration sync <N>`, which is already listed as one of the general resolution options. The v2 migration guide (`docs/migration/v2.md`) now also documents that the first `tailor deploy` against such an environment needs a `migration sync` first.
99
+
100
+ - [#2131](https://github.com/tailor-platform/sdk/pull/2131) [`cb83f59`](https://github.com/tailor-platform/sdk/commit/cb83f59ff2ef0b149f04e0230af4d966bdc029ad) Thanks [@dqn](https://github.com/dqn)! - Cancel the internal upload timeout timer in `tailor staticwebsite deploy` once each upload settles, so finished deploys no longer hold the process open for the remaining timeout when the CLI is used programmatically.
101
+
102
+ - [#2087](https://github.com/tailor-platform/sdk/pull/2087) [`9e0ad76`](https://github.com/tailor-platform/sdk/commit/9e0ad768968292f2c8481365362518ca716a5c63) Thanks [@toiroakr](https://github.com/toiroakr)! - Fail the build instead of silently dropping a workflow job. A `createWorkflowJob` whose `name`/`body` isn't a static literal (e.g. `body: someWrapper(fn)`), a job's `.start()` call factored into a helper function outside any job body (including a helper defined in another file, even one outside the workflow service's `files` pattern), or a job called by calling `execJobFunction` directly instead of `<job>.start()` (on the ambient `tailor.workflow` global or the `workflow` value imported from `@tailor-platform/sdk/runtime`) — previously passed typecheck/lint/apply but either threw at runtime ("...is rewritten at build time and is unavailable in the bundle") or silently dropped the target job from the bundle the first time it was invoked. All of these now fail the build with the offending job name and file. A workflow file with a syntax error now fails with a clear parse error instead of the same job-detection error. The runtime stub error also names the job so a leftover case is easier to diagnose.
103
+
104
+ - [#2133](https://github.com/tailor-platform/sdk/pull/2133) [`35b2997`](https://github.com/tailor-platform/sdk/commit/35b2997646d87eec91725ae30cd09b92dd7d05b9) Thanks [@dqn](https://github.com/dqn)! - Report the real error when the workspace lookup in `tailor workspace delete` fails for a reason other than the workspace not existing (e.g. network or authentication errors), instead of always claiming the workspace was not found.
105
+
106
+ ## 2.4.0
107
+
108
+ ### Minor Changes
109
+
110
+ - [#2054](https://github.com/tailor-platform/sdk/pull/2054) [`6a753cb`](https://github.com/tailor-platform/sdk/commit/6a753cb750df779c91b29b0103bdd24343f18dbb) Thanks [@toiroakr](https://github.com/toiroakr)! - `defineAIGateway()`'s `authNamespace` is now optional, defaulting to the application's own Auth service (local or external) — the common case, since an AI Gateway usually authenticates against its own app's auth. To authenticate against a different application's Auth service, reference it via `auth: { name, external: true }` and let `authNamespace` default to it, the same way a local `defineAuth()` does. Once `tailor.d.ts` is generated, `authNamespace` is type-narrowed to your application's own auth namespace name; register additional names via `declare module "@tailor-platform/sdk" { interface AuthNamespaceNameRegistry { ... } }` only if you need to set `authNamespace` explicitly to a namespace your own `auth` doesn't reference.
111
+
112
+ - [#2075](https://github.com/tailor-platform/sdk/pull/2075) [`bd0e397`](https://github.com/tailor-platform/sdk/commit/bd0e39720015248e6ebb2c31efca49f9238b7060) Thanks [@dqn](https://github.com/dqn)! - `tailor function test-run` is renamed to `tailor function run`. The old name keeps working as a deprecated alias until v3 and prints a deprecation warning when used; `tailor upgrade` offers the `v3/function-test-run-rename` codemod to rewrite `function test-run` invocations across package.json scripts, shell and Windows scripts, YAML, Markdown, and JavaScript/TypeScript sources.
113
+
114
+ ### Patch Changes
115
+
116
+ - [#2071](https://github.com/tailor-platform/sdk/pull/2071) [`7ae89fe`](https://github.com/tailor-platform/sdk/commit/7ae89fefb9510b7fea217ccd0d05c79de9fb7d98) Thanks [@dqn](https://github.com/dqn)! - Fix `tailor deploy` never creating TailorDB types that appear in no pending migration diff and define no GraphQL permission — for example baseline tables when a migration history is replayed into a fresh workspace. Such types are now created before any migration script runs.
117
+
118
+ - [#2050](https://github.com/tailor-platform/sdk/pull/2050) [`a124fed`](https://github.com/tailor-platform/sdk/commit/a124fede0d692c8dc4e60ac7d6da9acee9d02e52) Thanks [@toiroakr](https://github.com/toiroakr)! - Stop dumping the request payload in API error messages. Failed requests (including `tailor query` timeouts) previously printed the full request body, which could expose credentials such as machine user access tokens embedded in query arguments to terminal and CI logs. Error messages now carry only allowlisted identifiers (resource names, namespaces, and ids) so a failing resource can still be identified.
119
+
120
+ - [#1970](https://github.com/tailor-platform/sdk/pull/1970) [`2b70c30`](https://github.com/tailor-platform/sdk/commit/2b70c30502e84bcf57ab2b237ec9f075cbc9e600) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update rolldown
121
+
122
+ - [#2036](https://github.com/tailor-platform/sdk/pull/2036) [`d8ec141`](https://github.com/tailor-platform/sdk/commit/d8ec141c16c284a7337f6b7723a686ecb3dcdcf5) Thanks [@renovate](https://github.com/apps/renovate)! - chore(deps): update dependency esbuild@>=0.17.0 <0.28.1 to v0.28.2
123
+
124
+ - [#2047](https://github.com/tailor-platform/sdk/pull/2047) [`228e394`](https://github.com/tailor-platform/sdk/commit/228e3944237cd6d17022e66792efff3826ee594d) Thanks [@renovate](https://github.com/apps/renovate)! - fix(deps): update dependency @toiroakr/lines-db to v0.12.1
125
+
126
+ - [#2065](https://github.com/tailor-platform/sdk/pull/2065) [`5a3a0e1`](https://github.com/tailor-platform/sdk/commit/5a3a0e1ce8bfadb769dc4540ef257e944f0c077e) Thanks [@toiroakr](https://github.com/toiroakr)! - Raise the minimum supported Node.js version to 22.18.0 (from 22.15.0).
127
+
128
+ `tailor seed validate` crashed on Node 22.15.0–22.17.x with `Expected a string, an ArrayBuffer, or a TypedArray to be returned for the "source" from the "load" hook but got null`. This is a Node.js bug ([nodejs/node#58607](https://github.com/nodejs/node/issues/58607)): requiring a `node:`-scheme-only builtin (`node:sqlite`, used internally by the seed validator) while both a synchronous `resolve` and `load` hook are registered via `module.registerHooks()` crashes the loader on those versions. The SDK always registers both hooks, so any project on Node 22.15.0–22.17.x hit this. Node fixed it upstream in 22.18.0 ([nodejs/node#58612](https://github.com/nodejs/node/pull/58612)); this release raises `engines.node` to match, since Node 22.15.0–22.17.x never actually supported `tailor seed validate`.
129
+
130
+ - [#2068](https://github.com/tailor-platform/sdk/pull/2068) [`80260b3`](https://github.com/tailor-platform/sdk/commit/80260b38787da3ed7d7e67ca4ae3116cc8cd07e3) Thanks [@dqn](https://github.com/dqn)! - The remaining CLI output and generated artifacts that named a `db.table()` definition a type now say table.
131
+
132
+ - The deploy plan labels a TailorDB table change `(table)` instead of `(type)`. This also changes the machine-readable `deploy --dry-run --json` output: the `changes[].labels` value `"type"` becomes `"table"`. Update any CI that matches on the old label.
133
+ - The seed chunker's oversized-record error reads `A single record in table "Order" ...`.
134
+ - The duplicate plugin-generated table name error reads `Duplicate plugin-generated table name "..."`, and the header of each generated `.tailor/<plugin-id>/types/*.ts` file reads `Auto-generated table by plugin`. Both name the originating table (or `(namespace)`) under a neutral `source:` / `Source:` key.
135
+ - The seed plugin's generated `_User.schema.ts` comment reads `no TailorDB backing table`. The next `tailor generate` rewrites the file; existing files keep working as-is.
136
+
137
+ - [#2069](https://github.com/tailor-platform/sdk/pull/2069) [`d07a120`](https://github.com/tailor-platform/sdk/commit/d07a120950c5bac0bd8b5d2e341ad80dd6694448) Thanks [@dqn](https://github.com/dqn)! - The remaining published docs that named a `db.table()` definition a type now say table: the migration guide's rebaseline description, the testing guide's executor trigger description, and the create-sdk `tailordb` template README's feature list (`field-level and table-level` validations).
138
+
139
+ - [#2062](https://github.com/tailor-platform/sdk/pull/2062) [`153a780`](https://github.com/tailor-platform/sdk/commit/153a78038c65f4376f2f9f75eec8a7a37ea3f6dc) Thanks [@dqn](https://github.com/dqn)! - `tailor seed` now calls a `db.table()` definition a table instead of a type, in its help, progress, and errors — `Seeding 3 tables via Kysely batch insert`. The `fillSeedData` documentation and the `create-sdk` template hint follow.
140
+
141
+ Messages that list the seed targets say entities rather than tables, because `_User` is an IdP entity rather than a TailorDB table and can appear in the same list.
142
+
143
+ The positional is now named `entities`, so `--help` shows `[entities]` instead of `[types]`. Positionals are matched by argv order, so existing invocations are unaffected.
144
+
145
+ - [#2063](https://github.com/tailor-platform/sdk/pull/2063) [`5d16dc9`](https://github.com/tailor-platform/sdk/commit/5d16dc918f77bd4c76d0d90811207ec15ac30f4e) Thanks [@dqn](https://github.com/dqn)! - The remaining docs and editor tooltips now describe a `db.table()` definition as a table instead of a type. The TailorDB docs say table-level (matching the sentences around them that already say table), the file-upload runtime API documents its `typeName` parameters as table names, and the create-sdk tailordb template's test titles follow suit.
146
+
147
+ - [#2060](https://github.com/tailor-platform/sdk/pull/2060) [`c880f23`](https://github.com/tailor-platform/sdk/commit/c880f236be87d9cf2bed968fc15d9034e5200793) Thanks [@dqn](https://github.com/dqn)! - `deploy`, schema loading, and the config parser now call a `db.table()` definition a table instead of a type, matching the vocabulary the docs and `db.table()` already use. The deploy plan lists a `TailorDB tables` section and names a deleted table as `TailorDB table "Order"`, a table missing `.permission()` is reported as `TailorDB table "User" has no .permission() configured`, and relation errors read `Field "userID" on table "Employee"`.
148
+
149
+ The built-in plugin descriptions say table for the same reason — `kyselyTypePlugin` now reads "Generates Kysely type definitions for TailorDB tables", keeping "type definitions" for the TypeScript output it writes.
150
+
151
+ Messages about a field's data type, and the TypeScript types generated into `db.ts`, are unchanged.
152
+
153
+ - [#2055](https://github.com/tailor-platform/sdk/pull/2055) [`303e209`](https://github.com/tailor-platform/sdk/commit/303e2098804c44f63cee2724b917b9158f327802) Thanks [@dqn](https://github.com/dqn)! - TailorDB migration output now calls a `db.table()` definition a table instead of a type, matching the vocabulary the docs already use. Schema drift details read `Table 'User' exists in snapshot but not in remote`, a removal warning reads `Table removed (all records in this table will be deleted during post-migration cleanup)`, and the `--rename` / `--drop` / `--expand-contract` help and errors describe their arguments as `"Table.field"` and `"OldTable:NewTable"`.
154
+
155
+ Only the wording changed: those flags accept exactly the values they did before, and the removal warning recorded in `diff.json` is never read back, so migrations generated earlier keep their wording and stay valid.
156
+
157
+ Messages about a field's data type are unchanged, as is the `DB types:` line naming the generated `db.ts`.
158
+
159
+ - [#2061](https://github.com/tailor-platform/sdk/pull/2061) [`c2be0d3`](https://github.com/tailor-platform/sdk/commit/c2be0d3fe6422d0161943c858bbc560b234281a8) Thanks [@dqn](https://github.com/dqn)! - The config types now describe a `db.table()` definition as a table instead of a type, so editor tooltips match the vocabulary `db.table()` already uses. Hovering `db.table(...).features({ ... })` documents `gqlOperations` and `publishEvents` in terms of a table, `aggregation` and `bulkUpsert` gain the descriptions they were missing, and an executor's record trigger documents `typeName` as "TailorDB table name to watch for events".
160
+
161
+ `tailordb query` reports an unresolvable name as `Could not find namespace for tables in query: …`.
162
+
163
+ Field-level descriptions still say type where they mean a field's data type, and the key names themselves are unchanged.
164
+
165
+ - [#2057](https://github.com/tailor-platform/sdk/pull/2057) [`6bee645`](https://github.com/tailor-platform/sdk/commit/6bee645ed513df1e18af4e1178a40b7c55b84166) Thanks [@dqn](https://github.com/dqn)! - `tailor tailordb truncate` now calls a `db.table()` definition a table instead of a type, in its help, prompts, and results. The positional argument is named `tables`, and `TruncateOptions.types` from `@tailor-platform/sdk/cli` is now `TruncateOptions.tables`:
166
+
167
+ ```ts
168
+ await truncate({ types: ["User"] }); // before
169
+ await truncate({ tables: ["User"] }); // after
170
+ ```
171
+
172
+ Passing table names positionally is unchanged, as in `tailor tailordb truncate User Post`. The argument also binds by name, so an invocation spelled `--types User` now has to read `--tables User`.
173
+
3
174
  ## 2.3.0
4
175
 
5
176
  ### Minor Changes
package/README.md CHANGED
@@ -96,5 +96,5 @@ See [Create Tailor Platform SDK](https://github.com/tailor-platform/sdk/tree/mai
96
96
 
97
97
  ## Requirements
98
98
 
99
- - Node.js 22.15.0 or later (or Bun)
99
+ - Node.js 22.18.0 or later (or Bun)
100
100
  - A Tailor Platform account ([request access](https://www.tailor.tech/demo))
@@ -0,0 +1,2 @@
1
+ const api=()=>globalThis.tailor.aigateway,e={get:(...e)=>api().get(...e)};export{e as t};
2
+ //# sourceMappingURL=aigateway-DsWDjzk4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"aigateway-DR4Kwuik.mjs","names":[],"sources":["../src/runtime/aigateway.ts"],"sourcesContent":["/**\n * AI Gateway utilities.\n *\n * Thin typed wrapper around the platform-provided `tailor.aigateway` runtime API.\n * At runtime this delegates to `globalThis.tailor.aigateway`. Use `mockAigateway`\n * from `@tailor-platform/sdk/vitest` to mock these calls in unit tests.\n *\n * `name` is narrowed to the AI Gateway names defined via `defineAIGateway()`\n * once `tailor.d.ts` has been generated (via `tailor deploy`/`generate`).\n * @example\n * import { aigateway } from \"@tailor-platform/sdk/runtime\";\n *\n * const { url } = await aigateway.get(\"my-aigateway\");\n */\n\n// Import from the public entry (not `#/configure/types/aigateway-name`) so this d.ts\n// references `@tailor-platform/sdk` externally instead of inlining the registry — the\n// same generated `declare module \"@tailor-platform/sdk\"` that narrows\n// `authconnection.getConnectionToken` then also narrows this entry.\nimport type { AIGatewayName } from \"@tailor-platform/sdk\";\n\n/** Result of {@link TailorAigatewayAPI.get}. */\nexport interface GetAIGatewayResult {\n /** The platform-assigned URL of the AI Gateway. */\n url: string;\n}\n\n/**\n * Platform API surface for `tailor.aigateway`. Describes the shape the\n * platform runtime injects on `globalThis.tailor.aigateway`.\n */\nexport interface TailorAigatewayAPI {\n /**\n * Resolves an AI Gateway defined in the caller's own workspace.\n * @param name - AI Gateway name, as passed to `defineAIGateway()`\n * @returns The resolved AI Gateway's platform-assigned URL\n */\n get(name: AIGatewayName): Promise<GetAIGatewayResult>;\n}\n\nconst api = (): TailorAigatewayAPI =>\n (globalThis as unknown as { tailor: { aigateway: TailorAigatewayAPI } }).tailor.aigateway;\n\nconst get: TailorAigatewayAPI[\"get\"] = (...args) => api().get(...args);\n\n/** Runtime wrapper namespace for `tailor.aigateway`. */\nexport const aigateway = { get } as const satisfies TailorAigatewayAPI;\n"],"mappings":";AAwCA,MAAM,YACH,WAAwE,OAAO;AAElF,MAAM,OAAkC,GAAG,SAAS,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI;;AAGrE,MAAa,YAAY,EAAE,IAAI"}
1
+ {"version":3,"file":"aigateway-DsWDjzk4.mjs","names":[],"sources":["../src/runtime/aigateway.ts"],"sourcesContent":["/**\n * AI Gateway utilities.\n *\n * Thin typed wrapper around the platform-provided `tailor.aigateway` runtime API.\n * At runtime this delegates to `globalThis.tailor.aigateway`. Use `mockAigateway`\n * from `@tailor-platform/sdk/vitest` to mock these calls in unit tests.\n *\n * `name` is narrowed to the AI Gateway names defined via `defineAIGateway()`\n * once `tailor.d.ts` has been generated (via `tailor deploy`/`generate`).\n * @example\n * import { aigateway } from \"@tailor-platform/sdk/runtime\";\n *\n * const { url } = await aigateway.get(\"my-aigateway\");\n */\n\n// Import from the public entry (not `#/configure/types/aigateway-name`) so this d.ts\n// references `@tailor-platform/sdk` externally instead of inlining the registry — the\n// same generated `declare module \"@tailor-platform/sdk\"` that narrows\n// `authconnection.getConnectionToken` then also narrows this entry.\nimport type { AIGatewayName } from \"@tailor-platform/sdk\";\n\n/** Result of {@link TailorAigatewayAPI.get}. */\nexport interface GetAIGatewayResult {\n /** The platform-assigned URL of the AI Gateway. */\n url: string;\n}\n\n/**\n * Platform API surface for `tailor.aigateway`. Describes the shape the\n * platform runtime injects on `globalThis.tailor.aigateway`.\n */\nexport interface TailorAigatewayAPI {\n /**\n * Resolves an AI Gateway defined in the caller's own workspace.\n * @param name - AI Gateway name, as passed to `defineAIGateway()`\n * @returns The resolved AI Gateway's platform-assigned URL\n */\n get(name: AIGatewayName): Promise<GetAIGatewayResult>;\n}\n\nconst api = (): TailorAigatewayAPI =>\n (globalThis as unknown as { tailor: { aigateway: TailorAigatewayAPI } }).tailor.aigateway;\n\nconst get: TailorAigatewayAPI[\"get\"] = (...args) => api().get(...args);\n\n/** Runtime wrapper namespace for `tailor.aigateway`. */\nexport const aigateway = { get } as const satisfies TailorAigatewayAPI;\n"],"mappings":"AAwCA,MAAM,QACH,WAAwE,OAAO,UAKrE,EAAY,CAAE,KAHa,GAAG,IAAS,IAAI,CAAC,CAAC,IAAI,GAAG,CAAI,CAGtC"}
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./application-D_4vg1KR.mjs";export{t as defineApplication,e as generatePluginFilesIfNeeded};