@bastani/atomic 0.6.8-0 → 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,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User settings persistence
|
|
3
|
-
*
|
|
4
|
-
* Stores user settings (e.g., model selection) across sessions.
|
|
5
|
-
* Settings are resolved in priority order:
|
|
6
|
-
* 1. .atomic/settings.json (project-local, higher priority)
|
|
7
|
-
* 2. ~/.atomic/settings.json (global, lower priority)
|
|
8
|
-
*
|
|
9
|
-
* The --model CLI flag takes precedence over both (handled at call site).
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import { join, dirname } from "node:path";
|
|
13
|
-
import { homedir } from "node:os";
|
|
14
|
-
import { SETTINGS_SCHEMA_URL } from "./settings-schema.ts";
|
|
15
|
-
import { ensureDir } from "../system/copy.ts";
|
|
16
|
-
import { errorMessage } from "../../sdk/errors.ts";
|
|
17
|
-
import { getAgentKeys, type AgentKey, type ProviderOverrides } from "./definitions.ts";
|
|
18
|
-
import type { ScmProvider } from "./atomic-config.ts";
|
|
19
|
-
|
|
20
|
-
interface AtomicSettings {
|
|
21
|
-
$schema?: string;
|
|
22
|
-
version?: number;
|
|
23
|
-
telemetryEnabled?: boolean;
|
|
24
|
-
scm?: ScmProvider;
|
|
25
|
-
providers?: Partial<Record<AgentKey, ProviderOverrides>>;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** Runtime guard for parsed JSON to ensure it's a plain object. */
|
|
29
|
-
function isPlainObject(value: unknown): value is Record<string, unknown> {
|
|
30
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** Global settings path: ~/.atomic/settings.json */
|
|
34
|
-
function globalSettingsPath(): string {
|
|
35
|
-
const home = process.env.ATOMIC_SETTINGS_HOME ?? homedir();
|
|
36
|
-
return join(home, ".atomic", "settings.json");
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async function loadSettingsFile(path: string): Promise<AtomicSettings> {
|
|
40
|
-
try {
|
|
41
|
-
const parsed: unknown = await Bun.file(path).json();
|
|
42
|
-
if (isPlainObject(parsed)) return parsed as AtomicSettings;
|
|
43
|
-
} catch {
|
|
44
|
-
// File missing or invalid JSON — fall through to default
|
|
45
|
-
}
|
|
46
|
-
return {};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async function writeGlobalSettings(settings: AtomicSettings): Promise<void> {
|
|
50
|
-
settings.$schema = SETTINGS_SCHEMA_URL;
|
|
51
|
-
const path = globalSettingsPath();
|
|
52
|
-
await ensureDir(dirname(path));
|
|
53
|
-
await Bun.write(path, JSON.stringify(settings, null, 2));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Ensure `~/.atomic/settings.json` exists. Called once at CLI startup so
|
|
58
|
-
* users have a valid file to edit (with JSON Schema intellisense wired up
|
|
59
|
-
* via `$schema`) without having to run any explicit init command.
|
|
60
|
-
*
|
|
61
|
-
* Idempotent — no-op if the file already exists. Best-effort: filesystem
|
|
62
|
-
* errors (e.g. read-only home) are swallowed so the CLI never blocks on
|
|
63
|
-
* this side-effect.
|
|
64
|
-
*/
|
|
65
|
-
export async function ensureGlobalAtomicSettings(): Promise<void> {
|
|
66
|
-
try {
|
|
67
|
-
const path = globalSettingsPath();
|
|
68
|
-
if (await Bun.file(path).exists()) return;
|
|
69
|
-
await writeGlobalSettings({ version: 1 });
|
|
70
|
-
} catch (e) {
|
|
71
|
-
console.warn(`[settings] failed to bootstrap global settings: ${errorMessage(e)}`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Set telemetry enabled/disabled in global settings.
|
|
77
|
-
*/
|
|
78
|
-
export async function setTelemetryEnabled(enabled: boolean): Promise<void> {
|
|
79
|
-
try {
|
|
80
|
-
const settings = await loadSettingsFile(globalSettingsPath());
|
|
81
|
-
settings.telemetryEnabled = enabled;
|
|
82
|
-
await writeGlobalSettings(settings);
|
|
83
|
-
} catch (e) {
|
|
84
|
-
console.warn(`[settings] failed to set telemetry: ${errorMessage(e)}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Set the selected source control provider in global settings.
|
|
90
|
-
*
|
|
91
|
-
* The value is read on every `atomic chat` / `atomic workflow` startup
|
|
92
|
-
* to reconcile the enable/disable state of the GitHub and Azure DevOps
|
|
93
|
-
* MCP servers in `.claude/settings.json` and `.opencode/opencode.json`.
|
|
94
|
-
*/
|
|
95
|
-
export async function setScmProvider(scm: ScmProvider): Promise<void> {
|
|
96
|
-
try {
|
|
97
|
-
const settings = await loadSettingsFile(globalSettingsPath());
|
|
98
|
-
settings.scm = scm;
|
|
99
|
-
await writeGlobalSettings(settings);
|
|
100
|
-
} catch (e) {
|
|
101
|
-
console.warn(`[settings] failed to set scm: ${errorMessage(e)}`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Seed `COLORTERM=truecolor` into each agent's `providers.<agent>.envVars`
|
|
107
|
-
* in `~/.atomic/settings.json` on install / version bump.
|
|
108
|
-
*
|
|
109
|
-
* The runtime default in `lib/terminal-env.ts` already injects
|
|
110
|
-
* `COLORTERM=truecolor` for every spawned agent — this seed surfaces that
|
|
111
|
-
* default in the user-editable settings file so users with terminals that
|
|
112
|
-
* misbehave on truecolor have a discoverable place to override it (set
|
|
113
|
-
* to `""`, `256color`, etc.).
|
|
114
|
-
*
|
|
115
|
-
* Only writes a key when it isn't already present, so user edits — including
|
|
116
|
-
* an explicit empty-string override — are preserved across upgrades.
|
|
117
|
-
*/
|
|
118
|
-
export async function seedGlobalProviderEnvVars(): Promise<void> {
|
|
119
|
-
try {
|
|
120
|
-
const settings = await loadSettingsFile(globalSettingsPath());
|
|
121
|
-
const providers: Partial<Record<AgentKey, ProviderOverrides>> =
|
|
122
|
-
settings.providers ?? {};
|
|
123
|
-
|
|
124
|
-
let changed = false;
|
|
125
|
-
for (const agentKey of getAgentKeys()) {
|
|
126
|
-
const provider: ProviderOverrides = providers[agentKey] ?? {};
|
|
127
|
-
const envVars: Record<string, string> = provider.envVars ?? {};
|
|
128
|
-
if ("COLORTERM" in envVars) continue;
|
|
129
|
-
envVars.COLORTERM = "truecolor";
|
|
130
|
-
provider.envVars = envVars;
|
|
131
|
-
providers[agentKey] = provider;
|
|
132
|
-
changed = true;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (!changed) return;
|
|
136
|
-
|
|
137
|
-
settings.providers = providers;
|
|
138
|
-
await writeGlobalSettings(settings);
|
|
139
|
-
} catch (e) {
|
|
140
|
-
console.warn(
|
|
141
|
-
`[settings] failed to seed provider envVars: ${errorMessage(e)}`,
|
|
142
|
-
);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Merge-copy bundled Atomic agents from the installed package into the
|
|
3
|
-
* provider-native global roots.
|
|
4
|
-
*
|
|
5
|
-
* Mirrors `install_global_agents()` from the production install.sh /
|
|
6
|
-
* install.ps1 bootstrap installers. The bundled agent definitions ship
|
|
7
|
-
* with the npm package (see the `files` array in package.json) at:
|
|
8
|
-
*
|
|
9
|
-
* <pkg-root>/.claude/agents → ~/.claude/agents
|
|
10
|
-
* <pkg-root>/.opencode/agents → ~/.opencode/agents
|
|
11
|
-
* <pkg-root>/.github/agents → ~/.copilot/agents (rename: github → copilot)
|
|
12
|
-
* <pkg-root>/.github/lsp.json → ~/.copilot/lsp-config.json (rename per atomic-global-config.ts)
|
|
13
|
-
*
|
|
14
|
-
* Copy semantics: files sharing a name with a bundled file are overwritten;
|
|
15
|
-
* unrelated user-added files in those directories are preserved (the
|
|
16
|
-
* `copyDir()` helper iterates source entries, so anything not in the
|
|
17
|
-
* source is left untouched).
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
import { join, dirname } from "node:path";
|
|
21
|
-
import { homedir } from "node:os";
|
|
22
|
-
import {
|
|
23
|
-
copyDir,
|
|
24
|
-
copyFile,
|
|
25
|
-
ensureDir,
|
|
26
|
-
pathExists,
|
|
27
|
-
} from "./copy.ts";
|
|
28
|
-
import { createCommonIgnoreFilter } from "../../lib/common-ignore.ts";
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Locate the package root by walking up from this module. Both in installed
|
|
32
|
-
* (`<pkg>/src/services/system/agents.ts`) and dev checkout layouts the
|
|
33
|
-
* package root is three directories up.
|
|
34
|
-
*/
|
|
35
|
-
function packageRoot(): string {
|
|
36
|
-
return join(import.meta.dir, "..", "..", "..");
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/** Honors ATOMIC_SETTINGS_HOME so tests can point at a temp dir. */
|
|
40
|
-
function homeRoot(): string {
|
|
41
|
-
return process.env.ATOMIC_SETTINGS_HOME ?? homedir();
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
interface AgentSyncPair {
|
|
45
|
-
/** Source path relative to package root. */
|
|
46
|
-
src: string;
|
|
47
|
-
/** Destination path relative to home root. */
|
|
48
|
-
dest: string;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const AGENT_DIR_PAIRS: AgentSyncPair[] = [
|
|
52
|
-
{ src: ".claude/agents", dest: ".claude/agents" },
|
|
53
|
-
{ src: ".opencode/agents", dest: ".opencode/agents" },
|
|
54
|
-
{ src: ".github/agents", dest: ".copilot/agents" },
|
|
55
|
-
];
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Sync bundled agents and the copilot lsp-config to the provider global
|
|
59
|
-
* roots. Throws on hard failures (a single sync failing); missing source
|
|
60
|
-
* directories are warned about and skipped, not thrown.
|
|
61
|
-
*/
|
|
62
|
-
export async function installGlobalAgents(): Promise<void> {
|
|
63
|
-
const pkg = packageRoot();
|
|
64
|
-
const home = homeRoot();
|
|
65
|
-
|
|
66
|
-
const warnings: string[] = [];
|
|
67
|
-
for (const pair of AGENT_DIR_PAIRS) {
|
|
68
|
-
const src = join(pkg, pair.src);
|
|
69
|
-
const dest = join(home, pair.dest);
|
|
70
|
-
|
|
71
|
-
if (!(await pathExists(src))) {
|
|
72
|
-
warnings.push(`bundled agents missing at ${src} — skipping ${dest}`);
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
await copyDir(src, dest, { ignoreFilter: createCommonIgnoreFilter() });
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Surface skipped sources via a non-fatal thrown error only if ALL sources
|
|
80
|
-
// were missing. A partial miss (e.g. one provider folder absent in a dev
|
|
81
|
-
// checkout) is normal and shouldn't mark the step as failed. The spinner
|
|
82
|
-
// UI shows the thrown message beneath the failing row.
|
|
83
|
-
if (warnings.length === AGENT_DIR_PAIRS.length) {
|
|
84
|
-
throw new Error(warnings.join("\n"));
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Copilot's lsp.json is renamed to ~/.copilot/lsp-config.json on disk
|
|
88
|
-
// (see atomic-global-config.ts for the in-binary rename rationale).
|
|
89
|
-
const lspSrc = join(pkg, ".github", "lsp.json");
|
|
90
|
-
const lspDest = join(home, ".copilot", "lsp-config.json");
|
|
91
|
-
if (await pathExists(lspSrc)) {
|
|
92
|
-
await ensureDir(dirname(lspDest));
|
|
93
|
-
await copyFile(lspSrc, lspDest);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for the SDK-level auth probes in `auth.ts`.
|
|
3
|
-
*
|
|
4
|
-
* Both the Copilot SDK and Claude Agent SDK spawn native agent binaries
|
|
5
|
-
* under the hood, which makes the probes unsuitable for unit tests on a
|
|
6
|
-
* CI runner that has neither binary installed. We `mock.module()` each
|
|
7
|
-
* SDK so the probes read from in-test fakes, then assert the wrapper's
|
|
8
|
-
* translation into `AuthCheckResult` shape.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import {
|
|
12
|
-
describe,
|
|
13
|
-
test,
|
|
14
|
-
expect,
|
|
15
|
-
beforeEach,
|
|
16
|
-
beforeAll,
|
|
17
|
-
afterAll,
|
|
18
|
-
mock,
|
|
19
|
-
} from "bun:test";
|
|
20
|
-
import { chmodSync, mkdtempSync, writeFileSync } from "node:fs";
|
|
21
|
-
import { tmpdir } from "node:os";
|
|
22
|
-
import { join } from "node:path";
|
|
23
|
-
|
|
24
|
-
// ─── Copilot SDK fake ──────────────────────────────────────────────────────
|
|
25
|
-
// `CopilotClient` is a class; the constructor captures latest test state.
|
|
26
|
-
// We swap `start` / `stop` / `getAuthStatus` per-test via mockable fns.
|
|
27
|
-
|
|
28
|
-
interface CopilotAuthStatus {
|
|
29
|
-
isAuthenticated: boolean;
|
|
30
|
-
login?: string;
|
|
31
|
-
statusMessage?: string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
let copilotStart = mock(async () => {});
|
|
35
|
-
let copilotStop = mock(async () => [] as unknown[]);
|
|
36
|
-
let copilotGetAuthStatus = mock<() => Promise<CopilotAuthStatus>>(async () => ({
|
|
37
|
-
isAuthenticated: true,
|
|
38
|
-
login: "octocat",
|
|
39
|
-
}));
|
|
40
|
-
|
|
41
|
-
// Captures the options passed to `new CopilotClient(...)` on each call.
|
|
42
|
-
let lastCopilotConstructorOptions: unknown = undefined;
|
|
43
|
-
|
|
44
|
-
class FakeCopilotClient {
|
|
45
|
-
constructor(options: unknown) {
|
|
46
|
-
lastCopilotConstructorOptions = options;
|
|
47
|
-
}
|
|
48
|
-
async start(): Promise<void> {
|
|
49
|
-
await copilotStart();
|
|
50
|
-
}
|
|
51
|
-
async stop(): Promise<unknown[]> {
|
|
52
|
-
return copilotStop();
|
|
53
|
-
}
|
|
54
|
-
async getAuthStatus(): Promise<CopilotAuthStatus> {
|
|
55
|
-
return copilotGetAuthStatus();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// ─── Claude Agent SDK fake ────────────────────────────────────────────────
|
|
60
|
-
// `query()` returns something with `initializationResult()` and `close()`.
|
|
61
|
-
// We ignore the `prompt` stream — the real SDK consumes it lazily, and the
|
|
62
|
-
// probe only calls `initializationResult()` before closing.
|
|
63
|
-
|
|
64
|
-
interface ClaudeAccount {
|
|
65
|
-
email?: string;
|
|
66
|
-
tokenSource?: string;
|
|
67
|
-
apiKeySource?: string;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
let claudeInit = mock<() => Promise<{ account: ClaudeAccount }>>(async () => ({
|
|
71
|
-
account: { email: "user@example.com", tokenSource: "oauth" },
|
|
72
|
-
}));
|
|
73
|
-
let claudeClose = mock(() => {});
|
|
74
|
-
|
|
75
|
-
// `mock.module` is process-global in Bun and leaks across every test file
|
|
76
|
-
// loaded in the same run — live ESM bindings in other files rebind to the
|
|
77
|
-
// stub as soon as it registers, and re-registering with the real module in
|
|
78
|
-
// `afterAll` does not restore the original namespace identity. Capture the
|
|
79
|
-
// real SDK modules first, install the mocks only while this file's tests
|
|
80
|
-
// are running, and never mock `claude.ts` (other test files exercise its
|
|
81
|
-
// real exports). All consumers in `auth.ts` use dynamic `await import(...)`,
|
|
82
|
-
// so lazy mock registration is safe here.
|
|
83
|
-
const actualCopilotSdk = await import("@github/copilot-sdk");
|
|
84
|
-
const actualClaudeSdk = await import("@anthropic-ai/claude-agent-sdk");
|
|
85
|
-
|
|
86
|
-
// Put a fake `claude` binary on PATH so `resolveHeadlessClaudeBin()` (called
|
|
87
|
-
// by `checkClaudeAuth`) succeeds without hitting the real CLI on disk. The
|
|
88
|
-
// mocked SDK `query()` never actually spawns the subprocess — the path is
|
|
89
|
-
// only passed through to the SDK constructor.
|
|
90
|
-
let pathBefore: string | undefined;
|
|
91
|
-
|
|
92
|
-
beforeAll(() => {
|
|
93
|
-
const dir = mkdtempSync(join(tmpdir(), "atomic-auth-test-path-"));
|
|
94
|
-
const bin = join(dir, "claude");
|
|
95
|
-
writeFileSync(bin, "#!/usr/bin/env sh\nexit 0\n");
|
|
96
|
-
chmodSync(bin, 0o755);
|
|
97
|
-
pathBefore = process.env.PATH;
|
|
98
|
-
process.env.PATH = `${dir}:${process.env.PATH ?? ""}`;
|
|
99
|
-
|
|
100
|
-
mock.module("@github/copilot-sdk", () => ({
|
|
101
|
-
...actualCopilotSdk,
|
|
102
|
-
CopilotClient: FakeCopilotClient,
|
|
103
|
-
}));
|
|
104
|
-
mock.module("@anthropic-ai/claude-agent-sdk", () => ({
|
|
105
|
-
...actualClaudeSdk,
|
|
106
|
-
query: () => ({
|
|
107
|
-
initializationResult: () => claudeInit(),
|
|
108
|
-
close: () => claudeClose(),
|
|
109
|
-
}),
|
|
110
|
-
}));
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
afterAll(() => {
|
|
114
|
-
if (pathBefore === undefined) delete process.env.PATH;
|
|
115
|
-
else process.env.PATH = pathBefore;
|
|
116
|
-
mock.module("@github/copilot-sdk", () => ({ ...actualCopilotSdk }));
|
|
117
|
-
mock.module("@anthropic-ai/claude-agent-sdk", () => ({ ...actualClaudeSdk }));
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
const { checkAgentAuth, printAuthError } = await import("./auth.ts");
|
|
121
|
-
|
|
122
|
-
beforeEach(() => {
|
|
123
|
-
lastCopilotConstructorOptions = undefined;
|
|
124
|
-
copilotStart.mockClear();
|
|
125
|
-
copilotStart.mockImplementation(async () => {});
|
|
126
|
-
copilotStop.mockClear();
|
|
127
|
-
copilotStop.mockImplementation(async () => []);
|
|
128
|
-
copilotGetAuthStatus.mockClear();
|
|
129
|
-
copilotGetAuthStatus.mockImplementation(async () => ({
|
|
130
|
-
isAuthenticated: true,
|
|
131
|
-
login: "octocat",
|
|
132
|
-
}));
|
|
133
|
-
claudeInit.mockClear();
|
|
134
|
-
claudeInit.mockImplementation(async () => ({
|
|
135
|
-
account: { email: "user@example.com", tokenSource: "oauth" },
|
|
136
|
-
}));
|
|
137
|
-
claudeClose.mockClear();
|
|
138
|
-
claudeClose.mockImplementation(() => {});
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
describe("checkAgentAuth(copilot)", () => {
|
|
142
|
-
test("returns loggedIn=true when the SDK reports isAuthenticated", async () => {
|
|
143
|
-
const result = await checkAgentAuth("copilot");
|
|
144
|
-
expect(result.loggedIn).toBe(true);
|
|
145
|
-
expect(result.identity).toBe("octocat");
|
|
146
|
-
// Hygiene: client must be stopped even on the happy path so we
|
|
147
|
-
// don't leak a long-running CLI subprocess.
|
|
148
|
-
expect(copilotStop).toHaveBeenCalledTimes(1);
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
test("returns loggedIn=false when the SDK reports isAuthenticated=false", async () => {
|
|
152
|
-
copilotGetAuthStatus.mockImplementationOnce(async () => ({
|
|
153
|
-
isAuthenticated: false,
|
|
154
|
-
statusMessage: "no credentials on disk",
|
|
155
|
-
}));
|
|
156
|
-
const result = await checkAgentAuth("copilot");
|
|
157
|
-
expect(result.loggedIn).toBe(false);
|
|
158
|
-
expect(result.detail).toBe("no credentials on disk");
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
test("returns loggedIn=false when the SDK throws on start", async () => {
|
|
162
|
-
copilotStart.mockImplementationOnce(async () => {
|
|
163
|
-
throw new Error("CLI not installed");
|
|
164
|
-
});
|
|
165
|
-
const result = await checkAgentAuth("copilot");
|
|
166
|
-
expect(result.loggedIn).toBe(false);
|
|
167
|
-
expect(result.detail).toContain("CLI not installed");
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
test("swallows errors from stop() on the failure path", async () => {
|
|
171
|
-
copilotGetAuthStatus.mockImplementationOnce(async () => {
|
|
172
|
-
throw new Error("auth probe failed");
|
|
173
|
-
});
|
|
174
|
-
copilotStop.mockImplementationOnce(async () => {
|
|
175
|
-
throw new Error("stop crashed");
|
|
176
|
-
});
|
|
177
|
-
const result = await checkAgentAuth("copilot");
|
|
178
|
-
expect(result.loggedIn).toBe(false);
|
|
179
|
-
expect(result.detail).toContain("auth probe failed");
|
|
180
|
-
// The stop failure must not shadow the probe result.
|
|
181
|
-
expect(result.detail).not.toContain("stop crashed");
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
test("constructs CopilotClient with COPILOT_CLI_PATH as cliPath and NODE_NO_WARNINGS=1 in env", async () => {
|
|
185
|
-
const origCliPath = process.env["COPILOT_CLI_PATH"];
|
|
186
|
-
process.env["COPILOT_CLI_PATH"] = "/explicit/bin/copilot";
|
|
187
|
-
try {
|
|
188
|
-
await checkAgentAuth("copilot");
|
|
189
|
-
const opts = lastCopilotConstructorOptions as {
|
|
190
|
-
cliPath?: string;
|
|
191
|
-
env?: Record<string, string | undefined>;
|
|
192
|
-
};
|
|
193
|
-
expect(opts).toBeDefined();
|
|
194
|
-
expect(opts.cliPath).toBe("/explicit/bin/copilot");
|
|
195
|
-
expect(opts.env?.["NODE_NO_WARNINGS"]).toBe("1");
|
|
196
|
-
} finally {
|
|
197
|
-
if (origCliPath === undefined) delete process.env["COPILOT_CLI_PATH"];
|
|
198
|
-
else process.env["COPILOT_CLI_PATH"] = origCliPath;
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
test("constructs CopilotClient via centralized launch options — env.NODE_NO_WARNINGS=1 present even when COPILOT_CLI_PATH is unset", async () => {
|
|
203
|
-
// When COPILOT_CLI_PATH is absent the auth probe delegates entirely to
|
|
204
|
-
// copilotSdkLaunchOptions(), which always injects NODE_NO_WARNINGS=1
|
|
205
|
-
// via copilotSubprocessEnv(). No cliPath should appear in the options
|
|
206
|
-
// because resolveCopilotCliPath() returns undefined when the env var is
|
|
207
|
-
// not set and no standalone binary is found on PATH.
|
|
208
|
-
const origCliPath = process.env["COPILOT_CLI_PATH"];
|
|
209
|
-
delete process.env["COPILOT_CLI_PATH"];
|
|
210
|
-
try {
|
|
211
|
-
await checkAgentAuth("copilot");
|
|
212
|
-
const opts = lastCopilotConstructorOptions as {
|
|
213
|
-
cliPath?: string;
|
|
214
|
-
env?: Record<string, string | undefined>;
|
|
215
|
-
};
|
|
216
|
-
expect(opts).toBeDefined();
|
|
217
|
-
// Centralized env must always include NODE_NO_WARNINGS regardless of cliPath.
|
|
218
|
-
expect(opts.env?.["NODE_NO_WARNINGS"]).toBe("1");
|
|
219
|
-
// cliPath must not be injected from a stale or undefined resolution.
|
|
220
|
-
// (It may be defined if a copilot binary happens to be on PATH in the
|
|
221
|
-
// test environment, but it must never be "/explicit/bin/copilot" which
|
|
222
|
-
// is only set by the sibling test above.)
|
|
223
|
-
expect(opts.cliPath).not.toBe("/explicit/bin/copilot");
|
|
224
|
-
} finally {
|
|
225
|
-
if (origCliPath === undefined) delete process.env["COPILOT_CLI_PATH"];
|
|
226
|
-
else process.env["COPILOT_CLI_PATH"] = origCliPath;
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
describe("checkAgentAuth(claude)", () => {
|
|
232
|
-
test("returns loggedIn=true when initializationResult has account email", async () => {
|
|
233
|
-
const result = await checkAgentAuth("claude");
|
|
234
|
-
expect(result.loggedIn).toBe(true);
|
|
235
|
-
expect(result.identity).toBe("user@example.com");
|
|
236
|
-
expect(claudeClose).toHaveBeenCalledTimes(1);
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
test("returns loggedIn=true when only tokenSource is populated", async () => {
|
|
240
|
-
claudeInit.mockImplementationOnce(async () => ({
|
|
241
|
-
account: { tokenSource: "oauth" },
|
|
242
|
-
}));
|
|
243
|
-
const result = await checkAgentAuth("claude");
|
|
244
|
-
expect(result.loggedIn).toBe(true);
|
|
245
|
-
});
|
|
246
|
-
|
|
247
|
-
test("returns loggedIn=true when only apiKeySource is populated", async () => {
|
|
248
|
-
claudeInit.mockImplementationOnce(async () => ({
|
|
249
|
-
account: { apiKeySource: "env" },
|
|
250
|
-
}));
|
|
251
|
-
const result = await checkAgentAuth("claude");
|
|
252
|
-
expect(result.loggedIn).toBe(true);
|
|
253
|
-
});
|
|
254
|
-
|
|
255
|
-
test("returns loggedIn=false when account is empty", async () => {
|
|
256
|
-
claudeInit.mockImplementationOnce(async () => ({ account: {} }));
|
|
257
|
-
const result = await checkAgentAuth("claude");
|
|
258
|
-
expect(result.loggedIn).toBe(false);
|
|
259
|
-
});
|
|
260
|
-
|
|
261
|
-
test("returns loggedIn=false when initializationResult throws", async () => {
|
|
262
|
-
claudeInit.mockImplementationOnce(async () => {
|
|
263
|
-
throw new Error("subprocess init failed — check authentication");
|
|
264
|
-
});
|
|
265
|
-
const result = await checkAgentAuth("claude");
|
|
266
|
-
expect(result.loggedIn).toBe(false);
|
|
267
|
-
expect(result.detail).toContain("subprocess init failed");
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
|
|
271
|
-
describe("checkAgentAuth(opencode)", () => {
|
|
272
|
-
test("is a no-op — returns loggedIn=true without probing the SDK", async () => {
|
|
273
|
-
// OpenCode handles auth interactively on first use; there's no
|
|
274
|
-
// equivalent RPC probe, so the wrapper short-circuits.
|
|
275
|
-
const result = await checkAgentAuth("opencode");
|
|
276
|
-
expect(result.loggedIn).toBe(true);
|
|
277
|
-
// Confirm neither SDK fake was touched.
|
|
278
|
-
expect(copilotStart).not.toHaveBeenCalled();
|
|
279
|
-
expect(claudeInit).not.toHaveBeenCalled();
|
|
280
|
-
});
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
describe("printAuthError", () => {
|
|
284
|
-
function captureStderr(): {
|
|
285
|
-
output: () => string;
|
|
286
|
-
restore: () => void;
|
|
287
|
-
} {
|
|
288
|
-
const chunks: string[] = [];
|
|
289
|
-
const orig = process.stderr.write;
|
|
290
|
-
process.stderr.write = ((c: string | Uint8Array) => {
|
|
291
|
-
chunks.push(typeof c === "string" ? c : new TextDecoder().decode(c));
|
|
292
|
-
return true;
|
|
293
|
-
}) as typeof process.stderr.write;
|
|
294
|
-
const origErr = console.error;
|
|
295
|
-
console.error = (...args: unknown[]) => {
|
|
296
|
-
chunks.push(args.map((a) => String(a)).join(" ") + "\n");
|
|
297
|
-
};
|
|
298
|
-
return {
|
|
299
|
-
output: () => chunks.join(""),
|
|
300
|
-
restore: () => {
|
|
301
|
-
process.stderr.write = orig;
|
|
302
|
-
console.error = origErr;
|
|
303
|
-
},
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
test("prints the Claude login hint with optional detail line", () => {
|
|
308
|
-
const cap = captureStderr();
|
|
309
|
-
try {
|
|
310
|
-
printAuthError("claude", { loggedIn: false, detail: "token expired" });
|
|
311
|
-
const out = cap.output();
|
|
312
|
-
expect(out).toContain("Not logged in to Claude Code");
|
|
313
|
-
expect(out).toContain("token expired");
|
|
314
|
-
expect(out).toContain("/login");
|
|
315
|
-
} finally {
|
|
316
|
-
cap.restore();
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
|
|
320
|
-
test("omits the detail line when no detail is given", () => {
|
|
321
|
-
const cap = captureStderr();
|
|
322
|
-
try {
|
|
323
|
-
printAuthError("copilot", { loggedIn: false });
|
|
324
|
-
const out = cap.output();
|
|
325
|
-
expect(out).toContain("Not logged in to GitHub Copilot CLI");
|
|
326
|
-
expect(out).toContain("`/login`");
|
|
327
|
-
} finally {
|
|
328
|
-
cap.restore();
|
|
329
|
-
}
|
|
330
|
-
});
|
|
331
|
-
|
|
332
|
-
test("prints the OpenCode login hint", () => {
|
|
333
|
-
const cap = captureStderr();
|
|
334
|
-
try {
|
|
335
|
-
printAuthError("opencode", { loggedIn: false });
|
|
336
|
-
const out = cap.output();
|
|
337
|
-
expect(out).toContain("Not logged in to OpenCode");
|
|
338
|
-
expect(out).toContain("opencode auth login");
|
|
339
|
-
} finally {
|
|
340
|
-
cap.restore();
|
|
341
|
-
}
|
|
342
|
-
});
|
|
343
|
-
});
|