@bastani/atomic 0.6.8 → 0.7.0-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/bin/atomic +65 -0
- package/package.json +17 -82
- package/postinstall.mjs +47 -0
- package/.agents/skills/ado-commit/SKILL.md +0 -94
- package/.agents/skills/ado-create-pr/SKILL.md +0 -211
- package/.agents/skills/advanced-evaluation/SKILL.md +0 -404
- package/.agents/skills/advanced-evaluation/references/bias-mitigation.md +0 -288
- package/.agents/skills/advanced-evaluation/references/evaluation-pipeline.md +0 -43
- package/.agents/skills/advanced-evaluation/references/implementation-patterns.md +0 -315
- package/.agents/skills/advanced-evaluation/references/metrics-guide.md +0 -331
- package/.agents/skills/advanced-evaluation/scripts/evaluation_example.py +0 -392
- package/.agents/skills/ast-grep/SKILL.md +0 -325
- package/.agents/skills/ast-grep/references/rule_reference.md +0 -297
- package/.agents/skills/bdi-mental-states/SKILL.md +0 -313
- package/.agents/skills/bdi-mental-states/references/bdi-ontology-core.md +0 -207
- package/.agents/skills/bdi-mental-states/references/framework-integration.md +0 -582
- package/.agents/skills/bdi-mental-states/references/rdf-examples.md +0 -315
- package/.agents/skills/bdi-mental-states/references/sparql-competency.md +0 -420
- package/.agents/skills/bun/SKILL.md +0 -233
- package/.agents/skills/context-compression/SKILL.md +0 -274
- package/.agents/skills/context-compression/references/evaluation-framework.md +0 -213
- package/.agents/skills/context-compression/scripts/compression_evaluator.py +0 -862
- package/.agents/skills/context-compression/tests/test_compression_evaluator.py +0 -56
- package/.agents/skills/context-degradation/SKILL.md +0 -208
- package/.agents/skills/context-degradation/references/patterns.md +0 -314
- package/.agents/skills/context-degradation/scripts/degradation_detector.py +0 -614
- package/.agents/skills/context-fundamentals/SKILL.md +0 -203
- package/.agents/skills/context-fundamentals/references/context-components.md +0 -283
- package/.agents/skills/context-fundamentals/scripts/context_manager.py +0 -533
- package/.agents/skills/context-optimization/SKILL.md +0 -197
- package/.agents/skills/context-optimization/references/optimization_techniques.md +0 -272
- package/.agents/skills/context-optimization/scripts/compaction.py +0 -562
- package/.agents/skills/create-spec/SKILL.md +0 -249
- package/.agents/skills/docx/LICENSE.txt +0 -30
- package/.agents/skills/docx/SKILL.md +0 -592
- package/.agents/skills/docx/scripts/__init__.py +0 -1
- package/.agents/skills/docx/scripts/accept_changes.py +0 -135
- package/.agents/skills/docx/scripts/comment.py +0 -318
- package/.agents/skills/docx/scripts/office/helpers/__init__.py +0 -0
- package/.agents/skills/docx/scripts/office/helpers/merge_runs.py +0 -199
- package/.agents/skills/docx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/.agents/skills/docx/scripts/office/pack.py +0 -159
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/.agents/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/.agents/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/.agents/skills/docx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/.agents/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/.agents/skills/docx/scripts/office/soffice.py +0 -183
- package/.agents/skills/docx/scripts/office/unpack.py +0 -132
- package/.agents/skills/docx/scripts/office/validate.py +0 -111
- package/.agents/skills/docx/scripts/office/validators/__init__.py +0 -15
- package/.agents/skills/docx/scripts/office/validators/base.py +0 -847
- package/.agents/skills/docx/scripts/office/validators/docx.py +0 -446
- package/.agents/skills/docx/scripts/office/validators/pptx.py +0 -275
- package/.agents/skills/docx/scripts/office/validators/redlining.py +0 -247
- package/.agents/skills/docx/scripts/templates/comments.xml +0 -3
- package/.agents/skills/docx/scripts/templates/commentsExtended.xml +0 -3
- package/.agents/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
- package/.agents/skills/docx/scripts/templates/commentsIds.xml +0 -3
- package/.agents/skills/docx/scripts/templates/people.xml +0 -3
- package/.agents/skills/evaluation/SKILL.md +0 -253
- package/.agents/skills/evaluation/references/metrics.md +0 -339
- package/.agents/skills/evaluation/scripts/evaluator.py +0 -627
- package/.agents/skills/explain-code/SKILL.md +0 -232
- package/.agents/skills/filesystem-context/SKILL.md +0 -289
- package/.agents/skills/filesystem-context/references/implementation-patterns.md +0 -549
- package/.agents/skills/filesystem-context/scripts/filesystem_context.py +0 -425
- package/.agents/skills/find-skills/SKILL.md +0 -144
- package/.agents/skills/gh-commit/SKILL.md +0 -245
- package/.agents/skills/gh-create-pr/SKILL.md +0 -95
- package/.agents/skills/hosted-agents/SKILL.md +0 -262
- package/.agents/skills/hosted-agents/references/infrastructure-patterns.md +0 -700
- package/.agents/skills/hosted-agents/scripts/sandbox_manager.py +0 -590
- package/.agents/skills/impeccable/SKILL.md +0 -178
- package/.agents/skills/impeccable/agents/openai.yaml +0 -4
- package/.agents/skills/impeccable/reference/adapt.md +0 -190
- package/.agents/skills/impeccable/reference/animate.md +0 -175
- package/.agents/skills/impeccable/reference/audit.md +0 -134
- package/.agents/skills/impeccable/reference/bolder.md +0 -113
- package/.agents/skills/impeccable/reference/brand.md +0 -114
- package/.agents/skills/impeccable/reference/clarify.md +0 -174
- package/.agents/skills/impeccable/reference/cognitive-load.md +0 -106
- package/.agents/skills/impeccable/reference/color-and-contrast.md +0 -105
- package/.agents/skills/impeccable/reference/colorize.md +0 -154
- package/.agents/skills/impeccable/reference/craft.md +0 -193
- package/.agents/skills/impeccable/reference/critique.md +0 -213
- package/.agents/skills/impeccable/reference/delight.md +0 -302
- package/.agents/skills/impeccable/reference/distill.md +0 -111
- package/.agents/skills/impeccable/reference/document.md +0 -427
- package/.agents/skills/impeccable/reference/extract.md +0 -70
- package/.agents/skills/impeccable/reference/harden.md +0 -347
- package/.agents/skills/impeccable/reference/heuristics-scoring.md +0 -234
- package/.agents/skills/impeccable/reference/interaction-design.md +0 -195
- package/.agents/skills/impeccable/reference/layout.md +0 -141
- package/.agents/skills/impeccable/reference/live.md +0 -594
- package/.agents/skills/impeccable/reference/motion-design.md +0 -109
- package/.agents/skills/impeccable/reference/onboard.md +0 -234
- package/.agents/skills/impeccable/reference/optimize.md +0 -258
- package/.agents/skills/impeccable/reference/overdrive.md +0 -130
- package/.agents/skills/impeccable/reference/personas.md +0 -178
- package/.agents/skills/impeccable/reference/polish.md +0 -232
- package/.agents/skills/impeccable/reference/product.md +0 -62
- package/.agents/skills/impeccable/reference/quieter.md +0 -99
- package/.agents/skills/impeccable/reference/responsive-design.md +0 -114
- package/.agents/skills/impeccable/reference/shape.md +0 -151
- package/.agents/skills/impeccable/reference/spatial-design.md +0 -100
- package/.agents/skills/impeccable/reference/teach.md +0 -156
- package/.agents/skills/impeccable/reference/typeset.md +0 -124
- package/.agents/skills/impeccable/reference/typography.md +0 -159
- package/.agents/skills/impeccable/reference/ux-writing.md +0 -107
- package/.agents/skills/impeccable/scripts/cleanup-deprecated.mjs +0 -284
- package/.agents/skills/impeccable/scripts/command-metadata.json +0 -94
- package/.agents/skills/impeccable/scripts/design-parser.mjs +0 -820
- package/.agents/skills/impeccable/scripts/detect-csp.mjs +0 -198
- package/.agents/skills/impeccable/scripts/is-generated.mjs +0 -69
- package/.agents/skills/impeccable/scripts/live-accept.mjs +0 -595
- package/.agents/skills/impeccable/scripts/live-browser.js +0 -4781
- package/.agents/skills/impeccable/scripts/live-inject.mjs +0 -445
- package/.agents/skills/impeccable/scripts/live-poll.mjs +0 -186
- package/.agents/skills/impeccable/scripts/live-server.mjs +0 -694
- package/.agents/skills/impeccable/scripts/live-wrap.mjs +0 -571
- package/.agents/skills/impeccable/scripts/live.mjs +0 -247
- package/.agents/skills/impeccable/scripts/load-context.mjs +0 -141
- package/.agents/skills/impeccable/scripts/modern-screenshot.umd.js +0 -14
- package/.agents/skills/impeccable/scripts/pin.mjs +0 -214
- package/.agents/skills/init/SKILL.md +0 -140
- package/.agents/skills/liteparse/SKILL.md +0 -223
- package/.agents/skills/memory-systems/SKILL.md +0 -221
- package/.agents/skills/memory-systems/references/implementation.md +0 -551
- package/.agents/skills/memory-systems/scripts/memory_store.py +0 -616
- package/.agents/skills/multi-agent-patterns/SKILL.md +0 -259
- package/.agents/skills/multi-agent-patterns/references/frameworks.md +0 -433
- package/.agents/skills/multi-agent-patterns/scripts/coordination.py +0 -613
- package/.agents/skills/opentui/SKILL.md +0 -202
- package/.agents/skills/opentui/references/animation/REFERENCE.md +0 -431
- package/.agents/skills/opentui/references/components/REFERENCE.md +0 -144
- package/.agents/skills/opentui/references/components/code-diff.md +0 -672
- package/.agents/skills/opentui/references/components/containers.md +0 -417
- package/.agents/skills/opentui/references/components/inputs.md +0 -531
- package/.agents/skills/opentui/references/components/text-display.md +0 -386
- package/.agents/skills/opentui/references/core/REFERENCE.md +0 -145
- package/.agents/skills/opentui/references/core/api.md +0 -543
- package/.agents/skills/opentui/references/core/configuration.md +0 -168
- package/.agents/skills/opentui/references/core/gotchas.md +0 -393
- package/.agents/skills/opentui/references/core/patterns.md +0 -449
- package/.agents/skills/opentui/references/keyboard/REFERENCE.md +0 -617
- package/.agents/skills/opentui/references/layout/REFERENCE.md +0 -337
- package/.agents/skills/opentui/references/layout/patterns.md +0 -444
- package/.agents/skills/opentui/references/react/REFERENCE.md +0 -174
- package/.agents/skills/opentui/references/react/api.md +0 -436
- package/.agents/skills/opentui/references/react/configuration.md +0 -302
- package/.agents/skills/opentui/references/react/gotchas.md +0 -443
- package/.agents/skills/opentui/references/react/patterns.md +0 -501
- package/.agents/skills/opentui/references/solid/REFERENCE.md +0 -201
- package/.agents/skills/opentui/references/solid/api.md +0 -564
- package/.agents/skills/opentui/references/solid/configuration.md +0 -316
- package/.agents/skills/opentui/references/solid/gotchas.md +0 -427
- package/.agents/skills/opentui/references/solid/patterns.md +0 -560
- package/.agents/skills/opentui/references/testing/REFERENCE.md +0 -614
- package/.agents/skills/pdf/LICENSE.txt +0 -30
- package/.agents/skills/pdf/SKILL.md +0 -316
- package/.agents/skills/pdf/forms.md +0 -294
- package/.agents/skills/pdf/reference.md +0 -612
- package/.agents/skills/pdf/scripts/check_bounding_boxes.py +0 -65
- package/.agents/skills/pdf/scripts/check_fillable_fields.py +0 -11
- package/.agents/skills/pdf/scripts/convert_pdf_to_images.py +0 -33
- package/.agents/skills/pdf/scripts/create_validation_image.py +0 -37
- package/.agents/skills/pdf/scripts/extract_form_field_info.py +0 -122
- package/.agents/skills/pdf/scripts/extract_form_structure.py +0 -115
- package/.agents/skills/pdf/scripts/fill_fillable_fields.py +0 -98
- package/.agents/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -107
- package/.agents/skills/playwright-cli/SKILL.md +0 -390
- package/.agents/skills/playwright-cli/references/element-attributes.md +0 -23
- package/.agents/skills/playwright-cli/references/playwright-tests.md +0 -39
- package/.agents/skills/playwright-cli/references/request-mocking.md +0 -87
- package/.agents/skills/playwright-cli/references/running-code.md +0 -241
- package/.agents/skills/playwright-cli/references/session-management.md +0 -225
- package/.agents/skills/playwright-cli/references/spec-driven-testing.md +0 -305
- package/.agents/skills/playwright-cli/references/storage-state.md +0 -275
- package/.agents/skills/playwright-cli/references/test-generation.md +0 -134
- package/.agents/skills/playwright-cli/references/tracing.md +0 -139
- package/.agents/skills/playwright-cli/references/video-recording.md +0 -143
- package/.agents/skills/pptx/LICENSE.txt +0 -30
- package/.agents/skills/pptx/SKILL.md +0 -234
- package/.agents/skills/pptx/editing.md +0 -205
- package/.agents/skills/pptx/pptxgenjs.md +0 -420
- package/.agents/skills/pptx/scripts/__init__.py +0 -0
- package/.agents/skills/pptx/scripts/add_slide.py +0 -195
- package/.agents/skills/pptx/scripts/clean.py +0 -286
- package/.agents/skills/pptx/scripts/office/helpers/__init__.py +0 -0
- package/.agents/skills/pptx/scripts/office/helpers/merge_runs.py +0 -199
- package/.agents/skills/pptx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/.agents/skills/pptx/scripts/office/pack.py +0 -159
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/.agents/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/.agents/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/.agents/skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/.agents/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/.agents/skills/pptx/scripts/office/soffice.py +0 -183
- package/.agents/skills/pptx/scripts/office/unpack.py +0 -132
- package/.agents/skills/pptx/scripts/office/validate.py +0 -111
- package/.agents/skills/pptx/scripts/office/validators/__init__.py +0 -15
- package/.agents/skills/pptx/scripts/office/validators/base.py +0 -847
- package/.agents/skills/pptx/scripts/office/validators/docx.py +0 -446
- package/.agents/skills/pptx/scripts/office/validators/pptx.py +0 -275
- package/.agents/skills/pptx/scripts/office/validators/redlining.py +0 -247
- package/.agents/skills/pptx/scripts/thumbnail.py +0 -289
- package/.agents/skills/project-development/SKILL.md +0 -293
- package/.agents/skills/project-development/references/case-studies.md +0 -388
- package/.agents/skills/project-development/references/pipeline-patterns.md +0 -610
- package/.agents/skills/project-development/scripts/pipeline_template.py +0 -796
- package/.agents/skills/prompt-engineer/SKILL.md +0 -265
- package/.agents/skills/prompt-engineer/references/advanced_patterns.md +0 -271
- package/.agents/skills/prompt-engineer/references/core_prompting.md +0 -137
- package/.agents/skills/prompt-engineer/references/quality_improvement.md +0 -193
- package/.agents/skills/research-codebase/SKILL.md +0 -229
- package/.agents/skills/ripgrep/SKILL.md +0 -384
- package/.agents/skills/skill-creator/LICENSE.txt +0 -202
- package/.agents/skills/skill-creator/SKILL.md +0 -487
- package/.agents/skills/skill-creator/agents/analyzer.md +0 -274
- package/.agents/skills/skill-creator/agents/comparator.md +0 -202
- package/.agents/skills/skill-creator/agents/grader.md +0 -223
- package/.agents/skills/skill-creator/assets/eval_review.html +0 -146
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
- package/.agents/skills/skill-creator/references/schemas.md +0 -430
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
- package/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
- package/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
- package/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
- package/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
- package/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
- package/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
- package/.agents/skills/skill-creator/scripts/utils.py +0 -47
- package/.agents/skills/sl-commit/SKILL.md +0 -53
- package/.agents/skills/sl-submit-diff/SKILL.md +0 -57
- package/.agents/skills/tdd/SKILL.md +0 -111
- package/.agents/skills/tdd/deep-modules.md +0 -33
- package/.agents/skills/tdd/interface-design.md +0 -31
- package/.agents/skills/tdd/mocking.md +0 -59
- package/.agents/skills/tdd/refactoring.md +0 -10
- package/.agents/skills/tdd/tests.md +0 -61
- package/.agents/skills/tool-design/SKILL.md +0 -273
- package/.agents/skills/tool-design/references/architectural_reduction.md +0 -210
- package/.agents/skills/tool-design/references/best_practices.md +0 -176
- package/.agents/skills/tool-design/scripts/description_generator.py +0 -528
- package/.agents/skills/typescript-advanced-types/SKILL.md +0 -720
- package/.agents/skills/typescript-expert/SKILL.md +0 -434
- package/.agents/skills/typescript-expert/references/tsconfig-strict.json +0 -92
- package/.agents/skills/typescript-expert/references/typescript-cheatsheet.md +0 -383
- package/.agents/skills/typescript-expert/references/utility-types.ts +0 -335
- package/.agents/skills/typescript-expert/scripts/ts_diagnostic.py +0 -203
- package/.agents/skills/typescript-react-reviewer/SKILL.md +0 -201
- package/.agents/skills/typescript-react-reviewer/references/antipatterns.md +0 -510
- package/.agents/skills/typescript-react-reviewer/references/checklist.md +0 -267
- package/.agents/skills/typescript-react-reviewer/references/react19-patterns.md +0 -305
- package/.agents/skills/workflow-creator/SKILL.md +0 -553
- package/.agents/skills/workflow-creator/references/agent-sessions.md +0 -891
- package/.agents/skills/workflow-creator/references/agent-setup-recipe.md +0 -266
- package/.agents/skills/workflow-creator/references/computation-and-validation.md +0 -201
- package/.agents/skills/workflow-creator/references/control-flow.md +0 -470
- package/.agents/skills/workflow-creator/references/failure-modes.md +0 -1014
- package/.agents/skills/workflow-creator/references/getting-started.md +0 -392
- package/.agents/skills/workflow-creator/references/registry-and-validation.md +0 -141
- package/.agents/skills/workflow-creator/references/running-workflows.md +0 -418
- package/.agents/skills/workflow-creator/references/session-config.md +0 -431
- package/.agents/skills/workflow-creator/references/state-and-data-flow.md +0 -356
- package/.agents/skills/workflow-creator/references/user-input.md +0 -234
- package/.agents/skills/workflow-creator/references/workflow-inputs.md +0 -392
- package/.agents/skills/xlsx/LICENSE.txt +0 -30
- package/.agents/skills/xlsx/SKILL.md +0 -294
- package/.agents/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/.agents/skills/xlsx/scripts/office/helpers/merge_runs.py +0 -199
- package/.agents/skills/xlsx/scripts/office/helpers/simplify_redlines.py +0 -197
- package/.agents/skills/xlsx/scripts/office/pack.py +0 -159
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
- package/.agents/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
- package/.agents/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
- package/.agents/skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -75
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
- package/.agents/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
- package/.agents/skills/xlsx/scripts/office/soffice.py +0 -183
- package/.agents/skills/xlsx/scripts/office/unpack.py +0 -132
- package/.agents/skills/xlsx/scripts/office/validate.py +0 -111
- package/.agents/skills/xlsx/scripts/office/validators/__init__.py +0 -15
- package/.agents/skills/xlsx/scripts/office/validators/base.py +0 -847
- package/.agents/skills/xlsx/scripts/office/validators/docx.py +0 -446
- package/.agents/skills/xlsx/scripts/office/validators/pptx.py +0 -275
- package/.agents/skills/xlsx/scripts/office/validators/redlining.py +0 -247
- package/.agents/skills/xlsx/scripts/recalc.py +0 -184
- package/.claude/agents/code-simplifier.md +0 -52
- package/.claude/agents/codebase-analyzer.md +0 -166
- package/.claude/agents/codebase-locator.md +0 -122
- package/.claude/agents/codebase-online-researcher.md +0 -148
- package/.claude/agents/codebase-pattern-finder.md +0 -247
- package/.claude/agents/codebase-research-analyzer.md +0 -179
- package/.claude/agents/codebase-research-locator.md +0 -145
- package/.claude/agents/debugger.md +0 -91
- package/.claude/agents/orchestrator.md +0 -19
- package/.claude/agents/planner.md +0 -295
- package/.claude/agents/reviewer.md +0 -98
- package/.claude/agents/worker.md +0 -165
- package/.claude/settings.json +0 -27
- package/.github/agents/code-simplifier.md +0 -52
- package/.github/agents/codebase-analyzer.md +0 -166
- package/.github/agents/codebase-locator.md +0 -122
- package/.github/agents/codebase-online-researcher.md +0 -146
- package/.github/agents/codebase-pattern-finder.md +0 -247
- package/.github/agents/codebase-research-analyzer.md +0 -179
- package/.github/agents/codebase-research-locator.md +0 -145
- package/.github/agents/debugger.md +0 -98
- package/.github/agents/orchestrator.md +0 -27
- package/.github/agents/planner.md +0 -305
- package/.github/agents/reviewer.md +0 -95
- package/.github/agents/worker.md +0 -237
- package/.github/lsp.json +0 -93
- package/.mcp.json +0 -20
- package/.opencode/agents/code-simplifier.md +0 -62
- package/.opencode/agents/codebase-analyzer.md +0 -171
- package/.opencode/agents/codebase-locator.md +0 -127
- package/.opencode/agents/codebase-online-researcher.md +0 -152
- package/.opencode/agents/codebase-pattern-finder.md +0 -252
- package/.opencode/agents/codebase-research-analyzer.md +0 -183
- package/.opencode/agents/codebase-research-locator.md +0 -149
- package/.opencode/agents/debugger.md +0 -99
- package/.opencode/agents/orchestrator.md +0 -27
- package/.opencode/agents/planner.md +0 -309
- package/.opencode/agents/reviewer.md +0 -103
- package/.opencode/agents/worker.md +0 -165
- package/.opencode/opencode.json +0 -25
- package/README.md +0 -1624
- package/assets/settings.schema.json +0 -51
- package/dist/commands/cli/claude-inflight-hook.d.ts +0 -100
- package/dist/commands/cli/claude-inflight-hook.d.ts.map +0 -1
- package/dist/commands/cli/claude-stop-hook.d.ts +0 -80
- package/dist/commands/cli/claude-stop-hook.d.ts.map +0 -1
- package/dist/lib/atomic-temp.d.ts +0 -8
- package/dist/lib/atomic-temp.d.ts.map +0 -1
- package/dist/lib/path-root-guard.d.ts +0 -4
- package/dist/lib/path-root-guard.d.ts.map +0 -1
- package/dist/lib/spawn.d.ts +0 -102
- package/dist/lib/spawn.d.ts.map +0 -1
- package/dist/lib/terminal-env.d.ts +0 -9
- package/dist/lib/terminal-env.d.ts.map +0 -1
- package/dist/sdk/components/attached-statusline.d.ts +0 -26
- package/dist/sdk/components/attached-statusline.d.ts.map +0 -1
- package/dist/sdk/components/color-utils.d.ts +0 -4
- package/dist/sdk/components/color-utils.d.ts.map +0 -1
- package/dist/sdk/components/compact-switcher.d.ts +0 -10
- package/dist/sdk/components/compact-switcher.d.ts.map +0 -1
- package/dist/sdk/components/connectors.d.ts +0 -16
- package/dist/sdk/components/connectors.d.ts.map +0 -1
- package/dist/sdk/components/edge.d.ts +0 -4
- package/dist/sdk/components/edge.d.ts.map +0 -1
- package/dist/sdk/components/error-boundary.d.ts +0 -23
- package/dist/sdk/components/error-boundary.d.ts.map +0 -1
- package/dist/sdk/components/graph-theme.d.ts +0 -18
- package/dist/sdk/components/graph-theme.d.ts.map +0 -1
- package/dist/sdk/components/header.d.ts +0 -3
- package/dist/sdk/components/header.d.ts.map +0 -1
- package/dist/sdk/components/hooks.d.ts +0 -15
- package/dist/sdk/components/hooks.d.ts.map +0 -1
- package/dist/sdk/components/layout.d.ts +0 -27
- package/dist/sdk/components/layout.d.ts.map +0 -1
- package/dist/sdk/components/node-card.d.ts +0 -10
- package/dist/sdk/components/node-card.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel-contexts.d.ts +0 -16
- package/dist/sdk/components/orchestrator-panel-contexts.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel-store.d.ts +0 -52
- package/dist/sdk/components/orchestrator-panel-store.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel-types.d.ts +0 -18
- package/dist/sdk/components/orchestrator-panel-types.d.ts.map +0 -1
- package/dist/sdk/components/orchestrator-panel.d.ts +0 -86
- package/dist/sdk/components/orchestrator-panel.d.ts.map +0 -1
- package/dist/sdk/components/renderer-background.d.ts +0 -9
- package/dist/sdk/components/renderer-background.d.ts.map +0 -1
- package/dist/sdk/components/session-graph-panel.d.ts +0 -7
- package/dist/sdk/components/session-graph-panel.d.ts.map +0 -1
- package/dist/sdk/components/status-helpers.d.ts +0 -6
- package/dist/sdk/components/status-helpers.d.ts.map +0 -1
- package/dist/sdk/components/statusline.d.ts +0 -5
- package/dist/sdk/components/statusline.d.ts.map +0 -1
- package/dist/sdk/components/tui-diagnostics.d.ts +0 -56
- package/dist/sdk/components/tui-diagnostics.d.ts.map +0 -1
- package/dist/sdk/components/workflow-picker-panel.d.ts +0 -126
- package/dist/sdk/components/workflow-picker-panel.d.ts.map +0 -1
- package/dist/sdk/define-workflow.d.ts +0 -107
- package/dist/sdk/define-workflow.d.ts.map +0 -1
- package/dist/sdk/errors.d.ts +0 -46
- package/dist/sdk/errors.d.ts.map +0 -1
- package/dist/sdk/index.d.ts +0 -26
- package/dist/sdk/index.d.ts.map +0 -1
- package/dist/sdk/primitives/inputs.d.ts +0 -36
- package/dist/sdk/primitives/inputs.d.ts.map +0 -1
- package/dist/sdk/primitives/metadata.d.ts +0 -40
- package/dist/sdk/primitives/metadata.d.ts.map +0 -1
- package/dist/sdk/primitives/run.d.ts +0 -57
- package/dist/sdk/primitives/run.d.ts.map +0 -1
- package/dist/sdk/primitives/sessions.d.ts +0 -128
- package/dist/sdk/primitives/sessions.d.ts.map +0 -1
- package/dist/sdk/providers/claude.d.ts +0 -392
- package/dist/sdk/providers/claude.d.ts.map +0 -1
- package/dist/sdk/providers/copilot.d.ts +0 -55
- package/dist/sdk/providers/copilot.d.ts.map +0 -1
- package/dist/sdk/providers/opencode.d.ts +0 -27
- package/dist/sdk/providers/opencode.d.ts.map +0 -1
- package/dist/sdk/registry.d.ts +0 -27
- package/dist/sdk/registry.d.ts.map +0 -1
- package/dist/sdk/runtime/attached-footer.d.ts +0 -31
- package/dist/sdk/runtime/attached-footer.d.ts.map +0 -1
- package/dist/sdk/runtime/cc-debounce.d.ts +0 -29
- package/dist/sdk/runtime/cc-debounce.d.ts.map +0 -1
- package/dist/sdk/runtime/executor-env.d.ts +0 -20
- package/dist/sdk/runtime/executor-env.d.ts.map +0 -1
- package/dist/sdk/runtime/executor.d.ts +0 -265
- package/dist/sdk/runtime/executor.d.ts.map +0 -1
- package/dist/sdk/runtime/graph-inference.d.ts +0 -35
- package/dist/sdk/runtime/graph-inference.d.ts.map +0 -1
- package/dist/sdk/runtime/orchestrator-entry.d.ts +0 -26
- package/dist/sdk/runtime/orchestrator-entry.d.ts.map +0 -1
- package/dist/sdk/runtime/panel.d.ts +0 -9
- package/dist/sdk/runtime/panel.d.ts.map +0 -1
- package/dist/sdk/runtime/port-discovery.d.ts +0 -71
- package/dist/sdk/runtime/port-discovery.d.ts.map +0 -1
- package/dist/sdk/runtime/status-writer.d.ts +0 -101
- package/dist/sdk/runtime/status-writer.d.ts.map +0 -1
- package/dist/sdk/runtime/theme.d.ts +0 -33
- package/dist/sdk/runtime/theme.d.ts.map +0 -1
- package/dist/sdk/runtime/tmux.d.ts +0 -307
- package/dist/sdk/runtime/tmux.d.ts.map +0 -1
- package/dist/sdk/runtime/version-compat.d.ts +0 -28
- package/dist/sdk/runtime/version-compat.d.ts.map +0 -1
- package/dist/sdk/types.d.ts +0 -435
- package/dist/sdk/types.d.ts.map +0 -1
- package/dist/sdk/worker-shared.d.ts +0 -42
- package/dist/sdk/worker-shared.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts +0 -81
- package/dist/sdk/workflows/builtin/deep-research-codebase/claude/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts +0 -37
- package/dist/sdk/workflows/builtin/deep-research-codebase/copilot/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/batching.d.ts +0 -43
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/batching.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts +0 -14
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts +0 -136
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts +0 -58
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scout.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scratch.d.ts +0 -43
- package/dist/sdk/workflows/builtin/deep-research-codebase/helpers/scratch.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts +0 -37
- package/dist/sdk/workflows/builtin/deep-research-codebase/opencode/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts +0 -68
- package/dist/sdk/workflows/builtin/open-claude-design/claude/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts +0 -56
- package/dist/sdk/workflows/builtin/open-claude-design/copilot/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts +0 -72
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/constants.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts +0 -46
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/design-system.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts +0 -32
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/export.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts +0 -33
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/import.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts +0 -106
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/prompts.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts +0 -50
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/scan.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts +0 -12
- package/dist/sdk/workflows/builtin/open-claude-design/helpers/validation.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts +0 -58
- package/dist/sdk/workflows/builtin/open-claude-design/opencode/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts +0 -37
- package/dist/sdk/workflows/builtin/ralph/claude/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts +0 -34
- package/dist/sdk/workflows/builtin/ralph/copilot/index.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/helpers/copilot-reviewer.d.ts +0 -25
- package/dist/sdk/workflows/builtin/ralph/helpers/copilot-reviewer.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts +0 -69
- package/dist/sdk/workflows/builtin/ralph/helpers/git.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts +0 -266
- package/dist/sdk/workflows/builtin/ralph/helpers/prompts.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts +0 -24
- package/dist/sdk/workflows/builtin/ralph/helpers/review.d.ts.map +0 -1
- package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts +0 -33
- package/dist/sdk/workflows/builtin/ralph/opencode/index.d.ts.map +0 -1
- package/dist/sdk/workflows/index.d.ts +0 -32
- package/dist/sdk/workflows/index.d.ts.map +0 -1
- package/dist/services/config/additional-instructions.d.ts +0 -67
- package/dist/services/config/additional-instructions.d.ts.map +0 -1
- package/dist/services/config/atomic-config.d.ts +0 -42
- package/dist/services/config/atomic-config.d.ts.map +0 -1
- package/dist/services/config/definitions.d.ts +0 -52
- package/dist/services/config/definitions.d.ts.map +0 -1
- package/dist/services/config/index.d.ts +0 -7
- package/dist/services/config/index.d.ts.map +0 -1
- package/dist/services/config/scm-sync.d.ts +0 -37
- package/dist/services/config/scm-sync.d.ts.map +0 -1
- package/dist/services/config/settings-schema.d.ts +0 -2
- package/dist/services/config/settings-schema.d.ts.map +0 -1
- package/dist/services/system/copy.d.ts +0 -84
- package/dist/services/system/copy.d.ts.map +0 -1
- package/dist/services/system/detect.d.ts +0 -75
- package/dist/services/system/detect.d.ts.map +0 -1
- package/dist/theme/colors.d.ts +0 -35
- package/dist/theme/colors.d.ts.map +0 -1
- package/src/cli.ts +0 -397
- package/src/commands/builtin-registry.ts +0 -37
- package/src/commands/cli/chat/index.test.ts +0 -252
- package/src/commands/cli/chat/index.ts +0 -430
- package/src/commands/cli/chat.ts +0 -8
- package/src/commands/cli/claude-ask-hook.test.ts +0 -128
- package/src/commands/cli/claude-ask-hook.ts +0 -84
- package/src/commands/cli/claude-inflight-hook.test.ts +0 -598
- package/src/commands/cli/claude-inflight-hook.ts +0 -359
- package/src/commands/cli/claude-session-start-hook.ts +0 -61
- package/src/commands/cli/claude-stop-hook.test.ts +0 -317
- package/src/commands/cli/claude-stop-hook.ts +0 -441
- package/src/commands/cli/completions.ts +0 -24
- package/src/commands/cli/config.ts +0 -80
- package/src/commands/cli/footer.tsx +0 -248
- package/src/commands/cli/init/index.ts +0 -41
- package/src/commands/cli/init/onboarding.ts +0 -61
- package/src/commands/cli/init.ts +0 -8
- package/src/commands/cli/management-commands.ts +0 -112
- package/src/commands/cli/session.test.ts +0 -830
- package/src/commands/cli/session.ts +0 -447
- package/src/commands/cli/workflow-command.test.ts +0 -618
- package/src/commands/cli/workflow-inputs.test.ts +0 -353
- package/src/commands/cli/workflow-inputs.ts +0 -266
- package/src/commands/cli/workflow-list.test.ts +0 -235
- package/src/commands/cli/workflow-list.ts +0 -0
- package/src/commands/cli/workflow-status.test.ts +0 -451
- package/src/commands/cli/workflow-status.ts +0 -330
- package/src/commands/cli/workflow.ts +0 -196
- package/src/completions/bash.ts +0 -102
- package/src/completions/fish.ts +0 -136
- package/src/completions/index.ts +0 -7
- package/src/completions/powershell.ts +0 -195
- package/src/completions/zsh.ts +0 -150
- package/src/lib/atomic-temp.test.ts +0 -86
- package/src/lib/atomic-temp.ts +0 -62
- package/src/lib/common-ignore.ts +0 -46
- package/src/lib/merge.ts +0 -103
- package/src/lib/path-root-guard.ts +0 -38
- package/src/lib/spawn.test.ts +0 -109
- package/src/lib/spawn.ts +0 -678
- package/src/lib/terminal-env.test.ts +0 -343
- package/src/lib/terminal-env.ts +0 -100
- package/src/scripts/bump-version.ts +0 -94
- package/src/scripts/bundle-configs.ts +0 -116
- package/src/scripts/clean-dist.test.ts +0 -53
- package/src/scripts/clean-dist.ts +0 -37
- package/src/scripts/constants-base.ts +0 -14
- package/src/scripts/constants.ts +0 -35
- package/src/sdk/components/attached-statusline.tsx +0 -86
- package/src/sdk/components/color-utils.ts +0 -20
- package/src/sdk/components/compact-switcher.tsx +0 -78
- package/src/sdk/components/connectors.test.ts +0 -707
- package/src/sdk/components/connectors.ts +0 -160
- package/src/sdk/components/edge.tsx +0 -13
- package/src/sdk/components/error-boundary.tsx +0 -38
- package/src/sdk/components/graph-theme.ts +0 -37
- package/src/sdk/components/header.tsx +0 -85
- package/src/sdk/components/hooks.ts +0 -21
- package/src/sdk/components/layout.test.ts +0 -1245
- package/src/sdk/components/layout.ts +0 -223
- package/src/sdk/components/node-card.tsx +0 -91
- package/src/sdk/components/orchestrator-panel-contexts.ts +0 -35
- package/src/sdk/components/orchestrator-panel-store.test.ts +0 -847
- package/src/sdk/components/orchestrator-panel-store.ts +0 -187
- package/src/sdk/components/orchestrator-panel-types.ts +0 -23
- package/src/sdk/components/orchestrator-panel.tsx +0 -262
- package/src/sdk/components/renderer-background.ts +0 -49
- package/src/sdk/components/session-graph-panel.tsx +0 -471
- package/src/sdk/components/status-helpers.ts +0 -33
- package/src/sdk/components/statusline.tsx +0 -68
- package/src/sdk/components/tui-diagnostics.ts +0 -273
- package/src/sdk/components/workflow-picker-panel.tsx +0 -1613
- package/src/sdk/define-workflow.test.ts +0 -354
- package/src/sdk/define-workflow.ts +0 -275
- package/src/sdk/errors.test.ts +0 -83
- package/src/sdk/errors.ts +0 -77
- package/src/sdk/index.test.ts +0 -92
- package/src/sdk/index.ts +0 -101
- package/src/sdk/primitives/inputs.ts +0 -48
- package/src/sdk/primitives/metadata.ts +0 -63
- package/src/sdk/primitives/run.ts +0 -81
- package/src/sdk/primitives/sessions.test.ts +0 -594
- package/src/sdk/primitives/sessions.ts +0 -328
- package/src/sdk/providers/claude.ts +0 -1450
- package/src/sdk/providers/copilot.test.ts +0 -365
- package/src/sdk/providers/copilot.ts +0 -185
- package/src/sdk/providers/headless-hil-policy.test.ts +0 -211
- package/src/sdk/providers/opencode.ts +0 -88
- package/src/sdk/registry.ts +0 -132
- package/src/sdk/runtime/attached-footer.ts +0 -155
- package/src/sdk/runtime/cc-debounce.ts +0 -104
- package/src/sdk/runtime/executor-env.ts +0 -45
- package/src/sdk/runtime/executor.test.ts +0 -1321
- package/src/sdk/runtime/executor.ts +0 -2136
- package/src/sdk/runtime/graph-inference.ts +0 -50
- package/src/sdk/runtime/orchestrator-entry.ts +0 -110
- package/src/sdk/runtime/panel.tsx +0 -9
- package/src/sdk/runtime/port-discovery.test.ts +0 -573
- package/src/sdk/runtime/port-discovery.ts +0 -496
- package/src/sdk/runtime/status-writer.test.ts +0 -245
- package/src/sdk/runtime/status-writer.ts +0 -201
- package/src/sdk/runtime/theme.ts +0 -71
- package/src/sdk/runtime/tmux.conf +0 -112
- package/src/sdk/runtime/tmux.ts +0 -785
- package/src/sdk/runtime/version-compat.ts +0 -68
- package/src/sdk/types.ts +0 -548
- package/src/sdk/worker-shared.test.ts +0 -163
- package/src/sdk/worker-shared.ts +0 -155
- package/src/sdk/workflows/builtin/deep-research-codebase/claude/index.ts +0 -569
- package/src/sdk/workflows/builtin/deep-research-codebase/copilot/index.ts +0 -481
- package/src/sdk/workflows/builtin/deep-research-codebase/helpers/batching.ts +0 -65
- package/src/sdk/workflows/builtin/deep-research-codebase/helpers/heuristic.ts +0 -24
- package/src/sdk/workflows/builtin/deep-research-codebase/helpers/ignore-by-default.d.ts +0 -8
- package/src/sdk/workflows/builtin/deep-research-codebase/helpers/prompts.ts +0 -958
- package/src/sdk/workflows/builtin/deep-research-codebase/helpers/scout.ts +0 -505
- package/src/sdk/workflows/builtin/deep-research-codebase/helpers/scratch.ts +0 -115
- package/src/sdk/workflows/builtin/deep-research-codebase/opencode/index.ts +0 -530
- package/src/sdk/workflows/builtin/open-claude-design/claude/index.ts +0 -500
- package/src/sdk/workflows/builtin/open-claude-design/copilot/index.ts +0 -508
- package/src/sdk/workflows/builtin/open-claude-design/helpers/constants.ts +0 -159
- package/src/sdk/workflows/builtin/open-claude-design/helpers/design-system.ts +0 -88
- package/src/sdk/workflows/builtin/open-claude-design/helpers/export.ts +0 -193
- package/src/sdk/workflows/builtin/open-claude-design/helpers/import.ts +0 -52
- package/src/sdk/workflows/builtin/open-claude-design/helpers/prompts.ts +0 -1110
- package/src/sdk/workflows/builtin/open-claude-design/helpers/scan.ts +0 -117
- package/src/sdk/workflows/builtin/open-claude-design/helpers/validation.ts +0 -38
- package/src/sdk/workflows/builtin/open-claude-design/opencode/index.ts +0 -610
- package/src/sdk/workflows/builtin/ralph/claude/index.ts +0 -272
- package/src/sdk/workflows/builtin/ralph/copilot/index.ts +0 -298
- package/src/sdk/workflows/builtin/ralph/helpers/copilot-reviewer.ts +0 -105
- package/src/sdk/workflows/builtin/ralph/helpers/git.ts +0 -201
- package/src/sdk/workflows/builtin/ralph/helpers/prompts.ts +0 -1108
- package/src/sdk/workflows/builtin/ralph/helpers/review.ts +0 -33
- package/src/sdk/workflows/builtin/ralph/opencode/index.ts +0 -290
- package/src/sdk/workflows/index.ts +0 -116
- package/src/services/config/additional-instructions.ts +0 -273
- package/src/services/config/atomic-config.ts +0 -210
- package/src/services/config/atomic-global-config.ts +0 -348
- package/src/services/config/config-path.ts +0 -19
- package/src/services/config/definitions.ts +0 -125
- package/src/services/config/index.ts +0 -7
- package/src/services/config/scm-sync.ts +0 -185
- package/src/services/config/settings-schema.ts +0 -2
- package/src/services/config/settings.ts +0 -144
- package/src/services/system/agents.ts +0 -95
- package/src/services/system/auth.test.ts +0 -343
- package/src/services/system/auth.ts +0 -140
- package/src/services/system/auto-sync.ts +0 -128
- package/src/services/system/copy.ts +0 -392
- package/src/services/system/detect.ts +0 -161
- package/src/services/system/file-lock.ts +0 -289
- package/src/services/system/install-ui.ts +0 -296
- package/src/services/system/skills.ts +0 -58
- package/src/theme/colors.ts +0 -96
- package/src/theme/logo.ts +0 -123
- package/src/version.ts +0 -7
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ralph workflow for Claude Code — plan → orchestrate → review loop.
|
|
3
|
-
*
|
|
4
|
-
* Each sub-agent invocation spawns its own visible session in the graph,
|
|
5
|
-
* so users can see each iteration's progress in real time. The loop
|
|
6
|
-
* terminates when:
|
|
7
|
-
* - `max_loops` iterations have completed (defaults to {@link DEFAULT_MAX_LOOPS}), OR
|
|
8
|
-
* - Both parallel reviewer passes return `overall_correctness === "patch is correct"`.
|
|
9
|
-
*
|
|
10
|
-
* On a failed review the merged findings are formatted into a markdown
|
|
11
|
-
* brief by {@link formatReviewForReplan} and fed into the next iteration's
|
|
12
|
-
* planner, which is responsible for validating, deduping, and clustering
|
|
13
|
-
* them into shared root causes before revising the RFC.
|
|
14
|
-
*
|
|
15
|
-
* The reviewer stages run **headless** via the Claude Agent SDK with
|
|
16
|
-
* `outputFormat: { type: "json_schema", schema: REVIEW_RESULT_JSON_SCHEMA }`,
|
|
17
|
-
* so the SDK validates {@link ReviewResultSchema} before returning. The
|
|
18
|
-
* validated object is read from `s.session.lastStructuredOutput` — no text
|
|
19
|
-
* parsing required. Running the reviewers headless (no tmux pane) keeps the
|
|
20
|
-
* graph focused on stages the user cares about and lets the SDK enforce the
|
|
21
|
-
* schema without TUI round-trips.
|
|
22
|
-
*
|
|
23
|
-
* Run: atomic workflow -n ralph -a claude "<your spec>"
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
import { defineWorkflow, extractAssistantText } from "../../../index.ts";
|
|
27
|
-
|
|
28
|
-
import {
|
|
29
|
-
buildPlannerPrompt,
|
|
30
|
-
buildOrchestratorPrompt,
|
|
31
|
-
buildCodeSimplifierPrompt,
|
|
32
|
-
buildInfraDiscoveryPrompts,
|
|
33
|
-
buildReviewPrompt,
|
|
34
|
-
filterActionable,
|
|
35
|
-
formatReviewForReplan,
|
|
36
|
-
mergeReviewResults,
|
|
37
|
-
REVIEW_RESULT_JSON_SCHEMA,
|
|
38
|
-
type ReviewResult,
|
|
39
|
-
type StructuredReviewResult,
|
|
40
|
-
} from "../helpers/prompts.ts";
|
|
41
|
-
import { hasActionableFindings } from "../helpers/review.ts";
|
|
42
|
-
import { captureBranchChangeset } from "../helpers/git.ts";
|
|
43
|
-
|
|
44
|
-
const DEFAULT_MAX_LOOPS = 10;
|
|
45
|
-
|
|
46
|
-
// The orchestrator stage implements the actual code changes and can run for
|
|
47
|
-
// a very long time on large tasks. Completion is detected via session file
|
|
48
|
-
// watching for idle and result events from Claude's own SDK — no manual
|
|
49
|
-
// timeout is needed.
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Turn the SDK's validated structured_output (plus raw transcript text) into a
|
|
53
|
-
* {@link StructuredReviewResult}. When the SDK failed to validate the schema
|
|
54
|
-
* (`error_max_structured_output_retries`) `structured_output` is absent and
|
|
55
|
-
* we propagate `null` so {@link mergeReviewResults} treats the pass as
|
|
56
|
-
* unknown/actionable.
|
|
57
|
-
*/
|
|
58
|
-
function extractReview(
|
|
59
|
-
structuredOutput: unknown,
|
|
60
|
-
rawText: string,
|
|
61
|
-
): StructuredReviewResult {
|
|
62
|
-
if (structuredOutput && typeof structuredOutput === "object") {
|
|
63
|
-
return {
|
|
64
|
-
structured: filterActionable(structuredOutput as ReviewResult),
|
|
65
|
-
raw: rawText,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return { structured: null, raw: rawText };
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export default defineWorkflow({
|
|
72
|
-
name: "ralph",
|
|
73
|
-
source: import.meta.path,
|
|
74
|
-
description: "Plan → orchestrate → review loop with bounded iteration",
|
|
75
|
-
inputs: [
|
|
76
|
-
{
|
|
77
|
-
name: "prompt",
|
|
78
|
-
type: "text",
|
|
79
|
-
required: true,
|
|
80
|
-
description: "task prompt",
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: "max_loops",
|
|
84
|
-
type: "integer",
|
|
85
|
-
description: "maximum number of plan/orchestrate/review iterations",
|
|
86
|
-
default: DEFAULT_MAX_LOOPS,
|
|
87
|
-
},
|
|
88
|
-
],
|
|
89
|
-
})
|
|
90
|
-
.for("claude")
|
|
91
|
-
.run(async (ctx) => {
|
|
92
|
-
const prompt = ctx.inputs.prompt ?? "";
|
|
93
|
-
const maxLoops = ctx.inputs.max_loops ?? DEFAULT_MAX_LOOPS;
|
|
94
|
-
let reviewReport = "";
|
|
95
|
-
|
|
96
|
-
for (let iteration = 1; iteration <= maxLoops; iteration++) {
|
|
97
|
-
// ── Plan ────────────────────────────────────────────────────────────
|
|
98
|
-
const planner = await ctx.stage(
|
|
99
|
-
{ name: `planner-${iteration}` },
|
|
100
|
-
{
|
|
101
|
-
chatFlags: [
|
|
102
|
-
"--agent",
|
|
103
|
-
"planner",
|
|
104
|
-
"--allow-dangerously-skip-permissions",
|
|
105
|
-
"--dangerously-skip-permissions",
|
|
106
|
-
],
|
|
107
|
-
},
|
|
108
|
-
{},
|
|
109
|
-
async (s) => {
|
|
110
|
-
const result = await s.session.query(
|
|
111
|
-
buildPlannerPrompt(prompt, {
|
|
112
|
-
iteration,
|
|
113
|
-
reviewReport: reviewReport || undefined,
|
|
114
|
-
}),
|
|
115
|
-
);
|
|
116
|
-
s.save(s.sessionId);
|
|
117
|
-
return extractAssistantText(result, 0);
|
|
118
|
-
},
|
|
119
|
-
);
|
|
120
|
-
|
|
121
|
-
// ── Orchestrate ─────────────────────────────────────────────────────
|
|
122
|
-
await ctx.stage(
|
|
123
|
-
{ name: `orchestrator-${iteration}` },
|
|
124
|
-
{
|
|
125
|
-
chatFlags: [
|
|
126
|
-
"--agent",
|
|
127
|
-
"orchestrator",
|
|
128
|
-
"--allow-dangerously-skip-permissions",
|
|
129
|
-
"--dangerously-skip-permissions",
|
|
130
|
-
],
|
|
131
|
-
},
|
|
132
|
-
{},
|
|
133
|
-
async (s) => {
|
|
134
|
-
await s.session.query(
|
|
135
|
-
buildOrchestratorPrompt(prompt, {
|
|
136
|
-
plannerNotes: planner.result,
|
|
137
|
-
}),
|
|
138
|
-
);
|
|
139
|
-
s.save(s.sessionId);
|
|
140
|
-
},
|
|
141
|
-
);
|
|
142
|
-
|
|
143
|
-
// ── Code Simplifier ─────────────────────────────────────────────────
|
|
144
|
-
await ctx.stage(
|
|
145
|
-
{ name: `code-simplifier-${iteration}` },
|
|
146
|
-
{
|
|
147
|
-
chatFlags: [
|
|
148
|
-
"--agent",
|
|
149
|
-
"code-simplifier",
|
|
150
|
-
"--allow-dangerously-skip-permissions",
|
|
151
|
-
"--dangerously-skip-permissions",
|
|
152
|
-
],
|
|
153
|
-
},
|
|
154
|
-
{},
|
|
155
|
-
async (s) => {
|
|
156
|
-
await s.session.query(
|
|
157
|
-
buildCodeSimplifierPrompt(prompt, {
|
|
158
|
-
plannerNotes: planner.result,
|
|
159
|
-
}),
|
|
160
|
-
);
|
|
161
|
-
s.save(s.sessionId);
|
|
162
|
-
},
|
|
163
|
-
);
|
|
164
|
-
|
|
165
|
-
// ── Infrastructure Discovery (three parallel sub-agent stages) ────
|
|
166
|
-
const changeset = await captureBranchChangeset();
|
|
167
|
-
const discoveryPrompts = buildInfraDiscoveryPrompts();
|
|
168
|
-
|
|
169
|
-
const [locatorResult, analyzerResult, patternResult] = await Promise.all([
|
|
170
|
-
ctx.stage(
|
|
171
|
-
{ name: `infra-locate-${iteration}`, headless: true },
|
|
172
|
-
{},
|
|
173
|
-
{},
|
|
174
|
-
async (s) => {
|
|
175
|
-
const result = await s.session.query(discoveryPrompts.locator, {
|
|
176
|
-
agent: "codebase-locator",
|
|
177
|
-
permissionMode: "bypassPermissions",
|
|
178
|
-
allowDangerouslySkipPermissions: true,
|
|
179
|
-
});
|
|
180
|
-
s.save(s.sessionId);
|
|
181
|
-
return extractAssistantText(result, 0);
|
|
182
|
-
},
|
|
183
|
-
),
|
|
184
|
-
ctx.stage(
|
|
185
|
-
{ name: `infra-analyze-${iteration}`, headless: true },
|
|
186
|
-
{},
|
|
187
|
-
{},
|
|
188
|
-
async (s) => {
|
|
189
|
-
const result = await s.session.query(discoveryPrompts.analyzer, {
|
|
190
|
-
agent: "codebase-analyzer",
|
|
191
|
-
permissionMode: "bypassPermissions",
|
|
192
|
-
allowDangerouslySkipPermissions: true,
|
|
193
|
-
});
|
|
194
|
-
s.save(s.sessionId);
|
|
195
|
-
return extractAssistantText(result, 0);
|
|
196
|
-
},
|
|
197
|
-
),
|
|
198
|
-
ctx.stage(
|
|
199
|
-
{ name: `infra-patterns-${iteration}`, headless: true },
|
|
200
|
-
{},
|
|
201
|
-
{},
|
|
202
|
-
async (s) => {
|
|
203
|
-
const result = await s.session.query(
|
|
204
|
-
discoveryPrompts.patternFinder,
|
|
205
|
-
{
|
|
206
|
-
agent: "codebase-pattern-finder",
|
|
207
|
-
permissionMode: "bypassPermissions",
|
|
208
|
-
allowDangerouslySkipPermissions: true,
|
|
209
|
-
},
|
|
210
|
-
);
|
|
211
|
-
s.save(s.sessionId);
|
|
212
|
-
return extractAssistantText(result, 0);
|
|
213
|
-
},
|
|
214
|
-
),
|
|
215
|
-
]);
|
|
216
|
-
|
|
217
|
-
const discoveryContext = [
|
|
218
|
-
"### Infrastructure Files (codebase-locator)\n\n" +
|
|
219
|
-
locatorResult.result,
|
|
220
|
-
"### Infrastructure Analysis (codebase-analyzer)\n\n" +
|
|
221
|
-
analyzerResult.result,
|
|
222
|
-
"### Build & Test Patterns (codebase-pattern-finder)\n\n" +
|
|
223
|
-
patternResult.result,
|
|
224
|
-
].join("\n\n---\n\n");
|
|
225
|
-
|
|
226
|
-
// ── Review (two parallel headless passes with schema enforcement) ──
|
|
227
|
-
const reviewPrompt = buildReviewPrompt(prompt, {
|
|
228
|
-
changeset,
|
|
229
|
-
iteration,
|
|
230
|
-
discoveryContext,
|
|
231
|
-
});
|
|
232
|
-
|
|
233
|
-
const runReviewer = (name: string) =>
|
|
234
|
-
ctx.stage(
|
|
235
|
-
{ name, headless: true },
|
|
236
|
-
{},
|
|
237
|
-
{},
|
|
238
|
-
async (s) => {
|
|
239
|
-
const result = await s.session.query(reviewPrompt, {
|
|
240
|
-
agent: "reviewer",
|
|
241
|
-
permissionMode: "bypassPermissions",
|
|
242
|
-
allowDangerouslySkipPermissions: true,
|
|
243
|
-
outputFormat: {
|
|
244
|
-
type: "json_schema",
|
|
245
|
-
schema: REVIEW_RESULT_JSON_SCHEMA,
|
|
246
|
-
},
|
|
247
|
-
});
|
|
248
|
-
s.save(s.sessionId);
|
|
249
|
-
return extractReview(
|
|
250
|
-
s.session.lastStructuredOutput,
|
|
251
|
-
extractAssistantText(result, 0),
|
|
252
|
-
);
|
|
253
|
-
},
|
|
254
|
-
);
|
|
255
|
-
|
|
256
|
-
const [reviewA, reviewB] = await Promise.all([
|
|
257
|
-
runReviewer(`reviewer-${iteration}-a`),
|
|
258
|
-
runReviewer(`reviewer-${iteration}-b`),
|
|
259
|
-
]);
|
|
260
|
-
|
|
261
|
-
const merged = mergeReviewResults(reviewA.result, reviewB.result);
|
|
262
|
-
const parsed = merged.structured;
|
|
263
|
-
const reviewRaw = merged.raw;
|
|
264
|
-
|
|
265
|
-
// Both reviewers agree the code is clean → done
|
|
266
|
-
if (!hasActionableFindings(parsed, reviewRaw)) break;
|
|
267
|
-
|
|
268
|
-
// Findings exist — format them for the next iteration's planner.
|
|
269
|
-
reviewReport = formatReviewForReplan(parsed, reviewRaw);
|
|
270
|
-
}
|
|
271
|
-
})
|
|
272
|
-
.compile();
|
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ralph workflow for Copilot — plan → orchestrate → review loop.
|
|
3
|
-
*
|
|
4
|
-
* Each sub-agent invocation spawns its own visible session in the graph,
|
|
5
|
-
* so users can see each iteration's progress in real time. The loop
|
|
6
|
-
* terminates when:
|
|
7
|
-
* - `max_loops` iterations have completed (defaults to {@link DEFAULT_MAX_LOOPS}), OR
|
|
8
|
-
* - Both parallel reviewer passes return `overall_correctness === "patch is correct"`.
|
|
9
|
-
*
|
|
10
|
-
* On a failed review the merged findings are formatted into a markdown
|
|
11
|
-
* brief by {@link formatReviewForReplan} and fed into the next iteration's
|
|
12
|
-
* planner, which is responsible for validating, deduping, and clustering
|
|
13
|
-
* them into shared root causes before revising the RFC.
|
|
14
|
-
*
|
|
15
|
-
* The reviewer stages use a `submit_review` custom tool (defined via
|
|
16
|
-
* `defineTool` with Zod schema validation) to guarantee the review result
|
|
17
|
-
* matches the {@link ReviewResultSchema}. The Copilot SDK validates tool
|
|
18
|
-
* call arguments against the Zod schema before the handler fires.
|
|
19
|
-
*
|
|
20
|
-
* Run: atomic workflow -n ralph -a copilot "<your spec>"
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import { defineWorkflow } from "../../../index.ts";
|
|
24
|
-
import { defineTool } from "@github/copilot-sdk";
|
|
25
|
-
import type { SessionEvent } from "@github/copilot-sdk";
|
|
26
|
-
|
|
27
|
-
import {
|
|
28
|
-
buildPlannerPrompt,
|
|
29
|
-
buildOrchestratorPrompt,
|
|
30
|
-
buildCodeSimplifierPrompt,
|
|
31
|
-
buildInfraDiscoveryPrompts,
|
|
32
|
-
buildReviewPrompt,
|
|
33
|
-
filterActionable,
|
|
34
|
-
formatReviewForReplan,
|
|
35
|
-
mergeReviewResults,
|
|
36
|
-
ReviewResultSchema,
|
|
37
|
-
type ReviewResult,
|
|
38
|
-
type StructuredReviewResult,
|
|
39
|
-
} from "../helpers/prompts.ts";
|
|
40
|
-
import { hasActionableFindings } from "../helpers/review.ts";
|
|
41
|
-
import { captureBranchChangeset } from "../helpers/git.ts";
|
|
42
|
-
import { buildRalphReviewerAgent } from "../helpers/copilot-reviewer.ts";
|
|
43
|
-
|
|
44
|
-
const SUBMIT_REVIEW_TOOL_NAME = "submit_review";
|
|
45
|
-
|
|
46
|
-
const DEFAULT_MAX_LOOPS = 10;
|
|
47
|
-
|
|
48
|
-
const SUBMIT_REVIEW_DESCRIPTION =
|
|
49
|
-
"Submit the structured code review result. You MUST call this tool " +
|
|
50
|
-
"exactly once with your complete review. Do not output the review as " +
|
|
51
|
-
"plain text — use this tool.";
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Concatenate the text content of every top-level assistant message in the
|
|
55
|
-
* event stream.
|
|
56
|
-
*
|
|
57
|
-
* Why not just `.at(-1)`? Two traps:
|
|
58
|
-
*
|
|
59
|
-
* 1. A single Copilot turn is one `assistant.message` event that carries BOTH
|
|
60
|
-
* prose AND a `toolRequests[]` array. When the model ends a turn with
|
|
61
|
-
* tool-calls-only (e.g. the planner's final `TaskList` verification call),
|
|
62
|
-
* `content` is an empty string — picking the final message drops the
|
|
63
|
-
* planner's actual reasoning from the earlier turns.
|
|
64
|
-
* 2. `assistant.message` events have a `parentToolCallId` field populated when
|
|
65
|
-
* they originate from a sub-agent spawned by the parent. `getMessages()`
|
|
66
|
-
* returns the complete history including those, so `.at(-1)` can land on a
|
|
67
|
-
* sub-agent's final message instead of the top-level agent's. Filter them
|
|
68
|
-
* out to get only the agent's own turns.
|
|
69
|
-
*
|
|
70
|
-
* Joining every non-empty top-level content string preserves the full
|
|
71
|
-
* commentary across all turns, which is what downstream stages (e.g. the
|
|
72
|
-
* orchestrator reading the planner's handoff) actually need.
|
|
73
|
-
*/
|
|
74
|
-
function getAssistantText(messages: SessionEvent[]): string {
|
|
75
|
-
return messages
|
|
76
|
-
.filter(
|
|
77
|
-
(m): m is Extract<SessionEvent, { type: "assistant.message" }> =>
|
|
78
|
-
m.type === "assistant.message" && !m.data.parentToolCallId,
|
|
79
|
-
)
|
|
80
|
-
.map((m) => m.data.content)
|
|
81
|
-
.filter((c) => c.length > 0)
|
|
82
|
-
.join("\n\n");
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export default defineWorkflow({
|
|
86
|
-
name: "ralph",
|
|
87
|
-
source: import.meta.path,
|
|
88
|
-
description: "Plan → orchestrate → review loop with bounded iteration",
|
|
89
|
-
inputs: [
|
|
90
|
-
{
|
|
91
|
-
name: "prompt",
|
|
92
|
-
type: "text",
|
|
93
|
-
required: true,
|
|
94
|
-
description: "task prompt",
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
name: "max_loops",
|
|
98
|
-
type: "integer",
|
|
99
|
-
description: "maximum number of plan/orchestrate/review iterations",
|
|
100
|
-
default: DEFAULT_MAX_LOOPS,
|
|
101
|
-
},
|
|
102
|
-
],
|
|
103
|
-
})
|
|
104
|
-
.for("copilot")
|
|
105
|
-
.run(async (ctx) => {
|
|
106
|
-
const userPromptText = ctx.inputs.prompt ?? "";
|
|
107
|
-
const maxLoops = ctx.inputs.max_loops ?? DEFAULT_MAX_LOOPS;
|
|
108
|
-
let reviewReport = "";
|
|
109
|
-
|
|
110
|
-
for (let iteration = 1; iteration <= maxLoops; iteration++) {
|
|
111
|
-
// ── Plan ──────────────────────────────────────────────────────────
|
|
112
|
-
const planner = await ctx.stage(
|
|
113
|
-
{ name: `planner-${iteration}` },
|
|
114
|
-
{},
|
|
115
|
-
{ agent: "planner" },
|
|
116
|
-
async (s) => {
|
|
117
|
-
await s.session.send({
|
|
118
|
-
prompt: buildPlannerPrompt(userPromptText, {
|
|
119
|
-
iteration,
|
|
120
|
-
reviewReport: reviewReport || undefined,
|
|
121
|
-
}),
|
|
122
|
-
});
|
|
123
|
-
const messages = await s.session.getMessages();
|
|
124
|
-
s.save(messages);
|
|
125
|
-
return getAssistantText(messages);
|
|
126
|
-
},
|
|
127
|
-
);
|
|
128
|
-
|
|
129
|
-
// ── Orchestrate ───────────────────────────────────────────────────
|
|
130
|
-
await ctx.stage(
|
|
131
|
-
{ name: `orchestrator-${iteration}` },
|
|
132
|
-
{},
|
|
133
|
-
{ agent: "orchestrator" },
|
|
134
|
-
async (s) => {
|
|
135
|
-
await s.session.send({
|
|
136
|
-
prompt: buildOrchestratorPrompt(userPromptText, {
|
|
137
|
-
plannerNotes: planner.result,
|
|
138
|
-
}),
|
|
139
|
-
});
|
|
140
|
-
s.save(await s.session.getMessages());
|
|
141
|
-
},
|
|
142
|
-
);
|
|
143
|
-
|
|
144
|
-
// ── Code Simplifier ───────────────────────────────────────────────
|
|
145
|
-
await ctx.stage(
|
|
146
|
-
{ name: `code-simplifier-${iteration}` },
|
|
147
|
-
{},
|
|
148
|
-
{ agent: "code-simplifier" },
|
|
149
|
-
async (s) => {
|
|
150
|
-
await s.session.send({
|
|
151
|
-
prompt: buildCodeSimplifierPrompt(userPromptText, {
|
|
152
|
-
plannerNotes: planner.result,
|
|
153
|
-
}),
|
|
154
|
-
});
|
|
155
|
-
s.save(await s.session.getMessages());
|
|
156
|
-
},
|
|
157
|
-
);
|
|
158
|
-
|
|
159
|
-
// ── Infrastructure Discovery (three parallel sub-agent stages) ──
|
|
160
|
-
const changeset = await captureBranchChangeset();
|
|
161
|
-
const discoveryPrompts = buildInfraDiscoveryPrompts();
|
|
162
|
-
|
|
163
|
-
const [locatorResult, analyzerResult, patternResult] = await Promise.all([
|
|
164
|
-
ctx.stage(
|
|
165
|
-
{ name: `infra-locate-${iteration}`, headless: true },
|
|
166
|
-
{},
|
|
167
|
-
{ agent: "codebase-locator" },
|
|
168
|
-
async (s) => {
|
|
169
|
-
await s.session.send({ prompt: discoveryPrompts.locator });
|
|
170
|
-
const messages = await s.session.getMessages();
|
|
171
|
-
s.save(messages);
|
|
172
|
-
return getAssistantText(messages);
|
|
173
|
-
},
|
|
174
|
-
),
|
|
175
|
-
ctx.stage(
|
|
176
|
-
{ name: `infra-analyze-${iteration}`, headless: true },
|
|
177
|
-
{},
|
|
178
|
-
{ agent: "codebase-analyzer" },
|
|
179
|
-
async (s) => {
|
|
180
|
-
await s.session.send({ prompt: discoveryPrompts.analyzer });
|
|
181
|
-
const messages = await s.session.getMessages();
|
|
182
|
-
s.save(messages);
|
|
183
|
-
return getAssistantText(messages);
|
|
184
|
-
},
|
|
185
|
-
),
|
|
186
|
-
ctx.stage(
|
|
187
|
-
{ name: `infra-patterns-${iteration}`, headless: true },
|
|
188
|
-
{},
|
|
189
|
-
{ agent: "codebase-pattern-finder" },
|
|
190
|
-
async (s) => {
|
|
191
|
-
await s.session.send({ prompt: discoveryPrompts.patternFinder });
|
|
192
|
-
const messages = await s.session.getMessages();
|
|
193
|
-
s.save(messages);
|
|
194
|
-
return getAssistantText(messages);
|
|
195
|
-
},
|
|
196
|
-
),
|
|
197
|
-
]);
|
|
198
|
-
|
|
199
|
-
const discoveryContext = [
|
|
200
|
-
"### Infrastructure Files (codebase-locator)\n\n" +
|
|
201
|
-
locatorResult.result,
|
|
202
|
-
"### Infrastructure Analysis (codebase-analyzer)\n\n" +
|
|
203
|
-
analyzerResult.result,
|
|
204
|
-
"### Build & Test Patterns (codebase-pattern-finder)\n\n" +
|
|
205
|
-
patternResult.result,
|
|
206
|
-
].join("\n\n---\n\n");
|
|
207
|
-
|
|
208
|
-
// ── Review (two parallel passes) ──────────────────────────────────
|
|
209
|
-
const reviewPrompt = buildReviewPrompt(userPromptText, {
|
|
210
|
-
changeset,
|
|
211
|
-
iteration,
|
|
212
|
-
useSubmitTool: true,
|
|
213
|
-
discoveryContext,
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
// Each parallel reviewer gets its own tool + capture ref so they
|
|
217
|
-
// don't race on a shared mutable.
|
|
218
|
-
let captureA: ReviewResult | null = null;
|
|
219
|
-
let captureB: ReviewResult | null = null;
|
|
220
|
-
|
|
221
|
-
const toolA = defineTool(SUBMIT_REVIEW_TOOL_NAME, {
|
|
222
|
-
description: SUBMIT_REVIEW_DESCRIPTION,
|
|
223
|
-
parameters: ReviewResultSchema,
|
|
224
|
-
skipPermission: true,
|
|
225
|
-
handler: async (data: ReviewResult) => {
|
|
226
|
-
captureA = filterActionable(data);
|
|
227
|
-
return "Review submitted successfully.";
|
|
228
|
-
},
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
const toolB = defineTool(SUBMIT_REVIEW_TOOL_NAME, {
|
|
232
|
-
description: SUBMIT_REVIEW_DESCRIPTION,
|
|
233
|
-
parameters: ReviewResultSchema,
|
|
234
|
-
skipPermission: true,
|
|
235
|
-
handler: async (data: ReviewResult) => {
|
|
236
|
-
captureB = filterActionable(data);
|
|
237
|
-
return "Review submitted successfully.";
|
|
238
|
-
},
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
// Inline reviewer agent config overrides the disk-based
|
|
242
|
-
// `.github/agents/reviewer.md`. Defining it here lets the tool
|
|
243
|
-
// allowlist include `submit_review` — disk-loaded agents filter the
|
|
244
|
-
// frontmatter `tools:` list against Copilot's built-in alias
|
|
245
|
-
// registry at parse time, so session-level custom tools are dropped.
|
|
246
|
-
const ralphReviewer = buildRalphReviewerAgent(SUBMIT_REVIEW_TOOL_NAME);
|
|
247
|
-
|
|
248
|
-
const [reviewA, reviewB] = await Promise.all([
|
|
249
|
-
ctx.stage(
|
|
250
|
-
{ name: `reviewer-${iteration}-a` },
|
|
251
|
-
{},
|
|
252
|
-
{
|
|
253
|
-
agent: "reviewer",
|
|
254
|
-
tools: [toolA],
|
|
255
|
-
customAgents: [ralphReviewer],
|
|
256
|
-
},
|
|
257
|
-
async (s) => {
|
|
258
|
-
await s.session.send({ prompt: reviewPrompt });
|
|
259
|
-
const messages = await s.session.getMessages();
|
|
260
|
-
s.save(messages);
|
|
261
|
-
return {
|
|
262
|
-
structured: captureA,
|
|
263
|
-
raw: getAssistantText(messages),
|
|
264
|
-
} as StructuredReviewResult;
|
|
265
|
-
},
|
|
266
|
-
),
|
|
267
|
-
ctx.stage(
|
|
268
|
-
{ name: `reviewer-${iteration}-b` },
|
|
269
|
-
{},
|
|
270
|
-
{
|
|
271
|
-
agent: "reviewer",
|
|
272
|
-
tools: [toolB],
|
|
273
|
-
customAgents: [ralphReviewer],
|
|
274
|
-
},
|
|
275
|
-
async (s) => {
|
|
276
|
-
await s.session.send({ prompt: reviewPrompt });
|
|
277
|
-
const messages = await s.session.getMessages();
|
|
278
|
-
s.save(messages);
|
|
279
|
-
return {
|
|
280
|
-
structured: captureB,
|
|
281
|
-
raw: getAssistantText(messages),
|
|
282
|
-
} as StructuredReviewResult;
|
|
283
|
-
},
|
|
284
|
-
),
|
|
285
|
-
]);
|
|
286
|
-
|
|
287
|
-
const merged = mergeReviewResults(reviewA.result, reviewB.result);
|
|
288
|
-
const parsed = merged.structured;
|
|
289
|
-
const reviewRaw = merged.raw;
|
|
290
|
-
|
|
291
|
-
// Both reviewers agree the code is clean → done
|
|
292
|
-
if (!hasActionableFindings(parsed, reviewRaw)) break;
|
|
293
|
-
|
|
294
|
-
// Findings exist — format them for the next iteration's planner.
|
|
295
|
-
reviewReport = formatReviewForReplan(parsed, reviewRaw);
|
|
296
|
-
}
|
|
297
|
-
})
|
|
298
|
-
.compile();
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Inline reviewer `CustomAgentConfig` for the Copilot ralph workflow.
|
|
3
|
-
*
|
|
4
|
-
* Why this exists instead of reusing `.github/agents/reviewer.md`: Copilot
|
|
5
|
-
* CLI parses the disk agent's `tools:` frontmatter against its built-in
|
|
6
|
-
* alias registry at load time. Custom tool names (like `submit_review`
|
|
7
|
-
* registered via `defineTool` at session creation) are unknown at that
|
|
8
|
-
* moment and get silently dropped. Defining the agent inline in
|
|
9
|
-
* `customAgents` runs the tool-allowlist check against the session's live
|
|
10
|
-
* tool registry, so `submit_review` is actually exposed to the subagent.
|
|
11
|
-
*
|
|
12
|
-
* This is a ralph-specific fork — the disk reviewer stays general-purpose
|
|
13
|
-
* for non-ralph invocations.
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import type { CustomAgentConfig } from "@github/copilot-sdk";
|
|
17
|
-
|
|
18
|
-
const REVIEWER_PROMPT = `# Review guidelines:
|
|
19
|
-
|
|
20
|
-
You are acting as a reviewer for a proposed code change made by another engineer.
|
|
21
|
-
|
|
22
|
-
Below are some default guidelines for determining whether the original author would appreciate the issue being flagged.
|
|
23
|
-
|
|
24
|
-
These are not the final word in determining whether an issue is a bug. In many cases, you will encounter other, more specific guidelines. These may be present elsewhere in a developer message, a user message, a file, or even elsewhere in this system message.
|
|
25
|
-
Those guidelines should be considered to override these general instructions.
|
|
26
|
-
|
|
27
|
-
Here are the general guidelines for determining whether something is a bug and should be flagged.
|
|
28
|
-
|
|
29
|
-
1. It meaningfully impacts the accuracy, performance, security, or maintainability of the code.
|
|
30
|
-
2. The bug is discrete and actionable (i.e. not a general issue with the codebase or a combination of multiple issues).
|
|
31
|
-
3. Fixing the bug does not demand a level of rigor that is not present in the rest of the codebase (e.g. one doesn't need very detailed comments and input validation in a repository of one-off scripts in personal projects)
|
|
32
|
-
4. The bug was introduced in the commit (pre-existing bugs should not be flagged).
|
|
33
|
-
5. The author of the original PR would likely fix the issue if they were made aware of it.
|
|
34
|
-
6. The bug does not rely on unstated assumptions about the codebase or author's intent.
|
|
35
|
-
7. It is not enough to speculate that a change may disrupt another part of the codebase, to be considered a bug, one must identify the other parts of the code that are provably affected.
|
|
36
|
-
8. The bug is clearly not just an intentional change by the original author.
|
|
37
|
-
9. Use the repository's \`AGENTS.md\` and/or \`CLAUDE.md\` files (if present) for guidance on style, conventions, testing expectations, and architectural patterns. Your review should respect these project-level norms — flag deviations only when they conflict with correctness or security, not personal preference.
|
|
38
|
-
|
|
39
|
-
When flagging a bug, you will also provide an accompanying comment. Once again, these guidelines are not the final word on how to construct a comment -- defer to any subsequent guidelines that you encounter.
|
|
40
|
-
|
|
41
|
-
1. The comment should be clear about why the issue is a bug.
|
|
42
|
-
2. The comment should appropriately communicate the severity of the issue. It should not claim that an issue is more severe than it actually is.
|
|
43
|
-
3. The comment should be brief. The body should be at most 1 paragraph. It should not introduce line breaks within the natural language flow unless it is necessary for the code fragment.
|
|
44
|
-
4. The comment should not include any chunks of code longer than 3 lines. Any code chunks should be wrapped in markdown inline code tags or a code block.
|
|
45
|
-
5. The comment should clearly and explicitly communicate the scenarios, environments, or inputs that are necessary for the bug to arise. The comment should immediately indicate that the issue's severity depends on these factors.
|
|
46
|
-
6. The comment's tone should be matter-of-fact and not accusatory or overly positive. It should read as a helpful AI assistant suggestion without sounding too much like a human reviewer.
|
|
47
|
-
7. The comment should be written such that the original author can immediately grasp the idea without close reading.
|
|
48
|
-
8. The comment should avoid excessive flattery and comments that are not helpful to the original author. The comment should avoid phrasing like "Great job ...", "Thanks for ...".
|
|
49
|
-
|
|
50
|
-
Below are some more detailed guidelines that you should apply to this specific review.
|
|
51
|
-
|
|
52
|
-
HOW MANY FINDINGS TO RETURN:
|
|
53
|
-
|
|
54
|
-
Output all findings that the original author would fix if they knew about it. If there is no finding that a person would definitely love to see and fix, prefer outputting no findings. Do not stop at the first qualifying finding. Continue until you've listed every qualifying finding.
|
|
55
|
-
|
|
56
|
-
GUIDELINES:
|
|
57
|
-
|
|
58
|
-
- Ignore trivial style unless it obscures meaning or violates documented standards.
|
|
59
|
-
- Use one comment per distinct issue (or a multi-line range if necessary).
|
|
60
|
-
- Use \`\`\`suggestion blocks ONLY for concrete replacement code (minimal lines; no commentary inside the block).
|
|
61
|
-
- In every \`\`\`suggestion block, preserve the exact leading whitespace of the replaced lines (spaces vs tabs, number of spaces).
|
|
62
|
-
- Do NOT introduce or remove outer indentation levels unless that is the actual fix.
|
|
63
|
-
|
|
64
|
-
The comments will be presented in the code review as inline comments. You should avoid providing unnecessary location details in the comment body. Always keep the line range as short as possible for interpreting the issue. Avoid ranges longer than 5–10 lines; instead, choose the most suitable subrange that pinpoints the problem.
|
|
65
|
-
|
|
66
|
-
At the beginning of the finding title, tag the bug with priority level. For example "[P1] Un-padding slices along wrong tensor dimensions". [P0] – Drop everything to fix. Blocking release, operations, or major usage. Only use for universal issues that do not depend on any assumptions about the inputs. · [P1] – Urgent. Should be addressed in the next cycle · [P2] – Normal. To be fixed eventually · [P3] – Low. Nice to have.
|
|
67
|
-
|
|
68
|
-
Additionally, include a numeric priority field in the JSON output for each finding: set "priority" to 0 for P0, 1 for P1, 2 for P2, or 3 for P3. If a priority cannot be determined, omit the field or use null.
|
|
69
|
-
|
|
70
|
-
At the end of your findings, output an "overall correctness" verdict of whether or not the patch should be considered "correct".
|
|
71
|
-
Correct implies that existing code and tests will not break, and the patch is free of bugs and other blocking issues.
|
|
72
|
-
Ignore non-blocking issues such as style, formatting, typos, documentation, and other nits.
|
|
73
|
-
|
|
74
|
-
FORMATTING GUIDELINES:
|
|
75
|
-
The finding description should be one paragraph.
|
|
76
|
-
|
|
77
|
-
OUTPUT: You MUST submit your review by calling the \`submit_review\` tool exactly once with the complete structured review. Do NOT output the review as plain text — the tool enforces the required schema.`;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Build the ralph-specific reviewer `CustomAgentConfig`.
|
|
81
|
-
*
|
|
82
|
-
* Pass the session-level custom tool name(s) (e.g. `"submit_review"`) via
|
|
83
|
-
* `submitReviewToolName` so the reviewer subagent's tool allowlist
|
|
84
|
-
* includes it. Session-level tools named here are visible to the subagent;
|
|
85
|
-
* omitted names are filtered out.
|
|
86
|
-
*/
|
|
87
|
-
export function buildRalphReviewerAgent(
|
|
88
|
-
submitReviewToolName: string,
|
|
89
|
-
): CustomAgentConfig {
|
|
90
|
-
return {
|
|
91
|
-
name: "reviewer",
|
|
92
|
-
displayName: "reviewer",
|
|
93
|
-
description: "Code reviewer for proposed code changes.",
|
|
94
|
-
tools: [
|
|
95
|
-
"execute",
|
|
96
|
-
"agent",
|
|
97
|
-
"search",
|
|
98
|
-
"read",
|
|
99
|
-
"web_fetch",
|
|
100
|
-
"sql",
|
|
101
|
-
submitReviewToolName,
|
|
102
|
-
],
|
|
103
|
-
prompt: REVIEWER_PROMPT,
|
|
104
|
-
};
|
|
105
|
-
}
|