@tailor-platform/sdk 2.0.0-next.2 → 2.0.0-next.3

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 (410) hide show
  1. package/CHANGELOG.md +466 -10
  2. package/README.md +9 -9
  3. package/agent-skills/{tailor-sdk → tailor}/SKILL.md +3 -1
  4. package/dist/aigateway-B3oZZE6v.mjs +15 -0
  5. package/dist/aigateway-B3oZZE6v.mjs.map +1 -0
  6. package/dist/application-D2hSK1ZL.mjs +3 -0
  7. package/dist/application-eHp9jXld.mjs +6393 -0
  8. package/dist/application-eHp9jXld.mjs.map +1 -0
  9. package/dist/{authconnection-D2MhtTN5.mjs → authconnection-BGQM8FZI.mjs} +2 -2
  10. package/dist/authconnection-BGQM8FZI.mjs.map +1 -0
  11. package/dist/cli/cache/bundle-cache.d.mts +1 -0
  12. package/dist/cli/cache/store.d.mts +1 -0
  13. package/dist/cli/cache/types.d.mts +1 -0
  14. package/dist/cli/commands/api/api-call.d.mts +19 -0
  15. package/dist/cli/commands/api/index.d.mts +3 -0
  16. package/dist/cli/commands/deploy/aigateway.d.mts +1 -0
  17. package/dist/cli/commands/deploy/application.d.mts +1 -0
  18. package/dist/cli/commands/deploy/apply-phases.d.mts +1 -0
  19. package/dist/cli/commands/deploy/auth.d.mts +1 -0
  20. package/dist/cli/commands/deploy/deploy.d.mts +24 -0
  21. package/dist/cli/commands/deploy/executor.d.mts +1 -0
  22. package/dist/cli/commands/deploy/function-registry-types.d.mts +12 -0
  23. package/dist/cli/commands/deploy/function-registry.d.mts +2 -0
  24. package/dist/cli/commands/deploy/idp.d.mts +1 -0
  25. package/dist/cli/commands/deploy/resolver.d.mts +1 -0
  26. package/dist/cli/commands/deploy/secret-manager.d.mts +1 -0
  27. package/dist/cli/commands/deploy/staticwebsite.d.mts +1 -0
  28. package/dist/cli/commands/deploy/tailordb/index.d.mts +1 -0
  29. package/dist/cli/commands/deploy/types.d.mts +1 -0
  30. package/dist/cli/commands/deploy/workflow.d.mts +1 -0
  31. package/dist/cli/commands/executor/get.d.mts +29 -0
  32. package/dist/cli/commands/executor/jobs.d.mts +123 -0
  33. package/dist/cli/commands/executor/list.d.mts +19 -0
  34. package/dist/cli/commands/executor/transform.d.mts +41 -0
  35. package/dist/cli/commands/executor/trigger.d.mts +41 -0
  36. package/dist/cli/commands/executor/webhook.d.mts +22 -0
  37. package/dist/cli/commands/function/get.d.mts +18 -0
  38. package/dist/cli/commands/function/list.d.mts +22 -0
  39. package/dist/cli/commands/function/transform.d.mts +11 -0
  40. package/dist/cli/commands/generate/options.d.mts +7 -0
  41. package/dist/cli/commands/generate/seed/bundler.d.mts +26 -0
  42. package/dist/cli/commands/generate/service.d.mts +11 -0
  43. package/dist/cli/commands/machineuser/list.d.mts +27 -0
  44. package/dist/cli/commands/machineuser/token.d.mts +22 -0
  45. package/dist/cli/commands/oauth2client/get.d.mts +18 -0
  46. package/dist/cli/commands/oauth2client/list.d.mts +20 -0
  47. package/dist/cli/commands/oauth2client/transform.d.mts +20 -0
  48. package/dist/cli/commands/organization/folder/create.d.mts +18 -0
  49. package/dist/cli/commands/organization/folder/delete.d.mts +16 -0
  50. package/dist/cli/commands/organization/folder/get.d.mts +17 -0
  51. package/dist/cli/commands/organization/folder/list.d.mts +22 -0
  52. package/dist/cli/commands/organization/folder/update.d.mts +18 -0
  53. package/dist/cli/commands/organization/get.d.mts +16 -0
  54. package/dist/cli/commands/organization/list.d.mts +15 -0
  55. package/dist/cli/commands/organization/transform.d.mts +27 -0
  56. package/dist/cli/commands/organization/tree.d.mts +25 -0
  57. package/dist/cli/commands/organization/update.d.mts +17 -0
  58. package/dist/cli/commands/remove.d.mts +16 -0
  59. package/dist/cli/commands/show.d.mts +34 -0
  60. package/dist/cli/commands/tailordb/migrate/bundler.d.mts +28 -0
  61. package/dist/cli/commands/tailordb/migrate/config.d.mts +19 -0
  62. package/dist/cli/commands/tailordb/migrate/diff-calculator.d.mts +223 -0
  63. package/dist/cli/commands/tailordb/migrate/generate.d.mts +17 -0
  64. package/dist/cli/commands/tailordb/migrate/snapshot-types.d.mts +202 -0
  65. package/dist/cli/commands/tailordb/migrate/snapshot.d.mts +98 -0
  66. package/dist/cli/commands/tailordb/migrate/types.d.mts +7 -0
  67. package/dist/cli/commands/tailordb/truncate.d.mts +19 -0
  68. package/dist/cli/commands/workflow/executions.d.mts +75 -0
  69. package/dist/cli/commands/workflow/get.d.mts +29 -0
  70. package/dist/cli/commands/workflow/list.d.mts +19 -0
  71. package/dist/cli/commands/workflow/resume.d.mts +23 -0
  72. package/dist/cli/commands/workflow/start.d.mts +61 -0
  73. package/dist/cli/commands/workflow/status.d.mts +5 -0
  74. package/dist/cli/commands/workflow/transform.d.mts +33 -0
  75. package/dist/cli/commands/workflow/wait.d.mts +16 -0
  76. package/dist/cli/commands/workflow/waiter.d.mts +23 -0
  77. package/dist/cli/commands/workspace/app/health.d.mts +18 -0
  78. package/dist/cli/commands/workspace/app/list.d.mts +22 -0
  79. package/dist/cli/commands/workspace/app/transform.d.mts +18 -0
  80. package/dist/cli/commands/workspace/create.d.mts +25 -0
  81. package/dist/cli/commands/workspace/delete.d.mts +15 -0
  82. package/dist/cli/commands/workspace/get.d.mts +17 -0
  83. package/dist/cli/commands/workspace/list.d.mts +17 -0
  84. package/dist/cli/commands/workspace/restore.d.mts +15 -0
  85. package/dist/cli/commands/workspace/transform.d.mts +16 -0
  86. package/dist/cli/commands/workspace/user/invite.d.mts +22 -0
  87. package/dist/cli/commands/workspace/user/list.d.mts +22 -0
  88. package/dist/cli/commands/workspace/user/remove.d.mts +17 -0
  89. package/dist/cli/commands/workspace/user/transform.d.mts +8 -0
  90. package/dist/cli/commands/workspace/user/update.d.mts +22 -0
  91. package/dist/cli/erd-viewer-assets/app.js +279 -36
  92. package/dist/cli/erd-viewer-assets/index.html +4 -0
  93. package/dist/cli/erd-viewer-assets/styles.css +252 -5
  94. package/dist/cli/index.d.mts +18 -3
  95. package/dist/cli/index.mjs +2136 -519
  96. package/dist/cli/index.mjs.map +1 -1
  97. package/dist/cli/lib.d.mts +81 -21107
  98. package/dist/cli/lib.mjs +6 -9
  99. package/dist/cli/lib.mjs.map +1 -1
  100. package/dist/cli/query/index.d.mts +35 -0
  101. package/dist/cli/services/application.d.mts +1 -0
  102. package/dist/cli/services/auth/service.d.mts +1 -0
  103. package/dist/cli/services/executor/service.d.mts +1 -0
  104. package/dist/cli/services/http-adapter/bundler.d.mts +1 -0
  105. package/dist/cli/services/http-adapter/service.d.mts +1 -0
  106. package/dist/cli/services/resolver/service.d.mts +1 -0
  107. package/dist/cli/services/tailordb/service.d.mts +1 -0
  108. package/dist/cli/services/workflow/bundler.d.mts +1 -0
  109. package/dist/cli/services/workflow/service.d.mts +1 -0
  110. package/dist/cli/shared/args.d.mts +13 -0
  111. package/dist/cli/shared/client.d.mts +1273 -0
  112. package/dist/cli/shared/config-loader.d.mts +26 -0
  113. package/dist/cli/shared/context.d.mts +28 -0
  114. package/dist/cli/shared/script-executor.d.mts +75 -0
  115. package/dist/cli/shared/seed-chunker.d.mts +46 -0
  116. package/dist/cli/shared/trigger-context.d.mts +1 -0
  117. package/dist/cli/shared/type-generator.d.mts +20 -0
  118. package/dist/cli/ts-hook.d.mts +4 -0
  119. package/dist/cli/ts-hook.mjs +303 -0
  120. package/dist/completion/zsh-worker.zsh +1523 -1123
  121. package/dist/configure/config/index.d.mts +21 -0
  122. package/dist/configure/config/types.d.mts +103 -0
  123. package/dist/configure/index.d.mts +122 -9
  124. package/dist/configure/index.mjs +24 -21
  125. package/dist/configure/index.mjs.map +1 -1
  126. package/dist/configure/services/aigateway/index.d.mts +17 -0
  127. package/dist/configure/services/aigateway/types.d.mts +11 -0
  128. package/dist/configure/services/auth/index.d.mts +34 -0
  129. package/dist/configure/services/auth/types.d.mts +172 -0
  130. package/dist/configure/services/executor/executor.d.mts +81 -0
  131. package/dist/configure/services/executor/index.d.mts +8 -0
  132. package/dist/configure/services/executor/operation.d.mts +45 -0
  133. package/dist/configure/services/executor/trigger/event.d.mts +272 -0
  134. package/dist/configure/services/executor/trigger/index.d.mts +8 -0
  135. package/dist/configure/services/executor/trigger/schedule.d.mts +25 -0
  136. package/dist/configure/services/executor/trigger/webhook.d.mts +44 -0
  137. package/dist/configure/services/executor/types.d.mts +2 -0
  138. package/dist/configure/services/http-adapter/http-adapter.d.mts +125 -0
  139. package/dist/configure/services/http-adapter/index.d.mts +2 -0
  140. package/dist/configure/services/idp/index.d.mts +64 -0
  141. package/dist/configure/services/idp/permission.d.mts +80 -0
  142. package/dist/configure/services/idp/types.d.mts +20 -0
  143. package/dist/configure/services/index.d.mts +32 -0
  144. package/dist/configure/services/resolver/index.d.mts +5 -0
  145. package/dist/configure/services/resolver/resolver.d.mts +75 -0
  146. package/dist/configure/services/resolver/types.d.mts +6 -0
  147. package/dist/configure/services/secrets/index.d.mts +38 -0
  148. package/dist/configure/services/secrets/types.d.mts +11 -0
  149. package/dist/configure/services/staticwebsite/index.d.mts +19 -0
  150. package/dist/configure/services/staticwebsite/types.d.mts +11 -0
  151. package/dist/configure/services/tailordb/index.d.mts +4 -0
  152. package/dist/configure/services/tailordb/permission.d.mts +119 -0
  153. package/dist/configure/services/tailordb/schema.d.mts +456 -0
  154. package/dist/configure/services/tailordb/types.d.mts +149 -0
  155. package/dist/configure/services/workflow/index.d.mts +6 -0
  156. package/dist/configure/services/workflow/job.d.mts +79 -0
  157. package/dist/configure/services/workflow/types.d.mts +2 -0
  158. package/dist/configure/services/workflow/wait-point.d.mts +73 -0
  159. package/dist/configure/services/workflow/workflow.d.mts +54 -0
  160. package/dist/configure/types/aigateway-name.d.mts +12 -0
  161. package/dist/configure/types/connection-name.d.mts +12 -0
  162. package/dist/configure/types/field-runtime.d.mts +17 -0
  163. package/dist/configure/types/field.d.mts +9 -0
  164. package/dist/configure/types/field.types.d.mts +109 -0
  165. package/dist/configure/types/idp-name.d.mts +12 -0
  166. package/dist/configure/types/index.d.mts +4 -0
  167. package/dist/configure/types/machine-user.d.mts +2 -0
  168. package/dist/configure/types/type.d.mts +82 -0
  169. package/dist/context-Bd266-ru.mjs.map +1 -1
  170. package/dist/{crashreport-DFq-vsU0.mjs → crashreport-Cg-pqRJV.mjs} +6 -6
  171. package/dist/{crashreport-DFq-vsU0.mjs.map → crashreport-Cg-pqRJV.mjs.map} +1 -1
  172. package/dist/{crashreport-BMWcxeSE.mjs → crashreport-D3RjuSYb.mjs} +1 -1
  173. package/dist/enum-constants-j9QBF0cB.mjs.map +1 -1
  174. package/dist/{errors-Dtf2WPaW.mjs → errors-118wUDRr.mjs} +2 -2
  175. package/dist/errors-118wUDRr.mjs.map +1 -0
  176. package/dist/field-runtime-CAnh_oow.mjs +183 -0
  177. package/dist/field-runtime-CAnh_oow.mjs.map +1 -0
  178. package/dist/file-utils-CYZnO1pX.mjs.map +1 -1
  179. package/dist/{globals-Cf0sxIt8.mjs → globals-DhwZj0RB.mjs} +4 -46
  180. package/dist/globals-DhwZj0RB.mjs.map +1 -0
  181. package/dist/{idp-BDbK5gjm.mjs → idp-Bx25ZBdN.mjs} +9 -1
  182. package/dist/idp-Bx25ZBdN.mjs.map +1 -0
  183. package/dist/{interceptor-D-q1rvRl.mjs → interceptor-e33JtsC-.mjs} +2 -2
  184. package/dist/interceptor-e33JtsC-.mjs.map +1 -0
  185. package/dist/kysely/index.d.mts +2 -3
  186. package/dist/{kysely-type-DR8uzZTA.mjs → kysely-type-5eAChaHO.mjs} +4 -2
  187. package/dist/kysely-type-5eAChaHO.mjs.map +1 -0
  188. package/dist/{logger-CxF-Ex5d.mjs → logger-BEiZZ3qT.mjs} +3 -3
  189. package/dist/{logger-CxF-Ex5d.mjs.map → logger-BEiZZ3qT.mjs.map} +1 -1
  190. package/dist/parser/service/auth/index.d.mts +1 -0
  191. package/dist/parser/service/auth/schema.d.mts +1 -0
  192. package/dist/parser/service/http-adapter/index.d.mts +1 -0
  193. package/dist/parser/service/http-adapter/schema.d.mts +1 -0
  194. package/dist/parser/service/idp/types.d.mts +4 -0
  195. package/dist/parser/service/tailordb/types.d.mts +126 -0
  196. package/dist/platform-serialize-RoRtBS0v.mjs +46 -0
  197. package/dist/platform-serialize-RoRtBS0v.mjs.map +1 -0
  198. package/dist/plugin/builtin/enum-constants/index.d.mts +16 -1
  199. package/dist/plugin/builtin/file-utils/index.d.mts +16 -1
  200. package/dist/plugin/builtin/kysely-type/index.d.mts +16 -1
  201. package/dist/plugin/builtin/kysely-type/index.mjs +1 -1
  202. package/dist/plugin/builtin/seed/index.d.mts +45 -1
  203. package/dist/plugin/builtin/seed/index.mjs +1 -1
  204. package/dist/plugin/get-generated-type.d.mts +17 -0
  205. package/dist/plugin/index.d.mts +3 -118
  206. package/dist/plugin/index.mjs +1 -1
  207. package/dist/plugin/index.mjs.map +1 -1
  208. package/dist/plugin/manager.d.mts +1 -0
  209. package/dist/plugin/types.d.mts +243 -0
  210. package/dist/plugin/with-context.d.mts +102 -0
  211. package/dist/{runtime-CY4JvrDj.mjs → register-ts-hook-ZpBacA07.mjs} +3426 -2041
  212. package/dist/register-ts-hook-ZpBacA07.mjs.map +1 -0
  213. package/dist/registry-DH4m7eYo.mjs.map +1 -1
  214. package/dist/{repl-editor-DmGr9zMw.mjs → repl-editor-BCozyiNq.mjs} +6 -5
  215. package/dist/{repl-editor-DmGr9zMw.mjs.map → repl-editor-BCozyiNq.mjs.map} +1 -1
  216. package/dist/runtime/aigateway.d.mts +35 -0
  217. package/dist/runtime/aigateway.mjs +3 -0
  218. package/dist/runtime/authconnection.d.mts +31 -2
  219. package/dist/runtime/authconnection.mjs +1 -1
  220. package/dist/runtime/context.d.mts +46 -2
  221. package/dist/runtime/file.d.mts +210 -2
  222. package/dist/runtime/globals.d.mts +31 -19
  223. package/dist/runtime/iconv.d.mts +121 -2
  224. package/dist/runtime/idp.d.mts +186 -2
  225. package/dist/runtime/idp.mjs +1 -1
  226. package/dist/runtime/index.d.mts +47 -9
  227. package/dist/runtime/index.mjs +5 -4
  228. package/dist/runtime/secretmanager.d.mts +54 -2
  229. package/dist/{types-BZ7QKVE8.d.mts → runtime/types.d.mts} +4 -5
  230. package/dist/runtime/workflow.d.mts +112 -2
  231. package/dist/runtime/workflow.mjs +2 -2
  232. package/dist/{schema-Dtw9Orye.mjs → schema-89dYxNC2.mjs} +17 -182
  233. package/dist/schema-89dYxNC2.mjs.map +1 -0
  234. package/dist/{secret-file-VSVGy1V0.mjs → secret-file-aoNXJmKa.mjs} +3 -3
  235. package/dist/secret-file-aoNXJmKa.mjs.map +1 -0
  236. package/dist/secretmanager-Bd45j7an.mjs +98 -0
  237. package/dist/secretmanager-Bd45j7an.mjs.map +1 -0
  238. package/dist/seed/index.d.mts +1 -2
  239. package/dist/{seed-izIEyP3z.mjs → seed-CRSQJI_z.mjs} +14 -3
  240. package/dist/seed-CRSQJI_z.mjs.map +1 -0
  241. package/dist/service-CkIwEctX.mjs +3 -0
  242. package/dist/{service-DU1mVzri2.mjs → service-DeZeYa06.mjs} +3 -3
  243. package/dist/service-DeZeYa06.mjs.map +1 -0
  244. package/dist/{service-DjyqbCaJ.mjs → service-ufH7sS8o.mjs} +396 -58
  245. package/dist/service-ufH7sS8o.mjs.map +1 -0
  246. package/dist/service_pb-CIrhGwHk.mjs +988 -0
  247. package/dist/service_pb-CIrhGwHk.mjs.map +1 -0
  248. package/dist/service_pb-DjwIn4jO.mjs +3 -0
  249. package/dist/tailor-proto/src/tailor/v1/aigateway_pb.d.mts +204 -0
  250. package/dist/tailor-proto/src/tailor/v1/aigateway_resource_pb.d.mts +58 -0
  251. package/dist/tailor-proto/src/tailor/v1/application_pb.d.mts +316 -0
  252. package/dist/tailor-proto/src/tailor/v1/application_resource_pb.d.mts +161 -0
  253. package/dist/tailor-proto/src/tailor/v1/auth_pb.d.mts +2070 -0
  254. package/dist/tailor-proto/src/tailor/v1/auth_resource_pb.d.mts +861 -0
  255. package/dist/tailor-proto/src/tailor/v1/events_pb.d.mts +112 -0
  256. package/dist/tailor-proto/src/tailor/v1/events_resource_pb.d.mts +69 -0
  257. package/dist/tailor-proto/src/tailor/v1/executor_pb.d.mts +439 -0
  258. package/dist/tailor-proto/src/tailor/v1/executor_resource_pb.d.mts +564 -0
  259. package/dist/tailor-proto/src/tailor/v1/function_pb.d.mts +145 -0
  260. package/dist/tailor-proto/src/tailor/v1/function_registry_pb.d.mts +451 -0
  261. package/dist/tailor-proto/src/tailor/v1/function_resource_pb.d.mts +192 -0
  262. package/dist/tailor-proto/src/tailor/v1/http_adapter_resource_pb.d.mts +50 -0
  263. package/dist/tailor-proto/src/tailor/v1/idp_pb.d.mts +407 -0
  264. package/dist/tailor-proto/src/tailor/v1/idp_resource_pb.d.mts +430 -0
  265. package/dist/tailor-proto/src/tailor/v1/metadata_pb.d.mts +73 -0
  266. package/dist/tailor-proto/src/tailor/v1/metadata_resource_pb.d.mts +17 -0
  267. package/dist/tailor-proto/src/tailor/v1/meter_pb.d.mts +309 -0
  268. package/dist/tailor-proto/src/tailor/v1/pipeline_pb.d.mts +591 -0
  269. package/dist/tailor-proto/src/tailor/v1/pipeline_resource_pb.d.mts +330 -0
  270. package/dist/tailor-proto/src/tailor/v1/resource_pb.d.mts +113 -0
  271. package/dist/tailor-proto/src/tailor/v1/secret_manager_pb.d.mts +346 -0
  272. package/dist/tailor-proto/src/tailor/v1/secret_manager_resource_pb.d.mts +54 -0
  273. package/dist/tailor-proto/src/tailor/v1/service_pb.d.mts +3576 -0
  274. package/dist/tailor-proto/src/tailor/v1/stateflow_pb.d.mts +187 -0
  275. package/dist/tailor-proto/src/tailor/v1/stateflow_resource_pb.d.mts +29 -0
  276. package/dist/tailor-proto/src/tailor/v1/staticwebsite_pb.d.mts +429 -0
  277. package/dist/tailor-proto/src/tailor/v1/staticwebsite_resource_pb.d.mts +90 -0
  278. package/dist/tailor-proto/src/tailor/v1/tailordb_pb.d.mts +684 -0
  279. package/dist/tailor-proto/src/tailor/v1/tailordb_resource_pb.d.mts +797 -0
  280. package/dist/tailor-proto/src/tailor/v1/telemetryrouter_pb.d.mts +330 -0
  281. package/dist/tailor-proto/src/tailor/v1/telemetryrouter_resource_pb.d.mts +183 -0
  282. package/dist/tailor-proto/src/tailor/v1/workflow_pb.d.mts +842 -0
  283. package/dist/tailor-proto/src/tailor/v1/workflow_resource_pb.d.mts +276 -0
  284. package/dist/tailor-proto/src/tailor/v1/workspace_pb.d.mts +2015 -0
  285. package/dist/tailor-proto/src/tailor/v1/workspace_resource_pb.d.mts +483 -0
  286. package/dist/{telemetry-CdqJEzkj.mjs → telemetry-BRVdwh14.mjs} +3 -3
  287. package/dist/telemetry-BRVdwh14.mjs.map +1 -0
  288. package/dist/telemetry-CkbkeJxl.mjs +3 -0
  289. package/dist/types/aigateway.generated.d.mts +9 -0
  290. package/dist/types/app-config.generated.d.mts +4 -0
  291. package/dist/types/auth-connection.generated.d.mts +20 -0
  292. package/dist/types/auth.generated.d.mts +145 -0
  293. package/dist/types/executor.generated.d.mts +177 -0
  294. package/dist/types/helpers.d.mts +39 -0
  295. package/dist/types/http-adapter.generated.d.mts +17 -0
  296. package/dist/{workflow.generated-ClEjBYhm.d.mts → types/idp.generated.d.mts} +98 -185
  297. package/dist/types/resolver.generated.d.mts +39 -0
  298. package/dist/types/secrets.generated.d.mts +14 -0
  299. package/dist/types/staticwebsite.generated.d.mts +10 -0
  300. package/dist/{types-CdcQh4Z2.d.mts → types/tailordb.generated.d.mts} +2 -287
  301. package/dist/types/workflow.generated.d.mts +12 -0
  302. package/dist/types-C-lQ4se3.mjs +4 -0
  303. package/dist/types-CXF2OYdR.mjs +199 -0
  304. package/dist/types-CXF2OYdR.mjs.map +1 -0
  305. package/dist/utils/test/index.d.mts +5 -89
  306. package/dist/utils/test/index.mjs.map +1 -1
  307. package/dist/utils/test/mock.d.mts +87 -0
  308. package/dist/vitest/environment.d.mts +1 -2
  309. package/dist/vitest/environment.mjs +2 -2
  310. package/dist/vitest/environment.mjs.map +1 -1
  311. package/dist/vitest/index.d.mts +12 -428
  312. package/dist/vitest/index.mjs +739 -8
  313. package/dist/vitest/index.mjs.map +1 -1
  314. package/dist/vitest/mock-kysely.d.mts +62 -0
  315. package/dist/vitest/mock.d.mts +9 -0
  316. package/dist/vitest/mocks/aigateway.d.mts +30 -0
  317. package/dist/vitest/mocks/authconnection.d.mts +28 -0
  318. package/dist/vitest/mocks/file.d.mts +41 -0
  319. package/dist/vitest/mocks/iconv.d.mts +27 -0
  320. package/dist/vitest/mocks/idp.d.mts +44 -0
  321. package/dist/vitest/mocks/secretmanager.d.mts +33 -0
  322. package/dist/vitest/mocks/tailordb.d.mts +71 -0
  323. package/dist/vitest/mocks/workflow.d.mts +115 -0
  324. package/dist/vitest/setup.d.mts +1 -2
  325. package/dist/vitest/setup.mjs +2 -2
  326. package/dist/vitest/workflow-local.d.mts +40 -0
  327. package/dist/{workflow-BOmaZwwG.mjs → workflow-Bo59B75H.mjs} +9 -2
  328. package/dist/workflow-Bo59B75H.mjs.map +1 -0
  329. package/docs/cli/application.md +98 -250
  330. package/docs/cli/auth.md +48 -292
  331. package/docs/cli/completion.md +1 -25
  332. package/docs/cli/crashreport.md +3 -61
  333. package/docs/cli/executor.md +23 -187
  334. package/docs/cli/function.md +14 -130
  335. package/docs/cli/organization.md +11 -221
  336. package/docs/cli/plugin.md +29 -0
  337. package/docs/cli/query.md +2 -22
  338. package/docs/cli/secret.md +71 -251
  339. package/docs/cli/setup.md +137 -41
  340. package/docs/cli/skills.md +50 -39
  341. package/docs/cli/staticwebsite.md +32 -180
  342. package/docs/cli/tailordb.md +97 -323
  343. package/docs/cli/upgrade.md +2 -22
  344. package/docs/cli/user.md +78 -247
  345. package/docs/cli/workflow.md +44 -203
  346. package/docs/cli/workspace.md +165 -538
  347. package/docs/cli-reference.md +167 -67
  348. package/docs/configuration.md +10 -4
  349. package/docs/github-actions.md +46 -19
  350. package/docs/migration/v2.md +286 -26
  351. package/docs/multi-environment.md +29 -7
  352. package/docs/plugin/index.md +6 -6
  353. package/docs/quickstart.md +8 -7
  354. package/docs/runtime.md +5 -1
  355. package/docs/services/aigateway.md +18 -2
  356. package/docs/services/auth.md +32 -40
  357. package/docs/services/http-adapter.md +16 -1
  358. package/docs/services/idp.md +55 -2
  359. package/docs/services/resolver.md +1 -1
  360. package/docs/services/secret.md +11 -11
  361. package/docs/services/staticwebsite.md +8 -2
  362. package/docs/services/tailordb-migration.md +24 -22
  363. package/docs/services/tailordb.md +25 -2
  364. package/docs/services/workflow.md +14 -14
  365. package/docs/testing.md +49 -3
  366. package/package.json +42 -31
  367. package/postinstall.mjs +4 -6
  368. package/dist/application-Dtqap5jM.mjs +0 -3
  369. package/dist/application-XuMWK4eq.mjs +0 -7257
  370. package/dist/application-XuMWK4eq.mjs.map +0 -1
  371. package/dist/authconnection-D2MhtTN5.mjs.map +0 -1
  372. package/dist/authconnection-DvUQAjQS.d.mts +0 -39
  373. package/dist/context-C2lEi9uw.d.mts +0 -47
  374. package/dist/errors-Dtf2WPaW.mjs.map +0 -1
  375. package/dist/field-DOsJCPFa.mjs +0 -22
  376. package/dist/field-DOsJCPFa.mjs.map +0 -1
  377. package/dist/file-Dq3NIt_F.d.mts +0 -211
  378. package/dist/globals-Cf0sxIt8.mjs.map +0 -1
  379. package/dist/http-adapter.generated-DFsXDdm5.d.mts +0 -581
  380. package/dist/iconv-Co-TOPuH.d.mts +0 -122
  381. package/dist/idp-BDbK5gjm.mjs.map +0 -1
  382. package/dist/idp-DrhVrLmV.d.mts +0 -160
  383. package/dist/index-BI-_j9Z3.d.mts +0 -1013
  384. package/dist/index-C4JirJH8.d.mts +0 -18
  385. package/dist/index-CZfWhr0a.d.mts +0 -18
  386. package/dist/index-Cg8VKAdN.d.mts +0 -46
  387. package/dist/index-DYRjoLXD.d.mts +0 -47
  388. package/dist/index-lFpcjHPU.d.mts +0 -201
  389. package/dist/index-nW7hE6oE.d.mts +0 -18
  390. package/dist/interceptor-D-q1rvRl.mjs.map +0 -1
  391. package/dist/kysely-type-DR8uzZTA.mjs.map +0 -1
  392. package/dist/mock-FPxmnt-y.mjs +0 -759
  393. package/dist/mock-FPxmnt-y.mjs.map +0 -1
  394. package/dist/runtime-CY4JvrDj.mjs.map +0 -1
  395. package/dist/schema-Dtw9Orye.mjs.map +0 -1
  396. package/dist/secret-file-VSVGy1V0.mjs.map +0 -1
  397. package/dist/secretmanager-B3n4KHfm.d.mts +0 -55
  398. package/dist/seed-izIEyP3z.mjs.map +0 -1
  399. package/dist/service-DCqIWibD.mjs +0 -3
  400. package/dist/service-DU1mVzri2.mjs.map +0 -1
  401. package/dist/service-DjyqbCaJ.mjs.map +0 -1
  402. package/dist/telemetry-CdqJEzkj.mjs.map +0 -1
  403. package/dist/telemetry-ClwW5ohF.mjs +0 -3
  404. package/dist/types-74etvaxy.mjs +0 -4
  405. package/dist/types-BDRml5C3.d.mts +0 -574
  406. package/dist/types-BQijbo4m.mjs +0 -371
  407. package/dist/types-BQijbo4m.mjs.map +0 -1
  408. package/dist/types-BX4q6Mo6.d.mts +0 -339
  409. package/dist/workflow-BOmaZwwG.mjs.map +0 -1
  410. package/dist/workflow-BVy4XWjS.d.mts +0 -101
