target-supabase-sdk 0.1.9 → 0.2.1

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 (464) hide show
  1. package/README.md +184 -1
  2. package/dist/browser.d.ts +60 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +6 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/chunks/create-logger-DyH3mZ8p.js +1028 -0
  7. package/dist/chunks/create-logger-DyH3mZ8p.js.map +1 -0
  8. package/dist/chunks/enable-log-persist-C_bSw6Kx.js +1362 -0
  9. package/dist/chunks/enable-log-persist-C_bSw6Kx.js.map +1 -0
  10. package/dist/chunks/word.interface-DLgRobKV.js +1973 -0
  11. package/dist/chunks/word.interface-DLgRobKV.js.map +1 -0
  12. package/dist/command/command.api.d.ts +1 -1
  13. package/dist/command/command.api.d.ts.map +1 -1
  14. package/dist/command/command.interface.d.ts +1 -1
  15. package/dist/command/command.interface.d.ts.map +1 -1
  16. package/dist/core.api.d.ts +10 -6
  17. package/dist/core.api.d.ts.map +1 -1
  18. package/dist/core.interface.d.ts +3 -2
  19. package/dist/core.interface.d.ts.map +1 -1
  20. package/dist/core.utils.d.ts +1 -1
  21. package/dist/core.utils.d.ts.map +1 -1
  22. package/dist/idea/idea.interface.d.ts +1 -1
  23. package/dist/idea/idea.interface.d.ts.map +1 -1
  24. package/dist/index.d.ts +2 -48
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/link/link.api.d.ts +1 -1
  27. package/dist/link/link.api.d.ts.map +1 -1
  28. package/dist/link/link.interface.d.ts +3 -3
  29. package/dist/link/link.interface.d.ts.map +1 -1
  30. package/dist/list/list.api.d.ts +3 -1
  31. package/dist/list/list.api.d.ts.map +1 -1
  32. package/dist/list/list.interface.d.ts +2 -2
  33. package/dist/list/list.interface.d.ts.map +1 -1
  34. package/dist/node/env/env-parsers.d.ts +19 -0
  35. package/dist/node/env/env-parsers.d.ts.map +1 -0
  36. package/dist/node/env/index.d.ts +11 -0
  37. package/dist/node/env/index.d.ts.map +1 -0
  38. package/dist/node/env/init-supabase-from-env.d.ts +17 -0
  39. package/dist/node/env/init-supabase-from-env.d.ts.map +1 -0
  40. package/dist/node/env/load-env.d.ts +20 -0
  41. package/dist/node/env/load-env.d.ts.map +1 -0
  42. package/dist/node/env/project-root.d.ts +11 -0
  43. package/dist/node/env/project-root.d.ts.map +1 -0
  44. package/dist/node/env/public-base-url.d.ts +10 -0
  45. package/dist/node/env/public-base-url.d.ts.map +1 -0
  46. package/dist/node/env/require-env.d.ts +3 -0
  47. package/dist/node/env/require-env.d.ts.map +1 -0
  48. package/dist/node/fs/json-state-store.d.ts +19 -0
  49. package/dist/node/fs/json-state-store.d.ts.map +1 -0
  50. package/dist/node/fs/read-source-file.d.ts +19 -0
  51. package/dist/node/fs/read-source-file.d.ts.map +1 -0
  52. package/dist/node/node-liveness.d.ts +30 -0
  53. package/dist/node/node-liveness.d.ts.map +1 -0
  54. package/dist/node/node-runtime.base.d.ts +60 -0
  55. package/dist/node/node-runtime.base.d.ts.map +1 -0
  56. package/dist/node/node.api.d.ts +4 -4
  57. package/dist/node/node.api.d.ts.map +1 -1
  58. package/dist/node/node.interface.d.ts +1 -6
  59. package/dist/node/node.interface.d.ts.map +1 -1
  60. package/dist/node/preload/run-service-preload.d.ts +14 -0
  61. package/dist/node/preload/run-service-preload.d.ts.map +1 -0
  62. package/dist/node/preload/service-preload.interface.d.ts +15 -0
  63. package/dist/node/preload/service-preload.interface.d.ts.map +1 -0
  64. package/dist/node/process/index.d.ts +5 -0
  65. package/dist/node/process/index.d.ts.map +1 -0
  66. package/dist/node/process/managed-child-processes.d.ts +37 -0
  67. package/dist/node/process/managed-child-processes.d.ts.map +1 -0
  68. package/dist/node/process/process-spawn.d.ts +27 -0
  69. package/dist/node/process/process-spawn.d.ts.map +1 -0
  70. package/dist/node/readiness/index.d.ts +9 -0
  71. package/dist/node/readiness/index.d.ts.map +1 -0
  72. package/dist/node/readiness/poll-until.d.ts +11 -0
  73. package/dist/node/readiness/poll-until.d.ts.map +1 -0
  74. package/dist/node/readiness/readiness-checks.d.ts +22 -0
  75. package/dist/node/readiness/readiness-checks.d.ts.map +1 -0
  76. package/dist/node/readiness/readiness.types.d.ts +12 -0
  77. package/dist/node/readiness/readiness.types.d.ts.map +1 -0
  78. package/dist/node/readiness/run-readiness-checks.d.ts +4 -0
  79. package/dist/node/readiness/run-readiness-checks.d.ts.map +1 -0
  80. package/dist/node/readiness/service-ready-gate.d.ts +26 -0
  81. package/dist/node/readiness/service-ready-gate.d.ts.map +1 -0
  82. package/dist/node.d.ts +36 -0
  83. package/dist/node.d.ts.map +1 -0
  84. package/dist/node.js +2483 -0
  85. package/dist/node.js.map +1 -0
  86. package/dist/parcel/chunk-fetch-registry.d.ts +14 -0
  87. package/dist/parcel/chunk-fetch-registry.d.ts.map +1 -0
  88. package/dist/parcel/chunk-url.utils.d.ts +9 -0
  89. package/dist/parcel/chunk-url.utils.d.ts.map +1 -0
  90. package/dist/parcel/parcel-manager.d.ts +44 -20
  91. package/dist/parcel/parcel-manager.d.ts.map +1 -1
  92. package/dist/parcel/parcel.api.d.ts +306 -0
  93. package/dist/parcel/parcel.api.d.ts.map +1 -0
  94. package/dist/parcel/parcel.interface.d.ts +26 -5
  95. package/dist/parcel/parcel.interface.d.ts.map +1 -1
  96. package/dist/parcel/parcel.service.d.ts +38 -0
  97. package/dist/parcel/parcel.service.d.ts.map +1 -0
  98. package/dist/parcel/storage-provider-registry.d.ts +17 -0
  99. package/dist/parcel/storage-provider-registry.d.ts.map +1 -0
  100. package/dist/parcel/storage-provider.types.d.ts +31 -0
  101. package/dist/parcel/storage-provider.types.d.ts.map +1 -0
  102. package/dist/preload.d.ts +7 -0
  103. package/dist/preload.d.ts.map +1 -0
  104. package/dist/preload.js +47 -0
  105. package/dist/preload.js.map +1 -0
  106. package/dist/repo/repo-context.utils.d.ts.map +1 -1
  107. package/dist/repo/repo-manager.d.ts +14 -3
  108. package/dist/repo/repo-manager.d.ts.map +1 -1
  109. package/dist/repo/repo.api.d.ts +1 -1
  110. package/dist/repo/repo.api.d.ts.map +1 -1
  111. package/dist/repo/repo.interface.d.ts +1 -1
  112. package/dist/repo/repo.interface.d.ts.map +1 -1
  113. package/dist/repo/repo.script-loader.d.ts +5 -5
  114. package/dist/repo/repo.script-loader.d.ts.map +1 -1
  115. package/dist/service/base.interface.d.ts +54 -57
  116. package/dist/service/base.interface.d.ts.map +1 -1
  117. package/dist/service/index.d.ts +21 -0
  118. package/dist/service/index.d.ts.map +1 -0
  119. package/dist/service/service.api.d.ts +503 -0
  120. package/dist/service/service.api.d.ts.map +1 -0
  121. package/dist/service/service.interface.d.ts +36 -9
  122. package/dist/service/service.interface.d.ts.map +1 -1
  123. package/dist/shared/http/fetch-retry.d.ts +21 -0
  124. package/dist/shared/http/fetch-retry.d.ts.map +1 -0
  125. package/dist/shared/log/create-logger.d.ts +27 -0
  126. package/dist/shared/log/create-logger.d.ts.map +1 -0
  127. package/dist/shared/log/enable-log-persist.d.ts +28 -0
  128. package/dist/shared/log/enable-log-persist.d.ts.map +1 -0
  129. package/dist/shared/log/index.d.ts +10 -0
  130. package/dist/shared/log/index.d.ts.map +1 -0
  131. package/dist/shared/log/log-manager.d.ts +37 -60
  132. package/dist/shared/log/log-manager.d.ts.map +1 -1
  133. package/dist/shared/log/log-persist-batch-id.d.ts +13 -0
  134. package/dist/shared/log/log-persist-batch-id.d.ts.map +1 -0
  135. package/dist/shared/log/log-persist-flush.d.ts +8 -0
  136. package/dist/shared/log/log-persist-flush.d.ts.map +1 -0
  137. package/dist/shared/log/log-persist-hook.d.ts +6 -0
  138. package/dist/shared/log/log-persist-hook.d.ts.map +1 -0
  139. package/dist/shared/log/log-persist-logger.d.ts +15 -0
  140. package/dist/shared/log/log-persist-logger.d.ts.map +1 -0
  141. package/dist/shared/log/log-persist-registry.d.ts +17 -0
  142. package/dist/shared/log/log-persist-registry.d.ts.map +1 -0
  143. package/dist/shared/log/log-persist.config.d.ts +10 -0
  144. package/dist/shared/log/log-persist.config.d.ts.map +1 -0
  145. package/dist/shared/log/log-persist.d.ts +55 -0
  146. package/dist/shared/log/log-persist.d.ts.map +1 -0
  147. package/dist/shared/log/log-persist.interface.d.ts +116 -0
  148. package/dist/shared/log/log-persist.interface.d.ts.map +1 -0
  149. package/dist/shared/log/log-scope.d.ts +56 -0
  150. package/dist/shared/log/log-scope.d.ts.map +1 -0
  151. package/dist/shared/utils/fetch-url.d.ts +3 -0
  152. package/dist/shared/utils/fetch-url.d.ts.map +1 -0
  153. package/dist/shared/utils/network-error.d.ts +14 -0
  154. package/dist/shared/utils/network-error.d.ts.map +1 -0
  155. package/dist/shared/utils/safe-file-name.d.ts +14 -0
  156. package/dist/shared/utils/safe-file-name.d.ts.map +1 -0
  157. package/dist/shared/utils/sha256.d.ts +3 -0
  158. package/dist/shared/utils/sha256.d.ts.map +1 -0
  159. package/dist/supabase.d.ts +7 -2
  160. package/dist/supabase.d.ts.map +1 -1
  161. package/dist/task/index.d.ts +16 -0
  162. package/dist/task/index.d.ts.map +1 -0
  163. package/dist/task/local-task-registry.d.ts +11 -1
  164. package/dist/task/local-task-registry.d.ts.map +1 -1
  165. package/dist/task/task-manager.d.ts +21 -11
  166. package/dist/task/task-manager.d.ts.map +1 -1
  167. package/dist/task/task-node.d.ts +19 -0
  168. package/dist/task/task-node.d.ts.map +1 -0
  169. package/dist/task/task-post-validated.api.d.ts +19 -0
  170. package/dist/task/task-post-validated.api.d.ts.map +1 -0
  171. package/dist/task/task-post.api.d.ts +54 -0
  172. package/dist/task/task-post.api.d.ts.map +1 -0
  173. package/dist/task/task-queue.d.ts +7 -0
  174. package/dist/task/task-queue.d.ts.map +1 -0
  175. package/dist/task/task-repo-context.d.ts +2 -0
  176. package/dist/task/task-repo-context.d.ts.map +1 -1
  177. package/dist/task/task-repo-validation.d.ts +46 -0
  178. package/dist/task/task-repo-validation.d.ts.map +1 -0
  179. package/dist/task/task.api.d.ts +5 -47
  180. package/dist/task/task.api.d.ts.map +1 -1
  181. package/dist/task/task.constant.d.ts +4 -0
  182. package/dist/task/task.constant.d.ts.map +1 -0
  183. package/dist/task/task.interface.d.ts +3 -1
  184. package/dist/task/task.interface.d.ts.map +1 -1
  185. package/dist/trigger/trigger-manager.d.ts +25 -0
  186. package/dist/trigger/trigger-manager.d.ts.map +1 -0
  187. package/dist/trigger/trigger-node.d.ts +23 -0
  188. package/dist/trigger/trigger-node.d.ts.map +1 -0
  189. package/dist/trigger/trigger.api.d.ts +140 -0
  190. package/dist/trigger/trigger.api.d.ts.map +1 -0
  191. package/dist/trigger/trigger.constant.d.ts +8 -0
  192. package/dist/trigger/trigger.constant.d.ts.map +1 -0
  193. package/dist/trigger/trigger.interface.d.ts +87 -0
  194. package/dist/trigger/trigger.interface.d.ts.map +1 -0
  195. package/dist/trigger/trigger.utils.d.ts +6 -0
  196. package/dist/trigger/trigger.utils.d.ts.map +1 -0
  197. package/dist/word/word.api.d.ts +1 -1
  198. package/dist/word/word.api.d.ts.map +1 -1
  199. package/dist/word/word.interface.d.ts +2 -2
  200. package/dist/word/word.interface.d.ts.map +1 -1
  201. package/package.json +91 -61
  202. package/src/browser.ts +165 -0
  203. package/src/command/command.api.ts +20 -18
  204. package/src/command/command.interface.ts +2 -3
  205. package/src/core.api.ts +466 -477
  206. package/src/core.interface.ts +63 -62
  207. package/src/core.utils.ts +64 -64
  208. package/src/idea/idea.interface.ts +3 -3
  209. package/src/index.ts +2 -79
  210. package/src/link/link.api.ts +28 -30
  211. package/src/link/link.interface.ts +4 -5
  212. package/src/list/list.api.ts +50 -29
  213. package/src/list/list.interface.ts +3 -4
  214. package/src/node/env/env-parsers.ts +77 -0
  215. package/src/node/env/index.ts +10 -0
  216. package/src/node/env/init-supabase-from-env.ts +38 -0
  217. package/src/node/env/load-env.ts +67 -0
  218. package/src/node/env/project-root.ts +34 -0
  219. package/src/node/env/public-base-url.ts +18 -0
  220. package/src/node/env/require-env.ts +15 -0
  221. package/src/node/fs/json-state-store.ts +97 -0
  222. package/src/node/fs/read-source-file.ts +75 -0
  223. package/src/node/node-liveness.ts +80 -0
  224. package/src/node/node-runtime.base.ts +481 -0
  225. package/src/node/node.api.ts +12 -11
  226. package/src/node/node.interface.ts +1 -8
  227. package/src/node/node.utils.ts +1 -1
  228. package/src/node/preload/run-service-preload.ts +48 -0
  229. package/src/node/preload/service-preload.interface.ts +14 -0
  230. package/src/node/process/index.ts +8 -0
  231. package/src/node/process/managed-child-processes.ts +121 -0
  232. package/src/node/process/process-spawn.ts +61 -0
  233. package/src/node/readiness/index.ts +20 -0
  234. package/src/node/readiness/poll-until.ts +27 -0
  235. package/src/node/readiness/readiness-checks.ts +79 -0
  236. package/src/node/readiness/readiness.types.ts +13 -0
  237. package/src/node/readiness/run-readiness-checks.ts +20 -0
  238. package/src/node/readiness/service-ready-gate.ts +65 -0
  239. package/src/node.ts +153 -0
  240. package/src/parcel/chunk-fetch-registry.ts +96 -0
  241. package/src/parcel/chunk-url.utils.ts +30 -0
  242. package/src/parcel/parcel-manager.ts +431 -173
  243. package/src/parcel/parcel.api.ts +103 -0
  244. package/src/parcel/parcel.interface.ts +44 -23
  245. package/src/parcel/parcel.service.ts +79 -0
  246. package/src/parcel/storage-provider-registry.ts +49 -0
  247. package/src/parcel/storage-provider.types.ts +45 -0
  248. package/src/preload.ts +7 -0
  249. package/src/repo/repo-context.utils.ts +3 -4
  250. package/src/repo/repo-manager.ts +54 -39
  251. package/src/repo/repo.api.ts +5 -5
  252. package/src/repo/repo.interface.ts +1 -2
  253. package/src/repo/repo.script-loader.ts +16 -20
  254. package/src/service/base.interface.ts +81 -90
  255. package/src/service/index.ts +173 -0
  256. package/src/service/service.api.ts +294 -0
  257. package/src/service/service.interface.ts +49 -17
  258. package/src/shared/http/fetch-retry.ts +145 -0
  259. package/src/shared/log/create-logger.ts +51 -0
  260. package/src/shared/log/enable-log-persist.ts +225 -0
  261. package/src/shared/log/index.ts +31 -0
  262. package/src/shared/log/log-manager.ts +112 -121
  263. package/src/shared/log/log-persist-batch-id.ts +43 -0
  264. package/src/shared/log/log-persist-flush.ts +128 -0
  265. package/src/shared/log/log-persist-hook.ts +13 -0
  266. package/src/shared/log/log-persist-logger.ts +33 -0
  267. package/src/shared/log/log-persist-registry.ts +109 -0
  268. package/src/shared/log/log-persist.config.ts +97 -0
  269. package/src/shared/log/log-persist.interface.ts +132 -0
  270. package/src/shared/log/log-persist.ts +704 -0
  271. package/src/shared/log/log-scope.ts +123 -0
  272. package/src/shared/utils/config-path.utils.ts +1 -1
  273. package/src/shared/utils/fetch-url.ts +13 -0
  274. package/src/shared/utils/network-error.ts +152 -0
  275. package/src/shared/utils/safe-file-name.ts +37 -0
  276. package/src/shared/utils/sha256.ts +15 -0
  277. package/src/supabase.ts +125 -119
  278. package/src/task/index.ts +45 -0
  279. package/src/task/local-task-registry.ts +115 -36
  280. package/src/task/task-manager.ts +101 -113
  281. package/src/task/task-node.ts +302 -0
  282. package/src/task/task-post-validated.api.ts +47 -0
  283. package/src/task/task-post.api.ts +99 -0
  284. package/src/task/task-queue.ts +18 -0
  285. package/src/task/task-repo-context.ts +4 -1
  286. package/src/task/task-repo-validation.ts +169 -0
  287. package/src/task/task.api.ts +68 -92
  288. package/src/task/task.constant.ts +4 -0
  289. package/src/task/task.interface.ts +6 -7
  290. package/src/trigger/trigger-manager.ts +287 -0
  291. package/src/trigger/trigger-node.ts +80 -0
  292. package/src/trigger/trigger.api.ts +166 -0
  293. package/src/trigger/trigger.constant.ts +10 -0
  294. package/src/trigger/trigger.interface.ts +100 -0
  295. package/src/trigger/trigger.utils.ts +56 -0
  296. package/src/word/word.api.ts +28 -30
  297. package/src/word/word.interface.ts +3 -4
  298. package/dist/auth/auth.api.d.ts +0 -28
  299. package/dist/auth/auth.api.d.ts.map +0 -1
  300. package/dist/auth/auth.api.js +0 -51
  301. package/dist/auth/auth.api.js.map +0 -1
  302. package/dist/command/command.api.js +0 -58
  303. package/dist/command/command.api.js.map +0 -1
  304. package/dist/command/command.interface.js +0 -9
  305. package/dist/command/command.interface.js.map +0 -1
  306. package/dist/core.api.js +0 -412
  307. package/dist/core.api.js.map +0 -1
  308. package/dist/core.interface.js +0 -46
  309. package/dist/core.interface.js.map +0 -1
  310. package/dist/core.utils.js +0 -81
  311. package/dist/core.utils.js.map +0 -1
  312. package/dist/feed/feed.interface.d.ts +0 -27
  313. package/dist/feed/feed.interface.d.ts.map +0 -1
  314. package/dist/feed/feed.interface.js +0 -17
  315. package/dist/feed/feed.interface.js.map +0 -1
  316. package/dist/file/file-manager.d.ts +0 -24
  317. package/dist/file/file-manager.d.ts.map +0 -1
  318. package/dist/file/file-manager.js +0 -109
  319. package/dist/file/file-manager.js.map +0 -1
  320. package/dist/file/file.api.d.ts +0 -15
  321. package/dist/file/file.api.d.ts.map +0 -1
  322. package/dist/file/file.api.js +0 -30
  323. package/dist/file/file.api.js.map +0 -1
  324. package/dist/file/file.interface.d.ts +0 -25
  325. package/dist/file/file.interface.d.ts.map +0 -1
  326. package/dist/file/file.interface.js +0 -9
  327. package/dist/file/file.interface.js.map +0 -1
  328. package/dist/file-list/file-list.api.d.ts +0 -15
  329. package/dist/file-list/file-list.api.d.ts.map +0 -1
  330. package/dist/file-list/file-list.api.js +0 -54
  331. package/dist/file-list/file-list.api.js.map +0 -1
  332. package/dist/file-list/file-list.interface.d.ts +0 -22
  333. package/dist/file-list/file-list.interface.d.ts.map +0 -1
  334. package/dist/file-list/file-list.interface.js +0 -5
  335. package/dist/file-list/file-list.interface.js.map +0 -1
  336. package/dist/idea/idea.interface.js +0 -15
  337. package/dist/idea/idea.interface.js.map +0 -1
  338. package/dist/index.js +0 -42
  339. package/dist/index.js.map +0 -1
  340. package/dist/link/link.api.js +0 -30
  341. package/dist/link/link.api.js.map +0 -1
  342. package/dist/link/link.interface.js +0 -7
  343. package/dist/link/link.interface.js.map +0 -1
  344. package/dist/list/list.api.js +0 -30
  345. package/dist/list/list.api.js.map +0 -1
  346. package/dist/list/list.interface.js +0 -6
  347. package/dist/list/list.interface.js.map +0 -1
  348. package/dist/node/node-manager.d.ts +0 -48
  349. package/dist/node/node-manager.d.ts.map +0 -1
  350. package/dist/node/node-manager.js +0 -619
  351. package/dist/node/node-manager.js.map +0 -1
  352. package/dist/node/node-task.preset.d.ts +0 -1
  353. package/dist/node/node-task.preset.d.ts.map +0 -1
  354. package/dist/node/node-task.preset.js +0 -14
  355. package/dist/node/node-task.preset.js.map +0 -1
  356. package/dist/node/node.api.js +0 -100
  357. package/dist/node/node.api.js.map +0 -1
  358. package/dist/node/node.interface.js +0 -19
  359. package/dist/node/node.interface.js.map +0 -1
  360. package/dist/node/node.utils.js +0 -36
  361. package/dist/node/node.utils.js.map +0 -1
  362. package/dist/parcel/parcel-manager.js +0 -156
  363. package/dist/parcel/parcel-manager.js.map +0 -1
  364. package/dist/parcel/parcel.interface.js +0 -11
  365. package/dist/parcel/parcel.interface.js.map +0 -1
  366. package/dist/question-list/question-list.api.d.ts +0 -13
  367. package/dist/question-list/question-list.api.d.ts.map +0 -1
  368. package/dist/question-list/question-list.api.js +0 -35
  369. package/dist/question-list/question-list.api.js.map +0 -1
  370. package/dist/question-list/question-list.interface.d.ts +0 -18
  371. package/dist/question-list/question-list.interface.d.ts.map +0 -1
  372. package/dist/question-list/question-list.interface.js +0 -5
  373. package/dist/question-list/question-list.interface.js.map +0 -1
  374. package/dist/repo/repo-context.utils.js +0 -81
  375. package/dist/repo/repo-context.utils.js.map +0 -1
  376. package/dist/repo/repo-manager.js +0 -156
  377. package/dist/repo/repo-manager.js.map +0 -1
  378. package/dist/repo/repo.api.js +0 -40
  379. package/dist/repo/repo.api.js.map +0 -1
  380. package/dist/repo/repo.interface.js +0 -8
  381. package/dist/repo/repo.interface.js.map +0 -1
  382. package/dist/repo/repo.script-loader.js +0 -108
  383. package/dist/repo/repo.script-loader.js.map +0 -1
  384. package/dist/review/review.api.d.ts +0 -14
  385. package/dist/review/review.api.d.ts.map +0 -1
  386. package/dist/review/review.api.js +0 -133
  387. package/dist/review/review.api.js.map +0 -1
  388. package/dist/review/review.interface.d.ts +0 -24
  389. package/dist/review/review.interface.d.ts.map +0 -1
  390. package/dist/review/review.interface.js +0 -10
  391. package/dist/review/review.interface.js.map +0 -1
  392. package/dist/review-v2/apis/post-review-setting.api.d.ts +0 -12
  393. package/dist/review-v2/apis/post-review-setting.api.d.ts.map +0 -1
  394. package/dist/review-v2/apis/post-review-setting.api.js +0 -27
  395. package/dist/review-v2/apis/post-review-setting.api.js.map +0 -1
  396. package/dist/review-v2/apis/post-review.api.d.ts +0 -13
  397. package/dist/review-v2/apis/post-review.api.d.ts.map +0 -1
  398. package/dist/review-v2/apis/post-review.api.js +0 -46
  399. package/dist/review-v2/apis/post-review.api.js.map +0 -1
  400. package/dist/review-v2/review-setting.interface.d.ts +0 -23
  401. package/dist/review-v2/review-setting.interface.d.ts.map +0 -1
  402. package/dist/review-v2/review-setting.interface.js +0 -5
  403. package/dist/review-v2/review-setting.interface.js.map +0 -1
  404. package/dist/review-v2/review.interface.d.ts +0 -20
  405. package/dist/review-v2/review.interface.d.ts.map +0 -1
  406. package/dist/review-v2/review.interface.js +0 -5
  407. package/dist/review-v2/review.interface.js.map +0 -1
  408. package/dist/service/api.interface.d.ts +0 -35
  409. package/dist/service/api.interface.d.ts.map +0 -1
  410. package/dist/service/api.interface.js +0 -12
  411. package/dist/service/api.interface.js.map +0 -1
  412. package/dist/service/base.interface.js +0 -7
  413. package/dist/service/base.interface.js.map +0 -1
  414. package/dist/service/service.interface.js +0 -11
  415. package/dist/service/service.interface.js.map +0 -1
  416. package/dist/shared/log/create-api-logger.d.ts +0 -17
  417. package/dist/shared/log/create-api-logger.d.ts.map +0 -1
  418. package/dist/shared/log/create-api-logger.js +0 -15
  419. package/dist/shared/log/create-api-logger.js.map +0 -1
  420. package/dist/shared/log/log-manager.js +0 -218
  421. package/dist/shared/log/log-manager.js.map +0 -1
  422. package/dist/shared/utils/config-path.utils.js +0 -85
  423. package/dist/shared/utils/config-path.utils.js.map +0 -1
  424. package/dist/shared/utils/error.utils.js +0 -15
  425. package/dist/shared/utils/error.utils.js.map +0 -1
  426. package/dist/shared/utils/id.utils.js +0 -5
  427. package/dist/shared/utils/id.utils.js.map +0 -1
  428. package/dist/supabase.js +0 -100
  429. package/dist/supabase.js.map +0 -1
  430. package/dist/task/local-task-registry.js +0 -153
  431. package/dist/task/local-task-registry.js.map +0 -1
  432. package/dist/task/task-manager.js +0 -217
  433. package/dist/task/task-manager.js.map +0 -1
  434. package/dist/task/task-repo-context.js +0 -12
  435. package/dist/task/task-repo-context.js.map +0 -1
  436. package/dist/task/task.api.js +0 -351
  437. package/dist/task/task.api.js.map +0 -1
  438. package/dist/task/task.interface.js +0 -36
  439. package/dist/task/task.interface.js.map +0 -1
  440. package/dist/task/task.utils.js +0 -2
  441. package/dist/task/task.utils.js.map +0 -1
  442. package/dist/word/word.api.js +0 -30
  443. package/dist/word/word.api.js.map +0 -1
  444. package/dist/word/word.interface.js +0 -6
  445. package/dist/word/word.interface.js.map +0 -1
  446. package/src/auth/auth.api.ts +0 -87
  447. package/src/feed/feed.interface.ts +0 -33
  448. package/src/file/file-manager.ts +0 -145
  449. package/src/file/file.api.ts +0 -43
  450. package/src/file/file.interface.ts +0 -30
  451. package/src/file-list/file-list.api.ts +0 -64
  452. package/src/file-list/file-list.interface.ts +0 -24
  453. package/src/node/node-manager.ts +0 -673
  454. package/src/node/node-task.preset.ts +0 -13
  455. package/src/question-list/question-list.api.ts +0 -42
  456. package/src/question-list/question-list.interface.ts +0 -21
  457. package/src/review/review.api.ts +0 -145
  458. package/src/review/review.interface.ts +0 -26
  459. package/src/review-v2/apis/post-review-setting.api.ts +0 -35
  460. package/src/review-v2/apis/post-review.api.ts +0 -59
  461. package/src/review-v2/review-setting.interface.ts +0 -26
  462. package/src/review-v2/review.interface.ts +0 -23
  463. package/src/service/api.interface.ts +0 -47
  464. package/src/shared/log/create-api-logger.ts +0 -25
