@llm4ts/shell 0.16.2 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/dist/Cli.d.ts +4 -0
  2. package/dist/Cli.d.ts.map +1 -1
  3. package/dist/Cli.js +69 -8
  4. package/dist/Cli.js.map +1 -1
  5. package/dist/FlowCatalog.d.ts +10 -4
  6. package/dist/FlowCatalog.d.ts.map +1 -1
  7. package/dist/FlowCatalog.js +25 -14
  8. package/dist/FlowCatalog.js.map +1 -1
  9. package/flows/epic-stories.js +1 -8
  10. package/flows/hello.js +15 -0
  11. package/flows/implement.js +1 -8
  12. package/flows/issue-pr.js +1 -8
  13. package/flows/judge-suite.js +1 -4
  14. package/flows/lib/epic-stories.js +3 -4
  15. package/flows/local.js +2 -5
  16. package/flows/modernize-bench.js +3 -12
  17. package/flows/modernize-extract.js +8 -18
  18. package/flows/modernize-implement.js +4 -15
  19. package/flows/modernize-pack-check.js +159 -0
  20. package/flows/modernize-review.js +4 -13
  21. package/flows/modernize-seed.js +3 -11
  22. package/flows/modernize-survey.js +0 -0
  23. package/flows/modernize-verify.js +5 -13
  24. package/flows/sdd.js +2 -12
  25. package/kits/j2ee-nextjs/README.md +29 -0
  26. package/kits/j2ee-nextjs/fixtures/demo-bank/RUNBOOK.md +156 -0
  27. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/PAGES.md +67 -0
  28. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/pom.xml +49 -0
  29. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/dto/AcctOvwDTO.java +58 -0
  30. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/dto/BenfDTO.java +49 -0
  31. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/dto/TrfDTO.java +70 -0
  32. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/esb/EsbAcctListService.java +53 -0
  33. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/esb/EsbBenfListService.java +58 -0
  34. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/esb/EsbBenfMaintService.java +58 -0
  35. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/esb/EsbException.java +21 -0
  36. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/esb/EsbGateway.java +44 -0
  37. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/esb/EsbTrfExecService.java +53 -0
  38. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/esb/EsbTrfValidateService.java +45 -0
  39. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/web/AccountOverviewServlet.java +90 -0
  40. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/web/BeneficiaryServlet.java +195 -0
  41. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/web/TransferDraft.java +62 -0
  42. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/java/com/demobank/legacy/web/TransferServlet.java +223 -0
  43. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/WEB-INF/web.xml +59 -0
  44. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/accountOverview.jsp +65 -0
  45. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/beneficiaryEdit.jsp +70 -0
  46. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/beneficiaryList.jsp +43 -0
  47. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/css/bank.css +132 -0
  48. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/dashboard.jsp +28 -0
  49. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/footer.jsp +8 -0
  50. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/header.jsp +22 -0
  51. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/help.jsp +32 -0
  52. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/js/jquery-1.12.4.min.js +1 -0
  53. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/js/validate.js +79 -0
  54. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/login.jsp +29 -0
  55. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/messages.jsp +34 -0
  56. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/nav.jsp +14 -0
  57. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/oldTransfer.jsp +34 -0
  58. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/profile.jsp +26 -0
  59. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/promoQ3.jsp +23 -0
  60. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/settings.jsp +34 -0
  61. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/testHarness.jsp +39 -0
  62. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/transferConfirm.jsp +35 -0
  63. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/transferStep1.jsp +73 -0
  64. package/kits/j2ee-nextjs/fixtures/demo-bank/legacy-j2ee/src/main/webapp/transferStep2.jsp +40 -0
  65. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/CONTRIBUTING.md +76 -0
  66. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/README.md +46 -0
  67. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/contracts/cards.openapi.yaml +57 -0
  68. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/contracts/profile.openapi.yaml +73 -0
  69. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/eslint.config.mjs +24 -0
  70. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/next-env.d.ts +5 -0
  71. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/next.config.mjs +10 -0
  72. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/package.json +29 -0
  73. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/pnpm-lock.yaml +2895 -0
  74. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/app/cards/page.tsx +62 -0
  75. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/app/layout.tsx +41 -0
  76. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/app/page.tsx +26 -0
  77. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/app/profile/page.tsx +134 -0
  78. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/app/signed-in-badge.tsx +9 -0
  79. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/auth/AuthProvider.tsx +36 -0
  80. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/Button.tsx +27 -0
  81. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/Card.tsx +18 -0
  82. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/DataTable.tsx +57 -0
  83. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/Field.tsx +34 -0
  84. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/Form.tsx +70 -0
  85. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/PageLayout.tsx +39 -0
  86. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/Stepper.tsx +29 -0
  87. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/components/index.ts +19 -0
  88. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/services/cards/mock.ts +47 -0
  89. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/services/cards/port.ts +31 -0
  90. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/services/profile/mock.ts +45 -0
  91. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/services/profile/port.ts +24 -0
  92. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/services/registry.ts +20 -0
  93. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/theme/components.css +269 -0
  94. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/src/theme/tokens.css +38 -0
  95. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/tests/cards.page.test.tsx +81 -0
  96. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/tests/profile.page.test.tsx +87 -0
  97. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/tsconfig.json +54 -0
  98. package/kits/j2ee-nextjs/fixtures/demo-bank/nextjs/vitest.config.ts +17 -0
  99. package/kits/j2ee-nextjs/fixtures/demo-bank/preflight.mjs +45 -0
  100. package/kits/j2ee-nextjs/fixtures/demo-bank/reset-demo.mjs +40 -0
  101. package/kits/j2ee-nextjs/fixtures/demo-bank/seed-legacy-j2ee.mjs +71 -0
  102. package/kits/j2ee-nextjs/fixtures/demo-bank/seed-nextjs.mjs +111 -0
  103. package/kits/j2ee-nextjs/fixtures/demo-bank/smoke-legacy-j2ee.mjs +144 -0
  104. package/kits/j2ee-nextjs/fixtures/demo-bank/smoke-nextjs.mjs +118 -0
  105. package/{flows → kits/j2ee-nextjs/flows}/convert-all.js +1 -7
  106. package/{flows → kits/j2ee-nextjs/flows}/convert-page.js +2 -6
  107. package/{flows → kits/j2ee-nextjs/flows}/lib/convert.js +6 -16
  108. package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/pack.md +1 -1
  109. package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/pack.md +1 -1
  110. package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/pack.md +1 -1
  111. package/kits/mainframe-java/README.md +31 -0
  112. package/{flows → kits/mainframe-java}/packs/ace-integration/pack.md +1 -1
  113. package/{flows → kits/mainframe-java}/packs/ace-kafka/pack.md +1 -1
  114. package/{flows → kits/mainframe-java}/packs/cobol-kafka/pack.md +1 -1
  115. package/{flows → kits/mainframe-java}/packs/cobol-springboot/pack.md +1 -1
  116. package/package.json +6 -6
  117. package/src/Cli.ts +92 -9
  118. package/src/FlowCatalog.ts +29 -13
  119. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/patterns/PAT-J2EE-001-jstl-table.md +0 -0
  120. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/patterns/PAT-J2EE-002-jquery-validation.md +0 -0
  121. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/patterns/PAT-J2EE-003-session-stepper.md +0 -0
  122. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/patterns/PAT-J2EE-004-esb-port.md +0 -0
  123. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/patterns/PAT-J2EE-005-include-shell.md +0 -0
  124. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/analysis.md +0 -0
  125. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/bdd.md +0 -0
  126. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/implement.md +0 -0
  127. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/plan.md +0 -0
  128. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/review.md +0 -0
  129. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/spec.md +0 -0
  130. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/survey-refine.md +0 -0
  131. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/prompts/survey-triage.md +0 -0
  132. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/reviewers/acl-purity.md +0 -0
  133. /package/{flows → kits/j2ee-nextjs}/packs/j2ee-nextjs-spa/reviewers/house-style.md +0 -0
  134. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/lessons.md +0 -0
  135. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/analysis.md +0 -0
  136. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/bdd.md +0 -0
  137. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/implement.md +0 -0
  138. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/plan.md +0 -0
  139. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/review.md +0 -0
  140. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/spec.md +0 -0
  141. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/survey-refine.md +0 -0
  142. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/prompts/survey-triage.md +0 -0
  143. /package/{flows → kits/j2ee-nextjs}/packs/jsp-bff-nextjs/reviewers/bff-boundary.md +0 -0
  144. /package/{flows/packs/ace-integration → kits/j2ee-nextjs/packs/jsp-bff-nextjs}/reviewers/traceability.md +0 -0
  145. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/lessons.md +0 -0
  146. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/analysis.md +0 -0
  147. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/bdd.md +0 -0
  148. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/implement.md +0 -0
  149. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/plan.md +0 -0
  150. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/review.md +0 -0
  151. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/spec.md +0 -0
  152. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/survey-refine.md +0 -0
  153. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/prompts/survey-triage.md +0 -0
  154. /package/{flows/packs/ace-kafka → kits/j2ee-nextjs/packs/jsp-nextjs}/reviewers/traceability.md +0 -0
  155. /package/{flows → kits/j2ee-nextjs}/packs/jsp-nextjs/reviewers/ux-fidelity.md +0 -0
  156. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/nextjs-spa/README.md +0 -0
  157. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/nextjs-spa/app/layout.js +0 -0
  158. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/nextjs-spa/app/page.js +0 -0
  159. /package/{flows/fixtures/scaffolds/kafka-streams-service/src/test/resources/features → kits/j2ee-nextjs/scaffolds/nextjs-spa/docs/specs}/.gitkeep +0 -0
  160. /package/{flows/fixtures/scaffolds/nextjs-spa/docs/specs → kits/j2ee-nextjs/scaffolds/nextjs-spa/features}/.gitkeep +0 -0
  161. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/nextjs-spa/next.config.js +0 -0
  162. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/nextjs-spa/package.json +0 -0
  163. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/nextjs-spa/tests/smoke.test.js +0 -0
  164. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/README.md +0 -0
  165. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/frontend/app/layout.js +0 -0
  166. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/frontend/app/page.js +0 -0
  167. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/frontend/next.config.js +0 -0
  168. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/frontend/package.json +0 -0
  169. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/frontend/tests/smoke.test.js +0 -0
  170. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/pom.xml +0 -0
  171. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/scripts/test.sh +0 -0
  172. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/src/main/java/com/meridian/bff/Application.java +0 -0
  173. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/src/main/resources/application.yaml +0 -0
  174. /package/{flows/fixtures → kits/j2ee-nextjs}/scaffolds/spring-bff/src/test/java/com/meridian/bff/ApplicationTests.java +0 -0
  175. /package/{flows/fixtures/scaffolds/nextjs-spa → kits/j2ee-nextjs/scaffolds/spring-bff/src/test/resources}/features/.gitkeep +0 -0
  176. /package/{flows → kits/mainframe-java}/packs/ace-integration/lessons.md +0 -0
  177. /package/{flows → kits/mainframe-java}/packs/ace-integration/prompts/analysis.md +0 -0
  178. /package/{flows → kits/mainframe-java}/packs/ace-integration/prompts/bdd.md +0 -0
  179. /package/{flows → kits/mainframe-java}/packs/ace-integration/prompts/implement.md +0 -0
  180. /package/{flows → kits/mainframe-java}/packs/ace-integration/prompts/plan.md +0 -0
  181. /package/{flows → kits/mainframe-java}/packs/ace-integration/prompts/review.md +0 -0
  182. /package/{flows → kits/mainframe-java}/packs/ace-integration/prompts/spec.md +0 -0
  183. /package/{flows → kits/mainframe-java}/packs/ace-integration/reviewers/routing-fidelity.md +0 -0
  184. /package/{flows/packs/cobol-kafka → kits/mainframe-java/packs/ace-integration}/reviewers/traceability.md +0 -0
  185. /package/{flows → kits/mainframe-java}/packs/ace-kafka/lessons.md +0 -0
  186. /package/{flows → kits/mainframe-java}/packs/ace-kafka/prompts/analysis.md +0 -0
  187. /package/{flows → kits/mainframe-java}/packs/ace-kafka/prompts/bdd.md +0 -0
  188. /package/{flows → kits/mainframe-java}/packs/ace-kafka/prompts/implement.md +0 -0
  189. /package/{flows → kits/mainframe-java}/packs/ace-kafka/prompts/plan.md +0 -0
  190. /package/{flows → kits/mainframe-java}/packs/ace-kafka/prompts/review.md +0 -0
  191. /package/{flows → kits/mainframe-java}/packs/ace-kafka/prompts/spec.md +0 -0
  192. /package/{flows → kits/mainframe-java}/packs/ace-kafka/prompts/vectors.md +0 -0
  193. /package/{flows → kits/mainframe-java}/packs/ace-kafka/reviewers/event-contracts.md +0 -0
  194. /package/{flows → kits/mainframe-java}/packs/ace-kafka/reviewers/routing-fidelity.md +0 -0
  195. /package/{flows/packs/cobol-springboot → kits/mainframe-java/packs/ace-kafka}/reviewers/traceability.md +0 -0
  196. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/lessons.md +0 -0
  197. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-001-record-to-event.md +0 -0
  198. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-002-job-step-topology.md +0 -0
  199. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-003-checkpoint-idempotence.md +0 -0
  200. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-004-eod-totals-window.md +0 -0
  201. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-005-reject-topic.md +0 -0
  202. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-006-keyed-state-store.md +0 -0
  203. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-007-outbox.md +0 -0
  204. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-008-partition-key.md +0 -0
  205. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-009-batch-window-cutoff.md +0 -0
  206. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/patterns/PAT-STREAM-010-replay-backfill.md +0 -0
  207. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/analysis.md +0 -0
  208. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/bdd.md +0 -0
  209. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/implement.md +0 -0
  210. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/plan.md +0 -0
  211. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/review.md +0 -0
  212. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/spec.md +0 -0
  213. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/survey-refine.md +0 -0
  214. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/survey-triage.md +0 -0
  215. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/prompts/vectors.md +0 -0
  216. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/reviewers/cobol-fidelity.md +0 -0
  217. /package/{flows → kits/mainframe-java}/packs/cobol-kafka/reviewers/pattern-conformance.md +0 -0
  218. /package/{flows/packs/jsp-bff-nextjs → kits/mainframe-java/packs/cobol-kafka}/reviewers/traceability.md +0 -0
  219. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/lessons.md +0 -0
  220. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/analysis.md +0 -0
  221. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/bdd.md +0 -0
  222. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/implement.md +0 -0
  223. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/plan.md +0 -0
  224. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/review.md +0 -0
  225. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/spec.md +0 -0
  226. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/survey-refine.md +0 -0
  227. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/survey-triage.md +0 -0
  228. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/prompts/vectors.md +0 -0
  229. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/reviewers/cobol-fidelity.md +0 -0
  230. /package/{flows → kits/mainframe-java}/packs/cobol-springboot/reviewers/pattern-conformance.md +0 -0
  231. /package/{flows/packs/jsp-nextjs → kits/mainframe-java/packs/cobol-springboot}/reviewers/traceability.md +0 -0
  232. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-001-comp3-money.md +0 -0
  233. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-002-redefines.md +0 -0
  234. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-003-88-levels.md +0 -0
  235. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-004-perform-thru.md +0 -0
  236. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-005-file-status.md +0 -0
  237. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-006-sqlcode.md +0 -0
  238. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-007-validation-order.md +0 -0
  239. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-008-zoned-decimal.md +0 -0
  240. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-009-occurs-table.md +0 -0
  241. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-010-copybook-record.md +0 -0
  242. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-011-batch-counters.md +0 -0
  243. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-012-commit-frequency.md +0 -0
  244. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-013-abend.md +0 -0
  245. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-014-reject-file.md +0 -0
  246. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-015-accept-date.md +0 -0
  247. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-016-string-building.md +0 -0
  248. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-017-cursor-loop.md +0 -0
  249. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-018-yn-switches.md +0 -0
  250. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-019-shared-accumulators.md +0 -0
  251. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-020-tiered-fees.md +0 -0
  252. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-021-overdraft-floor.md +0 -0
  253. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-022-jcl-job-net.md +0 -0
  254. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-023-sort-step.md +0 -0
  255. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-024-fixed-width-records.md +0 -0
  256. /package/{flows → kits/mainframe-java}/patterns/PAT-COBOL-025-audit-rows.md +0 -0
  257. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/kafka-streams-service/README.md +0 -0
  258. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/kafka-streams-service/pom.xml +0 -0
  259. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/kafka-streams-service/scripts/replay.sh +0 -0
  260. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/kafka-streams-service/src/main/java/com/meridian/scaffold/Application.java +0 -0
  261. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/kafka-streams-service/src/test/java/com/meridian/scaffold/ApplicationTests.java +0 -0
  262. /package/{flows/fixtures/scaffolds/spring-bff → kits/mainframe-java/scaffolds/kafka-streams-service}/src/test/resources/features/.gitkeep +0 -0
  263. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/spring-boot-service/README.md +0 -0
  264. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/spring-boot-service/pom.xml +0 -0
  265. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/spring-boot-service/scripts/replay.sh +0 -0
  266. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/spring-boot-service/src/main/java/com/meridian/scaffold/Application.java +0 -0
  267. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/spring-boot-service/src/main/resources/application.yaml +0 -0
  268. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/spring-boot-service/src/test/java/com/meridian/scaffold/ApplicationTests.java +0 -0
  269. /package/{flows/fixtures → kits/mainframe-java}/scaffolds/spring-boot-service/src/test/resources/features/.gitkeep +0 -0
