openryoko 2026.8.28 → 2026.8.31

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 (413) hide show
  1. package/dist/bin/jimmy.js +99 -0
  2. package/dist/bin/jimmy.js.map +1 -1
  3. package/dist/package.json +3 -2
  4. package/dist/src/cli/automation.d.ts +51 -0
  5. package/dist/src/cli/automation.d.ts.map +1 -0
  6. package/dist/src/cli/automation.js +349 -0
  7. package/dist/src/cli/automation.js.map +1 -0
  8. package/dist/src/cron/validation.d.ts +14 -0
  9. package/dist/src/cron/validation.d.ts.map +1 -0
  10. package/dist/src/cron/validation.js +30 -0
  11. package/dist/src/cron/validation.js.map +1 -0
  12. package/dist/src/gateway/api.d.ts +9 -0
  13. package/dist/src/gateway/api.d.ts.map +1 -1
  14. package/dist/src/gateway/api.js +132 -0
  15. package/dist/src/gateway/api.js.map +1 -1
  16. package/dist/src/gateway/compress.d.ts +12 -0
  17. package/dist/src/gateway/compress.d.ts.map +1 -0
  18. package/dist/src/gateway/compress.js +39 -0
  19. package/dist/src/gateway/compress.js.map +1 -0
  20. package/dist/src/gateway/http-helpers.d.ts +35 -0
  21. package/dist/src/gateway/http-helpers.d.ts.map +1 -0
  22. package/dist/src/gateway/http-helpers.js +125 -0
  23. package/dist/src/gateway/http-helpers.js.map +1 -0
  24. package/dist/src/gateway/media-type.d.ts +8 -0
  25. package/dist/src/gateway/media-type.d.ts.map +1 -0
  26. package/dist/src/gateway/media-type.js +93 -0
  27. package/dist/src/gateway/media-type.js.map +1 -0
  28. package/dist/src/gateway/route-helpers.d.ts +45 -0
  29. package/dist/src/gateway/route-helpers.d.ts.map +1 -0
  30. package/dist/src/gateway/route-helpers.js +68 -0
  31. package/dist/src/gateway/route-helpers.js.map +1 -0
  32. package/dist/src/gateway/server.d.ts.map +1 -1
  33. package/dist/src/gateway/server.js +102 -1
  34. package/dist/src/gateway/server.js.map +1 -1
  35. package/dist/src/gateway/workflow-api.d.ts +9 -0
  36. package/dist/src/gateway/workflow-api.d.ts.map +1 -0
  37. package/dist/src/gateway/workflow-api.js +393 -0
  38. package/dist/src/gateway/workflow-api.js.map +1 -0
  39. package/dist/src/gateway/workflow-atomic-create.d.ts +42 -0
  40. package/dist/src/gateway/workflow-atomic-create.d.ts.map +1 -0
  41. package/dist/src/gateway/workflow-atomic-create.js +17 -0
  42. package/dist/src/gateway/workflow-atomic-create.js.map +1 -0
  43. package/dist/src/mcp/identity.d.ts +4 -0
  44. package/dist/src/mcp/identity.d.ts.map +1 -0
  45. package/dist/src/mcp/identity.js +4 -0
  46. package/dist/src/mcp/identity.js.map +1 -0
  47. package/dist/src/sessions/attempt-continuation.d.ts +30 -0
  48. package/dist/src/sessions/attempt-continuation.d.ts.map +1 -0
  49. package/dist/src/sessions/attempt-continuation.js +46 -0
  50. package/dist/src/sessions/attempt-continuation.js.map +1 -0
  51. package/dist/src/sessions/manager.d.ts +30 -1
  52. package/dist/src/sessions/manager.d.ts.map +1 -1
  53. package/dist/src/sessions/manager.js +205 -1
  54. package/dist/src/sessions/manager.js.map +1 -1
  55. package/dist/src/sessions/queue.d.ts +1 -1
  56. package/dist/src/sessions/queue.d.ts.map +1 -1
  57. package/dist/src/sessions/queue.js +19 -6
  58. package/dist/src/sessions/queue.js.map +1 -1
  59. package/dist/src/sessions/registry.d.ts +49 -3
  60. package/dist/src/sessions/registry.d.ts.map +1 -1
  61. package/dist/src/sessions/registry.js +248 -10
  62. package/dist/src/sessions/registry.js.map +1 -1
  63. package/dist/src/sessions/stop-nudge.d.ts +37 -0
  64. package/dist/src/sessions/stop-nudge.d.ts.map +1 -0
  65. package/dist/src/sessions/stop-nudge.js +59 -0
  66. package/dist/src/sessions/stop-nudge.js.map +1 -0
  67. package/dist/src/sessions/workflow-interruptions.d.ts +6 -0
  68. package/dist/src/sessions/workflow-interruptions.d.ts.map +1 -0
  69. package/dist/src/sessions/workflow-interruptions.js +16 -0
  70. package/dist/src/sessions/workflow-interruptions.js.map +1 -0
  71. package/dist/src/shared/db.d.ts +13 -0
  72. package/dist/src/shared/db.d.ts.map +1 -0
  73. package/dist/src/shared/db.js +15 -0
  74. package/dist/src/shared/db.js.map +1 -0
  75. package/dist/src/shared/engine-failure.d.ts +29 -0
  76. package/dist/src/shared/engine-failure.d.ts.map +1 -0
  77. package/dist/src/shared/engine-failure.js +101 -0
  78. package/dist/src/shared/engine-failure.js.map +1 -0
  79. package/dist/src/shared/engine-fallback.d.ts +52 -0
  80. package/dist/src/shared/engine-fallback.d.ts.map +1 -0
  81. package/dist/src/shared/engine-fallback.js +164 -0
  82. package/dist/src/shared/engine-fallback.js.map +1 -0
  83. package/dist/src/shared/engine-health.d.ts +82 -0
  84. package/dist/src/shared/engine-health.d.ts.map +1 -0
  85. package/dist/src/shared/engine-health.js +183 -0
  86. package/dist/src/shared/engine-health.js.map +1 -0
  87. package/dist/src/shared/fallback-map-wire.d.ts +60 -0
  88. package/dist/src/shared/fallback-map-wire.d.ts.map +1 -0
  89. package/dist/src/shared/fallback-map-wire.js +76 -0
  90. package/dist/src/shared/fallback-map-wire.js.map +1 -0
  91. package/dist/src/shared/model-id.d.ts +16 -0
  92. package/dist/src/shared/model-id.d.ts.map +1 -0
  93. package/dist/src/shared/model-id.js +20 -0
  94. package/dist/src/shared/model-id.js.map +1 -0
  95. package/dist/src/shared/models.d.ts +11 -0
  96. package/dist/src/shared/models.d.ts.map +1 -1
  97. package/dist/src/shared/models.js +4 -1
  98. package/dist/src/shared/models.js.map +1 -1
  99. package/dist/src/shared/paths.d.ts +4 -0
  100. package/dist/src/shared/paths.d.ts.map +1 -1
  101. package/dist/src/shared/paths.js +14 -0
  102. package/dist/src/shared/paths.js.map +1 -1
  103. package/dist/src/shared/rateLimit.d.ts +6 -0
  104. package/dist/src/shared/rateLimit.d.ts.map +1 -1
  105. package/dist/src/shared/rateLimit.js +9 -0
  106. package/dist/src/shared/rateLimit.js.map +1 -1
  107. package/dist/src/shared/test-support/posix-mode.d.ts +17 -0
  108. package/dist/src/shared/test-support/posix-mode.d.ts.map +1 -0
  109. package/dist/src/shared/test-support/posix-mode.js +23 -0
  110. package/dist/src/shared/test-support/posix-mode.js.map +1 -0
  111. package/dist/src/shared/types.d.ts +111 -0
  112. package/dist/src/shared/types.d.ts.map +1 -1
  113. package/dist/src/work-items/claims.d.ts +17 -0
  114. package/dist/src/work-items/claims.d.ts.map +1 -0
  115. package/dist/src/work-items/claims.js +9 -0
  116. package/dist/src/work-items/claims.js.map +1 -0
  117. package/dist/src/work-items/id.d.ts +8 -0
  118. package/dist/src/work-items/id.d.ts.map +1 -0
  119. package/dist/src/work-items/id.js +8 -0
  120. package/dist/src/work-items/id.js.map +1 -0
  121. package/dist/src/work-items/labels.d.ts +3 -0
  122. package/dist/src/work-items/labels.d.ts.map +1 -0
  123. package/dist/src/work-items/labels.js +11 -0
  124. package/dist/src/work-items/labels.js.map +1 -0
  125. package/dist/src/work-items/respawn-guards.d.ts +16 -0
  126. package/dist/src/work-items/respawn-guards.d.ts.map +1 -0
  127. package/dist/src/work-items/respawn-guards.js +9 -0
  128. package/dist/src/work-items/respawn-guards.js.map +1 -0
  129. package/dist/src/work-items/runs.d.ts +15 -0
  130. package/dist/src/work-items/runs.d.ts.map +1 -0
  131. package/dist/src/work-items/runs.js +33 -0
  132. package/dist/src/work-items/runs.js.map +1 -0
  133. package/dist/src/work-items/store.d.ts +4 -0
  134. package/dist/src/work-items/store.d.ts.map +1 -0
  135. package/dist/src/work-items/store.js +2 -0
  136. package/dist/src/work-items/store.js.map +1 -0
  137. package/dist/src/work-items/workflow-event-feed.d.ts +58 -0
  138. package/dist/src/work-items/workflow-event-feed.d.ts.map +1 -0
  139. package/dist/src/work-items/workflow-event-feed.js +10 -0
  140. package/dist/src/work-items/workflow-event-feed.js.map +1 -0
  141. package/dist/src/work-items/workflow-event-winners.d.ts +3 -0
  142. package/dist/src/work-items/workflow-event-winners.d.ts.map +1 -0
  143. package/dist/src/work-items/workflow-event-winners.js +5 -0
  144. package/dist/src/work-items/workflow-event-winners.js.map +1 -0
  145. package/dist/src/work-items/workflow-ownership.d.ts +3 -0
  146. package/dist/src/work-items/workflow-ownership.d.ts.map +1 -0
  147. package/dist/src/work-items/workflow-ownership.js +5 -0
  148. package/dist/src/work-items/workflow-ownership.js.map +1 -0
  149. package/dist/src/workflows/approval-description.d.ts +9 -0
  150. package/dist/src/workflows/approval-description.d.ts.map +1 -0
  151. package/dist/src/workflows/approval-description.js +19 -0
  152. package/dist/src/workflows/approval-description.js.map +1 -0
  153. package/dist/src/workflows/attachment-ref.d.ts +38 -0
  154. package/dist/src/workflows/attachment-ref.d.ts.map +1 -0
  155. package/dist/src/workflows/attachment-ref.js +45 -0
  156. package/dist/src/workflows/attachment-ref.js.map +1 -0
  157. package/dist/src/workflows/bindings.d.ts +36 -0
  158. package/dist/src/workflows/bindings.d.ts.map +1 -0
  159. package/dist/src/workflows/bindings.js +268 -0
  160. package/dist/src/workflows/bindings.js.map +1 -0
  161. package/dist/src/workflows/capacity.d.ts +53 -0
  162. package/dist/src/workflows/capacity.d.ts.map +1 -0
  163. package/dist/src/workflows/capacity.js +81 -0
  164. package/dist/src/workflows/capacity.js.map +1 -0
  165. package/dist/src/workflows/contract.d.ts +6 -0
  166. package/dist/src/workflows/contract.d.ts.map +1 -0
  167. package/dist/src/workflows/contract.js +25 -0
  168. package/dist/src/workflows/contract.js.map +1 -0
  169. package/dist/src/workflows/employee-continuation.d.ts +29 -0
  170. package/dist/src/workflows/employee-continuation.d.ts.map +1 -0
  171. package/dist/src/workflows/employee-continuation.js +51 -0
  172. package/dist/src/workflows/employee-continuation.js.map +1 -0
  173. package/dist/src/workflows/engine-chain.d.ts +67 -0
  174. package/dist/src/workflows/engine-chain.d.ts.map +1 -0
  175. package/dist/src/workflows/engine-chain.js +123 -0
  176. package/dist/src/workflows/engine-chain.js.map +1 -0
  177. package/dist/src/workflows/failure.d.ts +75 -0
  178. package/dist/src/workflows/failure.d.ts.map +1 -0
  179. package/dist/src/workflows/failure.js +111 -0
  180. package/dist/src/workflows/failure.js.map +1 -0
  181. package/dist/src/workflows/git-landing-evidence.d.ts +16 -0
  182. package/dist/src/workflows/git-landing-evidence.d.ts.map +1 -0
  183. package/dist/src/workflows/git-landing-evidence.js +44 -0
  184. package/dist/src/workflows/git-landing-evidence.js.map +1 -0
  185. package/dist/src/workflows/import-v1.d.ts +17 -0
  186. package/dist/src/workflows/import-v1.d.ts.map +1 -0
  187. package/dist/src/workflows/import-v1.js +256 -0
  188. package/dist/src/workflows/import-v1.js.map +1 -0
  189. package/dist/src/workflows/index.d.ts +3 -0
  190. package/dist/src/workflows/index.d.ts.map +1 -0
  191. package/dist/src/workflows/index.js +2 -0
  192. package/dist/src/workflows/index.js.map +1 -0
  193. package/dist/src/workflows/issues.d.ts +20 -0
  194. package/dist/src/workflows/issues.d.ts.map +1 -0
  195. package/dist/src/workflows/issues.js +41 -0
  196. package/dist/src/workflows/issues.js.map +1 -0
  197. package/dist/src/workflows/json-schema.d.ts +20 -0
  198. package/dist/src/workflows/json-schema.d.ts.map +1 -0
  199. package/dist/src/workflows/json-schema.js +104 -0
  200. package/dist/src/workflows/json-schema.js.map +1 -0
  201. package/dist/src/workflows/model.d.ts +1978 -0
  202. package/dist/src/workflows/model.d.ts.map +1 -0
  203. package/dist/src/workflows/model.js +277 -0
  204. package/dist/src/workflows/model.js.map +1 -0
  205. package/dist/src/workflows/node-dispatch.d.ts +30 -0
  206. package/dist/src/workflows/node-dispatch.d.ts.map +1 -0
  207. package/dist/src/workflows/node-dispatch.js +148 -0
  208. package/dist/src/workflows/node-dispatch.js.map +1 -0
  209. package/dist/src/workflows/node-mutex.d.ts +27 -0
  210. package/dist/src/workflows/node-mutex.d.ts.map +1 -0
  211. package/dist/src/workflows/node-mutex.js +63 -0
  212. package/dist/src/workflows/node-mutex.js.map +1 -0
  213. package/dist/src/workflows/output.d.ts +14 -0
  214. package/dist/src/workflows/output.d.ts.map +1 -0
  215. package/dist/src/workflows/output.js +229 -0
  216. package/dist/src/workflows/output.js.map +1 -0
  217. package/dist/src/workflows/predicates.d.ts +6 -0
  218. package/dist/src/workflows/predicates.d.ts.map +1 -0
  219. package/dist/src/workflows/predicates.js +60 -0
  220. package/dist/src/workflows/predicates.js.map +1 -0
  221. package/dist/src/workflows/rearm-target.d.ts +14 -0
  222. package/dist/src/workflows/rearm-target.d.ts.map +1 -0
  223. package/dist/src/workflows/rearm-target.js +26 -0
  224. package/dist/src/workflows/rearm-target.js.map +1 -0
  225. package/dist/src/workflows/reminder-ladder.d.ts +16 -0
  226. package/dist/src/workflows/reminder-ladder.d.ts.map +1 -0
  227. package/dist/src/workflows/reminder-ladder.js +64 -0
  228. package/dist/src/workflows/reminder-ladder.js.map +1 -0
  229. package/dist/src/workflows/repository-continuation.d.ts +22 -0
  230. package/dist/src/workflows/repository-continuation.d.ts.map +1 -0
  231. package/dist/src/workflows/repository-continuation.js +15 -0
  232. package/dist/src/workflows/repository-continuation.js.map +1 -0
  233. package/dist/src/workflows/repository-integrity.d.ts +4 -0
  234. package/dist/src/workflows/repository-integrity.d.ts.map +1 -0
  235. package/dist/src/workflows/repository-integrity.js +53 -0
  236. package/dist/src/workflows/repository-integrity.js.map +1 -0
  237. package/dist/src/workflows/repository-migrations.d.ts +7 -0
  238. package/dist/src/workflows/repository-migrations.d.ts.map +1 -0
  239. package/dist/src/workflows/repository-migrations.js +285 -0
  240. package/dist/src/workflows/repository-migrations.js.map +1 -0
  241. package/dist/src/workflows/repository-mutex.d.ts +35 -0
  242. package/dist/src/workflows/repository-mutex.d.ts.map +1 -0
  243. package/dist/src/workflows/repository-mutex.js +34 -0
  244. package/dist/src/workflows/repository-mutex.js.map +1 -0
  245. package/dist/src/workflows/repository-run-transaction.d.ts +22 -0
  246. package/dist/src/workflows/repository-run-transaction.d.ts.map +1 -0
  247. package/dist/src/workflows/repository-run-transaction.js +268 -0
  248. package/dist/src/workflows/repository-run-transaction.js.map +1 -0
  249. package/dist/src/workflows/repository-runs.d.ts +177 -0
  250. package/dist/src/workflows/repository-runs.d.ts.map +1 -0
  251. package/dist/src/workflows/repository-runs.js +405 -0
  252. package/dist/src/workflows/repository-runs.js.map +1 -0
  253. package/dist/src/workflows/repository-support.d.ts +39 -0
  254. package/dist/src/workflows/repository-support.d.ts.map +1 -0
  255. package/dist/src/workflows/repository-support.js +185 -0
  256. package/dist/src/workflows/repository-support.js.map +1 -0
  257. package/dist/src/workflows/repository.d.ts +141 -0
  258. package/dist/src/workflows/repository.d.ts.map +1 -0
  259. package/dist/src/workflows/repository.js +378 -0
  260. package/dist/src/workflows/repository.js.map +1 -0
  261. package/dist/src/workflows/restart-redispatch.d.ts +37 -0
  262. package/dist/src/workflows/restart-redispatch.d.ts.map +1 -0
  263. package/dist/src/workflows/restart-redispatch.js +53 -0
  264. package/dist/src/workflows/restart-redispatch.js.map +1 -0
  265. package/dist/src/workflows/run-closure.d.ts +45 -0
  266. package/dist/src/workflows/run-closure.d.ts.map +1 -0
  267. package/dist/src/workflows/run-closure.js +99 -0
  268. package/dist/src/workflows/run-closure.js.map +1 -0
  269. package/dist/src/workflows/run-graph.d.ts +30 -0
  270. package/dist/src/workflows/run-graph.d.ts.map +1 -0
  271. package/dist/src/workflows/run-graph.js +78 -0
  272. package/dist/src/workflows/run-graph.js.map +1 -0
  273. package/dist/src/workflows/runner.d.ts +165 -0
  274. package/dist/src/workflows/runner.d.ts.map +1 -0
  275. package/dist/src/workflows/runner.js +1013 -0
  276. package/dist/src/workflows/runner.js.map +1 -0
  277. package/dist/src/workflows/runtime.d.ts +141 -0
  278. package/dist/src/workflows/runtime.d.ts.map +1 -0
  279. package/dist/src/workflows/runtime.js +8 -0
  280. package/dist/src/workflows/runtime.js.map +1 -0
  281. package/dist/src/workflows/service-input.d.ts +11 -0
  282. package/dist/src/workflows/service-input.d.ts.map +1 -0
  283. package/dist/src/workflows/service-input.js +28 -0
  284. package/dist/src/workflows/service-input.js.map +1 -0
  285. package/dist/src/workflows/service.d.ts +191 -0
  286. package/dist/src/workflows/service.d.ts.map +1 -0
  287. package/dist/src/workflows/service.js +437 -0
  288. package/dist/src/workflows/service.js.map +1 -0
  289. package/dist/src/workflows/session-caller.d.ts +18 -0
  290. package/dist/src/workflows/session-caller.d.ts.map +1 -0
  291. package/dist/src/workflows/session-caller.js +79 -0
  292. package/dist/src/workflows/session-caller.js.map +1 -0
  293. package/dist/src/workflows/session-executor.d.ts +33 -0
  294. package/dist/src/workflows/session-executor.d.ts.map +1 -0
  295. package/dist/src/workflows/session-executor.js +53 -0
  296. package/dist/src/workflows/session-executor.js.map +1 -0
  297. package/dist/src/workflows/templates.d.ts +42 -0
  298. package/dist/src/workflows/templates.d.ts.map +1 -0
  299. package/dist/src/workflows/templates.js +283 -0
  300. package/dist/src/workflows/templates.js.map +1 -0
  301. package/dist/src/workflows/todo-approval-ref.d.ts +17 -0
  302. package/dist/src/workflows/todo-approval-ref.d.ts.map +1 -0
  303. package/dist/src/workflows/todo-approval-ref.js +17 -0
  304. package/dist/src/workflows/todo-approval-ref.js.map +1 -0
  305. package/dist/src/workflows/todo-event-outcome.d.ts +61 -0
  306. package/dist/src/workflows/todo-event-outcome.d.ts.map +1 -0
  307. package/dist/src/workflows/todo-event-outcome.js +79 -0
  308. package/dist/src/workflows/todo-event-outcome.js.map +1 -0
  309. package/dist/src/workflows/todo-ports.d.ts +140 -0
  310. package/dist/src/workflows/todo-ports.d.ts.map +1 -0
  311. package/dist/src/workflows/todo-ports.js +2 -0
  312. package/dist/src/workflows/todo-ports.js.map +1 -0
  313. package/dist/src/workflows/todo-run-ledger.d.ts +52 -0
  314. package/dist/src/workflows/todo-run-ledger.d.ts.map +1 -0
  315. package/dist/src/workflows/todo-run-ledger.js +60 -0
  316. package/dist/src/workflows/todo-run-ledger.js.map +1 -0
  317. package/dist/src/workflows/trigger-config-schema.d.ts +31 -0
  318. package/dist/src/workflows/trigger-config-schema.d.ts.map +1 -0
  319. package/dist/src/workflows/trigger-config-schema.js +46 -0
  320. package/dist/src/workflows/trigger-config-schema.js.map +1 -0
  321. package/dist/src/workflows/trigger-service.d.ts +47 -0
  322. package/dist/src/workflows/trigger-service.d.ts.map +1 -0
  323. package/dist/src/workflows/trigger-service.js +306 -0
  324. package/dist/src/workflows/trigger-service.js.map +1 -0
  325. package/dist/src/workflows/validation-end-requires.d.ts +4 -0
  326. package/dist/src/workflows/validation-end-requires.d.ts.map +1 -0
  327. package/dist/src/workflows/validation-end-requires.js +30 -0
  328. package/dist/src/workflows/validation-end-requires.js.map +1 -0
  329. package/dist/src/workflows/validation-workflow-call.d.ts +21 -0
  330. package/dist/src/workflows/validation-workflow-call.d.ts.map +1 -0
  331. package/dist/src/workflows/validation-workflow-call.js +51 -0
  332. package/dist/src/workflows/validation-workflow-call.js.map +1 -0
  333. package/dist/src/workflows/validation.d.ts +28 -0
  334. package/dist/src/workflows/validation.d.ts.map +1 -0
  335. package/dist/src/workflows/validation.js +485 -0
  336. package/dist/src/workflows/validation.js.map +1 -0
  337. package/dist/src/workflows/wait-comment-output.d.ts +15 -0
  338. package/dist/src/workflows/wait-comment-output.d.ts.map +1 -0
  339. package/dist/src/workflows/wait-comment-output.js +32 -0
  340. package/dist/src/workflows/wait-comment-output.js.map +1 -0
  341. package/dist/src/workflows/wire.d.ts +78 -0
  342. package/dist/src/workflows/wire.d.ts.map +1 -0
  343. package/dist/src/workflows/wire.js +2 -0
  344. package/dist/src/workflows/wire.js.map +1 -0
  345. package/dist/src/workflows/workflow-call.d.ts +53 -0
  346. package/dist/src/workflows/workflow-call.d.ts.map +1 -0
  347. package/dist/src/workflows/workflow-call.js +128 -0
  348. package/dist/src/workflows/workflow-call.js.map +1 -0
  349. package/dist/web/404.html +1 -1
  350. package/dist/web/__next.__PAGE__.txt +11 -11
  351. package/dist/web/__next._full.txt +12 -12
  352. package/dist/web/__next._tree.txt +2 -2
  353. package/dist/web/_next/static/chunks/0fqryzd-l87nh.js +1 -0
  354. package/dist/web/_next/static/chunks/{39eyhhcdqji59.js → 1ftanci12q2ck.js} +1 -1
  355. package/dist/web/_next/static/chunks/1jlzfg7b2qv3x.js +1 -0
  356. package/dist/web/_next/static/chunks/1v0-xm12dgqnn.css +1 -0
  357. package/dist/web/_next/static/chunks/2xnz64yrge70p.js +1 -0
  358. package/dist/web/_next/static/chunks/{3hm8h0nmd2_4z.js → 42cww7d-zotwu.js} +1 -1
  359. package/dist/web/_not-found/__next._full.txt +10 -10
  360. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +13 -12
  361. package/dist/web/_not-found/__next._tree.txt +2 -2
  362. package/dist/web/_not-found.html +1 -1
  363. package/dist/web/_not-found.txt +10 -10
  364. package/dist/web/chat/__next._full.txt +12 -12
  365. package/dist/web/chat/__next._tree.txt +2 -2
  366. package/dist/web/chat/__next.chat.__PAGE__.txt +11 -11
  367. package/dist/web/chat.html +1 -1
  368. package/dist/web/chat.txt +12 -12
  369. package/dist/web/cron/__next._full.txt +12 -12
  370. package/dist/web/cron/__next._tree.txt +2 -2
  371. package/dist/web/cron/__next.cron.__PAGE__.txt +11 -11
  372. package/dist/web/cron.html +1 -1
  373. package/dist/web/cron.txt +12 -12
  374. package/dist/web/index.html +1 -1
  375. package/dist/web/index.txt +12 -12
  376. package/dist/web/kanban/__next._full.txt +12 -12
  377. package/dist/web/kanban/__next._tree.txt +2 -2
  378. package/dist/web/kanban/__next.kanban.__PAGE__.txt +11 -11
  379. package/dist/web/kanban.html +1 -1
  380. package/dist/web/kanban.txt +12 -12
  381. package/dist/web/logs/__next._full.txt +12 -12
  382. package/dist/web/logs/__next._tree.txt +2 -2
  383. package/dist/web/logs/__next.logs.__PAGE__.txt +11 -11
  384. package/dist/web/logs.html +1 -1
  385. package/dist/web/logs.txt +12 -12
  386. package/dist/web/org/__next._full.txt +12 -12
  387. package/dist/web/org/__next._tree.txt +2 -2
  388. package/dist/web/org/__next.org.__PAGE__.txt +11 -11
  389. package/dist/web/org.html +1 -1
  390. package/dist/web/org.txt +12 -12
  391. package/dist/web/sessions/__next._full.txt +10 -10
  392. package/dist/web/sessions/__next._tree.txt +2 -2
  393. package/dist/web/sessions/__next.sessions.__PAGE__.txt +9 -9
  394. package/dist/web/sessions.html +1 -1
  395. package/dist/web/sessions.txt +10 -10
  396. package/dist/web/settings/__next._full.txt +12 -12
  397. package/dist/web/settings/__next._tree.txt +2 -2
  398. package/dist/web/settings/__next.settings.__PAGE__.txt +11 -11
  399. package/dist/web/settings.html +1 -1
  400. package/dist/web/settings.txt +12 -12
  401. package/dist/web/skills/__next._full.txt +12 -12
  402. package/dist/web/skills/__next._tree.txt +2 -2
  403. package/dist/web/skills/__next.skills.__PAGE__.txt +11 -11
  404. package/dist/web/skills.html +1 -1
  405. package/dist/web/skills.txt +12 -12
  406. package/package.json +3 -2
  407. package/template/docs/automations.md +110 -0
  408. package/dist/web/_next/static/chunks/0094rdygwixc5.js +0 -1
  409. package/dist/web/_next/static/chunks/13onw-m8t1drh.css +0 -1
  410. package/dist/web/_next/static/chunks/24rxa6wngonnl.js +0 -1
  411. /package/dist/web/_next/static/{ISh1Cwq_yjagxndTluTPc → ufk1kTKwxd6lBHX-sBAGO}/_buildManifest.js +0 -0
  412. /package/dist/web/_next/static/{ISh1Cwq_yjagxndTluTPc → ufk1kTKwxd6lBHX-sBAGO}/_clientMiddlewareManifest.js +0 -0
  413. /package/dist/web/_next/static/{ISh1Cwq_yjagxndTluTPc → ufk1kTKwxd6lBHX-sBAGO}/_ssgManifest.js +0 -0