@@ -68,25 +68,25 @@ import { kyselyTypePlugin } from "@tailor-platform/sdk/plugin/kysely-type";
68
68
 
69
69
  **Migration:** Automatic
70
70
 
71
- Strip the deprecated {input: ...} wrapper from `tailor-sdk function test-run --arg` JSON in scripts and docs
71
+ Strip the deprecated {input: ...} wrapper from `tailor function test-run --arg` JSON in scripts and docs
72
72
 
73
73
  Before:
74
74
 
75
75
  ```sh
76
- tailor-sdk function test-run resolvers/add.ts --arg '{"input":{"a":1}}'
76
+ tailor function test-run resolvers/add.ts --arg '{"input":{"a":1}}'
77
77
  ```
78
78
 
79
79
  After:
80
80
 
81
81
  ```sh
82
- tailor-sdk function test-run resolvers/add.ts --arg '{"a":1}'
82
+ tailor function test-run resolvers/add.ts --arg '{"a":1}'
83
83
  ```
84
84
 
85
- ## tailor-sdk-skills → tailor-sdk skills install
85
+ ## tailor-sdk-skills → tailor skills add
86
86
 
87
87
  **Migration:** Partially automatic
88
88
 
89
- Replace deprecated `tailor-sdk-skills` invocations with `tailor-sdk skills install`
89
+ Replace deprecated `tailor-sdk-skills` invocations with `tailor skills add`
90
90
 