@@ -0,0 +1,166 @@
1
+ import { z } from "zod";
2
+ import { createTarget, scanTargetList, updateTargetDetails, validateWithSchema } from "../core.api";
3
+ import { generateResponse, type SupabaseResponse } from "../core.interface";
4
+ import { createLogger } from "../shared/log";
5
+ import { TaskStatus } from "../task/task.interface";
6
+ import {
7
+ CategoryTrigger,
8
+ type Trigger,
9
+ type TriggerAction,
10
+ type TriggerSchedule,
11
+ TriggerStatus,
12
+ } from "./trigger.interface";
13
+
14
+ const TRIGGER_STATUS_FIELD = "details->>status" as const;
15
+
16
+ const traceIdSchema = z.string().trim().min(1).optional();
17
+
18
+ const dailyScheduleSchema = z.object({
19
+ kind: z.literal("daily"),
20
+ hour: z.number().int().min(0).max(23),
21
+ minute: z.number().int().min(0).max(59),
22
+ });
23
+
24
+ const postTaskActionSchema = z.object({
25
+ kind: z.literal("post_task"),
26
+ taskTypeKey: z.string().trim().min(1),
27
+ taskParams: z.unknown(),
28
+ taskName: z.string().trim().min(1).optional(),
29
+ taskStatus: z.enum([TaskStatus.OPEN, TaskStatus.TODO]).optional(),
30
+ });
31
+
32
+ export const postTriggerSchema = z.object({
33
+ name: z.string().trim().min(1),
34
+ value: z.string().trim().min(1),
35
+ status: z.nativeEnum(TriggerStatus).optional().default(TriggerStatus.ENABLED),
36
+ schedule: dailyScheduleSchema,
37
+ action: postTaskActionSchema,
38
+ tagList: z.array(z.string()).optional().default([]),
39
+ traceId: traceIdSchema,
40
+ });
41
+
42
+ export type PostTriggerPayload = z.infer<typeof postTriggerSchema>;
43
+
44
+ export const scanEnabledTriggersSchema = z.object({
45
+ traceId: traceIdSchema,
46
+ });
47
+
48
+ export type ScanEnabledTriggersPayload = z.infer<typeof scanEnabledTriggersSchema>;
49
+
50
+ export const patchTriggerFiredSchema = z.object({
51
+ triggerId: z.string().trim().min(1),
52
+ fireKey: z.string().trim().min(1),
53
+ expectedLastFireKey: z.string().nullable().optional(),
54
+ traceId: traceIdSchema,
55
+ });
56
+
57
+ export type PatchTriggerFiredPayload = z.infer<typeof patchTriggerFiredSchema>;
58
+
59
+ function enabledTriggerFilter() {
60
+ return [{ field: TRIGGER_STATUS_FIELD, operator: "eq" as const, value: TriggerStatus.ENABLED }];
61
+ }
62
+
63
+ /** List all ENABLED triggers (Phase 1: in-memory due check). */
64
+ export const scanEnabledTriggers = validateWithSchema(
65
+ scanEnabledTriggersSchema,
66
+ "scanEnabledTriggersSchema",
67
+ )(async ({ traceId }) => {
68
+ const logger = createLogger({ module: "scanEnabledTriggers", traceId });
69
+
70
+ try {
71
+ const { data: triggerList } = await scanTargetList<Trigger>({
72
+ category: CategoryTrigger.TRIGGER,
73
+ filterList: enabledTriggerFilter(),
74
+ orderBy: { field: "created_at", ascending: true },
75
+ });
76
+
77
+ const rows = triggerList ?? [];
78
+ logger.debug("已掃描 ENABLED Trigger", {
79
+ topic: "trigger",
80
+ data: { count: rows.length },
81
+ });
82
+
83
+ return generateResponse.success(rows);
84
+ } catch (error) {
85
+ const message = error instanceof Error ? error.message : String(error);
86
+ return generateResponse.error(message) as SupabaseResponse<Trigger[]>;
87
+ }
88
+ });
89
+
90
+ /** Create a trigger row (scheduler / admin). */
91
+ export const postTrigger = validateWithSchema(
92
+ postTriggerSchema,
93
+ "postTriggerSchema",
94
+ )(async ({ name, value, status, schedule, action, tagList, traceId }) => {
95
+ const logger = createLogger({ module: "postTrigger", traceId });
96
+
97
+ const details = {
98
+ manifestVersion: 0,
99
+ status,
100
+ schedule: schedule as TriggerSchedule,
101
+ action: action as TriggerAction,
102
+ lastFiredAt: null,
103
+ lastFireKey: null,
104
+ };
105
+
106
+ const result = await createTarget<Trigger, PostTriggerPayload>({
107
+ payload: { name, value, status, schedule, action, tagList, traceId },
108
+ createFn: () => ({
109
+ name,
110
+ value,
111
+ category: CategoryTrigger.TRIGGER,
112
+ tagList,
113
+ details,
114
+ }),
115
+ });
116
+
117
+ logger.info("Trigger 已創建", {
118
+ topic: "trigger",
119
+ data: { triggerId: result.data?.id, triggerKey: value, status },
120
+ });
121
+
122
+ return result;
123
+ });
124
+
125
+ /**
126
+ * Mark trigger as fired for `fireKey`.
127
+ * When `expectedLastFireKey` is set, uses optimistic lock on that field.
128
+ */
129
+ export const patchTriggerFired = validateWithSchema(
130
+ patchTriggerFiredSchema,
131
+ "patchTriggerFiredSchema",
132
+ )(async ({ triggerId, fireKey, expectedLastFireKey, traceId }) => {
133
+ const logger = createLogger({ module: "patchTriggerFired", traceId });
134
+ const now = Date.now();
135
+
136
+ try {
137
+ const optimisticLockFilterList =
138
+ expectedLastFireKey != null && expectedLastFireKey !== ""
139
+ ? [{ field: "details->>lastFireKey" as const, operator: "eq" as const, value: expectedLastFireKey }]
140
+ : [];
141
+
142
+ const data = await updateTargetDetails<Trigger, Trigger["details"]>({
143
+ id: triggerId,
144
+ optimisticLockFilterList,
145
+ updateFn: (current) => ({
146
+ ...current,
147
+ lastFireKey: fireKey,
148
+ lastFiredAt: now,
149
+ }),
150
+ });
151
+
152
+ logger.success("Trigger 觸發記錄已更新", {
153
+ topic: "trigger",
154
+ data: { triggerId, fireKey },
155
+ });
156
+
157
+ return generateResponse.success(data);
158
+ } catch (error) {
159
+ const message = error instanceof Error ? error.message : String(error);
160
+ logger.warn("Trigger 觸發記錄更新失敗", {
161
+ topic: "trigger",
162
+ data: { triggerId, fireKey, error: message },
163
+ });
164
+ return generateResponse.error(message);
165
+ }
166
+ });
@@ -0,0 +1,10 @@
1
+ export const LOG_TOPIC_TRIGGER = "trigger";
2
+
3
+ /** Fixed main-loop interval for {@link TriggerNode} (ms). */
4
+ export const TRIGGER_LOOP_INTERVAL_MS = 60_000;
5
+
6
+ /** Default extra retries after first failure within one runner tick. */
7
+ export const TRIGGER_RUNNER_DEFAULT_RETRY_COUNT = 3;
8
+
9
+ /** Default delay between retry attempts within the same tick (ms). */
10
+ export const TRIGGER_RUNNER_DEFAULT_RETRY_DELAY_MS = 0;
@@ -0,0 +1,100 @@
1
+ import type { Target } from "../core.interface";
2
+ import type { LoggerWithScope } from "../shared/log";
3
+ import type { TaskStatus } from "../task/task.interface";
4
+
5
+ export enum CategoryTrigger {
6
+ TRIGGER = "trigger",
7
+ }
8
+
9
+ export enum TriggerStatus {
10
+ ENABLED = "ENABLED",
11
+ DISABLED = "DISABLED",
12
+ PAUSED = "PAUSED",
13
+ }
14
+
15
+ /** Phase 1: daily fire at `hour`:`minute` UTC. */
16
+ export interface TriggerDailySchedule {
17
+ kind: "daily";
18
+ hour: number;
19
+ minute: number;
20
+ }
21
+
22
+ export type TriggerSchedule = TriggerDailySchedule;
23
+
24
+ export interface TriggerPostTaskAction {
25
+ kind: "post_task";
26
+ taskTypeKey: string;
27
+ taskParams: unknown;
28
+ taskName?: string;
29
+ taskStatus?: TaskStatus.OPEN | TaskStatus.TODO;
30
+ }
31
+
32
+ export type TriggerAction = TriggerPostTaskAction;
33
+
34
+ export interface Trigger extends Target {
35
+ /** Human readable */
36
+ name: string;
37
+ /** Unique trigger key */
38
+ value: string;
39
+ details: TriggerDetails;
40
+ category: CategoryTrigger;
41
+ }
42
+
43
+ export interface TriggerDetails {
44
+ manifestVersion: number;
45
+ status: TriggerStatus;
46
+ schedule: TriggerSchedule;
47
+ action: TriggerAction;
48
+ lastFiredAt?: number | null;
49
+ /** Idempotency key for the last successful fire, e.g. `daily:2026-06-18` (UTC date). */
50
+ lastFireKey?: string | null;
51
+ }
52
+
53
+ // ─── TriggerNode local runners ───────────────────────────────────────────────
54
+
55
+ /** Context passed to each runner invocation. */
56
+ export interface TriggerRunnerContext {
57
+ loopTraceId: string;
58
+ nodeId: string;
59
+ runnerKey: string;
60
+ logger: LoggerWithScope;
61
+ /** 1-based attempt index within this tick (includes retries). */
62
+ attempt: number;
63
+ maxAttempts: number;
64
+ }
65
+
66
+ export type TriggerRunnerFn = (ctx: TriggerRunnerContext) => void | Promise<void>;
67
+
68
+ export interface RegisterTriggerRunnerOptions {
69
+ /** Unique runner key within this process (trimmed; must be non-empty). */
70
+ key: string;
71
+ /** Minimum ms between tick starts for this runner. */
72
+ intervalMs: number;
73
+ fn: TriggerRunnerFn;
74
+ /** Delay first run after registration. Default `0`. */
75
+ initialDelayMs?: number;
76
+ /**
77
+ * Extra attempts after the first failure within the same tick.
78
+ * Default {@link TRIGGER_RUNNER_DEFAULT_RETRY_COUNT} from `./trigger.constant`.
79
+ */
80
+ retryCount?: number;
81
+ /**
82
+ * Delay between retry attempts within the same tick (ms).
83
+ * Default {@link TRIGGER_RUNNER_DEFAULT_RETRY_DELAY_MS} (`0` = immediate).
84
+ */
85
+ retryDelayMs?: number;
86
+ /**
87
+ * Max ms per fn invocation; rejects when exceeded.
88
+ * Does not cancel in-flight work — fn may still run after timeout. Omit for no limit.
89
+ */
90
+ timeoutMs?: number;
91
+ }
92
+
93
+ /** Options for {@link TriggerNode}. */
94
+ export interface TriggerNodeOptions {
95
+ /**
96
+ * When true, bootstrap aborts if no runners were registered before `start()`.
97
+ * Default `false` (warn and idle loop).
98
+ */
99
+ requireRunners?: boolean;
100
+ }
@@ -0,0 +1,56 @@
1
+ import type { Trigger, TriggerDailySchedule } from "./trigger.interface";
2
+
3
+ interface UtcDateParts {
4
+ year: number;
5
+ month: number;
6
+ day: number;
7
+ hour: number;
8
+ minute: number;
9
+ }
10
+
11
+ function parseUtcDateParts(now: Date): UtcDateParts {
12
+ return {
13
+ year: now.getUTCFullYear(),
14
+ month: now.getUTCMonth() + 1,
15
+ day: now.getUTCDate(),
16
+ hour: now.getUTCHours(),
17
+ minute: now.getUTCMinutes(),
18
+ };
19
+ }
20
+
21
+ export function buildDailyFireKey(_schedule: TriggerDailySchedule, now: Date): string {
22
+ const { year, month, day } = parseUtcDateParts(now);
23
+ const yyyy = String(year).padStart(4, "0");
24
+ const mm = String(month).padStart(2, "0");
25
+ const dd = String(day).padStart(2, "0");
26
+ return `daily:${yyyy}-${mm}-${dd}`;
27
+ }
28
+
29
+ export function isDailyScheduleDue(
30
+ schedule: TriggerDailySchedule,
31
+ now: Date,
32
+ lastFireKey: string | null | undefined,
33
+ ): boolean {
34
+ const parts = parseUtcDateParts(now);
35
+ if (parts.hour !== schedule.hour || parts.minute !== schedule.minute) {
36
+ return false;
37
+ }
38
+ const fireKey = buildDailyFireKey(schedule, now);
39
+ return lastFireKey !== fireKey;
40
+ }
41
+
42
+ export function isTriggerDue(trigger: Trigger, now: Date = new Date()): boolean {
43
+ const { schedule, lastFireKey } = trigger.details;
44
+ if (schedule.kind !== "daily") {
45
+ throw new Error(`Unsupported trigger schedule kind: ${String((schedule as { kind?: string }).kind)}`);
46
+ }
47
+ return isDailyScheduleDue(schedule, now, lastFireKey);
48
+ }
49
+
50
+ export function buildFireKey(trigger: Trigger, now: Date = new Date()): string {
51
+ const { schedule } = trigger.details;
52
+ if (schedule.kind !== "daily") {
53
+ throw new Error(`Unsupported trigger schedule kind: ${String((schedule as { kind?: string }).kind)}`);
54
+ }
55
+ return buildDailyFireKey(schedule, now);
56
+ }
@@ -1,43 +1,41 @@
1
1
  import { createTarget } from "../core.api";