package/dist/bin/jimmy.js CHANGED
@@ -57,6 +57,105 @@ program
57
57
  const { runPair } = await import("../src/cli/pair.js");
58
58
  await runPair(opts);
59
59
  });
60
+ {
61
+ const automationCmd = program
62
+ .command("automation")
63
+ .description("自動化(cron + workflow)の統合操作");
64
+ automationCmd
65
+ .command("list")
66
+ .description("cron と workflow をまとめて一覧する")
67
+ .option("--json", "JSON形式で出力(AIエージェント向け)")
68
+ .action(async (opts) => {
69
+ const cli = await import("../src/cli/automation.js");
70
+ await cli.runAutomationList(opts).catch((e) => cli.reportCliFailure(e, opts.json));
71
+ });
72
+ automationCmd
73
+ .command("enable <id>")
74
+ .description("自動化を有効にする(cron / workflow どちらでも)")
75
+ .option("--kind <kind>", "cron / workflow(同名IDが両方にある時に指定)")
76
+ .option("--json", "JSON形式で出力")
77
+ .action(async (id, opts) => {
78
+ const cli = await import("../src/cli/automation.js");
79
+ await cli.runAutomationToggle(id, true, opts).catch((e) => cli.reportCliFailure(e, opts.json));
80
+ });
81
+ automationCmd
82
+ .command("disable <id>")
83
+ .description("自動化を無効にする(cron / workflow どちらでも)")
84
+ .option("--kind <kind>", "cron / workflow(同名IDが両方にある時に指定)")
85
+ .option("--json", "JSON形式で出力")
86
+ .action(async (id, opts) => {
87
+ const cli = await import("../src/cli/automation.js");
88
+ await cli.runAutomationToggle(id, false, opts).catch((e) => cli.reportCliFailure(e, opts.json));
89
+ });
90
+ const workflowCmd = program
91
+ .command("workflow")
92
+ .description("workflow の作成・実行・履歴(テンプレ一覧: ryoko workflow templates)");
93
+ workflowCmd
94
+ .command("templates")
95
+ .description("テンプレート一覧と変数(--set で渡すキー)を表示する")
96
+ .option("--json", "JSON形式で出力")
97
+ .action(async (opts) => {
98
+ const cli = await import("../src/cli/automation.js");
99
+ await cli.runWorkflowTemplates(opts).catch((e) => cli.reportCliFailure(e, opts.json));
100
+ });
101
+ workflowCmd
102
+ .command("list")
103
+ .description("workflow の一覧")
104
+ .option("--json", "JSON形式で出力")
105
+ .action(async (opts) => {
106
+ const cli = await import("../src/cli/automation.js");
107
+ await cli.runWorkflowList(opts).catch((e) => cli.reportCliFailure(e, opts.json));
108
+ });
109
+ workflowCmd
110
+ .command("create")
111
+ .description("テンプレートまたは JSON 定義から workflow を作る")
112
+ .option("--template <id>", "テンプレートID(ryoko workflow templates で一覧)")
113
+ .option("--file <path>", "JSON 定義ファイル(nodes/edges を含む)")
114
+ .requiredOption("--name <id>", "workflow の ID(英数とハイフン)")
115
+ .option("--title <title>", "表示タイトル(省略時は ID)")
116
+ .option("--set <key=value...>", "テンプレート変数", (v, acc) => [...acc, v], [])
117
+ .option("--enable", "作成後すぐ有効化する")
118
+ .option("--json", "JSON形式で出力")
119
+ .action(async (opts) => {
120
+ const cli = await import("../src/cli/automation.js");
121
+ await cli.runWorkflowCreate(opts).catch((e) => cli.reportCliFailure(e, opts.json));
122
+ });
123
+ workflowCmd
124
+ .command("show <id>")
125
+ .description("workflow の定義と状態を表示する")
126
+ .option("--json", "JSON形式で出力")
127
+ .action(async (id, opts) => {
128
+ const cli = await import("../src/cli/automation.js");
129
+ await cli.runWorkflowShow(id, opts).catch((e) => cli.reportCliFailure(e, opts.json));
130
+ });
131
+ workflowCmd
132
+ .command("run <id>")
133
+ .description("workflow を今すぐ実行する")
134
+ .option("--json", "JSON形式で出力")
135
+ .action(async (id, opts) => {
136
+ const cli = await import("../src/cli/automation.js");
137
+ await cli.runWorkflowStart(id, opts).catch((e) => cli.reportCliFailure(e, opts.json));
138
+ });
139
+ workflowCmd
140
+ .command("approve <id> <runId>")
141
+ .description("承認待ちの run を承認する(--reject で却下)")
142
+ .option("--node <nodeId>", "承認ノードID(承認待ちが複数ある時に指定)")
143
+ .option("--reject", "却下する")
144
+ .option("--note <note>", "決定のメモ")
145
+ .option("--json", "JSON形式で出力")
146
+ .action(async (id, runId, opts) => {
147
+ const cli = await import("../src/cli/automation.js");
148
+ await cli.runWorkflowApprove(id, runId, opts).catch((e) => cli.reportCliFailure(e, opts.json));
149
+ });
150
+ workflowCmd
151
+ .command("runs <id>")
152
+ .description("workflow の実行履歴を表示する")
153
+ .option("--json", "JSON形式で出力")
154
+ .action(async (id, opts) => {
155
+ const cli = await import("../src/cli/automation.js");
156
+ await cli.runWorkflowRuns(id, opts).catch((e) => cli.reportCliFailure(e, opts.json));
157
+ });
158
+ }
60
159
  program