package/dist/Cli.d.ts CHANGED
@@ -2,6 +2,7 @@ import * as Effect from "effect/Effect";
2
2
  import { FileSystem } from "effect/FileSystem";
3
3
  import * as Schema from "effect/Schema";
4
4
  import * as Command from "effect/unstable/cli/Command";
5
+ import { type DiscoveredKit } from "@llm4ts/runner/Kits";
5
6
  import { type DiscoveredFlow, type FlowTierPaths } from "./FlowCatalog.ts";
6
7
  declare const ShellUsageError_base: Schema.Class<ShellUsageError, Schema.TaggedStruct<"ShellUsage", {
7
8
  readonly message: Schema.String;
@@ -18,6 +19,9 @@ export declare const shellTierPaths: (options?: {
18
19
  readonly cwd?: string;
19
20
  readonly environment?: Readonly<Record<string, string | undefined>>;
20
21
  }) => FlowTierPaths;
22
+ export declare const renderKitList: (kits: ReadonlyArray<DiscoveredKit>, options?: {
23
+ readonly json?: boolean;
24
+ }) => string;
21
25
  export declare const renderFlowList: (flows: ReadonlyArray<DiscoveredFlow>, options?: {
22
26
  readonly json?: boolean;
23
27
  }) => string;
package/dist/Cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AAItD,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAA;;;;AAKzB,qBAAa,eAAgB,SAAQ,oBAEnC;CAAG;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG;AAEL,eAAO,MAAM,eAAe,QAAO,MAA6D,CAAA;AAEhG,eAAO,MAAM,cAAc,GAAI,UAAU;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;CACpE,KAAG,aAMA,CAAA;AAOJ,eAAO,MAAM,cAAc,GACzB,OAAO,aAAa,CAAC,cAAc,CAAC,EACpC,UAAU;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KACpC,MAwBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,iGAwBtB,CAAA;AAkHF,eAAO,MAAM,YAAY,0KAcxB,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,MAAM,aAAa,CAAC,MAAM,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CACe,CAAA"}
1
+ {"version":3,"file":"Cli.d.ts","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AAItD,OAAO,EAA8C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpG,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAA;;;;AAKzB,qBAAa,eAAgB,SAAQ,oBAEnC;CAAG;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG;AAEL,eAAO,MAAM,eAAe,QAAO,MAA6D,CAAA;AAEhG,eAAO,MAAM,cAAc,GAAI,UAAU;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;CACpE,KAAG,aAaH,CAAA;AAQD,eAAO,MAAM,aAAa,GACxB,MAAM,aAAa,CAAC,aAAa,CAAC,EAClC,UAAU;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KACpC,MA+BF,CAAA;AAED,eAAO,MAAM,cAAc,GACzB,OAAO,aAAa,CAAC,cAAc,CAAC,EACpC,UAAU;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,KACpC,MAyBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,iGAwBtB,CAAA;AAgJF,eAAO,MAAM,YAAY,0KAqBxB,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,MAAM,aAAa,CAAC,MAAM,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CACe,CAAA"}
package/dist/Cli.js CHANGED
@@ -9,6 +9,7 @@ import * as Command from "effect/unstable/cli/Command";
9
9
  import * as Flag from "effect/unstable/cli/Flag";
10
10
  import { makeCliProgram } from "@llm4ts/runner/Cli";
11
11
  import { makeDoctorProgram } from "@llm4ts/runner/Doctor";
12
+ import { builtinKitsDir, discoverKits, kitTierPaths } from "@llm4ts/runner/Kits";
12
13
  import { defaultTierPaths, discoverFlows } from "./FlowCatalog.js";
13
14
  import { launchFlow } from "./FlowLaunch.js";
14
15
  import { mainMenu } from "./Menu.js";
@@ -22,15 +23,52 @@ export class ShellActionError extends Schema.TaggedErrorClass()("ShellAction", {
22
23
  }) {
23
24
  }
24
25
  export const builtinFlowsDir = () => fileURLToPath(new URL("../flows", import.meta.url));
25
- export const shellTierPaths = (options) => defaultTierPaths({
26
- cwd: options?.cwd ?? process.cwd(),
27
- homeDir: homedir(),
28
- environment: options?.environment ?? process.env,
29
- builtinDir: builtinFlowsDir()
30
- });
26
+ export const shellTierPaths = (options) => {
27
+ const cwd = options?.cwd ?? process.cwd();
28
+ const environment = options?.environment ?? process.env;
29
+ const builtinKits = builtinKitsDir(builtinFlowsDir());
30
+ return {
31
+ ...defaultTierPaths({ cwd, homeDir: homedir(), environment, builtinDir: builtinFlowsDir() }),
32
+ kits: kitTierPaths({
33
+ cwd,
34
+ homeDir: homedir(),
35
+ environment,
36
+ ...(builtinKits === undefined ? {} : { builtinDir: builtinKits })
37
+ })
38
+ };
39
+ };
31
40
  const tierLabel = (flow) => {
41
+ const kit = flow.kit === undefined ? "" : ` kit:${flow.kit}`;
32
42
  const shadows = flow.shadows.length === 0 ? "" : ` shadows ${flow.shadows.join(", ")}`;
33
- return `[${flow.tier}${shadows}]`;
43
+ return `[${flow.tier}${kit}${shadows}]`;
44
+ };
45
+ export const renderKitList = (kits, options) => {
46
+ if (options?.json === true) {
47
+ return JSON.stringify(kits.map((kit) => ({
48
+ name: kit.name,
49
+ tier: kit.tier,
50
+ path: kit.root,
51
+ ...(kit.description === undefined ? {} : { description: kit.description }),
52
+ packs: kit.packs,
53
+ flows: kit.flows,
54
+ shadows: kit.shadows
55
+ })), undefined, 2);
56
+ }
57
+ const nameWidth = kits.reduce((width, kit) => Math.max(width, kit.name.length), 0);
58
+ return kits
59
+ .flatMap((kit) => {
60
+ const shadows = kit.shadows.length === 0 ? "" : ` shadows ${kit.shadows.join(", ")}`;
61
+ return [
62
+ [
63
+ kit.name.padEnd(nameWidth),
64
+ `[${kit.tier}${shadows}]`,
65
+ ...(kit.description === undefined ? [] : [kit.description])
66
+ ].join(" "),
67
+ ...(kit.packs.length === 0 ? [] : [` packs: ${kit.packs.join(", ")}`]),
68
+ ...(kit.flows.length === 0 ? [] : [` flows: ${kit.flows.join(", ")}`])
69
+ ];
70
+ })
71
+ .join("\n");
34
72
  };
35
73
  export const renderFlowList = (flows, options) => {
36
74
  if (options?.json === true) {
@@ -38,6 +76,7 @@ export const renderFlowList = (flows, options) => {
38
76
  name: flow.name,
39
77
  tier: flow.tier,
40
78
  path: flow.path,
79
+ ...(flow.kit === undefined ? {} : { kit: flow.kit }),
41
80
  ...(flow.description === undefined ? {} : { description: flow.description }),
42
81
  shadows: flow.shadows
43
82
  })), undefined, 2);
