rhachet-roles-ehmpathy 1.0.0 → 1.1.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 (306) hide show
  1. package/dist/.test/getContextOpenAI.js +2 -1
  2. package/dist/.test/getContextOpenAI.js.map +1 -1
  3. package/dist/contract/commands/codegenBriefOptions.js +1 -0
  4. package/dist/contract/commands/codegenBriefOptions.js.map +1 -1
  5. package/dist/contract/sdk/index.d.ts +1 -0
  6. package/dist/contract/sdk/index.js +6 -0
  7. package/dist/contract/sdk/index.js.map +1 -0
  8. package/dist/data/sdk/sdkOpenAi.js +5 -1
  9. package/dist/data/sdk/sdkOpenAi.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +16 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/logic/artifact/asDotRhachetFile.d.ts +5 -0
  14. package/dist/logic/artifact/asDotRhachetFile.js +16 -0
  15. package/dist/logic/artifact/asDotRhachetFile.js.map +1 -0
  16. package/dist/logic/artifact/genLoopFeedback.d.ts +18 -0
  17. package/dist/logic/artifact/genLoopFeedback.js +40 -0
  18. package/dist/logic/artifact/genLoopFeedback.js.map +1 -0
  19. package/dist/logic/artifact/genStepArtSet.d.ts +2 -1
  20. package/dist/logic/artifact/genStepArtSet.js +24 -4
  21. package/dist/logic/artifact/genStepArtSet.js.map +1 -1
  22. package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.js +7 -0
  23. package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.js.map +1 -1
  24. package/dist/logic/artifact/genStepResetFeedback.d.ts +12 -0
  25. package/dist/logic/artifact/genStepResetFeedback.js +27 -0
  26. package/dist/logic/artifact/genStepResetFeedback.js.map +1 -0
  27. package/dist/logic/artifact/genStepSwapArtifact.d.ts +57 -0
  28. package/dist/logic/artifact/genStepSwapArtifact.js +58 -0
  29. package/dist/logic/artifact/genStepSwapArtifact.js.map +1 -0
  30. package/dist/logic/artifact/genStepSwapArtifact.test.js +131 -0
  31. package/dist/logic/artifact/genStepSwapArtifact.test.js.map +1 -0
  32. package/dist/logic/roles/architect/.briefs/ubiqlang.ambiguous-from-overload.md +1 -0
  33. package/dist/logic/roles/bhrain/.briefs/cognition/cog021.treestruct.md +85 -0
  34. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.definition.md +115 -0
  35. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct._.md +112 -0
  36. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.gravity.md +89 -0
  37. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.1.perspectives.md +88 -0
  38. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.2.universal.md +82 -0
  39. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.3.relative.md +106 -0
  40. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.4.fractal.md +83 -0
  41. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p1.definition.md +182 -0
  42. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p1.examples.cont.md +82 -0
  43. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.acuity.md +107 -0
  44. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.breadth.md +118 -0
  45. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.depth.md +121 -0
  46. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p3.mode.md +68 -0
  47. package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p3.rythm.md +56 -0
  48. package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p1.universal.md +108 -0
  49. package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p2.relative.md +76 -0
  50. package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p3.directions.md +42 -0
  51. package/dist/logic/roles/bhrain/.briefs/distilisys.grammar.compressed.md +19 -0
  52. package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.acuity.md +77 -0
  53. package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.breadth.md +74 -0
  54. package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.depth.md +77 -0
  55. package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.distance.md +92 -0
  56. package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.tradeoffs.md +107 -0
  57. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/composite/<triangulate>[concept].md +66 -0
  58. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoom>._.md +124 -0
  59. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[acuity]<sharpen>[concept].md +53 -0
  60. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[breadth]<decompose>[concept].md +67 -0
  61. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[depth]<abstractify>[concept].md +124 -0
  62. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[acuity]<blurren>[concept].md +56 -0
  63. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[breadth]<broaden>[concept].md +71 -0
  64. package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[depth]<elaborate>[concept].md +74 -0
  65. package/dist/logic/roles/bhrain/.briefs/terms.motive.intent.goal.md +46 -0
  66. package/dist/logic/roles/bhrain/.briefs/trait.ocd.md +5 -0
  67. package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.d.ts +10 -0
  68. package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.js +15 -0
  69. package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.js.map +1 -0
  70. package/dist/logic/roles/bhrain/getBhrainBrief.d.ts +13 -0
  71. package/dist/logic/roles/bhrain/getBhrainBrief.js +21 -0
  72. package/dist/logic/roles/bhrain/getBhrainBrief.js.map +1 -0
  73. package/dist/logic/roles/bhrain/getBhrainRole.d.ts +2 -0
  74. package/dist/logic/roles/bhrain/getBhrainRole.js +27 -0
  75. package/dist/logic/roles/bhrain/getBhrainRole.js.map +1 -0
  76. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.d.ts +51 -0
  77. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.js +102 -0
  78. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.js.map +1 -0
  79. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.js +59 -0
  80. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.js.map +1 -0
  81. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.template.md +127 -0
  82. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.d.ts +15 -0
  83. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.js +91 -0
  84. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.js.map +1 -0
  85. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.js +33 -0
  86. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.js.map +1 -0
  87. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.d.ts +49 -0
  88. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.d.ts +1 -0
  89. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.js +122 -0
  90. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.js.map +1 -0
  91. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.js +59 -0
  92. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.js.map +1 -0
  93. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.template.md +125 -0
  94. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.d.ts +53 -0
  95. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.d.ts +1 -0
  96. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.js +126 -0
  97. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.js.map +1 -0
  98. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.js +61 -0
  99. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.js.map +1 -0
  100. package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.template.md +105 -0
  101. package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.d.ts +24 -0
  102. package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.d.ts +1 -0
  103. package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.js +118 -0
  104. package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.js.map +1 -0
  105. package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.js +38 -0
  106. package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.js.map +1 -0
  107. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.d.ts +45 -0
  108. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.d.ts +1 -0
  109. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.js +115 -0
  110. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.js.map +1 -0
  111. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.js +59 -0
  112. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.js.map +1 -0
  113. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.d.ts +24 -0
  114. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.js +64 -0
  115. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.js.map +1 -0
  116. package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.template.md +143 -0
  117. package/dist/logic/roles/designer/.briefs/declarative-over-imperative.md +79 -0
  118. package/dist/logic/roles/designer/.briefs/declarative-over-imperative.stub.md +14 -0
  119. package/dist/logic/roles/designer/.briefs/pit-of-success.md +70 -0
  120. package/dist/logic/roles/designer/.briefs/pit-of-success.stub.md +3 -0
  121. package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.js +4 -2
  122. package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.js.map +1 -1
  123. package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.template.md +173 -0
  124. package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.js +1 -1
  125. package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.js.map +1 -1
  126. package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.template.md +88 -0
  127. package/dist/logic/roles/designer/outlineVision/stepOutlineVision.template.md +47 -0
  128. package/dist/logic/roles/ecologist/.briefs/.readme.md +17 -0
  129. package/dist/logic/roles/ecologist/.briefs/distilisys/sys101.distilisys.grammar.md +221 -0
  130. package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive._.summary.md +82 -0
  131. package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p1.reversibility.entropy.md +39 -0
  132. package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p2.option.chance.choice.md +140 -0
  133. package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p3.chance.motive.polarity.threat.md +72 -0
  134. package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p4.motive.horizon.md +101 -0
  135. package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p5.motive.grammar.md +131 -0
  136. package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources._.primitives.summary.md +108 -0
  137. package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt1.primitive.time.md +56 -0
  138. package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt2.primitive.energy.md +69 -0
  139. package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt3.primitive.space.md +85 -0
  140. package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt4.primitive.claim.md +113 -0
  141. package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt5.composites.md +146 -0
  142. package/dist/logic/roles/ecologist/.briefs/distilisys/sys231.actor.claims.p1.primitive.exchange.md +130 -0
  143. package/dist/logic/roles/ecologist/.briefs/ecology/.eco001.origin.prompt.md +11 -0
  144. package/dist/logic/roles/ecologist/.briefs/ecology/eco001.overview.md +44 -0
  145. package/dist/logic/roles/ecologist/.briefs/ecology/eco101.core-system-understanding.md +70 -0
  146. package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p1.ecosystem-structure.md +62 -0
  147. package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p2.trophic-dynamics.md +59 -0
  148. package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p3.population-ecology.md +71 -0
  149. package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p4.community-interactions.md +78 -0
  150. package/dist/logic/roles/ecologist/.briefs/ecology/eco505.systems-thinking.md +62 -0
  151. package/dist/logic/roles/ecologist/.briefs/economy/econ001.overview.md +65 -0
  152. package/dist/logic/roles/ecologist/.briefs/economy/econ101.core-mechanics.md +65 -0
  153. package/dist/logic/roles/ecologist/.briefs/economy/econ101.p1.supply-and-demand.md +76 -0
  154. package/dist/logic/roles/ecologist/.briefs/economy/econ101.p2.opportunity-cost.md +106 -0
  155. package/dist/logic/roles/ecologist/.briefs/economy/econ101.p3.marginal-analysis.md +79 -0
  156. package/dist/logic/roles/ecologist/.briefs/economy/econ101.p4.rational-choice.md +81 -0
  157. package/dist/logic/roles/ecologist/.briefs/economy/econ201.market-structures-and-failures.md +81 -0
  158. package/dist/logic/roles/ecologist/.briefs/economy/econ301.production-and-growth.md +71 -0
  159. package/dist/logic/roles/ecologist/.briefs/economy/econ401.macro-systems.md +92 -0
  160. package/dist/logic/roles/ecologist/.briefs/economy/econ501.global-and-institutional.md +85 -0
  161. package/dist/logic/roles/ecologist/.briefs/economy/econ501.p1.game-theory.md +142 -0
  162. package/dist/logic/roles/ecologist/.briefs/economy/econ501.p4.behavioral-economics.md +146 -0
  163. package/dist/logic/roles/ecologist/.briefs/term.distillation.md +93 -0
  164. package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.d.ts +24 -0
  165. package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.d.ts +1 -0
  166. package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.js +57 -0
  167. package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.js.map +1 -0
  168. package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.js +11 -0
  169. package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.js.map +1 -0
  170. package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.d.ts +25 -0
  171. package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.js +90 -0
  172. package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.js.map +1 -0
  173. package/dist/logic/roles/ecologist/{distill/distillDomain.ActionsAndActors.d.ts → domain.sketch/stepStudyDomain.d.ts} +8 -3
  174. package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.d.ts +1 -0
  175. package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.js +65 -0
  176. package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.js.map +1 -0
  177. package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.js +60 -0
  178. package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.js.map +1 -0
  179. package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.template.md +93 -0
  180. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.d.ts +45 -0
  181. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.d.ts +1 -0
  182. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.js +69 -0
  183. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.js.map +1 -0
  184. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.js +67 -0
  185. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.js.map +1 -0
  186. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.d.ts +25 -0
  187. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.js +85 -0
  188. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.js.map +1 -0
  189. package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.template.md +160 -0
  190. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.d.ts +47 -0
  191. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.d.ts +1 -0
  192. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.js +127 -0
  193. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.js.map +1 -0
  194. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.js +68 -0
  195. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.js.map +1 -0
  196. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.d.ts +26 -0
  197. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.js +92 -0
  198. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.js.map +1 -0
  199. package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.template.md +173 -0
  200. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.d.ts +45 -0
  201. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.d.ts +1 -0
  202. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.js +69 -0
  203. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.js.map +1 -0
  204. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.js +67 -0
  205. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.js.map +1 -0
  206. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.d.ts +25 -0
  207. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.js +85 -0
  208. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.js.map +1 -0
  209. package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.template.md +160 -0
  210. package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.d.ts +45 -0
  211. package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.js +67 -0
  212. package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.js.map +1 -0
  213. package/dist/logic/roles/ecologist/envision/stepEnvision.d.ts +0 -0
  214. package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.d.ts +0 -0
  215. package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.js +78 -0
  216. package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.js.map +1 -0
  217. package/dist/logic/roles/ecologist/envision/stepEnvision.js +96 -0
  218. package/dist/logic/roles/ecologist/envision/stepEnvision.js.map +1 -0
  219. package/dist/logic/roles/ecologist/envision/stepEnvision.skill.d.ts +0 -0
  220. package/dist/logic/roles/ecologist/envision/stepEnvision.skill.js +72 -0
  221. package/dist/logic/roles/ecologist/envision/stepEnvision.skill.js.map +1 -0
  222. package/dist/logic/roles/ecologist/envision/stepEnvision.template.md +92 -0
  223. package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.d.ts +1 -1
  224. package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.js +34 -27
  225. package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.js.map +1 -1
  226. package/dist/logic/roles/ecologist/getEcologistRole.d.ts +2 -0
  227. package/dist/logic/roles/ecologist/getEcologistRole.js +29 -0
  228. package/dist/logic/roles/ecologist/getEcologistRole.js.map +1 -0
  229. package/dist/logic/roles/getRoleRegistry.js +7 -1
  230. package/dist/logic/roles/getRoleRegistry.js.map +1 -1
  231. package/dist/logic/roles/mechanic/.briefs/architecture/bounded-contexts.md +61 -0
  232. package/dist/logic/roles/mechanic/.briefs/architecture/directional-dependencies.md +73 -0
  233. package/dist/logic/roles/mechanic/.briefs/architecture/domain-driven-design.md +61 -0
  234. package/dist/logic/roles/mechanic/.briefs/architecture/ubiqlang.md +37 -0
  235. package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.md +57 -0
  236. package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.prompt.md +5 -0
  237. package/dist/logic/roles/mechanic/.briefs/codestyle/flow.failfast.md +37 -0
  238. package/dist/logic/roles/mechanic/.briefs/codestyle/flow.idempotency.md +63 -0
  239. package/dist/logic/roles/mechanic/.briefs/codestyle/flow.immutability.md +48 -0
  240. package/dist/logic/roles/mechanic/.briefs/codestyle/flow.narratives.md +74 -0
  241. package/dist/logic/roles/mechanic/.briefs/codestyle/flow.single-responsibility.md +67 -0
  242. package/dist/logic/roles/mechanic/.briefs/codestyle/mech.args.input-context.md +61 -0
  243. package/dist/logic/roles/mechanic/.briefs/codestyle/mech.arrowonly.md +47 -0
  244. package/dist/logic/roles/mechanic/.briefs/codestyle/mech.clear-contracts.md +53 -0
  245. package/dist/logic/roles/mechanic/.briefs/codestyle/mech.tests.given-when-then.md +62 -0
  246. package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.md +88 -0
  247. package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.v2.md +98 -0
  248. package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.md +118 -0
  249. package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.stub.md +11 -0
  250. package/dist/logic/roles/mechanic/.briefs/style.compressed.md +29 -0
  251. package/dist/logic/roles/mechanic/.briefs/style.compressed.prompt.md +5 -0
  252. package/dist/logic/roles/mechanic/.briefs/style.names.treestruct.md +48 -0
  253. package/dist/logic/roles/mechanic/.briefs/style.names.ubiqlang.md +37 -0
  254. package/dist/logic/roles/mechanic/.briefs/style.words.lowercase.md +36 -0
  255. package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.template.md +46 -0
  256. package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.template.md +78 -0
  257. package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.template.md +75 -0
  258. package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.template.md +67 -0
  259. package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.d.ts +1 -1
  260. package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.js +1 -1
  261. package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.js.map +1 -1
  262. package/dist/logic/roles/mechanic/getMechanicRole.js +3 -137
  263. package/dist/logic/roles/mechanic/getMechanicRole.js.map +1 -1
  264. package/dist/logic/roles/mechanic/skills/getSkillCodePropose.d.ts +2 -0
  265. package/dist/logic/roles/mechanic/skills/getSkillCodePropose.js +140 -0
  266. package/dist/logic/roles/mechanic/skills/getSkillCodePropose.js.map +1 -0
  267. package/dist/logic/roles/mechanic/study/routeStudyAsk.template.md +73 -0
  268. package/dist/logic/roles/mechanic/write/.test/prior.template.md +21 -0
  269. package/dist/logic/roles/mechanic/write/loopWrite.d.ts +25 -0
  270. package/dist/logic/roles/mechanic/write/loopWrite.integration.test.d.ts +1 -0
  271. package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js +57 -0
  272. package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js.map +1 -0
  273. package/dist/logic/roles/mechanic/write/loopWrite.js +11 -0
  274. package/dist/logic/roles/mechanic/write/loopWrite.js.map +1 -0
  275. package/dist/logic/roles/mechanic/write/loopWrite.skill.d.ts +25 -0
  276. package/dist/logic/roles/mechanic/write/loopWrite.skill.js +100 -0
  277. package/dist/logic/roles/mechanic/write/loopWrite.skill.js.map +1 -0
  278. package/dist/logic/roles/mechanic/write/stepWrite.d.ts +22 -0
  279. package/dist/logic/roles/mechanic/write/stepWrite.integration.test.d.ts +1 -0
  280. package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js +189 -0
  281. package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js.map +1 -0
  282. package/dist/logic/roles/mechanic/write/stepWrite.js +50 -0
  283. package/dist/logic/roles/mechanic/write/stepWrite.js.map +1 -0
  284. package/dist/logic/roles/mechanic/write/stepWrite.template.md +34 -0
  285. package/package.json +9 -6
  286. package/readme.md +1 -1
  287. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.d.ts +0 -17
  288. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.js +0 -107
  289. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.js.map +0 -1
  290. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.js +0 -76
  291. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.js.map +0 -1
  292. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.d.ts +0 -17
  293. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.js +0 -73
  294. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.js.map +0 -1
  295. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.d.ts +0 -18
  296. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.js +0 -73
  297. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.js.map +0 -1
  298. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.js +0 -62
  299. package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.js.map +0 -1
  300. package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.integration.test.js +0 -120
  301. package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.integration.test.js.map +0 -1
  302. package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.js +0 -69
  303. package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.js.map +0 -1
  304. /package/dist/logic/{roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.d.ts → artifact/genStepSwapArtifact.test.d.ts} +0 -0
  305. /package/dist/logic/roles/{ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.d.ts → bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.d.ts} +0 -0
  306. /package/dist/logic/roles/{ecologist/distill/distillDomain.ActionsAndActors.integration.test.d.ts → bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.d.ts} +0 -0