91
91
  Before:
92
92
 
@@ -97,17 +97,17 @@ npx tailor-sdk-skills
97
97
  After:
98
98
 
99
99
  ```sh
100
- tailor-sdk skills install
100
+ tailor skills add
101
101
  ```
102
102
 
103
103
  <details>
104
104
  <summary>Prompt for an AI agent (to finish the cases the codemod could not migrate)</summary>
105
105
 
106
106
  ```text
107
- The standalone tailor-sdk-skills binary is removed in v2; call the skills install
108
- subcommand on the main tailor-sdk CLI instead. Replace any remaining
107
+ The standalone tailor-sdk-skills binary is removed in v2; call the skills add
108
+ subcommand on the main tailor CLI instead. Replace any remaining
109
109
  tailor-sdk-skills invocations the codemod did not rewrite with
110
- `tailor-sdk skills install`.
110
+ `tailor skills add`.
111
111
  ```
112
112
 
113
113
  </details>
@@ -167,6 +167,48 @@ Use TailorPrincipal for the unified user/actor/invoker type.
167
167
 
168
168
  </details>
169
169
 
170
+ ## AttributeMap → Attributes
171
+
172
+ **Migration:** Partially automatic
173
+
174
+ Rename auth attribute module augmentation and related SDK type names from `AttributeMap` to `Attributes`
175
+
176
+ Module augmentation uses `Attributes`:
177
+
178
+ Before:
179
+
180
+ ```ts
181
+ declare module "@tailor-platform/sdk" {
182
+ interface AttributeMap {
183
+ role: string;
184
+ }
185
+ }
186
+ ```
187
+
188
+ After:
189
+
190
+ ```ts
191
+ declare module "@tailor-platform/sdk" {
192
+ interface Attributes {
193
+ role: string;
194
+ }
195
+ }
196
+ ```
197
+
198
+ <details>
199
+ <summary>Prompt for an AI agent (to finish the cases the codemod could not migrate)</summary>
200
+
201
+ ```text
202
+ In Tailor SDK v2, the auth attribute type API is renamed from `AttributeMap`
203
+ to `Attributes`; related SDK types are renamed to `UserAttributes` and
204
+ `InferredAttributes`. The codemod rewrites SDK imports, re-exports,
205
+ namespace-qualified references, import() type references, and module
206
+ augmentations. Review any remaining matches manually and leave unrelated
207
+ local names or deploy/proto wire field names unchanged.
208
+ ```
209
+
210
+ </details>
211
+
170
212
  ## tailor-sdk apply → tailor-sdk deploy