2
2
  import { BaseValidator } from "../core.utils";
3
- import { Word, WordDetails } from "./word.interface";
3
+ import type { Word, WordDetails } from "./word.interface";
4
4
 
5
5
  export interface PostWordPayload {
6
- name: Word["name"];
7
- value: Word["value"];
8
- category: Word["category"];
9
- details: WordDetails;
6
+ name: Word["name"];
7
+ value: Word["value"];
8
+ category: Word["category"];
9
+ details: WordDetails;
10
10
  }
11
11
 
12
12
  export class PostWordValidator extends BaseValidator<PostWordPayload> {
13
- protected requiredFields: (keyof PostWordPayload)[] = ["name", "value", "category", "details"];
14
- protected optionalFields: (keyof PostWordPayload)[] = [];
13
+ protected requiredFields: (keyof PostWordPayload)[] = ["name", "value", "category", "details"];
14
+ protected optionalFields: (keyof PostWordPayload)[] = [];
15
15
 
16
- constructor() {
17
- super();
18
- // Add custom
19
- this.addCustomValidator((val) => {
20
- return true;
21
- });
22
- }
16
+ constructor() {
17
+ super();
18
+ // Add custom
19
+ this.addCustomValidator((_val) => {
20
+ return true;
21
+ });
22
+ }
23
23
  }