61
160
  .command("api <method> <path>")
62
161
  .description("認証付きでこのインスタンスのGateway APIを呼び出す")
@@ -1 +1 @@
1
- {"version":3,"file":"jimmy.js","sourceRoot":"","sources":["../../bin/jimmy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jimmy.js","sourceRoot":"","sources":["../../bin/jimmy.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openryoko",
3
- "version": "2026.8.28",
3
+ "version": "2026.8.31",
4
4
  "description": "OpenRyoko — Slackで空気を読んで働くAIアシスタント・ゲートウェイ(Jinnベース、Claude Code/Codex/Gemini CLI対応)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -40,7 +40,8 @@
40
40
  "qrcode": "^1.5.4",
41
41
  "qrcode-terminal": "^0.12.0",
42
42
  "uuid": "^11.1.1",
43
- "ws": "^8.21.3"
43
+ "ws": "^8.21.3",
44
+ "zod": "^4.4.3"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@types/better-sqlite3": "^7.6.0",
@@ -0,0 +1,51 @@
1
+ /** One merged table: workflows and cron jobs, the same rows the web page shows. */
2
+ export declare function runAutomationList(opts: {
3
+ json?: boolean;
4
+ }): Promise<void>;
5
+ /** enable/disable works on either kind by the same verb. When one id exists on
6
+ * BOTH sides, the caller has to say which one they mean (--kind). */
7
+ export declare function runAutomationToggle(id: string, enabled: boolean, opts: {
8
+ json?: boolean;
9
+ kind?: string;
10
+ }): Promise<void>;
11
+ export declare function runWorkflowTemplates(opts: {
12
+ json?: boolean;
13
+ }): Promise<void>;
14
+ export interface WorkflowCreateOptions {
15
+ template?: string;
16
+ file?: string;
17
+ name?: string;
18
+ title?: string;
19
+ set: string[];
20
+ enable?: boolean;
21
+ json?: boolean;
22
+ }
23
+ export declare function runWorkflowCreate(opts: WorkflowCreateOptions): Promise<void>;
24
+ export declare function runWorkflowShow(id: string, opts: {
25
+ json?: boolean;
26
+ }): Promise<void>;
27
+ export declare function runWorkflowStart(id: string, opts: {
28
+ json?: boolean;
29
+ }): Promise<void>;
30
+ export declare function runWorkflowRuns(id: string, opts: {
31
+ json?: boolean;
32
+ }): Promise<void>;
33
+ /** Decide the human gate a run is parked on. The default templates put an
34
+ * operator-only approval in front of the heavy model — this is where the
35
+ * operator (or an agent relaying the operator's explicit decision) answers.
36
+ * The gateway stamps who decided from the request itself (no caller header =
37
+ * operator), so the body carries only decision/reason/expectedRevision. */
38
+ export declare function runWorkflowApprove(workflowId: string, runId: string, opts: {
39
+ json?: boolean;
40
+ node?: string;
41
+ reject?: boolean;
42
+ note?: string;
43
+ }): Promise<void>;
44
+ export declare function runWorkflowList(opts: {
45
+ json?: boolean;
46
+ }): Promise<void>;
47
+ /** Report and exit. In --json mode the error itself is machine-readable
48
+ * (stderr, single JSON object) so agents never have to parse prose — for
49
+ * unexpected errors too, with the stack preserved alongside. */
50
+ export declare function reportCliFailure(error: unknown, json?: boolean): never;
51
+ //# sourceMappingURL=automation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../../src/cli/automation.ts"],"names":[],"mappings":"AAsHA,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B/E;AAED;sEACsE;AACtE,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAclF;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwElF;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzF;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1F;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF;AAwBD;;;;4EAI4E;AAC5E,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7E;AAED;;iEAEiE;AACjE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,UAAQ,GAAG,KAAK,CAYpE"}
@@ -0,0 +1,349 @@
1
+ /**
2
+ * `ryoko automation` / `ryoko workflow` — the machine-friendly face of the
3
+ * automation hub. Everything speaks through the gateway API (same routes the
4
+ * web UI uses), takes `--json` for agents, and explains its own failures in
5
+ * fixable terms. Claude Code / Codex are first-class callers here.
6
+ */
7
+ import { requestGatewayApi } from "./api.js";
8
+ import { AUTOMATION_TEMPLATES, buildTemplateBody, TemplateError } from "../workflows/templates.js";
9
+ class CliFailure extends Error {
10
+ }
11
+ function fail(message) {
12
+ throw new CliFailure(message);
13
+ }
14
+ async function rawGateway(method, apiPath, data) {
15
+ try {
16
+ return await requestGatewayApi({ method, path: apiPath, ...(data === undefined ? {} : { data: JSON.stringify(data) }) });
17
+ }
18
+ catch (error) {
19
+ fail(`ゲートウェイに接続できません(${error instanceof Error ? error.message : String(error)})。\`ryoko status\` で稼働を確認してください。`);
20
+ }
21
+ }
22
+ /** Whether the workflow engine is on — from the capability endpoint, which
23
+ * answers 200 either way. A failing capability call is an ERROR, never a
24
+ * silent "engine off": conflating the two would make an API outage look like
25
+ * a configuration choice. A 404 under /api/workflows can then be reported as
26
+ * what it is: this specific workflow does not exist. */
27
+ async function workflowsEnabled() {
28
+ const result = await rawGateway("GET", "/api/automation/templates");
29
+ if (!result.ok) {
30
+ fail(`ゲートウェイの状態を確認できません(GET /api/automation/templates が HTTP ${result.status})。\`ryoko status\` とゲートウェイのログを確認してください。`);
31
+ }
32
+ let flag;
33
+ try {
34
+ flag = JSON.parse(result.body).workflowsEnabled;
35
+ }
36
+ catch {
37
+ fail("ゲートウェイの応答を JSON として読めませんでした(/api/automation/templates)");
38
+ }
39
+ if (typeof flag !== "boolean") {
40
+ fail("ゲートウェイの応答に workflowsEnabled (boolean) がありません(/api/automation/templates)");
41
+ }
42
+ return flag;
43
+ }
44
+ const ENGINE_DISABLED_MESSAGE = "Workflow エンジンが無効です。config.yaml に `workflows:\n enabled: true` を追記してゲートウェイを再起動してください。";
45
+ async function gateway(method, apiPath, data) {
46
+ const result = await rawGateway(method, apiPath, data);
47
+ if (result.status === 404 && apiPath.startsWith("/api/workflows")) {
48
+ if (!(await workflowsEnabled()))
49
+ fail(ENGINE_DISABLED_MESSAGE);
50
+ fail(`見つかりません: ${method} ${apiPath}(ID を確認してください。一覧: ryoko workflow list)`);
51
+ }
52
+ if (!result.ok) {
53
+ let detail = result.body;
54
+ try {
55
+ const parsed = JSON.parse(result.body);
56
+ detail = parsed.message ?? parsed.error ?? result.body;
57
+ if (parsed.issues)
58
+ detail += `\n${JSON.stringify(parsed.issues, null, 2)}`;
59
+ }
60
+ catch { /* leave raw */ }
61
+ fail(`${method} ${apiPath} が失敗しました(HTTP ${result.status}): ${detail}`);
62
+ }
63
+ try {
64
+ return result.body ? JSON.parse(result.body) : null;
65
+ }
66
+ catch {
67
+ fail(`${apiPath} の応答を JSON として読めませんでした`);
68
+ }
69
+ }
70
+ /** Drain every page of a cursor-paged list endpoint. */
71
+ async function gatewayAllPages(apiPath) {
72
+ const items = [];
73
+ let cursor = null;
74
+ do {
75
+ const url = cursor ? `${apiPath}?cursor=${encodeURIComponent(cursor)}` : apiPath;
76
+ const page = await gateway("GET", url);
77
+ items.push(...page.items);
78
+ cursor = page.nextCursor;
79
+ } while (cursor);
80
+ return items;
81
+ }
82
+ function emit(json, data, human) {
83
+ if (json) {
84
+ console.log(JSON.stringify(data, null, 2));
85
+ return;
86
+ }
87
+ human();
88
+ }
89
+ function cronLastRunAt(job) {
90
+ const at = job.lastRun?.at ?? job.lastRun?.timestamp;
91
+ return typeof at === "string" ? at : "—";
92
+ }
93
+ /** One merged table: workflows and cron jobs, the same rows the web page shows. */
94
+ export async function runAutomationList(opts) {
95
+ const [cronJobs, engineOn] = await Promise.all([
96
+ gateway("GET", "/api/cron"),
97
+ workflowsEnabled(),
98
+ ]);
99
+ const workflowRows = engineOn ? await gatewayAllPages("/api/workflows") : [];
100
+ const rows = [
101
+ ...workflowRows.filter((item) => !item.retiredAt).map((item) => ({
102
+ kind: "workflow", id: item.id, title: item.title, enabled: item.enabled, schedule: null, lastRun: null,
103
+ })),
104
+ ...cronJobs.map((job) => ({
105
+ kind: "cron", id: job.id, title: job.description ?? job.id, enabled: job.enabled !== false,
106
+ schedule: job.schedule ?? null, lastRun: cronLastRunAt(job),
107
+ })),
108
+ ];
109
+ emit(Boolean(opts.json), { workflowsEnabled: engineOn, automations: rows }, () => {
110
+ if (!engineOn) {
111
+ console.log("(Workflow エンジンは無効。cron のみ表示 — 有効化は config.workflows.enabled: true)\n");
112
+ }
113
+ const pad = (value, width) => value.length > width ? value.slice(0, width - 1) + "…" : value.padEnd(width);
114
+ console.log(`${pad("種別", 10)} ${pad("ID", 34)} ${pad("状態", 6)} ${pad("スケジュール", 16)} 最終実行`);
115
+ for (const row of rows) {
116
+ console.log(`${pad(row.kind, 10)} ${pad(row.id, 34)} ${pad(row.enabled ? "ON" : "off", 6)} ${pad(row.schedule ?? "—", 16)} ${row.lastRun ?? "—"}`);
117
+ }
118
+ console.log(`\n${rows.length} 件。詳細: ryoko workflow show <id> / 切替: ryoko automation enable|disable <id>`);
119
+ });
120
+ }
121
+ /** enable/disable works on either kind by the same verb. When one id exists on
122
+ * BOTH sides, the caller has to say which one they mean (--kind). */
123
+ export async function runAutomationToggle(id, enabled, opts) {
124
+ if (opts.kind !== undefined && opts.kind !== "cron" && opts.kind !== "workflow") {
125
+ fail(`--kind は cron か workflow です(指定値: ${opts.kind})`);
126
+ }
127
+ const cronJobs = await gateway("GET", "/api/cron");
128
+ const cron = cronJobs.find((job) => job.id === id);
129
+ const engineOn = await workflowsEnabled();
130
+ const workflowRows = engineOn ? await gatewayAllPages("/api/workflows") : [];
131
+ const workflow = workflowRows.find((item) => item.id === id);
132
+ let kind = opts.kind;
133
+ if (!kind) {
134
+ if (cron && workflow)
135
+ fail(`"${id}" は cron と workflow の両方にあります。--kind cron か --kind workflow で指定してください。`);
136
+ kind = cron ? "cron" : workflow ? "workflow" : undefined;
137
+ }
138
+ if (kind === "cron") {
139
+ if (!cron)
140
+ fail(`cron "${id}" は見つかりません(一覧: ryoko automation list)`);
141
+ await gateway("PUT", `/api/cron/${encodeURIComponent(id)}`, { enabled });
142
+ emit(Boolean(opts.json), { kind: "cron", id, enabled }, () => {
143
+ console.log(`cron ${id} を ${enabled ? "有効" : "無効"} にしました`);
144
+ });
145
+ return;
146
+ }
147
+ if (kind === "workflow") {
148
+ if (!workflow) {
149
+ fail(engineOn ? `workflow "${id}" は見つかりません(一覧: ryoko workflow list)` : ENGINE_DISABLED_MESSAGE);
150
+ }
151
+ const saved = await gateway("POST", `/api/workflows/${encodeURIComponent(id)}/${enabled ? "enable" : "disable"}`, { expectedRevision: workflow.revision });
152
+ emit(Boolean(opts.json), { kind: "workflow", id, enabled: saved.enabled, revision: saved.revision }, () => {
153
+ console.log(`workflow ${id} を ${saved.enabled ? "有効" : "無効"} にしました`);
154
+ });
155
+ return;
156
+ }
157
+ fail(engineOn
158
+ ? `"${id}" は cron にも workflow にもありません(一覧: ryoko automation list)`
159
+ : `"${id}" は cron にありません。${ENGINE_DISABLED_MESSAGE}`);
160
+ }
161
+ export async function runWorkflowTemplates(opts) {
162
+ emit(Boolean(opts.json), { templates: AUTOMATION_TEMPLATES }, () => {
163
+ for (const template of AUTOMATION_TEMPLATES) {
164
+ console.log(`${template.id} — ${template.name}`);
165
+ console.log(` こういう時: ${template.when}`);
166
+ console.log(` 流れ: ${template.flow}`);
167
+ console.log(` 変数:`);
168
+ for (const variable of template.variables) {
169
+ const req = variable.required ? "必須" : `任意${variable.default ? ` (既定 ${variable.default})` : ""}`;
170
+ console.log(` --set ${variable.key}=… ${variable.label}(${req})${variable.hint ? ` — ${variable.hint}` : ""}`);
171
+ }
172
+ console.log("");
173
+ }
174
+ });
175
+ }
176
+ export async function runWorkflowCreate(opts) {
177
+ if (!opts.template && !opts.file) {
178
+ fail("--template <id> か --file <def.json> のどちらかを指定してください。テンプレ一覧: ryoko workflow templates");
179
+ }
180
+ if (!opts.name)
181
+ fail("--name <id> は必須です(英数とハイフン。例: --name inquiry-watch)");
182
+ const id = opts.name;
183
+ if (opts.template) {
184
+ // The atomic endpoint validates the FULL definition before anything is
185
+ // written, and enables in the same request — no skeleton on failure, and
186
+ // the returned revision is the one the caller can act on.
187
+ const vars = {};
188
+ for (const pair of opts.set) {
189
+ const eq = pair.indexOf("=");
190
+ if (eq < 1)
191
+ fail(`--set の形式が不正です: "${pair}"(--set key=value)`);
192
+ vars[pair.slice(0, eq)] = pair.slice(eq + 1);
193
+ }
194
+ try {
195
+ buildTemplateBody(opts.template, vars); // fail fast locally with fixable messages
196
+ }
197
+ catch (error) {
198
+ if (error instanceof TemplateError)
199
+ fail(error.message);
200
+ throw error;
201
+ }
202
+ const result = await gateway("POST", `/api/automation/templates/${encodeURIComponent(opts.template)}`, {
203
+ name: id, ...(opts.title ? { title: opts.title } : {}), vars, enable: Boolean(opts.enable),
204
+ });
205
+ emit(Boolean(opts.json), result, () => {
206
+ console.log(`workflow ${result.id} を作成しました(${result.enabled ? "有効" : "無効のまま。有効化: ryoko automation enable " + result.id})`);
207
+ });
208
+ return;
209
+ }
210
+ const { readFileSync } = await import("node:fs");
211
+ let parsed;
212
+ try {
213
+ parsed = JSON.parse(readFileSync(opts.file, "utf-8"));
214
+ }
215
+ catch (error) {
216
+ fail(`${opts.file} を読めませんでした: ${error instanceof Error ? error.message : String(error)}`);
217
+ }
218
+ const definition = parsed;
219
+ if (!Array.isArray(definition.nodes) || !Array.isArray(definition.edges)) {
220
+ fail(`${opts.file} に nodes / edges がありません。GET /api/workflows/<id> が返す definition と同じ形にしてください`);
221
+ }
222
+ // Validate the complete definition locally BEFORE creating, so a bad file
223
+ // never leaves a skeleton definition behind on the server.
224
+ const { workflowDefinitionSchema } = await import("../workflows/model.js");
225
+ const { validateExecutableWorkflow } = await import("../workflows/validation.js");
226
+ const now = new Date().toISOString();
227
+ const candidate = workflowDefinitionSchema.safeParse({
228
+ schemaVersion: 1, id, title: opts.title ?? id,
229
+ ...(definition.description ? { description: definition.description } : {}),
230
+ revision: 1, enabled: false, createdAt: now, updatedAt: now,
231
+ nodes: definition.nodes, edges: definition.edges,
232
+ });
233
+ if (!candidate.success) {
234
+ fail(`定義がスキーマに合いません:\n${JSON.stringify(candidate.error.issues, null, 2)}`);
235
+ }
236
+ const executable = validateExecutableWorkflow(candidate.data);
237
+ if (!executable.ok) {
238
+ fail(`定義が実行可能ではありません:\n${JSON.stringify(executable.issues, null, 2)}`);
239
+ }
240
+ // One request, one transaction on the server: no skeleton on failure.
241
+ const result = await gateway("POST", "/api/automation/definitions", {
242
+ name: id, ...(opts.title ? { title: opts.title } : {}),
243
+ ...(definition.description ? { description: definition.description } : {}),
244
+ nodes: definition.nodes, edges: definition.edges, enable: Boolean(opts.enable),
245
+ });
246
+ emit(Boolean(opts.json), result, () => {
247
+ console.log(`workflow ${result.id} を作成しました(${result.enabled ? "有効" : "無効のまま。有効化: ryoko automation enable " + result.id})`);
248
+ });
249
+ }
250
+ export async function runWorkflowShow(id, opts) {
251
+ const definition = await gateway("GET", `/api/workflows/${encodeURIComponent(id)}`);
252
+ emit(Boolean(opts.json), definition, () => {
253
+ console.log(`${definition.id} — ${definition.title}(${definition.enabled ? "有効" : "無効"} / rev ${definition.revision})`);
254
+ if (definition.description)
255
+ console.log(definition.description);
256
+ console.log(`ノード: ${definition.nodes.map((node) => `${node.name}[${node.type}]`).join(" → ")}`);
257
+ });
258
+ }
259
+ export async function runWorkflowStart(id, opts) {
260
+ const run = await gateway("POST", `/api/workflows/${encodeURIComponent(id)}/runs`, { input: {} });
261
+ emit(Boolean(opts.json), { runId: run.id, status: run.status }, () => {
262
+ console.log(`run ${run.id} を開始しました(${run.status})。履歴: ryoko workflow runs ${id}`);
263
+ });
264
+ }
265
+ export async function runWorkflowRuns(id, opts) {
266
+ const result = await gateway("GET", `/api/workflows/${encodeURIComponent(id)}/runs`);
267
+ emit(Boolean(opts.json), result, () => {
268
+ if (result.items.length === 0) {
269
+ console.log("実行履歴はまだありません。手動実行: ryoko workflow run " + id);
270
+ return;
271
+ }
272
+ for (const run of result.items) {
273
+ const node = run.currentOrFailingNode ? ` @ ${run.currentOrFailingNode.label}(${run.currentOrFailingNode.state})` : "";
274
+ console.log(`${run.startedAt} ${run.status}${node} ${run.id}`);
275
+ }
276
+ });
277
+ }
278
+ /** The upstream output the pending gate is deciding ON — external, unverified
279
+ * content by construction. Walks back past pass-through nodes (a Condition
280
+ * outputs only its chosen port) to the nearest node that reported fields. */
281
+ function approvalContext(run, nodeId) {
282
+ let current = nodeId;
283
+ for (let hop = 0; hop < 5; hop += 1) {
284
+ const source = run.definition?.edges.find((edge) => edge.to.nodeId === current)?.from.nodeId;
285
+ if (!source)
286
+ return undefined;
287
+ const fields = run.nodeRuns.find((nodeRun) => nodeRun.nodeId === source)?.output?.fields;
288
+ if (fields && Object.keys(fields).filter((key) => key !== "port").length > 0)
289
+ return fields;
290
+ current = source;
291
+ }
292
+ return undefined;
293
+ }
294
+ /** Decide the human gate a run is parked on. The default templates put an
295
+ * operator-only approval in front of the heavy model — this is where the
296
+ * operator (or an agent relaying the operator's explicit decision) answers.
297
+ * The gateway stamps who decided from the request itself (no caller header =
298
+ * operator), so the body carries only decision/reason/expectedRevision. */
299
+ export async function runWorkflowApprove(workflowId, runId, opts) {
300
+ const run = await gateway("GET", `/api/workflows/${encodeURIComponent(workflowId)}/runs/${encodeURIComponent(runId)}?view=full`);
301
+ const pending = run.approvals.filter((approval) => approval.status === "pending");
302
+ let nodeId = opts.node;
303
+ if (!nodeId) {
304
+ if (pending.length === 0)
305
+ fail(`run ${runId} に承認待ちのゲートはありません`);
306
+ if (pending.length > 1)
307
+ fail(`承認待ちが複数あります: ${pending.map((item) => item.nodeId).join(", ")}。--node で指定してください`);
308
+ nodeId = pending[0].nodeId;
309
+ }
310
+ const context = approvalContext(run, nodeId);
311
+ if (!opts.json && context) {
312
+ console.log("判定係の報告(外部由来・未検証の内容です):");
313
+ for (const [key, value] of Object.entries(context)) {
314
+ console.log(` ${key}: ${typeof value === "string" ? value : JSON.stringify(value)}`);
315
+ }
316
+ }
317
+ const decision = opts.reject ? "reject" : "approve";
318
+ const decided = await gateway("POST", `/api/workflows/${encodeURIComponent(workflowId)}/runs/${encodeURIComponent(runId)}/nodes/${encodeURIComponent(nodeId)}/approval`, { decision, expectedRevision: run.revision, ...(opts.note ? { reason: opts.note } : {}) });
319
+ emit(Boolean(opts.json), { workflowId, runId, nodeId, decision, runStatus: decided.status, ...(context ? { context } : {}) }, () => {
320
+ console.log(`${nodeId} を${decision === "approve" ? "承認" : "却下"}しました(run: ${decided.status})`);
321
+ });
322
+ }
323
+ export async function runWorkflowList(opts) {
324
+ const items = await gatewayAllPages("/api/workflows");
325
+ emit(Boolean(opts.json), { workflows: items }, () => {
326
+ for (const item of items) {
327
+ console.log(`${item.enabled ? "ON " : "off"} ${item.id} — ${item.title}${item.retiredAt ? "(退役)" : ""}`);
328
+ }
329
+ if (items.length === 0)
330
+ console.log("workflow はまだありません。作成: ryoko workflow create --template <id> --name <id> --set k=v");
331
+ });
332
+ }
333
+ /** Report and exit. In --json mode the error itself is machine-readable
334
+ * (stderr, single JSON object) so agents never have to parse prose — for
335
+ * unexpected errors too, with the stack preserved alongside. */
336
+ export function reportCliFailure(error, json = false) {
337
+ if (error instanceof CliFailure) {
338
+ console.error(json ? JSON.stringify({ error: error.message }) : error.message);
339
+ process.exit(1);
340
+ }
341
+ if (json) {
342
+ const message = error instanceof Error ? error.message : String(error);
343
+ const stack = error instanceof Error ? error.stack : undefined;
344
+ console.error(JSON.stringify({ error: message, unexpected: true, ...(stack ? { stack } : {}) }));
345
+ process.exit(1);
346
+ }
347
+ throw error;
348
+ }
349
+ //# sourceMappingURL=automation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.js","sourceRoot":"","sources":["../../../src/cli/automation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type CronScheduleField = 'schedule' | 'timezone' | 'until';
2
+ export interface CronScheduleValidationError {
3
+ field: CronScheduleField;
4
+ message: string;
5
+ }
6
+ export interface CronScheduleInput {
7
+ schedule: unknown;
8
+ timezone?: unknown;
9
+ until?: unknown;
10
+ }
11
+ /** Validate with the same cron parser used by the scheduler plus the platform's
12
+ * IANA timezone implementation. This is safe to call before any persistence. */
13
+ export declare function validateCronSchedule(input: CronScheduleInput): CronScheduleValidationError[];
14
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/cron/validation.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAElE,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,iBAAiB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;gFACgF;AAChF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,2BAA2B,EAAE,CAuB5F"}