171
213
 
172
214
  **Migration:** Automatic
@@ -217,11 +259,98 @@ happen to use `--machineuser` alone.
217
259
 
218
260
  </details>
219
261
 
262
+ ## SDK environment variable rename
263
+
264
+ **Migration:** Partially automatic
265
+
266
+ Rewrite unambiguous removed SDK environment variable names to their v2 `TAILOR_*` names and flag generic names for manual review
267
+
268
+ Before:
269
+
270
+ ```sh
271
+ TAILOR_PLATFORM_SDK_BUILD_ONLY=true tailor-sdk deploy
272
+ ```
273
+
274
+ After:
275
+
276
+ ```sh
277
+ TAILOR_DEPLOY_BUILD_ONLY=true tailor-sdk deploy
278
+ ```
279
+
280
+ Before:
281
+
282
+ ```ts
283
+ const token = process.env.TAILOR_TOKEN;
284
+ ```
285
+
286
+ After:
287
+
288
+ ```ts
289
+ const token = process.env.TAILOR_PLATFORM_TOKEN;
290
+ ```
291
+
292
+ <details>
293
+ <summary>Prompt for an AI agent (to finish the cases the codemod could not migrate)</summary>
294
+
295
+ ```text
296
+ Review any remaining removed SDK environment variable names after the codemod
297
+ runs. The codemod intentionally leaves generic names such as `LOG_LEVEL`,
298
+ `PLATFORM_URL`, and `PLATFORM_OAUTH2_CLIENT_ID` for manual review because
299
+ they can configure non-SDK tools. Replace only actual SDK usages with their
300
+ v2 names. If a remaining match is an unrelated local identifier, fixture
301
+ label, or historical documentation that intentionally does not configure the
302
+ SDK, leave it unchanged.
303
+ ```
304
+
305
+ </details>
306
+
220
307
  ## auth.invoker("name") → "name"
