@goondocks/myco 0.19.5 → 0.20.0
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/dist/{agent-run-3IQXE5PI.js → agent-run-4HUXVRHW.js} +8 -8
- package/dist/{agent-tasks-5DIA3CE5.js → agent-tasks-JF45ELB6.js} +8 -8
- package/dist/{chunk-DURKJTVO.js → chunk-3WOS4TAR.js} +9 -1
- package/dist/chunk-3WOS4TAR.js.map +1 -0
- package/dist/{chunk-27ZDDWIA.js → chunk-4LCIKVDM.js} +49 -21
- package/dist/chunk-4LCIKVDM.js.map +1 -0
- package/dist/{chunk-Q4QD6LJT.js → chunk-4M7EWPIA.js} +3 -3
- package/dist/{chunk-FGKCE5AE.js → chunk-4YFKBL3F.js} +2 -2
- package/dist/{chunk-KYH4V4ML.js → chunk-57O67XVF.js} +3 -3
- package/dist/{chunk-7ONVLO43.js → chunk-5XIVBO25.js} +2 -2
- package/dist/{chunk-QLCD77AN.js → chunk-6RFZWV4R.js} +18 -1
- package/dist/chunk-6RFZWV4R.js.map +1 -0
- package/dist/{chunk-VH7XYQFL.js → chunk-ACQ2AIEM.js} +2 -2
- package/dist/{chunk-6ZDJXSEO.js → chunk-BPRIYNLE.js} +3 -3
- package/dist/chunk-CUDIZJY7.js +36 -0
- package/dist/chunk-CUDIZJY7.js.map +1 -0
- package/dist/{chunk-WKNAKQKA.js → chunk-DCSGJ7W4.js} +13 -19
- package/dist/chunk-DCSGJ7W4.js.map +1 -0
- package/dist/{chunk-Q6OEZM3S.js → chunk-EVDQKYCG.js} +237 -10
- package/dist/chunk-EVDQKYCG.js.map +1 -0
- package/dist/{chunk-I54KLC6H.js → chunk-FLLBJLHM.js} +3 -1
- package/dist/{chunk-I54KLC6H.js.map → chunk-FLLBJLHM.js.map} +1 -1
- package/dist/{chunk-PMT2LSTQ.js → chunk-FMRZ26U5.js} +2 -2
- package/dist/{chunk-3J6TUJSV.js → chunk-KHT24OWC.js} +3 -3
- package/dist/{chunk-5OXBT5MD.js → chunk-L6XFAJIF.js} +65 -14
- package/dist/chunk-L6XFAJIF.js.map +1 -0
- package/dist/{chunk-6DDRJQ4X.js → chunk-MYOZLMB2.js} +2 -2
- package/dist/{chunk-UVKQ62II.js → chunk-NGROSFOH.js} +24 -2
- package/dist/chunk-NGROSFOH.js.map +1 -0
- package/dist/{chunk-K2QX43GC.js → chunk-P3DN5EWW.js} +4 -4
- package/dist/{chunk-IQ5LQTV7.js → chunk-POR75WM6.js} +4 -4
- package/dist/{chunk-KABTXALI.js → chunk-QS5TWZBL.js} +4 -4
- package/dist/{chunk-UTSCRMJE.js → chunk-SRXTSI25.js} +110 -4
- package/dist/chunk-SRXTSI25.js.map +1 -0
- package/dist/{chunk-2QJCV3UL.js → chunk-UOQQENDW.js} +3 -3
- package/dist/{chunk-GFR542SM.js → chunk-US4LNCAT.js} +5 -11
- package/dist/chunk-US4LNCAT.js.map +1 -0
- package/dist/{chunk-44PZCAYS.js → chunk-XL75KZGI.js} +23 -13
- package/dist/chunk-XL75KZGI.js.map +1 -0
- package/dist/{chunk-5WPTS6A4.js → chunk-YSNIAJ5D.js} +7 -4
- package/dist/chunk-YSNIAJ5D.js.map +1 -0
- package/dist/chunk-ZXZPJJN3.js +54 -0
- package/dist/chunk-ZXZPJJN3.js.map +1 -0
- package/dist/{cli-RTUSGLTM.js → cli-AHTINAHY.js} +43 -43
- package/dist/{client-YWE5YJB7.js → client-LHENCAV3.js} +4 -4
- package/dist/{config-I5MJ6RXI.js → config-XPV5GDE4.js} +8 -16
- package/dist/config-XPV5GDE4.js.map +1 -0
- package/dist/{detect-BEOIHGBC.js → detect-PXNM6TA7.js} +2 -2
- package/dist/{detect-providers-2EY55EHK.js → detect-providers-5KOPZ7J2.js} +4 -4
- package/dist/{doctor-FIG7VEYV.js → doctor-XPCF5HV5.js} +13 -13
- package/dist/{executor-2TMGOVEA.js → executor-ACDHGTRH.js} +115 -77
- package/dist/executor-ACDHGTRH.js.map +1 -0
- package/dist/{init-3536BYDC.js → init-V3KCC36O.js} +14 -14
- package/dist/{installer-YH3WQISI.js → installer-ZNK4JSQA.js} +4 -4
- package/dist/{llm-SWDDQQWY.js → llm-TH4NLIRM.js} +4 -4
- package/dist/{loader-K4WF4EEJ.js → loader-H7OFASVC.js} +15 -3
- package/dist/{loader-AAZ6VUIA.js → loader-TSB5M7FD.js} +3 -3
- package/dist/{logs-KNKPQE5A.js → logs-7YVGGBIS.js} +2 -2
- package/dist/{main-R5ZD5OIZ.js → main-5S4MDCIO.js} +770 -176
- package/dist/main-5S4MDCIO.js.map +1 -0
- package/dist/{open-5UD5JQIM.js → open-AB5ULZIB.js} +8 -8
- package/dist/{post-compact-ZJFE66O3.js → post-compact-P2B7C7FE.js} +9 -8
- package/dist/{post-compact-ZJFE66O3.js.map → post-compact-P2B7C7FE.js.map} +1 -1
- package/dist/{post-tool-use-CAR2USJP.js → post-tool-use-LXL6NXDS.js} +8 -7
- package/dist/{post-tool-use-CAR2USJP.js.map → post-tool-use-LXL6NXDS.js.map} +1 -1
- package/dist/{post-tool-use-failure-OMIKVEVR.js → post-tool-use-failure-WAYVVKGR.js} +9 -8
- package/dist/{post-tool-use-failure-OMIKVEVR.js.map → post-tool-use-failure-WAYVVKGR.js.map} +1 -1
- package/dist/{pre-compact-6SXYI5CD.js → pre-compact-BCXUCF4V.js} +9 -8
- package/dist/{pre-compact-6SXYI5CD.js.map → pre-compact-BCXUCF4V.js.map} +1 -1
- package/dist/{provider-check-WCM3SDTM.js → provider-check-43LAMSMH.js} +4 -4
- package/dist/{registry-OCM4WAPJ.js → registry-MGJSJBAS.js} +4 -4
- package/dist/{remove-NJSFVZXW.js → remove-KAPX5NT2.js} +10 -10
- package/dist/{restart-U5ZGJON7.js → restart-HQO36FTG.js} +9 -9
- package/dist/{search-HO7CXV6H.js → search-YOMOKAAI.js} +9 -9
- package/dist/{server-BUSZIUZV.js → server-2N23P6F2.js} +40 -27
- package/dist/{server-BUSZIUZV.js.map → server-2N23P6F2.js.map} +1 -1
- package/dist/{session-RVT2QELH.js → session-WW2JLHPX.js} +9 -10
- package/dist/{session-RVT2QELH.js.map → session-WW2JLHPX.js.map} +1 -1
- package/dist/{session-end-4W6SZVGH.js → session-end-4WRTIBVQ.js} +8 -7
- package/dist/{session-end-4W6SZVGH.js.map → session-end-4WRTIBVQ.js.map} +1 -1
- package/dist/{session-start-PMPKAST4.js → session-start-HRWTZXQR.js} +15 -15
- package/dist/session-start-HRWTZXQR.js.map +1 -0
- package/dist/{setup-llm-6UAJUHQE.js → setup-llm-HFWSBUAF.js} +10 -9
- package/dist/{setup-llm-6UAJUHQE.js.map → setup-llm-HFWSBUAF.js.map} +1 -1
- package/dist/src/agent/definitions/tasks/full-intelligence.yaml +37 -8
- package/dist/src/agent/prompts/agent.md +2 -2
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/src/symbionts/manifests/codex.yaml +28 -0
- package/dist/{stats-W47FF6RD.js → stats-7A4CJ4MS.js} +9 -9
- package/dist/{stop-6TAO2UU2.js → stop-R2GDHMRA.js} +8 -7
- package/dist/{stop-6TAO2UU2.js.map → stop-R2GDHMRA.js.map} +1 -1
- package/dist/{stop-failure-R76SULCV.js → stop-failure-773KR4VZ.js} +9 -8
- package/dist/{stop-failure-R76SULCV.js.map → stop-failure-773KR4VZ.js.map} +1 -1
- package/dist/{subagent-start-TJMUZLP2.js → subagent-start-IDECNBHW.js} +9 -8
- package/dist/{subagent-start-TJMUZLP2.js.map → subagent-start-IDECNBHW.js.map} +1 -1
- package/dist/{subagent-stop-M3DAFJWQ.js → subagent-stop-3JH7DR2S.js} +9 -8
- package/dist/{subagent-stop-M3DAFJWQ.js.map → subagent-stop-3JH7DR2S.js.map} +1 -1
- package/dist/{task-completed-2KVR5JV6.js → task-completed-AYVHPHDR.js} +9 -8
- package/dist/{task-completed-2KVR5JV6.js.map → task-completed-AYVHPHDR.js.map} +1 -1
- package/dist/{team-2IAT6MKD.js → team-3JKF7VAD.js} +5 -5
- package/dist/{turns-3ZQAF6HF.js → turns-YFNI5CQC.js} +6 -4
- package/dist/ui/assets/index-C2JuNtRB.css +1 -0
- package/dist/ui/assets/index-JLVaQKV2.js +832 -0
- package/dist/ui/favicon-dusk.svg +11 -0
- package/dist/ui/favicon-moss.svg +11 -0
- package/dist/ui/favicon-plum.svg +11 -0
- package/dist/ui/favicon-sage.svg +11 -0
- package/dist/ui/favicon-slate.svg +11 -0
- package/dist/ui/favicon-terracotta.svg +11 -0
- package/dist/ui/index.html +3 -3
- package/dist/{update-TB34JEB7.js → update-YWYW55JM.js} +10 -10
- package/dist/{user-prompt-submit-O4TP7NJ6.js → user-prompt-submit-YELSR6XI.js} +9 -8
- package/dist/{user-prompt-submit-O4TP7NJ6.js.map → user-prompt-submit-YELSR6XI.js.map} +1 -1
- package/dist/{verify-SESZXGVY.js → verify-JS44DVKJ.js} +5 -5
- package/dist/{version-QBORV23E.js → version-K5NETYIL.js} +2 -2
- package/package.json +1 -1
- package/skills/myco/SKILL.md +78 -43
- package/skills/myco/references/vault-status.md +1 -1
- package/dist/chunk-27ZDDWIA.js.map +0 -1
- package/dist/chunk-44PZCAYS.js.map +0 -1
- package/dist/chunk-5OXBT5MD.js.map +0 -1
- package/dist/chunk-5WPTS6A4.js.map +0 -1
- package/dist/chunk-5ZT2Q6P5.js +0 -25
- package/dist/chunk-5ZT2Q6P5.js.map +0 -1
- package/dist/chunk-AULBWINA.js +0 -227
- package/dist/chunk-AULBWINA.js.map +0 -1
- package/dist/chunk-DURKJTVO.js.map +0 -1
- package/dist/chunk-GFR542SM.js.map +0 -1
- package/dist/chunk-Q6OEZM3S.js.map +0 -1
- package/dist/chunk-QLCD77AN.js.map +0 -1
- package/dist/chunk-UTSCRMJE.js.map +0 -1
- package/dist/chunk-UVKQ62II.js.map +0 -1
- package/dist/chunk-VQF5E4ZX.js +0 -91
- package/dist/chunk-VQF5E4ZX.js.map +0 -1
- package/dist/chunk-WKNAKQKA.js.map +0 -1
- package/dist/config-I5MJ6RXI.js.map +0 -1
- package/dist/executor-2TMGOVEA.js.map +0 -1
- package/dist/main-R5ZD5OIZ.js.map +0 -1
- package/dist/resolution-events-PYLSI6QT.js +0 -15
- package/dist/session-start-PMPKAST4.js.map +0 -1
- package/dist/ui/assets/index-C-6W8e3m.js +0 -842
- package/dist/ui/assets/index-CRmkSi63.css +0 -1
- package/dist/version-QBORV23E.js.map +0 -1
- /package/dist/{agent-run-3IQXE5PI.js.map → agent-run-4HUXVRHW.js.map} +0 -0
- /package/dist/{agent-tasks-5DIA3CE5.js.map → agent-tasks-JF45ELB6.js.map} +0 -0
- /package/dist/{chunk-Q4QD6LJT.js.map → chunk-4M7EWPIA.js.map} +0 -0
- /package/dist/{chunk-FGKCE5AE.js.map → chunk-4YFKBL3F.js.map} +0 -0
- /package/dist/{chunk-KYH4V4ML.js.map → chunk-57O67XVF.js.map} +0 -0
- /package/dist/{chunk-7ONVLO43.js.map → chunk-5XIVBO25.js.map} +0 -0
- /package/dist/{chunk-VH7XYQFL.js.map → chunk-ACQ2AIEM.js.map} +0 -0
- /package/dist/{chunk-6ZDJXSEO.js.map → chunk-BPRIYNLE.js.map} +0 -0
- /package/dist/{chunk-PMT2LSTQ.js.map → chunk-FMRZ26U5.js.map} +0 -0
- /package/dist/{chunk-3J6TUJSV.js.map → chunk-KHT24OWC.js.map} +0 -0
- /package/dist/{chunk-6DDRJQ4X.js.map → chunk-MYOZLMB2.js.map} +0 -0
- /package/dist/{chunk-K2QX43GC.js.map → chunk-P3DN5EWW.js.map} +0 -0
- /package/dist/{chunk-IQ5LQTV7.js.map → chunk-POR75WM6.js.map} +0 -0
- /package/dist/{chunk-KABTXALI.js.map → chunk-QS5TWZBL.js.map} +0 -0
- /package/dist/{chunk-2QJCV3UL.js.map → chunk-UOQQENDW.js.map} +0 -0
- /package/dist/{cli-RTUSGLTM.js.map → cli-AHTINAHY.js.map} +0 -0
- /package/dist/{client-YWE5YJB7.js.map → client-LHENCAV3.js.map} +0 -0
- /package/dist/{detect-BEOIHGBC.js.map → detect-PXNM6TA7.js.map} +0 -0
- /package/dist/{detect-providers-2EY55EHK.js.map → detect-providers-5KOPZ7J2.js.map} +0 -0
- /package/dist/{doctor-FIG7VEYV.js.map → doctor-XPCF5HV5.js.map} +0 -0
- /package/dist/{init-3536BYDC.js.map → init-V3KCC36O.js.map} +0 -0
- /package/dist/{installer-YH3WQISI.js.map → installer-ZNK4JSQA.js.map} +0 -0
- /package/dist/{llm-SWDDQQWY.js.map → llm-TH4NLIRM.js.map} +0 -0
- /package/dist/{loader-AAZ6VUIA.js.map → loader-H7OFASVC.js.map} +0 -0
- /package/dist/{loader-K4WF4EEJ.js.map → loader-TSB5M7FD.js.map} +0 -0
- /package/dist/{logs-KNKPQE5A.js.map → logs-7YVGGBIS.js.map} +0 -0
- /package/dist/{open-5UD5JQIM.js.map → open-AB5ULZIB.js.map} +0 -0
- /package/dist/{provider-check-WCM3SDTM.js.map → provider-check-43LAMSMH.js.map} +0 -0
- /package/dist/{registry-OCM4WAPJ.js.map → registry-MGJSJBAS.js.map} +0 -0
- /package/dist/{remove-NJSFVZXW.js.map → remove-KAPX5NT2.js.map} +0 -0
- /package/dist/{restart-U5ZGJON7.js.map → restart-HQO36FTG.js.map} +0 -0
- /package/dist/{search-HO7CXV6H.js.map → search-YOMOKAAI.js.map} +0 -0
- /package/dist/{stats-W47FF6RD.js.map → stats-7A4CJ4MS.js.map} +0 -0
- /package/dist/{resolution-events-PYLSI6QT.js.map → team-3JKF7VAD.js.map} +0 -0
- /package/dist/{team-2IAT6MKD.js.map → turns-YFNI5CQC.js.map} +0 -0
- /package/dist/{update-TB34JEB7.js.map → update-YWYW55JM.js.map} +0 -0
- /package/dist/{verify-SESZXGVY.js.map → verify-JS44DVKJ.js.map} +0 -0
- /package/dist/{turns-3ZQAF6HF.js.map → version-K5NETYIL.js.map} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" fill="none">
|
|
2
|
+
<rect width="160" height="160" rx="32" fill="#111111"/>
|
|
3
|
+
<g stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<path d="M35,120 L35,45 L80,82 L125,45 L125,120" stroke="#8faed1" stroke-width="16" opacity="0.85"/>
|
|
5
|
+
<circle cx="35" cy="120" r="13" fill="#8faed1" opacity="0.9"/>
|
|
6
|
+
<circle cx="35" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
7
|
+
<circle cx="80" cy="82" r="14" fill="#8faed1" opacity="0.95"/>
|
|
8
|
+
<circle cx="125" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
9
|
+
<circle cx="125" cy="120" r="13" fill="#8faed1" opacity="0.9"/>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" fill="none">
|
|
2
|
+
<rect width="160" height="160" rx="32" fill="#111111"/>
|
|
3
|
+
<g stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<path d="M35,120 L35,45 L80,82 L125,45 L125,120" stroke="#9ca884" stroke-width="16" opacity="0.85"/>
|
|
5
|
+
<circle cx="35" cy="120" r="13" fill="#9ca884" opacity="0.9"/>
|
|
6
|
+
<circle cx="35" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
7
|
+
<circle cx="80" cy="82" r="14" fill="#9ca884" opacity="0.95"/>
|
|
8
|
+
<circle cx="125" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
9
|
+
<circle cx="125" cy="120" r="13" fill="#9ca884" opacity="0.9"/>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" fill="none">
|
|
2
|
+
<rect width="160" height="160" rx="32" fill="#111111"/>
|
|
3
|
+
<g stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<path d="M35,120 L35,45 L80,82 L125,45 L125,120" stroke="#b59ec8" stroke-width="16" opacity="0.85"/>
|
|
5
|
+
<circle cx="35" cy="120" r="13" fill="#b59ec8" opacity="0.9"/>
|
|
6
|
+
<circle cx="35" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
7
|
+
<circle cx="80" cy="82" r="14" fill="#b59ec8" opacity="0.95"/>
|
|
8
|
+
<circle cx="125" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
9
|
+
<circle cx="125" cy="120" r="13" fill="#b59ec8" opacity="0.9"/>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" fill="none">
|
|
2
|
+
<rect width="160" height="160" rx="32" fill="#111111"/>
|
|
3
|
+
<g stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<path d="M35,120 L35,45 L80,82 L125,45 L125,120" stroke="#abcfb8" stroke-width="16" opacity="0.85"/>
|
|
5
|
+
<circle cx="35" cy="120" r="13" fill="#abcfb8" opacity="0.9"/>
|
|
6
|
+
<circle cx="35" cy="45" r="13" fill="#edbf7f" opacity="0.85"/>
|
|
7
|
+
<circle cx="80" cy="82" r="14" fill="#abcfb8" opacity="0.95"/>
|
|
8
|
+
<circle cx="125" cy="45" r="13" fill="#edbf7f" opacity="0.85"/>
|
|
9
|
+
<circle cx="125" cy="120" r="13" fill="#abcfb8" opacity="0.9"/>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" fill="none">
|
|
2
|
+
<rect width="160" height="160" rx="32" fill="#111111"/>
|
|
3
|
+
<g stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<path d="M35,120 L35,45 L80,82 L125,45 L125,120" stroke="#a6b0b8" stroke-width="16" opacity="0.85"/>
|
|
5
|
+
<circle cx="35" cy="120" r="13" fill="#a6b0b8" opacity="0.9"/>
|
|
6
|
+
<circle cx="35" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
7
|
+
<circle cx="80" cy="82" r="14" fill="#a6b0b8" opacity="0.95"/>
|
|
8
|
+
<circle cx="125" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
9
|
+
<circle cx="125" cy="120" r="13" fill="#a6b0b8" opacity="0.9"/>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160" fill="none">
|
|
2
|
+
<rect width="160" height="160" rx="32" fill="#111111"/>
|
|
3
|
+
<g stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<path d="M35,120 L35,45 L80,82 L125,45 L125,120" stroke="#d28a73" stroke-width="16" opacity="0.85"/>
|
|
5
|
+
<circle cx="35" cy="120" r="13" fill="#d28a73" opacity="0.9"/>
|
|
6
|
+
<circle cx="35" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
7
|
+
<circle cx="80" cy="82" r="14" fill="#d28a73" opacity="0.95"/>
|
|
8
|
+
<circle cx="125" cy="45" r="13" fill="#d3b172" opacity="0.85"/>
|
|
9
|
+
<circle cx="125" cy="120" r="13" fill="#d28a73" opacity="0.9"/>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
package/dist/ui/index.html
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
2
|
+
<html lang="en" data-theme="sage">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Myco</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-JLVaQKV2.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C2JuNtRB.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
|
@@ -2,30 +2,30 @@ import { createRequire as __cr } from 'node:module'; const require = __cr(import
|
|
|
2
2
|
import {
|
|
3
3
|
VAULT_GITIGNORE,
|
|
4
4
|
registerSymbionts
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YSNIAJ5D.js";
|
|
6
6
|
import "./chunk-SAKJMNSR.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-4LCIKVDM.js";
|
|
8
|
+
import "./chunk-FMRZ26U5.js";
|
|
9
9
|
import {
|
|
10
10
|
getEnabledSymbiontNames,
|
|
11
11
|
loadConfig
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-SRXTSI25.js";
|
|
13
13
|
import "./chunk-MYX5NCRH.js";
|
|
14
14
|
import {
|
|
15
15
|
resolveVaultDir
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-CUDIZJY7.js";
|
|
17
|
+
import "./chunk-UOQQENDW.js";
|
|
18
18
|
import {
|
|
19
19
|
getPluginVersion
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-ACQ2AIEM.js";
|
|
21
21
|
import {
|
|
22
22
|
loadManifests,
|
|
23
23
|
resolvePackageRoot
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-NGROSFOH.js";
|
|
25
25
|
import "./chunk-LPUQPDC2.js";
|
|
26
26
|
import {
|
|
27
27
|
UPDATE_STAMP_FILENAME
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-FLLBJLHM.js";
|
|
29
29
|
import "./chunk-UUHLLQXO.js";
|
|
30
30
|
import "./chunk-6LQIMRTC.js";
|
|
31
31
|
import "./chunk-ODXLRR4U.js";
|
|
@@ -98,4 +98,4 @@ async function run(args) {
|
|
|
98
98
|
export {
|
|
99
99
|
run
|
|
100
100
|
};
|
|
101
|
-
//# sourceMappingURL=update-
|
|
101
|
+
//# sourceMappingURL=update-YWYW55JM.js.map
|
|
@@ -5,23 +5,24 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
evaluateUserPromptRules,
|
|
7
7
|
readTranscriptMeta
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-XL75KZGI.js";
|
|
9
9
|
import {
|
|
10
10
|
normalizeHookInput,
|
|
11
11
|
readStdin
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DCSGJ7W4.js";
|
|
13
|
+
import "./chunk-ZXZPJJN3.js";
|
|
13
14
|
import {
|
|
14
15
|
resolveVaultDir
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-CUDIZJY7.js";
|
|
16
17
|
import {
|
|
17
18
|
DaemonClient
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-UOQQENDW.js";
|
|
20
|
+
import "./chunk-ACQ2AIEM.js";
|
|
20
21
|
import {
|
|
21
22
|
loadManifests
|
|
22
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-NGROSFOH.js";
|
|
23
24
|
import "./chunk-LPUQPDC2.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-FLLBJLHM.js";
|
|
25
26
|
import "./chunk-UUHLLQXO.js";
|
|
26
27
|
import "./chunk-6LQIMRTC.js";
|
|
27
28
|
import "./chunk-ODXLRR4U.js";
|
|
@@ -86,4 +87,4 @@ ${sessionLine}` : sessionLine;
|
|
|
86
87
|
export {
|
|
87
88
|
main
|
|
88
89
|
};
|
|
89
|
-
//# sourceMappingURL=user-prompt-submit-
|
|
90
|
+
//# sourceMappingURL=user-prompt-submit-YELSR6XI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/user-prompt-submit.ts"],"sourcesContent":["import { DaemonClient } from './client.js';\nimport { readStdin } from './read-stdin.js';\nimport { normalizeHookInput } from './normalize.js';\nimport { evaluateUserPromptRules } from './capture-rules.js';\nimport { readTranscriptMeta } from './transcript-meta.js';\nimport { loadManifests } from '../symbionts/detect.js';\nimport { EventBuffer } from '../capture/buffer.js';\nimport { resolveVaultDir } from '../vault/resolve.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport async function main() {\n const VAULT_DIR = resolveVaultDir();\n if (!fs.existsSync(path.join(VAULT_DIR, 'myco.yaml'))) return;\n\n try {\n const rawInput = JSON.parse(await readStdin());\n const input = normalizeHookInput(rawInput);\n const rawPrompt = input.prompt ?? '';\n const sessionId = input.sessionId;\n\n // Apply generic capture rules owned by each symbiont's manifest.\n // The hook stays symbiont-agnostic — per-agent behavior lives in YAML.\n // Pass structural context so rules can key on things like\n // `transcript_path_missing` without doing their own text mining.\n const transcriptMeta = input.transcriptPath ? readTranscriptMeta(input.transcriptPath) : undefined;\n const decision = evaluateUserPromptRules(loadManifests(), input.agent, {\n prompt: rawPrompt,\n transcriptPath: input.transcriptPath,\n transcriptMeta: transcriptMeta ?? undefined,\n });\n\n const client = new DaemonClient(VAULT_DIR);\n // Spawn daemon if needed but don't block on full health check backoff.\n // The event POST will fail fast if daemon isn't ready — buffer absorbs it.\n if (!(await client.isHealthy())) {\n client.spawnDaemon();\n }\n\n if (decision.action === 'drop') {\n // A rule classified this prompt as a phantom sub-invocation (e.g., an\n // agent's internal title-generation call). SessionStart already\n // registered the session row; delete it so it doesn't linger as a\n // zero-prompt ghost in the UI. Silently tolerate failures — the\n // session-maintenance sweep will clean up stragglers within the\n // stale threshold as a safety net.\n process.stderr.write(`[myco] user-prompt-submit: dropped (${decision.reason ?? 'rule'})\\n`);\n await client.delete(`/api/sessions/${sessionId}`);\n return;\n }\n\n const prompt = decision.action === 'rewrite' ? decision.prompt : rawPrompt;\n if (decision.action === 'rewrite') {\n process.stderr.write(`[myco] user-prompt-submit: rewritten (${decision.reason ?? 'rule'})\\n`);\n }\n\n // Forward prompt as event for capture\n const eventResult = await client.post('/events', {\n type: 'user_prompt', prompt, session_id: sessionId, agent: input.agent,\n });\n\n if (!eventResult.ok) {\n // Daemon still unreachable — write directly to buffer for later processing\n const buffer = new EventBuffer(path.join(VAULT_DIR, 'buffer'), sessionId);\n buffer.append({ type: 'user_prompt', prompt });\n }\n\n // Search for relevant spores to inject as context for this prompt.\n // The daemon does a vector search against the prompt text and returns\n // any high-relevance spores. This is fast (~20ms) — no LLM call.\n const contextResult = await client.post('/context/prompt', {\n prompt,\n session_id: sessionId,\n });\n\n // Always include the session ID so the agent can pass it to myco_remember.\n // Uses Session:: format consistent with daemon context injection (Branch::, Session::).\n const sessionLine = `Session:: \\`${sessionId}\\``;\n const contextText = contextResult.ok && contextResult.data?.text\n ? `${contextResult.data.text}\\n${sessionLine}`\n : sessionLine;\n\n process.stdout.write(contextText);\n } catch (error) {\n process.stderr.write(`[myco] user-prompt-submit error: ${(error as Error).message}\\n`);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/hooks/user-prompt-submit.ts"],"sourcesContent":["import { DaemonClient } from './client.js';\nimport { readStdin } from './read-stdin.js';\nimport { normalizeHookInput } from './normalize.js';\nimport { evaluateUserPromptRules } from './capture-rules.js';\nimport { readTranscriptMeta } from './transcript-meta.js';\nimport { loadManifests } from '../symbionts/detect.js';\nimport { EventBuffer } from '../capture/buffer.js';\nimport { resolveVaultDir } from '../vault/resolve.js';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nexport async function main() {\n const VAULT_DIR = resolveVaultDir();\n if (!fs.existsSync(path.join(VAULT_DIR, 'myco.yaml'))) return;\n\n try {\n const rawInput = JSON.parse(await readStdin());\n const input = normalizeHookInput(rawInput);\n const rawPrompt = input.prompt ?? '';\n const sessionId = input.sessionId;\n\n // Apply generic capture rules owned by each symbiont's manifest.\n // The hook stays symbiont-agnostic — per-agent behavior lives in YAML.\n // Pass structural context so rules can key on things like\n // `transcript_path_missing` without doing their own text mining.\n const transcriptMeta = input.transcriptPath ? readTranscriptMeta(input.transcriptPath) : undefined;\n const decision = evaluateUserPromptRules(loadManifests(), input.agent, {\n prompt: rawPrompt,\n transcriptPath: input.transcriptPath,\n transcriptMeta: transcriptMeta ?? undefined,\n });\n\n const client = new DaemonClient(VAULT_DIR);\n // Spawn daemon if needed but don't block on full health check backoff.\n // The event POST will fail fast if daemon isn't ready — buffer absorbs it.\n if (!(await client.isHealthy())) {\n client.spawnDaemon();\n }\n\n if (decision.action === 'drop') {\n // A rule classified this prompt as a phantom sub-invocation (e.g., an\n // agent's internal title-generation call). SessionStart already\n // registered the session row; delete it so it doesn't linger as a\n // zero-prompt ghost in the UI. Silently tolerate failures — the\n // session-maintenance sweep will clean up stragglers within the\n // stale threshold as a safety net.\n process.stderr.write(`[myco] user-prompt-submit: dropped (${decision.reason ?? 'rule'})\\n`);\n await client.delete(`/api/sessions/${sessionId}`);\n return;\n }\n\n const prompt = decision.action === 'rewrite' ? decision.prompt : rawPrompt;\n if (decision.action === 'rewrite') {\n process.stderr.write(`[myco] user-prompt-submit: rewritten (${decision.reason ?? 'rule'})\\n`);\n }\n\n // Forward prompt as event for capture\n const eventResult = await client.post('/events', {\n type: 'user_prompt', prompt, session_id: sessionId, agent: input.agent,\n });\n\n if (!eventResult.ok) {\n // Daemon still unreachable — write directly to buffer for later processing\n const buffer = new EventBuffer(path.join(VAULT_DIR, 'buffer'), sessionId);\n buffer.append({ type: 'user_prompt', prompt });\n }\n\n // Search for relevant spores to inject as context for this prompt.\n // The daemon does a vector search against the prompt text and returns\n // any high-relevance spores. This is fast (~20ms) — no LLM call.\n const contextResult = await client.post('/context/prompt', {\n prompt,\n session_id: sessionId,\n });\n\n // Always include the session ID so the agent can pass it to myco_remember.\n // Uses Session:: format consistent with daemon context injection (Branch::, Session::).\n const sessionLine = `Session:: \\`${sessionId}\\``;\n const contextText = contextResult.ok && contextResult.data?.text\n ? `${contextResult.data.text}\\n${sessionLine}`\n : sessionLine;\n\n process.stdout.write(contextText);\n } catch (error) {\n process.stderr.write(`[myco] user-prompt-submit error: ${(error as Error).message}\\n`);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,OAAO,QAAQ;AACf,OAAO,UAAU;AAEjB,eAAsB,OAAO;AAC3B,QAAM,YAAY,gBAAgB;AAClC,MAAI,CAAC,GAAG,WAAW,KAAK,KAAK,WAAW,WAAW,CAAC,EAAG;AAEvD,MAAI;AACF,UAAM,WAAW,KAAK,MAAM,MAAM,UAAU,CAAC;AAC7C,UAAM,QAAQ,mBAAmB,QAAQ;AACzC,UAAM,YAAY,MAAM,UAAU;AAClC,UAAM,YAAY,MAAM;AAMxB,UAAM,iBAAiB,MAAM,iBAAiB,mBAAmB,MAAM,cAAc,IAAI;AACzF,UAAM,WAAW,wBAAwB,cAAc,GAAG,MAAM,OAAO;AAAA,MACrE,QAAQ;AAAA,MACR,gBAAgB,MAAM;AAAA,MACtB,gBAAgB,kBAAkB;AAAA,IACpC,CAAC;AAED,UAAM,SAAS,IAAI,aAAa,SAAS;AAGzC,QAAI,CAAE,MAAM,OAAO,UAAU,GAAI;AAC/B,aAAO,YAAY;AAAA,IACrB;AAEA,QAAI,SAAS,WAAW,QAAQ;AAO9B,cAAQ,OAAO,MAAM,uCAAuC,SAAS,UAAU,MAAM;AAAA,CAAK;AAC1F,YAAM,OAAO,OAAO,iBAAiB,SAAS,EAAE;AAChD;AAAA,IACF;AAEA,UAAM,SAAS,SAAS,WAAW,YAAY,SAAS,SAAS;AACjE,QAAI,SAAS,WAAW,WAAW;AACjC,cAAQ,OAAO,MAAM,yCAAyC,SAAS,UAAU,MAAM;AAAA,CAAK;AAAA,IAC9F;AAGA,UAAM,cAAc,MAAM,OAAO,KAAK,WAAW;AAAA,MAC/C,MAAM;AAAA,MAAe;AAAA,MAAQ,YAAY;AAAA,MAAW,OAAO,MAAM;AAAA,IACnE,CAAC;AAED,QAAI,CAAC,YAAY,IAAI;AAEnB,YAAM,SAAS,IAAI,YAAY,KAAK,KAAK,WAAW,QAAQ,GAAG,SAAS;AACxE,aAAO,OAAO,EAAE,MAAM,eAAe,OAAO,CAAC;AAAA,IAC/C;AAKA,UAAM,gBAAgB,MAAM,OAAO,KAAK,mBAAmB;AAAA,MACzD;AAAA,MACA,YAAY;AAAA,IACd,CAAC;AAID,UAAM,cAAc,eAAe,SAAS;AAC5C,UAAM,cAAc,cAAc,MAAM,cAAc,MAAM,OACxD,GAAG,cAAc,KAAK,IAAI;AAAA,EAAK,WAAW,KAC1C;AAEJ,YAAQ,OAAO,MAAM,WAAW;AAAA,EAClC,SAAS,OAAO;AACd,YAAQ,OAAO,MAAM,oCAAqC,MAAgB,OAAO;AAAA,CAAI;AAAA,EACvF;AACF;","names":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
createEmbeddingProvider
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-KHT24OWC.js";
|
|
5
|
+
import "./chunk-FMRZ26U5.js";
|
|
6
6
|
import {
|
|
7
7
|
loadConfig
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SRXTSI25.js";
|
|
9
|
+
import "./chunk-FLLBJLHM.js";
|
|
10
10
|
import "./chunk-UUHLLQXO.js";
|
|
11
11
|
import "./chunk-6LQIMRTC.js";
|
|
12
12
|
import "./chunk-ODXLRR4U.js";
|
|
@@ -39,4 +39,4 @@ async function run(_args, vaultDir) {
|
|
|
39
39
|
export {
|
|
40
40
|
run
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=verify-
|
|
42
|
+
//# sourceMappingURL=verify-JS44DVKJ.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
getPluginVersion
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ACQ2AIEM.js";
|
|
5
5
|
import "./chunk-LPUQPDC2.js";
|
|
6
6
|
import "./chunk-PZUWP5VK.js";
|
|
7
7
|
export {
|
|
8
8
|
getPluginVersion
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=version-
|
|
10
|
+
//# sourceMappingURL=version-K5NETYIL.js.map
|
package/package.json
CHANGED
package/skills/myco/SKILL.md
CHANGED
|
@@ -37,30 +37,37 @@ For reconfiguration, status checks, and ongoing management, use the CLI commands
|
|
|
37
37
|
|
|
38
38
|
## MCP Tools Reference
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
The local Myco MCP server registers 12 core tools. When the project is connected to a Myco Collective, 3 additional `collective_*` tools are also registered. Tools are defined in `packages/myco/src/mcp/tool-definitions.ts` — that file is the source of truth.
|
|
41
|
+
|
|
42
|
+
### myco_context — Get the project digest
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
Retrieve Myco's pre-computed project digest: a synthesis of project history, decisions, patterns, active work, and institutional knowledge. This is the right tool when you need broad orientation on the project, not when you need to find a specific prior record.
|
|
43
45
|
|
|
44
46
|
```json
|
|
45
|
-
{ "
|
|
47
|
+
{ "tier": 5000 }
|
|
46
48
|
```
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
Tiers: `1500` (executive briefing), `5000` (default), `10000` (comprehensive). Prefer this over `myco_search` for broad project orientation; use `myco_search` when you need specific prior decisions or bug fixes.
|
|
51
|
+
|
|
52
|
+
### myco_search — Find knowledge across the vault
|
|
53
|
+
|
|
54
|
+
Search across sessions, plans, and spores.
|
|
49
55
|
|
|
50
|
-
**Example**: before choosing an authentication approach, search for prior decisions:
|
|
51
56
|
```json
|
|
52
|
-
{ "query": "
|
|
57
|
+
{ "query": "why did we choose JWT over session cookies", "type": "spore", "limit": 5 }
|
|
53
58
|
```
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
**When to use**: searching for prior decisions, debugging context, or understanding rationale. The `type` filter narrows results — use `"spore"` for decisions/gotchas, `"session"` for session history, `"plan"` for plans, or omit for all.
|
|
61
|
+
|
|
62
|
+
### myco_recall — Look up a single vault note by ID
|
|
56
63
|
|
|
57
|
-
|
|
64
|
+
Return the full content of a specific session, spore, or plan given its ID. Use this after `myco_search` or `myco_graph` returns an ID you want to read in full.
|
|
58
65
|
|
|
59
66
|
```json
|
|
60
|
-
{ "
|
|
67
|
+
{ "note_id": "decision-abc123" }
|
|
61
68
|
```
|
|
62
69
|
|
|
63
|
-
|
|
70
|
+
(Note: this is *not* a branch-based context tool. For project orientation, use `myco_context`.)
|
|
64
71
|
|
|
65
72
|
### myco_remember — Save an observation
|
|
66
73
|
|
|
@@ -70,12 +77,7 @@ Store a noteworthy observation for future sessions. Only save things that aren't
|
|
|
70
77
|
{ "content": "better-sqlite3 WASM build fails on Node 22 ARM — must use native build", "type": "gotcha", "tags": ["sqlite", "build"] }
|
|
71
78
|
```
|
|
72
79
|
|
|
73
|
-
**Observation types:**
|
|
74
|
-
- `gotcha` — non-obvious pitfall, constraint, or workaround
|
|
75
|
-
- `bug_fix` — root cause of a bug and what fixed it
|
|
76
|
-
- `decision` — why an approach was chosen over alternatives
|
|
77
|
-
- `discovery` — significant insight about the codebase, tooling, or domain
|
|
78
|
-
- `trade_off` — what was sacrificed and what was gained
|
|
80
|
+
**Observation types:** `gotcha`, `bug_fix`, `decision`, `discovery`, `trade_off`, `cross-cutting`.
|
|
79
81
|
|
|
80
82
|
**What makes a good observation:**
|
|
81
83
|
- Specific: file names, function names, actual error messages, concrete values
|
|
@@ -86,15 +88,21 @@ Store a noteworthy observation for future sessions. Only save things that aren't
|
|
|
86
88
|
**Bad**: "the auth system is complex"
|
|
87
89
|
**Good**: "bcrypt.compare() silently returns false (not an error) on hash format mismatch — spent 2h debugging; the hash column was VARCHAR(50) but bcrypt outputs 60 chars"
|
|
88
90
|
|
|
89
|
-
|
|
91
|
+
Session association is derived by the daemon; the MCP client does not pass it.
|
|
90
92
|
|
|
91
|
-
List
|
|
93
|
+
### myco_plans — List plans or read a single plan
|
|
94
|
+
|
|
95
|
+
List plans and their progress, or retrieve a single plan's full content by ID.
|
|
92
96
|
|
|
93
97
|
```json
|
|
94
98
|
{ "status": "active" }
|
|
95
99
|
```
|
|
96
100
|
|
|
97
|
-
|
|
101
|
+
```json
|
|
102
|
+
{ "id": "plan-feature-x" }
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
When `id` is set, the response includes the plan's `content` field. Otherwise the list shape contains summary metadata only.
|
|
98
106
|
|
|
99
107
|
### myco_sessions — Browse session history
|
|
100
108
|
|
|
@@ -104,7 +112,7 @@ Query past sessions with filters.
|
|
|
104
112
|
{ "branch": "feature/auth", "limit": 5 }
|
|
105
113
|
```
|
|
106
114
|
|
|
107
|
-
Filter by `plan`, `branch`, `user`, or `since` (ISO timestamp).
|
|
115
|
+
Filter by `plan`, `branch`, `user`, or `since` (ISO timestamp).
|
|
108
116
|
|
|
109
117
|
### myco_graph — Traverse vault connections
|
|
110
118
|
|
|
@@ -114,16 +122,6 @@ Follow graph connections between records — find related sessions, spores, and
|
|
|
114
122
|
{ "note_id": "session-abc123", "direction": "both", "depth": 2 }
|
|
115
123
|
```
|
|
116
124
|
|
|
117
|
-
**When to use**: exploring how a decision connects to sessions and other spores, or understanding the lineage of a feature's development across multiple sessions.
|
|
118
|
-
|
|
119
|
-
### myco_orphans — Find disconnected notes
|
|
120
|
-
|
|
121
|
-
Find records with no incoming or outgoing graph connections — potentially stale or unconnected knowledge.
|
|
122
|
-
|
|
123
|
-
```json
|
|
124
|
-
{}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
125
|
### myco_team — See teammate activity
|
|
128
126
|
|
|
129
127
|
See what teammates have been working on, filtered by files or plan.
|
|
@@ -132,16 +130,6 @@ See what teammates have been working on, filtered by files or plan.
|
|
|
132
130
|
{ "plan": "auth-redesign" }
|
|
133
131
|
```
|
|
134
132
|
|
|
135
|
-
### myco_logs — Debug the daemon
|
|
136
|
-
|
|
137
|
-
View daemon logs for debugging when sessions aren't being captured, observations are missing, or embeddings fail.
|
|
138
|
-
|
|
139
|
-
```json
|
|
140
|
-
{ "level": "warn", "component": "processor", "limit": 20 }
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Components: `daemon`, `processor`, `hooks`, `lifecycle`, `embeddings`, `lineage`, `watcher`, `digest`, `intelligence`.
|
|
144
|
-
|
|
145
133
|
### myco_supersede — Mark a spore as replaced
|
|
146
134
|
|
|
147
135
|
When a newer observation makes an older one obsolete, supersede it. The old spore stays in the vault (data is never deleted) but is marked `status: superseded`.
|
|
@@ -154,21 +142,68 @@ When a newer observation makes an older one obsolete, supersede it. The old spor
|
|
|
154
142
|
|
|
155
143
|
### myco_consolidate — Merge spores into wisdom
|
|
156
144
|
|
|
157
|
-
|
|
145
|
+
Merge 2+ related spores into a single wisdom note. The daemon inserts the new spore, then marks each source `superseded` and writes a `resolution_events` row (action=`consolidate`) linking it to the new wisdom spore. The source content stays in the vault — nothing is deleted.
|
|
158
146
|
|
|
159
147
|
```json
|
|
160
148
|
{
|
|
161
149
|
"source_spore_ids": ["gotcha-aaa111", "gotcha-bbb222", "gotcha-ccc333"],
|
|
162
150
|
"consolidated_content": "# SQLite Operational Gotchas\n\n1. WAL mode requires shared memory...\n2. Single writer lock...\n3. FTS5 tokenization...",
|
|
163
151
|
"observation_type": "gotcha",
|
|
164
|
-
"tags": ["sqlite", "infrastructure"]
|
|
152
|
+
"tags": ["sqlite", "infrastructure"],
|
|
153
|
+
"reason": "Three related SQLite gotchas merged into one reference"
|
|
165
154
|
}
|
|
166
155
|
```
|
|
167
156
|
|
|
168
|
-
**When to use**:
|
|
157
|
+
**When to use**: multiple spores share a root cause, describe the same pattern from different angles, or would be more useful as a single comprehensive reference. Prefer this over manually running `myco_supersede` repeatedly.
|
|
169
158
|
|
|
170
159
|
For detailed patterns on when and how to consolidate, read `references/wisdom.md`.
|
|
171
160
|
|
|
161
|
+
### myco_skills — Inspect skills in the vault
|
|
162
|
+
|
|
163
|
+
List skills generated by Myco, filter by status, or look up a specific skill by ID or name.
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
{ "status": "active" }
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{ "id": "install-and-initialize-myco" }
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### myco_skill_candidates — Manage skill candidates
|
|
174
|
+
|
|
175
|
+
List, approve, or dismiss candidate skills identified from vault observations.
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{ "action": "list", "status": "identified" }
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Valid actions: `list`, `approve`, `dismiss`. Use `{ "id": "<candidate-id>" }` to target a specific candidate.
|
|
182
|
+
|
|
183
|
+
### Collective tools (only when connected)
|
|
184
|
+
|
|
185
|
+
The following tools appear only when the project is connected to a Myco Collective — they are conditionally registered by `createMycoServer` based on the team status.
|
|
186
|
+
|
|
187
|
+
#### collective_projects — List projects in the collective
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### collective_project — Get metadata for one project
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{ "project": "myco-main", "include_digest": false }
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### collective_search — Search across collective projects
|
|
200
|
+
|
|
201
|
+
Results include project attribution.
|
|
202
|
+
|
|
203
|
+
```json
|
|
204
|
+
{ "query": "authentication approach", "project": "myco-main", "limit": 5 }
|
|
205
|
+
```
|
|
206
|
+
|
|
172
207
|
## Wisdom — Keeping the Vault Clean
|
|
173
208
|
|
|
174
209
|
Spores are injected into every prompt via the `UserPromptSubmit` hook. Each injected spore includes its ID (e.g., `[decision-abc123]`). When you see an injected spore that contradicts what you just did or know to be outdated, **supersede it immediately** — don't wait to be asked. This is how the vault stays accurate.
|
|
@@ -125,7 +125,7 @@ Check for these problems when assessing vault health:
|
|
|
125
125
|
| Issue | How to detect | Meaning |
|
|
126
126
|
|-------|--------------|---------|
|
|
127
127
|
| **Stale buffers** | `.jsonl` files in `<vault>/buffer/` older than 24 hours | Events were captured but never processed — LLM may have been unavailable |
|
|
128
|
-
| **Missing
|
|
128
|
+
| **Missing vault DB** | `<vault>/myco.db` does not exist | The vault database is missing or the project is not initialized; suggest `myco init` or check vault resolution |
|
|
129
129
|
| **Missing vectors** | `<vault>/vectors.db` does not exist | Semantic search disabled; embeddings may be unconfigured |
|
|
130
130
|
| **Old config version** | `version` in `myco.yaml` is less than `2` | Vault may need migration; suggest running `myco init` |
|
|
131
131
|
|