@they-juanreina/compost-cli 0.1.3 → 0.1.4
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/commands/agreement.d.ts.map +1 -1
- package/dist/commands/agreement.js +2 -2
- package/dist/commands/agreement.js.map +1 -1
- package/dist/commands/backup.d.ts +3 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +31 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +3 -2
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +2 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +5 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +1 -0
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/reindex.d.ts.map +1 -1
- package/dist/commands/reindex.js +18 -8
- package/dist/commands/reindex.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +10 -0
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/secrets.d.ts.map +1 -1
- package/dist/commands/secrets.js +13 -11
- package/dist/commands/secrets.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +5 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/setupItem.d.ts +26 -0
- package/dist/commands/setupItem.d.ts.map +1 -0
- package/dist/commands/setupItem.js +145 -0
- package/dist/commands/setupItem.js.map +1 -0
- package/dist/commands/transcribe.d.ts.map +1 -1
- package/dist/commands/transcribe.js +25 -8
- package/dist/commands/transcribe.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +53 -6
- package/dist/commands/watch.js.map +1 -1
- package/dist/errors.d.ts +5 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -0
- package/dist/errors.js.map +1 -1
- package/dist/exporters/pdf.d.ts.map +1 -1
- package/dist/exporters/pdf.js +2 -1
- package/dist/exporters/pdf.js.map +1 -1
- package/dist/legacy_client.d.ts.map +1 -1
- package/dist/legacy_client.js +2 -1
- package/dist/legacy_client.js.map +1 -1
- package/dist/lib/artifacts.d.ts +3 -1
- package/dist/lib/artifacts.d.ts.map +1 -1
- package/dist/lib/artifacts.js +15 -20
- package/dist/lib/artifacts.js.map +1 -1
- package/dist/lib/backup.d.ts +37 -0
- package/dist/lib/backup.d.ts.map +1 -0
- package/dist/lib/backup.js +57 -0
- package/dist/lib/backup.js.map +1 -0
- package/dist/lib/childEnv.d.ts +13 -0
- package/dist/lib/childEnv.d.ts.map +1 -0
- package/dist/lib/childEnv.js +45 -0
- package/dist/lib/childEnv.js.map +1 -0
- package/dist/lib/events.d.ts +10 -0
- package/dist/lib/events.d.ts.map +1 -1
- package/dist/lib/events.js +20 -1
- package/dist/lib/events.js.map +1 -1
- package/dist/lib/journal.d.ts +0 -4
- package/dist/lib/journal.d.ts.map +1 -1
- package/dist/lib/journal.js +8 -18
- package/dist/lib/journal.js.map +1 -1
- package/dist/lib/legacyNative.d.ts +1 -8
- package/dist/lib/legacyNative.d.ts.map +1 -1
- package/dist/lib/legacyNative.js +10 -23
- package/dist/lib/legacyNative.js.map +1 -1
- package/dist/lib/migrate.d.ts.map +1 -1
- package/dist/lib/migrate.js +9 -2
- package/dist/lib/migrate.js.map +1 -1
- package/dist/lib/nativeRuntime.d.ts +31 -0
- package/dist/lib/nativeRuntime.d.ts.map +1 -1
- package/dist/lib/nativeRuntime.js +38 -0
- package/dist/lib/nativeRuntime.js.map +1 -1
- package/dist/lib/pathSafe.d.ts +8 -0
- package/dist/lib/pathSafe.d.ts.map +1 -0
- package/dist/lib/pathSafe.js +12 -0
- package/dist/lib/pathSafe.js.map +1 -0
- package/dist/lib/provisionNative.d.ts.map +1 -1
- package/dist/lib/provisionNative.js +6 -2
- package/dist/lib/provisionNative.js.map +1 -1
- package/dist/lib/reads.d.ts.map +1 -1
- package/dist/lib/reads.js +2 -2
- package/dist/lib/reads.js.map +1 -1
- package/dist/lib/redact.d.ts +7 -0
- package/dist/lib/redact.d.ts.map +1 -0
- package/dist/lib/redact.js +45 -0
- package/dist/lib/redact.js.map +1 -0
- package/dist/lib/rerun.d.ts.map +1 -1
- package/dist/lib/rerun.js +3 -9
- package/dist/lib/rerun.js.map +1 -1
- package/dist/lib/retrieve.d.ts.map +1 -1
- package/dist/lib/retrieve.js +2 -1
- package/dist/lib/retrieve.js.map +1 -1
- package/dist/lib/saturate.js +3 -3
- package/dist/lib/saturate.js.map +1 -1
- package/dist/lib/secrets.d.ts.map +1 -1
- package/dist/lib/secrets.js +84 -77
- package/dist/lib/secrets.js.map +1 -1
- package/dist/lib/seedResolve.d.ts +5 -0
- package/dist/lib/seedResolve.d.ts.map +1 -1
- package/dist/lib/seedResolve.js +12 -3
- package/dist/lib/seedResolve.js.map +1 -1
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/session.js +6 -4
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/sessionId.d.ts +9 -0
- package/dist/lib/sessionId.d.ts.map +1 -0
- package/dist/lib/sessionId.js +37 -0
- package/dist/lib/sessionId.js.map +1 -0
- package/dist/lib/setup.d.ts +4 -0
- package/dist/lib/setup.d.ts.map +1 -1
- package/dist/lib/setup.js +28 -23
- package/dist/lib/setup.js.map +1 -1
- package/dist/lib/setupItem.d.ts +99 -0
- package/dist/lib/setupItem.d.ts.map +1 -0
- package/dist/lib/setupItem.js +262 -0
- package/dist/lib/setupItem.js.map +1 -0
- package/dist/lib/setupWizard.d.ts +2 -0
- package/dist/lib/setupWizard.d.ts.map +1 -1
- package/dist/lib/setupWizard.js +144 -20
- package/dist/lib/setupWizard.js.map +1 -1
- package/dist/lib/snap.d.ts.map +1 -1
- package/dist/lib/snap.js +5 -0
- package/dist/lib/snap.js.map +1 -1
- package/dist/lib/stdin.d.ts +5 -0
- package/dist/lib/stdin.d.ts.map +1 -0
- package/dist/lib/stdin.js +12 -0
- package/dist/lib/stdin.js.map +1 -0
- package/dist/lib/transcribeNative.d.ts +4 -9
- package/dist/lib/transcribeNative.d.ts.map +1 -1
- package/dist/lib/transcribeNative.js +11 -26
- package/dist/lib/transcribeNative.js.map +1 -1
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +2 -1
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +2 -10
- package/dist/lib/version.js.map +1 -1
- package/dist/llm/adapter.d.ts +5 -0
- package/dist/llm/adapter.d.ts.map +1 -1
- package/dist/llm/adapter.js +25 -8
- package/dist/llm/adapter.js.map +1 -1
- package/dist/llm/http.d.ts +22 -1
- package/dist/llm/http.d.ts.map +1 -1
- package/dist/llm/http.js +52 -30
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/providers/anthropic.d.ts.map +1 -1
- package/dist/llm/providers/anthropic.js +6 -9
- package/dist/llm/providers/anthropic.js.map +1 -1
- package/dist/llm/providers/ollama.d.ts.map +1 -1
- package/dist/llm/providers/ollama.js +2 -7
- package/dist/llm/providers/ollama.js.map +1 -1
- package/dist/llm/providers/openai_compatible.d.ts.map +1 -1
- package/dist/llm/providers/openai_compatible.js +2 -7
- package/dist/llm/providers/openai_compatible.js.map +1 -1
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +3 -1
- package/dist/logging.js.map +1 -1
- package/dist/loops/embed_worker.d.ts +3 -0
- package/dist/loops/embed_worker.d.ts.map +1 -1
- package/dist/loops/embed_worker.js +11 -4
- package/dist/loops/embed_worker.js.map +1 -1
- package/dist/loops/legacy_worker.d.ts.map +1 -1
- package/dist/loops/legacy_worker.js +12 -3
- package/dist/loops/legacy_worker.js.map +1 -1
- package/dist/loops/supervisor.d.ts +4 -0
- package/dist/loops/supervisor.d.ts.map +1 -1
- package/dist/loops/supervisor.js +6 -2
- package/dist/loops/supervisor.js.map +1 -1
- package/dist/loops/transcribe_worker.d.ts +3 -0
- package/dist/loops/transcribe_worker.d.ts.map +1 -1
- package/dist/loops/transcribe_worker.js +13 -4
- package/dist/loops/transcribe_worker.js.map +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +5 -4
- package/dist/output.js.map +1 -1
- package/dist/render/glyphs.d.ts +30 -0
- package/dist/render/glyphs.d.ts.map +1 -0
- package/dist/render/glyphs.js +38 -0
- package/dist/render/glyphs.js.map +1 -0
- package/dist/render/human.d.ts +2 -0
- package/dist/render/human.d.ts.map +1 -1
- package/dist/render/human.js +12 -4
- package/dist/render/human.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +16 -3
- package/dist/router.js.map +1 -1
- package/dist/transcriber_client.d.ts.map +1 -1
- package/dist/transcriber_client.js +2 -1
- package/dist/transcriber_client.js.map +1 -1
- package/package.json +4 -4
- package/templates/AGENTS.md +1 -1
- package/transcriber/app/transcribe_cli.py +15 -1
package/dist/lib/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAwB,aAAa,EAAE,MAAM,cAAc,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAElE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AA0CzC,MAAM,oBAAoB,GAAG,CAAC,kCAAkC,EAAE,2BAA2B,CAAC,CAAA;AAE9F;;gFAEgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAA;AAE5C,MAAM,uBAAuB,GAAG,CAAC,QAAQ,CAAC,CAAA;AAE1C,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,IAAc,EAAE,EAAE;IACxD,IAAI,CAAC;QACH,6EAA6E;QAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;QACxF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAA0B,CAAA;QACpC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;IAC9C,CAAC;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAkB,EAAE;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,CAAA;IACrC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACjF,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC1F,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,IAAI,uBAAuB,CAAA;IAE3E,MAAM,MAAM,GAAiB,EAAE,CAAA;IAE/B,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAClE,CAAA;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,MAAM;YACZ,CAAC,CAAC;gBACE,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,eAAe,OAAO,CAAC,MAAM,mDAAmD;gBAC1G,GAAG,EAAE,eAAe;aACrB;YACH,CAAC,CAAC;gBACE,EAAE,EAAE,SAAS;gBACb,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,WAAW;gBACrC,GAAG,EAAE,IAAI;aACV,CACN,CAAA;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,UAAU,GAAoB,IAAI,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,SAAS,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACvE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0C,CAAA;YACxE,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,IAAI,CAAA;IACnB,CAAC;IACD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,kBAAkB,SAAS,WAAW;YAC9C,GAAG,EAAE,qEAAqE;SAC3E,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,mBAAmB;YAC/C,GAAG,EAAE,IAAI;SACV,CAAC,CAAA;QACF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAA;YAChF,MAAM,CAAC,IAAI,CACT,OAAO;gBACL,CAAC,CAAC;oBACE,EAAE,EAAE,SAAS,KAAK,EAAE;oBACpB,KAAK,EAAE,SAAS,KAAK,EAAE;oBACvB,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,WAAW;oBACnB,GAAG,EAAE,IAAI;iBACV;gBACH,CAAC,CAAC;oBACE,EAAE,EAAE,SAAS,KAAK,EAAE;oBACpB,KAAK,EAAE,SAAS,KAAK,EAAE;oBACvB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,sCAAsC;oBAC9C,GAAG,EAAE,eAAe,KAAK,EAAE;iBAC5B,CACN,CAAA;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC/E,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,EAAE;QACP,CAAC,CAAC;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,UAAU,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;YACxC,GAAG,EAAE,IAAI;SACV;QACH,CAAC,CAAC;YACE,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,8EAA8E;YACtF,GAAG,EAAE,mEAAmE;SACzE,CACN,CAAA;IAED,4BAA4B;IAC5B,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,cAAc,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1E,aAAa,GAAG,GAAG,CAAC,EAAE,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,GAAG,KAAK,CAAA;IACvB,CAAC;IACD,MAAM,CAAC,IAAI,CACT,aAAa;QACX,CAAC,CAAC;YACE,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,cAAc,cAAc,EAAE;YACtC,GAAG,EAAE,IAAI;SACV;QACH,CAAC,CAAC;YACE,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,iFAAiF;YACzF,GAAG,EAAE,0DAA0D;SAChE,CACN,CAAA;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,0DAA0D;IAC1D,IAAI,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,mBAAmB;gBACvB,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,gFAAgF;gBACxF,GAAG,EAAE,uEAAuE;aAC7E,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC7C,oEAAoE;YACpE,0EAA0E;YAC1E,kEAAkE;YAClE,iDAAiD;YACjD,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,mBAAmB;gBACvB,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,eAAe,IAAI,CAAC,MAAM,sCAAsC;gBACxE,GAAG,EAAE,8HAA8H;aACpI,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI;gBAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAA;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC,CAAA;YACtF,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,EAAE;gBACN,CAAC,CAAC;oBACE,EAAE,EAAE,mBAAmB;oBACvB,KAAK,EAAE,sBAAsB;oBAC7B,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,yCAAyC,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,cAAc,EAAE;oBAClG,GAAG,EAAE,IAAI;iBACV;gBACH,CAAC,CAAC;oBACE,EAAE,EAAE,mBAAmB;oBACvB,KAAK,EAAE,sBAAsB;oBAC7B,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,4CAA4C;oBAC5E,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,wDAAwD;iBAC9E,CACN,CAAA;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAmB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;IACtF,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EACJ,sFAAsF;YACxF,GAAG,EACD,CAAC,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;gBACrC,CAAC,CAAC,8DAA8D;gBAChE,CAAC,CAAC,0DAA0D;SACjE,CAAC,CAAA;IACJ,CAAC;IAED,uEAAuE;IACvE,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,WAAW,GAAG;QAClB,GAAG;QACH,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAA;IACD,MAAM,EAAE,GAAG,aAAa,CAAC,mBAAmB,EAAE,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IACtF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,MAAM;YACd,MAAM,EACJ,uFAAuF;YACzF,GAAG,EAAE,4EAA4E;SAClF,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,gBAAgB,EAAE,CAAC,MAAM,GAAG;YACpC,GAAG,EAAE,IAAI;SACV,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAA;QACxB,uEAAuE;QACvE,0EAA0E;QAC1E,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,YAAY,IAAI,EAAE,CAAA;YAC7B,MAAM,KAAK,GAAG,qBAAqB,IAAI,EAAE,CAAA;YACzC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAChC,SAAS,EACT,0BAA0B,IAAI,2BAA2B,EACzD,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,EAAE,EAAE,EAAE,EAClE,wBAAwB,CACzB,CAAA;gBACD,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE;oBAC5D,CAAC,CAAC;wBACE,EAAE;wBACF,KAAK;wBACL,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,oDAAoD;wBAC5D,GAAG,EAAE,oCAAoC,IAAI,qCAAqC;qBACnF,CACN,CAAA;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;gBACxE,oEAAoE;gBACpE,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE;oBACF,KAAK;oBACL,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,iEAAiE;oBACzE,GAAG,EAAE,mCAAmC,IAAI,EAAE;iBAC/C,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,QAAQ,CAAC;QAClB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;QACvF,CAAC,CAAC;YACE,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,mBAAmB,GAAG,EAAE;YAChC,GAAG,EAAE,uEAAuE;SAC7E,CACN,CAAA;IAED,kFAAkF;IAClF,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,CAAC,IAAI,CACT,SAAS;YACP,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE;YACpF,CAAC,CAAC;gBACE,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,wCAAwC;gBAChD,GAAG,EAAE,uDAAuD;aAC7D,CACN,CAAA;IACH,CAAC;IAED,0EAA0E;IAC1E,oEAAoE;IACpE,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACjD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,gBAAgB,KAAK,CAAC,IAAI,EAAE;YAChC,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE;YAC1D,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IACtD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,6EAA6E;IAC7E,uCAAuC;IACvC,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAQ;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;YAC5D,IAAI,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAA;QACjC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { FetchLike } from '../llm/types.js';
|
|
2
|
+
import { resolveSecret, rmSecret, setSecret } from './secrets.js';
|
|
3
|
+
/**
|
|
4
|
+
* Per-item setup maintenance — the "fix one thing" surface.
|
|
5
|
+
*
|
|
6
|
+
* The read-only `compost setup` report (setup.ts) answers ONE question — is a
|
|
7
|
+
* prerequisite PRESENT — cheaply, offline, and deterministically, because
|
|
8
|
+
* agents and CI gate on its exact JSON. Its shape is frozen. This module is the
|
|
9
|
+
* additive, on-demand layer the canonical report deliberately is not: it
|
|
10
|
+
* addresses a single check by its stable id, knows the lifecycle ACTIONS
|
|
11
|
+
* available on it (validate / renew / forget / pull / fix), and — for credential
|
|
12
|
+
* checks — can probe whether the stored secret is actually LIVE, not merely set.
|
|
13
|
+
*
|
|
14
|
+
* The model is generic: `actionsFor(id)` + `runItem(id, action)` cover the HF
|
|
15
|
+
* token (a credential), an Ollama model (a download), and a loose secret file
|
|
16
|
+
* (a chmod) through the same two functions — it is not HF-specific. Nothing here
|
|
17
|
+
* runs inside runSetup(); the live probe is never in the always-run path, so
|
|
18
|
+
* PRESENCE (canonical, cheap) and VALIDITY (here, on demand) stay two explicit
|
|
19
|
+
* signals rather than two answers that can contradict each other.
|
|
20
|
+
*/
|
|
21
|
+
/** A lifecycle action available on a setup item. `side` makes the two-sided
|
|
22
|
+
* nature of a credential structural, not prose: 'local' is what compost owns
|
|
23
|
+
* (keychain / 0600 file / Ollama store), 'remote' is the provider account only
|
|
24
|
+
* the user controls, 'both' touches each in turn. */
|
|
25
|
+
export interface SetupItemAction {
|
|
26
|
+
id: 'validate' | 'renew' | 'forget' | 'pull' | 'fix';
|
|
27
|
+
label: string;
|
|
28
|
+
side: 'local' | 'remote' | 'both';
|
|
29
|
+
/** Where the user performs the remote half, when there is one. */
|
|
30
|
+
url?: string;
|
|
31
|
+
}
|
|
32
|
+
/** Lifecycle actions for a check id. Unknown ids return [] (no actions). The
|
|
33
|
+
* registry is intentionally small: an action exists here only when a real
|
|
34
|
+
* backing primitive does — it grows when a second real caller demands it. */
|
|
35
|
+
export declare function actionsFor(id: string): SetupItemAction[];
|
|
36
|
+
export type ValidityStatus = 'ok' | 'fail' | 'warn';
|
|
37
|
+
export interface HfValidity {
|
|
38
|
+
status: ValidityStatus;
|
|
39
|
+
detail: string;
|
|
40
|
+
account?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Live HuggingFace token probe (mirrors version.ts's best-effort remote check).
|
|
44
|
+
* 200 → ok + account; 401/403 → fail (revoked / expired / insufficient scope);
|
|
45
|
+
* any network error → warn ('could not verify'), never throwing. This is the
|
|
46
|
+
* trigger "renew" never had: a present-but-dead token reads as fail HERE,
|
|
47
|
+
* instead of its 403 surfacing misattributed to the pyannote license check.
|
|
48
|
+
*/
|
|
49
|
+
export declare function validateHfToken(token: string, deps?: {
|
|
50
|
+
fetchImpl?: FetchLike;
|
|
51
|
+
timeoutMs?: number;
|
|
52
|
+
}): Promise<HfValidity>;
|
|
53
|
+
/** Where a secret's value currently lives, read from the RAW stores — not via
|
|
54
|
+
* resolveSecret, whose 'env' source is polluted by the startup autoloader
|
|
55
|
+
* (loadSecretsEnv copies the 0600 file into process.env, so a file-stored token
|
|
56
|
+
* would otherwise masquerade as a shell export and be wrongly un-removable). */
|
|
57
|
+
export interface SecretSources {
|
|
58
|
+
fileVal?: string;
|
|
59
|
+
kcVal?: string;
|
|
60
|
+
envVal?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface RunItemDeps {
|
|
63
|
+
/** New secret value (for renew/set); the caller reads it from stdin/prompt. */
|
|
64
|
+
value?: string;
|
|
65
|
+
fetchImpl?: FetchLike;
|
|
66
|
+
/** Injectable for tests; default to the real secrets primitives. */
|
|
67
|
+
storeSecret?: typeof setSecret;
|
|
68
|
+
removeSecret?: typeof rmSecret;
|
|
69
|
+
resolve?: typeof resolveSecret;
|
|
70
|
+
/** Raw source breakdown for forget's safety logic; defaults to the real stores. */
|
|
71
|
+
inspect?: (name: string) => SecretSources;
|
|
72
|
+
/** Streaming command runner for `pull` (ollama); defaults to spawnSync. */
|
|
73
|
+
run?: (cmd: string, args: string[]) => {
|
|
74
|
+
ok: boolean;
|
|
75
|
+
};
|
|
76
|
+
/** Tighten a file to 0600 (`fix`); defaults to chmodSync. */
|
|
77
|
+
chmod?: (path: string) => void;
|
|
78
|
+
/** Re-test a file's secrecy after `fix`; defaults to fileIsSecure. */
|
|
79
|
+
isSecure?: (path: string) => boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface RunItemResult {
|
|
82
|
+
id: string;
|
|
83
|
+
action: string;
|
|
84
|
+
/** Action-specific payload (SetResult, RmResult + remote_action, validity…). */
|
|
85
|
+
result: unknown;
|
|
86
|
+
/** The item's status after the action, re-probed in isolation. */
|
|
87
|
+
recheck: {
|
|
88
|
+
status: ValidityStatus;
|
|
89
|
+
detail: string;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Invoke one lifecycle action on one item, then re-probe just that item. The
|
|
94
|
+
* single generic mutation primitive every caller (the CLI verb, the wizard's
|
|
95
|
+
* per-item segment, the skill hand-off) routes through, so there is exactly one
|
|
96
|
+
* implementation of each fix. Throws INVALID_INPUT for an unknown id or action.
|
|
97
|
+
*/
|
|
98
|
+
export declare function runItem(id: string, action: string, deps?: RunItemDeps): Promise<RunItemResult>;
|
|
99
|
+
//# sourceMappingURL=setupItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupItem.d.ts","sourceRoot":"","sources":["../../src/lib/setupItem.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAML,aAAa,EACb,QAAQ,EAER,SAAS,EACV,MAAM,cAAc,CAAA;AAErB;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;qDAGqD;AACrD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAA;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IACjC,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAQD;;6EAE6E;AAC7E,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,EAAE,CAgCxD;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,UAAU,CAAC,CA4BrB;AAED;;;gFAGgF;AAChF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,OAAO,QAAQ,CAAA;IAC9B,OAAO,CAAC,EAAE,OAAO,aAAa,CAAA;IAC9B,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAA;IACzC,2EAA2E;IAC3E,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAA;IACtD,6DAA6D;IAC7D,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;CACrC;AAuBD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAA;IACf,kEAAkE;IAClE,OAAO,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACpD;AAgBD;;;;;GAKG;AACH,wBAAsB,OAAO,CAC3B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,aAAa,CAAC,CAKxB"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { chmodSync } from 'node:fs';
|
|
3
|
+
import { CompostError } from '../errors.js';
|
|
4
|
+
import { fetchWithTimeout, resolveFetch } from '../llm/http.js';
|
|
5
|
+
import { scrubbedEnv } from './childEnv.js';
|
|
6
|
+
import { detectKeychain, fileIsSecure, HF_ALIASES, readSecretsFile, resolveSecret, rmSecret, setSecret, } from './secrets.js';
|
|
7
|
+
const HF_NAME = 'HUGGINGFACE_TOKEN';
|
|
8
|
+
const HF_TOKENS_URL = 'https://hf.co/settings/tokens';
|
|
9
|
+
const HF_WHOAMI_URL = 'https://huggingface.co/api/whoami-v2';
|
|
10
|
+
const MODEL_PREFIX = 'model:';
|
|
11
|
+
const PERMS_PREFIX = 'secret-perms:';
|
|
12
|
+
/** Lifecycle actions for a check id. Unknown ids return [] (no actions). The
|
|
13
|
+
* registry is intentionally small: an action exists here only when a real
|
|
14
|
+
* backing primitive does — it grows when a second real caller demands it. */
|
|
15
|
+
export function actionsFor(id) {
|
|
16
|
+
if (id === 'hf-token') {
|
|
17
|
+
return [
|
|
18
|
+
{
|
|
19
|
+
id: 'validate',
|
|
20
|
+
label: 'Check the stored token is live at HuggingFace',
|
|
21
|
+
side: 'remote',
|
|
22
|
+
url: HF_WHOAMI_URL,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'renew',
|
|
26
|
+
label: 'Replace the stored token with a freshly minted one',
|
|
27
|
+
side: 'both',
|
|
28
|
+
url: HF_TOKENS_URL,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'forget',
|
|
32
|
+
label: 'Forget the local copy (delete it at HuggingFace to truly revoke)',
|
|
33
|
+
side: 'both',
|
|
34
|
+
url: HF_TOKENS_URL,
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
if (id.startsWith(MODEL_PREFIX)) {
|
|
39
|
+
return [
|
|
40
|
+
{ id: 'pull', label: `Pull ${id.slice(MODEL_PREFIX.length)} via Ollama`, side: 'local' },
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
if (id.startsWith(PERMS_PREFIX)) {
|
|
44
|
+
return [{ id: 'fix', label: 'Tighten the file permissions to 0600', side: 'local' }];
|
|
45
|
+
}
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Live HuggingFace token probe (mirrors version.ts's best-effort remote check).
|
|
50
|
+
* 200 → ok + account; 401/403 → fail (revoked / expired / insufficient scope);
|
|
51
|
+
* any network error → warn ('could not verify'), never throwing. This is the
|
|
52
|
+
* trigger "renew" never had: a present-but-dead token reads as fail HERE,
|
|
53
|
+
* instead of its 403 surfacing misattributed to the pyannote license check.
|
|
54
|
+
*/
|
|
55
|
+
export async function validateHfToken(token, deps = {}) {
|
|
56
|
+
const fetchImpl = resolveFetch(deps.fetchImpl);
|
|
57
|
+
try {
|
|
58
|
+
const res = await fetchWithTimeout(fetchImpl, HF_WHOAMI_URL, { method: 'GET', headers: { Authorization: `Bearer ${token}` } }, deps.timeoutMs ?? 5000);
|
|
59
|
+
if (res.ok) {
|
|
60
|
+
const who = (await res.json());
|
|
61
|
+
return who.name
|
|
62
|
+
? { status: 'ok', detail: `valid (account: ${who.name})`, account: who.name }
|
|
63
|
+
: { status: 'ok', detail: 'valid' };
|
|
64
|
+
}
|
|
65
|
+
if (res.status === 401 || res.status === 403) {
|
|
66
|
+
return {
|
|
67
|
+
status: 'fail',
|
|
68
|
+
detail: `rejected by HuggingFace (HTTP ${res.status}) — the token is revoked, expired, or lacks read scope`,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
status: 'warn',
|
|
73
|
+
detail: `unexpected response from HuggingFace (HTTP ${res.status}) — could not verify`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return { status: 'warn', detail: 'could not reach HuggingFace to verify (offline?)' };
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** Read the raw stores directly (keychain + 0600 file + process.env), so forget
|
|
81
|
+
* can tell an autoloaded file value apart from a genuine shell export. */
|
|
82
|
+
function defaultInspect(name) {
|
|
83
|
+
const out = {};
|
|
84
|
+
const envVal = process.env[name];
|
|
85
|
+
if (envVal && envVal.trim() !== '')
|
|
86
|
+
out.envVal = envVal;
|
|
87
|
+
const kcVal = detectKeychain()?.get(name);
|
|
88
|
+
if (kcVal && kcVal.trim() !== '')
|
|
89
|
+
out.kcVal = kcVal;
|
|
90
|
+
const file = readSecretsFile();
|
|
91
|
+
if (file.exists && file.secure) {
|
|
92
|
+
const fv = file.values[name];
|
|
93
|
+
if (fv && fv.trim() !== '')
|
|
94
|
+
out.fileVal = fv;
|
|
95
|
+
}
|
|
96
|
+
return out;
|
|
97
|
+
}
|
|
98
|
+
function defaultRun(cmd, args) {
|
|
99
|
+
// `ollama pull` etc. need no compost secrets — spawn with a scrubbed env (#236).
|
|
100
|
+
return { ok: spawnSync(cmd, args, { stdio: 'inherit', env: scrubbedEnv() }).status === 0 };
|
|
101
|
+
}
|
|
102
|
+
function reject(id, action) {
|
|
103
|
+
const actions = actionsFor(id);
|
|
104
|
+
if (actions.length === 0) {
|
|
105
|
+
throw new CompostError('INVALID_INPUT', `No maintainable item "${id}". Maintainable items: hf-token, model:<name>, secret-perms:<path>.`);
|
|
106
|
+
}
|
|
107
|
+
throw new CompostError('INVALID_INPUT', `Unknown action "${action}" for ${id}. Valid actions: ${actions.map((a) => a.id).join(', ')}.`);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Invoke one lifecycle action on one item, then re-probe just that item. The
|
|
111
|
+
* single generic mutation primitive every caller (the CLI verb, the wizard's
|
|
112
|
+
* per-item segment, the skill hand-off) routes through, so there is exactly one
|
|
113
|
+
* implementation of each fix. Throws INVALID_INPUT for an unknown id or action.
|
|
114
|
+
*/
|
|
115
|
+
export async function runItem(id, action, deps = {}) {
|
|
116
|
+
if (id === 'hf-token')
|
|
117
|
+
return runHfToken(action, deps);
|
|
118
|
+
if (id.startsWith(MODEL_PREFIX))
|
|
119
|
+
return runModelPull(id, action, deps);
|
|
120
|
+
if (id.startsWith(PERMS_PREFIX))
|
|
121
|
+
return runPermsFix(id, action, deps);
|
|
122
|
+
reject(id, action);
|
|
123
|
+
}
|
|
124
|
+
async function runHfToken(action, deps) {
|
|
125
|
+
const id = 'hf-token';
|
|
126
|
+
const storeSecret = deps.storeSecret ?? setSecret;
|
|
127
|
+
const removeSecret = deps.removeSecret ?? rmSecret;
|
|
128
|
+
const resolve = deps.resolve ?? resolveSecret;
|
|
129
|
+
if (action === 'validate') {
|
|
130
|
+
const found = resolve(HF_NAME, { aliases: HF_ALIASES });
|
|
131
|
+
if (!found) {
|
|
132
|
+
return {
|
|
133
|
+
id,
|
|
134
|
+
action,
|
|
135
|
+
result: { present: false },
|
|
136
|
+
recheck: { status: 'fail', detail: 'no token set (checked env, keychain, secrets.env)' },
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
const v = await validateHfToken(found.value, deps);
|
|
140
|
+
return {
|
|
141
|
+
id,
|
|
142
|
+
action,
|
|
143
|
+
result: { source: found.source, ...v },
|
|
144
|
+
recheck: { status: v.status, detail: v.detail },
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
if (action === 'renew') {
|
|
148
|
+
const value = (deps.value ?? '').trim();
|
|
149
|
+
if (value === '') {
|
|
150
|
+
throw new CompostError('INVALID_INPUT', `No token value provided for ${id} ${action}.`);
|
|
151
|
+
}
|
|
152
|
+
const stored = storeSecret(HF_NAME, value);
|
|
153
|
+
const v = await validateHfToken(value, deps);
|
|
154
|
+
return {
|
|
155
|
+
id,
|
|
156
|
+
action,
|
|
157
|
+
result: {
|
|
158
|
+
stored,
|
|
159
|
+
validity: v,
|
|
160
|
+
// The local store does not touch the OLD token at HuggingFace.
|
|
161
|
+
remote_note: `The previous token stays valid at ${HF_TOKENS_URL} until you delete it there.`,
|
|
162
|
+
},
|
|
163
|
+
recheck: { status: v.status, detail: v.detail },
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
// `forget` removes compost's local copy. `revoke` is accepted as a familiar
|
|
167
|
+
// alias — but the action is named forget because compost cannot kill the token
|
|
168
|
+
// server-side; only deleting it at HuggingFace does that.
|
|
169
|
+
if (action === 'forget' || action === 'revoke') {
|
|
170
|
+
const inspect = deps.inspect ?? defaultInspect;
|
|
171
|
+
const { fileVal, kcVal, envVal } = inspect(HF_NAME);
|
|
172
|
+
const localPresent = fileVal !== undefined || kcVal !== undefined;
|
|
173
|
+
// A GENUINE shell export is an env value that isn't just our autoloaded
|
|
174
|
+
// file/keychain value (loadSecretsEnv copies the 0600 file into env at
|
|
175
|
+
// startup). Only that case is something compost cannot remove — env wins
|
|
176
|
+
// over the stores, so a "forgotten" token still exported would keep working.
|
|
177
|
+
const shellExport = envVal !== undefined && envVal !== fileVal && envVal !== kcVal;
|
|
178
|
+
const unsetNote = `${HF_NAME} is set in your shell environment, which compost cannot modify. Unset it yourself: \`unset ${HF_NAME}\` (and remove it from your shell profile).`;
|
|
179
|
+
if (!localPresent) {
|
|
180
|
+
return {
|
|
181
|
+
id,
|
|
182
|
+
action: 'forget',
|
|
183
|
+
result: shellExport
|
|
184
|
+
? {
|
|
185
|
+
refused: true,
|
|
186
|
+
source: 'env',
|
|
187
|
+
detail: unsetNote,
|
|
188
|
+
remote_action: {
|
|
189
|
+
provider: 'huggingface',
|
|
190
|
+
url: HF_TOKENS_URL,
|
|
191
|
+
note: 'deleting the token at HuggingFace is the only thing that truly revokes it',
|
|
192
|
+
},
|
|
193
|
+
}
|
|
194
|
+
: { removed_from: [], detail: 'nothing stored locally to forget' },
|
|
195
|
+
recheck: shellExport
|
|
196
|
+
? { status: 'warn', detail: 'still set via shell env — not forgotten' }
|
|
197
|
+
: { status: 'warn', detail: 'nothing stored locally to forget' },
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
const removed = removeSecret(HF_NAME);
|
|
201
|
+
return {
|
|
202
|
+
id,
|
|
203
|
+
action: 'forget',
|
|
204
|
+
result: {
|
|
205
|
+
...removed,
|
|
206
|
+
...(shellExport ? { still_in_env: true, env_note: unsetNote } : {}),
|
|
207
|
+
remote_action: {
|
|
208
|
+
provider: 'huggingface',
|
|
209
|
+
url: HF_TOKENS_URL,
|
|
210
|
+
note: 'local copy forgotten; the token is NOT dead until you delete it at HuggingFace',
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
recheck: shellExport
|
|
214
|
+
? {
|
|
215
|
+
status: 'warn',
|
|
216
|
+
detail: `forgot local copy from ${removed.removed_from.join(' and ')}, but still set via shell env — unset it`,
|
|
217
|
+
}
|
|
218
|
+
: {
|
|
219
|
+
status: 'ok',
|
|
220
|
+
detail: `local copy forgotten from ${removed.removed_from.join(' and ')}`,
|
|
221
|
+
},
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
reject(id, action);
|
|
225
|
+
}
|
|
226
|
+
/** Generalization proof #1 — an Ollama model is just another item: its one
|
|
227
|
+
* action is a local download, run through the same primitive as the HF token. */
|
|
228
|
+
async function runModelPull(id, action, deps) {
|
|
229
|
+
if (action !== 'pull')
|
|
230
|
+
reject(id, action);
|
|
231
|
+
const model = id.slice(MODEL_PREFIX.length);
|
|
232
|
+
const run = deps.run ?? defaultRun;
|
|
233
|
+
const { ok } = run('ollama', ['pull', model]);
|
|
234
|
+
return {
|
|
235
|
+
id,
|
|
236
|
+
action,
|
|
237
|
+
result: { ran: `ollama pull ${model}`, ok },
|
|
238
|
+
recheck: ok
|
|
239
|
+
? { status: 'ok', detail: `pulled ${model}` }
|
|
240
|
+
: { status: 'fail', detail: `pull failed — is Ollama running? retry: ollama pull ${model}` },
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
/** Generalization proof #2 — a loose secret file is just another item: its one
|
|
244
|
+
* action is a local chmod, with a deterministic re-stat as the recheck. */
|
|
245
|
+
async function runPermsFix(id, action, deps) {
|
|
246
|
+
if (action !== 'fix')
|
|
247
|
+
reject(id, action);
|
|
248
|
+
const path = id.slice(PERMS_PREFIX.length);
|
|
249
|
+
const chmod = deps.chmod ?? ((p) => chmodSync(p, 0o600));
|
|
250
|
+
const isSecure = deps.isSecure ?? fileIsSecure;
|
|
251
|
+
chmod(path);
|
|
252
|
+
const secure = isSecure(path);
|
|
253
|
+
return {
|
|
254
|
+
id,
|
|
255
|
+
action,
|
|
256
|
+
result: { path, mode: '600', secure },
|
|
257
|
+
recheck: secure
|
|
258
|
+
? { status: 'ok', detail: `${path} is now 0600` }
|
|
259
|
+
: { status: 'warn', detail: `could not secure ${path} — check ownership` },
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=setupItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupItem.js","sourceRoot":"","sources":["../../src/lib/setupItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,8 @@ export interface WizardDeps {
|
|
|
35
35
|
saveDefaults?: typeof saveUserConfig;
|
|
36
36
|
/** Existing seed dirs whose config.toml the wizard offers to update. */
|
|
37
37
|
listSeeds?: () => string[];
|
|
38
|
+
/** Ollama base URL for the installed-models probe (default localhost:11434). */
|
|
39
|
+
ollamaUrl?: string;
|
|
38
40
|
}
|
|
39
41
|
export interface WizardResult {
|
|
40
42
|
report: SetupReport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupWizard.d.ts","sourceRoot":"","sources":["../../src/lib/setupWizard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setupWizard.d.ts","sourceRoot":"","sources":["../../src/lib/setupWizard.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAA4B,QAAQ,EAAmB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD;;8EAE8E;AAC9E,eAAO,MAAM,gBAAgB,gBAAgB,CAAA;AAC7C,eAAO,MAAM,gBAAgB,+BAA+B,CAAA;AAC5D,eAAO,MAAM,qBAAqB,8BAA8B,CAAA;AAIhE,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACzD,kDAAkD;IAClD,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACpD,2EAA2E;IAC3E,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,QAAQ,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,QAAQ,CAAA;IACvB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAA;IACtD,SAAS,CAAC,EAAE,OAAO,mBAAmB,CAAA;IACtC,WAAW,CAAC,EAAE,OAAO,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,OAAO,cAAc,CAAA;IACpC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,MAAM,EAAE,CAAA;IAC1B,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAwCD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CA6P5E"}
|