221
308
 
222
309
  **Migration:** Partially automatic
223
310
 
224
- Replace `auth.invoker("name")` calls with the bare `"name"` string and drop the `auth` import when no other reference remains. The `auth.invoker()` helper is deprecated in v2 because importing `auth` from `tailor.config.ts` into runtime files pulls Node-only modules into the bundle.
311
+ Replace statically identified SDK `auth.invoker("name")` option values with the bare `"name"` string while preserving the `authInvoker` key for SDK versions before the option rename.
312
+
313
+ Before:
314
+
315
+ ```ts
316
+ createResolver({ authInvoker: auth.invoker("manager") });
317
+ ```
318
+
319
+ After:
320
+
321
+ ```ts
322
+ createResolver({ authInvoker: "manager" });
323
+ ```
324
+
325
+ <details>
326
+ <summary>Prompt for an AI agent (to finish the cases the codemod could not migrate)</summary>
327
+
328
+ ```text
329
+ In Tailor SDK v2 the auth.invoker() helper is removed; an invoker is now the
330
+ machine user name passed directly as a string. The codemod already rewrote the
331
+ statically identified SDK option form authInvoker: auth.invoker("name") to authInvoker: "name". These files still contain
332
+ auth.invoker(...) calls that need manual review.
333
+
334
+ For each remaining auth.invoker(<expr>) call:
335
+ 1. Replace the whole call with <expr> only where the target option expects a
336
+ machine user name string; platform/runtime authInvoker payloads still expect
337
+ the object form.
338
+ 2. Keep the authInvoker key when targeting SDK versions before the invoker
339
+ option rename; later v2 targets run a separate codemod for that key rename.
340
+ 3. After removing every auth.invoker usage in a file, delete the now-unused auth
341
+ import (keeping it pulls Node-only config modules into runtime bundles); leave
342
+ the import if auth is still referenced elsewhere.
343
+
344
+ Do not change behavior beyond the auth.invoker() removal.
345
+ ```
346
+
347
+ </details>
348
+
349
+ ## auth.invoker("name") → invoker: "name"
350
+
351
+ **Migration:** Partially automatic
352
+
353
+ Rename statically identified SDK `authInvoker` options to `invoker`, replace `auth.invoker("name")` there with the bare `"name"` string, and drop the `auth` import when no other reference remains. Ambiguous workflow `.trigger()` calls are left for manual review. The `auth.invoker()` helper is removed in v2 because importing `auth` from `tailor.config.ts` into runtime files pulls Node-only modules into the bundle.
225
354
 
226
355
  Before:
227
356
 
