rhachet-roles-bhrain 0.2.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/dist/.test/getContextOpenAI.js +1 -1
  2. package/dist/.test/getContextOpenAI.js.map +1 -1
  3. package/dist/access/sdk/sdkOpenAi.d.ts +25 -0
  4. package/dist/access/sdk/sdkOpenAi.js +122 -0
  5. package/dist/access/sdk/sdkOpenAi.js.map +1 -1
  6. package/dist/access/sdks/anthropic/sdkAnthropic.d.ts +31 -0
  7. package/dist/access/sdks/anthropic/sdkAnthropic.js +151 -0
  8. package/dist/access/sdks/anthropic/sdkAnthropic.js.map +1 -0
  9. package/dist/access/sdks/qwen/sdkQwen.d.ts +31 -0
  10. package/dist/access/sdks/qwen/sdkQwen.js +134 -0
  11. package/dist/access/sdks/qwen/sdkQwen.js.map +1 -0
  12. package/dist/domain.objects/BrainArch1/BrainArch1Actor.d.ts +67 -0
  13. package/dist/domain.objects/BrainArch1/BrainArch1Actor.js +12 -0
  14. package/dist/domain.objects/BrainArch1/BrainArch1Actor.js.map +1 -0
  15. package/dist/domain.objects/BrainArch1/BrainArch1Atom.d.ts +40 -0
  16. package/dist/domain.objects/BrainArch1/BrainArch1Atom.js +3 -0
  17. package/dist/domain.objects/BrainArch1/BrainArch1Atom.js.map +1 -0
  18. package/dist/domain.objects/BrainArch1/BrainArch1Context.d.ts +30 -0
  19. package/dist/domain.objects/BrainArch1/BrainArch1Context.js +3 -0
  20. package/dist/domain.objects/BrainArch1/BrainArch1Context.js.map +1 -0
  21. package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.d.ts +34 -0
  22. package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.js +8 -0
  23. package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.js.map +1 -0
  24. package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.d.ts +23 -0
  25. package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.js +9 -0
  26. package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.js.map +1 -0
  27. package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.d.ts +49 -0
  28. package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.js +8 -0
  29. package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.js.map +1 -0
  30. package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.d.ts +31 -0
  31. package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.js +9 -0
  32. package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.js.map +1 -0
  33. package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.d.ts +27 -0
  34. package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.js +8 -0
  35. package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.js.map +1 -0
  36. package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.d.ts +45 -0
  37. package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.js +3 -0
  38. package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.js.map +1 -0
  39. package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.d.ts +29 -0
  40. package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.js +8 -0
  41. package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.js.map +1 -0
  42. package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.d.ts +22 -0
  43. package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.js +8 -0
  44. package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.js.map +1 -0
  45. package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.d.ts +30 -0
  46. package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.js +3 -0
  47. package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.js.map +1 -0
  48. package/dist/domain.objects/BrainArch1/BrainArch1Session.d.ts +47 -0
  49. package/dist/domain.objects/BrainArch1/BrainArch1Session.js +17 -0
  50. package/dist/domain.objects/BrainArch1/BrainArch1Session.js.map +1 -0
  51. package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.d.ts +34 -0
  52. package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.js +12 -0
  53. package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.js.map +1 -0
  54. package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.d.ts +21 -0
  55. package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.js +8 -0
  56. package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.js.map +1 -0
  57. package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.d.ts +54 -0
  58. package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.js +20 -0
  59. package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.js.map +1 -0
  60. package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.d.ts +36 -0
  61. package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.js +9 -0
  62. package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.js.map +1 -0
  63. package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.d.ts +25 -0
  64. package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.js +8 -0
  65. package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.js.map +1 -0
  66. package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.d.ts +31 -0
  67. package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.js +3 -0
  68. package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.js.map +1 -0
  69. package/dist/domain.objects/Reviewer/ReviewerReflectManifest.d.ts +44 -0
  70. package/dist/domain.objects/Reviewer/ReviewerReflectManifest.js +8 -0
  71. package/dist/domain.objects/Reviewer/ReviewerReflectManifest.js.map +1 -0
  72. package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.d.ts +30 -0
  73. package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.js +35 -0
  74. package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.js.map +1 -0
  75. package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.d.ts +89 -0
  76. package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.js +8 -0
  77. package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.js.map +1 -0
  78. package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.d.ts +43 -0
  79. package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.js +8 -0
  80. package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.js.map +1 -0
  81. package/dist/domain.operations/artifact/genLoopFeedback.js +1 -1
  82. package/dist/domain.operations/artifact/genLoopFeedback.js.map +1 -1
  83. package/dist/domain.operations/artifact/genStepGrabCallerFeedbackToArtifact.d.ts +1 -1
  84. package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.d.ts +13 -0
  85. package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.js +106 -0
  86. package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.js.map +1 -0
  87. package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.d.ts +18 -0
  88. package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.js +16 -0
  89. package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.js.map +1 -0
  90. package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.d.ts +30 -0
  91. package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.js +71 -0
  92. package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.js.map +1 -0
  93. package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.d.ts +20 -0
  94. package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.js +90 -0
  95. package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.js.map +1 -0
  96. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.d.ts +8 -0
  97. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.js +31 -0
  98. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.js.map +1 -0
  99. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.d.ts +3 -0
  100. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.js +10 -0
  101. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.js.map +1 -0
  102. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.d.ts +8 -0
  103. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.js +31 -0
  104. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.js.map +1 -0
  105. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.d.ts +8 -0
  106. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.js +32 -0
  107. package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.js.map +1 -0
  108. package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.d.ts +6 -0
  109. package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.js +80 -0
  110. package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.js.map +1 -0
  111. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.d.ts +6 -0
  112. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.js +14 -0
  113. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.js.map +1 -0
  114. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.d.ts +8 -0
  115. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.js +52 -0
  116. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.js.map +1 -0
  117. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.d.ts +8 -0
  118. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.js +38 -0
  119. package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.js.map +1 -0
  120. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.d.ts +33 -0
  121. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.js +100 -0
  122. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.js.map +1 -0
  123. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.d.ts +6 -0
  124. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.js +26 -0
  125. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.js.map +1 -0
  126. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.d.ts +41 -0
  127. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.js +107 -0
  128. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.js.map +1 -0
  129. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.d.ts +33 -0
  130. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.js +68 -0
  131. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.js.map +1 -0
  132. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.d.ts +41 -0
  133. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.js +97 -0
  134. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.js.map +1 -0
  135. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.d.ts +6 -0
  136. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.js +65 -0
  137. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.js.map +1 -0
  138. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.d.ts +37 -0
  139. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.js +96 -0
  140. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.js.map +1 -0
  141. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.d.ts +33 -0
  142. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.js +81 -0
  143. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.js.map +1 -0
  144. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.d.ts +33 -0
  145. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.js +113 -0
  146. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.js.map +1 -0
  147. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.d.ts +6 -0
  148. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.js +36 -0
  149. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.js.map +1 -0
  150. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.d.ts +36 -0
  151. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.js +101 -0
  152. package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.js.map +1 -0
  153. package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.d.ts +14 -0
  154. package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.js +45 -0
  155. package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.js.map +1 -0
  156. package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.d.ts +19 -0
  157. package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.js +35 -0
  158. package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.js.map +1 -0
  159. package/dist/domain.operations/git/genGitHubFileUrl.d.ts +9 -0
  160. package/dist/domain.operations/git/genGitHubFileUrl.js +55 -0
  161. package/dist/domain.operations/git/genGitHubFileUrl.js.map +1 -0
  162. package/dist/domain.operations/git/getGitRemoteUrl.d.ts +7 -0
  163. package/dist/domain.operations/git/getGitRemoteUrl.js +40 -0
  164. package/dist/domain.operations/git/getGitRemoteUrl.js.map +1 -0
  165. package/dist/domain.operations/hooks/getInvokeHooks.js +1 -1
  166. package/dist/domain.operations/hooks/getInvokeHooks.js.map +1 -1
  167. package/dist/domain.operations/reflect/createDraftDirectory.d.ts +11 -0
  168. package/dist/domain.operations/reflect/createDraftDirectory.js +46 -0
  169. package/dist/domain.operations/reflect/createDraftDirectory.js.map +1 -0
  170. package/dist/domain.operations/reflect/enumFeedbackFiles.d.ts +7 -0
  171. package/dist/domain.operations/reflect/enumFeedbackFiles.js +69 -0
  172. package/dist/domain.operations/reflect/enumFeedbackFiles.js.map +1 -0
  173. package/dist/domain.operations/reflect/extractJsonFromResultText.d.ts +7 -0
  174. package/dist/domain.operations/reflect/extractJsonFromResultText.js +19 -0
  175. package/dist/domain.operations/reflect/extractJsonFromResultText.js.map +1 -0
  176. package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.d.ts +46 -0
  177. package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.js +120 -0
  178. package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.js.map +1 -0
  179. package/dist/domain.operations/reflect/metrics/computeMetricsExpected.d.ts +12 -0
  180. package/dist/domain.operations/reflect/metrics/computeMetricsExpected.js +28 -0
  181. package/dist/domain.operations/reflect/metrics/computeMetricsExpected.js.map +1 -0
  182. package/dist/domain.operations/reflect/metrics/computeMetricsRealized.d.ts +26 -0
  183. package/dist/domain.operations/reflect/metrics/computeMetricsRealized.js +66 -0
  184. package/dist/domain.operations/reflect/metrics/computeMetricsRealized.js.map +1 -0
  185. package/dist/domain.operations/reflect/metrics/writeLogArtifact.d.ts +17 -0
  186. package/dist/domain.operations/reflect/metrics/writeLogArtifact.js +93 -0
  187. package/dist/domain.operations/reflect/metrics/writeLogArtifact.js.map +1 -0
  188. package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.d.ts +8 -0
  189. package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.js +28 -0
  190. package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.js.map +1 -0
  191. package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.d.ts +14 -0
  192. package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.js +93 -0
  193. package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.js.map +1 -0
  194. package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.d.ts +18 -0
  195. package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.js +208 -0
  196. package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.js.map +1 -0
  197. package/dist/domain.operations/reflect/step2/executeManifestOperations.d.ts +17 -0
  198. package/dist/domain.operations/reflect/step2/executeManifestOperations.js +189 -0
  199. package/dist/domain.operations/reflect/step2/executeManifestOperations.js.map +1 -0
  200. package/dist/domain.operations/reflect/step2/parseManifestOperations.d.ts +8 -0
  201. package/dist/domain.operations/reflect/step2/parseManifestOperations.js +73 -0
  202. package/dist/domain.operations/reflect/step2/parseManifestOperations.js.map +1 -0
  203. package/dist/domain.operations/reflect/validateSourceDirectory.d.ts +9 -0
  204. package/dist/domain.operations/reflect/validateSourceDirectory.js +63 -0
  205. package/dist/domain.operations/reflect/validateSourceDirectory.js.map +1 -0
  206. package/dist/domain.operations/reflect/validateTargetDirectory.d.ts +10 -0
  207. package/dist/domain.operations/reflect/validateTargetDirectory.js +59 -0
  208. package/dist/domain.operations/reflect/validateTargetDirectory.js.map +1 -0
  209. package/dist/domain.operations/review/compileReviewPrompt.d.ts +22 -0
  210. package/dist/domain.operations/review/compileReviewPrompt.js +95 -0
  211. package/dist/domain.operations/review/compileReviewPrompt.js.map +1 -0
  212. package/dist/domain.operations/review/enumFilesFromDiffs.d.ts +8 -0
  213. package/dist/domain.operations/review/enumFilesFromDiffs.js +74 -0
  214. package/dist/domain.operations/review/enumFilesFromDiffs.js.map +1 -0
  215. package/dist/domain.operations/review/enumFilesFromGlob.d.ts +8 -0
  216. package/dist/domain.operations/review/enumFilesFromGlob.js +31 -0
  217. package/dist/domain.operations/review/enumFilesFromGlob.js.map +1 -0
  218. package/dist/domain.operations/review/estimateTokenCount.d.ts +9 -0
  219. package/dist/domain.operations/review/estimateTokenCount.js +20 -0
  220. package/dist/domain.operations/review/estimateTokenCount.js.map +1 -0
  221. package/dist/domain.operations/review/formatReviewOutput.d.ts +14 -0
  222. package/dist/domain.operations/review/formatReviewOutput.js +42 -0
  223. package/dist/domain.operations/review/formatReviewOutput.js.map +1 -0
  224. package/dist/domain.operations/review/genTokenBreakdownMarkdown.d.ts +19 -0
  225. package/dist/domain.operations/review/genTokenBreakdownMarkdown.js +110 -0
  226. package/dist/domain.operations/review/genTokenBreakdownMarkdown.js.map +1 -0
  227. package/dist/domain.operations/review/genTokenBreakdownReport.d.ts +24 -0
  228. package/dist/domain.operations/review/genTokenBreakdownReport.js +64 -0
  229. package/dist/domain.operations/review/genTokenBreakdownReport.js.map +1 -0
  230. package/dist/domain.operations/review/invokeClaudeCode.d.ts +22 -0
  231. package/dist/domain.operations/review/invokeClaudeCode.js +92 -0
  232. package/dist/domain.operations/review/invokeClaudeCode.js.map +1 -0
  233. package/dist/domain.operations/review/writeInputArtifacts.d.ts +27 -0
  234. package/dist/domain.operations/review/writeInputArtifacts.js +50 -0
  235. package/dist/domain.operations/review/writeInputArtifacts.js.map +1 -0
  236. package/dist/domain.operations/review/writeOutputArtifacts.d.ts +12 -0
  237. package/dist/domain.operations/review/writeOutputArtifacts.js +46 -0
  238. package/dist/domain.operations/review/writeOutputArtifacts.js.map +1 -0
  239. package/dist/index.js.map +1 -1
  240. package/dist/roles/architect/getArchitectRole.d.ts +6 -0
  241. package/dist/roles/architect/getArchitectRole.js +31 -0
  242. package/dist/roles/architect/getArchitectRole.js.map +1 -0
  243. package/dist/roles/brain/getBrainRole.d.ts +6 -0
  244. package/dist/roles/brain/getBrainRole.js +28 -0
  245. package/dist/roles/brain/getBrainRole.js.map +1 -0
  246. package/dist/roles/brain/skills/act/skillAct.d.ts +5 -0
  247. package/dist/roles/brain/skills/act/skillAct.js +147 -0
  248. package/dist/roles/brain/skills/act/skillAct.js.map +1 -0
  249. package/dist/roles/brain/skills/act/skillAct.ts +186 -0
  250. package/dist/roles/brain/skills/act/stepAct.d.ts +27 -0
  251. package/dist/roles/brain/skills/act/stepAct.js +95 -0
  252. package/dist/roles/brain/skills/act/stepAct.js.map +1 -0
  253. package/dist/roles/brain/skills/act/stepAct.ts +123 -0
  254. package/dist/roles/getRoleRegistry.js +5 -3
  255. package/dist/roles/getRoleRegistry.js.map +1 -1
  256. package/dist/roles/getRoleRegistry.readme.js +6 -0
  257. package/dist/roles/getRoleRegistry.readme.js.map +1 -1
  258. package/dist/roles/reviewer/briefs/on.rules/rules101.[article].md +41 -0
  259. package/dist/roles/reviewer/briefs/on.rules/rules101.citations.[article].md +88 -0
  260. package/dist/roles/reviewer/briefs/on.rules/rules101.collocated.[article].md +97 -0
  261. package/dist/roles/reviewer/briefs/on.rules/rules101.content.[article].md +228 -0
  262. package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].forbid.failhide.md +87 -0
  263. package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].forbid.gerunds.md +85 -0
  264. package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].require.failfast.md +73 -0
  265. package/dist/roles/reviewer/briefs/on.rules/rules101.structure.[article].md +70 -0
  266. package/dist/roles/reviewer/briefs/review.tactics.md +60 -0
  267. package/dist/roles/reviewer/getReviewerRole.d.ts +6 -0
  268. package/dist/roles/reviewer/getReviewerRole.js +80 -0
  269. package/dist/roles/reviewer/getReviewerRole.js.map +1 -0
  270. package/dist/roles/reviewer/skills/reflect/reflect.d.ts +30 -0
  271. package/dist/roles/reviewer/skills/reflect/reflect.js +305 -0
  272. package/dist/roles/reviewer/skills/reflect/reflect.js.map +1 -0
  273. package/dist/roles/reviewer/skills/reflect/reflect.sh +38 -0
  274. package/dist/roles/reviewer/skills/reflect/reflect.ts +356 -0
  275. package/dist/roles/reviewer/skills/review/review.d.ts +57 -0
  276. package/dist/roles/reviewer/skills/review/review.js +445 -0
  277. package/dist/roles/reviewer/skills/review/review.js.map +1 -0
  278. package/dist/roles/reviewer/skills/review/review.sh +21 -0
  279. package/dist/roles/reviewer/skills/review/review.ts +575 -0
  280. package/dist/roles/thinker/getThinkerBrief.d.ts +1 -1
  281. package/dist/roles/thinker/getThinkerRole.js +9 -9
  282. package/dist/roles/thinker/getThinkerRole.js.map +1 -1
  283. package/dist/roles/thinker/skills/brief.articulate/.demo/article.vision.v2025_08_19..i1.via_chatgpt.md +47 -0
  284. package/dist/roles/thinker/skills/brief.articulate/.demo/article.vision.v2025_08_19.i2.via_rhachet.md +60 -0
  285. package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i1.md +62 -0
  286. package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i1.with_feedback.md +89 -0
  287. package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i2.md +47 -0
  288. package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i1.md +44 -0
  289. package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i2.md +63 -0
  290. package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i3.md +51 -0
  291. package/dist/roles/thinker/skills/brief.articulate/.demo/user-journey.v2025_08_17.i1.md +62 -0
  292. package/dist/roles/thinker/skills/brief.articulate/.demo/user-journey.v2025_08_17.i2.md +49 -0
  293. package/dist/roles/thinker/skills/brief.articulate/.readme.md +0 -0
  294. package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js +1 -1
  295. package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js.map +1 -1
  296. package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.ts +168 -0
  297. package/dist/roles/thinker/skills/brief.articulate/stepArticulate.ts +157 -0
  298. package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_08_28.i1.md +93 -0
  299. package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_08_28.i2.md +84 -0
  300. package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_09_28.i1.no_focus_context.md +8 -0
  301. package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_09_28.i2.md +54 -0
  302. package/dist/roles/thinker/skills/brief.catalogize/.demo/persona.usecases.v2025_08_28.i1.md +62 -0
  303. package/dist/roles/thinker/skills/brief.catalogize/.demo/persona.usecases.v2025_08_28.i2.md +64 -0
  304. package/dist/roles/thinker/skills/brief.catalogize/.readme.md +5 -0
  305. package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js +1 -1
  306. package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js.map +1 -1
  307. package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.ts +173 -0
  308. package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.ts +132 -0
  309. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i4.md +3 -0
  310. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i5.md +3 -0
  311. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i6.md +3 -0
  312. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.md +3 -0
  313. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i1.md +52 -0
  314. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i2.md +51 -0
  315. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i3.md +47 -0
  316. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i4.md +62 -0
  317. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i5.md +47 -0
  318. package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i6.md +53 -0
  319. package/dist/roles/thinker/skills/brief.demonstrate/.readme +3 -0
  320. package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js +1 -1
  321. package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js.map +1 -1
  322. package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.ts +190 -0
  323. package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.ts +164 -0
  324. package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i1.md +72 -0
  325. package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i2.md +53 -0
  326. package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i3.which_objectives.md +58 -0
  327. package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i5.which_personas.md +64 -0
  328. package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i1.md +67 -0
  329. package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i2.md +49 -0
  330. package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i3.md +59 -0
  331. package/dist/roles/thinker/skills/khue.cluster/.readme.md +0 -0
  332. package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js +1 -1
  333. package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js.map +1 -1
  334. package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.ts +174 -0
  335. package/dist/roles/thinker/skills/khue.cluster/stepCluster.ts +150 -0
  336. package/dist/roles/thinker/skills/khue.decompose/.readme.md +9 -0
  337. package/dist/roles/thinker/skills/khue.diverge/.demo/joke.examples.v2025_08_17.i2.md +23 -0
  338. package/dist/roles/thinker/skills/khue.diverge/.demo/joke.examples.v2025_08_17.i3.md +23 -0
  339. package/dist/roles/thinker/skills/khue.diverge/.demo/joke.varieties.v2025_08_17.i1.md +23 -0
  340. package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i1.md +9 -0
  341. package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i2.md +9 -0
  342. package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i3.md +23 -0
  343. package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i4.folksy.md +9 -0
  344. package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i5.folksy.md +23 -0
  345. package/dist/roles/thinker/skills/khue.diverge/.readme.md +0 -0
  346. package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js +1 -1
  347. package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js.map +1 -1
  348. package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.ts +149 -0
  349. package/dist/roles/thinker/skills/khue.diverge/stepDiverge.ts +151 -0
  350. package/dist/roles/thinker/skills/khue.encompose/.readme.md +7 -0
  351. package/dist/roles/thinker/skills/khue.instantiate/.readme.md +14 -0
  352. package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js +1 -1
  353. package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js.map +1 -1
  354. package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.ts +190 -0
  355. package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.ts +132 -0
  356. package/dist/roles/thinker/skills/khue.triage/.demo/laughs.v2025_08_18.i1.md +29 -0
  357. package/dist/roles/thinker/skills/khue.triage/.demo/user.journeys.v2025_08_17.i1.md +86 -0
  358. package/dist/roles/thinker/skills/khue.triage/.demo/user.journeys.v2025_08_17.i2.md +68 -0
  359. package/dist/roles/thinker/skills/khue.triage/.readme.md +0 -0
  360. package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js +1 -1
  361. package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js.map +1 -1
  362. package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.ts +174 -0
  363. package/dist/roles/thinker/skills/khue.triage/stepTriage.ts +153 -0
  364. package/package.json +11 -8
  365. package/readme.md +55 -0
