@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,245 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for the workflow status writer.
|
|
3
|
-
*
|
|
4
|
-
* Covers the pure helpers (overall-status derivation, snapshot
|
|
5
|
-
* construction, tmux-name → run-id parsing) and the file I/O round
|
|
6
|
-
* trip against a real temp directory.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { describe, test, expect } from "bun:test";
|
|
10
|
-
import { mkdtemp, rm } from "node:fs/promises";
|
|
11
|
-
import { join } from "node:path";
|
|
12
|
-
import { tmpdir } from "node:os";
|
|
13
|
-
import {
|
|
14
|
-
buildSnapshot,
|
|
15
|
-
deriveOverallStatus,
|
|
16
|
-
readSnapshot,
|
|
17
|
-
workflowRunIdFromTmuxName,
|
|
18
|
-
writeSnapshot,
|
|
19
|
-
type WorkflowStatusSnapshot,
|
|
20
|
-
} from "./status-writer.ts";
|
|
21
|
-
import type { SessionData } from "../components/orchestrator-panel-types.ts";
|
|
22
|
-
|
|
23
|
-
function session(
|
|
24
|
-
name: string,
|
|
25
|
-
status: SessionData["status"],
|
|
26
|
-
extra: Partial<SessionData> = {},
|
|
27
|
-
): SessionData {
|
|
28
|
-
return {
|
|
29
|
-
name,
|
|
30
|
-
status,
|
|
31
|
-
parents: [],
|
|
32
|
-
startedAt: 1000,
|
|
33
|
-
endedAt: null,
|
|
34
|
-
...extra,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// ─── deriveOverallStatus ────────────────────────────────────────────
|
|
39
|
-
|
|
40
|
-
describe("deriveOverallStatus", () => {
|
|
41
|
-
test("returns 'error' when fatalError is set, even if completion is reached", () => {
|
|
42
|
-
expect(
|
|
43
|
-
deriveOverallStatus({
|
|
44
|
-
sessions: [],
|
|
45
|
-
fatalError: "boom",
|
|
46
|
-
completionReached: true,
|
|
47
|
-
}),
|
|
48
|
-
).toBe("error");
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
test("returns 'error' when any session ended in error", () => {
|
|
52
|
-
expect(
|
|
53
|
-
deriveOverallStatus({
|
|
54
|
-
sessions: [session("a", "complete"), session("b", "error")],
|
|
55
|
-
fatalError: null,
|
|
56
|
-
completionReached: false,
|
|
57
|
-
}),
|
|
58
|
-
).toBe("error");
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
test("returns 'needs_review' when any session is awaiting_input", () => {
|
|
62
|
-
expect(
|
|
63
|
-
deriveOverallStatus({
|
|
64
|
-
sessions: [session("a", "running"), session("b", "awaiting_input")],
|
|
65
|
-
fatalError: null,
|
|
66
|
-
completionReached: false,
|
|
67
|
-
}),
|
|
68
|
-
).toBe("needs_review");
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
test("'needs_review' wins over 'completed' so a HIL pause near the end isn't reported as done", () => {
|
|
72
|
-
expect(
|
|
73
|
-
deriveOverallStatus({
|
|
74
|
-
sessions: [session("a", "complete"), session("b", "awaiting_input")],
|
|
75
|
-
fatalError: null,
|
|
76
|
-
completionReached: true,
|
|
77
|
-
}),
|
|
78
|
-
).toBe("needs_review");
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
test("returns 'completed' when completionReached and nothing errored or paused", () => {
|
|
82
|
-
expect(
|
|
83
|
-
deriveOverallStatus({
|
|
84
|
-
sessions: [session("a", "complete"), session("b", "complete")],
|
|
85
|
-
fatalError: null,
|
|
86
|
-
completionReached: true,
|
|
87
|
-
}),
|
|
88
|
-
).toBe("completed");
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
test("returns 'in_progress' as the default", () => {
|
|
92
|
-
expect(
|
|
93
|
-
deriveOverallStatus({
|
|
94
|
-
sessions: [session("a", "running")],
|
|
95
|
-
fatalError: null,
|
|
96
|
-
completionReached: false,
|
|
97
|
-
}),
|
|
98
|
-
).toBe("in_progress");
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
// ─── workflowRunIdFromTmuxName ──────────────────────────────────────
|
|
103
|
-
|
|
104
|
-
describe("workflowRunIdFromTmuxName", () => {
|
|
105
|
-
test("extracts the trailing 8-hex segment from a workflow session name", () => {
|
|
106
|
-
expect(workflowRunIdFromTmuxName("atomic-wf-claude-ralph-a1b2c3d4")).toBe(
|
|
107
|
-
"a1b2c3d4",
|
|
108
|
-
);
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
test("handles workflow names containing hyphens", () => {
|
|
112
|
-
expect(
|
|
113
|
-
workflowRunIdFromTmuxName("atomic-wf-claude-deep-research-12345678"),
|
|
114
|
-
).toBe("12345678");
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
test("returns null for chat sessions", () => {
|
|
118
|
-
expect(workflowRunIdFromTmuxName("atomic-chat-claude-deadbeef")).toBeNull();
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
test("returns null when the suffix is not 8-char hex", () => {
|
|
122
|
-
expect(workflowRunIdFromTmuxName("atomic-wf-claude-ralph-not-hex")).toBeNull();
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
test("returns null for an unrelated session name", () => {
|
|
126
|
-
expect(workflowRunIdFromTmuxName("my-session")).toBeNull();
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
// ─── buildSnapshot ──────────────────────────────────────────────────
|
|
131
|
-
|
|
132
|
-
describe("buildSnapshot", () => {
|
|
133
|
-
test("populates schemaVersion + identifying fields and clones session arrays", () => {
|
|
134
|
-
const fixed = new Date("2026-01-01T00:00:00.000Z");
|
|
135
|
-
const sourceParents = ["orchestrator"];
|
|
136
|
-
const sourceSession = session("orchestrator", "running", { parents: sourceParents });
|
|
137
|
-
const snap = buildSnapshot(
|
|
138
|
-
{
|
|
139
|
-
workflowRunId: "abcd1234",
|
|
140
|
-
tmuxSession: "atomic-wf-claude-ralph-abcd1234",
|
|
141
|
-
workflowName: "ralph",
|
|
142
|
-
agent: "claude",
|
|
143
|
-
prompt: "hello",
|
|
144
|
-
fatalError: null,
|
|
145
|
-
completionReached: false,
|
|
146
|
-
sessions: [sourceSession],
|
|
147
|
-
},
|
|
148
|
-
() => fixed,
|
|
149
|
-
);
|
|
150
|
-
|
|
151
|
-
expect(snap.schemaVersion).toBe(1);
|
|
152
|
-
expect(snap.workflowRunId).toBe("abcd1234");
|
|
153
|
-
expect(snap.tmuxSession).toBe("atomic-wf-claude-ralph-abcd1234");
|
|
154
|
-
expect(snap.workflowName).toBe("ralph");
|
|
155
|
-
expect(snap.agent).toBe("claude");
|
|
156
|
-
expect(snap.prompt).toBe("hello");
|
|
157
|
-
expect(snap.overall).toBe("in_progress");
|
|
158
|
-
expect(snap.updatedAt).toBe("2026-01-01T00:00:00.000Z");
|
|
159
|
-
expect(snap.sessions).toHaveLength(1);
|
|
160
|
-
expect(snap.sessions[0]!.name).toBe("orchestrator");
|
|
161
|
-
// parents must be cloned, not aliased to the input array — otherwise
|
|
162
|
-
// a later panel-store mutation would silently rewrite a snapshot
|
|
163
|
-
// that we already handed to a consumer.
|
|
164
|
-
expect(snap.sessions[0]!.parents).not.toBe(sourceParents);
|
|
165
|
-
expect(snap.sessions[0]!.parents).toEqual(sourceParents);
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
test("propagates the derived overall status from the inputs", () => {
|
|
169
|
-
const snap = buildSnapshot({
|
|
170
|
-
workflowRunId: "abcd1234",
|
|
171
|
-
tmuxSession: "x",
|
|
172
|
-
workflowName: "ralph",
|
|
173
|
-
agent: "claude",
|
|
174
|
-
prompt: "",
|
|
175
|
-
fatalError: null,
|
|
176
|
-
completionReached: true,
|
|
177
|
-
sessions: [session("a", "complete")],
|
|
178
|
-
});
|
|
179
|
-
expect(snap.overall).toBe("completed");
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
// ─── write/read round trip ──────────────────────────────────────────
|
|
184
|
-
|
|
185
|
-
describe("writeSnapshot + readSnapshot", () => {
|
|
186
|
-
test("persists a snapshot and reads it back unchanged", async () => {
|
|
187
|
-
const dir = await mkdtemp(join(tmpdir(), "atomic-status-"));
|
|
188
|
-
try {
|
|
189
|
-
const snap: WorkflowStatusSnapshot = buildSnapshot({
|
|
190
|
-
workflowRunId: "abcd1234",
|
|
191
|
-
tmuxSession: "atomic-wf-claude-ralph-abcd1234",
|
|
192
|
-
workflowName: "ralph",
|
|
193
|
-
agent: "claude",
|
|
194
|
-
prompt: "hello",
|
|
195
|
-
fatalError: null,
|
|
196
|
-
completionReached: false,
|
|
197
|
-
sessions: [session("orchestrator", "running")],
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
await writeSnapshot(dir, snap);
|
|
201
|
-
const back = await readSnapshot(dir);
|
|
202
|
-
expect(back).not.toBeNull();
|
|
203
|
-
expect(back!.workflowRunId).toBe("abcd1234");
|
|
204
|
-
expect(back!.overall).toBe("in_progress");
|
|
205
|
-
expect(back!.sessions).toHaveLength(1);
|
|
206
|
-
} finally {
|
|
207
|
-
await rm(dir, { recursive: true, force: true });
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
test("returns null when status.json does not exist", async () => {
|
|
212
|
-
const dir = await mkdtemp(join(tmpdir(), "atomic-status-"));
|
|
213
|
-
try {
|
|
214
|
-
const back = await readSnapshot(dir);
|
|
215
|
-
expect(back).toBeNull();
|
|
216
|
-
} finally {
|
|
217
|
-
await rm(dir, { recursive: true, force: true });
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
test("returns null when status.json is malformed JSON", async () => {
|
|
222
|
-
const dir = await mkdtemp(join(tmpdir(), "atomic-status-"));
|
|
223
|
-
try {
|
|
224
|
-
await Bun.write(join(dir, "status.json"), "not-json");
|
|
225
|
-
const back = await readSnapshot(dir);
|
|
226
|
-
expect(back).toBeNull();
|
|
227
|
-
} finally {
|
|
228
|
-
await rm(dir, { recursive: true, force: true });
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
test("returns null when status.json fails the snapshot shape guard", async () => {
|
|
233
|
-
const dir = await mkdtemp(join(tmpdir(), "atomic-status-"));
|
|
234
|
-
try {
|
|
235
|
-
await Bun.write(
|
|
236
|
-
join(dir, "status.json"),
|
|
237
|
-
JSON.stringify({ schemaVersion: 99, foo: "bar" }),
|
|
238
|
-
);
|
|
239
|
-
const back = await readSnapshot(dir);
|
|
240
|
-
expect(back).toBeNull();
|
|
241
|
-
} finally {
|
|
242
|
-
await rm(dir, { recursive: true, force: true });
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
});
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workflow status snapshot — bridges the in-process panel state with
|
|
3
|
-
* out-of-process consumers (e.g. `atomic workflow status`).
|
|
4
|
-
*
|
|
5
|
-
* The orchestrator subscribes to its `PanelStore` and writes a fresh
|
|
6
|
-
* snapshot to `~/.atomic/sessions/<workflowRunId>/status.json` every
|
|
7
|
-
* time the store mutates. Consumers read that file to derive the
|
|
8
|
-
* overall workflow state without needing IPC into the orchestrator.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { join } from "node:path";
|
|
12
|
-
import type { SessionData, SessionStatus } from "../components/orchestrator-panel-types.ts";
|
|
13
|
-
|
|
14
|
-
/** File name used for the status snapshot inside each workflow's session directory. */
|
|
15
|
-
export const STATUS_FILE_NAME = "status.json";
|
|
16
|
-
|
|
17
|
-
/** High-level workflow state surfaced to the agent / CLI consumer. */
|
|
18
|
-
export type WorkflowOverallStatus =
|
|
19
|
-
| "in_progress"
|
|
20
|
-
| "error"
|
|
21
|
-
| "completed"
|
|
22
|
-
| "needs_review";
|
|
23
|
-
|
|
24
|
-
/** Per-session entry mirrored from the orchestrator's panel store. */
|
|
25
|
-
export interface WorkflowStatusSession {
|
|
26
|
-
name: string;
|
|
27
|
-
status: SessionStatus;
|
|
28
|
-
parents: string[];
|
|
29
|
-
error?: string;
|
|
30
|
-
startedAt: number | null;
|
|
31
|
-
endedAt: number | null;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Snapshot persisted to disk for `atomic workflow status` to read.
|
|
36
|
-
* Schema is versioned so future readers can stay backwards-compatible.
|
|
37
|
-
*/
|
|
38
|
-
export interface WorkflowStatusSnapshot {
|
|
39
|
-
schemaVersion: 1;
|
|
40
|
-
workflowRunId: string;
|
|
41
|
-
tmuxSession: string;
|
|
42
|
-
workflowName: string;
|
|
43
|
-
agent: string;
|
|
44
|
-
prompt: string;
|
|
45
|
-
/** Overall state derived from per-session status + completion flags. */
|
|
46
|
-
overall: WorkflowOverallStatus;
|
|
47
|
-
/** True when the orchestrator has shown its completion banner. */
|
|
48
|
-
completionReached: boolean;
|
|
49
|
-
/** Fatal-error message set via `panel.showFatalError`, if any. */
|
|
50
|
-
fatalError: string | null;
|
|
51
|
-
/** Wall-clock time of the snapshot in ISO-8601 format. */
|
|
52
|
-
updatedAt: string;
|
|
53
|
-
sessions: WorkflowStatusSession[];
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Inputs the writer needs to render a snapshot — a strict subset of
|
|
58
|
-
* `PanelStore` so the writer doesn't depend on the renderer module.
|
|
59
|
-
*/
|
|
60
|
-
export interface StatusWriterInputs {
|
|
61
|
-
workflowRunId: string;
|
|
62
|
-
tmuxSession: string;
|
|
63
|
-
workflowName: string;
|
|
64
|
-
agent: string;
|
|
65
|
-
prompt: string;
|
|
66
|
-
fatalError: string | null;
|
|
67
|
-
completionReached: boolean;
|
|
68
|
-
sessions: readonly SessionData[];
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Derive the overall workflow state from per-session statuses + the
|
|
73
|
-
* orchestrator-level completion / fatal-error flags.
|
|
74
|
-
*
|
|
75
|
-
* Precedence (highest first):
|
|
76
|
-
* 1. `error` — fatal error or any session ended in error
|
|
77
|
-
* 2. `needs_review` — at least one session is awaiting human input (HIL)
|
|
78
|
-
* 3. `completed` — completion banner reached and nothing errored
|
|
79
|
-
* 4. `in_progress` — default
|
|
80
|
-
*
|
|
81
|
-
* `needs_review` outranks `completed` so an agent that pauses for HIL
|
|
82
|
-
* right at the end is never reported as done while still waiting.
|
|
83
|
-
*/
|
|
84
|
-
export function deriveOverallStatus(input: {
|
|
85
|
-
sessions: readonly SessionData[];
|
|
86
|
-
completionReached: boolean;
|
|
87
|
-
fatalError: string | null;
|
|
88
|
-
}): WorkflowOverallStatus {
|
|
89
|
-
if (input.fatalError !== null) return "error";
|
|
90
|
-
if (input.sessions.some((s) => s.status === "error")) return "error";
|
|
91
|
-
if (input.sessions.some((s) => s.status === "awaiting_input")) {
|
|
92
|
-
return "needs_review";
|
|
93
|
-
}
|
|
94
|
-
if (input.completionReached) return "completed";
|
|
95
|
-
return "in_progress";
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/** Build a snapshot from the writer inputs (pure — exported for tests). */
|
|
99
|
-
export function buildSnapshot(
|
|
100
|
-
input: StatusWriterInputs,
|
|
101
|
-
now: () => Date = () => new Date(),
|
|
102
|
-
): WorkflowStatusSnapshot {
|
|
103
|
-
return {
|
|
104
|
-
schemaVersion: 1,
|
|
105
|
-
workflowRunId: input.workflowRunId,
|
|
106
|
-
tmuxSession: input.tmuxSession,
|
|
107
|
-
workflowName: input.workflowName,
|
|
108
|
-
agent: input.agent,
|
|
109
|
-
prompt: input.prompt,
|
|
110
|
-
overall: deriveOverallStatus({
|
|
111
|
-
sessions: input.sessions,
|
|
112
|
-
completionReached: input.completionReached,
|
|
113
|
-
fatalError: input.fatalError,
|
|
114
|
-
}),
|
|
115
|
-
completionReached: input.completionReached,
|
|
116
|
-
fatalError: input.fatalError,
|
|
117
|
-
updatedAt: now().toISOString(),
|
|
118
|
-
sessions: input.sessions.map((s) => ({
|
|
119
|
-
name: s.name,
|
|
120
|
-
status: s.status,
|
|
121
|
-
parents: [...s.parents],
|
|
122
|
-
...(s.error !== undefined ? { error: s.error } : {}),
|
|
123
|
-
startedAt: s.startedAt,
|
|
124
|
-
endedAt: s.endedAt,
|
|
125
|
-
})),
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/** Absolute path of the status file for a given workflow run directory. */
|
|
130
|
-
export function statusFilePath(sessionDir: string): string {
|
|
131
|
-
return join(sessionDir, STATUS_FILE_NAME);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Write a snapshot to `<sessionDir>/status.json`. Uses an atomic
|
|
136
|
-
* write-then-rename so concurrent readers never see partial JSON.
|
|
137
|
-
* Errors are swallowed — the orchestrator must keep running even if
|
|
138
|
-
* the status file can't be persisted.
|
|
139
|
-
*/
|
|
140
|
-
export async function writeSnapshot(
|
|
141
|
-
sessionDir: string,
|
|
142
|
-
snapshot: WorkflowStatusSnapshot,
|
|
143
|
-
): Promise<void> {
|
|
144
|
-
const finalPath = statusFilePath(sessionDir);
|
|
145
|
-
const tmpPath = `${finalPath}.tmp-${process.pid}`;
|
|
146
|
-
try {
|
|
147
|
-
await Bun.write(tmpPath, JSON.stringify(snapshot, null, 2));
|
|
148
|
-
const { rename } = await import("node:fs/promises");
|
|
149
|
-
await rename(tmpPath, finalPath);
|
|
150
|
-
} catch {
|
|
151
|
-
// Best-effort — never fail the workflow because of a status write.
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Read a snapshot from disk. Returns `null` when the file doesn't
|
|
157
|
-
* exist or fails to parse — callers fall back to deriving status from
|
|
158
|
-
* the live tmux session list.
|
|
159
|
-
*/
|
|
160
|
-
export async function readSnapshot(
|
|
161
|
-
sessionDir: string,
|
|
162
|
-
): Promise<WorkflowStatusSnapshot | null> {
|
|
163
|
-
try {
|
|
164
|
-
const file = Bun.file(statusFilePath(sessionDir));
|
|
165
|
-
if (!(await file.exists())) return null;
|
|
166
|
-
const parsed: unknown = JSON.parse(await file.text());
|
|
167
|
-
if (!isSnapshot(parsed)) return null;
|
|
168
|
-
return parsed;
|
|
169
|
-
} catch {
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/** Runtime guard for deserialised snapshots — keeps the reader type-safe. */
|
|
175
|
-
function isSnapshot(value: unknown): value is WorkflowStatusSnapshot {
|
|
176
|
-
if (!value || typeof value !== "object") return false;
|
|
177
|
-
const v = value as Record<string, unknown>;
|
|
178
|
-
return (
|
|
179
|
-
v.schemaVersion === 1 &&
|
|
180
|
-
typeof v.workflowRunId === "string" &&
|
|
181
|
-
typeof v.tmuxSession === "string" &&
|
|
182
|
-
typeof v.overall === "string" &&
|
|
183
|
-
Array.isArray(v.sessions)
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Extract the `workflowRunId` (the trailing 8-hex segment) from a
|
|
189
|
-
* tmux session name shaped `atomic-wf-<agent>-<name>-<id>`. Returns
|
|
190
|
-
* `null` for non-workflow sessions or names that don't end in a
|
|
191
|
-
* UUID-style suffix.
|
|
192
|
-
*/
|
|
193
|
-
export function workflowRunIdFromTmuxName(name: string): string | null {
|
|
194
|
-
if (!name.startsWith("atomic-wf-")) return null;
|
|
195
|
-
const lastDash = name.lastIndexOf("-");
|
|
196
|
-
if (lastDash < 0) return null;
|
|
197
|
-
const candidate = name.slice(lastDash + 1);
|
|
198
|
-
// generateId() produces an 8-char hex slice from crypto.randomUUID.
|
|
199
|
-
if (!/^[0-9a-f]{8}$/i.test(candidate)) return null;
|
|
200
|
-
return candidate;
|
|
201
|
-
}
|
package/src/sdk/runtime/theme.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Terminal color theme using Catppuccin palettes.
|
|
3
|
-
*
|
|
4
|
-
* Uses OpenTUI's built-in dark/light mode detection (via the renderer's
|
|
5
|
-
* themeMode property) to select the appropriate palette:
|
|
6
|
-
* - Mocha for dark terminals (and as fallback)
|
|
7
|
-
* - Latte for light terminals
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { ThemeMode } from "@opentui/core";
|
|
11
|
-
import { flavors, type CatppuccinFlavor } from "@catppuccin/palette";
|
|
12
|
-
|
|
13
|
-
// ---------------------------------------------------------------------------
|
|
14
|
-
// Theme type
|
|
15
|
-
// ---------------------------------------------------------------------------
|
|
16
|
-
|
|
17
|
-
export interface TerminalTheme {
|
|
18
|
-
bg: string;
|
|
19
|
-
backgroundPanel: string;
|
|
20
|
-
backgroundElement: string;
|
|
21
|
-
surface: string;
|
|
22
|
-
selection: string;
|
|
23
|
-
border: string;
|
|
24
|
-
borderDim: string;
|
|
25
|
-
accent: string;
|
|
26
|
-
text: string;
|
|
27
|
-
textMuted: string;
|
|
28
|
-
dim: string;
|
|
29
|
-
info: string;
|
|
30
|
-
success: string;
|
|
31
|
-
error: string;
|
|
32
|
-
warning: string;
|
|
33
|
-
mauve: string;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function buildTerminalTheme(flavor: CatppuccinFlavor): TerminalTheme {
|
|
37
|
-
const { colors } = flavor;
|
|
38
|
-
return {
|
|
39
|
-
bg: colors.base.hex,
|
|
40
|
-
backgroundPanel: colors.mantle.hex,
|
|
41
|
-
backgroundElement: colors.crust.hex,
|
|
42
|
-
surface: colors.surface0.hex,
|
|
43
|
-
selection: colors.surface1.hex,
|
|
44
|
-
border: colors.overlay0.hex,
|
|
45
|
-
borderDim: colors.surface2.hex,
|
|
46
|
-
accent: colors.blue.hex,
|
|
47
|
-
text: colors.text.hex,
|
|
48
|
-
textMuted: flavor.dark ? colors.subtext0.hex : colors.subtext1.hex,
|
|
49
|
-
dim: colors.overlay1.hex,
|
|
50
|
-
info: colors.sky.hex,
|
|
51
|
-
success: colors.green.hex,
|
|
52
|
-
error: colors.red.hex,
|
|
53
|
-
warning: colors.yellow.hex,
|
|
54
|
-
mauve: colors.mauve.hex,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const CATPPUCCIN_MOCHA = buildTerminalTheme(flavors.mocha);
|
|
59
|
-
const CATPPUCCIN_LATTE = buildTerminalTheme(flavors.latte);
|
|
60
|
-
|
|
61
|
-
// ---------------------------------------------------------------------------
|
|
62
|
-
// Public API
|
|
63
|
-
// ---------------------------------------------------------------------------
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Resolve the terminal theme from the renderer's detected theme mode.
|
|
67
|
-
* Returns Catppuccin Latte for light terminals, Mocha for dark or unknown.
|
|
68
|
-
*/
|
|
69
|
-
export function resolveTheme(mode: ThemeMode | null): TerminalTheme {
|
|
70
|
-
return mode === "light" ? CATPPUCCIN_LATTE : CATPPUCCIN_MOCHA;
|
|
71
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# Atomic tmux configuration — injected automatically via -f
|
|
2
|
-
# Shared by tmux (macOS/Linux) and psmux (Windows)
|
|
3
|
-
#
|
|
4
|
-
# True color + passthrough for rich TUI rendering
|
|
5
|
-
set-option -sa terminal-overrides ",xterm*:Tc"
|
|
6
|
-
set -g set-clipboard on
|
|
7
|
-
set -g allow-passthrough on
|
|
8
|
-
|
|
9
|
-
# Mouse mode — scroll works out of the box
|
|
10
|
-
set-option -g mouse on
|
|
11
|
-
|
|
12
|
-
# Prevent processes from overwriting window titles
|
|
13
|
-
set-option -g allow-rename off
|
|
14
|
-
|
|
15
|
-
# Sane defaults (inlined from tmux-sensible)
|
|
16
|
-
set -g escape-time 0
|
|
17
|
-
set -g history-limit 50000
|
|
18
|
-
set -g display-time 4000
|
|
19
|
-
set -g status-interval 5
|
|
20
|
-
set -g focus-events on
|
|
21
|
-
setw -g aggressive-resize on
|
|
22
|
-
|
|
23
|
-
# Status bar — hidden. The React-rendered AttachedStatusline footer
|
|
24
|
-
# (spawned via `atomic _footer`) already shows the provider pill / pane
|
|
25
|
-
# name, so the default tmux status line would visually compete with it.
|
|
26
|
-
set -g status off
|
|
27
|
-
|
|
28
|
-
# Pane resizing
|
|
29
|
-
bind -r l resize-pane -R 5
|
|
30
|
-
bind -r h resize-pane -L 5
|
|
31
|
-
bind -r k resize-pane -U 5
|
|
32
|
-
bind -r j resize-pane -D 5
|
|
33
|
-
|
|
34
|
-
# Vi-mode
|
|
35
|
-
set-window-option -g mode-keys vi
|
|
36
|
-
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
37
|
-
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
|
38
|
-
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
|
39
|
-
|
|
40
|
-
# ── Atomic workflow navigation (prefix-free) ──────────────
|
|
41
|
-
# These bindings use `bind -n` (root table) so they work without a prefix key.
|
|
42
|
-
# They only apply inside Atomic's isolated tmux server (-L atomic) and do NOT
|
|
43
|
-
# affect the user's regular tmux or shell sessions.
|
|
44
|
-
#
|
|
45
|
-
# NOTE: Ctrl+\ overrides the default SIGQUIT signal. Agent CLIs running in
|
|
46
|
-
# these panes will not receive SIGQUIT via Ctrl+\. Use `kill -QUIT <pid>` if
|
|
47
|
-
# needed. The integrated agents (Claude Code, OpenCode, Copilot CLI) use
|
|
48
|
-
# Ctrl+C for interrupts and are not affected.
|
|
49
|
-
|
|
50
|
-
# Ctrl+G: jump straight back to the graph (window 0) from any agent window
|
|
51
|
-
bind -n C-g select-window -t :0
|
|
52
|
-
|
|
53
|
-
# Ctrl+\: cycle to next agent window from anywhere
|
|
54
|
-
bind -n C-\\ next-window
|
|
55
|
-
|
|
56
|
-
# Ctrl+C handling — for workflow sessions, debounce bursts so the agent's
|
|
57
|
-
# "double-tap to exit" doesn't trigger on accidental spam. For chat
|
|
58
|
-
# sessions (atomic-chat-*) the user is in direct control of the single
|
|
59
|
-
# agent CLI and a deliberate double-tap exit must reach the agent
|
|
60
|
-
# verbatim, so we forward Ctrl+C unmodified.
|
|
61
|
-
#
|
|
62
|
-
# @atomic-bun and @atomic-cc-debounce are set to absolute paths by
|
|
63
|
-
# tmux.ts on session creation — no PATH lookup needed inside run-shell.
|
|
64
|
-
bind -n C-c if-shell -F '#{m:atomic-chat-*,#{session_name}}' \
|
|
65
|
-
'send-keys C-c' \
|
|
66
|
-
'run-shell -b "\"#{@atomic-bun}\" \"#{@atomic-cc-debounce}\" \"#{pane_id}\""'
|
|
67
|
-
|
|
68
|
-
# Escape exits copy-mode (clear selection first if one exists, otherwise cancel)
|
|
69
|
-
bind-key -T copy-mode-vi Escape if-shell -F "#{selection_present}" "send-keys -X clear-selection" "send-keys -X cancel"
|
|
70
|
-
|
|
71
|
-
# Copy-mode mouse bindings:
|
|
72
|
-
# - Drag: begin selection + disable scroll-exit (prevents losing selection if dragged to bottom)
|
|
73
|
-
# - Drag end: copy to system clipboard (via OSC52) and exit copy-mode
|
|
74
|
-
# - Click: clear any selection (but stay in copy-mode for continued scrolling)
|
|
75
|
-
bind -T copy-mode-vi MouseDrag1Pane select-pane \; send-keys -X begin-selection \; send-keys -X scroll-exit-off
|
|
76
|
-
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel
|
|
77
|
-
bind -T copy-mode-vi MouseDown1Pane send-keys -X clear-selection \; select-pane
|
|
78
|
-
|
|
79
|
-
# ── Workflow protection: unbind destructive and layout-changing defaults ──
|
|
80
|
-
# Atomic manages the tmux session lifecycle programmatically. Users should
|
|
81
|
-
# interact with agents and navigate via Ctrl+G / Ctrl+\ / the graph panel.
|
|
82
|
-
# The prefix key (C-b) is kept only for copy-mode entry (C-b [).
|
|
83
|
-
#
|
|
84
|
-
# Note: In practice, C-b is largely unreachable inside Atomic sessions because
|
|
85
|
-
# the agent TUIs (Claude Code, OpenCode, Copilot CLI) run in raw/alternate
|
|
86
|
-
# screen mode and capture keyboard input — including Ctrl+b — before tmux ever
|
|
87
|
-
# sees it. This makes all prefix-based bindings effectively inaccessible during
|
|
88
|
-
# normal agent interaction. The unbinds below are a defense-in-depth measure
|
|
89
|
-
# for the edge case where a user exits an agent back to a bare shell prompt.
|
|
90
|
-
#
|
|
91
|
-
# Bindings intentionally kept (non-destructive or low-risk):
|
|
92
|
-
# C-b [ copy-mode entry (keyboard fallback for mouse scroll)
|
|
93
|
-
# C-b : command prompt (requires typing a full command — low accidental risk)
|
|
94
|
-
# C-b d detach (non-destructive; just disconnects the client)
|
|
95
|
-
|
|
96
|
-
# Prevent window/pane destruction
|
|
97
|
-
unbind & # kill-window
|
|
98
|
-
unbind x # kill-pane
|
|
99
|
-
|
|
100
|
-
# Prevent window/pane creation — Atomic owns the layout. User-initiated
|
|
101
|
-
# splits or new windows would desync the executor's pane registry and
|
|
102
|
-
# leave orphaned shells inside workflow/chat sessions.
|
|
103
|
-
unbind c # new-window
|
|
104
|
-
unbind '"' # default split vertical
|
|
105
|
-
unbind % # default split horizontal
|
|
106
|
-
|
|
107
|
-
# Prevent renaming
|
|
108
|
-
unbind , # rename-window
|
|
109
|
-
unbind '$' # rename-session
|
|
110
|
-
|
|
111
|
-
# Prevent automatic window renaming (complements allow-rename off above)
|
|
112
|
-
setw -g automatic-rename off
|