@@ -241,19 +370,68 @@ createResolver({ invoker: "manager" });
241
370
  ```text
242
371
  In Tailor SDK v2 the auth.invoker() helper is removed; an invoker is now the
243
372
  machine user name passed directly as a string. The codemod already rewrote the
244
- string-literal form auth.invoker("name") to "name". These files still contain
245
- auth.invoker(...) because the argument is not a plain string literal (a variable,
246
- template literal, function call, or property access).
373
+ statically identified SDK option form authInvoker: auth.invoker("name") to invoker: "name" and renamed supported authInvoker option keys. These files still contain
374
+ auth.invoker(...) calls or authInvoker keys that need manual review.
247
375
 
248
376
  For each remaining auth.invoker(<expr>) call:
249
- 1. Replace the whole call with <expr> as-is (e.g. auth.invoker(name) becomes name).
250
- 2. Make sure <expr> evaluates to the machine user name (a string); adjust it if it
251
- resolves to an object or an auth config value instead.
377
+ 1. Replace the whole call with <expr> only where the target option expects a
378
+ machine user name string; platform/runtime authInvoker payloads still expect
379
+ the object form.
380
+ 2. Rename remaining authInvoker option keys to invoker only for SDK resolver,
381
+ executor, workflow.trigger(), or startWorkflow() options. Keep platform/runtime
382
+ payload keys such as tailor.workflow.triggerWorkflow(..., { authInvoker: ... }).
252
383
  3. After removing every auth.invoker usage in a file, delete the now-unused auth
253
384
  import (keeping it pulls Node-only config modules into runtime bundles); leave
254
385
  the import if auth is still referenced elsewhere.
255
386
 
256
- Do not change behavior beyond removing the auth.invoker() indirection.
387
+ Do not change behavior beyond the SDK option rename and auth.invoker() removal.
388
+ ```
389
+
390
+ </details>
391
+
392
+ ## auth.getConnectionToken() → runtime authconnection
393
+
394
+ **Migration:** Partially automatic
395
+
396
+ The deprecated `auth.getConnectionToken()` helper returned by `defineAuth()` is removed in v2. Use `authconnection.getConnectionToken(...)` from `@tailor-platform/sdk/runtime` in resolvers, executors, and workflows instead.
397
+
398
+ Before:
399
+
400
+ ```ts
401
+ import { auth } from "../tailor.config";
402
+
403
+ const token = await auth.getConnectionToken("google");
404
+ ```
405
+
406
+ After:
407
+
408
+ ```ts
409
+ import { authconnection } from "@tailor-platform/sdk/runtime";
410
+
411
+ const token = await authconnection.getConnectionToken("google");
412
+ ```
413
+
414
+ <details>
415
+ <summary>Prompt for an AI agent (to finish the cases the codemod could not migrate)</summary>
416
+
417
+ ```text
418
+ In Tailor SDK v2 the auth.getConnectionToken() helper returned by defineAuth()
419
+ is removed. Runtime code should call authconnection.getConnectionToken(...) from
420
+ @tailor-platform/sdk/runtime instead of importing auth from tailor.config.ts.
421
+
422
+ For each getConnectionToken usage where <receiver> is a defineAuth() result
423
+ imported from tailor.config.ts:
424
+ 1. Replace <receiver>.getConnectionToken(<expr>) calls with
425
+ authconnection.getConnectionToken(<expr>).
426
+ 2. Update non-call references, including <receiver>.getConnectionToken,
427
+ <receiver>["getConnectionToken"], and destructuring from <receiver>, to
428
+ reference authconnection instead.
429
+ 3. Add or reuse `import { authconnection } from "@tailor-platform/sdk/runtime"`.
430
+ 4. Remove the auth import from tailor.config.ts only when no other auth reference
431
+ remains in the file.
432
+
433
+ Leave usages unchanged when the receiver is already the runtime authconnection
434
+ wrapper or global tailor.authconnection.
257
435
  ```
258
436
 
259
437
  </details>
@@ -331,6 +509,32 @@ already pass a plain value unchanged.
331
509
 
332
510
  </details>
333
511
 
512
+ ## defineWaitPoint/defineWaitPoints → createWaitPoint/createWaitPoints
513
+
514
+ **Migration:** Partially automatic
515
+
516
+ Rename `defineWaitPoint` and `defineWaitPoints` to `createWaitPoint` and `createWaitPoints`. The functions create runtime instances with `.wait()` / `.resolve()` methods, so the `create*` prefix is used consistently.
517
+
518
+ Before:
519
+
520
+ ```ts
521
+ import { defineWaitPoints } from "@tailor-platform/sdk";
522
+
523
+ export const { approval } = defineWaitPoints((define) => ({
524
+ approval: define<{ message: string }, { approved: boolean }>(),
525
+ }));
526
+ ```
527
+
528
+ After:
529
+
530
+ ```ts
531
+ import { createWaitPoints } from "@tailor-platform/sdk";
532
+
533
+ export const { approval } = createWaitPoints((define) => ({
534
+ approval: define<{ message: string }, { approved: boolean }>(),
535
+ }));
536
+ ```
537
+
334
538
  ## openDownloadStream → downloadStream
335
539
 
336
540
  **Migration:** Manual
@@ -363,9 +567,9 @@ downloadStream and returns FileDownloadStreamResponse.
363
567
 
364
568
  ## Ambient runtime globals are opt-in
365
569
 
366
- **Migration:** Manual
570
+ **Migration:** Partially automatic
367
571
 
368
- Importing `@tailor-platform/sdk` no longer activates the ambient `tailor.*` / `tailordb.*` global declarations. Normal SDK development does not need them use the SDK APIs and the typed wrappers from `@tailor-platform/sdk/runtime`. Only if you relied on the ambient globals directly, add `import "@tailor-platform/sdk/runtime/globals"`. (The capital-cased `Tailordb.*` namespace is removed separately — see the `Tailordb → tailordb` codemod.)
572
+ Importing `@tailor-platform/sdk` no longer activates the ambient `tailor.*` / `tailordb.*` global declarations. The codemod rewrites simple direct `new tailor.idp.Client(...)` calls to the typed `idp.Client` wrapper from `@tailor-platform/sdk/runtime`; broader runtime global usage remains review-only. Only if you relied on the ambient globals directly, add `import "@tailor-platform/sdk/runtime/globals"`. (The capital-cased `Tailordb.*` namespace is removed separately — see the `Tailordb → tailordb` codemod.)
369
573
 
370
574
  Preferred: switch to the typed wrappers from `@tailor-platform/sdk/runtime` and drop the ambient globals:
371
575
 
@@ -398,16 +602,17 @@ const client = new tailor.idp.Client();
398
602
  ```
399
603
 
400
604
  <details>
401
- <summary>Prompt for an AI agent (to perform this migration)</summary>
605
+ <summary>Prompt for an AI agent (to finish the cases the codemod could not migrate)</summary>
402
606
 
403
607
  ```text
404
608
  The v2 SDK no longer enables ambient Tailor runtime globals from
405
609
  `@tailor-platform/sdk`. For each flagged file that uses `tailor.*`,
406
610
  `tailordb.*`, or Tailor runtime error globals, prefer migrating to the
407
- typed wrappers from `@tailor-platform/sdk/runtime` (e.g. replace
408
- `new tailor.idp.Client()` with `import { idp } from "@tailor-platform/sdk/runtime"`
409
- and `new idp.Client({ namespace })`). The wrappers are self-contained, so the
410
- ambient globals are no longer needed.
611
+ typed wrappers from `@tailor-platform/sdk/runtime`. The codemod already
612
+ rewrites direct `new tailor.idp.Client(...)` calls to `new idp.Client(...)`
613
+ when the file has no conflicting `tailor` or `idp` binding. For any remaining
614
+ `tailor.idp.Client` references, either resolve the binding collision and use
615
+ `idp.Client`, or keep the ambient global deliberately.
411
616
 
412
617
  Only when the file must keep referencing the bare `tailor.*` names directly,
413
618
  opt into the global declarations instead by adding one of these:
@@ -416,7 +621,9 @@ opt into the global declarations instead by adding one of these:
416
621
  the relevant tsconfig compilerOptions