@@ -0,0 +1,58 @@
1
+ [
2
+ {
3
+ "label": "Financial and Investment Objectives",
4
+ "members": [
5
+ "an individual researching and choosing a financial investment through an online brokerage platform",
6
+ "an entrepreneur submitting a business idea for evaluation via a startup accelerator program",
7
+ "a donor contributing to multiple causes and managing donations through a charitable giving platform"
8
+ ],
9
+ "rationale": "These objectives involve managing finances, investments, or capital in various forms, whether through personal investment platforms, entrepreneurial assessment, or philanthropic activities."
10
+ },
11
+ {
12
+ "label": "Real Estate and Property Management",
13
+ "members": [
14
+ "a visitor comparing neighborhoods and selecting a property on a real estate website",
15
+ "a parent managing school-related activities and communication through a virtual learning environment",
16
+ "a donor contributing to multiple causes and managing donations through a charitable giving platform"
17
+ ],
18
+ "rationale": "This cluster involves objectives related to property, either through real estate selection or managing activities related to properties, such as those involving educational environments."
19
+ },
20
+ {
21
+ "label": "Personal Development and Fitness",
22
+ "members": [
23
+ "a fitness enthusiast scheduling and tracking workouts with a mobile fitness application",
24
+ "a traveler planning and booking a multi-stop vacation using a travel aggregator",
25
+ "a patient exploring healthcare options and scheduling appointments through a telehealth service"
26
+ ],
27
+ "rationale": "These objectives are associated with personal development and maintaining physical health, facilitated through technology for fitness, travel, or healthcare."
28
+ },
29
+ {
30
+ "label": "Content and Media Engagement",
31
+ "members": [
32
+ "a fan purchasing merchandise and concert tickets through a band’s fan club portal",
33
+ "a subscriber exploring exclusive content and engaging with creators on a streaming platform",
34
+ "a gamer unlocking achievements and in-game rewards while progressing through a video game",
35
+ "an artist sharing portfolio works and engaging with followers on social media",
36
+ "a writer drafting and publishing posts using a blogging platform's features"
37
+ ],
38
+ "rationale": "This cluster groups objectives related to engaging with various forms of media and content, whether through music, streaming, gaming, or creative arts."
39
+ },
40
+ {
41
+ "label": "Community and Collaboration",
42
+ "members": [
43
+ "a hobbyist engaging with a community forum to share projects and seek advice",
44
+ "a team collaborating and tracking project tasks using a productivity software suite",
45
+ "a researcher accessing databases and compiling data for academic work via a university portal"
46
+ ],
47
+ "rationale": "These objectives involve engaging with communities or teams for sharing, collaborating, and achieving collective goals."
48
+ },
49
+ {
50
+ "label": "Consumer Shopping and Trends",
51
+ "members": [
52
+ "a shopper browsing fashion trends and creating a personalized outfit on a clothing retailer's site",
53
+ "a subscriber managing subscriptions and preferences through a digital newspaper site",
54
+ "a foodie exploring recipes and meal planning with an online culinary community"
55
+ ],
56
+ "rationale": "This cluster involves shopping and consumer behaviors focused on exploring trends, managing subscriptions, or culinary interests."
57
+ }
58
+ ]
@@ -0,0 +1,64 @@
1
+ [
2
+ {
3
+ "label": "E-commerce and Shopping",
4
+ "members": [
5
+ "a shopper browsing fashion trends and creating a personalized outfit on a clothing retailer's site",
6
+ "a fan purchasing merchandise and concert tickets through a band’s fan club portal",
7
+ "a foodie exploring recipes and meal planning with an online culinary community"
8
+ ],
9
+ "rationale": "These personas are centered around online shopping, purchasing, and customizing experiences related to fashion, fan merchandise, and food."
10
+ },
11
+ {
12
+ "label": "Home and Lifestyle Management",
13
+ "members": [
14
+ "a new user learning about and setting up a smart home device using the manufacturer's mobile app",
15
+ "a parent managing school-related activities and communication through a virtual learning environment",
16
+ "a fitness enthusiast scheduling and tracking workouts with a mobile fitness application"
17
+ ],
18
+ "rationale": "This group involves managing aspects of daily life and home, from smart home devices and school activities to fitness routines."
19
+ },
20
+ {
21
+ "label": "Finance and Investment",
22
+ "members": [
23
+ "an individual researching and choosing a financial investment through an online brokerage platform",
24
+ "a donor contributing to multiple causes and managing donations through a charitable giving platform"
25
+ ],
26
+ "rationale": "Both personas involve financial activities; one in investment and the other in charitable donations."
27
+ },
28
+ {
29
+ "label": "Travel and Leisure",
30
+ "members": [
31
+ "a traveler planning and booking a multi-stop vacation using a travel aggregator",
32
+ "a patient exploring healthcare options and scheduling appointments through a telehealth service"
33
+ ],
34
+ "rationale": "Although one is focused on travel and the other on healthcare, both involve planning and booking services online."
35
+ },
36
+ {
37
+ "label": "Creative and Social Engagement",
38
+ "members": [
39
+ "an artist sharing portfolio works and engaging with followers on social media",
40
+ "a writer drafting and publishing posts using a blogging platform's features",
41
+ "a gamer unlocking achievements and in-game rewards while progressing through a video game",
42
+ "a subscriber exploring exclusive content and engaging with creators on a streaming platform"
43
+ ],
44
+ "rationale": "This cluster includes personas engaged in creative expression and social interaction through digital platforms for art, writing, gaming, and streaming."
45
+ },
46
+ {
47
+ "label": "Professional Development and Collaboration",
48
+ "members": [
49
+ "an entrepreneur submitting a business idea for evaluation via a startup accelerator program",
50
+ "a team collaborating and tracking project tasks using a productivity software suite",
51
+ "a researcher accessing databases and compiling data for academic work via a university portal",
52
+ "a job seeker applying and interviewing for positions via an employment website"
53
+ ],
54
+ "rationale": "These personas are involved in professional growth, whether through entrepreneurship, project management, academic research, or job seeking."
55
+ },
56
+ {
57
+ "label": "Community and Learning",
58
+ "members": [
59
+ "a hobbyist engaging with a community forum to share projects and seek advice",
60
+ "a subscriber managing subscriptions and preferences through a digital newspaper site"
61
+ ],
62
+ "rationale": "Both personas interact with communities and content, with one focusing on community forums and the other on managing subscriptions to news media."
63
+ }
64
+ ]
@@ -0,0 +1,67 @@
1
+ [
2
+ {
3
+ "label": "Digital Education and Learning",
4
+ "members": [
5
+ "A student using an online learning platform to complete daily algebra exercises.",
6
+ "A yoga practitioner following an online video series for daily sessions.",
7
+ "A traveler using a language app daily to build vocabulary before a trip.",
8
+ "A high school student organizing study schedules and assignment deadlines in a planner app."
9
+ ],
10
+ "rationale": "These concepts involve individuals using digital platforms to enhance or facilitate their learning and education processes."
11
+ },
12
+ {
13
+ "label": "Health and Fitness Tracking",
14
+ "members": [
15
+ "A customer's morning routine as they use their smartwatch to track steps.",
16
+ "A fitness enthusiast booking classes and tracking goals in a workout app."
17
+ ],
18
+ "rationale": "These scenarios involve the use of technology to monitor and improve personal health and fitness activities."
19
+ },
20
+ {
21
+ "label": "Digital Organization and Productivity",
22
+ "members": [
23
+ "An influencer planning photo shoots and posting schedules with a content calendar app.",
24
+ "An event organizer sending out e-invites and tracking RSVPs through an event app.",
25
+ "A babysitter logging hours and generating invoices via a babysitting service app.",
26
+ "A small business owner managing orders and inventory via an online platform.",
27
+ "A high school student organizing study schedules and assignment deadlines in a planner app."
28
+ ],
29
+ "rationale": "These entries involve using technology to organize tasks, schedules, and manage productivity across different contexts."
30
+ },
31
+ {
32
+ "label": "Home and Lifestyle Apps",
33
+ "members": [
34
+ "A parent navigating a grocery store app to build their weekly shopping list.",
35
+ "A new pet owner researching breed-specific care tips on a vet's website.",
36
+ "A gardener logging plant growth in a digital garden journal app.",
37
+ "A home cook using a meal kit service website to pick new recipes.",
38
+ "A cafe regular pre-ordering their daily coffee through a mobile app."
39
+ ],
40
+ "rationale": "These situations revolve around individuals using apps to manage and enhance their home, lifestyle, or everyday activities."
41
+ },
42
+ {
43
+ "label": "Travel and Exploration",
44
+ "members": [
45
+ "A road tripper planning a route with a digital map for scenic stops.",
46
+ "A traveler using a language app daily to build vocabulary before a trip.",
47
+ "An environmentalist tracking local wildlife sightings with a citizen science app."
48
+ ],
49
+ "rationale": "These concepts focus on individuals using technology to assist in travel planning, exploration, and discovery of new experiences."
50
+ },
51
+ {
52
+ "label": "Entertainment and Media",
53
+ "members": [
54
+ "A commuter reading news headlines on their phone while on the train.",
55
+ "A music lover exploring new playlists and artists on a streaming service."
56
+ ],
57
+ "rationale": "These entries involve consuming digital media and entertainment using mobile or online services."
58
+ },
59
+ {
60
+ "label": "DIY and Practical Skills",
61
+ "members": [
62
+ "A DIY enthusiast following step-by-step guides on a home improvement site.",
63
+ "A gardener logging plant growth in a digital garden journal app."
64
+ ],
65
+ "rationale": "These scenarios involve individuals using technology to assist in learning and applying practical skills related to DIY activities."
66
+ }
67
+ ]
@@ -0,0 +1,49 @@
1
+ [
2
+ {
3
+ "label": "Personal Organization",
4
+ "members": [
5
+ "A high school student organizing study schedules and assignment deadlines in a planner app.",
6
+ "An influencer planning photo shoots and posting schedules with a content calendar app.",
7
+ "A babysitter logging hours and generating invoices via a babysitting service app.",
8
+ "A small business owner managing orders and inventory via an online platform.",
9
+ "An event organizer sending out e-invites and tracking RSVPs through an event app."
10
+ ],
11
+ "rationale": "These concepts revolve around managing personal tasks and schedules using digital tools, highlighting organizational needs in various contexts."
12
+ },
13
+ {
14
+ "label": "Health and Fitness",
15
+ "members": [
16
+ "A customer's morning routine as they use their smartwatch to track steps.",
17
+ "A fitness enthusiast booking classes and tracking goals in a workout app.",
18
+ "A yoga practitioner following an online video series for daily sessions."
19
+ ],
20
+ "rationale": "These concepts focus on personal health and fitness routines supported by technology, indicating a trend of integrating digital tools to enhance physical well-being."
21
+ },
22
+ {
23
+ "label": "Educational and Learning Platforms",
24
+ "members": [
25
+ "A student using an online learning platform to complete daily algebra exercises.",
26
+ "A traveler using a language app daily to build vocabulary before a trip.",
27
+ "A book lover cataloging and reviewing recent reads in a book community app."
28
+ ],
29
+ "rationale": "These concepts explore the use of digital platforms for learning and education, emphasizing continuous self-improvement and skill development."
30
+ },
31
+ {
32
+ "label": "Shopping and Consumption",
33
+ "members": [
34
+ "A parent navigating a grocery store app to build their weekly shopping list.",
35
+ "A home cook using a meal kit service website to pick new recipes.",
36
+ "A cafe regular pre-ordering their daily coffee through a mobile app."
37
+ ],
38
+ "rationale": "These concepts highlight consumer habits and routines facilitated by digital applications, focusing on convenience and efficiency in shopping and meal preparation."
39
+ },
40
+ {
41
+ "label": "Exploration and Travel",
42
+ "members": [
43
+ "A road tripper planning a route with a digital map for scenic stops.",
44
+ "A traveler using a language app daily to build vocabulary before a trip.",
45
+ "An environmentalist tracking local wildlife sightings with a citizen science app."
46
+ ],
47
+ "rationale": "These concepts involve exploration and travel, either through planning journeys or understanding the environment, supported by digital tools to enhance the experience."
48
+ }
49
+ ]
@@ -0,0 +1,59 @@
1
+ [
2
+ {
3
+ "label": "Daily Planning and Organization",
4
+ "members": [
5
+ "A parent navigating a grocery store app to build their weekly shopping list.",
6
+ "A home cook using a meal kit service website to pick new recipes.",
7
+ "An influencer planning photo shoots and posting schedules with a content calendar app.",
8
+ "An event organizer sending out e-invites and tracking RSVPs through an event app.",
9
+ "A babysitter logging hours and generating invoices via a babysitting service app.",
10
+ "A high school student organizing study schedules and assignment deadlines in a planner app."
11
+ ],
12
+ "rationale": "These concepts revolve around the use of digital tools for planning, scheduling, and organizing daily tasks, showcasing the integration of technology in routine management."
13
+ },
14
+ {
15
+ "label": "Health and Fitness Tracking",
16
+ "members": [
17
+ "A customer's morning routine as they use their smartwatch to track steps.",
18
+ "A fitness enthusiast booking classes and tracking goals in a workout app.",
19
+ "A yoga practitioner following an online video series for daily sessions."
20
+ ],
21
+ "rationale": "These scenarios involve individuals utilizing digital platforms and devices to monitor and enhance their physical wellness, highlighting the intersection of technology and personal health management."
22
+ },
23
+ {
24
+ "label": "Learning and Skill Development",
25
+ "members": [
26
+ "A student using an online learning platform to complete daily algebra exercises.",
27
+ "A traveler using a language app daily to build vocabulary before a trip.",
28
+ "A DIY enthusiast following step-by-step guides on a home improvement site.",
29
+ "A book lover cataloging and reviewing recent reads in a book community app."
30
+ ],
31
+ "rationale": "These activities focus on using digital resources to acquire new knowledge and skills, reflecting the educational potential of digital applications across various interests and needs."
32
+ },
33
+ {
34
+ "label": "Exploration and Tracking",
35
+ "members": [
36
+ "A road tripper planning a route with a digital map for scenic stops.",
37
+ "An environmentalist tracking local wildlife sightings with a citizen science app.",
38
+ "A gardener logging plant growth in a digital garden journal app."
39
+ ],
40
+ "rationale": "These examples depict the use of digital tools to explore, document, and track outdoor activities and observations, which emphasizes technology's role in enhancing exploration and environmental awareness."
41
+ },
42
+ {
43
+ "label": "Lifestyle and Entertainment",
44
+ "members": [
45
+ "A cafe regular pre-ordering their daily coffee through a mobile app.",
46
+ "A music lover exploring new playlists and artists on a streaming service.",
47
+ "A commuter reading news headlines on their phone while on the train."
48
+ ],
49
+ "rationale": "These scenarios illustrate the integration of technology into everyday lifestyle and leisure activities, demonstrating how digital solutions facilitate convenience and access to entertainment and information on-the-go."
50
+ },
51
+ {
52
+ "label": "Business and Commerce Management",
53
+ "members": [
54
+ "A new pet owner researching breed-specific care tips on a vet's website.",
55
+ "A small business owner managing orders and inventory via an online platform."
56
+ ],
57
+ "rationale": "Both cases involve the use of digital platforms for managing business-related and commerce activities, reflecting technology's role in supporting small businesses and niche markets."
58
+ }
59
+ ]
@@ -108,7 +108,7 @@ exports.SKILL_CLUSTER = (0, rhachet_1.genRoleSkill)({
108
108
  lookup: {
109
109
  apiKeyOpenai: {
110
110
  source: 'process.env',
111
- envar: 'PREP_OPENAI_KEY',
111
+ envar: 'OPENAI_API_KEY',
112
112
  desc: 'the openai key to use',
113
113
  type: 'string',
114
114
  },
@@ -1 +1 @@
1
- {"version":3,"file":"stepCluster.skill.js","sourceRoot":"","sources":["../../../../../src/roles/thinker/skills/khue.cluster/stepCluster.skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stepCluster.skill.js","sourceRoot":"","sources":["../../../../../src/roles/thinker/skills/khue.cluster/stepCluster.skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { enrollThread, genRoleSkill } from 'rhachet';
2
+ import { genArtifactGitFile, getArtifactObsDir } from 'rhachet-artifact-git';
3
+
4
+ import { genContextLogTrail } from '@src/.test/genContextLogTrail';
5
+ import { genContextStitchTrail } from '@src/.test/genContextStitchTrail';
6
+ import { getContextOpenAI } from '@src/.test/getContextOpenAI';
7
+
8
+ import { BRIEFS_FOR_CLUSTER, loopCluster } from './stepCluster';
9
+
10
+ export const SKILL_CLUSTER = genRoleSkill({
11
+ slug: 'cluster',
12
+ route: loopCluster,
13
+ threads: {
14
+ lookup: {
15
+ output: {
16
+ source: 'process.argv',
17
+ char: 'o',
18
+ desc: 'the output file to write against',
19
+ type: 'string',
20
+ },
21
+ input: {
22
+ source: 'process.argv',
23
+ char: 'i',
24
+ desc: 'the input file to seed from',
25
+ type: 'string',
26
+ },
27
+ goal: {
28
+ source: 'process.argv',
29
+ char: 'g',
30
+ desc: 'the goal of the request',
31
+ type: '?string',
32
+ },
33
+ references: {
34
+ source: 'process.argv',
35
+ char: 'f',
36
+ desc: 'reference files to to use, if any; delimit with commas',
37
+ type: '?string',
38
+ },
39
+ briefs: {
40
+ source: 'process.argv',
41
+ char: 'b',
42
+ desc: 'brief files to to use, if any; delimit with commas',
43
+ type: '?string',
44
+ },
45
+ },
46
+ assess: (
47
+ input,
48
+ ): input is {
49
+ output: string;
50
+ input: string;
51
+ goal: string;
52
+ references: string;
53
+ briefs: string;
54
+ ask: string;
55
+ } => typeof input.output === 'string',
56
+ instantiate: async (input: {
57
+ output: string;
58
+ input: string;
59
+ goal: string;
60
+ references: string;
61
+ briefs: string;
62
+ ask: string;
63
+ }) => {
64
+ // declare where all the artifacts will be found
65
+ const obsDir = getArtifactObsDir({ uri: input.output });
66
+ const artifacts = {
67
+ goal: {
68
+ concept: genArtifactGitFile(
69
+ { uri: obsDir + '.goal.concept.md' },
70
+ { versions: true },
71
+ ),
72
+ context: genArtifactGitFile(
73
+ { uri: obsDir + '.goal.context.md' },
74
+ { versions: true },
75
+ ),
76
+ },
77
+ feedback: genArtifactGitFile(
78
+ { uri: obsDir + '.feedback.md' },
79
+ { versions: true },
80
+ ),
81
+ 'focus.context': genArtifactGitFile(
82
+ { uri: obsDir + '.focus.context.md' },
83
+ { versions: true },
84
+ ),
85
+ 'focus.concept': genArtifactGitFile(
86
+ { uri: input.output },
87
+ { versions: true },
88
+ ),
89
+ input: genArtifactGitFile({ uri: input.input }, { versions: true }),
90
+ references:
91
+ input.references
92
+ ?.split(',')
93
+ .filter((uri) => !!uri)
94
+ .map((reference) =>
95
+ genArtifactGitFile({ uri: reference }, { access: 'readonly' }),
96
+ ) ?? [],
97
+ briefs:
98
+ input.briefs
99
+ ?.split(',')
100
+ .filter((uri) => !!uri)
101
+ .map((brief) =>
102
+ genArtifactGitFile({ uri: brief }, { access: 'readonly' }),
103
+ ) ?? [],
104
+ };
105
+
106
+ // detect the goal of the caller
107
+ const goalConcept: string = await (async () => {
108
+ // if goal explicitly defined, use it
109
+ if (input.goal)
110
+ return (
111
+ (
112
+ await genArtifactGitFile(
113
+ { uri: input.goal },
114
+ { access: 'readonly' },
115
+ ).get()
116
+ )?.content ?? input.ask
117
+ );
118
+
119
+ // otherwise, assume its the ask
120
+ return input.ask;
121
+ })();
122
+ await artifacts.goal.concept.set({ content: goalConcept });
123
+
124
+ return {
125
+ caller: await enrollThread({
126
+ role: 'caller',
127
+ stash: {
128
+ ask: '',
129
+ art: {
130
+ 'foci.goal.concept': artifacts.goal.concept,
131
+ 'foci.goal.context': artifacts.goal.context,
132
+ 'foci.input.concept': artifacts.input,
133
+ feedback: artifacts.feedback,
134
+ },
135
+ refs: artifacts.references,
136
+ },
137
+ }),
138
+ thinker: await enrollThread({
139
+ role: 'thinker',
140
+ stash: {
141
+ art: {
142
+ 'focus.context': artifacts['focus.context'],
143
+ 'focus.concept': artifacts['focus.concept'],
144
+ },
145
+ briefs: [
146
+ ...artifacts.briefs,
147
+ ...BRIEFS_FOR_CLUSTER, // flow the cluster briefs down so that <ponder> has them in context too; this approach does cause duplicate briefs for cluster, but thats no biggie
148
+ ],
149
+ },
150
+ }),
151
+ };
152
+ },
153
+ },
154
+ context: {
155
+ lookup: {
156
+ apiKeyOpenai: {
157
+ source: 'process.env',
158
+ envar: 'OPENAI_API_KEY',
159
+ desc: 'the openai key to use',
160
+ type: 'string',
161
+ },
162
+ },
163
+ assess: (input): input is { apiKeyOpenai: string } =>
164
+ typeof input.apiKeyOpenai === 'string',
165
+ instantiate: () => {
166
+ return {
167
+ ...getContextOpenAI(),
168
+ ...genContextLogTrail(),
169
+ ...genContextStitchTrail(),
170
+ };
171
+ },
172
+ },
173
+ readme: '',
174
+ });
@@ -0,0 +1,150 @@
1
+ import { UnexpectedCodePathError } from 'helpful-errors';
2
+ import {
3
+ asStitcherFlat,
4
+ type GStitcher,
5
+ genStepImagineViaTemplate,
6
+ genStitchRoute,
7
+ genTemplate,
8
+ getTemplateValFromArtifacts,
9
+ getTemplateVarsFromRoleInherit,
10
+ type RoleContext,
11
+ type Threads,
12
+ } from 'rhachet';
13
+ import type { Artifact } from 'rhachet-artifact';
14
+ import type { GitFile } from 'rhachet-artifact-git';
15
+ import { withRetry, withTimeout } from 'wrapper-fns';
16
+
17
+ import type { Focus } from '@src/_topublish/rhachet-roles-bhrain/src/domain/objects/Focus';
18
+ import { type ContextOpenAI, sdkOpenAi } from '@src/access/sdk/sdkOpenAi';
19
+ import { genLoopFeedback } from '@src/domain.operations/artifact/genLoopFeedback';
20
+ import { genStepArtSet } from '@src/domain.operations/artifact/genStepArtSet';
21
+ import { getThinkerBriefs } from '@src/roles/thinker/getThinkerBrief';
22
+
23
+ // exported so that we can pass them through to <ponder> too
24
+ export const BRIEFS_FOR_CLUSTER = getThinkerBriefs([
25
+ 'trait.ocd.md',
26
+ 'cognition/cog401.questions.._.md',
27
+ 'cognition/cog000.overview.and.premise.md',
28
+ 'cognition/cog101.concept.treestruct._.md',
29
+ 'cognition/cog201.cortal.focus.p1.definition.md',
30
+ 'cognition/cog301.traversal.1.motion.primitives._.md',
31
+ 'cognition/cog401.questions.._.md',
32
+ 'cognition/cog401.questions.2.1.primitives.rough._.md',
33
+ 'librarian.tactics/<articulate>._.[article].frame.cognitive.md', // todo: keep or remove
34
+ 'librarian.tactics/<articulate>._.[article].frame.tactical.md',
35
+ 'cognition/cog201.cortal.focus.p2.breadth.md',
36
+ 'cognition/cog301.traversal.1.motion.primitives.breadth.md',
37
+ 'cognition/cog301.traversal.1.motion.primitives.breadth.vary.md',
38
+ 'thinker.tactics/<cluster>._.[article].frame.tactical._.md',
39
+ 'librarian.tactics/[brief].verbiage.outline.over.narrative.md',
40
+ ]);
41
+
42
+ type StitcherDesired = GStitcher<
43
+ Threads<{
44
+ caller: RoleContext<
45
+ 'caller',
46
+ {
47
+ art: {
48
+ feedback: Artifact<typeof GitFile>;
49
+ 'foci.goal.concept': Focus['concept'];
50
+ 'foci.goal.context': Focus['context'];
51
+ 'foci.input.concept': Focus['concept'];
52
+ };
53
+ refs: Artifact<typeof GitFile>[];
54
+ }
55
+ >;
56
+ thinker: RoleContext<
57
+ 'thinker',
58
+ {
59
+ art: {
60
+ 'focus.concept': Focus['concept'];
61
+ 'focus.context': Focus['context'];
62
+ };
63
+ briefs: Artifact<typeof GitFile>[];
64
+ }
65
+ >;
66
+ }>,
67
+ ContextOpenAI & GStitcher['context'],
68
+ { content: string }
69
+ >;
70
+
71
+ const template = genTemplate<StitcherDesired['threads']>({
72
+ ref: { uri: __filename.replace('.ts', '.template.md') },
73
+ getVariables: async ({ threads }) => ({
74
+ ...(await getTemplateVarsFromRoleInherit({ thread: threads.thinker })),
75
+
76
+ guide: {
77
+ goal:
78
+ (await threads.caller.context.stash.art['foci.goal.concept'].get())
79
+ ?.content ||
80
+ UnexpectedCodePathError.throw('goal not declared', {
81
+ art: threads.caller.context.stash.art['foci.goal.concept'],
82
+ }),
83
+ feedback:
84
+ (await threads.caller.context.stash.art.feedback.get())?.content || '',
85
+ },
86
+
87
+ focus: {
88
+ context:
89
+ (await threads.thinker.context.stash.art['focus.context'].get())
90
+ ?.content ||
91
+ (await threads.caller.context.stash.art['foci.goal.context'].get()) // fallback to @[caller].focus[goal].context
92
+ ?.content ||
93
+ '',
94
+ concept:
95
+ (await threads.thinker.context.stash.art['focus.concept'].get())
96
+ ?.content || '',
97
+ },
98
+
99
+ seed: {
100
+ concepts:
101
+ (await threads.caller.context.stash.art['foci.input.concept'].get())
102
+ ?.content ||
103
+ UnexpectedCodePathError.throw('input not declared', {
104
+ art: threads.caller.context.stash.art['foci.input.concept'],
105
+ }),
106
+ },
107
+
108
+ skill: {
109
+ briefs: await getTemplateValFromArtifacts({
110
+ artifacts: [
111
+ ...BRIEFS_FOR_CLUSTER,
112
+ ...threads.thinker.context.stash.briefs,
113
+ ],
114
+ }),
115
+ },
116
+
117
+ references: await getTemplateValFromArtifacts({
118
+ artifacts: threads.caller.context.stash.refs,
119
+ }),
120
+ }),
121
+ });
122
+
123
+ const stepImagine = genStepImagineViaTemplate<StitcherDesired>({
124
+ slug: '@[thinker]<cluster>',
125
+ stitchee: 'thinker',
126
+ readme: '',
127
+ template,
128
+ imagine: withRetry(
129
+ withTimeout(sdkOpenAi.imagine, { threshold: { seconds: 60 } }), // allow up to 60 sec, for longer files
130
+ ),
131
+ });
132
+
133
+ const stepPersist = genStepArtSet({
134
+ stitchee: 'thinker',
135
+ artee: 'focus.concept',
136
+ });
137
+
138
+ export const stepCluster = asStitcherFlat<StitcherDesired>(
139
+ genStitchRoute({
140
+ slug: '@[thinker]<cluster>',
141
+ readme: '@[thinker]<cluster> -> [article]',
142
+ sequence: [stepImagine, stepPersist],
143
+ }),
144
+ );
145
+
146
+ export const loopCluster = genLoopFeedback({
147
+ stitchee: 'thinker',
148
+ artee: 'focus.concept',
149
+ repeatee: stepCluster,
150
+ });
@@ -0,0 +1,9 @@
1
+ decompose = acuity++ via subcomponents
2
+
3
+ purpose =
4
+ - identify the core components
5
+
6
+
7
+ e.g.,
8
+ - <decompose>[goal] -> [[goal]]
9
+ - <decompose>[concept] -> [[components]]