@rubytech/create-maxy-code 0.1.107 → 0.1.109
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/package.json +1 -1
- package/payload/platform/config/brand.json +1 -0
- package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
- package/payload/platform/plugins/business-assistant/PLUGIN.md +4 -1
- package/payload/platform/plugins/cloudflare/PLUGIN.md +1 -1
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.sh +12 -12
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.ts +9 -43
- package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +27 -29
- package/payload/platform/plugins/cloudflare/skills/setup-tunnel/SKILL.md +14 -9
- package/payload/platform/plugins/docs/references/platform.md +4 -22
- package/payload/platform/plugins/docs/references/plugins-guide.md +9 -2
- package/payload/platform/plugins/docs/references/troubleshooting.md +4 -316
- package/payload/platform/plugins/venture-studio/.claude-plugin/plugin.json +8 -0
- package/payload/platform/plugins/venture-studio/PLUGIN.md +110 -0
- package/payload/platform/plugins/venture-studio/bin/scaffold.sh +104 -0
- package/payload/platform/plugins/venture-studio/skills/brand-pack/SKILL.md +256 -0
- package/payload/platform/plugins/venture-studio/skills/brand-pack/references/color-psychology.md +118 -0
- package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/SKILL.md +112 -9
- package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/html-pdf-pipeline.md +1 -1
- package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/termsheet-template.md +1 -1
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/index.html +1565 -0
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/render-pdf.mjs +91 -0
- package/payload/platform/plugins/venture-studio/skills/investor-data-room/templates/prospectus/term_sheet.html +715 -0
- package/payload/platform/plugins/venture-studio/skills/office-hours/SKILL.md +588 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/SKILL.md +332 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/aarrr-metrics.md +275 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/assumption-testing.md +93 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/boolean-search.md +308 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/build-measure-learn.md +262 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/business-model-canvas.md +171 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/commitment-signals.md +246 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/design-thinking.md +183 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/earlyvangelist.md +190 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/first-principles.md +58 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/fishbone.md +114 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/five-whys.md +43 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/ice-scoring.md +237 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/innovation-accounting.md +290 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/jtbd.md +105 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +361 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/market-type.md +167 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mom-test.md +193 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/mvp-types.md +200 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/og-images.md +239 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pareto.md +103 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/persona-development.md +291 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pivot-types.md +225 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/positioning-statement.md +179 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/prd.md +363 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/pre-mortem.md +74 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/problem-validation.md +253 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/product-market-fit.md +256 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/research-synthesis.md +276 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/three-engines-of-growth.md +248 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/validation-tests.md +89 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/value-proposition-canvas.md +121 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/win-loss-analysis.md +242 -0
- package/payload/platform/plugins/venture-studio/skills/zero-to-prototype/references/workflow-mapping.md +271 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.d.ts +2 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.d.ts.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.js +78 -0
- package/payload/platform/plugins/work/mcp/dist/cli/project-create-cli.js.map +1 -0
- package/payload/platform/scripts/vnc.sh +4 -3
- package/payload/premium-plugins/.claude-plugin/marketplace.json +4 -4
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/build.md +4 -5
- package/payload/premium-plugins/venture-studio/.claude-plugin/plugin.json +8 -0
- package/payload/premium-plugins/venture-studio/PLUGIN.md +110 -0
- package/payload/premium-plugins/venture-studio/bin/scaffold.sh +104 -0
- package/payload/premium-plugins/venture-studio/skills/brand-pack/SKILL.md +256 -0
- package/payload/premium-plugins/venture-studio/skills/brand-pack/references/color-psychology.md +118 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/SKILL.md +361 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/business-plan-template.md +61 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/compliance-research-checklist.md +53 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/data-room-structure.md +77 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/deck-blueprint-template.md +38 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/design-tokens-application.md +79 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/html-pdf-pipeline.md +236 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/internal-workings-scrub.md +33 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/references/termsheet-template.md +88 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/index.html +1565 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/render-pdf.mjs +91 -0
- package/payload/premium-plugins/venture-studio/skills/investor-data-room/templates/prospectus/term_sheet.html +715 -0
- package/payload/premium-plugins/venture-studio/skills/office-hours/SKILL.md +588 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/SKILL.md +332 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/aarrr-metrics.md +275 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/assumption-testing.md +93 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/boolean-search.md +308 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/build-measure-learn.md +262 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/business-model-canvas.md +171 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/commitment-signals.md +246 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/design-thinking.md +183 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/earlyvangelist.md +190 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/first-principles.md +58 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/fishbone.md +114 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/five-whys.md +43 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/ice-scoring.md +237 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/innovation-accounting.md +290 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/jtbd.md +105 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/landing-page.md +361 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/market-type.md +167 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/mom-test.md +193 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/mvp-types.md +200 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/og-images.md +239 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pareto.md +103 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/persona-development.md +291 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pivot-types.md +225 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/positioning-statement.md +179 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/prd.md +363 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/pre-mortem.md +74 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/problem-validation.md +253 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/product-market-fit.md +256 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/research-synthesis.md +276 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/three-engines-of-growth.md +248 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/validation-tests.md +89 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/value-proposition-canvas.md +121 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/win-loss-analysis.md +242 -0
- package/payload/premium-plugins/venture-studio/skills/zero-to-prototype/references/workflow-mapping.md +271 -0
- package/payload/server/{chunk-TZD23CX6.js → chunk-FSPPVVWM.js} +1347 -505
- package/payload/server/maxy-edge.js +21 -259
- package/payload/server/public/assets/{ChatInput-DJsqm_Gf.js → ChatInput-CsnIedhS.js} +1 -5
- package/payload/server/public/assets/{Checkbox-DGZG9BKc.js → Checkbox-CWugFyFT.js} +1 -1
- package/payload/server/public/assets/admin-D3gZuyUn.js +217 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-Dw16BhiX.js → architectureDiagram-Q4EWVU46-CeTRKWDb.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DIOpmf5Y.js → blockDiagram-DXYQGD6D-DeeIX5U3.js} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-Tdb_HZeX.js → c4Diagram-AHTNJAMY-CFsqZuil.js} +1 -1
- package/payload/server/public/assets/channel-CrSx5mnG.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-CebpwDDe.js → chunk-336JU56O-DpIXuFM0.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-BtRCmfDU.js → chunk-426QAEUC-Qk8qqrvA.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-BZ3GEWs3.js → chunk-4TB4RGXK-DtM8-CUn.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-iDI6Xu0U.js → chunk-5FUZZQ4R-CrSQ4ySU.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-SQD_EpYa.js → chunk-5PVQY5BW-Bn2nQwdj.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-CtCcA7_e.js → chunk-EDXVE4YY-CzCPnR0P.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-pXVGVCbb.js → chunk-ENJZ2VHE-CgZj9RoG.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-Dkzg9o2N.js → chunk-ICPOFSXX-wy-eNjwW.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-1ZZWzf9F.js → chunk-OYMX7WX6-CMmJtL8S.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-CpQ3kzO0.js → chunk-U2HBQHQK-CFCW7OaT.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-C2LkxroC.js → chunk-X2U36JSP-Bgh-CJSN.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-Bl5jBOt5.js → chunk-YZCP3GAM-BXKwZ4vN.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-CHtnptPS.js → chunk-ZZ45TVLE-BiOuK5NP.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-C3IDJsqN.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BOIrJ5Zb.js +1 -0
- package/payload/server/public/assets/clone-P8Fkz7JD.js +1 -0
- package/payload/server/public/assets/{dagre-BziN0Nkh.js → dagre-DyCxa9Q2.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-B7OG1g1Y.js → dagre-KV5264BT-Cffo_hmf.js} +1 -1
- package/payload/server/public/assets/data-DRfwJPja.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-Bf31nIDs.js → diagram-5BDNPKRD-Bt93Du3V.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-DQu85hhH.js → diagram-G4DWMVQ6-v4r-tBsC.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-5tstbs4y.js → diagram-MMDJMWI5-DKrVPOP-.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635--MOV1U4o.js → diagram-TYMM5635-B1PzWQb9.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-BtAnOJmd.js → erDiagram-SMLLAGMA-ClQzsQAs.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CybiCIih.js → flowDiagram-DWJPFMVM-h3IbpN_7.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-B44jN7Cy.js → ganttDiagram-T4ZO3ILL-ClaxOJi8.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CT7iYcwg.js → gitGraphDiagram-UUTBAWPF-pM-U4ClD.js} +1 -1
- package/payload/server/public/assets/graph-B4FFYwus.js +1 -0
- package/payload/server/public/assets/graph-labels-Cpk9Ktt0.js +1 -0
- package/payload/server/public/assets/{graphlib-DP4o0pYL.js → graphlib-CwimOv_M.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-CvxFpFHN.js → infoDiagram-42DDH7IO-DcO3Giwe.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-CUwWLPeR.js → ishikawaDiagram-UXIWVN3A-BcdSL5VS.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-y-OnGgLi.js → journeyDiagram-VCZTEJTY-CYahHYzf.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-BhrSe8R4.js → kanban-definition-6JOO6SKY-Cl5KhoS4.js} +1 -1
- package/payload/server/public/assets/lib--yuBd0Xi.js +33 -0
- package/payload/server/public/assets/{line-C9uS7z4J.js → line-d_2oTxLp.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-Cg4ZdKp-.js → mermaid-parser.core-CMMDGv3x.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-BHdKOsex.js → mermaid.core-DK9ENGbr.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-NBYiXHo7.js → mindmap-definition-QFDTVHPH-mA3x3MFG.js} +1 -1
- package/payload/server/public/assets/page-CgDmg_fX.js +1 -0
- package/payload/server/public/assets/{page-D9YpwhIu.js → page-D9lluVl7.js} +2 -2
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-CbojC64C.js → pieDiagram-DEJITSTG-CW1nGFlY.js} +1 -1
- package/payload/server/public/assets/public-DdLMkNdS.js +7 -0
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CnnoZXcL.js → quadrantDiagram-34T5L4WZ-DI5igJhR.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-DFRFRtyJ.js → requirementDiagram-MS252O5E-DyVeI4e_.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DU5gcpzO.js → sankeyDiagram-XADWPNL6-CCTTBYKY.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BN7HZ6Hq.js → sequenceDiagram-FGHM5R23-hVVf35ly.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DG6cCjvg.js → stateDiagram-FHFEXIEX-CSLuQDUX.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C5JejhQU.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-qmV-8SEV.js → timeline-definition-GMOUNBTQ-sxC3W8Q4.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BMXQ1s3n.js → vennDiagram-DHZGUBPP-Ro-ton6Z.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-CoAdP1Gw.js → wardleyDiagram-NUSXRM2D-T-dKD0Zx.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CZlfGTEn.js → xychartDiagram-5P7HB3ND-CfProPts.js} +1 -1
- package/payload/server/public/data.html +4 -4
- package/payload/server/public/graph.html +5 -5
- package/payload/server/public/index.html +7 -7
- package/payload/server/public/public.html +4 -4
- package/payload/server/server.js +300 -1393
- package/payload/platform/plugins/cloudflare/scripts/_stream-log.sh +0 -154
- package/payload/premium-plugins/founder-pack/.claude-plugin/plugin.json +0 -8
- package/payload/server/chunk-BDFOTLPW.js +0 -759
- package/payload/server/chunk-JRBCOVA4.js +0 -1305
- package/payload/server/cloudflare-task-tracker-M5ONAGUT.js +0 -22
- package/payload/server/public/assets/admin-BvzMvMGo.js +0 -217
- package/payload/server/public/assets/channel-DThrH4QF.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BC6oGTNX.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-COwC5Umh.js +0 -1
- package/payload/server/public/assets/clone-Chp7hvnA.js +0 -1
- package/payload/server/public/assets/data-BAgaPs4j.js +0 -1
- package/payload/server/public/assets/graph-Cma7EArf.js +0 -1
- package/payload/server/public/assets/graph-labels-DyKk6Sxf.js +0 -1
- package/payload/server/public/assets/lib-CpkYtEDz.js +0 -29
- package/payload/server/public/assets/page-B4IWl3aZ.js +0 -1
- package/payload/server/public/assets/public-BtOXjy3A.js +0 -8
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CvVd1Q_q.js +0 -1
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/business-plan-template.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/compliance-research-checklist.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/data-room-structure.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/deck-blueprint-template.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/design-tokens-application.md +0 -0
- /package/payload/{premium-plugins/founder-pack → platform/plugins/venture-studio}/skills/investor-data-room/references/internal-workings-scrub.md +0 -0
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Shared stream-log helpers sourced by setup-tunnel.sh and reset-tunnel.sh.
|
|
3
|
-
#
|
|
4
|
-
# The platform exposes STREAM_LOG_PATH in the `claude` spawn env;
|
|
5
|
-
# the Bash-tool subprocess inherits it, and opt-in scripts call these
|
|
6
|
-
# helpers to emit phase lines and tee subprocess output into the same
|
|
7
|
-
# per-conversation file the chat UI's server-side tailer reads.
|
|
8
|
-
#
|
|
9
|
-
# Contract (read by platform/ui/app/lib/script-stream-tailer.ts tailer and
|
|
10
|
-
# .docs/web-chat.md):
|
|
11
|
-
# [<ISO-ts>] [script:<scope>] <kv …>
|
|
12
|
-
# [<ISO-ts>] [script:<scope>:<subprocess-tag>] <raw line>
|
|
13
|
-
# Canonical regex — SCRIPT_STREAM_RE at platform/ui/app/lib/script-stream-tailer.ts:
|
|
14
|
-
# ^\[([^\]]+)\] \[script:([a-z][a-z0-9-]*)((?::[a-z0-9:_-]+)?)\] (.*)$
|
|
15
|
-
# The literal `script:` prefix is the chat-surface namespace. It
|
|
16
|
-
# separates chat-surface emitters from log-file-only scopes (`[mcp:<server>]`
|
|
17
|
-
# from mcp-stderr-tee, `[init]` / `[api-wait-*]` / `[mcp-init-error]` /
|
|
18
|
-
# `[subproc-stderr]` / `[compaction-*]` from claude-agent.ts) which share
|
|
19
|
-
# the same per-conversation stream log but must NOT reach the chat UI.
|
|
20
|
-
# Callers of phase_line / tee_subprocess / tee_subprocess_capture pass the
|
|
21
|
-
# bare scope (e.g. `setup-tunnel`, `list-cf-domains`, `reset-tunnel:cloudflared`);
|
|
22
|
-
# these helpers prepend `script:` to the stream-log write. Stderr mirrors
|
|
23
|
-
# stay unprefixed — stderr is for direct-SSH operators and route-handler
|
|
24
|
-
# `reason=<enum>` regex, not the chat-surface contract.
|
|
25
|
-
# <scope> is any `[a-z][a-z0-9-]*` token
|
|
26
|
-
# pre-592 enum `setup-tunnel|reset-tunnel`, which silently filtered out the
|
|
27
|
-
# `[list-cf-domains]` lines). <subprocess-tag> may contain
|
|
28
|
-
# lowercase, digits, `-`, `_`, `:`. Adding a new chat-surface scope requires
|
|
29
|
-
# no edit to the regex — the shape is the only contract. Any prefix-shape
|
|
30
|
-
# change must be made on both sides (this helper + script-stream-tailer.ts)
|
|
31
|
-
# atomically.
|
|
32
|
-
#
|
|
33
|
-
# Inner layers (e.g. a node/python helper a.sh wrapper spawns — the
|
|
34
|
-
# `list-cf-domains.sh` → `list-cf-domains.ts` pattern) must write phase lines
|
|
35
|
-
# directly to STREAM_LOG_PATH with the same prefix shape (including the
|
|
36
|
-
# `script:` namespace): stderr alone is silently discarded by runFormSpawn on
|
|
37
|
-
# exit 0. The build-gate `platform/ui/scripts/check-stream-log-contract.mjs`
|
|
38
|
-
# enforces this by rejecting any.sh under `platform/plugins/*/scripts/`
|
|
39
|
-
# that sources this helper and invokes an interpreter subprocess whose target
|
|
40
|
-
# does not pair a STREAM_LOG_PATH env read with an append/write call. Opt out
|
|
41
|
-
# per invocation with `# stream-log-contract: stderr-only (reason: <prose>)`.
|
|
42
|
-
|
|
43
|
-
# Exit 1 loudly with the variable name and the invoking scope so direct-SSH
|
|
44
|
-
# invocations fail fast and the operator reads exactly what to set. No
|
|
45
|
-
# silent fallback — criterion 4 of.
|
|
46
|
-
require_stream_log_path() {
|
|
47
|
-
local scope="$1"
|
|
48
|
-
if [ -z "${STREAM_LOG_PATH:-}" ]; then
|
|
49
|
-
echo "ERROR [${scope}]: STREAM_LOG_PATH environment variable is unset." >&2
|
|
50
|
-
echo " This script tees subprocess output into a per-conversation" >&2
|
|
51
|
-
echo " stream log; it is meaningless without a target path." >&2
|
|
52
|
-
echo " The platform sets STREAM_LOG_PATH automatically for every" >&2
|
|
53
|
-
echo " \`claude\` spawn. If you are invoking this" >&2
|
|
54
|
-
echo " script by hand, export it yourself, for example:" >&2
|
|
55
|
-
echo " export STREAM_LOG_PATH=\"\${HOME}/.maxy/logs/manual-invocation.log\"" >&2
|
|
56
|
-
exit 1
|
|
57
|
-
fi
|
|
58
|
-
mkdir -p "$(dirname "${STREAM_LOG_PATH}")"
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
# ISO-8601 UTC timestamp with millisecond precision.
|
|
62
|
-
stream_log_ts() {
|
|
63
|
-
date -u +"%Y-%m-%dT%H:%M:%S.%3NZ"
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
# Append one phase line to STREAM_LOG_PATH AND echo to stderr so the Bash
|
|
67
|
-
# tool's stderr capture carries it. Both paths matter: the stream log is
|
|
68
|
-
# the live tailer surface; stderr is the exit-time Bash-tool surface.
|
|
69
|
-
#
|
|
70
|
-
# The stream-log write carries the `script:` chat-surface namespace;
|
|
71
|
-
# the stderr mirror stays unprefixed because stderr is read by direct-SSH
|
|
72
|
-
# operators and the route-handler `reason=<enum>` regex, not the chat UI.
|
|
73
|
-
#
|
|
74
|
-
# Usage: phase_line <scope> <key=value …>
|
|
75
|
-
phase_line() {
|
|
76
|
-
local scope="$1"; shift
|
|
77
|
-
local ts
|
|
78
|
-
ts="$(stream_log_ts)"
|
|
79
|
-
printf '[%s] [script:%s] %s\n' "${ts}" "${scope}" "$*" >> "${STREAM_LOG_PATH}"
|
|
80
|
-
printf '[%s] %s\n' "${scope}" "$*" >&2
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
# Tee a subprocess's combined stdout+stderr into STREAM_LOG_PATH line-by-line
|
|
84
|
-
# with the given tag, mirroring each line to stderr for the Bash tool.
|
|
85
|
-
# Returns the subprocess's exit code.
|
|
86
|
-
#
|
|
87
|
-
# Use for fire-and-forget subprocesses whose stdout does NOT need to be
|
|
88
|
-
# captured by the caller (the caller only cares about the exit code).
|
|
89
|
-
# For subprocesses whose stdout the caller must parse (e.g. JSON output
|
|
90
|
-
# feeding `jq`), use `tee_subprocess_capture` instead.
|
|
91
|
-
#
|
|
92
|
-
# Usage: tee_subprocess <tag> -- <cmd> <args …>
|
|
93
|
-
# Example: tee_subprocess reset-tunnel:cloudflared -- cloudflared --origincert … tunnel delete my-tunnel
|
|
94
|
-
#
|
|
95
|
-
# stdbuf forces line buffering; without it cloudflared holds its stdout in
|
|
96
|
-
# libc's 8 KB buffer until exit and the ≤ 1 s latency criterion fails.
|
|
97
|
-
tee_subprocess() {
|
|
98
|
-
local tag="$1"; shift
|
|
99
|
-
if [ "${1:-}" != "--" ]; then
|
|
100
|
-
echo "tee_subprocess: expected -- before command" >&2
|
|
101
|
-
return 2
|
|
102
|
-
fi
|
|
103
|
-
shift
|
|
104
|
-
# Prefer `stdbuf -oL -eL` to force line buffering on the subprocess; fall
|
|
105
|
-
# back to the bare command when stdbuf is unavailable (macOS dev). On the
|
|
106
|
-
# Pi (Linux), stdbuf is present via coreutils and cloudflared's output
|
|
107
|
-
# reaches the tee as soon as each line is written.
|
|
108
|
-
local -a buf_prefix=()
|
|
109
|
-
if command -v stdbuf >/dev/null 2>&1; then
|
|
110
|
-
buf_prefix=(stdbuf -oL -eL)
|
|
111
|
-
fi
|
|
112
|
-
"${buf_prefix[@]}" "$@" 2>&1 | while IFS= read -r line; do
|
|
113
|
-
local ts
|
|
114
|
-
ts="$(stream_log_ts)"
|
|
115
|
-
printf '[%s] [script:%s] %s\n' "${ts}" "${tag}" "${line}" >> "${STREAM_LOG_PATH}"
|
|
116
|
-
printf '%s\n' "${line}" >&2
|
|
117
|
-
done
|
|
118
|
-
return "${PIPESTATUS[0]}"
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
# Tee a subprocess's combined stdout+stderr into STREAM_LOG_PATH line-by-line
|
|
122
|
-
# with the given tag, passing each line through on stdout so the caller can
|
|
123
|
-
# capture it with `> file` or `$( … )`. Stderr mirroring is dropped so the
|
|
124
|
-
# caller's stdout is exactly the subprocess's output — `jq` and friends
|
|
125
|
-
# remain parseable.
|
|
126
|
-
#
|
|
127
|
-
# Usage: tee_subprocess_capture <tag> -- <cmd> <args …> > captured.file
|
|
128
|
-
# Example:
|
|
129
|
-
# tee_subprocess_capture reset-tunnel:cloudflared -- \
|
|
130
|
-
# cloudflared --origincert "${CERT}" tunnel list --output json \
|
|
131
|
-
# > "${NAMES_TMP}"
|
|
132
|
-
tee_subprocess_capture() {
|
|
133
|
-
local tag="$1"; shift
|
|
134
|
-
if [ "${1:-}" != "--" ]; then
|
|
135
|
-
echo "tee_subprocess_capture: expected -- before command" >&2
|
|
136
|
-
return 2
|
|
137
|
-
fi
|
|
138
|
-
shift
|
|
139
|
-
# Prefer `stdbuf -oL -eL` to force line buffering on the subprocess; fall
|
|
140
|
-
# back to the bare command when stdbuf is unavailable (macOS dev). On the
|
|
141
|
-
# Pi (Linux), stdbuf is present via coreutils and cloudflared's output
|
|
142
|
-
# reaches the tee as soon as each line is written.
|
|
143
|
-
local -a buf_prefix=()
|
|
144
|
-
if command -v stdbuf >/dev/null 2>&1; then
|
|
145
|
-
buf_prefix=(stdbuf -oL -eL)
|
|
146
|
-
fi
|
|
147
|
-
"${buf_prefix[@]}" "$@" 2>&1 | while IFS= read -r line; do
|
|
148
|
-
local ts
|
|
149
|
-
ts="$(stream_log_ts)"
|
|
150
|
-
printf '[%s] [script:%s] %s\n' "${ts}" "${tag}" "${line}" >> "${STREAM_LOG_PATH}"
|
|
151
|
-
printf '%s\n' "${line}"
|
|
152
|
-
done
|
|
153
|
-
return "${PIPESTATUS[0]}"
|
|
154
|
-
}
|