417
622
 
418
623
  Leave files unchanged when the matching name is local, imported from another
419
- module, or appears only in comments or strings.
624
+ module, or appears only in comments or prose strings. Embedded code strings
625
+ that use runtime globals are review-only findings; do not insert imports inside
626
+ string literals.
420
627
  ```
421
628
 
422
629
  </details>
@@ -458,6 +665,55 @@ trigger result as the job output directly (no Promise wrapper to unwrap).
458
665
 
459
666
  </details>
460
667
 
668
+ ## tailor-sdk binary → tailor
669
+
670
+ **Migration:** Partially automatic
671
+
672
+ Rename the CLI binary from `tailor-sdk` to `tailor` in package.json scripts, shell scripts, CI workflows, source files, generated declaration comments, and documentation. Does not rename `.tailor-sdk` directory paths or the `create-tailor-sdk` scaffolding package. Note: v2 also changes the default generated output directory from `.tailor-sdk/` to `.tailor/` and the setup lock file from `.github/tailor-sdk.lock` to `.github/tailor.lock`. Run `mv .tailor-sdk .tailor` to migrate the generated output directory (preserves auth connection state and other local files). Run `git mv .github/tailor-sdk.lock .github/tailor.lock` if the old lock file exists; without it `tailor setup check` will treat all managed workflows as missing. Exact ignore-file entries for `.tailor-sdk/` are handled by the generated-output ignore codemod.
673
+
674
+ Before:
675
+
676
+ ```sh
677
+ tailor-sdk deploy
678
+ npx tailor-sdk@latest login
679
+ ```
680
+
681
+ After:
682
+
683
+ ```sh
684
+ tailor deploy
685
+ npx @tailor-platform/sdk@latest login
686
+ ```
687
+
688
+ <details>
689
+ <summary>Prompt for an AI agent (to finish the cases the codemod could not migrate)</summary>
690
+
691
+ ```text
692
+ Rename any remaining `tailor-sdk` binary invocations to `tailor`. Only rewrite
693
+ the binary name — leave `.tailor-sdk` directory paths and `create-tailor-sdk`
694
+ package references unchanged.
695
+ ```
696
+
697
+ </details>
698
+
699
+ ## .tailor-sdk ignore entries → .tailor
700
+
701
+ **Migration:** Automatic
702
+
703
+ Rewrite exact ignore-file entries for the v1 generated output directory from `.tailor-sdk` to the v2 `.tailor` directory. Other `.tailor-sdk` paths and prose are left unchanged.
704
+
705
+ Before:
706
+
707
+ ```gitignore
708
+ .tailor-sdk/
709
+ ```
710
+
711
+ After:
712
+
713
+ ```gitignore
714
+ .tailor/
715
+ ```
716
+
461
717
  ## Behavioral changes (no migration required)
462
718
 
463
719
  These v2 changes alter runtime or CLI behavior; no source change is needed.
@@ -472,4 +728,8 @@ The CLI stores human users by their stable subject ID instead of email (email is
472
728
 
473
729
  ### function logs require a content hash for source mapping
474
730
 
475
- `tailor-sdk function logs` maps stack traces against the function bundle only when the execution recorded a `contentHash`. Executions without one now show raw stack traces instead of mapped frames. No source change is required.
731
+ `tailor function logs` maps stack traces against the function bundle only when the execution recorded a `contentHash`. Executions without one now show raw stack traces instead of mapped frames. No source change is required.
732
+
733
+ ### Node.js minimum version raised to 22.15.0
734
+
735
+ v2 requires Node.js **22.15.0** or later. This is the first version that includes `module.registerHooks()`, which the SDK uses to register its TypeScript loader hook synchronously in the main thread. No source change is required; ensure your environment runs Node.js 22.15.0+.
@@ -11,20 +11,42 @@ Deployment commands resolve the target workspace from, in priority order, the `-
11
11
  For one-off commands, pass the workspace explicitly:
12
12
 
13
13
  ```bash
14
- tailor-sdk deploy -w <staging-workspace-id>
14
+ tailor deploy -w <staging-workspace-id>
15
15
  ```
16
16
 
