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.
- package/dist/.test/getContextOpenAI.js +1 -1
- package/dist/.test/getContextOpenAI.js.map +1 -1
- package/dist/access/sdk/sdkOpenAi.d.ts +25 -0
- package/dist/access/sdk/sdkOpenAi.js +122 -0
- package/dist/access/sdk/sdkOpenAi.js.map +1 -1
- package/dist/access/sdks/anthropic/sdkAnthropic.d.ts +31 -0
- package/dist/access/sdks/anthropic/sdkAnthropic.js +151 -0
- package/dist/access/sdks/anthropic/sdkAnthropic.js.map +1 -0
- package/dist/access/sdks/qwen/sdkQwen.d.ts +31 -0
- package/dist/access/sdks/qwen/sdkQwen.js +134 -0
- package/dist/access/sdks/qwen/sdkQwen.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Actor.d.ts +67 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Actor.js +12 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Actor.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Atom.d.ts +40 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Atom.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Atom.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Context.d.ts +30 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Context.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Context.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.d.ts +34 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.d.ts +23 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.js +9 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.d.ts +49 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.d.ts +31 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.js +9 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.d.ts +27 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.d.ts +45 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.d.ts +29 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.d.ts +22 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.d.ts +30 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Session.d.ts +47 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Session.js +17 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Session.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.d.ts +34 -0
- package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.js +12 -0
- package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.d.ts +21 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.d.ts +54 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.js +20 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.d.ts +36 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.js +9 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.d.ts +25 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.d.ts +31 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifest.d.ts +44 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifest.js +8 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifest.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.d.ts +30 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.js +35 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.d.ts +89 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.js +8 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.d.ts +43 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.js +8 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.js.map +1 -0
- package/dist/domain.operations/artifact/genLoopFeedback.js +1 -1
- package/dist/domain.operations/artifact/genLoopFeedback.js.map +1 -1
- package/dist/domain.operations/artifact/genStepGrabCallerFeedbackToArtifact.d.ts +1 -1
- package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.d.ts +13 -0
- package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.js +106 -0
- package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.d.ts +18 -0
- package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.js +16 -0
- package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.d.ts +30 -0
- package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.js +71 -0
- package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.d.ts +20 -0
- package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.js +90 -0
- package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.js +31 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.d.ts +3 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.js +10 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.js +31 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.js +32 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.js +80 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.js +14 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.js +52 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.js +38 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.js +100 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.js +26 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.d.ts +41 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.js +107 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.js +68 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.d.ts +41 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.js +97 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.js +65 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.d.ts +37 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.js +96 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.js +81 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.js +113 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.js +36 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.d.ts +36 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.js +101 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.d.ts +14 -0
- package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.js +45 -0
- package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.d.ts +19 -0
- package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.js +35 -0
- package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.js.map +1 -0
- package/dist/domain.operations/git/genGitHubFileUrl.d.ts +9 -0
- package/dist/domain.operations/git/genGitHubFileUrl.js +55 -0
- package/dist/domain.operations/git/genGitHubFileUrl.js.map +1 -0
- package/dist/domain.operations/git/getGitRemoteUrl.d.ts +7 -0
- package/dist/domain.operations/git/getGitRemoteUrl.js +40 -0
- package/dist/domain.operations/git/getGitRemoteUrl.js.map +1 -0
- package/dist/domain.operations/hooks/getInvokeHooks.js +1 -1
- package/dist/domain.operations/hooks/getInvokeHooks.js.map +1 -1
- package/dist/domain.operations/reflect/createDraftDirectory.d.ts +11 -0
- package/dist/domain.operations/reflect/createDraftDirectory.js +46 -0
- package/dist/domain.operations/reflect/createDraftDirectory.js.map +1 -0
- package/dist/domain.operations/reflect/enumFeedbackFiles.d.ts +7 -0
- package/dist/domain.operations/reflect/enumFeedbackFiles.js +69 -0
- package/dist/domain.operations/reflect/enumFeedbackFiles.js.map +1 -0
- package/dist/domain.operations/reflect/extractJsonFromResultText.d.ts +7 -0
- package/dist/domain.operations/reflect/extractJsonFromResultText.js +19 -0
- package/dist/domain.operations/reflect/extractJsonFromResultText.js.map +1 -0
- package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.d.ts +46 -0
- package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.js +120 -0
- package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.js.map +1 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsExpected.d.ts +12 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsExpected.js +28 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsExpected.js.map +1 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsRealized.d.ts +26 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsRealized.js +66 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsRealized.js.map +1 -0
- package/dist/domain.operations/reflect/metrics/writeLogArtifact.d.ts +17 -0
- package/dist/domain.operations/reflect/metrics/writeLogArtifact.js +93 -0
- package/dist/domain.operations/reflect/metrics/writeLogArtifact.js.map +1 -0
- package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.d.ts +8 -0
- package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.js +28 -0
- package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.js.map +1 -0
- package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.d.ts +14 -0
- package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.js +93 -0
- package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.js.map +1 -0
- package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.d.ts +18 -0
- package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.js +208 -0
- package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.js.map +1 -0
- package/dist/domain.operations/reflect/step2/executeManifestOperations.d.ts +17 -0
- package/dist/domain.operations/reflect/step2/executeManifestOperations.js +189 -0
- package/dist/domain.operations/reflect/step2/executeManifestOperations.js.map +1 -0
- package/dist/domain.operations/reflect/step2/parseManifestOperations.d.ts +8 -0
- package/dist/domain.operations/reflect/step2/parseManifestOperations.js +73 -0
- package/dist/domain.operations/reflect/step2/parseManifestOperations.js.map +1 -0
- package/dist/domain.operations/reflect/validateSourceDirectory.d.ts +9 -0
- package/dist/domain.operations/reflect/validateSourceDirectory.js +63 -0
- package/dist/domain.operations/reflect/validateSourceDirectory.js.map +1 -0
- package/dist/domain.operations/reflect/validateTargetDirectory.d.ts +10 -0
- package/dist/domain.operations/reflect/validateTargetDirectory.js +59 -0
- package/dist/domain.operations/reflect/validateTargetDirectory.js.map +1 -0
- package/dist/domain.operations/review/compileReviewPrompt.d.ts +22 -0
- package/dist/domain.operations/review/compileReviewPrompt.js +95 -0
- package/dist/domain.operations/review/compileReviewPrompt.js.map +1 -0
- package/dist/domain.operations/review/enumFilesFromDiffs.d.ts +8 -0
- package/dist/domain.operations/review/enumFilesFromDiffs.js +74 -0
- package/dist/domain.operations/review/enumFilesFromDiffs.js.map +1 -0
- package/dist/domain.operations/review/enumFilesFromGlob.d.ts +8 -0
- package/dist/domain.operations/review/enumFilesFromGlob.js +31 -0
- package/dist/domain.operations/review/enumFilesFromGlob.js.map +1 -0
- package/dist/domain.operations/review/estimateTokenCount.d.ts +9 -0
- package/dist/domain.operations/review/estimateTokenCount.js +20 -0
- package/dist/domain.operations/review/estimateTokenCount.js.map +1 -0
- package/dist/domain.operations/review/formatReviewOutput.d.ts +14 -0
- package/dist/domain.operations/review/formatReviewOutput.js +42 -0
- package/dist/domain.operations/review/formatReviewOutput.js.map +1 -0
- package/dist/domain.operations/review/genTokenBreakdownMarkdown.d.ts +19 -0
- package/dist/domain.operations/review/genTokenBreakdownMarkdown.js +110 -0
- package/dist/domain.operations/review/genTokenBreakdownMarkdown.js.map +1 -0
- package/dist/domain.operations/review/genTokenBreakdownReport.d.ts +24 -0
- package/dist/domain.operations/review/genTokenBreakdownReport.js +64 -0
- package/dist/domain.operations/review/genTokenBreakdownReport.js.map +1 -0
- package/dist/domain.operations/review/invokeClaudeCode.d.ts +22 -0
- package/dist/domain.operations/review/invokeClaudeCode.js +92 -0
- package/dist/domain.operations/review/invokeClaudeCode.js.map +1 -0
- package/dist/domain.operations/review/writeInputArtifacts.d.ts +27 -0
- package/dist/domain.operations/review/writeInputArtifacts.js +50 -0
- package/dist/domain.operations/review/writeInputArtifacts.js.map +1 -0
- package/dist/domain.operations/review/writeOutputArtifacts.d.ts +12 -0
- package/dist/domain.operations/review/writeOutputArtifacts.js +46 -0
- package/dist/domain.operations/review/writeOutputArtifacts.js.map +1 -0
- package/dist/index.js.map +1 -1
- package/dist/roles/architect/getArchitectRole.d.ts +6 -0
- package/dist/roles/architect/getArchitectRole.js +31 -0
- package/dist/roles/architect/getArchitectRole.js.map +1 -0
- package/dist/roles/brain/getBrainRole.d.ts +6 -0
- package/dist/roles/brain/getBrainRole.js +28 -0
- package/dist/roles/brain/getBrainRole.js.map +1 -0
- package/dist/roles/brain/skills/act/skillAct.d.ts +5 -0
- package/dist/roles/brain/skills/act/skillAct.js +147 -0
- package/dist/roles/brain/skills/act/skillAct.js.map +1 -0
- package/dist/roles/brain/skills/act/skillAct.ts +186 -0
- package/dist/roles/brain/skills/act/stepAct.d.ts +27 -0
- package/dist/roles/brain/skills/act/stepAct.js +95 -0
- package/dist/roles/brain/skills/act/stepAct.js.map +1 -0
- package/dist/roles/brain/skills/act/stepAct.ts +123 -0
- package/dist/roles/getRoleRegistry.js +5 -3
- package/dist/roles/getRoleRegistry.js.map +1 -1
- package/dist/roles/getRoleRegistry.readme.js +6 -0
- package/dist/roles/getRoleRegistry.readme.js.map +1 -1
- package/dist/roles/reviewer/briefs/on.rules/rules101.[article].md +41 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.citations.[article].md +88 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.collocated.[article].md +97 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[article].md +228 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].forbid.failhide.md +87 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].forbid.gerunds.md +85 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].require.failfast.md +73 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.structure.[article].md +70 -0
- package/dist/roles/reviewer/briefs/review.tactics.md +60 -0
- package/dist/roles/reviewer/getReviewerRole.d.ts +6 -0
- package/dist/roles/reviewer/getReviewerRole.js +80 -0
- package/dist/roles/reviewer/getReviewerRole.js.map +1 -0
- package/dist/roles/reviewer/skills/reflect/reflect.d.ts +30 -0
- package/dist/roles/reviewer/skills/reflect/reflect.js +305 -0
- package/dist/roles/reviewer/skills/reflect/reflect.js.map +1 -0
- package/dist/roles/reviewer/skills/reflect/reflect.sh +38 -0
- package/dist/roles/reviewer/skills/reflect/reflect.ts +356 -0
- package/dist/roles/reviewer/skills/review/review.d.ts +57 -0
- package/dist/roles/reviewer/skills/review/review.js +445 -0
- package/dist/roles/reviewer/skills/review/review.js.map +1 -0
- package/dist/roles/reviewer/skills/review/review.sh +21 -0
- package/dist/roles/reviewer/skills/review/review.ts +575 -0
- package/dist/roles/thinker/getThinkerBrief.d.ts +1 -1
- package/dist/roles/thinker/getThinkerRole.js +9 -9
- package/dist/roles/thinker/getThinkerRole.js.map +1 -1
- package/dist/roles/thinker/skills/brief.articulate/.demo/article.vision.v2025_08_19..i1.via_chatgpt.md +47 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/article.vision.v2025_08_19.i2.via_rhachet.md +60 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i1.md +62 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i1.with_feedback.md +89 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i2.md +47 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i1.md +44 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i2.md +63 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i3.md +51 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/user-journey.v2025_08_17.i1.md +62 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/user-journey.v2025_08_17.i2.md +49 -0
- package/dist/roles/thinker/skills/brief.articulate/.readme.md +0 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js +1 -1
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js.map +1 -1
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.ts +168 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.ts +157 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_08_28.i1.md +93 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_08_28.i2.md +84 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_09_28.i1.no_focus_context.md +8 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_09_28.i2.md +54 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/persona.usecases.v2025_08_28.i1.md +62 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/persona.usecases.v2025_08_28.i2.md +64 -0
- package/dist/roles/thinker/skills/brief.catalogize/.readme.md +5 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js +1 -1
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js.map +1 -1
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.ts +173 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.ts +132 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i4.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i5.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i6.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i1.md +52 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i2.md +51 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i3.md +47 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i4.md +62 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i5.md +47 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i6.md +53 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.readme +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js +1 -1
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js.map +1 -1
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.ts +190 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.ts +164 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i1.md +72 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i2.md +53 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i3.which_objectives.md +58 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i5.which_personas.md +64 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i1.md +67 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i2.md +49 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i3.md +59 -0
- package/dist/roles/thinker/skills/khue.cluster/.readme.md +0 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.ts +174 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.ts +150 -0
- package/dist/roles/thinker/skills/khue.decompose/.readme.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/joke.examples.v2025_08_17.i2.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/joke.examples.v2025_08_17.i3.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/joke.varieties.v2025_08_17.i1.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i1.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i2.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i3.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i4.folksy.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i5.folksy.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.readme.md +0 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.ts +149 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.ts +151 -0
- package/dist/roles/thinker/skills/khue.encompose/.readme.md +7 -0
- package/dist/roles/thinker/skills/khue.instantiate/.readme.md +14 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.ts +190 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.ts +132 -0
- package/dist/roles/thinker/skills/khue.triage/.demo/laughs.v2025_08_18.i1.md +29 -0
- package/dist/roles/thinker/skills/khue.triage/.demo/user.journeys.v2025_08_17.i1.md +86 -0
- package/dist/roles/thinker/skills/khue.triage/.demo/user.journeys.v2025_08_17.i2.md +68 -0
- package/dist/roles/thinker/skills/khue.triage/.readme.md +0 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.ts +174 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.ts +153 -0
- package/package.json +11 -8
- package/readme.md +55 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.invokeClaudeCodeForReflect = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const helpful_errors_1 = require("helpful-errors");
|
|
6
|
+
const extractJsonFromResultText_1 = require("./extractJsonFromResultText");
|
|
7
|
+
/**
|
|
8
|
+
* .what = invokes claude-code cli for reflect step
|
|
9
|
+
* .why = executes brain invocation via claude-code print mode
|
|
10
|
+
*/
|
|
11
|
+
const invokeClaudeCodeForReflect = async (input) => {
|
|
12
|
+
// determine model and settings based on rapid flag
|
|
13
|
+
// note: both models need enough turns to write multiple rules
|
|
14
|
+
const model = input.rapid ? 'haiku' : 'sonnet';
|
|
15
|
+
const maxTurns = input.rapid ? '50' : '30';
|
|
16
|
+
// invoke claude-code cli via stdin to avoid E2BIG on large prompts
|
|
17
|
+
const output = await new Promise((resolve, reject) => {
|
|
18
|
+
const child = (0, child_process_1.spawn)('claude', [
|
|
19
|
+
'-p',
|
|
20
|
+
'-',
|
|
21
|
+
'--output-format',
|
|
22
|
+
'json',
|
|
23
|
+
'--allowedTools',
|
|
24
|
+
'Write',
|
|
25
|
+
'--model',
|
|
26
|
+
model,
|
|
27
|
+
'--max-turns',
|
|
28
|
+
maxTurns,
|
|
29
|
+
], {
|
|
30
|
+
cwd: input.cwd,
|
|
31
|
+
});
|
|
32
|
+
let stdout = '';
|
|
33
|
+
let stderr = '';
|
|
34
|
+
child.stdout.on('data', (data) => {
|
|
35
|
+
stdout += data.toString();
|
|
36
|
+
});
|
|
37
|
+
child.stderr.on('data', (data) => {
|
|
38
|
+
stderr += data.toString();
|
|
39
|
+
});
|
|
40
|
+
child.on('error', reject);
|
|
41
|
+
child.on('close', (code) => {
|
|
42
|
+
if (code !== 0) {
|
|
43
|
+
// check for prompt too long error
|
|
44
|
+
if (stdout.includes('Prompt is too long')) {
|
|
45
|
+
reject(new helpful_errors_1.BadRequestError('prompt is too long for claude context window; reduce scope', {
|
|
46
|
+
status: code,
|
|
47
|
+
hint: 'try narrowing your feedback scope',
|
|
48
|
+
}));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
reject(new helpful_errors_1.UnexpectedCodePathError('claude-code exited with non-zero', {
|
|
52
|
+
status: code,
|
|
53
|
+
stdout: stdout.slice(0, 2000),
|
|
54
|
+
stderr: stderr.slice(0, 2000),
|
|
55
|
+
}));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
resolve(stdout);
|
|
59
|
+
});
|
|
60
|
+
// write prompt to stdin and close
|
|
61
|
+
child.stdin.write(input.prompt);
|
|
62
|
+
child.stdin.end();
|
|
63
|
+
});
|
|
64
|
+
// parse the json response from claude-code
|
|
65
|
+
const claudeResponse = (() => {
|
|
66
|
+
try {
|
|
67
|
+
return JSON.parse(output);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
throw new helpful_errors_1.UnexpectedCodePathError('failed to parse claude-code response', { output: output.slice(0, 2000) });
|
|
71
|
+
}
|
|
72
|
+
})();
|
|
73
|
+
// extract the result text from claude-code response
|
|
74
|
+
const resultText = (() => {
|
|
75
|
+
// claude-code json output has a 'result' field with the text content
|
|
76
|
+
if (claudeResponse.result && typeof claudeResponse.result === 'string') {
|
|
77
|
+
return claudeResponse.result;
|
|
78
|
+
}
|
|
79
|
+
// fallback: look for text in message content
|
|
80
|
+
if (claudeResponse.content && Array.isArray(claudeResponse.content)) {
|
|
81
|
+
const textContent = claudeResponse.content.find((c) => c.type === 'text');
|
|
82
|
+
if (textContent?.text) {
|
|
83
|
+
return textContent.text;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
throw new helpful_errors_1.UnexpectedCodePathError('failed to extract result from response', {
|
|
87
|
+
claudeResponse,
|
|
88
|
+
});
|
|
89
|
+
})();
|
|
90
|
+
// extract JSON from result text (may be wrapped in markdown code block or inline backticks)
|
|
91
|
+
const jsonContent = (0, extractJsonFromResultText_1.extractJsonFromResultText)({ resultText });
|
|
92
|
+
// parse the extracted JSON
|
|
93
|
+
const response = (() => {
|
|
94
|
+
try {
|
|
95
|
+
return JSON.parse(jsonContent);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
throw new helpful_errors_1.UnexpectedCodePathError('failed to parse JSON from result', {
|
|
99
|
+
resultText: resultText.slice(0, 2000),
|
|
100
|
+
jsonContent: jsonContent.slice(0, 2000),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
})();
|
|
104
|
+
// extract usage from response
|
|
105
|
+
const usage = (() => {
|
|
106
|
+
if (!claudeResponse.usage)
|
|
107
|
+
throw new helpful_errors_1.UnexpectedCodePathError('response.usage not found', {
|
|
108
|
+
claudeResponse,
|
|
109
|
+
});
|
|
110
|
+
return {
|
|
111
|
+
input: claudeResponse.usage.input_tokens ?? 0,
|
|
112
|
+
cacheWrite: claudeResponse.usage.cache_creation_input_tokens ?? 0,
|
|
113
|
+
cacheRead: claudeResponse.usage.cache_read_input_tokens ?? 0,
|
|
114
|
+
output: claudeResponse.usage.output_tokens ?? 0,
|
|
115
|
+
};
|
|
116
|
+
})();
|
|
117
|
+
return { response, usage };
|
|
118
|
+
};
|
|
119
|
+
exports.invokeClaudeCodeForReflect = invokeClaudeCodeForReflect;
|
|
120
|
+
//# sourceMappingURL=invokeClaudeCodeForReflect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invokeClaudeCodeForReflect.js","sourceRoot":"","sources":["../../../src/domain.operations/reflect/invokeClaudeCodeForReflect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = estimates tokens and cost before reflect execution
|
|
3
|
+
* .why = enables context window check and cost preview
|
|
4
|
+
*/
|
|
5
|
+
export declare const computeMetricsExpected: (input: {
|
|
6
|
+
step1PromptTokens: number;
|
|
7
|
+
step2PromptTokens: number;
|
|
8
|
+
}) => {
|
|
9
|
+
tokens: number;
|
|
10
|
+
contextWindowPercent: number;
|
|
11
|
+
cost: number;
|
|
12
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeMetricsExpected = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* .what = estimates tokens and cost before reflect execution
|
|
6
|
+
* .why = enables context window check and cost preview
|
|
7
|
+
*/
|
|
8
|
+
const computeMetricsExpected = (input) => {
|
|
9
|
+
// claude sonnet context window is 200k tokens
|
|
10
|
+
const contextWindow = 200000;
|
|
11
|
+
// estimate output tokens as ~30% of input
|
|
12
|
+
const estimatedOutputTokens = (input.step1PromptTokens + input.step2PromptTokens) * 0.3;
|
|
13
|
+
// total tokens includes input + estimated output
|
|
14
|
+
const tokens = input.step1PromptTokens + input.step2PromptTokens + estimatedOutputTokens;
|
|
15
|
+
// context window usage as percentage
|
|
16
|
+
const contextWindowPercent = (tokens / contextWindow) * 100;
|
|
17
|
+
// claude sonnet pricing: $3/1M input, $15/1M output
|
|
18
|
+
const inputCost = ((input.step1PromptTokens + input.step2PromptTokens) / 1000000) * 3;
|
|
19
|
+
const outputCost = (estimatedOutputTokens / 1000000) * 15;
|
|
20
|
+
const cost = inputCost + outputCost;
|
|
21
|
+
return {
|
|
22
|
+
tokens: Math.round(tokens),
|
|
23
|
+
contextWindowPercent: Math.round(contextWindowPercent * 100) / 100,
|
|
24
|
+
cost: Math.round(cost * 1000) / 1000,
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
exports.computeMetricsExpected = computeMetricsExpected;
|
|
28
|
+
//# sourceMappingURL=computeMetricsExpected.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeMetricsExpected.js","sourceRoot":"","sources":["../../../../src/domain.operations/reflect/metrics/computeMetricsExpected.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,KAGtC,EAIC,EAAE;IACF,8CAA8C;IAC9C,MAAM,aAAa,GAAG,MAAO,CAAC;IAE9B,0CAA0C;IAC1C,MAAM,qBAAqB,GACzB,CAAC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;IAE5D,iDAAiD;IACjD,MAAM,MAAM,GACV,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,GAAG,qBAAqB,CAAC;IAE5E,qCAAqC;IACrC,MAAM,oBAAoB,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;IAE5D,oDAAoD;IACpD,MAAM,SAAS,GACb,CAAC,CAAC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,OAAS,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,CAAC,qBAAqB,GAAG,OAAS,CAAC,GAAG,EAAE,CAAC;IAC5D,MAAM,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC;IAEpC,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1B,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,GAAG,CAAC,GAAG,GAAG;QAClE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI;KACrC,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,sBAAsB,0BAiCjC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ReviewerReflectCostMetrics, ReviewerReflectTokenMetrics } from '../../../domain.objects/Reviewer/ReviewerReflectMetrics';
|
|
2
|
+
/**
|
|
3
|
+
* .what = computes actual metrics from brain responses
|
|
4
|
+
* .why = enables accurate cost track after execution
|
|
5
|
+
*/
|
|
6
|
+
export declare const computeMetricsRealized: (input: {
|
|
7
|
+
step1: {
|
|
8
|
+
tokens: ReviewerReflectTokenMetrics;
|
|
9
|
+
};
|
|
10
|
+
step2: {
|
|
11
|
+
tokens: ReviewerReflectTokenMetrics;
|
|
12
|
+
};
|
|
13
|
+
}) => {
|
|
14
|
+
step1: {
|
|
15
|
+
tokens: ReviewerReflectTokenMetrics;
|
|
16
|
+
cost: ReviewerReflectCostMetrics;
|
|
17
|
+
};
|
|
18
|
+
step2: {
|
|
19
|
+
tokens: ReviewerReflectTokenMetrics;
|
|
20
|
+
cost: ReviewerReflectCostMetrics;
|
|
21
|
+
};
|
|
22
|
+
total: {
|
|
23
|
+
tokens: ReviewerReflectTokenMetrics;
|
|
24
|
+
cost: ReviewerReflectCostMetrics;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeMetricsRealized = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* .what = computes actual metrics from brain responses
|
|
6
|
+
* .why = enables accurate cost track after execution
|
|
7
|
+
*/
|
|
8
|
+
const computeMetricsRealized = (input) => {
|
|
9
|
+
// compute costs for step 1
|
|
10
|
+
const step1Cost = computeStepCost(input.step1.tokens);
|
|
11
|
+
// compute costs for step 2
|
|
12
|
+
const step2Cost = computeStepCost(input.step2.tokens);
|
|
13
|
+
// compute total tokens
|
|
14
|
+
const totalTokens = {
|
|
15
|
+
input: input.step1.tokens.input + input.step2.tokens.input,
|
|
16
|
+
cacheWrite: input.step1.tokens.cacheWrite + input.step2.tokens.cacheWrite,
|
|
17
|
+
cacheRead: input.step1.tokens.cacheRead + input.step2.tokens.cacheRead,
|
|
18
|
+
output: input.step1.tokens.output + input.step2.tokens.output,
|
|
19
|
+
};
|
|
20
|
+
// compute total cost
|
|
21
|
+
const totalCost = {
|
|
22
|
+
input: step1Cost.input + step2Cost.input,
|
|
23
|
+
cacheWrite: step1Cost.cacheWrite + step2Cost.cacheWrite,
|
|
24
|
+
cacheRead: step1Cost.cacheRead + step2Cost.cacheRead,
|
|
25
|
+
output: step1Cost.output + step2Cost.output,
|
|
26
|
+
total: step1Cost.total + step2Cost.total,
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
step1: {
|
|
30
|
+
tokens: input.step1.tokens,
|
|
31
|
+
cost: step1Cost,
|
|
32
|
+
},
|
|
33
|
+
step2: {
|
|
34
|
+
tokens: input.step2.tokens,
|
|
35
|
+
cost: step2Cost,
|
|
36
|
+
},
|
|
37
|
+
total: {
|
|
38
|
+
tokens: totalTokens,
|
|
39
|
+
cost: totalCost,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.computeMetricsRealized = computeMetricsRealized;
|
|
44
|
+
/**
|
|
45
|
+
* .what = computes cost for a single step
|
|
46
|
+
* .why = applies claude sonnet pricing to token counts
|
|
47
|
+
*/
|
|
48
|
+
const computeStepCost = (tokens) => {
|
|
49
|
+
// claude sonnet pricing per 1M tokens:
|
|
50
|
+
// - input: $3
|
|
51
|
+
// - cache write: $3.75
|
|
52
|
+
// - cache read: $0.30
|
|
53
|
+
// - output: $15
|
|
54
|
+
const inputCost = (tokens.input / 1000000) * 3;
|
|
55
|
+
const cacheWriteCost = (tokens.cacheWrite / 1000000) * 3.75;
|
|
56
|
+
const cacheReadCost = (tokens.cacheRead / 1000000) * 0.3;
|
|
57
|
+
const outputCost = (tokens.output / 1000000) * 15;
|
|
58
|
+
return {
|
|
59
|
+
input: Math.round(inputCost * 10000) / 10000,
|
|
60
|
+
cacheWrite: Math.round(cacheWriteCost * 10000) / 10000,
|
|
61
|
+
cacheRead: Math.round(cacheReadCost * 10000) / 10000,
|
|
62
|
+
output: Math.round(outputCost * 10000) / 10000,
|
|
63
|
+
total: Math.round((inputCost + cacheWriteCost + cacheReadCost + outputCost) * 10000) / 10000,
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=computeMetricsRealized.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeMetricsRealized.js","sourceRoot":"","sources":["../../../../src/domain.operations/reflect/metrics/computeMetricsRealized.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACI,MAAM,sBAAsB,GAAG,CAAC,KAOtC,EAaC,EAAE;IACF,2BAA2B;IAC3B,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtD,2BAA2B;IAC3B,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtD,uBAAuB;IACvB,MAAM,WAAW,GAAgC;QAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;QAC1D,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU;QACzE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS;QACtE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;KAC9D,CAAC;IAEF,qBAAqB;IACrB,MAAM,SAAS,GAA+B;QAC5C,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK;QACxC,UAAU,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU;QACvD,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS;QACpD,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;QAC3C,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK;KACzC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;YAC1B,IAAI,EAAE,SAAS;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;YAC1B,IAAI,EAAE,SAAS;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,SAAS;SAChB;KACF,CAAC;AACJ,CAAC,CAAC;AA1DW,QAAA,sBAAsB,0BA0DjC;AAEF;;;GAGG;AACH,MAAM,eAAe,GAAG,CACtB,MAAmC,EACP,EAAE;IAC9B,uCAAuC;IACvC,cAAc;IACd,uBAAuB;IACvB,sBAAsB;IACtB,gBAAgB;IAChB,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,OAAS,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,OAAS,CAAC,GAAG,IAAI,CAAC;IAC9D,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,OAAS,CAAC,GAAG,GAAG,CAAC;IAC3D,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,OAAS,CAAC,GAAG,EAAE,CAAC;IAEpD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK;QAC5C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,KAAK;QACtD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,KAAK;QACpD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK;QAC9C,KAAK,EACH,IAAI,CAAC,KAAK,CACR,CAAC,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,CAClE,GAAG,KAAK;KACZ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ReviewerReflectMetrics } from '../../../domain.objects/Reviewer/ReviewerReflectMetrics';
|
|
2
|
+
/**
|
|
3
|
+
* .what = writes execution log artifact to draft directory
|
|
4
|
+
* .why = enables review of execution metrics and results
|
|
5
|
+
*/
|
|
6
|
+
export declare const writeLogArtifact: (input: {
|
|
7
|
+
draftDir: string;
|
|
8
|
+
metrics: ReviewerReflectMetrics;
|
|
9
|
+
results: {
|
|
10
|
+
created: number;
|
|
11
|
+
updated: number;
|
|
12
|
+
appended: number;
|
|
13
|
+
omitted: number;
|
|
14
|
+
};
|
|
15
|
+
}) => Promise<{
|
|
16
|
+
logPath: string;
|
|
17
|
+
}>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.writeLogArtifact = void 0;
|
|
27
|
+
const fs = __importStar(require("fs/promises"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
/**
|
|
30
|
+
* .what = writes execution log artifact to draft directory
|
|
31
|
+
* .why = enables review of execution metrics and results
|
|
32
|
+
*/
|
|
33
|
+
const writeLogArtifact = async (input) => {
|
|
34
|
+
// build log content
|
|
35
|
+
const logContent = buildLogContent({
|
|
36
|
+
metrics: input.metrics,
|
|
37
|
+
results: input.results,
|
|
38
|
+
});
|
|
39
|
+
// write to draft directory
|
|
40
|
+
const logPath = path.join(input.draftDir, 'reflect.log.md');
|
|
41
|
+
await fs.writeFile(logPath, logContent, 'utf-8');
|
|
42
|
+
return { logPath };
|
|
43
|
+
};
|
|
44
|
+
exports.writeLogArtifact = writeLogArtifact;
|
|
45
|
+
/**
|
|
46
|
+
* .what = builds markdown content for execution log
|
|
47
|
+
* .why = formats metrics and results for review
|
|
48
|
+
*/
|
|
49
|
+
const buildLogContent = (input) => {
|
|
50
|
+
const sections = [];
|
|
51
|
+
// header
|
|
52
|
+
sections.push(`# reviewer.reflect execution log`);
|
|
53
|
+
sections.push(`timestamp: ${new Date().toISOString()}`);
|
|
54
|
+
sections.push('');
|
|
55
|
+
// file counts
|
|
56
|
+
sections.push(`## files`);
|
|
57
|
+
sections.push(`- feedback files: ${input.metrics.files.feedbackCount}`);
|
|
58
|
+
sections.push(`- rules proposed: ${input.metrics.files.rulesCount}`);
|
|
59
|
+
sections.push('');
|
|
60
|
+
// expected metrics
|
|
61
|
+
sections.push(`## expected (pre-execution)`);
|
|
62
|
+
sections.push(`- tokens: ${input.metrics.expected.tokens.toLocaleString()}`);
|
|
63
|
+
sections.push(`- context window: ${input.metrics.expected.contextWindowPercent}%`);
|
|
64
|
+
sections.push(`- estimated cost: $${input.metrics.expected.cost.toFixed(3)}`);
|
|
65
|
+
sections.push('');
|
|
66
|
+
// realized metrics
|
|
67
|
+
sections.push(`## realized (post-execution)`);
|
|
68
|
+
sections.push('');
|
|
69
|
+
sections.push(`### step 1: propose pure rules`);
|
|
70
|
+
sections.push(`- input tokens: ${input.metrics.realized.step1.tokens.input.toLocaleString()}`);
|
|
71
|
+
sections.push(`- output tokens: ${input.metrics.realized.step1.tokens.output.toLocaleString()}`);
|
|
72
|
+
sections.push(`- cost: $${input.metrics.realized.step1.cost.total.toFixed(4)}`);
|
|
73
|
+
sections.push('');
|
|
74
|
+
sections.push(`### step 2: blend with existing`);
|
|
75
|
+
sections.push(`- input tokens: ${input.metrics.realized.step2.tokens.input.toLocaleString()}`);
|
|
76
|
+
sections.push(`- output tokens: ${input.metrics.realized.step2.tokens.output.toLocaleString()}`);
|
|
77
|
+
sections.push(`- cost: $${input.metrics.realized.step2.cost.total.toFixed(4)}`);
|
|
78
|
+
sections.push('');
|
|
79
|
+
sections.push(`### total`);
|
|
80
|
+
sections.push(`- input tokens: ${input.metrics.realized.total.tokens.input.toLocaleString()}`);
|
|
81
|
+
sections.push(`- output tokens: ${input.metrics.realized.total.tokens.output.toLocaleString()}`);
|
|
82
|
+
sections.push(`- total cost: $${input.metrics.realized.total.cost.total.toFixed(4)}`);
|
|
83
|
+
sections.push('');
|
|
84
|
+
// results
|
|
85
|
+
sections.push(`## blend results`);
|
|
86
|
+
sections.push(`- created: ${input.results.created}`);
|
|
87
|
+
sections.push(`- updated: ${input.results.updated}`);
|
|
88
|
+
sections.push(`- appended: ${input.results.appended}`);
|
|
89
|
+
sections.push(`- omitted: ${input.results.omitted}`);
|
|
90
|
+
sections.push('');
|
|
91
|
+
return sections.join('\n');
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=writeLogArtifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeLogArtifact.js","sourceRoot":"","sources":["../../../../src/domain.operations/reflect/metrics/writeLogArtifact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = generates citations.md content from feedback files
|
|
3
|
+
* .why = creates permanent record of all feedback sources for rule proposals
|
|
4
|
+
*/
|
|
5
|
+
export declare const compileCitationsMarkdown: (input: {
|
|
6
|
+
feedbackFiles: string[];
|
|
7
|
+
cwd: string;
|
|
8
|
+
}) => string;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compileCitationsMarkdown = void 0;
|
|
4
|
+
const genGitHubFileUrl_1 = require("../../../domain.operations/git/genGitHubFileUrl");
|
|
5
|
+
/**
|
|
6
|
+
* .what = generates citations.md content from feedback files
|
|
7
|
+
* .why = creates permanent record of all feedback sources for rule proposals
|
|
8
|
+
*/
|
|
9
|
+
const compileCitationsMarkdown = (input) => {
|
|
10
|
+
const lines = [
|
|
11
|
+
'# citations',
|
|
12
|
+
'',
|
|
13
|
+
'feedback files extracted for rule proposal:',
|
|
14
|
+
'',
|
|
15
|
+
];
|
|
16
|
+
for (const file of input.feedbackFiles) {
|
|
17
|
+
const url = (0, genGitHubFileUrl_1.genGitHubFileUrl)({ filePath: file, cwd: input.cwd });
|
|
18
|
+
lines.push(`- [${file}](${url})`);
|
|
19
|
+
}
|
|
20
|
+
lines.push('');
|
|
21
|
+
lines.push('---');
|
|
22
|
+
lines.push('');
|
|
23
|
+
lines.push(`generated: ${new Date().toISOString()}`);
|
|
24
|
+
lines.push(`total: ${input.feedbackFiles.length} files`);
|
|
25
|
+
return lines.join('\n');
|
|
26
|
+
};
|
|
27
|
+
exports.compileCitationsMarkdown = compileCitationsMarkdown;
|
|
28
|
+
//# sourceMappingURL=compileCitationsMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compileCitationsMarkdown.js","sourceRoot":"","sources":["../../../../src/domain.operations/reflect/step1/compileCitationsMarkdown.ts"],"names":[],"mappings":";;;AAAA,kFAA+E;AAE/E;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CAAC,KAGxC,EAAU,EAAE;IACX,MAAM,KAAK,GAAa;QACtB,aAAa;QACb,EAAE;QACF,6CAA6C;QAC7C,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAA,mCAAgB,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,aAAa,CAAC,MAAM,QAAQ,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC;AAvBW,QAAA,wBAAwB,4BAuBnC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = compiles step 1 brain prompt for rule proposal
|
|
3
|
+
* .why = instructs brain to extract rules from feedback citations
|
|
4
|
+
*/
|
|
5
|
+
export declare const compileReflectStep1Prompt: (input: {
|
|
6
|
+
feedbackFiles: string[];
|
|
7
|
+
citationsMarkdown: string;
|
|
8
|
+
draftDir: string;
|
|
9
|
+
cwd: string;
|
|
10
|
+
mode: 'soft' | 'hard';
|
|
11
|
+
}) => Promise<{
|
|
12
|
+
prompt: string;
|
|
13
|
+
tokenEstimate: number;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.compileReflectStep1Prompt = void 0;
|
|
27
|
+
const fs = __importStar(require("fs/promises"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
/**
|
|
30
|
+
* .what = compiles step 1 brain prompt for rule proposal
|
|
31
|
+
* .why = instructs brain to extract rules from feedback citations
|
|
32
|
+
*/
|
|
33
|
+
const compileReflectStep1Prompt = async (input) => {
|
|
34
|
+
const sections = [];
|
|
35
|
+
// objective section
|
|
36
|
+
sections.push(`# objective
|
|
37
|
+
|
|
38
|
+
propose rules from feedback citations.
|
|
39
|
+
|
|
40
|
+
extract generalized insights from the feedback and propose them as rule files.
|
|
41
|
+
do NOT consult any existing rules - propose with fresh perspective.
|
|
42
|
+
|
|
43
|
+
IMPORTANT: you MUST write rule files using the Write tool. do NOT ask clarifying questions.
|
|
44
|
+
if feedback is unclear, skip it - only create rules for clear patterns.
|
|
45
|
+
`);
|
|
46
|
+
// citations section
|
|
47
|
+
sections.push(`# citations
|
|
48
|
+
|
|
49
|
+
${input.citationsMarkdown}
|
|
50
|
+
`);
|
|
51
|
+
// feedback content (hard mode only)
|
|
52
|
+
if (input.mode === 'hard') {
|
|
53
|
+
sections.push('# feedback content\n');
|
|
54
|
+
for (const file of input.feedbackFiles) {
|
|
55
|
+
const content = await fs.readFile(path.join(input.cwd, file), 'utf-8');
|
|
56
|
+
sections.push(`## ${file}\n\n\`\`\`\n${content}\n\`\`\`\n`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// instructions section
|
|
60
|
+
sections.push(`# instructions
|
|
61
|
+
|
|
62
|
+
1. analyze the feedback citations${input.mode === 'hard' ? ' and content' : ''}
|
|
63
|
+
2. identify patterns and generalizable insights
|
|
64
|
+
3. propose rules as \`rule.$directive.$topic.md\` files
|
|
65
|
+
4. each rule must include:
|
|
66
|
+
- # tldr section with ## severity, .what summary, .why rationale
|
|
67
|
+
- ---\\n---\\n--- separator
|
|
68
|
+
- # deets section with ## .citations which contain a github url and relevant excerpt
|
|
69
|
+
5. directives: forbid (blocker), require (blocker), avoid (nitpick), prefer (nitpick)
|
|
70
|
+
6. consolidate multiple feedback citations into single rule where applicable
|
|
71
|
+
7. be thorough - include code examples and detailed explanations where helpful
|
|
72
|
+
|
|
73
|
+
# output
|
|
74
|
+
|
|
75
|
+
use the Write tool to write each rule file to: ${input.draftDir}/pure/
|
|
76
|
+
|
|
77
|
+
after writing all rules, respond with a JSON summary:
|
|
78
|
+
\`\`\`json
|
|
79
|
+
{
|
|
80
|
+
"rules": [
|
|
81
|
+
{ "name": "rule.forbid.example.md" },
|
|
82
|
+
{ "name": "rule.require.other.md" }
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
\`\`\`
|
|
86
|
+
`);
|
|
87
|
+
const prompt = sections.join('\n');
|
|
88
|
+
// estimate tokens (rough: 4 chars per token)
|
|
89
|
+
const tokenEstimate = Math.ceil(prompt.length / 4);
|
|
90
|
+
return { prompt, tokenEstimate };
|
|
91
|
+
};
|
|
92
|
+
exports.compileReflectStep1Prompt = compileReflectStep1Prompt;
|
|
93
|
+
//# sourceMappingURL=compileReflectStep1Prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compileReflectStep1Prompt.js","sourceRoot":"","sources":["../../../../src/domain.operations/reflect/step1/compileReflectStep1Prompt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,2CAA6B;AAE7B;;;GAGG;AACI,MAAM,yBAAyB,GAAG,KAAK,EAAE,KAM/C,EAGE,EAAE;IACH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,oBAAoB;IACpB,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;CASf,CAAC,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,IAAI,CAAC;;EAEd,KAAK,CAAC,iBAAiB;CACxB,CAAC,CAAC;IAED,oCAAoC;IACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,eAAe,OAAO,YAAY,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,IAAI,CAAC;;mCAEmB,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;iDAa7B,KAAK,CAAC,QAAQ;;;;;;;;;;;CAW9D,CAAC,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnC,6CAA6C;IAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACnC,CAAC,CAAC;AA1EW,QAAA,yBAAyB,6BA0EpC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* .what = compiles step 2 brain prompt for rule blend
|
|
3
|
+
* .why = instructs brain to create manifest.json for blend operations
|
|
4
|
+
*
|
|
5
|
+
* .note = when rapid=true (haiku), SET_UPDATE is disabled because haiku cannot
|
|
6
|
+
* reliably provide required fields. this means duplicates may be produced
|
|
7
|
+
* when prior rules exist. use rapid=false (sonnet) for proper deduplication.
|
|
8
|
+
*/
|
|
9
|
+
export declare const compileReflectStep2Prompt: (input: {
|
|
10
|
+
targetDir: string;
|
|
11
|
+
draftDir: string;
|
|
12
|
+
pureDir: string;
|
|
13
|
+
mode: 'soft' | 'hard';
|
|
14
|
+
rapid?: boolean;
|
|
15
|
+
}) => Promise<{
|
|
16
|
+
prompt: string;
|
|
17
|
+
tokenEstimate: number;
|
|
18
|
+
}>;
|