@@ -81,6 +120,7 @@ const runCommand = Command.make("run", {
81
120
  flow: Argument.string("flow").pipe(Argument.withDescription("Flow name from `llm4ts list`, or a path to a flow script")),
82
121
  task: Argument.string("task").pipe(Argument.variadic(), Argument.withDescription("Task text passed to the flow")),
83
122
  repo: Flag.string("repo").pipe(Flag.optional, Flag.withDescription("Repository to run against, forwarded to the flow as --repo (defaults to the current directory)")),
123
+ pack: Flag.string("pack").pipe(Flag.optional, Flag.withDescription("Pack for the modernization flows, forwarded as LLM4TS_PACK: a kit pack name from `llm4ts kits`, kit/pack, or a directory holding pack.md")),
84
124
  verbose: Flag.boolean("verbose").pipe(Flag.withDescription("Stream verbose flow output"))
85
125
  }, (config) => Effect.gen(function* () {
86
126
  const tiers = shellTierPaths();
@@ -89,6 +129,9 @@ const runCommand = Command.make("run", {
89
129
  if (config.verbose) {
90
130
  environment.LLM4TS_VERBOSITY = "verbose";
91
131
  }
132
+ if (config.pack._tag === "Some") {
133
+ environment.LLM4TS_PACK = config.pack.value;
134
+ }
92
135
  const exitCode = yield* launchFlow({
93
136
  flowPath,
94
137
  taskArgs: [
@@ -111,6 +154,17 @@ const listCommand = Command.make("list", {
111
154
  }
112
155
  yield* Console.log(renderFlowList(flows, { json: config.json }));
113
156
  })).pipe(Command.withDescription("List flows across the project, global, and built-in tiers"));
157
+ const kitsCommand = Command.make("kits", {
158
+ json: Flag.boolean("json").pipe(Flag.withDescription("Emit the listing as JSON"))
159
+ }, (config) => Effect.gen(function* () {
160
+ const tiers = shellTierPaths();
161
+ const kits = tiers.kits === undefined ? [] : discoverKits(tiers.kits);
162
+ if (kits.length === 0 && !config.json) {
163
+ yield* Console.error("no kits discovered — add kit directories under .llm4ts/kits/");
164
+ return;
165
+ }
166
+ yield* Console.log(renderKitList(kits, { json: config.json }));
167
+ })).pipe(Command.withDescription("List kits — packs, scaffolds, pattern cards, and flows — across the project, global, and built-in tiers"));
114
168
  const viewCommand = Command.make("view", {
115
169
  flow: Argument.string("flow").pipe(Argument.withDescription("Flow name from `llm4ts list`, or a path to a flow script"))
116
170
  }, (config) => Effect.gen(function* () {
@@ -147,6 +201,13 @@ export const shellCommand = Command.make("llm4ts", {}, () => Effect.gen(function
147
201
  });
148
202
  }
149
203
  yield* mainMenu(shellTierPaths());
150
- })).pipe(Command.withDescription("Interactive shell and CLI for llm4ts flows: discover, inspect, and run them."), Command.withSubcommands([runCommand, listCommand, viewCommand, askCommand, doctorCommand]));
204
+ })).pipe(Command.withDescription("Interactive shell and CLI for llm4ts flows: discover, inspect, and run them."), Command.withSubcommands([
205
+ runCommand,
206
+ listCommand,
207
+ kitsCommand,
208
+ viewCommand,
209
+ askCommand,
210
+ doctorCommand
211
+ ]));
151
212
  export const runShellCommand = (argv) => Command.runWith(shellCommand, { version: packageVersion })(argv);
152
213
  //# sourceMappingURL=Cli.js.map
package/dist/Cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AACtD,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAA;AACpG,OAAO,EACL,gBAAgB,EAChB,aAAa,EAGd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,gBAAgB,EAAmB,CAAC,YAAY,EAAE;IAC5F,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,gBAAgB,EAAoB,CAAC,aAAa,EAAE;IAC/F,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,CAAC,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAG9B,EAAiB,EAAE;IAClB,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACzC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG,CAAA;IACvD,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC,CAAA;IACrD,OAAO;QACL,GAAG,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAAC;QAC5F,IAAI,EAAE,YAAY,CAAC;YACjB,GAAG;YACH,OAAO,EAAE,OAAO,EAAE;YAClB,WAAW;YACX,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;SAClE,CAAC;KACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAoB,EAAU,EAAE;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IACtF,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAkC,EAClC,OAAqC,EAC7B,EAAE;IACV,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;YAC1E,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC,EACH,SAAS,EACT,CAAC,CACF,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAClF,OAAO,IAAI;SACR,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;QACpF,OAAO;YACL;gBACE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1B,IAAI,GAAG,CAAC,IAAI,GAAG,OAAO,GAAG;gBACzB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxE,CAAA;IACH,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAoC,EACpC,OAAqC,EAC7B,EAAE;IACV,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5E,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC,EACH,SAAS,EACT,CAAC,CACF,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IACrF,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,EAC7E,SAAiB,EACjB,KAAoB;IAEpB,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QAClF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,0BAA0B,SAAS,EAAE,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;YAChC,OAAO,EACL,KAAK,CAAC,MAAM,KAAK,CAAC;gBAChB,CAAC,CAAC,iBAAiB,SAAS,yBAAyB;gBACrD,CAAC,CAAC,iBAAiB,SAAS,mBAAmB,KAAK,GAAG;SAC5D,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC7B,KAAK,EACL;IACE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAChC,QAAQ,CAAC,eAAe,CAAC,0DAA0D,CAAC,CACrF;IACD,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAChC,QAAQ,CAAC,QAAQ,EAAE,EACnB,QAAQ,CAAC,eAAe,CAAC,8BAA8B,CAAC,CACzD;IACD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAC5B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,eAAe,CAClB,gGAAgG,CACjG,CACF;IACD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAC5B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,eAAe,CAClB,0IAA0I,CAC3I,CACF;IACD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;CAC1F,EACD,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACvD,MAAM,WAAW,GAAuC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAC1E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,WAAW,CAAC,gBAAgB,GAAG,SAAS,CAAA;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChC,WAAW,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAA;IAC7C,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;QACjC,QAAQ;QACR,QAAQ,EAAE;YACR,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,MAAM,CAAC,IAAI;SACf;QACD,WAAW;KACZ,CAAC,CAAA;IACF,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACtB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,0CAA0C,CAAC,CAAC,CAAA;AAE3E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,MAAM,EACN;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;CAClF,EACD,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAA;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC3C,OAAM;IACR,CAAC;IACD,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAClE,CAAC,CAAC,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,2DAA2D,CAAC,CAAC,CAAA;AAE5F,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,MAAM,EACN;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;CAClF,EACD,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;QACpF,OAAM;IACR,CAAC;IACD,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAChE,CAAC,CAAC,CACL,CAAC,IAAI,CACJ,OAAO,CAAC,eAAe,CACrB,yGAAyG,CAC1G,CACF,CAAA;AAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAC9B,MAAM,EACN;IACE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAChC,QAAQ,CAAC,eAAe,CAAC,0DAA0D,CAAC,CACrF;CACF,EACD,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;IAClE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE;SACrB,cAAc,CAAC,QAAQ,CAAC;SACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,eAAe,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5F,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;AACtC,CAAC,CAAC,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,CAAA;AAExD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC7B,KAAK,EACL;IACE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpC,QAAQ,CAAC,QAAQ,EAAE,EACnB,QAAQ,CAAC,eAAe,CAAC,mDAAmD,CAAC,CAC9E;IACD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAC5B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,eAAe,CAAC,+DAA+D,CAAC,CACtF;CACF,EACD,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,IAAI,GAAG;QACX,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAA;IACD,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAC9B,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,IAAI,KAAK,aAAa;QAC1B,CAAC,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC,CAAC,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CACrD,CACF,CAAA;AACH,CAAC,CAAC,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,uDAAuD,CAAC,CAAC,CAAA;AAExF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CACpD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAA;IACzC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;AACtC,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,6CAA6C,CAAC,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAC1D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;YAChC,OAAO,EAAE,mEAAmE;SAC7E,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAA;AACnC,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,OAAO,CAAC,eAAe,CACrB,8EAA8E,CAC/E,EACD,OAAO,CAAC,eAAe,CAAC;IACtB,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;CACd,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAA2B,EACwB,EAAE,CACrD,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA"}
@@ -1,15 +1,20 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import { FileSystem } from "effect/FileSystem";
3
+ import { type KitTierPaths } from "@llm4ts/runner/Kits";
3
4
  export type FlowTier = "project" | "global" | "builtin";
4
5
  export interface FlowTierPaths {
5
6
  readonly project?: string;
6
7
  readonly global?: string;
7
8
  readonly builtin?: string;
9
+ /** Kit tiers whose `flows/` join the listing under the kit's tier (ADR 0014). */
10
+ readonly kits?: KitTierPaths;
8
11
  }
9
12
  export interface DiscoveredFlow {
10
13
  readonly name: string;
11
14
  readonly path: string;
12
15
  readonly tier: FlowTier;
16
+ /** The kit the flow ships in, when it is a kit flow rather than a tier's own. */
17
+ readonly kit?: string;
13
18
  readonly description?: string;
14
19
  readonly shadows: ReadonlyArray<FlowTier>;
15
20
  }
@@ -28,10 +33,11 @@ export declare const defaultTierPaths: (options: {
28
33
  readonly builtinDir?: string;
29
34
  }) => FlowTierPaths;
30
35
  /**
31
- * Discovers flows across the project, global, and built-in tiers. Precedence
32
- * is project > global > builtin, keyed by flow name; a shadowed tier is
33
- * recorded on the winning flow's `shadows` list. Missing or unreadable
34
- * directories contribute nothing.
36
+ * Discovers flows across the project, global, and built-in tiers, each tier's
37
+ * own `flows/` first and then the `flows/` of the kits discovered in that
38
+ * tier. Precedence is project > global > builtin, keyed by flow name; a
39
+ * shadowed tier is recorded on the winning flow's `shadows` list. Missing or
40
+ * unreadable directories contribute nothing.
35
41
  */
36
42
  export declare const discoverFlows: (tiers: FlowTierPaths) => Effect.Effect<DiscoveredFlow[], never, FileSystem>;
37
43
  //# sourceMappingURL=FlowCatalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowCatalog.d.ts","sourceRoot":"","sources":["../src/FlowCatalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAe9D,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B,KAAG,aAWH,CAAA;AAkCD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,8EAwBxB,CAAA"}
1
+ {"version":3,"file":"FlowCatalog.d.ts","sourceRoot":"","sources":["../src/FlowCatalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAErE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,iFAAiF;IACjF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAe9D,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B,KAAG,aAWH,CAAA;AAoCD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,8EAgCxB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { join } from "node:path";
2
2
  import * as Effect from "effect/Effect";
3
3
  import { FileSystem } from "effect/FileSystem";
4
+ import { discoverKits } from "@llm4ts/runner/Kits";
4
5
  /**
5
6
  * The first non-empty `//` comment line within the file's leading block of
6
7
  * blank lines and `//` comments is the flow's one-line description. A bare or
@@ -39,7 +40,7 @@ const tierOrder = ["project", "global", "builtin"];
39
40
  // User-authored flows are .ts (launched with type stripping); the built-in
40
41
  // tier ships .js because Node refuses to strip types under node_modules.
41
42
  const flowExtension = (entry) => entry.endsWith(".ts") ? ".ts" : entry.endsWith(".js") ? ".js" : undefined;
42
- const listTier = Effect.fn("@llm4ts/shell/FlowCatalog.listTier")(function* (tier, directory) {
43
+ const listTier = Effect.fn("@llm4ts/shell/FlowCatalog.listTier")(function* (tier, directory, kit) {
43
44
  const fs = yield* FileSystem;
44
45
  const entries = yield* fs.readDirectory(directory).pipe(Effect.orElseSucceed(() => []));
45
46
  const flows = [];
@@ -55,31 +56,41 @@ const listTier = Effect.fn("@llm4ts/shell/FlowCatalog.listTier")(function* (tier
55
56
  name: entry.slice(0, -extension.length),
56
57
  path,
57
58
  tier,
59
+ ...(kit === undefined ? {} : { kit }),
58
60
  ...(description === undefined ? {} : { description })
59
61
  });
60
62
  }
61
63
  return flows;
62
64
  });
63
65
  /**
64
- * Discovers flows across the project, global, and built-in tiers. Precedence
65
- * is project > global > builtin, keyed by flow name; a shadowed tier is
66
- * recorded on the winning flow's `shadows` list. Missing or unreadable
67
- * directories contribute nothing.
66
+ * Discovers flows across the project, global, and built-in tiers, each tier's
67
+ * own `flows/` first and then the `flows/` of the kits discovered in that
68
+ * tier. Precedence is project > global > builtin, keyed by flow name; a
69
+ * shadowed tier is recorded on the winning flow's `shadows` list. Missing or
70
+ * unreadable directories contribute nothing.
68
71
  */
69
72
  export const discoverFlows = Effect.fn("@llm4ts/shell/FlowCatalog.discoverFlows")(function* (tiers) {
70
73
  const byName = new Map();
74
+ const kits = tiers.kits === undefined ? [] : discoverKits(tiers.kits);
75
+ const record = (flow) => {
76
+ const existing = byName.get(flow.name);
77
+ if (existing === undefined) {
78
+ byName.set(flow.name, { flow, shadows: [] });
79
+ }
80
+ else {
81
+ existing.shadows.push(flow.tier);
82
+ }
83
+ };
71
84
  for (const tier of tierOrder) {
72
85
  const directory = tiers[tier];
73
- if (directory === undefined) {
74
- continue;
75
- }
76
- for (const flow of yield* listTier(tier, directory)) {
77
- const existing = byName.get(flow.name);
78
- if (existing === undefined) {
79
- byName.set(flow.name, { flow, shadows: [] });
86
+ if (directory !== undefined) {
87
+ for (const flow of yield* listTier(tier, directory)) {
88
+ record(flow);
80
89
  }
81
- else {
82
- existing.shadows.push(tier);
90
+ }
91
+ for (const kit of kits.filter((candidate) => candidate.tier === tier)) {
92
+ for (const flow of yield* listTier(tier, join(kit.root, "flows"), kit.name)) {
93
+ record(flow);
83
94
  }
84
95
  }
85
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FlowCatalog.js","sourceRoot":"","sources":["../src/FlowCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAkB9C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAsB,EAAE;IACzE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAKhC,EAAiB,EAAE;IAClB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAA;IACtD,MAAM,UAAU,GACd,WAAW,CAAC,eAAe,KAAK,SAAS,IAAI,WAAW,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QACjF,CAAC,CAAC,WAAW,CAAC,eAAe;QAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACtC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC;QAC9C,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC3C,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;KAC7E,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAA4B,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAE3E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,aAAa,GAAG,CAAC,KAAa,EAAsB,EAAE,CAC1D,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAE3E,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,oCAAoC,CAAC,CAAC,QAAQ,CAAC,EACxE,IAAc,EACd,SAAiB;IAEjB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvF,MAAM,KAAK,GAA2C,EAAE,CAAA;IACxD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAClF,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAChD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YACvC,IAAI;YACJ,IAAI;YACJ,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;SACtD,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,yCAAyC,CAAC,CAAC,QAAQ,CAAC,EACzF,KAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,GAAG,EAGnB,CAAA;IACH,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACxB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAkB,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SAClE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/D,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"FlowCatalog.js","sourceRoot":"","sources":["../src/FlowCatalog.ts"],"names":[],"mappings":"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"}
@@ -18,16 +18,9 @@ import * as Effect from "effect/Effect";
18
18
  import { budget, cap } from "@llm4ts/flow/Context";
19
19
  import { makeLocalBoardSync } from "@llm4ts/flow/BoardSync";
20
20
  import { estimatedUsageOptionsFromEnv, makeEstimatedUsageMeter } from "@llm4ts/flow/EstimatedUsage";
21
- import { FlowAborted } from "@llm4ts/flow/FlowError";
22
- import { Info } from "@llm4ts/flow/FlowEvents";
23
- import { stage } from "@llm4ts/flow/PlanExecution";
21
+ import { FlowAborted, Info, asReadOnly, nodePlainFileStore, nodeProcessExecutor, resolveFlowInput, runFlowMain, runNode, stage, withModel } from "@llm4ts/runner";
24
22
  import { implementStoriesFlow } from "@llm4ts/flow/Stories";
25
23
  import { makeStoryPlanStore, validateStoryPlan } from "@llm4ts/flow/StoryPlan";
26
- import { asReadOnly, withModel } from "@llm4ts/runner/Connectors";
27
- import { resolveFlowInput } from "@llm4ts/runner/FlowArgs";
28
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
29
- import { nodePlainFileStore } from "@llm4ts/runner/NodePlainFileStore";
30
- import { nodeProcessExecutor } from "@llm4ts/runner/NodeProcessExecutor";
31
24
  import { combineTotals, epicIdFor, gateCommands, gatesIn, generateStoryPlan, judgeStory, parseEpicArgs, reasonerFromEnvironment, setupIn, storyCoderFromEnvironment, worktreeSetupCommand } from "./lib/epic-stories.js";
32
25
  /** `LLM4TS_CODER_MODEL` / `LLM4TS_REASONING_MODEL`: pi takes `provider/model` (e.g. `openai-codex/gpt-5.5`). */
33
26
  const withOptionalModel = (config, model) => {
package/flows/hello.js ADDED
@@ -0,0 +1,15 @@
1
+ // Hello: send one prompt to the configured provider and print the answer.
2
+ import * as Effect from "effect/Effect";
3
+ import { apiConnectorFromEnvironment, completeAndPublish, resolveFlowInput, runFlowMain, runNode } from "@llm4ts/runner";
4
+ const program = Effect.gen(function* () {
5
+ const input = yield* resolveFlowInput("Say hello and name one thing you can do.");
6
+ const coder = yield* apiConnectorFromEnvironment();
7
+ yield* runNode({
8
+ workDir: input.workDir,
9
+ workspace: input.workspace,
10
+ userPrompt: input.prompt,
11
+ coder,
12
+ environment: process.env
13
+ }, (context) => completeAndPublish(context.coder, context.events, input.prompt));
14
+ });
15
+ runFlowMain(program);
@@ -1,14 +1,7 @@
1
1
  // Persistent plan: plan the task, then implement, review, and commit one task at a time.
2
2
  import { join } from "node:path";
3
3
  import * as Effect from "effect/Effect";
4
- import { implementPlanFlow } from "@llm4ts/flow/Flow";
5
- import { defaultPlanPath } from "@llm4ts/flow/Plan";
6
- import { planFrom } from "@llm4ts/flow/Planner";
7
- import { makePlanStore } from "@llm4ts/flow/Persistence";
8
- import { coderFromEnv } from "@llm4ts/runner/Connectors";
9
- import { resolveFlowInput } from "@llm4ts/runner/FlowArgs";
10
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
11
- import { nodePlainFileStore } from "@llm4ts/runner/NodePlainFileStore";
4
+ import { coderFromEnv, defaultPlanPath, implementPlanFlow, makePlanStore, nodePlainFileStore, planFrom, resolveFlowInput, runFlowMain, runNode } from "@llm4ts/runner";
12
5
  const program = Effect.gen(function* () {
13
6
  const input = yield* resolveFlowInput("Add a multiply function to the calculator, including focused tests.");
14
7
  const planPath = join(input.workDir, defaultPlanPath(input.prompt));
package/flows/issue-pr.js CHANGED
@@ -1,18 +1,11 @@
1
1
  // GitHub issue to pull request: assess the issue, plan, implement, push, and open a PR.
2
2
  import { join } from "node:path";
3
3
  import * as Effect from "effect/Effect";
4
- import { implementPlanFlow } from "@llm4ts/flow/Flow";
5
- import { FlowAborted } from "@llm4ts/flow/FlowError";
4
+ import { FlowAborted, ScriptUsage, coderFromEnv, implementPlanFlow, makePlanStore, nodePlainFileStore, resolveFlowInput, runFlowMain, runNode, stage } from "@llm4ts/runner";
6
5
  import { parseIssueRef } from "@llm4ts/flow/GitHubTool";
7
- import { stage } from "@llm4ts/flow/PlanExecution";
8
6
  import { assessThenPlan } from "@llm4ts/flow/Planner";
9
- import { makePlanStore } from "@llm4ts/flow/Persistence";
10
7
  import { summarisePr } from "@llm4ts/flow/PrSummary";
11
8
  import { allReviewers } from "@llm4ts/flow/Review";
12
- import { ScriptUsage, resolveFlowInput } from "@llm4ts/runner/FlowArgs";
13
- import { coderFromEnv } from "@llm4ts/runner/Connectors";
14
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
15
- import { nodePlainFileStore } from "@llm4ts/runner/NodePlainFileStore";
16
9
  const program = Effect.gen(function* () {
17
10
  const input = yield* resolveFlowInput();
18
11
  const issueRef = parseIssueRef(input.prompt);
@@ -2,10 +2,7 @@
2
2
  import * as Effect from "effect/Effect";
3
3
  import { Dimension, Sample, repeat } from "@llm4ts/core/eval/Eval";
4
4
  import { judge } from "@llm4ts/core/eval/Judge";
5
- import { Info } from "@llm4ts/flow/FlowEvents";
6
- import { coderFromEnv } from "@llm4ts/runner/Connectors";
7
- import { resolveFlowInput } from "@llm4ts/runner/FlowArgs";
8
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
5
+ import { Info, coderFromEnv, resolveFlowInput, runFlowMain, runNode } from "@llm4ts/runner";
9
6
  const dimensions = [
10
7
  Dimension.make({
11
8
  name: "correctness",
@@ -7,12 +7,11 @@ import { judge } from "@llm4ts/core/eval/Judge";
7
7
  import { TokenUsage } from "@llm4ts/core/Models";
8
8
  import { cap } from "@llm4ts/flow/Context";
9
9
  import { structuredAndPublish } from "@llm4ts/flow/Flow";
10
- import { FlowAborted, FlowLlmError } from "@llm4ts/flow/FlowError";
11
10
  import { stableHash } from "@llm4ts/flow/Plan";
12
- import { lintCommand, mergeReviewResults, ReviewIssue, ReviewResult } from "@llm4ts/flow/Review";
11
+ import { ReviewIssue } from "@llm4ts/flow/Review";
13
12
  import { StoryPlan } from "@llm4ts/flow/StoryPlan";
14
- import { claude, coderFor, coderIds, pi } from "@llm4ts/runner/Connectors";
15
- import { ScriptUsage } from "@llm4ts/runner/FlowArgs";
13
+ import { claude, coderIds, pi } from "@llm4ts/runner/Connectors";
14
+ import { FlowAborted, FlowLlmError, ReviewResult, ScriptUsage, coderFor, lintCommand, mergeReviewResults } from "@llm4ts/runner";
16
15
  export const epicUsage = [
17
16
  "epic-stories flags:",
18
17
  " --plan-only write (or re-validate) the story plan and stop",
package/flows/local.js CHANGED
@@ -1,10 +1,7 @@
1
1
  // Local-first flow: an LM Studio reasoner drafts the plan, a local pi agent implements it.
2
2
  import * as Effect from "effect/Effect";
3
- import { completeAndPublish } from "@llm4ts/flow/Flow";
4
- import { AssistantMessage, Info } from "@llm4ts/flow/FlowEvents";
5
- import { lmStudio, pi, withModel, withTimeoutSeconds } from "@llm4ts/runner/Connectors";
6
- import { resolveFlowInput } from "@llm4ts/runner/FlowArgs";
7
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
3
+ import { AssistantMessage, Info, completeAndPublish, resolveFlowInput, runFlowMain, runNode, withModel } from "@llm4ts/runner";
4
+ import { lmStudio, pi, withTimeoutSeconds } from "@llm4ts/runner/Connectors";
8
5
  const reasoningModel = process.env.LLM4TS_REASONING_MODEL ?? "qwen/qwen3-coder-30b";
9
6
  const coderModel = process.env.LLM4TS_CODER_MODEL ?? reasoningModel;
10
7
  const program = Effect.gen(function* () {
@@ -25,21 +25,12 @@ import { Sample } from "@llm4ts/core/eval/Eval";
25
25
  import { judge } from "@llm4ts/core/eval/Judge";
26
26
  import { BenchJudge, BenchMachine, BenchQuality, BenchRecord, BenchScore, CurrentBenchSchema, makeBenchPhase, makeBenchTap } from "@llm4ts/flow/Bench";
27
27
  import { loadBenchRecords, appendBenchRecord, renderBenchReport } from "@llm4ts/flow/BenchReport";
28
- import { FlowAborted, FlowLlmError } from "@llm4ts/flow/FlowError";
29
- import { Info, TokensUsed } from "@llm4ts/flow/FlowEvents";
28
+ import { FlowAborted, FlowLlmError, Info, asReadOnly, coderFromEnv, makeNodeWorkspace, mergeReviewResults, nodePlainFileStore, openPack, resolveFlowInput, reviewFingerprint, runFlowMain, runNode, stage } from "@llm4ts/runner";
29
+ import { TokensUsed } from "@llm4ts/flow/FlowEvents";
30
30
  import { packageVersion } from "@llm4ts/flow/Package";
31
- import { stage } from "@llm4ts/flow/PlanExecution";
32
- import { mergeReviewResults } from "@llm4ts/flow/Review";
33
31
  import { coverage, coverageUnits, features, matchingFiles } from "@llm4ts/flow/SpecChecks";
34
32
  import { legacySourceWorkspaceLimits, workspaceLimitsFromEnv } from "@llm4ts/flow/Workspace";
35
- import { ProgramArtifacts, ProgramUnit, extractProgramsResumably } from "@llm4ts/modernize/Artifacts";
36
- import { asReadOnly, coderFromEnv } from "@llm4ts/runner/Connectors";
37
- import { resolveFlowInput } from "@llm4ts/runner/FlowArgs";
38
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
39
- import { nodePlainFileStore } from "@llm4ts/runner/NodePlainFileStore";
40
- import { makeNodeWorkspace } from "@llm4ts/runner/NodeWorkspace";
41
- import { openPack } from "@llm4ts/runner/Packs";
42
- import { reviewFingerprint } from "@llm4ts/runner/ReviewFingerprint";
33
+ import { ProgramArtifacts, ProgramUnit, extractProgramsResumably } from "@llm4ts/flow/Artifacts";
43
34
  const ModDir = "docs/modernization";
44
35
  const BenchFile = "bench-results.jsonl";
45
36
  const programName = (relativePath) => {
@@ -18,8 +18,8 @@
18
18
  // flow halts for human triage. Even a clean pack only gets an unchecked
19
19
  // `- [ ] Approved` marker in `docs/modernization/README.md`.
20
20
  //
21
- // Pack: LLM4TS_PACK=<dir> (default packs/cobol-springboot, resolved against the
22
- // launch dir, then against the flow's own directory the built-in packs).
21
+ // Pack: LLM4TS_PACK=<name|kit/name|dir> (default cobol-springboot, resolved across
22
+ // the project, global, and built-in kits, or a directory holding pack.md).
23
23
  // LLM4TS_WAVE=<name> scopes the run to one wave of the approved plan. Judge
24
24
  // context is bounded by LLM4TS_CONTEXT_BUDGET (chars;
25
25
  // LLM4TS_JUDGE_SOURCES_LIMIT is the deprecated alias). The analyst is bounded
@@ -34,27 +34,17 @@ import * as Semaphore from "effect/Semaphore";
34
34
  import { Sample } from "@llm4ts/core/eval/Eval";
35
35
  import { judge } from "@llm4ts/core/eval/Judge";
36
36
  import { budget, capped, withShrink } from "@llm4ts/flow/Context";
37
- import { FlowAborted, FlowLlmError } from "@llm4ts/flow/FlowError";
38
37
  import { structuredAndPublish } from "@llm4ts/flow/Flow";
39
- import { FlowEvents, Info } from "@llm4ts/flow/FlowEvents";
40
- import { makeChat } from "@llm4ts/flow/Chat";
38
+ import { FlowEvents } from "@llm4ts/flow/FlowEvents";
39
+ import { FlowAborted, FlowLlmError, Info, ReviewResult, asReadOnly, coderFromEnv, defaultPlanInstructions, loadKitPatternCards, makeChat, makeNodeWorkspace, mergeReviewResults, nodePlainFileStore, openPack, planFrom, resolveFlowInput, reviewFingerprint, runFlowMain, runNode, stage, withTurnLimit } from "@llm4ts/runner";
41
40
  import { loadPatternCards, matchingPatternCards } from "@llm4ts/flow/Patterns";
42
41
  import { legacySourceWorkspaceLimits, workspaceLimitsFromEnv } from "@llm4ts/flow/Workspace";
43
- import { stage } from "@llm4ts/flow/PlanExecution";
44
- import { defaultPlanInstructions, planFrom } from "@llm4ts/flow/Planner";
45
- import { ReviewIssue, ReviewResult, mergeReviewResults } from "@llm4ts/flow/Review";
42
+ import { ReviewIssue } from "@llm4ts/flow/Review";
46
43
  import { cachedReview } from "@llm4ts/flow/ReviewCache";
47
44
  import { coverage, coverageUnits, features, matchingFiles } from "@llm4ts/flow/SpecChecks";
48
45
  import { SurveyGraph, closureFor, surveyGraph } from "@llm4ts/flow/Survey";
49
- import { withDraftApproval, requireApproval } from "@llm4ts/modernize/Approval";
50
- import { ProgramArtifacts, ProgramUnit, extractProgramsResumably, programArtifactPaths } from "@llm4ts/modernize/Artifacts";
51
- import { asReadOnly, coderFromEnv, withTurnLimit } from "@llm4ts/runner/Connectors";
52
- import { resolveFlowInput } from "@llm4ts/runner/FlowArgs";
53
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
54
- import { reviewFingerprint } from "@llm4ts/runner/ReviewFingerprint";
55
- import { nodePlainFileStore } from "@llm4ts/runner/NodePlainFileStore";
56
- import { makeNodeWorkspace } from "@llm4ts/runner/NodeWorkspace";
57
- import { loadUniversalPatternCards, openPack } from "@llm4ts/runner/Packs";
46
+ import { withDraftApproval, requireApproval } from "@llm4ts/flow/Approval";
47
+ import { ProgramArtifacts, ProgramUnit, extractProgramsResumably, programArtifactPaths } from "@llm4ts/flow/Artifacts";
58
48
  const ModDir = "docs/modernization";
59
49
  const MaxRounds = 3;
60
50
  const positiveEnvInt = (name, fallback) => {
@@ -242,7 +232,7 @@ const program = Effect.gen(function* () {
242
232
  // the model: implementation later injects exactly the cards cited here.
243
233
  const cards = [
244
234
  ...(yield* loadPatternCards(opened.workspace, `${opened.dir}/patterns`)),
245
- ...(yield* loadUniversalPatternCards([input.workspace, import.meta.dirname]))
235
+ ...(yield* loadKitPatternCards(opened))
246
236
  ];
247
237
  // The dependency graph the analysts' include closures are resolved
248
238
  // from — walked over the pack's `## Survey:` edge regexes.
@@ -22,25 +22,14 @@ import { join } from "node:path";
22
22
  import * as Effect from "effect/Effect";
23
23
  import { Dimension, Sample } from "@llm4ts/core/eval/Eval";
24
24
  import { judge } from "@llm4ts/core/eval/Judge";
25
- import { makeChat } from "@llm4ts/flow/Chat";
25
+ import { FlowAborted, FlowLlmError, Info, ReviewResult, asReadOnly, coderFromEnv, implementTaskLoop, lintCommand, loadKitPatternCards, makeChat, makeNodeWorkspace, makePlanStore, mergeReviewResults, minimalReviewers, nodePlainFileStore, nodeProcessExecutor, openPack, resolveFlowInput, reviewAndFixLoop, reviewFingerprint, runFlowMain, runNode, stage } from "@llm4ts/runner";
26
26
  import { capped, renderTruncation, truncations, withShrink } from "@llm4ts/flow/Context";
27
- import { FlowAborted, FlowLlmError } from "@llm4ts/flow/FlowError";
28
- import { FlowEvents, Info } from "@llm4ts/flow/FlowEvents";
27
+ import { FlowEvents } from "@llm4ts/flow/FlowEvents";
29
28
  import { judgeAllPrograms } from "@llm4ts/flow/ProgramJudge";
30
29
  import { Provenance, makeProvenanceStore } from "@llm4ts/flow/Provenance";
31
30
  import { loadPatternCards, taggedPatternIds } from "@llm4ts/flow/Patterns";
32
- import { makePlanStore } from "@llm4ts/flow/Persistence";
33
- import { implementTaskLoop, stage } from "@llm4ts/flow/PlanExecution";
34
- import { ReviewIssue, ReviewResult, lintCommand, mergeReviewResults, minimalReviewers, reviewAndFixLoop } from "@llm4ts/flow/Review";
31
+ import { ReviewIssue } from "@llm4ts/flow/Review";
35
32
  import { checkWall, wallBreachMessage } from "@llm4ts/flow/Wall";
36
- import { asReadOnly, coderFromEnv } from "@llm4ts/runner/Connectors";
37
- import { reviewFingerprint } from "@llm4ts/runner/ReviewFingerprint";
38
- import { resolveFlowInput } from "@llm4ts/runner/FlowArgs";
39
- import { runFlowMain, runNode } from "@llm4ts/runner/FlowRunner";
40
- import { nodePlainFileStore } from "@llm4ts/runner/NodePlainFileStore";
41
- import { nodeProcessExecutor } from "@llm4ts/runner/NodeProcessExecutor";
42
- import { makeNodeWorkspace } from "@llm4ts/runner/NodeWorkspace";
43
- import { loadUniversalPatternCards, openPack } from "@llm4ts/runner/Packs";
44
33
  const ModDir = "docs/modernization";
45
34
  const judgeRounds = () => {
46
35
  const raw = Number.parseInt(process.env.LLM4TS_JUDGE_ROUNDS ?? "", 10);
@@ -182,7 +171,7 @@ const program = Effect.gen(function* () {
182
171
  const specText = yield* gatherSpecs(target, pack.specsDir);
183
172
  const cards = [
184
173
  ...(yield* loadPatternCards(opened.workspace, `${opened.dir}/patterns`)),
185
- ...(yield* loadUniversalPatternCards([input.workspace, import.meta.dirname]))
174
+ ...(yield* loadKitPatternCards(opened))
186
175
  ];
187
176
  const cited = new Set(taggedPatternIds(specText));
188
177
  const playbook = cards.filter((card) => cited.has(card.id));