@@ -2,13 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ROLE_MECHANIC = void 0;
4
4
  const rhachet_1 = require("rhachet");
5
- const rhachet_artifact_git_1 = require("rhachet-artifact-git");
6
- const genContextLogTrail_1 = require("../../../.test/genContextLogTrail");
7
- const genContextStitchTrail_1 = require("../../../.test/genContextStitchTrail");
8
- const getContextOpenAI_1 = require("../../../.test/getContextOpenAI");
9
- const getRefOrgPatterns_1 = require("./codediff/getRefOrgPatterns");
10
- const routeMechanicCodePropose_1 = require("./codediff/routeMechanicCodePropose");
11
- const getMechanicBrief_1 = require("./getMechanicBrief");
5
+ const getSkillCodePropose_1 = require("./skills/getSkillCodePropose");
6
+ const loopWrite_skill_1 = require("./write/loopWrite.skill");
12
7
  exports.ROLE_MECHANIC = rhachet_1.Role.build({
13
8
  slug: 'mechanic',
14
9
  name: 'Mechanic',
@@ -23,135 +18,6 @@ exports.ROLE_MECHANIC = rhachet_1.Role.build({
23
18
  Used to write and revise the actual logic that runs the system.
24
19
  `.trim(),
25
20
  traits: [],
26
- skills: [
27
- rhachet_1.RoleSkill.build({
28
- slug: 'upsert',
29
- route: routeMechanicCodePropose_1.routeMechanicCodePropose,
30
- // : {
31
- // target: {
32
- // char: 't',
33
- // desc: 'the target file or dir to upsert against',
34
- // shape: 'string',
35
- // },
36
- // },
37
- threads: {
38
- lookup: {
39
- target: {
40
- source: 'process.argv',
41
- char: 't',
42
- desc: 'the target file or dir to upsert against',
43
- type: 'string',
44
- },
45
- },
46
- assess: (input) => typeof input.target === 'string',
47
- instantiate: async (input) => {
48
- const targetArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: input.target });
49
- const claimsArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
50
- uri: input.target + '.rhachet.claims.md', // todo: namespace within a .rhachet directory
51
- });
52
- const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
53
- uri: input.target + '.rhachet.feedback.md',
54
- });
55
- const feedbackCodestyleArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
56
- uri: input.target + '.rhachet.feedback.codestyle.md',
57
- });
58
- const judgementArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
59
- uri: input.target + '.rhachet.judgement.md',
60
- });
61
- return {
62
- artist: await (0, rhachet_1.enrollThread)({
63
- role: 'artist',
64
- stash: {
65
- ask: input.ask,
66
- art: { inflight: targetArt },
67
- org: {
68
- patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
69
- },
70
- scene: { coderefs: [] },
71
- },
72
- inherit: {
73
- traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
74
- },
75
- }),
76
- critic: await (0, rhachet_1.enrollThread)({
77
- role: 'critic',
78
- stash: {
79
- art: {
80
- feedback: feedbackArt,
81
- feedbackCodestyle: feedbackCodestyleArt,
82
- },
83
- org: {
84
- patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
85
- },
86
- },
87
- inherit: {
88
- traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
89
- },
90
- }),
91
- student: await (0, rhachet_1.enrollThread)({
92
- role: 'student',
93
- stash: { art: { claims: claimsArt } },
94
- }),
95
- judge: await (0, rhachet_1.enrollThread)({
96
- role: 'judge',
97
- stash: { art: { judgement: judgementArt } },
98
- }),
99
- mechanic: await (0, rhachet_1.enrollThread)({
100
- role: 'mechanic',
101
- stash: {},
102
- }),
103
- };
104
- },
105
- },
106
- context: {
107
- lookup: {
108
- apiKeyOpenai: {
109
- source: 'process.env',
110
- envar: 'PREP_OPENAI_KEY',
111
- desc: 'the openai key to use',
112
- type: 'string',
113
- },
114
- },
115
- assess: (input) => typeof input.apiKeyOpenai === 'string',
116
- instantiate: (input) => {
117
- return {
118
- ...(0, getContextOpenAI_1.getContextOpenAI)(), // todo: use the input api key
119
- ...(0, genContextLogTrail_1.genContextLogTrail)(), // todo: passthrough ?
120
- ...(0, genContextStitchTrail_1.genContextStitchTrail)(),
121
- };
122
- },
123
- },
124
- readme: `
125
- ### \`ask -r mechanic -s upsert\`
126
-
127
- you can ask the mechanic to upsert the code in a target file or dir
128
- - if it exists, it'll update
129
- - if it doesn't, it'll create
130
-
131
-
132
- \`\`\`sh
133
- npx rhachet ask -r mechanic -s upsert -t ./path/to/file.ts "your ask"
134
- \`\`\`
135
-
136
- \`\`\`sh
137
- npx rhachet ask \
138
- --role mechanic \
139
- --skill upsert \
140
- --target ./path/to/file.ts \
141
- "your ask"
142
- \`\`\`
143
-
144
- once it's self reviewed, it'll ask you for feedback
145
-
146
- \`\`\`sh
147
- ? have notes? (Use arrow keys)
148
- ❯ no notes
149
- yes notes
150
- \`\`\`
151
-
152
- it'll loop until you tell it you have \`no notes\`
153
- `.trim(),
154
- }),
155
- ],
21
+ skills: [loopWrite_skill_1.SKILL_WRITE, getSkillCodePropose_1.SKILL_CODE_PROPOSE],
156
22
  });
