@slopus/beer 0.1.1 → 0.1.2
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/README.md +10 -8
- package/dist/_workflows/_index.d.ts +14 -0
- package/dist/_workflows/_index.d.ts.map +1 -0
- package/dist/_workflows/_index.js +46 -0
- package/dist/_workflows/_index.js.map +1 -0
- package/dist/_workflows/bootstrap.d.ts +6 -0
- package/dist/_workflows/bootstrap.d.ts.map +1 -0
- package/dist/_workflows/bootstrap.js +109 -0
- package/dist/_workflows/bootstrap.js.map +1 -0
- package/dist/_workflows/checkpointWorkflow.d.ts +7 -0
- package/dist/_workflows/checkpointWorkflow.d.ts.map +1 -0
- package/dist/_workflows/checkpointWorkflow.js +11 -0
- package/dist/_workflows/checkpointWorkflow.js.map +1 -0
- package/dist/_workflows/context/context.d.ts +100 -0
- package/dist/_workflows/context/context.d.ts.map +1 -0
- package/dist/_workflows/context/context.js +246 -0
- package/dist/_workflows/context/context.js.map +1 -0
- package/dist/_workflows/context/context.spec.d.ts +2 -0
- package/dist/_workflows/context/context.spec.d.ts.map +1 -0
- package/dist/_workflows/context/context.spec.js +230 -0
- package/dist/_workflows/context/context.spec.js.map +1 -0
- package/dist/_workflows/context/utils/contextApplyConfig.d.ts +7 -0
- package/dist/_workflows/context/utils/contextApplyConfig.d.ts.map +1 -0
- package/dist/_workflows/context/utils/contextApplyConfig.js +22 -0
- package/dist/_workflows/context/utils/contextApplyConfig.js.map +1 -0
- package/dist/_workflows/context/utils/contextApplyConfig.spec.d.ts +2 -0
- package/dist/_workflows/context/utils/contextApplyConfig.spec.d.ts.map +1 -0
- package/dist/_workflows/context/utils/contextApplyConfig.spec.js +24 -0
- package/dist/_workflows/context/utils/contextApplyConfig.spec.js.map +1 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.d.ts +7 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.d.ts.map +1 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.js +23 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.js.map +1 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.spec.d.ts +2 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.spec.d.ts.map +1 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.spec.js +36 -0
- package/dist/_workflows/context/utils/contextAskGithubRepo.spec.js.map +1 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.d.ts +6 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.d.ts.map +1 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.js +60 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.js.map +1 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.d.ts +2 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.d.ts.map +1 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.js +35 -0
- package/dist/_workflows/context/utils/contextGitignoreEnsure.spec.js.map +1 -0
- package/dist/_workflows/context/utils/progressMultilineStart.d.ts +15 -0
- package/dist/_workflows/context/utils/progressMultilineStart.d.ts.map +1 -0
- package/dist/_workflows/context/utils/progressMultilineStart.js +115 -0
- package/dist/_workflows/context/utils/progressMultilineStart.js.map +1 -0
- package/dist/_workflows/context/utils/progressMultilineStart.spec.d.ts +2 -0
- package/dist/_workflows/context/utils/progressMultilineStart.spec.d.ts.map +1 -0
- package/dist/_workflows/context/utils/progressMultilineStart.spec.js +30 -0
- package/dist/_workflows/context/utils/progressMultilineStart.spec.js.map +1 -0
- package/dist/_workflows/context/utils/progressStart.d.ts +11 -0
- package/dist/_workflows/context/utils/progressStart.d.ts.map +1 -0
- package/dist/_workflows/context/utils/progressStart.js +73 -0
- package/dist/_workflows/context/utils/progressStart.js.map +1 -0
- package/dist/_workflows/planWorkflow.d.ts +7 -0
- package/dist/_workflows/planWorkflow.d.ts.map +1 -0
- package/dist/_workflows/planWorkflow.js +63 -0
- package/dist/_workflows/planWorkflow.js.map +1 -0
- package/dist/_workflows/ralphLoopWorkflow.d.ts +7 -0
- package/dist/_workflows/ralphLoopWorkflow.d.ts.map +1 -0
- package/dist/_workflows/ralphLoopWorkflow.js +21 -0
- package/dist/_workflows/ralphLoopWorkflow.js.map +1 -0
- package/dist/_workflows/ralphWorkflow.d.ts +7 -0
- package/dist/_workflows/ralphWorkflow.d.ts.map +1 -0
- package/dist/_workflows/ralphWorkflow.js +19 -0
- package/dist/_workflows/ralphWorkflow.js.map +1 -0
- package/dist/_workflows/researchWorkflow.d.ts +7 -0
- package/dist/_workflows/researchWorkflow.d.ts.map +1 -0
- package/dist/_workflows/researchWorkflow.js +312 -0
- package/dist/_workflows/researchWorkflow.js.map +1 -0
- package/dist/_workflows/steps/generate.d.ts +11 -0
- package/dist/_workflows/steps/generate.d.ts.map +1 -0
- package/dist/_workflows/steps/generate.js +42 -0
- package/dist/_workflows/steps/generate.js.map +1 -0
- package/dist/_workflows/steps/generateCommit.d.ts +16 -0
- package/dist/_workflows/steps/generateCommit.d.ts.map +1 -0
- package/dist/_workflows/steps/generateCommit.js +29 -0
- package/dist/_workflows/steps/generateCommit.js.map +1 -0
- package/dist/_workflows/steps/generateDocument.d.ts +26 -0
- package/dist/_workflows/steps/generateDocument.d.ts.map +1 -0
- package/dist/_workflows/steps/generateDocument.js +62 -0
- package/dist/_workflows/steps/generateDocument.js.map +1 -0
- package/dist/_workflows/steps/generateDocument.spec.d.ts +2 -0
- package/dist/_workflows/steps/generateDocument.spec.d.ts.map +1 -0
- package/dist/_workflows/steps/generateDocument.spec.js +56 -0
- package/dist/_workflows/steps/generateDocument.spec.js.map +1 -0
- package/dist/_workflows/steps/generateFrontmatter.d.ts +17 -0
- package/dist/_workflows/steps/generateFrontmatter.d.ts.map +1 -0
- package/dist/_workflows/steps/generateFrontmatter.js +51 -0
- package/dist/_workflows/steps/generateFrontmatter.js.map +1 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.d.ts +10 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.d.ts.map +1 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.js +75 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.js.map +1 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.spec.d.ts +2 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.spec.d.ts.map +1 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.spec.js +53 -0
- package/dist/_workflows/steps/generateProgressMessageResolve.spec.js.map +1 -0
- package/dist/_workflows/steps/generateReadme.d.ts +21 -0
- package/dist/_workflows/steps/generateReadme.d.ts.map +1 -0
- package/dist/_workflows/steps/generateReadme.js +32 -0
- package/dist/_workflows/steps/generateReadme.js.map +1 -0
- package/dist/_workflows/steps/ralphExecute.d.ts +11 -0
- package/dist/_workflows/steps/ralphExecute.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphExecute.js +39 -0
- package/dist/_workflows/steps/ralphExecute.js.map +1 -0
- package/dist/_workflows/steps/ralphLoopExecute.d.ts +11 -0
- package/dist/_workflows/steps/ralphLoopExecute.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphLoopExecute.js +39 -0
- package/dist/_workflows/steps/ralphLoopExecute.js.map +1 -0
- package/dist/_workflows/steps/ralphLoopPlanGenerate.d.ts +15 -0
- package/dist/_workflows/steps/ralphLoopPlanGenerate.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphLoopPlanGenerate.js +46 -0
- package/dist/_workflows/steps/ralphLoopPlanGenerate.js.map +1 -0
- package/dist/_workflows/steps/ralphLoopPlanPathResolve.d.ts +7 -0
- package/dist/_workflows/steps/ralphLoopPlanPathResolve.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphLoopPlanPathResolve.js +21 -0
- package/dist/_workflows/steps/ralphLoopPlanPathResolve.js.map +1 -0
- package/dist/_workflows/steps/ralphLoopReviewRound.d.ts +11 -0
- package/dist/_workflows/steps/ralphLoopReviewRound.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphLoopReviewRound.js +42 -0
- package/dist/_workflows/steps/ralphLoopReviewRound.js.map +1 -0
- package/dist/_workflows/steps/ralphPlan.d.ts +15 -0
- package/dist/_workflows/steps/ralphPlan.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphPlan.js +100 -0
- package/dist/_workflows/steps/ralphPlan.js.map +1 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.d.ts +7 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.js +21 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.js.map +1 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.spec.d.ts +2 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.spec.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.spec.js +19 -0
- package/dist/_workflows/steps/ralphPlanPathResolve.spec.js.map +1 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.d.ts +10 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.js +35 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.js.map +1 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.spec.d.ts +2 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.spec.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.spec.js +46 -0
- package/dist/_workflows/steps/ralphPlanResponseParse.spec.js.map +1 -0
- package/dist/_workflows/steps/ralphReview.d.ts +12 -0
- package/dist/_workflows/steps/ralphReview.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphReview.js +75 -0
- package/dist/_workflows/steps/ralphReview.js.map +1 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.d.ts +6 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.js +8 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.js.map +1 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.d.ts +2 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.d.ts.map +1 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.js +14 -0
- package/dist/_workflows/steps/ralphReviewNoIssuesDetect.spec.js.map +1 -0
- package/dist/main.js +40 -9
- package/dist/main.js.map +1 -1
- package/dist/modules/ai/aiOutputExtract.js.map +1 -1
- package/dist/modules/ai/aiOutputExtract.spec.js.map +1 -1
- package/dist/modules/ai/generate.d.ts +14 -2
- package/dist/modules/ai/generate.d.ts.map +1 -1
- package/dist/modules/ai/generate.js +113 -25
- package/dist/modules/ai/generate.js.map +1 -1
- package/dist/modules/ai/generate.spec.js +1 -8
- package/dist/modules/ai/generate.spec.js.map +1 -1
- package/dist/modules/ai/generate.unit.spec.d.ts +2 -0
- package/dist/modules/ai/generate.unit.spec.d.ts.map +1 -0
- package/dist/modules/ai/generate.unit.spec.js +185 -0
- package/dist/modules/ai/generate.unit.spec.js.map +1 -0
- package/dist/modules/ai/generateEventTypes.d.ts +26 -0
- package/dist/modules/ai/generateEventTypes.d.ts.map +1 -0
- package/dist/modules/ai/generateEventTypes.js +2 -0
- package/dist/modules/ai/generateEventTypes.js.map +1 -0
- package/dist/modules/ai/generateFile.d.ts +6 -2
- package/dist/modules/ai/generateFile.d.ts.map +1 -1
- package/dist/modules/ai/generateFile.js +25 -12
- package/dist/modules/ai/generateFile.js.map +1 -1
- package/dist/modules/ai/generateFile.spec.js +108 -7
- package/dist/modules/ai/generateFile.spec.js.map +1 -1
- package/dist/modules/ai/generatePureSessionCreate.d.ts +19 -0
- package/dist/modules/ai/generatePureSessionCreate.d.ts.map +1 -0
- package/dist/modules/ai/generatePureSessionCreate.js +31 -0
- package/dist/modules/ai/generatePureSessionCreate.js.map +1 -0
- package/dist/modules/ai/generatePureSessionCreate.spec.d.ts +2 -0
- package/dist/modules/ai/generatePureSessionCreate.spec.d.ts.map +1 -0
- package/dist/modules/ai/generatePureSessionCreate.spec.js +38 -0
- package/dist/modules/ai/generatePureSessionCreate.spec.js.map +1 -0
- package/dist/modules/ai/generatePureText.d.ts +16 -0
- package/dist/modules/ai/generatePureText.d.ts.map +1 -0
- package/dist/modules/ai/generatePureText.js +151 -0
- package/dist/modules/ai/generatePureText.js.map +1 -0
- package/dist/modules/ai/generatePureText.spec.d.ts +2 -0
- package/dist/modules/ai/generatePureText.spec.d.ts.map +1 -0
- package/dist/modules/ai/generatePureText.spec.js +67 -0
- package/dist/modules/ai/generatePureText.spec.js.map +1 -0
- package/dist/modules/ai/generateSessionCreate.d.ts +18 -0
- package/dist/modules/ai/generateSessionCreate.d.ts.map +1 -0
- package/dist/modules/ai/generateSessionCreate.js +31 -0
- package/dist/modules/ai/generateSessionCreate.js.map +1 -0
- package/dist/modules/ai/generateSessionCreate.spec.d.ts +2 -0
- package/dist/modules/ai/generateSessionCreate.spec.d.ts.map +1 -0
- package/dist/modules/ai/generateSessionCreate.spec.js +38 -0
- package/dist/modules/ai/generateSessionCreate.spec.js.map +1 -0
- package/dist/modules/ai/generateText.d.ts +4 -2
- package/dist/modules/ai/generateText.d.ts.map +1 -1
- package/dist/modules/ai/generateText.js +4 -2
- package/dist/modules/ai/generateText.js.map +1 -1
- package/dist/modules/ai/generateText.spec.js +13 -2
- package/dist/modules/ai/generateText.spec.js.map +1 -1
- package/dist/modules/ai/generateVerify.spec.d.ts +2 -0
- package/dist/modules/ai/generateVerify.spec.d.ts.map +1 -0
- package/dist/modules/ai/generateVerify.spec.js +84 -0
- package/dist/modules/ai/generateVerify.spec.js.map +1 -0
- package/dist/modules/ai/providerEventTypes.d.ts +34 -0
- package/dist/modules/ai/providerEventTypes.d.ts.map +1 -0
- package/dist/modules/ai/providerEventTypes.js +2 -0
- package/dist/modules/ai/providerEventTypes.js.map +1 -0
- package/dist/modules/ai/providerGenerate.d.ts +11 -2
- package/dist/modules/ai/providerGenerate.d.ts.map +1 -1
- package/dist/modules/ai/providerGenerate.js +355 -92
- package/dist/modules/ai/providerGenerate.js.map +1 -1
- package/dist/modules/ai/providerGenerate.spec.js +93 -1
- package/dist/modules/ai/providerGenerate.spec.js.map +1 -1
- package/dist/modules/ai/providerGenerate.unit.spec.js +346 -12
- package/dist/modules/ai/providerGenerate.unit.spec.js.map +1 -1
- package/dist/modules/ai/providers/commandJSONL.d.ts +24 -0
- package/dist/modules/ai/providers/commandJSONL.d.ts.map +1 -0
- package/dist/modules/ai/providers/commandJSONL.js +158 -0
- package/dist/modules/ai/providers/commandJSONL.js.map +1 -0
- package/dist/modules/ai/providers/commandJSONL.spec.d.ts +2 -0
- package/dist/modules/ai/providers/commandJSONL.spec.d.ts.map +1 -0
- package/dist/modules/ai/providers/commandJSONL.spec.js +77 -0
- package/dist/modules/ai/providers/commandJSONL.spec.js.map +1 -0
- package/dist/modules/ai/providers/piProviderGenerate.d.ts +25 -0
- package/dist/modules/ai/providers/piProviderGenerate.d.ts.map +1 -0
- package/dist/modules/ai/providers/piProviderGenerate.js +72 -0
- package/dist/modules/ai/providers/piProviderGenerate.js.map +1 -0
- package/dist/modules/ai/providers/piProviderGenerate.spec.d.ts +2 -0
- package/dist/modules/ai/providers/piProviderGenerate.spec.d.ts.map +1 -0
- package/dist/modules/ai/providers/piProviderGenerate.spec.js +136 -0
- package/dist/modules/ai/providers/piProviderGenerate.spec.js.map +1 -0
- package/dist/modules/ai/providers/piProviderTypes.d.ts +77 -0
- package/dist/modules/ai/providers/piProviderTypes.d.ts.map +1 -0
- package/dist/modules/ai/providers/piProviderTypes.js +2 -0
- package/dist/modules/ai/providers/piProviderTypes.js.map +1 -0
- package/dist/modules/beer/beerOriginalPathResolve.d.ts +1 -1
- package/dist/modules/beer/beerOriginalPathResolve.js +2 -2
- package/dist/modules/beer/beerOriginalPathResolve.js.map +1 -1
- package/dist/modules/beer/beerOriginalPathResolve.spec.js +3 -3
- package/dist/modules/beer/beerOriginalPathResolve.spec.js.map +1 -1
- package/dist/modules/beer/beerSettingsRead.d.ts.map +1 -1
- package/dist/modules/beer/beerSettingsRead.js +3 -2
- package/dist/modules/beer/beerSettingsRead.js.map +1 -1
- package/dist/modules/beer/beerSettingsRead.spec.d.ts +2 -0
- package/dist/modules/beer/beerSettingsRead.spec.d.ts.map +1 -0
- package/dist/modules/beer/beerSettingsRead.spec.js +26 -0
- package/dist/modules/beer/beerSettingsRead.spec.js.map +1 -0
- package/dist/modules/beer/beerSettingsTypes.d.ts +3 -3
- package/dist/modules/beer/beerSettingsTypes.d.ts.map +1 -1
- package/dist/modules/beer/beerSettingsWrite.d.ts.map +1 -1
- package/dist/modules/beer/beerSettingsWrite.js.map +1 -1
- package/dist/modules/git/gitPush.js.map +1 -1
- package/dist/modules/git/gitRemoteEnsure.js.map +1 -1
- package/dist/modules/git/gitRepoCheckout.js.map +1 -1
- package/dist/modules/git/gitRepoCheckout.spec.js +1 -1
- package/dist/modules/git/gitRepoCheckout.spec.js.map +1 -1
- package/dist/modules/git/gitRepoEnsure.d.ts +6 -0
- package/dist/modules/git/gitRepoEnsure.d.ts.map +1 -0
- package/dist/modules/git/gitRepoEnsure.js +16 -0
- package/dist/modules/git/gitRepoEnsure.js.map +1 -0
- package/dist/modules/git/gitRepoEnsure.spec.d.ts +2 -0
- package/dist/modules/git/gitRepoEnsure.spec.d.ts.map +1 -0
- package/dist/modules/git/gitRepoEnsure.spec.js +45 -0
- package/dist/modules/git/gitRepoEnsure.spec.js.map +1 -0
- package/dist/modules/git/gitStageAndCommit.js.map +1 -1
- package/dist/modules/git/gitignoreEnsure.d.ts +6 -0
- package/dist/modules/git/gitignoreEnsure.d.ts.map +1 -0
- package/dist/modules/git/gitignoreEnsure.js +36 -0
- package/dist/modules/git/gitignoreEnsure.js.map +1 -0
- package/dist/modules/git/gitignoreEnsure.spec.d.ts +2 -0
- package/dist/modules/git/gitignoreEnsure.spec.d.ts.map +1 -0
- package/dist/modules/git/gitignoreEnsure.spec.js +35 -0
- package/dist/modules/git/gitignoreEnsure.spec.js.map +1 -0
- package/dist/modules/github/githubCliEnsure.js +2 -2
- package/dist/modules/github/githubCliEnsure.js.map +1 -1
- package/dist/modules/github/githubOwnerChoicesGet.js.map +1 -1
- package/dist/modules/github/githubRepoCreate.d.ts.map +1 -1
- package/dist/modules/github/githubRepoCreate.js.map +1 -1
- package/dist/modules/github/githubRepoExists.d.ts.map +1 -1
- package/dist/modules/github/githubRepoExists.js +3 -1
- package/dist/modules/github/githubRepoExists.js.map +1 -1
- package/dist/modules/github/githubRepoNameResolve.d.ts.map +1 -1
- package/dist/modules/github/githubRepoNameResolve.js +2 -2
- package/dist/modules/github/githubRepoNameResolve.js.map +1 -1
- package/dist/modules/github/githubRepoNameResolve.spec.js.map +1 -1
- package/dist/modules/github/githubRepoParse.d.ts.map +1 -1
- package/dist/modules/github/githubRepoParse.js +1 -3
- package/dist/modules/github/githubRepoParse.js.map +1 -1
- package/dist/modules/github/githubRepoParse.spec.js.map +1 -1
- package/dist/modules/github/githubRepoStatusGet.d.ts.map +1 -1
- package/dist/modules/github/githubRepoStatusGet.js +2 -2
- package/dist/modules/github/githubRepoStatusGet.js.map +1 -1
- package/dist/modules/github/githubRepoUrlBuild.js.map +1 -1
- package/dist/modules/github/githubTypes.d.ts.map +1 -1
- package/dist/modules/github/githubViewerGet.js +2 -2
- package/dist/modules/github/githubViewerGet.js.map +1 -1
- package/dist/modules/plan/planPromptChildren.d.ts +8 -0
- package/dist/modules/plan/planPromptChildren.d.ts.map +1 -0
- package/dist/modules/plan/planPromptChildren.js +29 -0
- package/dist/modules/plan/planPromptChildren.js.map +1 -0
- package/dist/modules/plan/planPromptChildren.spec.d.ts +2 -0
- package/dist/modules/plan/planPromptChildren.spec.d.ts.map +1 -0
- package/dist/modules/plan/planPromptChildren.spec.js +25 -0
- package/dist/modules/plan/planPromptChildren.spec.js.map +1 -0
- package/dist/modules/plan/planPromptDocument.d.ts +8 -0
- package/dist/modules/plan/planPromptDocument.d.ts.map +1 -0
- package/dist/modules/plan/planPromptDocument.js +36 -0
- package/dist/modules/plan/planPromptDocument.js.map +1 -0
- package/dist/modules/plan/planPromptDocument.spec.d.ts +2 -0
- package/dist/modules/plan/planPromptDocument.spec.d.ts.map +1 -0
- package/dist/modules/plan/planPromptDocument.spec.js +26 -0
- package/dist/modules/plan/planPromptDocument.spec.js.map +1 -0
- package/dist/modules/plan/planPromptPicker.d.ts +7 -0
- package/dist/modules/plan/planPromptPicker.d.ts.map +1 -0
- package/dist/modules/plan/planPromptPicker.js +28 -0
- package/dist/modules/plan/planPromptPicker.js.map +1 -0
- package/dist/modules/plan/planPromptPicker.spec.d.ts +2 -0
- package/dist/modules/plan/planPromptPicker.spec.d.ts.map +1 -0
- package/dist/modules/plan/planPromptPicker.spec.js +21 -0
- package/dist/modules/plan/planPromptPicker.spec.js.map +1 -0
- package/dist/modules/plan/planPromptRoot.d.ts +7 -0
- package/dist/modules/plan/planPromptRoot.d.ts.map +1 -0
- package/dist/modules/plan/planPromptRoot.js +27 -0
- package/dist/modules/plan/planPromptRoot.js.map +1 -0
- package/dist/modules/plan/planPromptRoot.spec.d.ts +2 -0
- package/dist/modules/plan/planPromptRoot.spec.d.ts.map +1 -0
- package/dist/modules/plan/planPromptRoot.spec.js +16 -0
- package/dist/modules/plan/planPromptRoot.spec.js.map +1 -0
- package/dist/modules/plan/planSourceDocumentTypes.d.ts +6 -0
- package/dist/modules/plan/planSourceDocumentTypes.d.ts.map +1 -0
- package/dist/modules/plan/planSourceDocumentTypes.js +2 -0
- package/dist/modules/plan/planSourceDocumentTypes.js.map +1 -0
- package/dist/modules/plan/planSourceDocumentsResolve.d.ts +7 -0
- package/dist/modules/plan/planSourceDocumentsResolve.d.ts.map +1 -0
- package/dist/modules/plan/planSourceDocumentsResolve.js +41 -0
- package/dist/modules/plan/planSourceDocumentsResolve.js.map +1 -0
- package/dist/modules/plan/planSourceDocumentsResolve.spec.d.ts +2 -0
- package/dist/modules/plan/planSourceDocumentsResolve.spec.d.ts.map +1 -0
- package/dist/modules/plan/planSourceDocumentsResolve.spec.js +21 -0
- package/dist/modules/plan/planSourceDocumentsResolve.spec.js.map +1 -0
- package/dist/modules/prompt/promptConfirm.d.ts.map +1 -1
- package/dist/modules/prompt/promptConfirm.js +1 -1
- package/dist/modules/prompt/promptConfirm.js.map +1 -1
- package/dist/modules/prompt/promptInput.d.ts.map +1 -1
- package/dist/modules/prompt/promptInput.js +1 -1
- package/dist/modules/prompt/promptInput.js.map +1 -1
- package/dist/modules/providers/providerDetect.d.ts.map +1 -1
- package/dist/modules/providers/providerDetect.js +1 -1
- package/dist/modules/providers/providerDetect.js.map +1 -1
- package/dist/modules/providers/providerDetect.spec.js +1 -1
- package/dist/modules/providers/providerDetect.spec.js.map +1 -1
- package/dist/modules/providers/providerModelSelect.d.ts.map +1 -1
- package/dist/modules/providers/providerModelSelect.js +99 -85
- package/dist/modules/providers/providerModelSelect.js.map +1 -1
- package/dist/modules/providers/providerModelSelect.spec.js +67 -27
- package/dist/modules/providers/providerModelSelect.spec.js.map +1 -1
- package/dist/modules/providers/providerModelsGet.d.ts.map +1 -1
- package/dist/modules/providers/providerModelsGet.js +3 -7
- package/dist/modules/providers/providerModelsGet.js.map +1 -1
- package/dist/modules/providers/providerModelsGet.spec.js +1 -1
- package/dist/modules/providers/providerModelsGet.spec.js.map +1 -1
- package/dist/modules/providers/providerPriorityList.d.ts.map +1 -1
- package/dist/modules/providers/providerPriorityList.js.map +1 -1
- package/dist/modules/providers/providerPriorityList.spec.js +2 -6
- package/dist/modules/providers/providerPriorityList.spec.js.map +1 -1
- package/dist/modules/providers/providerTypes.d.ts +1 -1
- package/dist/modules/providers/providerTypes.d.ts.map +1 -1
- package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.d.ts +1 -0
- package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.d.ts.map +1 -1
- package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.js +21 -17
- package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.js.map +1 -1
- package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.spec.js +28 -10
- package/dist/modules/sandbox/sandboxInferenceFilesystemPolicy.spec.js.map +1 -1
- package/dist/modules/sandbox/sandboxInferenceGet.d.ts +2 -1
- package/dist/modules/sandbox/sandboxInferenceGet.d.ts.map +1 -1
- package/dist/modules/sandbox/sandboxInferenceGet.js +8 -3
- package/dist/modules/sandbox/sandboxInferenceGet.js.map +1 -1
- package/dist/modules/sandbox/sandboxInferenceGet.spec.js +12 -0
- package/dist/modules/sandbox/sandboxInferenceGet.spec.js.map +1 -1
- package/dist/modules/sandbox/sandboxInferenceTypes.d.ts.map +1 -1
- package/dist/modules/sandbox/sandboxPassthrough.d.ts +7 -0
- package/dist/modules/sandbox/sandboxPassthrough.d.ts.map +1 -0
- package/dist/modules/sandbox/sandboxPassthrough.js +12 -0
- package/dist/modules/sandbox/sandboxPassthrough.js.map +1 -0
- package/dist/modules/sandbox/sandboxPassthrough.spec.d.ts +2 -0
- package/dist/modules/sandbox/sandboxPassthrough.spec.d.ts.map +1 -0
- package/dist/modules/sandbox/sandboxPassthrough.spec.js +9 -0
- package/dist/modules/sandbox/sandboxPassthrough.spec.js.map +1 -0
- package/dist/modules/sandbox/sandboxTypes.d.ts.map +1 -1
- package/dist/modules/tree/treeChildrenParse.d.ts +7 -0
- package/dist/modules/tree/treeChildrenParse.d.ts.map +1 -0
- package/dist/modules/tree/treeChildrenParse.js +23 -0
- package/dist/modules/tree/treeChildrenParse.js.map +1 -0
- package/dist/modules/tree/treeChildrenRead.d.ts +7 -0
- package/dist/modules/tree/treeChildrenRead.d.ts.map +1 -0
- package/dist/modules/tree/treeChildrenRead.js +44 -0
- package/dist/modules/tree/treeChildrenRead.js.map +1 -0
- package/dist/modules/tree/treeChildrenRead.spec.d.ts +2 -0
- package/dist/modules/tree/treeChildrenRead.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeChildrenRead.spec.js +43 -0
- package/dist/modules/tree/treeChildrenRead.spec.js.map +1 -0
- package/dist/modules/tree/treeChildrenWrite.d.ts +7 -0
- package/dist/modules/tree/treeChildrenWrite.d.ts.map +1 -0
- package/dist/modules/tree/treeChildrenWrite.js +15 -0
- package/dist/modules/tree/treeChildrenWrite.js.map +1 -0
- package/dist/modules/tree/treeChildrenWrite.spec.d.ts +2 -0
- package/dist/modules/tree/treeChildrenWrite.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeChildrenWrite.spec.js +34 -0
- package/dist/modules/tree/treeChildrenWrite.spec.js.map +1 -0
- package/dist/modules/tree/treeInferenceProgressRun.d.ts +7 -0
- package/dist/modules/tree/treeInferenceProgressRun.d.ts.map +1 -0
- package/dist/modules/tree/treeInferenceProgressRun.js +16 -0
- package/dist/modules/tree/treeInferenceProgressRun.js.map +1 -0
- package/dist/modules/tree/treeInferenceProgressRun.spec.d.ts +2 -0
- package/dist/modules/tree/treeInferenceProgressRun.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeInferenceProgressRun.spec.js +35 -0
- package/dist/modules/tree/treeInferenceProgressRun.spec.js.map +1 -0
- package/dist/modules/tree/treeLeafPick.d.ts +7 -0
- package/dist/modules/tree/treeLeafPick.d.ts.map +1 -0
- package/dist/modules/tree/treeLeafPick.js +67 -0
- package/dist/modules/tree/treeLeafPick.js.map +1 -0
- package/dist/modules/tree/treeLeafPick.spec.d.ts +2 -0
- package/dist/modules/tree/treeLeafPick.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeLeafPick.spec.js +119 -0
- package/dist/modules/tree/treeLeafPick.spec.js.map +1 -0
- package/dist/modules/tree/treeNodeExpand.d.ts +12 -0
- package/dist/modules/tree/treeNodeExpand.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeExpand.js +128 -0
- package/dist/modules/tree/treeNodeExpand.js.map +1 -0
- package/dist/modules/tree/treeNodeExpand.spec.d.ts +2 -0
- package/dist/modules/tree/treeNodeExpand.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeExpand.spec.js +146 -0
- package/dist/modules/tree/treeNodeExpand.spec.js.map +1 -0
- package/dist/modules/tree/treeNodePathResolve.d.ts +7 -0
- package/dist/modules/tree/treeNodePathResolve.d.ts.map +1 -0
- package/dist/modules/tree/treeNodePathResolve.js +9 -0
- package/dist/modules/tree/treeNodePathResolve.js.map +1 -0
- package/dist/modules/tree/treeNodeRead.d.ts +7 -0
- package/dist/modules/tree/treeNodeRead.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeRead.js +46 -0
- package/dist/modules/tree/treeNodeRead.js.map +1 -0
- package/dist/modules/tree/treeNodeRead.spec.d.ts +2 -0
- package/dist/modules/tree/treeNodeRead.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeRead.spec.js +42 -0
- package/dist/modules/tree/treeNodeRead.spec.js.map +1 -0
- package/dist/modules/tree/treeNodeSlug.d.ts +6 -0
- package/dist/modules/tree/treeNodeSlug.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeSlug.js +20 -0
- package/dist/modules/tree/treeNodeSlug.js.map +1 -0
- package/dist/modules/tree/treeNodeSlug.spec.d.ts +2 -0
- package/dist/modules/tree/treeNodeSlug.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeSlug.spec.js +25 -0
- package/dist/modules/tree/treeNodeSlug.spec.js.map +1 -0
- package/dist/modules/tree/treeNodeWrite.d.ts +7 -0
- package/dist/modules/tree/treeNodeWrite.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeWrite.js +15 -0
- package/dist/modules/tree/treeNodeWrite.js.map +1 -0
- package/dist/modules/tree/treeNodeWrite.spec.d.ts +2 -0
- package/dist/modules/tree/treeNodeWrite.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeNodeWrite.spec.js +34 -0
- package/dist/modules/tree/treeNodeWrite.spec.js.map +1 -0
- package/dist/modules/tree/treeSearchRun.d.ts +7 -0
- package/dist/modules/tree/treeSearchRun.d.ts.map +1 -0
- package/dist/modules/tree/treeSearchRun.js +178 -0
- package/dist/modules/tree/treeSearchRun.js.map +1 -0
- package/dist/modules/tree/treeSearchRun.spec.d.ts +2 -0
- package/dist/modules/tree/treeSearchRun.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeSearchRun.spec.js +203 -0
- package/dist/modules/tree/treeSearchRun.spec.js.map +1 -0
- package/dist/modules/tree/treeSearchTypes.d.ts +40 -0
- package/dist/modules/tree/treeSearchTypes.d.ts.map +1 -0
- package/dist/modules/tree/treeSearchTypes.js +2 -0
- package/dist/modules/tree/treeSearchTypes.js.map +1 -0
- package/dist/modules/tree/treeSearchTypes.spec.d.ts +2 -0
- package/dist/modules/tree/treeSearchTypes.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeSearchTypes.spec.js +40 -0
- package/dist/modules/tree/treeSearchTypes.spec.js.map +1 -0
- package/dist/modules/tree/treeStateLeaves.d.ts +7 -0
- package/dist/modules/tree/treeStateLeaves.d.ts.map +1 -0
- package/dist/modules/tree/treeStateLeaves.js +20 -0
- package/dist/modules/tree/treeStateLeaves.js.map +1 -0
- package/dist/modules/tree/treeStateLeaves.spec.d.ts +2 -0
- package/dist/modules/tree/treeStateLeaves.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeStateLeaves.spec.js +57 -0
- package/dist/modules/tree/treeStateLeaves.spec.js.map +1 -0
- package/dist/modules/tree/treeStateRead.d.ts +7 -0
- package/dist/modules/tree/treeStateRead.d.ts.map +1 -0
- package/dist/modules/tree/treeStateRead.js +39 -0
- package/dist/modules/tree/treeStateRead.js.map +1 -0
- package/dist/modules/tree/treeStateRead.spec.d.ts +2 -0
- package/dist/modules/tree/treeStateRead.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeStateRead.spec.js +64 -0
- package/dist/modules/tree/treeStateRead.spec.js.map +1 -0
- package/dist/modules/tree/treeStateRender.d.ts +7 -0
- package/dist/modules/tree/treeStateRender.d.ts.map +1 -0
- package/dist/modules/tree/treeStateRender.js +19 -0
- package/dist/modules/tree/treeStateRender.js.map +1 -0
- package/dist/modules/tree/treeStateRender.spec.d.ts +2 -0
- package/dist/modules/tree/treeStateRender.spec.d.ts.map +1 -0
- package/dist/modules/tree/treeStateRender.spec.js +42 -0
- package/dist/modules/tree/treeStateRender.spec.js.map +1 -0
- package/dist/modules/util/asyncLock.d.ts +9 -0
- package/dist/modules/util/asyncLock.d.ts.map +1 -0
- package/dist/modules/util/asyncLock.js +22 -0
- package/dist/modules/util/asyncLock.js.map +1 -0
- package/dist/modules/util/asyncLock.spec.d.ts +2 -0
- package/dist/modules/util/asyncLock.spec.d.ts.map +1 -0
- package/dist/modules/util/asyncLock.spec.js +52 -0
- package/dist/modules/util/asyncLock.spec.js.map +1 -0
- package/dist/modules/util/commandRun.d.ts +1 -1
- package/dist/modules/util/commandRun.d.ts.map +1 -1
- package/dist/modules/util/commandRun.js +26 -21
- package/dist/modules/util/commandRun.js.map +1 -1
- package/dist/modules/util/commandRun.spec.js +10 -0
- package/dist/modules/util/commandRun.spec.js.map +1 -1
- package/dist/modules/util/pathLock.d.ts +21 -0
- package/dist/modules/util/pathLock.d.ts.map +1 -0
- package/dist/modules/util/pathLock.js +127 -0
- package/dist/modules/util/pathLock.js.map +1 -0
- package/dist/modules/util/pathLock.spec.d.ts +2 -0
- package/dist/modules/util/pathLock.spec.d.ts.map +1 -0
- package/dist/modules/util/pathLock.spec.js +98 -0
- package/dist/modules/util/pathLock.spec.js.map +1 -0
- package/dist/modules/util/pathLockOverlap.d.ts +11 -0
- package/dist/modules/util/pathLockOverlap.d.ts.map +1 -0
- package/dist/modules/util/pathLockOverlap.js +41 -0
- package/dist/modules/util/pathLockOverlap.js.map +1 -0
- package/dist/modules/util/pathLockOverlap.spec.d.ts +2 -0
- package/dist/modules/util/pathLockOverlap.spec.d.ts.map +1 -0
- package/dist/modules/util/pathLockOverlap.spec.js +34 -0
- package/dist/modules/util/pathLockOverlap.spec.js.map +1 -0
- package/dist/modules/util/pathResolveFromInitCwd.d.ts +1 -1
- package/dist/modules/util/pathResolveFromInitCwd.js +1 -1
- package/dist/modules/util/pathResolveFromInitCwd.js.map +1 -1
- package/dist/release/releaseRun.d.ts.map +1 -1
- package/dist/release/releaseRun.js +13 -26
- package/dist/release/releaseRun.js.map +1 -1
- package/dist/release/releaseVersionIncrement.d.ts.map +1 -1
- package/dist/release/releaseVersionIncrement.js.map +1 -1
- package/dist/release/releaseVersionIncrement.spec.js.map +1 -1
- package/dist/release/releaseVersionPrompt.d.ts.map +1 -1
- package/dist/release/releaseVersionPrompt.js +8 -9
- package/dist/release/releaseVersionPrompt.js.map +1 -1
- package/dist/text/all.txt +66 -1
- package/dist/text/text.d.ts +11 -5
- package/dist/text/text.d.ts.map +1 -1
- package/dist/text/text.gen.d.ts +378 -0
- package/dist/text/text.gen.d.ts.map +1 -0
- package/dist/text/text.gen.js +135 -0
- package/dist/text/text.gen.js.map +1 -0
- package/dist/text/text.js +31 -26
- package/dist/text/text.js.map +1 -1
- package/dist/text/text.spec.d.ts +2 -0
- package/dist/text/text.spec.d.ts.map +1 -0
- package/dist/text/text.spec.js +50 -0
- package/dist/text/text.spec.js.map +1 -0
- package/dist/text/textGenBuild.d.ts +6 -0
- package/dist/text/textGenBuild.d.ts.map +1 -0
- package/dist/text/textGenBuild.js +14 -0
- package/dist/text/textGenBuild.js.map +1 -0
- package/dist/text/textGenGenerate.d.ts +6 -0
- package/dist/text/textGenGenerate.d.ts.map +1 -0
- package/dist/text/textGenGenerate.js +74 -0
- package/dist/text/textGenGenerate.js.map +1 -0
- package/dist/text/textGenGenerate.spec.d.ts +2 -0
- package/dist/text/textGenGenerate.spec.d.ts.map +1 -0
- package/dist/text/textGenGenerate.spec.js +24 -0
- package/dist/text/textGenGenerate.spec.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +11 -6
- package/dist/apps/bootstrap.d.ts +0 -5
- package/dist/apps/bootstrap.d.ts.map +0 -1
- package/dist/apps/bootstrap.js +0 -170
- package/dist/apps/bootstrap.js.map +0 -1
- package/dist/commands/bootstrapCommand.d.ts +0 -6
- package/dist/commands/bootstrapCommand.d.ts.map +0 -1
- package/dist/commands/bootstrapCommand.js +0 -16
- package/dist/commands/bootstrapCommand.js.map +0 -1
- package/dist/modules/ai/aiReadmeGenerate.d.ts +0 -18
- package/dist/modules/ai/aiReadmeGenerate.d.ts.map +0 -1
- package/dist/modules/ai/aiReadmeGenerate.js +0 -23
- package/dist/modules/ai/aiReadmeGenerate.js.map +0 -1
- package/dist/modules/ai/aiReadmeGenerate.spec.d.ts +0 -2
- package/dist/modules/ai/aiReadmeGenerate.spec.d.ts.map +0 -1
- package/dist/modules/ai/aiReadmeGenerate.spec.js +0 -27
- package/dist/modules/ai/aiReadmeGenerate.spec.js.map +0 -1
- package/dist/modules/beer/beerDevFolderResolve.d.ts +0 -5
- package/dist/modules/beer/beerDevFolderResolve.d.ts.map +0 -1
- package/dist/modules/beer/beerDevFolderResolve.js +0 -9
- package/dist/modules/beer/beerDevFolderResolve.js.map +0 -1
- package/dist/modules/beer/beerDevFolderResolve.spec.d.ts +0 -2
- package/dist/modules/beer/beerDevFolderResolve.spec.d.ts.map +0 -1
- package/dist/modules/beer/beerDevFolderResolve.spec.js +0 -10
- package/dist/modules/beer/beerDevFolderResolve.spec.js.map +0 -1
- package/dist/modules/beer/beerSettingsPathResolve.d.ts +0 -5
- package/dist/modules/beer/beerSettingsPathResolve.d.ts.map +0 -1
- package/dist/modules/beer/beerSettingsPathResolve.js +0 -9
- package/dist/modules/beer/beerSettingsPathResolve.js.map +0 -1
- package/dist/modules/beer/beerSettingsPathResolve.spec.d.ts +0 -2
- package/dist/modules/beer/beerSettingsPathResolve.spec.d.ts.map +0 -1
- package/dist/modules/beer/beerSettingsPathResolve.spec.js +0 -10
- package/dist/modules/beer/beerSettingsPathResolve.spec.js.map +0 -1
- package/dist/modules/context/contextGet.d.ts +0 -7
- package/dist/modules/context/contextGet.d.ts.map +0 -1
- package/dist/modules/context/contextGet.js +0 -12
- package/dist/modules/context/contextGet.js.map +0 -1
- package/dist/modules/context/contextGetOrInitialize.d.ts +0 -7
- package/dist/modules/context/contextGetOrInitialize.d.ts.map +0 -1
- package/dist/modules/context/contextGetOrInitialize.js +0 -12
- package/dist/modules/context/contextGetOrInitialize.js.map +0 -1
- package/dist/modules/context/contextInitialize.d.ts +0 -7
- package/dist/modules/context/contextInitialize.d.ts.map +0 -1
- package/dist/modules/context/contextInitialize.js +0 -25
- package/dist/modules/context/contextInitialize.js.map +0 -1
- package/dist/modules/context/contextInitialize.spec.d.ts +0 -2
- package/dist/modules/context/contextInitialize.spec.d.ts.map +0 -1
- package/dist/modules/context/contextInitialize.spec.js +0 -77
- package/dist/modules/context/contextInitialize.spec.js.map +0 -1
- package/dist/modules/context/contextTypes.d.ts +0 -21
- package/dist/modules/context/contextTypes.d.ts.map +0 -1
- package/dist/modules/context/contextTypes.js +0 -2
- package/dist/modules/context/contextTypes.js.map +0 -1
- package/dist/workflows/steps/generateCommitMessage.d.ts +0 -13
- package/dist/workflows/steps/generateCommitMessage.d.ts.map +0 -1
- package/dist/workflows/steps/generateCommitMessage.js +0 -25
- package/dist/workflows/steps/generateCommitMessage.js.map +0 -1
- package/dist/workflows/steps/generateCommitMessage.spec.d.ts +0 -2
- package/dist/workflows/steps/generateCommitMessage.spec.d.ts.map +0 -1
- package/dist/workflows/steps/generateCommitMessage.spec.js +0 -28
- package/dist/workflows/steps/generateCommitMessage.spec.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ZodTypeAny } from "zod";
|
|
2
|
+
import { type GenerateFilePermissions } from "@/modules/ai/generateFile.js";
|
|
3
|
+
import type { Context } from "@/types";
|
|
4
|
+
export interface GenerateFrontmatterOptions extends Omit<GenerateFilePermissions, "verify"> {
|
|
5
|
+
}
|
|
6
|
+
export interface GenerateFrontmatterResult {
|
|
7
|
+
provider?: string;
|
|
8
|
+
sessionId?: string;
|
|
9
|
+
text: string;
|
|
10
|
+
filePath: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generates a file and requires YAML frontmatter that matches the given schema.
|
|
14
|
+
* Expects: outputFilePath is project-relative or absolute and schema is a zod object-like validator.
|
|
15
|
+
*/
|
|
16
|
+
export declare function generateFrontmatter(ctx: Context, prompt: string, outputFilePath: string, schema: ZodTypeAny, options?: GenerateFrontmatterOptions): Promise<GenerateFrontmatterResult>;
|
|
17
|
+
//# sourceMappingURL=generateFrontmatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFrontmatter.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateFrontmatter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,KAAK,uBAAuB,EAAgB,MAAM,8BAA8B,CAAC;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC;CAAG;AAE9F,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,0BAA+B,GACzC,OAAO,CAAC,yBAAyB,CAAC,CAepC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import matter from "gray-matter";
|
|
3
|
+
import { generateFile } from "@/modules/ai/generateFile.js";
|
|
4
|
+
/**
|
|
5
|
+
* Generates a file and requires YAML frontmatter that matches the given schema.
|
|
6
|
+
* Expects: outputFilePath is project-relative or absolute and schema is a zod object-like validator.
|
|
7
|
+
*/
|
|
8
|
+
export async function generateFrontmatter(ctx, prompt, outputFilePath, schema, options = {}) {
|
|
9
|
+
const resolvedOutputPath = pathResolveInProject(ctx.projectPath, outputFilePath);
|
|
10
|
+
const result = await generateFile(ctx, prompt, resolvedOutputPath, {
|
|
11
|
+
...options,
|
|
12
|
+
verify: ({ filePath, fileContent }) => {
|
|
13
|
+
generateFrontmatterVerify(resolvedOutputPath, filePath, fileContent, schema);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
provider: result.provider,
|
|
18
|
+
sessionId: result.sessionId,
|
|
19
|
+
text: result.text,
|
|
20
|
+
filePath: resolvedOutputPath
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function pathResolveInProject(projectPath, outputFilePath) {
|
|
24
|
+
if (path.isAbsolute(outputFilePath)) {
|
|
25
|
+
return path.resolve(outputFilePath);
|
|
26
|
+
}
|
|
27
|
+
return path.resolve(projectPath, outputFilePath);
|
|
28
|
+
}
|
|
29
|
+
function generateFrontmatterVerify(expectedFilePath, filePath, fileContent, schema) {
|
|
30
|
+
if (path.resolve(filePath) !== expectedFilePath) {
|
|
31
|
+
throw new Error(`File must be generated at path: ${expectedFilePath}`);
|
|
32
|
+
}
|
|
33
|
+
if (!matter.test(fileContent)) {
|
|
34
|
+
throw new Error(`Generated file must include frontmatter: ${expectedFilePath}`);
|
|
35
|
+
}
|
|
36
|
+
const parsed = matter(fileContent);
|
|
37
|
+
const parsedFrontmatter = schema.safeParse(parsed.data);
|
|
38
|
+
if (!parsedFrontmatter.success) {
|
|
39
|
+
const details = generateFrontmatterIssuesFormat(parsedFrontmatter.error.issues);
|
|
40
|
+
throw new Error(`Generated frontmatter does not match schema: ${details}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function generateFrontmatterIssuesFormat(issues) {
|
|
44
|
+
return issues
|
|
45
|
+
.map((issue) => {
|
|
46
|
+
const issuePath = issue.path.length > 0 ? issue.path.join(".") : "(root)";
|
|
47
|
+
return `${issuePath}: ${issue.message}`;
|
|
48
|
+
})
|
|
49
|
+
.join("; ");
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=generateFrontmatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFrontmatter.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateFrontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAgC,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAY1F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,GAAY,EACZ,MAAc,EACd,cAAsB,EACtB,MAAkB,EAClB,UAAsC,EAAE;IAExC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE;QAC/D,GAAG,OAAO;QACV,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE;YAClC,yBAAyB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,kBAAkB;KAC/B,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB,EAAE,cAAsB;IACrE,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,yBAAyB,CAC9B,gBAAwB,EACxB,QAAgB,EAChB,WAAmB,EACnB,MAAkB;IAElB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,gBAAgB,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,mCAAmC,gBAAgB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,gBAAgB,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,gDAAgD,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,MAA2B;IAChE,OAAO,MAAM;SACR,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1E,OAAO,GAAG,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GenerateEvent } from "@/types";
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a user-facing progress message for inference events.
|
|
4
|
+
* Expects: baseMessage is already trimmed and non-empty.
|
|
5
|
+
*/
|
|
6
|
+
export declare function generateProgressMessageResolve(baseMessage: string, event: GenerateEvent, previousTokenCount?: number): {
|
|
7
|
+
message: string;
|
|
8
|
+
tokenCount: number;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=generateProgressMessageResolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateProgressMessageResolve.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateProgressMessageResolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,8BAA8B,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,aAAa,EACpB,kBAAkB,SAAI,GACvB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAOzC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a user-facing progress message for inference events.
|
|
3
|
+
* Expects: baseMessage is already trimmed and non-empty.
|
|
4
|
+
*/
|
|
5
|
+
export function generateProgressMessageResolve(baseMessage, event, previousTokenCount = 0) {
|
|
6
|
+
const tokenCount = Math.max(previousTokenCount, generateEventTokenCountResolve(event) ?? 0);
|
|
7
|
+
const label = generateEventHumanize(event);
|
|
8
|
+
return {
|
|
9
|
+
message: `${baseMessage} (${label}, tokens ${tokenCount})`,
|
|
10
|
+
tokenCount
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function generateEventHumanize(event) {
|
|
14
|
+
switch (event.type) {
|
|
15
|
+
case "provider_status":
|
|
16
|
+
return event.status === "started" ? "starting" : "working";
|
|
17
|
+
case "thinking":
|
|
18
|
+
return "thinking";
|
|
19
|
+
case "tool_call":
|
|
20
|
+
return event.toolName ? generateToolHumanize(event.toolName) : "using tools";
|
|
21
|
+
case "text":
|
|
22
|
+
return "writing";
|
|
23
|
+
case "usage":
|
|
24
|
+
return "writing";
|
|
25
|
+
default:
|
|
26
|
+
return "working";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function generateEventTokenCountResolve(event) {
|
|
30
|
+
if (event.type === "usage") {
|
|
31
|
+
return event.tokens.total;
|
|
32
|
+
}
|
|
33
|
+
if (event.type === "provider_status") {
|
|
34
|
+
return event.tokens?.total;
|
|
35
|
+
}
|
|
36
|
+
if (event.type === "thinking" || event.type === "tool_call" || event.type === "text") {
|
|
37
|
+
return event.tokens?.total;
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
/** Maps provider tool names to short user-facing labels. */
|
|
42
|
+
function generateToolHumanize(toolName) {
|
|
43
|
+
switch (toolName) {
|
|
44
|
+
case "Read":
|
|
45
|
+
case "read_file":
|
|
46
|
+
return "reading files";
|
|
47
|
+
case "Write":
|
|
48
|
+
case "write_file":
|
|
49
|
+
return "writing files";
|
|
50
|
+
case "Edit":
|
|
51
|
+
case "edit_file":
|
|
52
|
+
return "editing files";
|
|
53
|
+
case "Bash":
|
|
54
|
+
case "bash":
|
|
55
|
+
case "execute_command":
|
|
56
|
+
return "running command";
|
|
57
|
+
case "Grep":
|
|
58
|
+
case "grep":
|
|
59
|
+
case "search":
|
|
60
|
+
return "searching code";
|
|
61
|
+
case "Glob":
|
|
62
|
+
case "glob":
|
|
63
|
+
case "list_files":
|
|
64
|
+
return "finding files";
|
|
65
|
+
case "WebFetch":
|
|
66
|
+
case "web_fetch":
|
|
67
|
+
return "fetching web content";
|
|
68
|
+
case "WebSearch":
|
|
69
|
+
case "web_search":
|
|
70
|
+
return "searching web";
|
|
71
|
+
default:
|
|
72
|
+
return `using ${toolName}`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=generateProgressMessageResolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateProgressMessageResolve.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateProgressMessageResolve.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC1C,WAAmB,EACnB,KAAoB,EACpB,kBAAkB,GAAG,CAAC;IAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO;QACH,OAAO,EAAE,GAAG,WAAW,KAAK,KAAK,YAAY,UAAU,GAAG;QAC1D,UAAU;KACb,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAoB;IAC/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,iBAAiB;YAClB,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,KAAK,UAAU;YACX,OAAO,UAAU,CAAC;QACtB,KAAK,WAAW;YACZ,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACjF,KAAK,MAAM;YACP,OAAO,SAAS,CAAC;QACrB,KAAK,OAAO;YACR,OAAO,SAAS,CAAC;QACrB;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAoB;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACnF,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,4DAA4D;AAC5D,SAAS,oBAAoB,CAAC,QAAgB;IAC1C,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACZ,OAAO,eAAe,CAAC;QAC3B,KAAK,OAAO,CAAC;QACb,KAAK,YAAY;YACb,OAAO,eAAe,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACZ,OAAO,eAAe,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,iBAAiB;YAClB,OAAO,iBAAiB,CAAC;QAC7B,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC;QAC5B,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACb,OAAO,eAAe,CAAC;QAC3B,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACZ,OAAO,sBAAsB,CAAC;QAClC,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YACb,OAAO,eAAe,CAAC;QAC3B;YACI,OAAO,SAAS,QAAQ,EAAE,CAAC;IACnC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateProgressMessageResolve.spec.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateProgressMessageResolve.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { generateProgressMessageResolve } from "./generateProgressMessageResolve.js";
|
|
3
|
+
describe("generateProgressMessageResolve", () => {
|
|
4
|
+
it("always renders tokens even when an event has no token usage", () => {
|
|
5
|
+
const event = {
|
|
6
|
+
type: "provider_status",
|
|
7
|
+
providerId: "pi",
|
|
8
|
+
status: "started"
|
|
9
|
+
};
|
|
10
|
+
const result = generateProgressMessageResolve("Generating", event);
|
|
11
|
+
expect(result).toEqual({
|
|
12
|
+
message: "Generating (starting, tokens 0)",
|
|
13
|
+
tokenCount: 0
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
it("keeps token counts monotonic across events", () => {
|
|
17
|
+
const usage = {
|
|
18
|
+
type: "usage",
|
|
19
|
+
providerId: "pi",
|
|
20
|
+
tokens: {
|
|
21
|
+
input: 10,
|
|
22
|
+
output: 5,
|
|
23
|
+
cacheRead: 0,
|
|
24
|
+
cacheWrite: 0,
|
|
25
|
+
total: 15
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const lowerText = {
|
|
29
|
+
type: "text",
|
|
30
|
+
providerId: "pi",
|
|
31
|
+
status: "updated",
|
|
32
|
+
text: "partial",
|
|
33
|
+
tokens: {
|
|
34
|
+
input: 1,
|
|
35
|
+
output: 1,
|
|
36
|
+
cacheRead: 0,
|
|
37
|
+
cacheWrite: 0,
|
|
38
|
+
total: 2
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const first = generateProgressMessageResolve("Generating", usage);
|
|
42
|
+
const second = generateProgressMessageResolve("Generating", lowerText, first.tokenCount);
|
|
43
|
+
expect(first).toEqual({
|
|
44
|
+
message: "Generating (writing, tokens 15)",
|
|
45
|
+
tokenCount: 15
|
|
46
|
+
});
|
|
47
|
+
expect(second).toEqual({
|
|
48
|
+
message: "Generating (writing, tokens 15)",
|
|
49
|
+
tokenCount: 15
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=generateProgressMessageResolve.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateProgressMessageResolve.spec.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateProgressMessageResolve.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACnE,MAAM,KAAK,GAAkB;YACzB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,SAAS;SACpB,CAAC;QACF,MAAM,MAAM,GAAG,8BAA8B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EAAE,CAAC;SAChB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,KAAK,GAAkB;YACzB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE,EAAE;aACZ;SACJ,CAAC;QACF,MAAM,SAAS,GAAkB;YAC7B,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE;gBACJ,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE,CAAC;aACX;SACJ,CAAC;QAEF,MAAM,KAAK,GAAG,8BAA8B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,8BAA8B,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAEzF,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EAAE,EAAE;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EAAE,EAAE;SACjB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Context } from "@/types";
|
|
2
|
+
export interface GenerateReadmeInput {
|
|
3
|
+
sourceFullName: string;
|
|
4
|
+
publishFullName: string;
|
|
5
|
+
originalCheckoutPath: string;
|
|
6
|
+
}
|
|
7
|
+
export interface GenerateReadmeOptions {
|
|
8
|
+
showProgress?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface GenerateReadmeResult {
|
|
11
|
+
provider?: string;
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
text: string;
|
|
14
|
+
readmePath: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Generates README.md at project root using sonnet-biased inference.
|
|
18
|
+
* Expects: input fields are non-empty repository identifiers and checkout path.
|
|
19
|
+
*/
|
|
20
|
+
export declare function generateReadme(ctx: Context, input: GenerateReadmeInput, options?: GenerateReadmeOptions): Promise<GenerateReadmeResult>;
|
|
21
|
+
//# sourceMappingURL=generateReadme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateReadme.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateReadme.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB;AAOD;;;GAGG;AACH,wBAAsB,cAAc,CAChC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,qBAA0B,GACpC,OAAO,CAAC,oBAAoB,CAAC,CAsB/B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { text, textFormat } from "@text";
|
|
5
|
+
import { generateFile } from "@/modules/ai/generateFile.js";
|
|
6
|
+
const promptTemplate = readFileSync(path.join(path.dirname(fileURLToPath(import.meta.url)), "../prompts/PROMPT_README.md"), "utf-8");
|
|
7
|
+
/**
|
|
8
|
+
* Generates README.md at project root using sonnet-biased inference.
|
|
9
|
+
* Expects: input fields are non-empty repository identifiers and checkout path.
|
|
10
|
+
*/
|
|
11
|
+
export async function generateReadme(ctx, input, options = {}) {
|
|
12
|
+
const prompt = textFormat(promptTemplate, {
|
|
13
|
+
sourceFullName: input.sourceFullName,
|
|
14
|
+
publishFullName: input.publishFullName,
|
|
15
|
+
originalCheckoutPath: input.originalCheckoutPath
|
|
16
|
+
});
|
|
17
|
+
const readmePath = path.resolve(ctx.projectPath, "README.md");
|
|
18
|
+
const runGenerate = () => generateFile(ctx, prompt, readmePath, {
|
|
19
|
+
showProgress: false,
|
|
20
|
+
modelSelectionMode: "sonnet"
|
|
21
|
+
});
|
|
22
|
+
const result = options.showProgress
|
|
23
|
+
? await ctx.progress(text.bootstrap_readme_generating, async () => runGenerate())
|
|
24
|
+
: await runGenerate();
|
|
25
|
+
return {
|
|
26
|
+
provider: result.provider,
|
|
27
|
+
sessionId: result.sessionId,
|
|
28
|
+
text: result.text,
|
|
29
|
+
readmePath
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=generateReadme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateReadme.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/generateReadme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAoB5D,MAAM,cAAc,GAAG,YAAY,CAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC,EACtF,OAAO,CACV,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,GAAY,EACZ,KAA0B,EAC1B,UAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,EAAE;QACtC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KACnD,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,GAAG,EAAE,CACrB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;QAClC,YAAY,EAAE,KAAK;QACnB,kBAAkB,EAAE,QAAQ;KAC/B,CAAC,CAAC;IACP,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY;QAC/B,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClF,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC;IAE1B,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU;KACb,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Context } from "@/types";
|
|
2
|
+
/**
|
|
3
|
+
* Executes the finalized ralph plan with codex-xhigh.
|
|
4
|
+
* Expects: planPath points to an existing plan markdown file.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ralphExecute(ctx: Context, buildGoal: string, planPath: string): Promise<{
|
|
7
|
+
provider?: string;
|
|
8
|
+
sessionId?: string;
|
|
9
|
+
text: string;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=ralphExecute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphExecute.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphExecute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAavC;;;GAGG;AACH,wBAAsB,YAAY,CAC9B,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBlE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { text } from "@text";
|
|
4
|
+
import { generate } from "@/_workflows/steps/generate.js";
|
|
5
|
+
const executePromptTemplate = [
|
|
6
|
+
"Implement this build goal in the current repository: {{buildGoal}}",
|
|
7
|
+
"Use this finalized plan as the exact scope of work:",
|
|
8
|
+
"{{planContent}}",
|
|
9
|
+
"Execution rules:",
|
|
10
|
+
"- apply code and test changes directly in the repository",
|
|
11
|
+
"- keep changes minimal and composable",
|
|
12
|
+
"- run relevant tests and typecheck before final response",
|
|
13
|
+
"- summarize files changed and checks run"
|
|
14
|
+
].join("\n\n");
|
|
15
|
+
/**
|
|
16
|
+
* Executes the finalized ralph plan with codex-xhigh.
|
|
17
|
+
* Expects: planPath points to an existing plan markdown file.
|
|
18
|
+
*/
|
|
19
|
+
export async function ralphExecute(ctx, buildGoal, planPath) {
|
|
20
|
+
const projectPath = ctx.projectPath;
|
|
21
|
+
const planContent = await readFile(path.resolve(projectPath, planPath), "utf-8");
|
|
22
|
+
const result = await generate(ctx, executePromptTemplate, {
|
|
23
|
+
buildGoal: buildGoal.trim(),
|
|
24
|
+
planContent
|
|
25
|
+
}, {
|
|
26
|
+
progressMessage: text.inference_ralph_executing,
|
|
27
|
+
modelSelectionMode: "codex-xhigh",
|
|
28
|
+
writePolicy: {
|
|
29
|
+
mode: "write-whitelist",
|
|
30
|
+
writablePaths: [projectPath]
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
provider: result.provider,
|
|
35
|
+
sessionId: result.sessionId,
|
|
36
|
+
text: result.text.trim()
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ralphExecute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphExecute.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphExecute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG1D,MAAM,qBAAqB,GAAG;IAC1B,oEAAoE;IACpE,qDAAqD;IACrD,iBAAiB;IACjB,kBAAkB;IAClB,0DAA0D;IAC1D,uCAAuC;IACvC,0DAA0D;IAC1D,0CAA0C;CAC7C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,GAAY,EACZ,SAAiB,EACjB,QAAgB;IAEhB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,QAAQ,CACzB,GAAG,EACH,qBAAqB,EACrB;QACI,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;QAC3B,WAAW;KACd,EACD;QACI,eAAe,EAAE,IAAI,CAAC,yBAA0B;QAChD,kBAAkB,EAAE,aAAa;QACjC,WAAW,EAAE;YACT,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,CAAC,WAAW,CAAC;SAC/B;KACJ,CACJ,CAAC;IACF,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;KAC3B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Context } from "@/types";
|
|
2
|
+
/**
|
|
3
|
+
* Executes the generated ralph-loop plan using built-in inference.
|
|
4
|
+
* Expects: planPath points to an existing markdown plan file.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ralphLoopExecute(ctx: Context, buildGoal: string, planPath: string): Promise<{
|
|
7
|
+
provider?: string;
|
|
8
|
+
sessionId?: string;
|
|
9
|
+
text: string;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=ralphLoopExecute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopExecute.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopExecute.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAavC;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBlE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { text } from "@text";
|
|
4
|
+
import { generate } from "@/_workflows/steps/generate.js";
|
|
5
|
+
const executePromptTemplate = [
|
|
6
|
+
"Implement this request in the current repository: {{buildGoal}}",
|
|
7
|
+
"Follow this plan exactly, then complete all pending implementation and test tasks:",
|
|
8
|
+
"{{planContent}}",
|
|
9
|
+
"Execution rules:",
|
|
10
|
+
"- apply code and test changes directly in the repository",
|
|
11
|
+
"- keep changes minimal and composable",
|
|
12
|
+
"- run relevant tests/typechecks before final response",
|
|
13
|
+
"- in final response, summarize what changed and what checks were run"
|
|
14
|
+
].join("\n\n");
|
|
15
|
+
/**
|
|
16
|
+
* Executes the generated ralph-loop plan using built-in inference.
|
|
17
|
+
* Expects: planPath points to an existing markdown plan file.
|
|
18
|
+
*/
|
|
19
|
+
export async function ralphLoopExecute(ctx, buildGoal, planPath) {
|
|
20
|
+
const projectPath = ctx.projectPath;
|
|
21
|
+
const planContent = await readFile(path.resolve(projectPath, planPath), "utf-8");
|
|
22
|
+
const result = await generate(ctx, executePromptTemplate, {
|
|
23
|
+
buildGoal: buildGoal.trim(),
|
|
24
|
+
planContent
|
|
25
|
+
}, {
|
|
26
|
+
progressMessage: text.inference_plan_executing,
|
|
27
|
+
modelSelectionMode: "codex-xhigh",
|
|
28
|
+
writePolicy: {
|
|
29
|
+
mode: "write-whitelist",
|
|
30
|
+
writablePaths: [projectPath]
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
provider: result.provider,
|
|
35
|
+
sessionId: result.sessionId,
|
|
36
|
+
text: result.text.trim()
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ralphLoopExecute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopExecute.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopExecute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG1D,MAAM,qBAAqB,GAAG;IAC1B,iEAAiE;IACjE,oFAAoF;IACpF,iBAAiB;IACjB,kBAAkB;IAClB,0DAA0D;IAC1D,uCAAuC;IACvC,uDAAuD;IACvD,sEAAsE;CACzE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,GAAY,EACZ,SAAiB,EACjB,QAAgB;IAEhB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,QAAQ,CACzB,GAAG,EACH,qBAAqB,EACrB;QACI,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;QAC3B,WAAW;KACd,EACD;QACI,eAAe,EAAE,IAAI,CAAC,wBAAyB;QAC/C,kBAAkB,EAAE,aAAa;QACjC,WAAW,EAAE;YACT,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,CAAC,WAAW,CAAC;SAC/B;KACJ,CACJ,CAAC;IACF,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;KAC3B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Context } from "@/types";
|
|
2
|
+
export interface RalphLoopPlanGenerateOptions {
|
|
3
|
+
planPath?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Generates a plan markdown file for ralph-loop via built-in inference.
|
|
7
|
+
* Expects: buildGoal is non-empty user intent and planPath is repo-relative when provided.
|
|
8
|
+
*/
|
|
9
|
+
export declare function ralphLoopPlanGenerate(ctx: Context, buildGoal: string, options?: RalphLoopPlanGenerateOptions): Promise<{
|
|
10
|
+
planPath: string;
|
|
11
|
+
provider?: string;
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
text: string;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=ralphLoopPlanGenerate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopPlanGenerate.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopPlanGenerate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAcD;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgCpF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { text } from "@text";
|
|
4
|
+
import { generate } from "@/_workflows/steps/generate.js";
|
|
5
|
+
import { ralphLoopPlanPathResolve } from "@/_workflows/steps/ralphLoopPlanPathResolve.js";
|
|
6
|
+
const planPromptTemplate = [
|
|
7
|
+
"Create a markdown implementation plan for this request: {{buildGoal}}",
|
|
8
|
+
"Output only the final plan markdown (no wrappers).",
|
|
9
|
+
"Plan requirements:",
|
|
10
|
+
"- include Overview",
|
|
11
|
+
"- include Validation Commands",
|
|
12
|
+
"- include Implementation Steps with checkbox tasks",
|
|
13
|
+
"- include test tasks for each code task",
|
|
14
|
+
"- keep steps concrete and scoped to this repository",
|
|
15
|
+
"- avoid placeholders like TBD"
|
|
16
|
+
].join("\n");
|
|
17
|
+
/**
|
|
18
|
+
* Generates a plan markdown file for ralph-loop via built-in inference.
|
|
19
|
+
* Expects: buildGoal is non-empty user intent and planPath is repo-relative when provided.
|
|
20
|
+
*/
|
|
21
|
+
export async function ralphLoopPlanGenerate(ctx, buildGoal, options = {}) {
|
|
22
|
+
const goal = buildGoal.trim();
|
|
23
|
+
if (!goal) {
|
|
24
|
+
throw new Error("Build goal is required.");
|
|
25
|
+
}
|
|
26
|
+
const planPath = options.planPath ?? ralphLoopPlanPathResolve(ctx, goal);
|
|
27
|
+
const result = await generate(ctx, planPromptTemplate, { buildGoal: goal }, {
|
|
28
|
+
progressMessage: text.inference_plan_generating,
|
|
29
|
+
modelSelectionMode: "codex-xhigh",
|
|
30
|
+
writePolicy: { mode: "read-only" }
|
|
31
|
+
});
|
|
32
|
+
const planText = result.text.trim();
|
|
33
|
+
if (!planText) {
|
|
34
|
+
throw new Error("Inference returned empty plan.");
|
|
35
|
+
}
|
|
36
|
+
const absolutePath = path.resolve(ctx.projectPath, planPath);
|
|
37
|
+
await mkdir(path.dirname(absolutePath), { recursive: true });
|
|
38
|
+
await writeFile(absolutePath, `${planText}\n`, "utf-8");
|
|
39
|
+
return {
|
|
40
|
+
planPath,
|
|
41
|
+
provider: result.provider,
|
|
42
|
+
sessionId: result.sessionId,
|
|
43
|
+
text: planText
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ralphLoopPlanGenerate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopPlanGenerate.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopPlanGenerate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAO1F,MAAM,kBAAkB,GAAG;IACvB,uEAAuE;IACvE,oDAAoD;IACpD,oBAAoB;IACpB,oBAAoB;IACpB,+BAA+B;IAC/B,oDAAoD;IACpD,yCAAyC;IACzC,qDAAqD;IACrD,+BAA+B;CAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,GAAY,EACZ,SAAiB,EACjB,UAAwC,EAAE;IAE1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,QAAQ,CACzB,GAAG,EACH,kBAAkB,EAClB,EAAE,SAAS,EAAE,IAAI,EAAE,EACnB;QACI,eAAe,EAAE,IAAI,CAAC,yBAA0B;QAChD,kBAAkB,EAAE,aAAa;QACjC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;KACrC,CACJ,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,CAAC,YAAY,EAAE,GAAG,QAAQ,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO;QACH,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,QAAQ;KACjB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Context } from "@/types";
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a deterministic plan file path for ralph-loop.
|
|
4
|
+
* Expects: buildGoal is user-entered free text describing what to build.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ralphLoopPlanPathResolve(_ctx: Context, buildGoal: string, nowMs?: number): string;
|
|
7
|
+
//# sourceMappingURL=ralphLoopPlanPathResolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopPlanPathResolve.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopPlanPathResolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAmB,GAAG,MAAM,CAI7G"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a deterministic plan file path for ralph-loop.
|
|
3
|
+
* Expects: buildGoal is user-entered free text describing what to build.
|
|
4
|
+
*/
|
|
5
|
+
export function ralphLoopPlanPathResolve(_ctx, buildGoal, nowMs = Date.now()) {
|
|
6
|
+
const date = new Date(nowMs).toISOString().slice(0, 10).replace(/-/g, "");
|
|
7
|
+
const slug = ralphLoopSlugResolve(buildGoal);
|
|
8
|
+
return `doc/plans/${date}-${slug}.md`;
|
|
9
|
+
}
|
|
10
|
+
function ralphLoopSlugResolve(input) {
|
|
11
|
+
const base = input
|
|
12
|
+
.toLowerCase()
|
|
13
|
+
.trim()
|
|
14
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
15
|
+
.replace(/^-+|-+$/g, "");
|
|
16
|
+
if (!base) {
|
|
17
|
+
return "task";
|
|
18
|
+
}
|
|
19
|
+
return base.slice(0, 48).replace(/-+$/g, "") || "task";
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ralphLoopPlanPathResolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopPlanPathResolve.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopPlanPathResolve.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAa,EAAE,SAAiB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IACjG,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC;AAC1C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,KAAK;SACb,WAAW,EAAE;SACb,IAAI,EAAE;SACN,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Context } from "@/types";
|
|
2
|
+
/**
|
|
3
|
+
* Runs one built-in-inference review round and applies fixes in-place.
|
|
4
|
+
* Expects: round is 1..3 and planPath points to an existing plan file.
|
|
5
|
+
*/
|
|
6
|
+
export declare function ralphLoopReviewRound(ctx: Context, round: number, planPath: string): Promise<{
|
|
7
|
+
provider?: string;
|
|
8
|
+
sessionId?: string;
|
|
9
|
+
text: string;
|
|
10
|
+
}>;
|
|
11
|
+
//# sourceMappingURL=ralphLoopReviewRound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopReviewRound.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopReviewRound.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAavC;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BlE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { textFormatKey } from "@text";
|
|
4
|
+
import { generate } from "@/_workflows/steps/generate.js";
|
|
5
|
+
const reviewPromptTemplate = [
|
|
6
|
+
"Run review round {{round}} of 3 for this implementation plan:",
|
|
7
|
+
"{{planContent}}",
|
|
8
|
+
"Review and fix workflow:",
|
|
9
|
+
"- inspect changed code for bugs, regressions, and missing tests",
|
|
10
|
+
"- apply necessary fixes directly in repository files",
|
|
11
|
+
"- keep scope aligned to the plan",
|
|
12
|
+
"- run relevant tests/typechecks",
|
|
13
|
+
"- respond with findings fixed and remaining risks"
|
|
14
|
+
].join("\n\n");
|
|
15
|
+
/**
|
|
16
|
+
* Runs one built-in-inference review round and applies fixes in-place.
|
|
17
|
+
* Expects: round is 1..3 and planPath points to an existing plan file.
|
|
18
|
+
*/
|
|
19
|
+
export async function ralphLoopReviewRound(ctx, round, planPath) {
|
|
20
|
+
if (round < 1 || round > 3) {
|
|
21
|
+
throw new Error(`Invalid review round: ${round}`);
|
|
22
|
+
}
|
|
23
|
+
const projectPath = ctx.projectPath;
|
|
24
|
+
const planContent = await readFile(path.resolve(projectPath, planPath), "utf-8");
|
|
25
|
+
const result = await generate(ctx, reviewPromptTemplate, {
|
|
26
|
+
round,
|
|
27
|
+
planContent
|
|
28
|
+
}, {
|
|
29
|
+
progressMessage: textFormatKey("inference_review_round", { round }),
|
|
30
|
+
modelSelectionMode: "codex-xhigh",
|
|
31
|
+
writePolicy: {
|
|
32
|
+
mode: "write-whitelist",
|
|
33
|
+
writablePaths: [projectPath]
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
provider: result.provider,
|
|
38
|
+
sessionId: result.sessionId,
|
|
39
|
+
text: result.text.trim()
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ralphLoopReviewRound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphLoopReviewRound.js","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphLoopReviewRound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG1D,MAAM,oBAAoB,GAAG;IACzB,+DAA+D;IAC/D,iBAAiB;IACjB,0BAA0B;IAC1B,iEAAiE;IACjE,sDAAsD;IACtD,kCAAkC;IAClC,iCAAiC;IACjC,mDAAmD;CACtD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,GAAY,EACZ,KAAa,EACb,QAAgB;IAEhB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,QAAQ,CACzB,GAAG,EACH,oBAAoB,EACpB;QACI,KAAK;QACL,WAAW;KACd,EACD;QACI,eAAe,EAAE,aAAa,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,CAAC;QACnE,kBAAkB,EAAE,aAAa;QACjC,WAAW,EAAE;YACT,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,CAAC,WAAW,CAAC;SAC/B;KACJ,CACJ,CAAC;IAEF,OAAO;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;KAC3B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Context } from "@/types";
|
|
2
|
+
export interface RalphPlanOptions {
|
|
3
|
+
planPath?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Runs an Opus planning loop with clarifying questions until user approval.
|
|
7
|
+
* Expects: buildGoal is non-empty and ctx.projectPath is writable for plan persistence.
|
|
8
|
+
*/
|
|
9
|
+
export declare function ralphPlan(ctx: Context, buildGoal: string, options?: RalphPlanOptions): Promise<{
|
|
10
|
+
planPath: string;
|
|
11
|
+
provider?: string;
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
text: string;
|
|
14
|
+
}>;
|
|
15
|
+
//# sourceMappingURL=ralphPlan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralphPlan.d.ts","sourceRoot":"","sources":["../../../sources/_workflows/steps/ralphPlan.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AA8BD;;;GAGG;AACH,wBAAsB,SAAS,CAC3B,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA8DpF"}
|