@tailor-platform/sdk 2.0.0-next.1 → 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 (429) hide show
  1. package/CHANGELOG.md +514 -2
  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-DqS1yBg3.mjs → application-eHp9jXld.mjs} +1397 -684
  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 +2193 -519
  96. package/dist/cli/index.mjs.map +1 -1
  97. package/dist/cli/lib.d.mts +81 -21048
  98. package/dist/cli/lib.mjs +8 -12
  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 +1577 -1098
  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 -8
  124. package/dist/configure/index.mjs +74 -34
  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-BsjAkFWw.mjs → crashreport-Cg-pqRJV.mjs} +9 -11
  171. package/dist/{crashreport-BsjAkFWw.mjs.map → crashreport-Cg-pqRJV.mjs.map} +1 -1
  172. package/dist/{crashreport-pr6Rhvza.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-_oUZo76X.mjs → file-BbdFGdMV.mjs} +2 -10
  179. package/dist/file-BbdFGdMV.mjs.map +1 -0
  180. package/dist/{file-utils-DcyIPFQh.mjs → file-utils-CYZnO1pX.mjs} +5 -5
  181. package/dist/file-utils-CYZnO1pX.mjs.map +1 -0
  182. package/dist/{globals-Crz8o65k.mjs → globals-DhwZj0RB.mjs} +5 -47
  183. package/dist/globals-DhwZj0RB.mjs.map +1 -0
  184. package/dist/{idp-BDbK5gjm.mjs → idp-Bx25ZBdN.mjs} +9 -1
  185. package/dist/idp-Bx25ZBdN.mjs.map +1 -0
  186. package/dist/{interceptor-D-q1rvRl.mjs → interceptor-e33JtsC-.mjs} +2 -2
  187. package/dist/interceptor-e33JtsC-.mjs.map +1 -0
  188. package/dist/kysely/index.d.mts +2 -3
  189. package/dist/{kysely-type-DR8uzZTA.mjs → kysely-type-5eAChaHO.mjs} +4 -2
  190. package/dist/kysely-type-5eAChaHO.mjs.map +1 -0
  191. package/dist/{logger-CxF-Ex5d.mjs → logger-BEiZZ3qT.mjs} +3 -3
  192. package/dist/{logger-CxF-Ex5d.mjs.map → logger-BEiZZ3qT.mjs.map} +1 -1
  193. package/dist/parser/service/auth/index.d.mts +1 -0
  194. package/dist/parser/service/auth/schema.d.mts +1 -0
  195. package/dist/parser/service/http-adapter/index.d.mts +1 -0
  196. package/dist/parser/service/http-adapter/schema.d.mts +1 -0
  197. package/dist/parser/service/idp/types.d.mts +4 -0
  198. package/dist/parser/service/tailordb/types.d.mts +126 -0
  199. package/dist/platform-serialize-RoRtBS0v.mjs +46 -0
  200. package/dist/platform-serialize-RoRtBS0v.mjs.map +1 -0
  201. package/dist/plugin/builtin/enum-constants/index.d.mts +16 -1
  202. package/dist/plugin/builtin/file-utils/index.d.mts +16 -1
  203. package/dist/plugin/builtin/file-utils/index.mjs +1 -1
  204. package/dist/plugin/builtin/kysely-type/index.d.mts +16 -1
  205. package/dist/plugin/builtin/kysely-type/index.mjs +1 -1
  206. package/dist/plugin/builtin/seed/index.d.mts +45 -1
  207. package/dist/plugin/builtin/seed/index.mjs +1 -1
  208. package/dist/plugin/get-generated-type.d.mts +17 -0
  209. package/dist/plugin/index.d.mts +3 -117
  210. package/dist/plugin/index.mjs +1 -1
  211. package/dist/plugin/index.mjs.map +1 -1
  212. package/dist/plugin/manager.d.mts +1 -0
  213. package/dist/plugin/types.d.mts +243 -0
  214. package/dist/plugin/with-context.d.mts +102 -0
  215. package/dist/{runtime-n9NCkjee.mjs → register-ts-hook-ZpBacA07.mjs} +4374 -2446
  216. package/dist/register-ts-hook-ZpBacA07.mjs.map +1 -0
  217. package/dist/{registry-DdsYlL_P.mjs → registry-DH4m7eYo.mjs} +4 -2
  218. package/dist/registry-DH4m7eYo.mjs.map +1 -0
  219. package/dist/{repl-editor-DmGr9zMw.mjs → repl-editor-BCozyiNq.mjs} +6 -5
  220. package/dist/{repl-editor-DmGr9zMw.mjs.map → repl-editor-BCozyiNq.mjs.map} +1 -1
  221. package/dist/runtime/aigateway.d.mts +35 -0
  222. package/dist/runtime/aigateway.mjs +3 -0
  223. package/dist/runtime/authconnection.d.mts +31 -2
  224. package/dist/runtime/authconnection.mjs +1 -1
  225. package/dist/runtime/context.d.mts +46 -2
  226. package/dist/runtime/file.d.mts +210 -2
  227. package/dist/runtime/file.mjs +2 -2
  228. package/dist/runtime/globals.d.mts +31 -19
  229. package/dist/runtime/iconv.d.mts +121 -2
  230. package/dist/runtime/idp.d.mts +186 -2
  231. package/dist/runtime/idp.mjs +1 -1
  232. package/dist/runtime/index.d.mts +47 -9
  233. package/dist/runtime/index.mjs +6 -5
  234. package/dist/runtime/secretmanager.d.mts +54 -2
  235. package/dist/runtime/types.d.mts +20 -0
  236. package/dist/runtime/workflow.d.mts +112 -2
  237. package/dist/runtime/workflow.mjs +2 -2
  238. package/dist/{schema-BhkpP5Hw.mjs → schema-89dYxNC2.mjs} +25 -187
  239. package/dist/schema-89dYxNC2.mjs.map +1 -0
  240. package/dist/{secret-file-DBqZhjFQ.mjs → secret-file-aoNXJmKa.mjs} +28 -3
  241. package/dist/secret-file-aoNXJmKa.mjs.map +1 -0
  242. package/dist/secretmanager-Bd45j7an.mjs +98 -0
  243. package/dist/secretmanager-Bd45j7an.mjs.map +1 -0
  244. package/dist/seed/index.d.mts +1 -2
  245. package/dist/{seed-jf3008-h.mjs → seed-CRSQJI_z.mjs} +16 -6
  246. package/dist/seed-CRSQJI_z.mjs.map +1 -0
  247. package/dist/service-CkIwEctX.mjs +3 -0
  248. package/dist/{service-DU1mVzri.mjs → service-DeZeYa06.mjs} +3 -3
  249. package/dist/{service-DU1mVzri.mjs.map → service-DeZeYa06.mjs.map} +1 -1
  250. package/dist/service-ufH7sS8o.mjs +797 -0
  251. package/dist/service-ufH7sS8o.mjs.map +1 -0
  252. package/dist/{client-z_oHGVNy.mjs → service_pb-CIrhGwHk.mjs} +38 -466
  253. package/dist/service_pb-CIrhGwHk.mjs.map +1 -0
  254. package/dist/service_pb-DjwIn4jO.mjs +3 -0
  255. package/dist/tailor-proto/src/tailor/v1/aigateway_pb.d.mts +204 -0
  256. package/dist/tailor-proto/src/tailor/v1/aigateway_resource_pb.d.mts +58 -0
  257. package/dist/tailor-proto/src/tailor/v1/application_pb.d.mts +316 -0
  258. package/dist/tailor-proto/src/tailor/v1/application_resource_pb.d.mts +161 -0
  259. package/dist/tailor-proto/src/tailor/v1/auth_pb.d.mts +2070 -0
  260. package/dist/tailor-proto/src/tailor/v1/auth_resource_pb.d.mts +861 -0
  261. package/dist/tailor-proto/src/tailor/v1/events_pb.d.mts +112 -0
  262. package/dist/tailor-proto/src/tailor/v1/events_resource_pb.d.mts +69 -0
  263. package/dist/tailor-proto/src/tailor/v1/executor_pb.d.mts +439 -0
  264. package/dist/tailor-proto/src/tailor/v1/executor_resource_pb.d.mts +564 -0
  265. package/dist/tailor-proto/src/tailor/v1/function_pb.d.mts +145 -0
  266. package/dist/tailor-proto/src/tailor/v1/function_registry_pb.d.mts +451 -0
  267. package/dist/tailor-proto/src/tailor/v1/function_resource_pb.d.mts +192 -0
  268. package/dist/tailor-proto/src/tailor/v1/http_adapter_resource_pb.d.mts +50 -0
  269. package/dist/tailor-proto/src/tailor/v1/idp_pb.d.mts +407 -0
  270. package/dist/tailor-proto/src/tailor/v1/idp_resource_pb.d.mts +430 -0
  271. package/dist/tailor-proto/src/tailor/v1/metadata_pb.d.mts +73 -0
  272. package/dist/tailor-proto/src/tailor/v1/metadata_resource_pb.d.mts +17 -0
  273. package/dist/tailor-proto/src/tailor/v1/meter_pb.d.mts +309 -0
  274. package/dist/tailor-proto/src/tailor/v1/pipeline_pb.d.mts +591 -0
  275. package/dist/tailor-proto/src/tailor/v1/pipeline_resource_pb.d.mts +330 -0
  276. package/dist/tailor-proto/src/tailor/v1/resource_pb.d.mts +113 -0
  277. package/dist/tailor-proto/src/tailor/v1/secret_manager_pb.d.mts +346 -0
  278. package/dist/tailor-proto/src/tailor/v1/secret_manager_resource_pb.d.mts +54 -0
  279. package/dist/tailor-proto/src/tailor/v1/service_pb.d.mts +3576 -0
  280. package/dist/tailor-proto/src/tailor/v1/stateflow_pb.d.mts +187 -0
  281. package/dist/tailor-proto/src/tailor/v1/stateflow_resource_pb.d.mts +29 -0
  282. package/dist/tailor-proto/src/tailor/v1/staticwebsite_pb.d.mts +429 -0
  283. package/dist/tailor-proto/src/tailor/v1/staticwebsite_resource_pb.d.mts +90 -0
  284. package/dist/tailor-proto/src/tailor/v1/tailordb_pb.d.mts +684 -0
  285. package/dist/tailor-proto/src/tailor/v1/tailordb_resource_pb.d.mts +797 -0
  286. package/dist/tailor-proto/src/tailor/v1/telemetryrouter_pb.d.mts +330 -0
  287. package/dist/tailor-proto/src/tailor/v1/telemetryrouter_resource_pb.d.mts +183 -0
  288. package/dist/tailor-proto/src/tailor/v1/workflow_pb.d.mts +842 -0
  289. package/dist/tailor-proto/src/tailor/v1/workflow_resource_pb.d.mts +276 -0
  290. package/dist/tailor-proto/src/tailor/v1/workspace_pb.d.mts +2015 -0
  291. package/dist/tailor-proto/src/tailor/v1/workspace_resource_pb.d.mts +483 -0
  292. package/dist/{telemetry-CdqJEzkj.mjs → telemetry-BRVdwh14.mjs} +3 -3
  293. package/dist/telemetry-BRVdwh14.mjs.map +1 -0
  294. package/dist/telemetry-CkbkeJxl.mjs +3 -0
  295. package/dist/test-env-key-D7UkZp99.mjs +75 -0
  296. package/dist/test-env-key-D7UkZp99.mjs.map +1 -0
  297. package/dist/types/aigateway.generated.d.mts +9 -0
  298. package/dist/types/app-config.generated.d.mts +4 -0
  299. package/dist/types/auth-connection.generated.d.mts +20 -0
  300. package/dist/types/auth.generated.d.mts +145 -0
  301. package/dist/types/executor.generated.d.mts +177 -0
  302. package/dist/types/helpers.d.mts +39 -0
  303. package/dist/types/http-adapter.generated.d.mts +17 -0
  304. package/dist/{workflow.generated-DtQwEo-x.d.mts → types/idp.generated.d.mts} +98 -185
  305. package/dist/types/resolver.generated.d.mts +39 -0
  306. package/dist/types/secrets.generated.d.mts +14 -0
  307. package/dist/types/staticwebsite.generated.d.mts +10 -0
  308. package/dist/types/tailordb.generated.d.mts +428 -0
  309. package/dist/types/workflow.generated.d.mts +12 -0
  310. package/dist/types-C-lQ4se3.mjs +4 -0
  311. package/dist/types-CXF2OYdR.mjs +199 -0
  312. package/dist/types-CXF2OYdR.mjs.map +1 -0
  313. package/dist/utils/test/index.d.mts +5 -98
  314. package/dist/utils/test/index.mjs +4 -13
  315. package/dist/utils/test/index.mjs.map +1 -1
  316. package/dist/utils/test/mock.d.mts +87 -0
  317. package/dist/vitest/environment.d.mts +1 -2
  318. package/dist/vitest/environment.mjs +2 -2
  319. package/dist/vitest/environment.mjs.map +1 -1
  320. package/dist/vitest/index.d.mts +12 -428
  321. package/dist/vitest/index.mjs +741 -10
  322. package/dist/vitest/index.mjs.map +1 -1
  323. package/dist/vitest/mock-kysely.d.mts +62 -0
  324. package/dist/vitest/mock.d.mts +9 -0
  325. package/dist/vitest/mocks/aigateway.d.mts +30 -0
  326. package/dist/vitest/mocks/authconnection.d.mts +28 -0
  327. package/dist/vitest/mocks/file.d.mts +41 -0
  328. package/dist/vitest/mocks/iconv.d.mts +27 -0
  329. package/dist/vitest/mocks/idp.d.mts +44 -0
  330. package/dist/vitest/mocks/secretmanager.d.mts +33 -0
  331. package/dist/vitest/mocks/tailordb.d.mts +71 -0
  332. package/dist/vitest/mocks/workflow.d.mts +115 -0
  333. package/dist/vitest/setup.d.mts +1 -2
  334. package/dist/vitest/setup.mjs +2 -2
  335. package/dist/vitest/workflow-local.d.mts +40 -0
  336. package/dist/{workflow-DgemCAz3.mjs → workflow-Bo59B75H.mjs} +16 -4
  337. package/dist/workflow-Bo59B75H.mjs.map +1 -0
  338. package/docs/cli/application.md +98 -250
  339. package/docs/cli/auth.md +48 -292
  340. package/docs/cli/completion.md +1 -25
  341. package/docs/cli/crashreport.md +3 -61
  342. package/docs/cli/executor.md +72 -183
  343. package/docs/cli/function.md +14 -130
  344. package/docs/cli/organization.md +11 -221
  345. package/docs/cli/plugin.md +29 -0
  346. package/docs/cli/query.md +2 -22
  347. package/docs/cli/secret.md +71 -251
  348. package/docs/cli/setup.md +138 -40
  349. package/docs/cli/skills.md +50 -39
  350. package/docs/cli/staticwebsite.md +32 -180
  351. package/docs/cli/tailordb.md +97 -323
  352. package/docs/cli/upgrade.md +2 -22
  353. package/docs/cli/user.md +78 -247
  354. package/docs/cli/workflow.md +150 -172
  355. package/docs/cli/workspace.md +165 -538
  356. package/docs/cli-reference.md +184 -78
  357. package/docs/configuration.md +10 -4
  358. package/docs/github-actions.md +64 -24
  359. package/docs/migration/v2.md +735 -0
  360. package/docs/multi-environment.md +29 -7
  361. package/docs/plugin/index.md +6 -6
  362. package/docs/quickstart.md +8 -7
  363. package/docs/runtime.md +6 -2
  364. package/docs/services/aigateway.md +18 -2
  365. package/docs/services/auth.md +44 -52
  366. package/docs/services/executor.md +3 -3
  367. package/docs/services/http-adapter.md +16 -1
  368. package/docs/services/idp.md +55 -2
  369. package/docs/services/resolver.md +7 -7
  370. package/docs/services/secret.md +11 -11
  371. package/docs/services/staticwebsite.md +8 -2
  372. package/docs/services/tailordb-migration.md +24 -22
  373. package/docs/services/tailordb.md +39 -14
  374. package/docs/services/workflow.md +18 -18
  375. package/docs/testing.md +108 -50
  376. package/package.json +46 -35
  377. package/postinstall.mjs +4 -6
  378. package/dist/application-DB2r36Et.mjs +0 -3
  379. package/dist/application-DqS1yBg3.mjs.map +0 -1
  380. package/dist/authconnection-D2MhtTN5.mjs.map +0 -1
  381. package/dist/authconnection-DvUQAjQS.d.mts +0 -39
  382. package/dist/client-Dbohmtkv.mjs +0 -3
  383. package/dist/client-z_oHGVNy.mjs.map +0 -1
  384. package/dist/context-BuuIb8CC.d.mts +0 -68
  385. package/dist/errors-Dtf2WPaW.mjs.map +0 -1
  386. package/dist/field-DOsJCPFa.mjs +0 -22
  387. package/dist/field-DOsJCPFa.mjs.map +0 -1
  388. package/dist/file-BB8Vs9O_.d.mts +0 -250
  389. package/dist/file-_oUZo76X.mjs.map +0 -1
  390. package/dist/file-utils-DcyIPFQh.mjs.map +0 -1
  391. package/dist/globals-Crz8o65k.mjs.map +0 -1
  392. package/dist/http-adapter.generated-WgMnb7Sb.d.mts +0 -580
  393. package/dist/iconv-Co-TOPuH.d.mts +0 -122
  394. package/dist/idp-BDbK5gjm.mjs.map +0 -1
  395. package/dist/idp-DrhVrLmV.d.mts +0 -160
  396. package/dist/index-5vPyRu1y.d.mts +0 -18
  397. package/dist/index-B7AKc18V.d.mts +0 -47
  398. package/dist/index-BlpzXncY.d.mts +0 -1016
  399. package/dist/index-CK7u9isy.d.mts +0 -46
  400. package/dist/index-CNYe5lnW.d.mts +0 -18
  401. package/dist/index-DjUdWlzf.d.mts +0 -18
  402. package/dist/index-ZePLwxw7.d.mts +0 -208
  403. package/dist/interceptor-D-q1rvRl.mjs.map +0 -1
  404. package/dist/job-fuc3j1Ma.mjs +0 -53
  405. package/dist/job-fuc3j1Ma.mjs.map +0 -1
  406. package/dist/kysely-type-DR8uzZTA.mjs.map +0 -1
  407. package/dist/mock-BjFj5o1I.mjs +0 -804
  408. package/dist/mock-BjFj5o1I.mjs.map +0 -1
  409. package/dist/registry-DdsYlL_P.mjs.map +0 -1
  410. package/dist/runtime-n9NCkjee.mjs.map +0 -1
  411. package/dist/schema-BhkpP5Hw.mjs.map +0 -1
  412. package/dist/secret-file-DBqZhjFQ.mjs.map +0 -1
  413. package/dist/secretmanager-B3n4KHfm.d.mts +0 -55
  414. package/dist/seed-jf3008-h.mjs.map +0 -1
  415. package/dist/service-CCL8ruDf.mjs +0 -459
  416. package/dist/service-CCL8ruDf.mjs.map +0 -1
  417. package/dist/service-D6yonf2I.mjs +0 -3
  418. package/dist/telemetry-CdqJEzkj.mjs.map +0 -1
  419. package/dist/telemetry-ClwW5ohF.mjs +0 -3
  420. package/dist/test-env-key-D9kM6ETE.mjs +0 -49
  421. package/dist/test-env-key-D9kM6ETE.mjs.map +0 -1
  422. package/dist/types-B2RpYyA_.mjs +0 -371
  423. package/dist/types-B2RpYyA_.mjs.map +0 -1
  424. package/dist/types-ClhIrW_C.mjs +0 -4
  425. package/dist/types-DCUhgpyI.d.mts +0 -784
  426. package/dist/types-DhO_VEZd.d.mts +0 -574
  427. package/dist/types-DwDgacni.d.mts +0 -338
  428. package/dist/workflow-BbKvGLQg.d.mts +0 -96
  429. package/dist/workflow-DgemCAz3.mjs.map +0 -1