157
23
  //# sourceMappingURL=getMechanicRole.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAE/B,sEAAkE;AAClE,6DAAsD;AAEzC,QAAA,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;;;;;;;;GAQP,CAAC,IAAI,EAAE;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,CAAC,6BAAW,EAAE,wCAAkB,CAAC;CAC1C,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { RoleSkill } from 'rhachet';
2
+ export declare const SKILL_CODE_PROPOSE: import("domain-objects/dist/manipulation/immute/withImmute").WithImmute<RoleSkill<import("../codediff/routeMechanicCodePropose").RouteMechanicCodeProposeStitcher>>;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SKILL_CODE_PROPOSE = void 0;
4
+ const rhachet_1 = require("rhachet");
5
+ const rhachet_artifact_git_1 = require("rhachet-artifact-git");
6
+ const genContextLogTrail_1 = require("../../../../.test/genContextLogTrail");
7
+ const genContextStitchTrail_1 = require("../../../../.test/genContextStitchTrail");
8
+ const getContextOpenAI_1 = require("../../../../.test/getContextOpenAI");
9
+ const getRefOrgPatterns_1 = require("../codediff/getRefOrgPatterns");
10
+ const routeMechanicCodePropose_1 = require("../codediff/routeMechanicCodePropose");
11
+ const getMechanicBrief_1 = require("../getMechanicBrief");
12
+ exports.SKILL_CODE_PROPOSE = rhachet_1.RoleSkill.build({
13
+ slug: 'code.propose', // crafts some code
14
+ route: routeMechanicCodePropose_1.routeMechanicCodePropose,
15
+ // : {
16
+ // target: {
17
+ // char: 't',
18
+ // desc: 'the target file or dir to upsert against',
19
+ // shape: 'string',
20
+ // },
21
+ // },
22
+ threads: {
23
+ lookup: {
24
+ target: {
25
+ source: 'process.argv',
26
+ char: 't',
27
+ desc: 'the target file or dir to upsert against',
28
+ type: 'string',
29
+ },
30
+ },
31
+ assess: (input) => typeof input.target === 'string',
32
+ instantiate: async (input) => {
33
+ const targetArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: input.target });
34
+ const claimsArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
35
+ uri: input.target + '.rhachet.claims.md', // todo: namespace within a .rhachet directory
36
+ });
37
+ const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
38
+ uri: input.target + '.rhachet.feedback.md',
39
+ });
40
+ const feedbackCodestyleArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
41
+ uri: input.target + '.rhachet.feedback.codestyle.md',
42
+ });
43
+ const judgementArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({
44
+ uri: input.target + '.rhachet.judgement.md',
45
+ });
46
+ return {
47
+ artist: await (0, rhachet_1.enrollThread)({
48
+ role: 'artist',
49
+ stash: {
50
+ ask: input.ask,
51
+ art: { inflight: targetArt },
52
+ org: {
53
+ patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
54
+ },
55
+ scene: { coderefs: [] },
56
+ },
57
+ inherit: {
58
+ traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
59
+ },
60
+ }),
61
+ critic: await (0, rhachet_1.enrollThread)({
62
+ role: 'critic',
63
+ stash: {
64
+ art: {
65
+ feedback: feedbackArt,
66
+ feedbackCodestyle: feedbackCodestyleArt,
67
+ },
68
+ org: {
69
+ patterns: (0, getRefOrgPatterns_1.getRefOrgPatterns)({ purpose: 'produce' }),
70
+ },
71
+ },
72
+ inherit: {
73
+ traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
74
+ },
75
+ }),
76
+ student: await (0, rhachet_1.enrollThread)({
77
+ role: 'student',
78
+ stash: { art: { claims: claimsArt } },
79
+ }),
80
+ judge: await (0, rhachet_1.enrollThread)({
81
+ role: 'judge',
82
+ stash: { art: { judgement: judgementArt } },
83
+ }),
84
+ mechanic: await (0, rhachet_1.enrollThread)({
85
+ role: 'mechanic',
86
+ stash: {},
87
+ }),
88
+ };
89
+ },
90
+ },
91
+ context: {
92
+ lookup: {
93
+ apiKeyOpenai: {
94
+ source: 'process.env',
95
+ envar: 'PREP_OPENAI_KEY',
96
+ desc: 'the openai key to use',
97
+ type: 'string',
98
+ },
99
+ },
100
+ assess: (input) => typeof input.apiKeyOpenai === 'string',
101
+ instantiate: (input) => {
102
+ return {
103
+ ...(0, getContextOpenAI_1.getContextOpenAI)(), // todo: use the input api key
104
+ ...(0, genContextLogTrail_1.genContextLogTrail)(), // todo: passthrough ?
105
+ ...(0, genContextStitchTrail_1.genContextStitchTrail)(),
106
+ };
107
+ },
108
+ },
109
+ readme: `
110
+ ### \`ask -r mechanic -s code.propose\`
111
+
112
+ you can ask the mechanic to upsert the code in a target file or dir
113
+ - if it exists, it'll update
114
+ - if it doesn't, it'll create
115
+
116
+
117
+ \`\`\`sh
118
+ npx rhachet ask -r mechanic -s code.propose -t ./path/to/file.ts --ask "your ask"
119
+ \`\`\`
120
+
121
+ \`\`\`sh
122
+ npx rhachet ask \
123
+ --role mechanic \
124
+ --skill upsert \
125
+ --target ./path/to/file.ts \
126
+ "your ask"
127
+ \`\`\`
128
+
129
+ once it's self reviewed, it'll ask you for feedback
130
+
131
+ \`\`\`sh
132
+ ? have notes? (Use arrow keys)
133
+ ❯ no notes
134
+ yes notes
135
+ \`\`\`
136
+
137
+ it'll loop until you tell it you have \`no notes\`
138
+ `.trim(),
139
+ });
140
+ //# sourceMappingURL=getSkillCodePropose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSkillCodePropose.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/skills/getSkillCodePropose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ directive
2
+ - <study><distill> the [ask]
3
+ - input = ask
4
+ - output =
5
+ ```json
6
+ {
7
+ ask: { summary: string },
8
+ claims: { lessons[], assumptions[], questions[] },
9
+ cases: {
10
+ use: { who, when, what }[],
11
+ test: { form = 'positive' | 'negative', given, when, then, because }[]
12
+ }
13
+ }
14
+ ```
15
+ - do not execute the [ask], only execute <study><distill>
16
+
17
+ context.role.traits
18
+ - maximally concise; prefer treestructs and outlines; maximize signal, minimize words
19
+ - systematically distill scenes with ubiquitous language
20
+ - uses treestructs and bullet points to maximize signal-to-noise
21
+ - explain .what and .why with comments for each code paragraph // and each code procedure /**
22
+ $.rhachet{inherit.traits}
23
+
24
+ context.role.skills
25
+ - tactic: <study>(ask) to determine the contract and requirements to declare in stubout
26
+ - declare the lessons, assumptions, and questions that you have
27
+ - produce a [[pool]] of [[case:use]], usecases to support
28
+ - produce a [[pool]] of [[case:test]], test cases to implement
29
+ - output =
30
+ ```json
31
+ {
32
+ ask: { summary: string },
33
+ claims: { lessons: { what, why }[], assumptions: { what, why }[], questions: { what, why }[] },
34
+ contract: { input, output },
35
+ cases: {
36
+ use: { who, when, what }[],
37
+ test: { form = 'positive' | 'negative', given, when, then, because }[]
38
+ }
39
+ }
40
+ ```
41
+ - tactic: <declare>([case:use])
42
+ - specify in terms of { who, when, what }
43
+ - look for functional boundary cases and frequent cases
44
+ - tactic: <declare>([case:test])
45
+ - specify in terms of { form = 'positive' | 'negative', given, when, then, because }
46
+ - look for hazards that could exist based on the contract or assumptions
47
+ $.rhachet{inherit.skills}
48
+
49
+ context.scene
50
+ $.rhachet{scene}
51
+
52
+
53
+ directive
54
+ - <study><distill> the [ask]
55
+ - input = ask
56
+ - output =
57
+ ```json
58
+ {
59
+ ask: { summary: string },
60
+ claims: { lessons[], assumptions[], questions[] },
61
+ cases: {
62
+ use: { who, when, what }[],
63
+ test: { form = 'positive' | 'negative', given, when, then, because }[]
64
+ }
65
+ }
66
+ ```
67
+ - do not execute the [ask], only execute <study><distill>
68
+
69
+ --------------------------
70
+
71
+ ask =
72
+
73
+ $.rhachet{ask}
@@ -0,0 +1,21 @@
1
+ you're an @[ecologist]. help envision the [option] the @[caller] is talking about
2
+
3
+ output the updated ```md of the "vision", only. update the [vision] doc based on the @[caller]s current [comment]
4
+
5
+ ---
6
+
7
+ here's some .briefs on the skills you have, as a refresher
8
+
9
+ $.rhachet{briefs}
10
+
11
+ ---
12
+
13
+ [vision] =
14
+ ```md
15
+ $.rhachet{vision}
16
+ ```
17
+
18
+ @[caller][comment] =
19
+ ```md
20
+ $.rhachet{ask}
21
+ ```
@@ -0,0 +1,25 @@
1
+ export declare const loopWrite: import("rhachet").Stitcher<import("rhachet").GStitcher<import("rhachet").Threads<{
2
+ mechanic: import("rhachet").RoleContext<"mechanic", {
3
+ art: {
4
+ inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
5
+ };
6
+ } & {
7
+ art: {
8
+ inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
9
+ };
10
+ }>;
11
+ caller: import("rhachet").RoleContext<"caller", {
12
+ ask: string;
13
+ art: {
14
+ feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string> | null;
15
+ references: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>[];
16
+ };
17
+ } & {
18
+ ask: string;
19
+ art: {
20
+ feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
21
+ };
22
+ }>;
23
+ }>, import("../../../../data/sdk/sdkOpenAi").ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("rhachet").ContextStitchTrail, {
24
+ feedback: import("rhachet-artifact-git").GitFile | null;
25
+ }>>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rhachet_1 = require("rhachet");
4
+ const rhachet_artifact_git_1 = require("rhachet-artifact-git");
5
+ const test_fns_1 = require("test-fns");
6
+ const genContextLogTrail_1 = require("../../../../.test/genContextLogTrail");
7
+ const genContextStitchTrail_1 = require("../../../../.test/genContextStitchTrail");
8
+ const getContextOpenAI_1 = require("../../../../.test/getContextOpenAI");
9
+ const loopWrite_1 = require("./loopWrite");
10
+ describe('loopWrite', () => {
11
+ const context = {
12
+ ...(0, genContextLogTrail_1.genContextLogTrail)(),
13
+ ...(0, genContextStitchTrail_1.genContextStitchTrail)(),
14
+ ...(0, getContextOpenAI_1.getContextOpenAI)(),
15
+ };
16
+ const route = loopWrite_1.loopWrite;
17
+ (0, test_fns_1.given)('we want it write a poem, from scratch', () => {
18
+ const askText = `
19
+ write a poem about brevity and concise, precise language
20
+
21
+ keep it between 3-5 lines
22
+
23
+ use the word precise at least once
24
+ `.trim();
25
+ const inflightArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: __dirname + '/.temp/loopWrite/poem.fromempty.inflight.md' }, { versions: true });
26
+ const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: __dirname + '/.temp/loopWrite/poem.fromempty.feedback.md' }, { versions: true });
27
+ beforeEach(async () => {
28
+ await inflightArt.del();
29
+ });
30
+ (0, test_fns_1.when)('executed', () => {
31
+ const threads = (0, test_fns_1.usePrep)(async () => ({
32
+ caller: await (0, rhachet_1.enrollThread)({
33
+ role: 'caller',
34
+ stash: {
35
+ ask: askText,
36
+ art: { feedback: feedbackArt, references: [] },
37
+ },
38
+ }),
39
+ mechanic: await (0, rhachet_1.enrollThread)({
40
+ role: 'mechanic',
41
+ stash: {
42
+ ask: askText,
43
+ art: {
44
+ inflight: inflightArt,
45
+ },
46
+ },
47
+ }),
48
+ }));
49
+ (0, test_fns_1.then)('upserts the artifact', async () => {
50
+ await (0, rhachet_1.enweaveOneStitcher)({ stitcher: route, threads }, context);
51
+ const { content } = await inflightArt.get().expect('isPresent');
52
+ expect(content).toContain('precise');
53
+ });
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=loopWrite.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopWrite.integration.test.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/write/loopWrite.integration.test.ts"],"names":[],"mappings":";;AAAA,qCAA2D;AAC3D,+DAA0D;AAC1D,uCAAsD;AAEtD,6EAA0E;AAC1E,mFAAgF;AAChF,yEAAsE;AACtE,2CAAwC;AAExC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG;QACd,GAAG,IAAA,uCAAkB,GAAE;QACvB,GAAG,IAAA,6CAAqB,GAAE;QAC1B,GAAG,IAAA,mCAAgB,GAAE;KACtB,CAAC;IACF,MAAM,KAAK,GAAG,qBAAS,CAAC;IAExB,IAAA,gBAAK,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAClD,MAAM,OAAO,GAAG;;;;;;KAMf,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,WAAW,GAAG,IAAA,yCAAkB,EACpC,EAAE,GAAG,EAAE,SAAS,GAAG,6CAA6C,EAAE,EAClE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,yCAAkB,EACpC,EAAE,GAAG,EAAE,SAAS,GAAG,6CAA6C,EAAE,EAClE,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;QAEF,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,UAAU,EAAE,GAAG,EAAE;YACpB,MAAM,OAAO,GAAG,IAAA,kBAAO,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACnC,MAAM,EAAE,MAAM,IAAA,sBAAY,EAAC;oBACzB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE;wBACL,GAAG,EAAE,OAAO;wBACZ,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;qBAC/C;iBACF,CAAC;gBACF,QAAQ,EAAE,MAAM,IAAA,sBAAY,EAAC;oBAC3B,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE;wBACL,GAAG,EAAE,OAAO;wBACZ,GAAG,EAAE;4BACH,QAAQ,EAAE,WAAW;yBACtB;qBACF;iBACF,CAAC;aACH,CAAC,CAAC,CAAC;YAEJ,IAAA,eAAI,EAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;gBACtC,MAAM,IAAA,4BAAkB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBAEhE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAChE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loopWrite = void 0;
4
+ const genLoopFeedback_1 = require("../../../artifact/genLoopFeedback");
5
+ const stepWrite_1 = require("./stepWrite");
6
+ exports.loopWrite = (0, genLoopFeedback_1.genLoopFeedback)({
7
+ stitchee: 'mechanic',
8
+ artee: 'inflight',
9
+ repeatee: stepWrite_1.stepWrite,
10
+ });
11
+ //# sourceMappingURL=loopWrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopWrite.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/write/loopWrite.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,2CAAwC;AAE3B,QAAA,SAAS,GAAG,IAAA,iCAAe,EAAC;IACvC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,qBAAS;CACpB,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare const SKILL_WRITE: import("rhachet").RoleSkill<import("rhachet").GStitcher<import("rhachet").Threads<{
2
+ mechanic: import("rhachet").RoleContext<"mechanic", {
3
+ art: {
4
+ inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
5
+ };
6
+ } & {
7
+ art: {
8
+ inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
9
+ };
10
+ }>;
11
+ caller: import("rhachet").RoleContext<"caller", {
12
+ ask: string;
13
+ art: {
14
+ feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string> | null;
15
+ references: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>[];
16
+ };
17
+ } & {
18
+ ask: string;
19
+ art: {
20
+ feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
21
+ };
22
+ }>;
23
+ }>, import("../../../../data/sdk/sdkOpenAi").ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("rhachet").ContextStitchTrail, {
24
+ feedback: import("rhachet-artifact-git").GitFile | null;
25
+ }>>;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SKILL_WRITE = void 0;
4
+ const rhachet_1 = require("rhachet");
5
+ const rhachet_artifact_git_1 = require("rhachet-artifact-git");
6
+ const genContextLogTrail_1 = require("../../../../.test/genContextLogTrail");
7
+ const genContextStitchTrail_1 = require("../../../../.test/genContextStitchTrail");
8
+ const getContextOpenAI_1 = require("../../../../.test/getContextOpenAI");
9
+ const asDotRhachetFile_1 = require("../../../artifact/asDotRhachetFile");
10
+ const getMechanicBrief_1 = require("../getMechanicBrief");
11
+ const loopWrite_1 = require("./loopWrite");
12
+ exports.SKILL_WRITE = (0, rhachet_1.genRoleSkill)({
13
+ slug: 'write',
14
+ route: loopWrite_1.loopWrite,
15
+ threads: {
16
+ lookup: {
17
+ target: {
18
+ source: 'process.argv',
19
+ char: 't',
20
+ desc: 'the target file or dir to write against',
21
+ type: 'string',
22
+ },
23
+ references: {
24
+ source: 'process.argv',
25
+ char: 'p',
26
+ desc: 'reference files to to use',
27
+ type: '?string', // todo: string []
28
+ },
29
+ },
30
+ assess: (input) => typeof input.target === 'string',
31
+ instantiate: async (input) => {
32
+ const targetArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: input.target }, { versions: true });
33
+ const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: (0, asDotRhachetFile_1.asDotRhachetDir)(input.target) + '.feedback.md' }, { versions: true });
34
+ const referenceArts = input.references
35
+ ?.split(',')
36
+ .filter((uri) => !!uri) // allows , // todo: support optional vars
37
+ .map((reference) => (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: reference }, { access: 'readonly' })) ?? [];
38
+ return {
39
+ caller: await (0, rhachet_1.enrollThread)({
40
+ role: 'caller',
41
+ stash: {
42
+ ask: input.ask,
43
+ art: { feedback: feedbackArt, references: referenceArts },
44
+ },
45
+ }),
46
+ mechanic: await (0, rhachet_1.enrollThread)({
47
+ role: 'mechanic',
48
+ stash: {
49
+ ask: input.ask,
50
+ art: { inflight: targetArt },
51
+ },
52
+ inherit: {
53
+ traits: [(0, getMechanicBrief_1.getMechanicBrief)('style.compressed.md')],
54
+ },
55
+ }),
56
+ };
57
+ },
58
+ },
59
+ context: {
60
+ lookup: {
61
+ apiKeyOpenai: {
62
+ source: 'process.env',
63
+ envar: 'PREP_OPENAI_KEY',
64
+ desc: 'the openai key to use',
65
+ type: 'string',
66
+ },
67
+ },
68
+ assess: (input) => typeof input.apiKeyOpenai === 'string',
69
+ instantiate: (input) => {
70
+ return {
71
+ ...(0, getContextOpenAI_1.getContextOpenAI)(), // todo: use the input api key
72
+ ...(0, genContextLogTrail_1.genContextLogTrail)(), // todo: passthrough ?
73
+ ...(0, genContextStitchTrail_1.genContextStitchTrail)(),
74
+ };
75
+ },
76
+ },
77
+ readme: `
78
+ ### \`ask -r mechanic -s write\`
79
+
80
+ you can ask the mechanic to write anything to a target file
81
+ - if it exists, it'll update
82
+ - if it doesn't, it'll create
83
+
84
+
85
+ \`\`\`sh
86
+ npx rhachet ask -r mechanic -s write -t ./path/to/file.ts --ask "your ask"
87
+ \`\`\`
88
+
89
+ once it's written, it'll ask you for feedback
90
+
91
+ \`\`\`sh
92
+ ? have notes? (Use arrow keys)
93
+ ❯ no notes
94
+ yes notes
95
+ \`\`\`
96
+
97
+ it'll loop until you tell it you have \`no notes\`
98
+ `.trim(),
99
+ });
100
+ //# sourceMappingURL=loopWrite.skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopWrite.skill.js","sourceRoot":"","sources":["../../../../../src/logic/roles/mechanic/write/loopWrite.skill.ts"],"names":[],"mappings":"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"}