17
17
  For environments you switch between regularly, create a named profile per environment with the [profile commands](./cli/workspace.md#profile-create) and select it with `--profile` (`-p`) or `TAILOR_PLATFORM_PROFILE`:
18
18
 
19
19
  ```bash
20
- tailor-sdk profile create staging -u you@example.com -w <staging-workspace-id>
21
- tailor-sdk profile create production -u you@example.com -w <production-workspace-id> --permission read
20
+ tailor profile create staging -u you@example.com -w <staging-workspace-id>
21
+ tailor profile create production -u you@example.com -w <production-workspace-id> --permission read
22
22
 
23
- tailor-sdk deploy -p staging
23
+ tailor deploy -p staging
24
24
  ```
25
25
 
26
26
  Profiles are created with `write` permission by default. The production profile above opts into `--permission read`, which blocks write commands such as `deploy` while the profile is active — a guard against deploying to production by accident. To deploy to production deliberately, pass the workspace explicitly with `-w` without selecting the profile — the guard applies only while a profile is selected via `-p` or `TAILOR_PLATFORM_PROFILE` — or use a separate profile created with `write` permission.
27
27
 
28
+ If a profile targets a non-default Tailor Platform API, save that connection on the profile as well. User login tokens are stored per Platform URL, so you can log in once for each Platform and then switch with only the profile:
29
+
30
+ ```bash
31
+ export TAILOR_PLATFORM_URL=<platform-api-url>
32
+ export TAILOR_PLATFORM_OAUTH2_CLIENT_ID=<oauth2-client-id>
33
+ export TAILOR_PLATFORM_CONSOLE_URL=<console-url>
34
+
35
+ tailor login
36
+ tailor profile create development \
37
+ -u you@example.com \
38
+ -w <development-workspace-id> \
39
+ --platform-url "$TAILOR_PLATFORM_URL" \
40
+ --oauth2-client-id "$TAILOR_PLATFORM_OAUTH2_CLIENT_ID" \
41
+ --console-url "$TAILOR_PLATFORM_CONSOLE_URL"
42
+
43
+ unset TAILOR_PLATFORM_URL TAILOR_PLATFORM_OAUTH2_CLIENT_ID TAILOR_PLATFORM_CONSOLE_URL
44
+ tailor deploy -p development
45
+ tailor open -p development
46
+ ```
47
+
48
+ After the profile exists, run `tailor login -p development` to refresh the login for that Platform without re-exporting the connection variables.
49
+
28
50
  ## Varying config values per environment
29
51
 
30
52
  `tailor.config.ts` is a TypeScript module evaluated locally each time an SDK command loads it, so any value can branch on `process.env`. If the config also defines an auth before-login hook, mind the `process.env` caveat in [Environment Variables](./configuration.md#environment-variables). Keep one env file per environment and load it with the global [`--env-file`](./cli-reference.md#environment-file-loading) option:
@@ -32,17 +54,17 @@ Profiles are created with `write` permission by default. The production profile
32
54
  ```ini
33
55
  # .env.production
34
56
  APP_ENV=production
35
- LOG_LEVEL=WARN
57
+ TAILOR_APP_LOG_LEVEL=WARN
36
58
  ```
37
59
 
38
60
  ```bash
39
- tailor-sdk deploy -w <production-workspace-id> --env-file .env.production
61
+ tailor deploy -w <production-workspace-id> --env-file .env.production
40
62
  ```
41
63
 
42
64
  ```typescript
43
65
  export default defineConfig({
44
66
  name: "my-app",
45
- logLevel: process.env.LOG_LEVEL ?? "DEBUG",
67
+ logLevel: process.env.TAILOR_APP_LOG_LEVEL ?? "DEBUG",
46
68
  });
47
69
  ```
48
70
 
@@ -6,7 +6,7 @@ Plugins extend TailorDB types by automatically generating additional types, exec
6
6
 
7
7
  ## Overview
8
8
 
9
- When you run `tailor-sdk generate`, the SDK:
9
+ When you run `tailor generate`, the SDK:
10
10
 
11
11
  1. Loads all TailorDB types with plugin attachments
12
12
  2. Passes each type to the attached plugins
@@ -102,18 +102,18 @@ Plugins can generate:
102
102
  - **Field Extensions**: Additional fields added to the source type
103
103
  - **Output Files**: TypeScript code and other files via generation-time hooks
104
104
 
105
- Generated files are placed under `.tailor-sdk/<plugin-id>/` (the plugin ID is sanitized,
105
+ Generated files are placed under `.tailor/<plugin-id>/` (the plugin ID is sanitized,
106
106
  e.g. `@example/soft-delete` → `example-soft-delete`), such as:
107
107
 
108
- - `.tailor-sdk/example-soft-delete/types`
109
- - `.tailor-sdk/example-soft-delete/executors`
108
+ - `.tailor/example-soft-delete/types`
109
+ - `.tailor/example-soft-delete/executors`
110
110
 
111
111
  ## Plugin Lifecycle
112
112
 
113
- Plugins have 5 hooks across two lifecycle phases. Each hook fires at a specific point in the `tailor-sdk generate` pipeline:
113
+ Plugins have 5 hooks across two lifecycle phases. Each hook fires at a specific point in the `tailor generate` pipeline:
114
114
 
115
115
  ```
116
- tailor-sdk generate
116
+ tailor generate
117
117
 
118
118
  ├─ Load TailorDB types
119
119
  │ ├─ onTypeLoaded ← per type with .plugin() attached
@@ -12,7 +12,7 @@ Contact us [here](https://www.tailor.tech/demo) to get started.
12
12
 
13
13
  ### Install Node.js
14
14
 
15
- The SDK requires Node.js 22 or later. Install Node.js via your package manager by following the official Node.js instructions.
15
+ The SDK requires Node.js 22.15.0 or later. Install Node.js via your package manager by following the official Node.js instructions.
16
16
 
17
17
  Alternatively, you can use [Bun](https://bun.sh/) as the runtime.
18
18
 
@@ -24,20 +24,22 @@ The following command creates a new project with the required configuration file
24
24
 
25
25
  ```bash
26
26
  npm create @tailor-platform/sdk -- --template hello-world example-app
27
+ cd example-app
27
28
  # Or with Bun:
28
29
  # bun create @tailor-platform/sdk --template hello-world example-app
30
+ # cd example-app
29
31
  ```
30
32
 
31
33
  Before deploying your app, you need to create a workspace:
32
34
 
33
35
  ```bash
34
- npx tailor-sdk login
35
- npx tailor-sdk workspace create --name <workspace-name> --region <workspace-region>
36
- npx tailor-sdk workspace list
36
+ npx tailor login
37
+ npx tailor workspace create --name <workspace-name> --region <workspace-region>
38
+ npx tailor workspace list
37
39
 
38
40
  # Or with Bun:
39
- # bunx tailor-sdk login
40
- # bunx tailor-sdk workspace create --name <workspace-name> --region <workspace-region>
41
+ # bunx tailor login
42
+ # bunx tailor workspace create --name <workspace-name> --region <workspace-region>
41
43
 
42
44
  # OR
43
45
  # Create a new workspace using Tailor Platform Console
@@ -49,7 +51,6 @@ npx tailor-sdk workspace list
49
51
  Run the deploy command to deploy your project:
50
52
 
51
53
  ```bash
52
- cd example-app
53
54
  npm run deploy -- --workspace-id <your-workspace-id>
54
55
  # Or with Bun:
55
56
  # bun run deploy --workspace-id <your-workspace-id>
package/docs/runtime.md CHANGED
@@ -19,6 +19,7 @@ import {
19
19
  workflow,
20
20
  context,
21
21
  file,
22
+ aigateway,
22
23
  } from "@tailor-platform/sdk/runtime";
23
24
 
24
25
  const utf8 = iconv.convert(sjisBuffer, "Shift_JIS", "UTF-8");
@@ -35,6 +36,8 @@ const executionId = await workflow.triggerWorkflow("approval", { reportId });
35
36
  const invoker = context.getInvoker();
36
37
 
37
38
  const { metadata } = await file.upload("my-namespace", "Document", "attachment", recordId, bytes);
39
+
40
+ const { url } = await aigateway.get("my-aigateway");
38
41
  ```
39
42
 
40
43
  ## Subpath imports
@@ -76,9 +79,10 @@ The runtime entry re-exports the following namespaces. Detailed signatures, para
76
79
  - `secretmanager` — secret-vault access (`getSecret`, `getSecrets`)
77
80
  - `authconnection` — OAuth-style connection tokens (`getConnectionToken`)
78
81
  - `idp` — IdP user management (`new Client({ namespace })`)
79
- - `workflow` — workflow & job control (`triggerWorkflow`, `triggerJobFunction`, `wait`, `resolve`)
82
+ - `workflow` — workflow & job control (`triggerWorkflow`, `resumeWorkflow`, `triggerJobFunction`, `wait`, `resolve`)
80
83
  - `context` — execution context (`getInvoker`)
81
84
  - `file` — `tailordb.file` BLOB API (`upload`, `download`, `downloadAsBase64`, `delete`, `getMetadata`, `downloadStream`, `uploadStream`)
85
+ - `aigateway` — AI Gateway URL resolution (`get`)
82
86
 
83
87
  ## Testing
84
88
 
@@ -1,12 +1,12 @@
1
1
  # AI Gateway
2
2
 
3
- AI Gateway provides a unified endpoint for accessing multiple LLM providers (Azure OpenAI, Google Vertex AI Gemini, Anthropic via Vertex AI) through a single OpenAI-compatible API, with platform-managed credentials and workspace-scoped authentication.
3
+ AI Gateway provides a unified endpoint for accessing a range of large language models through a single OpenAI-compatible API, with platform-managed credentials and workspace-scoped authentication.
4
4
 
5
5
  ## Overview
6
6
 
7
7
  AI Gateway provides:
8
8
 
9
- - A unified, OpenAI-compatible endpoint for multiple LLM providers
9
+ - A unified, OpenAI-compatible endpoint for multiple LLM models
10
10
  - Mandatory authentication via your workspace's auth (request tokens are resolved against the configured auth namespace)
11
11
  - Per-workspace isolation: each gateway is provisioned with its own platform-assigned URL
12
12
  - Optional CORS allow-list for browser-based clients
@@ -31,6 +31,7 @@ const aiGateway = defineAIGateway("my-aigateway", {
31
31
  });
32
32
 
33
33
  export default defineConfig({
34
+ name: "my-app",
34
35
  aiGateways: [aiGateway],
35
36
  });
36
37
  ```
@@ -80,6 +81,7 @@ const website = defineStaticWebSite("my-frontend", {
80
81
  });
81
82
 
82
83
  const aiGateway = defineAIGateway("my-aigateway", {
84
+ // Name of an auth namespace in your workspace; request tokens are resolved against it.
83
85
  authNamespace: "default",
84
86
  cors: [website.url],
85
87
  });
@@ -95,3 +97,17 @@ export default defineConfig({
95
97
  aiGateways: [aiGateway],
96
98
  });
97
99
  ```
100
+
101
+ ## Runtime Usage
102
+
103
+ Resolvers, executors, and workflow jobs can resolve a gateway's platform-assigned URL by name via `aigateway.get()`. The name is type-checked and autocompleted against the AI Gateways defined in `aiGateways`:
104
+
105
+ ```typescript
106
+ import { aigateway } from "@tailor-platform/sdk/runtime";
107
+
108
+ const { url } = await aigateway.get("my-aigateway");
109
+
110
+ // await aigateway.get("unknown"); // Type error — only "my-aigateway" is allowed
111
+ ```
112
+
113
+ Type narrowing is provided by the generated `tailor.d.ts` (the `AIGatewayNameRegistry` interface). Run `tailor generate` (or `deploy`) after defining new AI Gateways to refresh it. Before the first generate run, `get()` accepts any string.