24
24
 
25
-
26
-
27
25
  export const postWord = async (payload: PostWordPayload) => {
28
- return createTarget<Word, PostWordPayload>({
29
- payload: payload,
30
- validator: PostWordValidator,
31
- createFn: (validPayload) => {
32
- const { name, value, category, details } = validPayload;
26
+ return createTarget<Word, PostWordPayload>({
27
+ payload: payload,
28
+ validator: PostWordValidator,
29
+ createFn: (validPayload) => {
30
+ const { name, value, category, details } = validPayload;
33
31
 
34
- return {
35
- name,
36
- category,
37
- value,
38
- tagList: [],
39
- details,
40
- };
41
- },
42
- });
32
+ return {
33
+ name,
34
+ category,
35
+ value,
36
+ tagList: [],
37
+ details,
38
+ };
39
+ },
40
+ });
43
41
  };
@@ -1,5 +1,5 @@
1
- import { Target } from "../core.interface";
2
- import { Link } from "../link/link.interface";
1
+ import type { Target } from "../core.interface";
2
+ import type { Link } from "../link/link.interface";
3
3
 
4
4
  export enum CategoryWord {
5
5
  WORD = "word",
@@ -19,5 +19,4 @@ export interface WordDetails {
19
19
  extensions: string[];
20
20
  scope: string;
21
21
  reviewList: Array<string | Link>;
22
- };
23
-
22
+ }
@@ -1,28 +0,0 @@
1
- export interface LoginPayload {
2
- email: string;
3
- password: string;
4
- }
5
- export interface RegisterPayload {
6
- email: string;
7
- password: string;
8
- confirmPassword?: string;
9
- }
10
- export interface User {
11
- id: string;
12
- email: string;
13
- created_at: string;
14
- last_sign_in_at?: string;
15
- }
16
- export declare const registerUser: ({ email, password }: RegisterPayload) => Promise<import("..").SupabaseResponse<{
17
- user: import("@supabase/supabase-js").AuthUser | null;
18
- session: import("@supabase/supabase-js").AuthSession | null;
19
- }>>;
20
- export declare const loginUser: ({ email, password }: LoginPayload) => Promise<import("..").SupabaseResponse<{
21
- user: import("@supabase/supabase-js").AuthUser;
22
- session: import("@supabase/supabase-js").AuthSession;
23
- weakPassword?: import("@supabase/supabase-js").WeakPassword;
24
- }>>;
25
- export declare const logoutUser: () => Promise<import("..").SupabaseResponse<unknown>>;
26
- export declare const getCurrentUser: () => Promise<import("..").SupabaseResponse<User | null>>;
27
- export declare const resetPassword: (email: string) => Promise<import("..").SupabaseResponse<unknown>>;
28
- //# sourceMappingURL=auth.api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.api.d.ts","sourceRoot":"","sources":["../../src/auth/auth.api.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD,eAAO,MAAM,YAAY,wBAA+B,eAAe;;;GAWtE,CAAC;AAGF,eAAO,MAAM,SAAS,wBAA+B,YAAY;;;;GAWhE,CAAC;AAGF,eAAO,MAAM,UAAU,uDAQtB,CAAC;AAGF,eAAO,MAAM,cAAc,2DAW1B,CAAC;AAGF,eAAO,MAAM,aAAa,UAAiB,MAAM,oDAQhD,CAAC"}
@@ -1,51 +0,0 @@
1
- import { SupabaseInitializer } from "../supabase";
2
- import { generateResponse } from "../core.interface";
3
- import { handleSupabaseError } from "../core.utils";
4
- const supabase = SupabaseInitializer.getInstance();
5
- // 用户注册
6
- export const registerUser = async ({ email, password }) => {
7
- const { data, error } = await supabase.authClient.auth.signUp({
8
- email,
9
- password,
10
- });
11
- if (error) {
12
- handleSupabaseError("registerUser", error, "Registration failed. Please try again.");
13
- }
14
- return generateResponse.success(data);
15
- };
16
- // 用户登录
17
- export const loginUser = async ({ email, password }) => {
18
- const { data, error } = await supabase.authClient.auth.signInWithPassword({
19
- email,
20
- password,
21
- });
22
- if (error) {
23
- handleSupabaseError("loginUser", error, "Login failed. Please check your credentials.");
24
- }
25
- return generateResponse.success(data);
26
- };
27
- // 用户登出
28
- export const logoutUser = async () => {
29
- const { error } = await supabase.authClient.auth.signOut();
30
- if (error) {
31
- handleSupabaseError("logoutUser", error, "Logout failed.");
32
- }
33
- return generateResponse.success();
34
- };
35
- // 获取当前用户
36
- export const getCurrentUser = async () => {
37
- const { data: { user }, error, } = await supabase.authClient.auth.getUser();
38
- if (error) {
39
- handleSupabaseError("getCurrentUser", error, "Failed to get current user.");
40
- }
41
- return generateResponse.success(user);
42
- };
43
- // 重置密码
44
- export const resetPassword = async (email) => {
45
- const { error } = await supabase.authClient.auth.resetPasswordForEmail(email);
46
- if (error) {
47
- handleSupabaseError("resetPassword", error, "Password reset request failed.");
48
- }
49
- return generateResponse.success();
50
- };
51
- //# sourceMappingURL=auth.api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.api.js","sourceRoot":"","sources":["../../src/auth/auth.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;AAoBnD,OAAO;AACP,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAmB,EAAE,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAW,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7D,KAAK;QACL,QAAQ;KACT,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,mBAAmB,CAAC,cAAc,EAAE,KAAK,EAAE,wCAAwC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,OAAO;AACP,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAgB,EAAE,EAAE;IACnE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACzE,KAAK;QACL,QAAQ;KACT,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,mBAAmB,CAAC,WAAW,EAAE,KAAK,EAAE,8CAA8C,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,OAAO;AACP,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAE5D,IAAI,KAAK,EAAE,CAAC;QACV,mBAAmB,CAAC,YAAY,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC,CAAC;AAEF,SAAS;AACT,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;IACvC,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,EACd,KAAK,GACN,GAAG,MAAM,QAAQ,CAAC,UAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAE9C,IAAI,KAAK,EAAE,CAAC;QACV,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAc,IAAmB,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,OAAO;AACP,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACnD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE/E,IAAI,KAAK,EAAE,CAAC;QACV,mBAAmB,CAAC,eAAe,EAAE,KAAK,EAAE,gCAAgC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC,CAAC"}
@@ -1,58 +0,0 @@
1
- import { createTarget, MAX_POLL_TARGET_LIST_SIZE, pollTargetList, validateWithSchema, } from "../core.api";
2
- import { generateResponse } from "../core.interface";
3
- import { createApiLogger } from "../shared/log/log-manager";
4
- import { z } from "zod";
5
- import { CategoryCommand, CommandType } from "./command.interface";
6
- const nodeIdSchema = z.string().trim().min(1);
7
- const traceIdSchema = z.string().trim().min(1).optional();
8
- // ─── Zod schemas ─────────────────────────────────────────────────────────────
9
- export const postCommandSchema = z.object({
10
- nodeId: nodeIdSchema,
11
- command: z.nativeEnum(CommandType),
12
- traceId: traceIdSchema,
13
- });
14
- export const getPollCommandListSchema = z.object({
15
- nodeId: nodeIdSchema,
16
- size: z.number().int().min(1).max(MAX_POLL_TARGET_LIST_SIZE).optional(),
17
- traceId: traceIdSchema,
18
- });
19
- // ─── Helpers ─────────────────────────────────────────────────────────────────
20
- function commandNodeFilter(nodeId) {
21
- return [{ field: "value", operator: "eq", value: nodeId }];
22
- }
23
- // ─── postCommand ─────────────────────────────────────────────────────────────
24
- /** Enqueue a control command for `nodeId` (scheduler / admin). */
25
- export const postCommand = validateWithSchema(postCommandSchema, "postCommandSchema")(async ({ nodeId, command, traceId }) => {
26
- const logger = createApiLogger("postCommand", { traceId, nodeId });
27
- const result = await createTarget({
28
- payload: { nodeId, command, traceId },
29
- createFn: () => ({
30
- name: command,
31
- value: nodeId,
32
- category: CategoryCommand.COMMAND,
33
- tagList: [],
34
- }),
35
- });
36
- logger.info("Command已入隊", {
37
- topic: "command",
38
- context: { nodeId, command },
39
- });
40
- return result;
41
- });
42
- // ─── getPollCommandList ──────────────────────────────────────────────────────
43
- /** Dequeue control commands for `nodeId` (oldest first). */
44
- export const getPollCommandList = validateWithSchema(getPollCommandListSchema, "getPollCommandListSchema")(async ({ nodeId, size, traceId }) => {
45
- const logger = createApiLogger("getPollCommandList", { traceId, nodeId });
46
- const { data: dequeuedList = [] } = await pollTargetList({
47
- category: CategoryCommand.COMMAND,
48
- size: size ?? 50,
49
- filterList: commandNodeFilter(nodeId),
50
- ascending: true,
51
- });
52
- logger.info("Command", {
53
- topic: "command",
54
- context: { nodeId, dequeued: dequeuedList.length },
55
- });
56
- return generateResponse.success(dequeuedList);
57
- });
58
- //# sourceMappingURL=command.api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.api.js","sourceRoot":"","sources":["../../src/command/command.api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export var CategoryCommand;
2
- (function (CategoryCommand) {
3
- CategoryCommand["COMMAND"] = "command";
4
- })(CategoryCommand || (CategoryCommand = {}));
5
- export var CommandType;
6
- (function (CommandType) {
7
- CommandType["STOP_NODE"] = "stop-node";
8
- })(CommandType || (CommandType = {}));
9
- //# sourceMappingURL=command.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.interface.js","sourceRoot":"","sources":["../../src/command/command.interface.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,eAEX;AAFD,WAAY,eAAe;IACvB,sCAAmB,CAAA;AACvB,CAAC,EAFW,eAAe,KAAf,eAAe,QAE1B;AAED,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACnB,sCAAuB,CAAA;AAC3B,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB"}