@@ -0,0 +1,26 @@
1
+ import { Plugin } from "../../plugin/types.mjs";
2
+ import { AppConfig } from "../../configure/config/types.mjs";
3
+
4
+ //#region src/cli/shared/config-loader.d.ts
5
+ /**
6
+ * Loaded configuration with resolved path
7
+ */
8
+ type LoadedConfig = AppConfig & {
9
+ path: string;
10
+ };
11
+ interface LoadConfigOptions {
12
+ /** Import cache-busting value for watch-mode reloads. */
13
+ importNonce?: string;
14
+ }
15
+ /**
16
+ * Load Tailor configuration file and associated plugins.
17
+ * @param configPath - Optional explicit config path
18
+ * @param options - Optional module import behavior.
19
+ * @returns Loaded config, plugins, and config path
20
+ */
21
+ declare function loadConfig(configPath?: string, options?: LoadConfigOptions): Promise<{
22
+ config: LoadedConfig;
23
+ plugins: Plugin[];
24
+ }>;
25
+ //#endregion
26
+ export { LoadConfigOptions, LoadedConfig, loadConfig };
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/cli/shared/context.d.ts
4
+ type LoadWorkspaceIdOptions = {
5
+ workspaceId?: string;
6
+ profile?: string;
7
+ };
8
+ type LoadAccessTokenOptions = {
9
+ profile?: string;
10
+ };
11
+ /**
12
+ * Load workspace ID from command options, environment variables, or platform config.
13
+ * In CLI context, env fallback is also handled by politty's arg env option.
14
+ * Priority: opts/workspaceId > env/workspaceId > opts/profile > error
15
+ * @param opts - Workspace and profile options
16
+ * @returns Resolved workspace ID
17
+ */
18
+ declare function loadWorkspaceId(opts?: LoadWorkspaceIdOptions): Promise<string>;
19
+ /**
20
+ * Load access token from environment variables, command options, or platform config.
21
+ * In CLI context, profile env fallback is also handled by politty's arg env option.
22
+ * Priority: env/TAILOR_PLATFORM_TOKEN > env/TAILOR_TOKEN (deprecated) > opts/profile > env/profile > config/currentUser > error
23
+ * @param opts - Profile options
24
+ * @returns Resolved access token
25
+ */
26
+ declare function loadAccessToken(opts?: LoadAccessTokenOptions): Promise<string>;
27
+ //#endregion
28
+ export { loadAccessToken, loadWorkspaceId };
@@ -0,0 +1,75 @@
1
+ import { AuthInvoker } from "../../tailor-proto/src/tailor/v1/auth_resource_pb.mjs";
2
+ import { FunctionExecution_Status } from "../../tailor-proto/src/tailor/v1/function_resource_pb.mjs";
3
+ import { OperatorClient } from "./client.mjs";
4
+ import { Jsonifiable } from "type-fest";
5
+
6
+ //#region src/cli/shared/script-executor.d.ts
7
+ /**
8
+ * Options for script execution
9
+ */
10
+ interface ScriptExecutionOptions<T extends Jsonifiable = Jsonifiable> {
11
+ /** Operator client instance */
12
+ client: OperatorClient;
13
+ /** Workspace ID */
14
+ workspaceId: string;
15
+ /** Script name (for identification) */
16
+ name: string;
17
+ /** Bundled script code to execute */
18
+ code: string;
19
+ /** Optional JSON-serializable argument to pass to the script */
20
+ arg?: T;
21
+ /** Auth invoker for script execution */
22
+ invoker: AuthInvoker;
23
+ /** Polling interval in milliseconds (default: 1000ms) */
24
+ pollInterval?: number;
25
+ }
26
+ /**
27
+ * Result of script execution
28
+ */
29
+ interface ScriptExecutionResult {
30
+ /** Whether the script executed successfully */
31
+ success: boolean;
32
+ /** Logs output from the script execution */
33
+ logs: string;
34
+ /** Result value from the script execution */
35
+ result: string;
36
+ /** Error message if execution failed */
37
+ error?: string;
38
+ }
39
+ /**
40
+ * Result from waiting for execution completion
41
+ */
42
+ interface ExecutionWaitResult {
43
+ /** Execution status */
44
+ status: FunctionExecution_Status;
45
+ /** Logs output from the execution */
46
+ logs: string;
47
+ /** Result value from the execution */
48
+ result: string;
49
+ }
50
+ /**
51
+ * Wait for a function execution to complete
52
+ *
53
+ * Polls the getFunctionExecution API until the execution reaches a terminal state
54
+ * (SUCCESS or FAILED).
55
+ * @param {OperatorClient} client - Operator client instance
56
+ * @param {string} workspaceId - Workspace ID
57
+ * @param {string} executionId - Execution ID to wait for
58
+ * @param {number} [pollInterval] - Polling interval in milliseconds (default: 1000ms)
59
+ * @returns {Promise<ExecutionWaitResult>} Execution result
60
+ * @throws {Error} If execution is not found
61
+ */
62
+ declare function waitForExecution(client: OperatorClient, workspaceId: string, executionId: string, pollInterval?: number): Promise<ExecutionWaitResult>;
63
+ /**
64
+ * Execute a script via TestExecScript API and wait for completion
65
+ *
66
+ * This function:
67
+ * 1. Calls testExecScript API to start execution
68
+ * 2. Polls getFunctionExecution until completion
69
+ * 3. Returns structured result with success/failure status
70
+ * @param {ScriptExecutionOptions} options - Execution options
71
+ * @returns {Promise<ScriptExecutionResult>} Execution result
72
+ */
73
+ declare function executeScript<T extends Jsonifiable = Jsonifiable>(options: ScriptExecutionOptions<T>): Promise<ScriptExecutionResult>;
74
+ //#endregion
75
+ export { ExecutionWaitResult, ScriptExecutionOptions, ScriptExecutionResult, executeScript, waitForExecution };
@@ -0,0 +1,46 @@
1
+ //#region src/cli/shared/seed-chunker.d.ts
2
+ /**
3
+ * Seed data chunker for splitting large seed data into manageable message sizes.
4
+ *
5
+ * When seed data exceeds the gRPC message size limit, this module splits the data
6
+ * into multiple chunks at type boundaries (or record boundaries for large types).
7
+ */
8
+ /**
9
+ * Seed data keyed by type name, with an array of records per type.
10
+ */
11
+ type SeedData = Record<string, Record<string, unknown>[]>;
12
+ /**
13
+ * A single chunk of seed data with metadata for ordered execution.
14
+ */
15
+ type SeedChunk = {
16
+ data: SeedData;
17
+ order: string[];
18
+ index: number;
19
+ total: number;
20
+ };
21
+ /**
22
+ * Options for chunking seed data.
23
+ */
24
+ type ChunkSeedDataOptions = {
25
+ /** Seed data keyed by type name */data: SeedData; /** Ordered list of type names (dependency order) */
26
+ order: string[]; /** Byte size of the bundled seed script code */
27
+ codeByteSize: number; /** Maximum gRPC message size in bytes (default: 3.5MB) */
28
+ maxMessageSize?: number;
29
+ };
30
+ /**
31
+ * Split seed data into chunks that fit within the gRPC message size limit.
32
+ *
33
+ * Algorithm:
34
+ * 1. Calculate the available budget for the arg field (maxMessageSize - codeByteSize - overhead)
35
+ * 2. If all data fits in one message, return a single chunk
36
+ * 3. Otherwise, iterate through types in dependency order:
37
+ * - If a type fits in the current chunk, add it
38
+ * - If adding a type would exceed the budget, finalize the current chunk and start a new one
39
+ * - If a single type exceeds the budget, split its records across multiple chunks
40
+ * - If a single record exceeds the budget, throw an error
41
+ * @param options - Chunking options
42
+ * @returns Array of seed chunks
43
+ */
44
+ declare function chunkSeedData(options: ChunkSeedDataOptions): SeedChunk[];
45
+ //#endregion
46
+ export { ChunkSeedDataOptions, SeedChunk, SeedData, chunkSeedData };
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,20 @@
1
+ import { AppConfig } from "../../configure/config/types.mjs";
2
+
3
+ //#region src/cli/shared/type-generator.d.ts
4
+ /**
5
+ * Options for generating user type definitions
6
+ */
7
+ interface GenerateUserTypesOptions {
8
+ /** Application config */
9
+ config: AppConfig;
10
+ /** Path to Tailor config file */
11
+ configPath: string;
12
+ }
13
+ /**
14
+ * Generate user type definitions from the app config and write them to disk.
15
+ * @param options - Generation options
16
+ * @returns Promise that resolves when types are generated
17
+ */
18
+ declare function generateUserTypes(options: GenerateUserTypesOptions): Promise<void>;
19
+ //#endregion
20
+ export { generateUserTypes };
@@ -0,0 +1,4 @@
1
+ export declare function resolve(...args: unknown[]): Promise<unknown>;
2
+ export declare function load(...args: unknown[]): Promise<unknown>;
3
+ export declare function resolveSync(...args: unknown[]): unknown;
4
+ export declare function loadSync(...args: unknown[]): unknown;
@@ -0,0 +1,303 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { readFile } from "node:fs/promises";
3
+ import { dirname, join, resolve as resolvePath } from "node:path";
4
+ import { fileURLToPath, pathToFileURL } from "node:url";
5
+ // Node.js module hook: TypeScript resolver + type stripper via amaro.
6
+ // Registered programmatically so the CLI can import user .ts files without
7
+ // requiring --experimental-strip-types at process startup.
8
+ import { transformSync } from "amaro";
9
+
10
+ const TS_EXTENSIONS = [".ts", ".mts"];
11
+ const JS_TO_TS = new Map([
12
+ [".js", ".ts"],
13
+ [".mjs", ".mts"],
14
+ ]);
15
+
16
+ // --- tsconfig paths resolution ---
17
+
18
+ const tsconfigPathsCache = new Map();
19
+
20
+ function collectPathsInto(out, configFilePath, content, visited) {
21
+ if (visited.has(configFilePath)) return;
22
+ visited.add(configFilePath);
23
+
24
+ const baseDir = dirname(configFilePath);
25
+
26
+ const extendsField = content.extends;
27
+ if (typeof extendsField === "string") {
28
+ const base = resolvePath(baseDir, extendsField);
29
+ const extendsPath = base.endsWith(".json") ? base : base + ".json";
30
+ try {
31
+ const sub = JSON.parse(readFileSync(extendsPath, "utf-8"));
32
+ collectPathsInto(out, extendsPath, sub, visited);
33
+ } catch (e) {
34
+ if (e?.code !== "ENOENT" && !(e instanceof SyntaxError)) throw e;
35
+ }
36
+ }
37
+
38
+ const opts = content.compilerOptions ?? {};
39
+ const rawPaths = opts.paths;
40
+ const baseUrl = opts.baseUrl;
41
+ if (rawPaths && baseUrl) {
42
+ const absBase = resolvePath(baseDir, baseUrl);
43
+ for (const [alias, targets] of Object.entries(rawPaths)) {
44
+ out[alias] = targets.map((t) => {
45
+ const isWildcard = t.endsWith("/*");
46
+ const resolved = resolvePath(absBase, isWildcard ? t.slice(0, -2) : t);
47
+ return pathToFileURL(resolved).href + (isWildcard ? "/*" : "");
48
+ });
49
+ }
50
+ }
51
+ }
52
+
53
+ function loadTsconfigPaths(startDir) {
54
+ if (tsconfigPathsCache.has(startDir)) return tsconfigPathsCache.get(startDir);
55
+
56
+ const paths = Object.create(null);
57
+ let dir = startDir;
58
+ let prev = "";
59
+ while (dir !== prev) {
60
+ try {
61
+ const configFilePath = join(dir, "tsconfig.json");
62
+ const content = JSON.parse(readFileSync(configFilePath, "utf-8"));
63
+ collectPathsInto(paths, configFilePath, content, new Set());
64
+ break;
65
+ } catch (e) {
66
+ if (e?.code !== "ENOENT" && !(e instanceof SyntaxError)) throw e;
67
+ if (e instanceof SyntaxError) break;
68
+ }
69
+ prev = dir;
70
+ dir = dirname(dir);
71
+ }
72
+
73
+ tsconfigPathsCache.set(startDir, paths);
74
+ return paths;
75
+ }
76
+
77
+ function matchTsconfigPaths(specifier, paths) {
78
+ if (paths[specifier]?.length > 0) {
79
+ return paths[specifier];
80
+ }
81
+ const wildcardEntries = Object.entries(paths)
82
+ .filter(([alias]) => alias.endsWith("/*"))
83
+ .toSorted((a, b) => b[0].length - a[0].length);
84
+ for (const [alias, targets] of wildcardEntries) {
85
+ const prefix = alias.slice(0, -2);
86
+ if (specifier.startsWith(prefix + "/")) {
87
+ const rest = specifier.slice(prefix.length + 1);
88
+ return targets.map((t) => (t.endsWith("/*") ? t.slice(0, -2) + "/" + rest : t));
89
+ }
90
+ }
91
+ return null;
92
+ }
93
+
94
+ async function tryResolveWithExtensions(base, context, nextResolve) {
95
+ if (!TS_EXTENSIONS.some((ext) => base.endsWith(ext))) {
96
+ for (const ext of TS_EXTENSIONS) {
97
+ for (const suffix of ["", "/index"]) {
98
+ try {
99
+ return await nextResolve(base + suffix + ext, context);
100
+ } catch (e) {
101
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
102
+ }
103
+ }
104
+ }
105
+ }
106
+ try {
107
+ return await nextResolve(base, context);
108
+ } catch (e) {
109
+ const code = e?.code;
110
+ if (code !== "ERR_MODULE_NOT_FOUND" && code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw e;
111
+ }
112
+ return null;
113
+ }
114
+
115
+ function tryResolveWithExtensionsSync(base, context, nextResolve) {
116
+ if (!TS_EXTENSIONS.some((ext) => base.endsWith(ext))) {
117
+ for (const ext of TS_EXTENSIONS) {
118
+ for (const suffix of ["", "/index"]) {
119
+ try {
120
+ return nextResolve(base + suffix + ext, context);
121
+ } catch (e) {
122
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
123
+ }
124
+ }
125
+ }
126
+ }
127
+ try {
128
+ return nextResolve(base, context);
129
+ } catch (e) {
130
+ const code = e?.code;
131
+ if (code !== "ERR_MODULE_NOT_FOUND" && code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw e;
132
+ }
133
+ return null;
134
+ }
135
+
136
+ // --- module hooks ---
137
+
138
+ export async function resolve(specifier, context, nextResolve) {
139
+ try {
140
+ return await nextResolve(specifier, context);
141
+ } catch (err) {
142
+ if (err.code !== "ERR_MODULE_NOT_FOUND" && err.code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw err;
143
+
144
+ if (
145
+ err.code === "ERR_UNSUPPORTED_DIR_IMPORT" &&
146
+ (specifier.startsWith(".") || specifier.startsWith("/"))
147
+ ) {
148
+ for (const ext of TS_EXTENSIONS) {
149
+ try {
150
+ return await nextResolve(specifier + "/index" + ext, context);
151
+ } catch (e) {
152
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
153
+ }
154
+ }
155
+ throw err;
156
+ }
157
+
158
+ if (!specifier.startsWith(".") && !specifier.startsWith("/")) {
159
+ // Non-relative: try tsconfig path aliases
160
+ if (context.parentURL?.startsWith("file://")) {
161
+ const parentParsed = new URL(context.parentURL);
162
+ parentParsed.search = "";
163
+ parentParsed.hash = "";
164
+ const parentDir = dirname(fileURLToPath(parentParsed));
165
+ const tsconfigPaths = loadTsconfigPaths(parentDir);
166
+ const candidates = matchTsconfigPaths(specifier, tsconfigPaths);
167
+ if (candidates) {
168
+ for (const candidate of candidates) {
169
+ const result = await tryResolveWithExtensions(candidate, context, nextResolve);
170
+ if (result) return result;
171
+ }
172
+ }
173
+ }
174
+ throw err;
175
+ }
176
+
177
+ const lastSegment = specifier.split("/").pop() ?? "";
178
+ if (!lastSegment.includes(".")) {
179
+ for (const ext of TS_EXTENSIONS) {
180
+ try {
181
+ return await nextResolve(specifier + ext, context);
182
+ } catch (e) {
183
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
184
+ }
185
+ }
186
+ }
187
+
188
+ for (const [jsExt, tsExt] of JS_TO_TS) {
189
+ if (specifier.endsWith(jsExt)) {
190
+ try {
191
+ return await nextResolve(specifier.slice(0, -jsExt.length) + tsExt, context);
192
+ } catch (e) {
193
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
194
+ }
195
+ }
196
+ }
197
+
198
+ throw err;
199
+ }
200
+ }
201
+
202
+ export async function load(url, context, nextLoad) {
203
+ if (url.startsWith("file:")) {
204
+ const parsedUrl = new URL(url);
205
+ if (
206
+ TS_EXTENSIONS.some((ext) => parsedUrl.pathname.endsWith(ext)) &&
207
+ !parsedUrl.pathname.endsWith(".d.ts") &&
208
+ !parsedUrl.pathname.endsWith(".d.mts")
209
+ ) {
210
+ parsedUrl.search = "";
211
+ parsedUrl.hash = "";
212
+ const filePath = fileURLToPath(parsedUrl);
213
+ const source = await readFile(filePath, "utf-8");
214
+ const { code } = transformSync(source, { mode: "transform", filename: filePath });
215
+ return { format: "module", shortCircuit: true, source: `${code}\n//# sourceURL=${url}` };
216
+ }
217
+ }
218
+ return nextLoad(url, context);
219
+ }
220
+
221
+ // Sync hooks for module.registerHooks() (Node >= 22.15.0).
222
+ export function resolveSync(specifier, context, nextResolve) {
223
+ try {
224
+ return nextResolve(specifier, context);
225
+ } catch (err) {
226
+ if (err.code !== "ERR_MODULE_NOT_FOUND" && err.code !== "ERR_UNSUPPORTED_DIR_IMPORT") throw err;
227
+
228
+ if (
229
+ err.code === "ERR_UNSUPPORTED_DIR_IMPORT" &&
230
+ (specifier.startsWith(".") || specifier.startsWith("/"))
231
+ ) {
232
+ for (const ext of TS_EXTENSIONS) {
233
+ try {
234
+ return nextResolve(specifier + "/index" + ext, context);
235
+ } catch (e) {
236
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
237
+ }
238
+ }
239
+ throw err;
240
+ }
241
+
242
+ if (!specifier.startsWith(".") && !specifier.startsWith("/")) {
243
+ // Non-relative: try tsconfig path aliases
244
+ if (context.parentURL?.startsWith("file://")) {
245
+ const parentParsed = new URL(context.parentURL);
246
+ parentParsed.search = "";
247
+ parentParsed.hash = "";
248
+ const parentDir = dirname(fileURLToPath(parentParsed));
249
+ const tsconfigPaths = loadTsconfigPaths(parentDir);
250
+ const candidates = matchTsconfigPaths(specifier, tsconfigPaths);
251
+ if (candidates) {
252
+ for (const candidate of candidates) {
253
+ const result = tryResolveWithExtensionsSync(candidate, context, nextResolve);
254
+ if (result) return result;
255
+ }
256
+ }
257
+ }
258
+ throw err;
259
+ }
260
+
261
+ const lastSegment = specifier.split("/").pop() ?? "";
262
+ if (!lastSegment.includes(".")) {
263
+ for (const ext of TS_EXTENSIONS) {
264
+ try {
265
+ return nextResolve(specifier + ext, context);
266
+ } catch (e) {
267
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
268
+ }
269
+ }
270
+ }
271
+
272
+ for (const [jsExt, tsExt] of JS_TO_TS) {
273
+ if (specifier.endsWith(jsExt)) {
274
+ try {
275
+ return nextResolve(specifier.slice(0, -jsExt.length) + tsExt, context);
276
+ } catch (e) {
277
+ if (e?.code !== "ERR_MODULE_NOT_FOUND") throw e;
278
+ }
279
+ }
280
+ }
281
+
282
+ throw err;
283
+ }
284
+ }
285
+
286
+ export function loadSync(url, context, nextLoad) {
287
+ if (url.startsWith("file:")) {
288
+ const parsedUrl = new URL(url);
289
+ if (
290
+ TS_EXTENSIONS.some((ext) => parsedUrl.pathname.endsWith(ext)) &&
291
+ !parsedUrl.pathname.endsWith(".d.ts") &&
292
+ !parsedUrl.pathname.endsWith(".d.mts")
293
+ ) {
294
+ parsedUrl.search = "";
295
+ parsedUrl.hash = "";
296
+ const filePath = fileURLToPath(parsedUrl);
297
+ const source = readFileSync(filePath, "utf-8");
298
+ const { code } = transformSync(source, { mode: "transform", filename: filePath });
299
+ return { format: "module", shortCircuit: true, source: `${code}\n//# sourceURL=${url}` };
300
+ }
301
+ }
302
+ return nextLoad(url, context);
303
+ }