waterplane 0.1.6 → 0.1.14
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/CHANGELOG.md +146 -1
- package/README.md +47 -24
- package/SECURITY.md +11 -3
- package/deploy/node-version +1 -1
- package/node_modules/@waterplane/shared/dist/agentfiles.d.ts +17 -0
- package/node_modules/@waterplane/shared/dist/agentfiles.js +60 -5
- package/node_modules/@waterplane/shared/dist/agentfiles.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/alwaysonwords.d.ts +83 -0
- package/node_modules/@waterplane/shared/dist/alwaysonwords.js +215 -0
- package/node_modules/@waterplane/shared/dist/alwaysonwords.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess/sasswords.js +4 -0
- package/node_modules/@waterplane/shared/dist/assess/sasswords.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/autocompact.js +3 -2
- package/node_modules/@waterplane/shared/dist/autocompact.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/backendsources.d.ts +11 -1
- package/node_modules/@waterplane/shared/dist/backendsources.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/branchmode.d.ts +33 -0
- package/node_modules/@waterplane/shared/dist/branchmode.js +88 -0
- package/node_modules/@waterplane/shared/dist/branchmode.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/budget.d.ts +7 -1
- package/node_modules/@waterplane/shared/dist/budget.js +11 -3
- package/node_modules/@waterplane/shared/dist/budget.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/buildstamp.d.ts +37 -0
- package/node_modules/@waterplane/shared/dist/buildstamp.js +95 -0
- package/node_modules/@waterplane/shared/dist/buildstamp.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/burn.d.ts +16 -1
- package/node_modules/@waterplane/shared/dist/burn.js +30 -0
- package/node_modules/@waterplane/shared/dist/burn.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/calday.d.ts +4 -0
- package/node_modules/@waterplane/shared/dist/calday.js +25 -0
- package/node_modules/@waterplane/shared/dist/calday.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/changebrief.d.ts +77 -0
- package/node_modules/@waterplane/shared/dist/changebrief.js +70 -0
- package/node_modules/@waterplane/shared/dist/changebrief.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/costwindow.d.ts +24 -5
- package/node_modules/@waterplane/shared/dist/costwindow.js +35 -15
- package/node_modules/@waterplane/shared/dist/costwindow.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/desktopfiles.d.ts +100 -0
- package/node_modules/@waterplane/shared/dist/desktopfiles.js +192 -0
- package/node_modules/@waterplane/shared/dist/desktopfiles.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/exposure.d.ts +175 -0
- package/node_modules/@waterplane/shared/dist/exposure.js +357 -0
- package/node_modules/@waterplane/shared/dist/exposure.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/exposurepush.d.ts +60 -0
- package/node_modules/@waterplane/shared/dist/exposurepush.js +103 -0
- package/node_modules/@waterplane/shared/dist/exposurepush.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/commits.d.ts +26 -0
- package/node_modules/@waterplane/shared/dist/healthindex/commits.js +57 -0
- package/node_modules/@waterplane/shared/dist/healthindex/commits.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/move.d.ts +25 -0
- package/node_modules/@waterplane/shared/dist/healthindex/move.js +79 -0
- package/node_modules/@waterplane/shared/dist/healthindex/move.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/readings.d.ts +53 -0
- package/node_modules/@waterplane/shared/dist/healthindex/readings.js +154 -0
- package/node_modules/@waterplane/shared/dist/healthindex/readings.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/repoindex.d.ts +41 -0
- package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js +19 -0
- package/node_modules/@waterplane/shared/dist/healthindex/repoindex.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/score.d.ts +26 -0
- package/node_modules/@waterplane/shared/dist/healthindex/score.js +156 -0
- package/node_modules/@waterplane/shared/dist/healthindex/score.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/types.d.ts +206 -0
- package/node_modules/@waterplane/shared/dist/healthindex/types.js +58 -0
- package/node_modules/@waterplane/shared/dist/healthindex/types.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/vs.d.ts +26 -0
- package/node_modules/@waterplane/shared/dist/healthindex/vs.js +38 -0
- package/node_modules/@waterplane/shared/dist/healthindex/vs.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex/words.d.ts +28 -0
- package/node_modules/@waterplane/shared/dist/healthindex/words.js +124 -0
- package/node_modules/@waterplane/shared/dist/healthindex/words.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex.d.ts +15 -411
- package/node_modules/@waterplane/shared/dist/healthindex.js +8 -602
- package/node_modules/@waterplane/shared/dist/healthindex.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/hints.js +15 -0
- package/node_modules/@waterplane/shared/dist/hints.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/index.d.ts +37 -0
- package/node_modules/@waterplane/shared/dist/index.js +37 -0
- package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent/clean.d.ts +87 -0
- package/node_modules/@waterplane/shared/dist/intent/clean.js +51 -3
- package/node_modules/@waterplane/shared/dist/intent/clean.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent/kind.d.ts +40 -1
- package/node_modules/@waterplane/shared/dist/intent/kind.js +36 -3
- package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent/types.d.ts +13 -0
- package/node_modules/@waterplane/shared/dist/intent/types.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent/verdict.js +9 -16
- package/node_modules/@waterplane/shared/dist/intent/verdict.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent/words.js +5 -0
- package/node_modules/@waterplane/shared/dist/intent/words.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent.d.ts +2 -2
- package/node_modules/@waterplane/shared/dist/intent.js +2 -2
- package/node_modules/@waterplane/shared/dist/intent.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/launchmodes.d.ts +2 -0
- package/node_modules/@waterplane/shared/dist/launchmodes.js +12 -0
- package/node_modules/@waterplane/shared/dist/launchmodes.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/ledgerspan.d.ts +106 -0
- package/node_modules/@waterplane/shared/dist/ledgerspan.js +196 -0
- package/node_modules/@waterplane/shared/dist/ledgerspan.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/naming.d.ts +3 -1
- package/node_modules/@waterplane/shared/dist/naming.js +6 -2
- package/node_modules/@waterplane/shared/dist/naming.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/netfuse.d.ts +5 -0
- package/node_modules/@waterplane/shared/dist/netfuse.js +6 -1
- package/node_modules/@waterplane/shared/dist/netfuse.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/netretry.d.ts +78 -0
- package/node_modules/@waterplane/shared/dist/netretry.js +85 -0
- package/node_modules/@waterplane/shared/dist/netretry.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/netretrycfg.d.ts +12 -0
- package/node_modules/@waterplane/shared/dist/netretrycfg.js +27 -0
- package/node_modules/@waterplane/shared/dist/netretrycfg.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/nodemin.d.ts +6 -4
- package/node_modules/@waterplane/shared/dist/nodemin.js +6 -4
- package/node_modules/@waterplane/shared/dist/nodemin.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/optins.d.ts +35 -1
- package/node_modules/@waterplane/shared/dist/optins.js +39 -1
- package/node_modules/@waterplane/shared/dist/optins.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/pairing.js +4 -0
- package/node_modules/@waterplane/shared/dist/pairing.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/passive.js +3 -0
- package/node_modules/@waterplane/shared/dist/passive.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +394 -0
- package/node_modules/@waterplane/shared/dist/plugin/api.js +2 -0
- package/node_modules/@waterplane/shared/dist/plugin/api.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/plugin/backend.d.ts +197 -0
- package/node_modules/@waterplane/shared/dist/plugin/backend.js +9 -0
- package/node_modules/@waterplane/shared/dist/plugin/backend.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/plugin/manifest.d.ts +160 -0
- package/node_modules/@waterplane/shared/dist/plugin/manifest.js +98 -0
- package/node_modules/@waterplane/shared/dist/plugin/manifest.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/plugin/module.d.ts +98 -0
- package/node_modules/@waterplane/shared/dist/plugin/module.js +13 -0
- package/node_modules/@waterplane/shared/dist/plugin/module.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/plugin/version.d.ts +66 -0
- package/node_modules/@waterplane/shared/dist/plugin/version.js +86 -0
- package/node_modules/@waterplane/shared/dist/plugin/version.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/plugin.d.ts +5 -867
- package/node_modules/@waterplane/shared/dist/plugin.js +27 -186
- package/node_modules/@waterplane/shared/dist/plugin.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/pluginlaunch.d.ts +7 -0
- package/node_modules/@waterplane/shared/dist/prview.d.ts +23 -0
- package/node_modules/@waterplane/shared/dist/prview.js +107 -0
- package/node_modules/@waterplane/shared/dist/prview.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queueserial.d.ts +11 -2
- package/node_modules/@waterplane/shared/dist/queue/queueserial.js +13 -4
- package/node_modules/@waterplane/shared/dist/queue/queueserial.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/queue/queuewords.js +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queuewords.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/repohealth.d.ts +4 -0
- package/node_modules/@waterplane/shared/dist/repohealth.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/repotwins.d.ts +31 -0
- package/node_modules/@waterplane/shared/dist/repotwins.js +52 -0
- package/node_modules/@waterplane/shared/dist/repotwins.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/requirements.js +4 -1
- package/node_modules/@waterplane/shared/dist/requirements.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/schedule/schedaction.d.ts +29 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedaction.js +22 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedaction.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/schedule/schedclean.js +26 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedclean.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.d.ts +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/schedule.d.ts +1 -1
- package/node_modules/@waterplane/shared/dist/schedule.js +1 -1
- package/node_modules/@waterplane/shared/dist/schedule.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/sessionbudget.d.ts +34 -7
- package/node_modules/@waterplane/shared/dist/sessionbudget.js +59 -21
- package/node_modules/@waterplane/shared/dist/sessionbudget.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/sweep.d.ts +2 -1
- package/node_modules/@waterplane/shared/dist/sweep.js +2 -1
- package/node_modules/@waterplane/shared/dist/sweep.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/tokens.d.ts +4 -3
- package/node_modules/@waterplane/shared/dist/tokens.js +9 -7
- package/node_modules/@waterplane/shared/dist/tokens.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/weekburn.d.ts +144 -0
- package/node_modules/@waterplane/shared/dist/weekburn.js +250 -0
- package/node_modules/@waterplane/shared/dist/weekburn.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/alwayson.d.ts +64 -0
- package/node_modules/@waterplane/shared/dist/wire/alwayson.js +7 -0
- package/node_modules/@waterplane/shared/dist/wire/alwayson.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/backend.d.ts +4 -0
- package/node_modules/@waterplane/shared/dist/wire/backendtokens.d.ts +6 -0
- package/node_modules/@waterplane/shared/dist/wire/backendtokens.js +0 -9
- package/node_modules/@waterplane/shared/dist/wire/backendtokens.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/costwindow.d.ts +25 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.d.ts +15 -1
- package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.d.ts +24 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.d.ts +12 -2
- package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +194 -1
- package/node_modules/@waterplane/shared/dist/wire/notify.js +139 -1
- package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/pullrequest.d.ts +42 -0
- package/node_modules/@waterplane/shared/dist/wire/pullrequest.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/pullrequest.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +131 -0
- package/node_modules/@waterplane/shared/dist/wire/repo.js +8 -3
- package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/sent.d.ts +3 -1
- package/node_modules/@waterplane/shared/dist/wire/session/contextspark.d.ts +7 -0
- package/node_modules/@waterplane/shared/dist/wire/session/info.d.ts +4 -1
- package/node_modules/@waterplane/shared/dist/wire/session/launch.d.ts +36 -0
- package/node_modules/@waterplane/shared/dist/wire/session.d.ts +1 -1
- package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +30 -0
- package/node_modules/@waterplane/shared/dist/wire/work.d.ts +13 -0
- package/node_modules/@waterplane/shared/dist/wire/work.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wordof.d.ts +11 -0
- package/node_modules/@waterplane/shared/dist/wordof.js +14 -0
- package/node_modules/@waterplane/shared/dist/wordof.js.map +1 -0
- package/npm-shrinkwrap.json +3 -3
- package/package.json +2 -2
- package/packages/extensions/scorecard/waterplane-plugin.json +10 -0
- package/packages/host/dist/agentexposure.d.ts +13 -0
- package/packages/host/dist/agentexposure.js +90 -0
- package/packages/host/dist/agentexposure.js.map +1 -0
- package/packages/host/dist/agentintents.js +7 -8
- package/packages/host/dist/agentintents.js.map +1 -1
- package/packages/host/dist/agentwatch.d.ts +3 -7
- package/packages/host/dist/agentwatch.js.map +1 -1
- package/packages/host/dist/alwayson.d.ts +18 -0
- package/packages/host/dist/alwayson.js +159 -0
- package/packages/host/dist/alwayson.js.map +1 -0
- package/packages/host/dist/answergate.d.ts +3 -7
- package/packages/host/dist/answergate.js.map +1 -1
- package/packages/host/dist/attentionstore.d.ts +94 -0
- package/packages/host/dist/attentionstore.js +232 -0
- package/packages/host/dist/attentionstore.js.map +1 -0
- package/packages/host/dist/backends/claude-sources.d.ts +2 -0
- package/packages/host/dist/backends/claude-sources.js +12 -0
- package/packages/host/dist/backends/claude-sources.js.map +1 -1
- package/packages/host/dist/backends/claude.js +3 -2
- package/packages/host/dist/backends/claude.js.map +1 -1
- package/packages/host/dist/backends/derive.js +1 -0
- package/packages/host/dist/backends/derive.js.map +1 -1
- package/packages/host/dist/backends/overhead.d.ts +7 -5
- package/packages/host/dist/backends/overhead.js +15 -13
- package/packages/host/dist/backends/overhead.js.map +1 -1
- package/packages/host/dist/backends/registry.js +4 -1
- package/packages/host/dist/backends/registry.js.map +1 -1
- package/packages/host/dist/backends/types.d.ts +2 -0
- package/packages/host/dist/besidespend.d.ts +22 -0
- package/packages/host/dist/besidespend.js +65 -0
- package/packages/host/dist/besidespend.js.map +1 -0
- package/packages/host/dist/boxkit.d.ts +19 -0
- package/packages/host/dist/boxkit.js +38 -0
- package/packages/host/dist/boxkit.js.map +1 -0
- package/packages/host/dist/branchrules.d.ts +14 -0
- package/packages/host/dist/branchrules.js +47 -0
- package/packages/host/dist/branchrules.js.map +1 -0
- package/packages/host/dist/budget.d.ts +3 -2
- package/packages/host/dist/budget.js +5 -3
- package/packages/host/dist/budget.js.map +1 -1
- package/packages/host/dist/builds.d.ts +31 -1
- package/packages/host/dist/builds.js +55 -3
- package/packages/host/dist/builds.js.map +1 -1
- package/packages/host/dist/buildversions.d.ts +2 -0
- package/packages/host/dist/buildversions.js +36 -0
- package/packages/host/dist/buildversions.js.map +1 -0
- package/packages/host/dist/burnwatch.d.ts +23 -11
- package/packages/host/dist/burnwatch.js +57 -3
- package/packages/host/dist/burnwatch.js.map +1 -1
- package/packages/host/dist/changebrief.d.ts +37 -0
- package/packages/host/dist/changebrief.js +157 -0
- package/packages/host/dist/changebrief.js.map +1 -0
- package/packages/host/dist/cli/index.js +1 -1
- package/packages/host/dist/cli/index.js.map +1 -1
- package/packages/host/dist/clihealth.d.ts +2 -0
- package/packages/host/dist/clihealth.js +11 -2
- package/packages/host/dist/clihealth.js.map +1 -1
- package/packages/host/dist/compliance.d.ts +5 -1
- package/packages/host/dist/compliance.js +70 -31
- package/packages/host/dist/compliance.js.map +1 -1
- package/packages/host/dist/composer.d.ts +3 -1
- package/packages/host/dist/composer.js +3 -1
- package/packages/host/dist/composer.js.map +1 -1
- package/packages/host/dist/context.js +29 -4
- package/packages/host/dist/context.js.map +1 -1
- package/packages/host/dist/convlog.d.ts +1 -1
- package/packages/host/dist/convlog.js +1 -1
- package/packages/host/dist/costwindow.d.ts +25 -0
- package/packages/host/dist/costwindow.js +63 -1
- package/packages/host/dist/costwindow.js.map +1 -1
- package/packages/host/dist/ctxlog/ctxagents.js +16 -25
- package/packages/host/dist/ctxlog/ctxagents.js.map +1 -1
- package/packages/host/dist/ctxlog/ctxcursor.d.ts +36 -1
- package/packages/host/dist/ctxlog/ctxcursor.js +96 -2
- package/packages/host/dist/ctxlog/ctxcursor.js.map +1 -1
- package/packages/host/dist/ctxlog/ctxproject.js +2 -1
- package/packages/host/dist/ctxlog/ctxproject.js.map +1 -1
- package/packages/host/dist/ctxlog/ctxupdate.js +30 -24
- package/packages/host/dist/ctxlog/ctxupdate.js.map +1 -1
- package/packages/host/dist/ctxlog/usagerecord.d.ts +28 -0
- package/packages/host/dist/ctxlog/usagerecord.js +81 -0
- package/packages/host/dist/ctxlog/usagerecord.js.map +1 -0
- package/packages/host/dist/diskwatch.d.ts +4 -6
- package/packages/host/dist/diskwatch.js +3 -1
- package/packages/host/dist/diskwatch.js.map +1 -1
- package/packages/host/dist/eraseen.d.ts +6 -0
- package/packages/host/dist/eraseen.js +100 -0
- package/packages/host/dist/eraseen.js.map +1 -0
- package/packages/host/dist/explainjob.d.ts +24 -0
- package/packages/host/dist/explainjob.js +80 -0
- package/packages/host/dist/explainjob.js.map +1 -0
- package/packages/host/dist/exposure.d.ts +56 -0
- package/packages/host/dist/exposure.js +371 -0
- package/packages/host/dist/exposure.js.map +1 -0
- package/packages/host/dist/exposurepush.d.ts +28 -0
- package/packages/host/dist/exposurepush.js +136 -0
- package/packages/host/dist/exposurepush.js.map +1 -0
- package/packages/host/dist/exposurerun.d.ts +18 -0
- package/packages/host/dist/exposurerun.js +126 -0
- package/packages/host/dist/exposurerun.js.map +1 -0
- package/packages/host/dist/exposurewatch.d.ts +29 -0
- package/packages/host/dist/exposurewatch.js +127 -0
- package/packages/host/dist/exposurewatch.js.map +1 -0
- package/packages/host/dist/extensions/scorecard/host/engine.d.mts +54 -0
- package/packages/host/dist/extensions/scorecard/host/engine.mjs +303 -0
- package/packages/host/dist/extensions/scorecard/host/engine.mjs.map +1 -0
- package/packages/host/dist/extensions/scorecard/host/gitslug.d.mts +5 -0
- package/packages/host/dist/extensions/scorecard/host/gitslug.mjs +45 -0
- package/packages/host/dist/extensions/scorecard/host/gitslug.mjs.map +1 -0
- package/packages/host/dist/extensions/scorecard/host/index.d.mts +15 -0
- package/packages/host/dist/extensions/scorecard/host/index.mjs +47 -0
- package/packages/host/dist/extensions/scorecard/host/index.mjs.map +1 -0
- package/packages/host/dist/extensions/scorecard/host/store.d.mts +12 -0
- package/packages/host/dist/extensions/scorecard/host/store.mjs +91 -0
- package/packages/host/dist/extensions/scorecard/host/store.mjs.map +1 -0
- package/packages/host/dist/extensions/scorecard/shared/logic.d.mts +42 -0
- package/packages/host/dist/extensions/scorecard/shared/logic.mjs +170 -0
- package/packages/host/dist/extensions/scorecard/shared/logic.mjs.map +1 -0
- package/packages/host/dist/extensions/scorecard/shared/wire.d.mts +140 -0
- package/packages/host/dist/extensions/scorecard/shared/wire.mjs +29 -0
- package/packages/host/dist/extensions/scorecard/shared/wire.mjs.map +1 -0
- package/packages/host/dist/files.d.ts +14 -12
- package/packages/host/dist/files.js +64 -94
- package/packages/host/dist/files.js.map +1 -1
- package/packages/host/dist/forge/github.d.ts +3 -0
- package/packages/host/dist/forge/github.js +96 -0
- package/packages/host/dist/forge/github.js.map +1 -0
- package/packages/host/dist/forge/index.d.ts +14 -0
- package/packages/host/dist/forge/index.js +32 -0
- package/packages/host/dist/forge/index.js.map +1 -0
- package/packages/host/dist/forge/types.d.ts +58 -0
- package/packages/host/dist/forge/types.js +2 -0
- package/packages/host/dist/forge/types.js.map +1 -0
- package/packages/host/dist/git.d.ts +41 -16
- package/packages/host/dist/git.js +162 -101
- package/packages/host/dist/git.js.map +1 -1
- package/packages/host/dist/gitnotify.d.ts +54 -0
- package/packages/host/dist/gitnotify.js +167 -0
- package/packages/host/dist/gitnotify.js.map +1 -0
- package/packages/host/dist/healthwatch.d.ts +2 -1
- package/packages/host/dist/healthwatch.js +4 -2
- package/packages/host/dist/healthwatch.js.map +1 -1
- package/packages/host/dist/hoststore.js +2 -2
- package/packages/host/dist/hoststore.js.map +1 -1
- package/packages/host/dist/intents/adapters.js +68 -19
- package/packages/host/dist/intents/adapters.js.map +1 -1
- package/packages/host/dist/intents/clock.d.ts +6 -3
- package/packages/host/dist/intents/clock.js +19 -5
- package/packages/host/dist/intents/clock.js.map +1 -1
- package/packages/host/dist/intents/contract.d.ts +15 -5
- package/packages/host/dist/intents/contract.js.map +1 -1
- package/packages/host/dist/intents/disk.d.ts +16 -0
- package/packages/host/dist/intents/disk.js +26 -1
- package/packages/host/dist/intents/disk.js.map +1 -1
- package/packages/host/dist/intents/fire.js +7 -1
- package/packages/host/dist/intents/fire.js.map +1 -1
- package/packages/host/dist/intents/ladder.js +3 -1
- package/packages/host/dist/intents/ladder.js.map +1 -1
- package/packages/host/dist/intents/manager.d.ts +3 -3
- package/packages/host/dist/intents/manager.js +2 -2
- package/packages/host/dist/intents/manager.js.map +1 -1
- package/packages/host/dist/intents/watch.d.ts +27 -3
- package/packages/host/dist/intents/watch.js +70 -9
- package/packages/host/dist/intents/watch.js.map +1 -1
- package/packages/host/dist/intents/write.d.ts +28 -1
- package/packages/host/dist/intents/write.js +87 -2
- package/packages/host/dist/intents/write.js.map +1 -1
- package/packages/host/dist/localcistatus.d.ts +22 -0
- package/packages/host/dist/localcistatus.js +105 -0
- package/packages/host/dist/localcistatus.js.map +1 -0
- package/packages/host/dist/main.js +45 -12
- package/packages/host/dist/main.js.map +1 -1
- package/packages/host/dist/net.d.ts +2 -0
- package/packages/host/dist/net.js +11 -2
- package/packages/host/dist/net.js.map +1 -1
- package/packages/host/dist/netlog.d.ts +40 -0
- package/packages/host/dist/netlog.js +165 -0
- package/packages/host/dist/netlog.js.map +1 -0
- package/packages/host/dist/netretrycfg.d.ts +7 -0
- package/packages/host/dist/netretrycfg.js +51 -0
- package/packages/host/dist/netretrycfg.js.map +1 -0
- package/packages/host/dist/notifyprefs.d.ts +6 -2
- package/packages/host/dist/notifyprefs.js +20 -5
- package/packages/host/dist/notifyprefs.js.map +1 -1
- package/packages/host/dist/notifytypes.d.ts +63 -0
- package/packages/host/dist/notifytypes.js +2 -0
- package/packages/host/dist/notifytypes.js.map +1 -0
- package/packages/host/dist/opendeliveries.js +24 -0
- package/packages/host/dist/opendeliveries.js.map +1 -1
- package/packages/host/dist/optins.d.ts +28 -1
- package/packages/host/dist/optins.js +96 -4
- package/packages/host/dist/optins.js.map +1 -1
- package/packages/host/dist/peers/agentpeer.js +1 -1
- package/packages/host/dist/peers/agentpeer.js.map +1 -1
- package/packages/host/dist/peers/jobs.d.ts +2 -4
- package/packages/host/dist/peers/jobs.js +6 -1
- package/packages/host/dist/peers/jobs.js.map +1 -1
- package/packages/host/dist/periodspend.d.ts +22 -3
- package/packages/host/dist/periodspend.js +44 -4
- package/packages/host/dist/periodspend.js.map +1 -1
- package/packages/host/dist/plugins/pluginapi.js +40 -10
- package/packages/host/dist/plugins/pluginapi.js.map +1 -1
- package/packages/host/dist/plugins/pluginregistry.d.ts +3 -8
- package/packages/host/dist/plugins/pluginregistry.js +1 -1
- package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
- package/packages/host/dist/plugins/plugintoolkit/sessionof.d.ts +47 -0
- package/packages/host/dist/plugins/plugintoolkit/sessionof.js +136 -0
- package/packages/host/dist/plugins/plugintoolkit/sessionof.js.map +1 -0
- package/packages/host/dist/prmergestore.d.ts +31 -0
- package/packages/host/dist/prmergestore.js +106 -0
- package/packages/host/dist/prmergestore.js.map +1 -0
- package/packages/host/dist/protectmain.d.ts +35 -0
- package/packages/host/dist/protectmain.js +73 -0
- package/packages/host/dist/protectmain.js.map +1 -0
- package/packages/host/dist/prpush.d.ts +38 -0
- package/packages/host/dist/prpush.js +351 -0
- package/packages/host/dist/prpush.js.map +1 -0
- package/packages/host/dist/prs.d.ts +118 -0
- package/packages/host/dist/prs.js +681 -0
- package/packages/host/dist/prs.js.map +1 -0
- package/packages/host/dist/push.d.ts +85 -1
- package/packages/host/dist/push.js +238 -8
- package/packages/host/dist/push.js.map +1 -1
- package/packages/host/dist/pushlanded.d.ts +29 -0
- package/packages/host/dist/pushlanded.js +61 -0
- package/packages/host/dist/pushlanded.js.map +1 -0
- package/packages/host/dist/pushreach.d.ts +9 -0
- package/packages/host/dist/pushreach.js +102 -0
- package/packages/host/dist/pushreach.js.map +1 -0
- package/packages/host/dist/pushverdict.d.ts +42 -0
- package/packages/host/dist/pushverdict.js +110 -0
- package/packages/host/dist/pushverdict.js.map +1 -0
- package/packages/host/dist/render.d.ts +57 -0
- package/packages/host/dist/render.js +57 -39
- package/packages/host/dist/render.js.map +1 -1
- package/packages/host/dist/repohealth.js +5 -2
- package/packages/host/dist/repohealth.js.map +1 -1
- package/packages/host/dist/repohealthapproval.d.ts +3 -0
- package/packages/host/dist/repohealthapproval.js +92 -2
- package/packages/host/dist/repohealthapproval.js.map +1 -1
- package/packages/host/dist/repos.d.ts +7 -1
- package/packages/host/dist/repos.js +30 -3
- package/packages/host/dist/repos.js.map +1 -1
- package/packages/host/dist/reposkill.d.ts +8 -5
- package/packages/host/dist/reposkill.js +16 -11
- package/packages/host/dist/reposkill.js.map +1 -1
- package/packages/host/dist/reposkilltext.d.ts +8 -1
- package/packages/host/dist/reposkilltext.js +85 -12
- package/packages/host/dist/reposkilltext.js.map +1 -1
- package/packages/host/dist/routes/apigitspend.d.ts +2 -0
- package/packages/host/dist/routes/apigitspend.js +40 -0
- package/packages/host/dist/routes/apigitspend.js.map +1 -0
- package/packages/host/dist/routes/apihost.js +17 -0
- package/packages/host/dist/routes/apihost.js.map +1 -1
- package/packages/host/dist/routes/apiprs.d.ts +2 -0
- package/packages/host/dist/routes/apiprs.js +47 -0
- package/packages/host/dist/routes/apiprs.js.map +1 -0
- package/packages/host/dist/routes/apirepofiles.js +13 -1
- package/packages/host/dist/routes/apirepofiles.js.map +1 -1
- package/packages/host/dist/routes/apirepowork.d.ts +6 -0
- package/packages/host/dist/routes/apirepowork.js +42 -33
- package/packages/host/dist/routes/apirepowork.js.map +1 -1
- package/packages/host/dist/routes/apiroutes.js +2 -1
- package/packages/host/dist/routes/apiroutes.js.map +1 -1
- package/packages/host/dist/routes/apisession.js +24 -0
- package/packages/host/dist/routes/apisession.js.map +1 -1
- package/packages/host/dist/routes/apistats.js +12 -7
- package/packages/host/dist/routes/apistats.js.map +1 -1
- package/packages/host/dist/routes/apisystem.js +23 -1
- package/packages/host/dist/routes/apisystem.js.map +1 -1
- package/packages/host/dist/routes/apitable.d.ts +10 -0
- package/packages/host/dist/routes/apitable.js.map +1 -1
- package/packages/host/dist/routes/apiweekburn.d.ts +2 -0
- package/packages/host/dist/routes/apiweekburn.js +30 -0
- package/packages/host/dist/routes/apiweekburn.js.map +1 -0
- package/packages/host/dist/routes/session.js +10 -0
- package/packages/host/dist/routes/session.js.map +1 -1
- package/packages/host/dist/routes/system.js +34 -6
- package/packages/host/dist/routes/system.js.map +1 -1
- package/packages/host/dist/routes/types.d.ts +29 -21
- package/packages/host/dist/routes/work/workbuild.js +3 -2
- package/packages/host/dist/routes/work/workbuild.js.map +1 -1
- package/packages/host/dist/routes/work/workintent.js +6 -2
- package/packages/host/dist/routes/work/workintent.js.map +1 -1
- package/packages/host/dist/routes/work/workschedule.js +33 -3
- package/packages/host/dist/routes/work/workschedule.js.map +1 -1
- package/packages/host/dist/screenlog.d.ts +20 -0
- package/packages/host/dist/screenlog.js +40 -0
- package/packages/host/dist/screenlog.js.map +1 -1
- package/packages/host/dist/server/billingwire.d.ts +3 -1
- package/packages/host/dist/server/billingwire.js +4 -2
- package/packages/host/dist/server/billingwire.js.map +1 -1
- package/packages/host/dist/server/clients.d.ts +14 -24
- package/packages/host/dist/server/clients.js +81 -11
- package/packages/host/dist/server/clients.js.map +1 -1
- package/packages/host/dist/server/ctx.d.ts +2 -0
- package/packages/host/dist/server/ctxseal.d.ts +1 -1
- package/packages/host/dist/server/ctxseal.js +6 -6
- package/packages/host/dist/server/ctxseal.js.map +1 -1
- package/packages/host/dist/server/deliveries.js +4 -2
- package/packages/host/dist/server/deliveries.js.map +1 -1
- package/packages/host/dist/server/http.js +2 -2
- package/packages/host/dist/server/http.js.map +1 -1
- package/packages/host/dist/server/intentDeps.js +13 -6
- package/packages/host/dist/server/intentDeps.js.map +1 -1
- package/packages/host/dist/server/intentEvents.js +9 -4
- package/packages/host/dist/server/intentEvents.js.map +1 -1
- package/packages/host/dist/server/scan.js +23 -1
- package/packages/host/dist/server/scan.js.map +1 -1
- package/packages/host/dist/server/sessionEvents.js +40 -15
- package/packages/host/dist/server/sessionEvents.js.map +1 -1
- package/packages/host/dist/server/shutdown.d.ts +3 -1
- package/packages/host/dist/server/shutdown.js +9 -1
- package/packages/host/dist/server/shutdown.js.map +1 -1
- package/packages/host/dist/sessionbudget.d.ts +2 -0
- package/packages/host/dist/sessionbudget.js +17 -6
- package/packages/host/dist/sessionbudget.js.map +1 -1
- package/packages/host/dist/sessions/agentpoll.d.ts +42 -0
- package/packages/host/dist/sessions/agentpoll.js +193 -0
- package/packages/host/dist/sessions/agentpoll.js.map +1 -0
- package/packages/host/dist/sessions/apiretry.d.ts +106 -0
- package/packages/host/dist/sessions/apiretry.js +387 -0
- package/packages/host/dist/sessions/apiretry.js.map +1 -0
- package/packages/host/dist/sessions/askwatch.d.ts +62 -0
- package/packages/host/dist/sessions/askwatch.js +169 -0
- package/packages/host/dist/sessions/askwatch.js.map +1 -0
- package/packages/host/dist/sessions/boxes.d.ts +2 -23
- package/packages/host/dist/sessions/boxes.js +10 -664
- package/packages/host/dist/sessions/boxes.js.map +1 -1
- package/packages/host/dist/sessions/boxread.d.ts +47 -0
- package/packages/host/dist/sessions/boxread.js +628 -0
- package/packages/host/dist/sessions/boxread.js.map +1 -0
- package/packages/host/dist/sessions/core.d.ts +22 -1
- package/packages/host/dist/sessions/ctxseries.js +3 -0
- package/packages/host/dist/sessions/ctxseries.js.map +1 -1
- package/packages/host/dist/sessions/drive.d.ts +20 -6
- package/packages/host/dist/sessions/drive.js +45 -12
- package/packages/host/dist/sessions/drive.js.map +1 -1
- package/packages/host/dist/sessions/endsession.d.ts +11 -0
- package/packages/host/dist/sessions/endsession.js +71 -0
- package/packages/host/dist/sessions/endsession.js.map +1 -0
- package/packages/host/dist/sessions/haltall.d.ts +14 -0
- package/packages/host/dist/sessions/haltall.js +32 -1
- package/packages/host/dist/sessions/haltall.js.map +1 -1
- package/packages/host/dist/sessions/knobs.d.ts +11 -0
- package/packages/host/dist/sessions/knobs.js +12 -0
- package/packages/host/dist/sessions/knobs.js.map +1 -1
- package/packages/host/dist/sessions/record.js +7 -2
- package/packages/host/dist/sessions/record.js.map +1 -1
- package/packages/host/dist/sessions/resume.d.ts +17 -0
- package/packages/host/dist/sessions/resume.js +65 -11
- package/packages/host/dist/sessions/resume.js.map +1 -1
- package/packages/host/dist/sessions/roster.js +3 -0
- package/packages/host/dist/sessions/roster.js.map +1 -1
- package/packages/host/dist/sessions/sidechannel.d.ts +1 -1
- package/packages/host/dist/sessions/sidechannel.js +2 -2
- package/packages/host/dist/sessions/tmux.js +21 -2
- package/packages/host/dist/sessions/tmux.js.map +1 -1
- package/packages/host/dist/sessions/turn.d.ts +15 -58
- package/packages/host/dist/sessions/turn.js +19 -358
- package/packages/host/dist/sessions/turn.js.map +1 -1
- package/packages/host/dist/sessions.d.ts +10 -7
- package/packages/host/dist/sessions.js +31 -79
- package/packages/host/dist/sessions.js.map +1 -1
- package/packages/host/dist/settle.d.ts +30 -2
- package/packages/host/dist/settle.js +94 -49
- package/packages/host/dist/settle.js.map +1 -1
- package/packages/host/dist/setupprefs.d.ts +26 -1
- package/packages/host/dist/setupprefs.js +49 -1
- package/packages/host/dist/setupprefs.js.map +1 -1
- package/packages/host/dist/setupwatch.d.ts +10 -8
- package/packages/host/dist/setupwatch.js +19 -16
- package/packages/host/dist/setupwatch.js.map +1 -1
- package/packages/host/dist/sidecar/sidecarname.d.ts +2 -0
- package/packages/host/dist/sidecar/sidecarname.js +5 -1
- package/packages/host/dist/sidecar/sidecarname.js.map +1 -1
- package/packages/host/dist/sidecar/sidecarroute.d.ts +1 -1
- package/packages/host/dist/sidecar/sidecarroute.js +5 -0
- package/packages/host/dist/sidecar/sidecarroute.js.map +1 -1
- package/packages/host/dist/sidecar.d.ts +1 -1
- package/packages/host/dist/sidecar.js +1 -1
- package/packages/host/dist/sidecar.js.map +1 -1
- package/packages/host/dist/tokenscan.d.ts +4 -4
- package/packages/host/dist/tokenscan.js +18 -37
- package/packages/host/dist/tokenscan.js.map +1 -1
- package/packages/host/dist/tokenstats.js +16 -18
- package/packages/host/dist/tokenstats.js.map +1 -1
- package/packages/host/dist/transcript/transcriptparse.js +17 -26
- package/packages/host/dist/transcript/transcriptparse.js.map +1 -1
- package/packages/host/dist/transcript/transcriptturns.d.ts +29 -0
- package/packages/host/dist/transcript/transcriptturns.js +27 -0
- package/packages/host/dist/transcript/transcriptturns.js.map +1 -1
- package/packages/host/dist/transcript.d.ts +1 -1
- package/packages/host/dist/transcript.js +1 -1
- package/packages/host/dist/transcript.js.map +1 -1
- package/packages/host/dist/usagesources.d.ts +1 -1
- package/packages/host/dist/usagesources.js +7 -2
- package/packages/host/dist/usagesources.js.map +1 -1
- package/packages/host/dist/visualskill.js +2 -2
- package/packages/host/dist/weekburn.d.ts +79 -0
- package/packages/host/dist/weekburn.js +276 -0
- package/packages/host/dist/weekburn.js.map +1 -0
- package/packages/host/dist/worktreeleftover.d.ts +9 -0
- package/packages/host/dist/worktreeleftover.js +17 -1
- package/packages/host/dist/worktreeleftover.js.map +1 -1
- package/packages/web/dist/assets/demo-DsZGy-MC.js +24 -0
- package/packages/web/dist/assets/icons-eqlvjswV.js +1 -0
- package/packages/web/dist/assets/index-GHwJuQb3.js +169 -0
- package/packages/web/dist/assets/index-VzDSZwwH.css +1 -0
- package/packages/web/dist/assets/shared-BWk5jXWb.js +49 -0
- package/packages/web/dist/assets/sheets-Dj-0m0DB.js +232 -0
- package/packages/web/dist/assets/{sheets-Bjv2L-cG.css → sheets-DoUhPGK0.css} +1 -1
- package/packages/web/dist/build-id.txt +1 -1
- package/packages/web/dist/buildstamp.json +1 -0
- package/packages/web/dist/index.html +7 -7
- package/packages/web/dist/sw.js +18 -3
- package/release.json +7 -4
- package/scripts/windows/wsl-setup.sh +10 -1
- package/tools/repohealth/constants.mjs +21 -1
- package/tools/repohealth/fixture.json +493 -30
- package/tools/repohealth/lang/typescript-resolve.mjs +354 -0
- package/tools/repohealth/metrics/graph.mjs +258 -0
- package/tools/repohealth/metrics/size.mjs +1 -1
- package/tools/repohealth/own.mjs +4 -4
- package/tools/repohealth/packs/c.mjs +4 -0
- package/tools/repohealth/packs/common.mjs +4 -0
- package/tools/repohealth/packs/dart.mjs +4 -0
- package/tools/repohealth/packs/kotlin.mjs +8 -0
- package/tools/repohealth/packs/python.mjs +8 -0
- package/tools/repohealth/packs/shell.mjs +4 -0
- package/tools/repohealth/packs/typescript.mjs +278 -7
- package/tools/repohealth/readings.mjs +39 -0
- package/tools/repohealth/series.mjs +1 -0
- package/tools/repohealth/snapshot.mjs +14 -0
- package/tools/repohealth/types.mjs +12 -0
- package/tools/repohealth.mjs +2 -0
- package/packages/web/dist/assets/demo-CXlqlYE4.js +0 -23
- package/packages/web/dist/assets/icons-BbqDBVjw.js +0 -1
- package/packages/web/dist/assets/index-CgPoyb3Y.css +0 -1
- package/packages/web/dist/assets/index-D5JKj8DK.js +0 -169
- package/packages/web/dist/assets/shared-eyaskl5l.js +0 -47
- package/packages/web/dist/assets/sheets-BzzL2re1.js +0 -204
|
@@ -30,10 +30,16 @@ import { InstallLogStore } from "./installlog.js";
|
|
|
30
30
|
import { SettingsStore } from "./settings.js";
|
|
31
31
|
import { PushManager } from "./push.js";
|
|
32
32
|
import { NotifyPrefsStore } from "./notifyprefs.js";
|
|
33
|
+
import { AttentionStore } from "./attentionstore.js";
|
|
34
|
+
import { setPrNotify } from "./prs.js";
|
|
35
|
+
import { setGitOutcomeSink } from "./git.js";
|
|
36
|
+
import { reportExplainOutcome, reportGitOutcome, startPushFailureWatch } from "./gitnotify.js";
|
|
37
|
+
import { setExplainSink } from "./explainjob.js";
|
|
33
38
|
import { UpdateChecker } from "./update.js";
|
|
34
39
|
import { createPluginUpdates, createUpdateApplier } from "./updates/wire.js";
|
|
35
40
|
import { SetupWatcher } from "./setupwatch.js";
|
|
36
41
|
import { createHealthWatch } from "./healthwatch.js";
|
|
42
|
+
import { createExposurePush } from "./exposurepush.js";
|
|
37
43
|
import { startDiskWatch } from "./diskwatch.js";
|
|
38
44
|
import { NetStats } from "./netstats.js";
|
|
39
45
|
import { DecisionLog } from "./decisionlog.js";
|
|
@@ -48,7 +54,9 @@ import { UiStats } from "./uistats.js";
|
|
|
48
54
|
import { UsageChecker } from "./usage.js";
|
|
49
55
|
import { createUsageSources } from "./usagesources.js";
|
|
50
56
|
import { UsageLog } from "./usagelog.js";
|
|
51
|
-
import { createBurnWatch } from "./burnwatch.js";
|
|
57
|
+
import { createBurnWatch, createSourceBurnWatch } from "./burnwatch.js";
|
|
58
|
+
import { createWeekBurn } from "./weekburn.js";
|
|
59
|
+
import { cachedTargets, discoverTargets } from "./repos.js";
|
|
52
60
|
import { costMeta } from "./costwindow.js";
|
|
53
61
|
import { hostStateDir } from "./branddirs.js";
|
|
54
62
|
import { BudgetStore } from "./budget.js";
|
|
@@ -146,13 +154,19 @@ installChecklistStores(ROOT);
|
|
|
146
154
|
/** Who is connected and how anything reaches them — sockets, `send`/`broadcast`,
|
|
147
155
|
* auth re-evaluation, the watched set, the notification feed and `notify()`.
|
|
148
156
|
* See `server/clients.ts`. */
|
|
149
|
-
const { attached, clients, wsKind, wsToken, wsDevice, wsRole, closeDevice, socketAuthorized, authStateFor, enforceAuth, broadcastAuthState, recomputeWatched, isAttachedToSomeone, send, broadcast, notifications, notify, } = createClients({ auth, notifyPrefs, push, sessions });
|
|
157
|
+
const { attached, clients, wsKind, wsToken, wsDevice, wsRole, closeDevice, socketAuthorized, authStateFor, enforceAuth, broadcastAuthState, recomputeWatched, isAttachedToSomeone, send, broadcast, notifications, notify, notificationFeed, clearNotifications, handleNotification, resolveAttention, resolveAttentionPrefix, attention, } = createClients({ auth, notifyPrefs, push, sessions, attention: new AttentionStore(ROOT) });
|
|
150
158
|
ctx.healthWatch = createHealthWatch(ROOT, notify);
|
|
151
159
|
Object.assign(ctx, {
|
|
152
160
|
attached, clients, wsKind, wsToken, wsDevice, wsRole, closeDevice, socketAuthorized,
|
|
153
161
|
authStateFor, enforceAuth, broadcastAuthState, recomputeWatched, isAttachedToSomeone,
|
|
154
|
-
send, broadcast, notifications, notify,
|
|
162
|
+
send, broadcast, notifications, notify, notificationFeed, clearNotifications, handleNotification,
|
|
163
|
+
resolveAttention, resolveAttentionPrefix, attention,
|
|
155
164
|
});
|
|
165
|
+
// A host-run pull or push that ended is told once (`gitnotify.ts`): failed ⇒ attention, pushed ⇒ a receipt; a push from a terminal is no outcome, so a minute tick asks git about each open push failure.
|
|
166
|
+
setGitOutcomeSink((o) => reportGitOutcome(o, ctx));
|
|
167
|
+
const stopPushWatch = DOCTOR ? undefined : startPushFailureWatch({ attention: ctx.attention, resolveAttention: (k, n) => ctx.resolveAttention(k, n), worktrees: async () => new Map((await cachedTargets(ROOT)).map((t) => [t.id, t.worktreePath])) });
|
|
168
|
+
setExplainSink((o) => reportExplainOutcome(o, ctx));
|
|
169
|
+
setPrNotify(ctx); // PR changes seen by the leased poll (prs.ts) ride the git notify path
|
|
156
170
|
const deliveries = createDeliveries(ctx);
|
|
157
171
|
ctx.startPrompt = deliveries.startPrompt;
|
|
158
172
|
ctx.deliverChain = deliveries.deliverChain;
|
|
@@ -168,7 +182,10 @@ ctx.deliverInput = deliveries.deliverInput;
|
|
|
168
182
|
* week. The record is fed from ten call sites (`clihealth.ts` names them); the
|
|
169
183
|
* singleton is what stops call site eleven from forgetting.
|
|
170
184
|
*/
|
|
171
|
-
const cliHealthStore = new CliHealthStore(ROOT, (health, rollup) => broadcast({ t: "clihealth", health, rollup, source: cliHealthStore.source() }),
|
|
185
|
+
const cliHealthStore = new CliHealthStore(ROOT, (health, rollup) => broadcast({ t: "clihealth", health, rollup, source: cliHealthStore.source() }),
|
|
186
|
+
// Keyed per signal so a recovery can resolve it (tag `clihealth-<id>` → key `cli:<id>`).
|
|
187
|
+
(kind, p) => notify(kind, p.tag.startsWith("clihealth-") ? { ...p, key: `cli:${p.tag.slice(10)}` } : p));
|
|
188
|
+
cliHealthStore.onRecovered = (id) => { ctx.resolveAttention(`cli:${id}`, "recovered"); };
|
|
172
189
|
setCliHealth(cliHealthStore);
|
|
173
190
|
ctx.cliHealthStore = cliHealthStore;
|
|
174
191
|
/**
|
|
@@ -392,15 +409,28 @@ ctx.uiStats = uiStats;
|
|
|
392
409
|
*/
|
|
393
410
|
const usageLog = new UsageLog(ROOT);
|
|
394
411
|
const burnWatch = createBurnWatch({ usageLog, costWindow: (a, b) => tokenStats.costWindow(a, b, costMeta(sessions, intents), 60_000), notify, stateDir: hostStateDir(ROOT) });
|
|
412
|
+
// The week-end burn (weekburn.ts): the weekly pick, its lazy backlog packages and the once-a-week nudge.
|
|
413
|
+
// Closures, not values: `usage` and `billingWire` are defined below and read only when the callback runs.
|
|
414
|
+
const weekBurn = createWeekBurn({
|
|
415
|
+
stateDir: hostStateDir(ROOT), usage: () => usage.get(), usageLog, subscription: () => billingWire.scraped(),
|
|
416
|
+
rows: () => intents.list(), repos: () => discoverTargets(ROOT),
|
|
417
|
+
add: (text, repoDir, label, opts) => backlog.add(text, repoDir, label, undefined, true, opts),
|
|
418
|
+
health: (dir) => ctx.healthWatch.summaryFor(dir), notify, notifyOn: () => notifyEnabled(notifyPrefs.get(), "weekburn"),
|
|
419
|
+
changed: () => syncUsagePolling(),
|
|
420
|
+
});
|
|
421
|
+
ctx.weekBurn = weekBurn;
|
|
395
422
|
const usage = new UsageChecker(ROOT, (u) => {
|
|
396
423
|
usageLog.note(u);
|
|
397
424
|
void burnWatch.observe(u);
|
|
425
|
+
void weekBurn.observe(u);
|
|
398
426
|
usageSources.publish(); // `usage` + every source's `readings` (usagesources.ts)
|
|
399
427
|
// A fresh reading can flip the budget either way (over, or back under after a
|
|
400
428
|
// reset): publishing it HERE makes the phone's queue rows explain themselves unasked.
|
|
401
429
|
ctx.publishBudget();
|
|
402
430
|
});
|
|
403
|
-
const
|
|
431
|
+
const sourceBurn = createSourceBurnWatch({ history: (s) => usageSources.history(s)?.samples ?? null, notify, stateDir: hostStateDir(ROOT) }); /* the burn push per non-claude source, on each fresh reading */
|
|
432
|
+
const usageSources = createUsageSources(ROOT, () => usage.get(), broadcast, (r) => { if (notifyEnabled(notifyPrefs.get(), "burn"))
|
|
433
|
+
void sourceBurn.observe(r); });
|
|
404
434
|
ctx.usageLog = usageLog;
|
|
405
435
|
ctx.usage = usage;
|
|
406
436
|
ctx.usageSources = usageSources;
|
|
@@ -424,7 +454,7 @@ usage.seed(usageLog.last());
|
|
|
424
454
|
// Billing profile + dollar-period spend (server/billingwire.ts); the budget reads them.
|
|
425
455
|
const billingWire = createBillingWire(ctx);
|
|
426
456
|
ctx.billing = billingWire.billing;
|
|
427
|
-
const budget = new BudgetStore(ROOT, () => usage.get(), () => billingWire.spend(), () => billingWire.scraped());
|
|
457
|
+
const budget = new BudgetStore(ROOT, () => usage.get(), () => billingWire.spend(), () => billingWire.scraped(), () => billingWire.spendWhy());
|
|
428
458
|
ctx.budget = budget;
|
|
429
459
|
setSpendPeriodSource(() => budget.usdPeriods());
|
|
430
460
|
ctx.publishBudget = billingWire.publishBudget; // tells clients the verdict, only when it moved
|
|
@@ -441,9 +471,10 @@ function syncUsagePolling() {
|
|
|
441
471
|
const cfg = budget.get();
|
|
442
472
|
const forBudget = cfg.enabled && (cfg.sessionMax < 100 || (cfg.weeklyMax != null && cfg.weeklyMax < 100) || (cfg.leftoverMax != null && cfg.leftoverMax < 100));
|
|
443
473
|
billingWire.syncSpendFold();
|
|
444
|
-
const forBurn = burnWatch.armed() && notifyEnabled(notifyPrefs.get(), "burn"); // the burn push only sees polled readings
|
|
474
|
+
const forBurn = (burnWatch.armed() || sourceBurn.armed()) && notifyEnabled(notifyPrefs.get(), "burn"); // the burn push only sees polled readings
|
|
445
475
|
// A known non-subscription account has no /usage screen worth a `claude` spawn; `unknown` polls as before.
|
|
446
|
-
const
|
|
476
|
+
const forWeekBurn = weekBurn.armed(); // a pick for this week, `recurring`, or this week's nudge still possible
|
|
477
|
+
const gated = forPlugins || forBudget || forBurn || forWeekBurn || sessions.wantsBudgetUsage();
|
|
447
478
|
usageSources.setPolling(gated); // other sources: same predicate, not claude's billing gate
|
|
448
479
|
if (!billingWire.scraped())
|
|
449
480
|
usage.stopPolling();
|
|
@@ -496,11 +527,11 @@ if (acks.lost)
|
|
|
496
527
|
acks.onWriteError = (message) => notify("undelivered", ackWriteNotice(message)); // …and so is one that stopped reaching the disk
|
|
497
528
|
// So is a lost password file (auth.ts: fails closed) and an unreadable or newer intent store (intents/disk.ts).
|
|
498
529
|
if (auth.lost)
|
|
499
|
-
notify("info", authLostNotice(auth.lost));
|
|
530
|
+
notify("info", { ...authLostNotice(auth.lost), level: "attention" });
|
|
500
531
|
{
|
|
501
532
|
const n = intents.storeNotice();
|
|
502
533
|
if (n)
|
|
503
|
-
notify("backlog", n);
|
|
534
|
+
notify("backlog", { ...n, level: "attention" });
|
|
504
535
|
}
|
|
505
536
|
/**
|
|
506
537
|
* Connectivity + delivery telemetry. Counts the things you can only see in
|
|
@@ -647,7 +678,9 @@ async function main() {
|
|
|
647
678
|
if (!DOCTOR)
|
|
648
679
|
void ctx.healthWatch.start(); // setup checklist swept; health index cached, engine re-run weekly
|
|
649
680
|
if (!DOCTOR)
|
|
650
|
-
|
|
681
|
+
createExposurePush(ROOT, notify, (k, n) => ctx.resolveAttention(k, n)).start(); // one push per new exposure alert on a watched repo; boot sweep after 30 s, then every 10 min
|
|
682
|
+
if (!DOCTOR)
|
|
683
|
+
startDiskWatch({ notify, recovered: () => { ctx.resolveAttention("disk", "disk space back"); } }); // low disk: one push per level (macOS ends Tailscale to free space)
|
|
651
684
|
const attachWs = (server) => {
|
|
652
685
|
// permessage-deflate: the socket carries base64'd PTY output, and a claude
|
|
653
686
|
// TUI repaint is tens of KB of highly repetitive ANSI — the single largest
|
|
@@ -686,7 +719,7 @@ async function main() {
|
|
|
686
719
|
void runChecks(doctorInput, true, true, true).then(printBootSummary).catch(() => { });
|
|
687
720
|
}
|
|
688
721
|
}
|
|
689
|
-
installShutdown(ctx);
|
|
722
|
+
installShutdown(ctx, [stopPushWatch]);
|
|
690
723
|
main().catch((err) => {
|
|
691
724
|
console.error(`${logTag} fatal`, err);
|
|
692
725
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { networkInterfaces } from "node:os";
|
|
1
2
|
/**
|
|
2
3
|
* Find the local Tailscale IPv4 (100.64.0.0/10 CGNAT range) if present.
|
|
3
4
|
* Mirrors the trick the Python drop server uses: enumerate interfaces and
|
|
@@ -47,6 +48,7 @@ export declare function requestPeerKind(remoteAddress: string | undefined | null
|
|
|
47
48
|
/** This desktop's name as a person would call it: the OS hostname, minus the
|
|
48
49
|
* `.local` mDNS suffix macOS appends. */
|
|
49
50
|
export declare function hostName(): string;
|
|
51
|
+
export declare function lanIpsFrom(ifaces: ReturnType<typeof networkInterfaces>): string[];
|
|
50
52
|
export declare function lanIps(): string[];
|
|
51
53
|
export declare function tailscaleIp(): Promise<string | null>;
|
|
52
54
|
/**
|
|
@@ -96,9 +96,15 @@ export function requestPeerKind(remoteAddress, headers) {
|
|
|
96
96
|
export function hostName() {
|
|
97
97
|
return hostname().replace(/\.local$/i, "") || "desktop";
|
|
98
98
|
}
|
|
99
|
-
|
|
99
|
+
/** Interfaces a phone on the same Wi-Fi can never reach: VM and container
|
|
100
|
+
* bridges (OrbStack/UTM `bridge*` + `vmenet*`, Docker, libvirt, VirtualBox,
|
|
101
|
+
* VMware) and tunnels. Offering their addresses as a LAN link is a dead chip. */
|
|
102
|
+
const VIRTUAL_IFACE = /^(bridge|vmenet|vmnet|vboxnet|docker|br-|veth|virbr|utun|tun|tap|wg|zt|cni|flannel|lxc|lxd)/i;
|
|
103
|
+
export function lanIpsFrom(ifaces) {
|
|
100
104
|
const out = [];
|
|
101
|
-
for (const addrs of Object.
|
|
105
|
+
for (const [name, addrs] of Object.entries(ifaces)) {
|
|
106
|
+
if (VIRTUAL_IFACE.test(name))
|
|
107
|
+
continue;
|
|
102
108
|
for (const a of addrs ?? []) {
|
|
103
109
|
if (a.family === "IPv4" && !a.internal && !a.address.startsWith("100."))
|
|
104
110
|
out.push(a.address);
|
|
@@ -106,6 +112,9 @@ export function lanIps() {
|
|
|
106
112
|
}
|
|
107
113
|
return out;
|
|
108
114
|
}
|
|
115
|
+
export function lanIps() {
|
|
116
|
+
return lanIpsFrom(networkInterfaces());
|
|
117
|
+
}
|
|
109
118
|
export async function tailscaleIp() {
|
|
110
119
|
const candidates = new Set();
|
|
111
120
|
for (const addrs of Object.values(networkInterfaces())) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net.js","sourceRoot":"","sources":["../src/net.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"net.js","sourceRoot":"","sources":["../src/net.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAetC;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAA+B;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IACnF,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;YAAE,OAAO,WAAW,CAAC;QAClE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9G,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK;IAC3F,0BAA0B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,wBAAwB;CAClI,CAAC;AAEF,mHAAmH;AACnH,MAAM,UAAU,SAAS,CAAC,OAA4C;IACpE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,8GAA8G;AAC9G,MAAM,UAAU,iBAAiB,CAAC,CAAgC;IAChE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACpG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAiC,EAAE,OAAgE;IACrI,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,UAAU;QAAE,OAAO,2DAA2D,CAAC;IAC/G,IAAI,SAAS,CAAC,OAAO,CAAC;QAAE,OAAO,iEAAiE,CAAC;IACjG,6FAA6F;IAC7F,6EAA6E;IAC7E,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,gFAAgF,CAAC;IAC9H,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,aAAwC,EAAE,OAAgE;IACxI,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrC,8EAA8E;IAC9E,6EAA6E;IAC7E,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,0BAA0B,CAAC,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC9F,IAAI,IAAI,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IACxG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;0CAC0C;AAC1C,MAAM,UAAU,QAAQ;IACtB,OAAO,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;AAC1D,CAAC;AAED;;kFAEkF;AAClF,MAAM,aAAa,GAAG,8FAA8F,CAAC;AAErH,MAAM,UAAU,UAAU,CAAC,MAA4C;IACrE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACvC,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;gBAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC;gBAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACjD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC;YACH,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC;oBACH,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,OAAO;wBAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC;QACT,CAAC;QACD,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG,sDAAsD,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAEvC,4FAA4F;IAC5F,0FAA0F;IAC1F,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC;YAAC,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;QACrI,MAAM,GAAG,GAAG,8CAA8C,CAAC;QAC3D,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC,GAAG,GAAG,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QAAC,CAAC;QACpG,+FAA+F;QAC/F,uFAAuF;QACvF,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gIAAgI;AAChI,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAC;AAC/D,KAAK,UAAU,cAAc,CAAC,CAAS;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC;IAC1D,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,GAAG,GAAG,MAAM,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAA6B,CAAC;QACpE,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAG,mCAAmC;IAC/E,CAAC;IAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,GAAG,GAAG,MAAM,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAE5B,CAAC;QACF,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,CAAC,CAAC,KAAK;oBAAE,SAAS;gBACvB,IAAI,MAAW,CAAC;gBAChB,IAAI,CAAC;oBAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBACtD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI;oBAAE,SAAS;gBAC3C,gEAAgE;gBAChE,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,QAAQ,EAAE,CAAC;YAChG,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The short line the phone shows for a transient API error, or null when the
|
|
3
|
+
* text is not one. The `API Error:` prefix is required (it is what marks the
|
|
4
|
+
* CLI's give-up) and dropped from the label; the label is the first sentence,
|
|
5
|
+
* capped at 100 chars.
|
|
6
|
+
*/
|
|
7
|
+
export declare function transientApiError(text: string): string | null;
|
|
8
|
+
export interface NetLogVerdict {
|
|
9
|
+
/**
|
|
10
|
+
* `transient`: the NEWEST assistant row is a transient give-up.
|
|
11
|
+
* `clear`: the newest assistant row is anything else (a served reply, a wall, a stub error).
|
|
12
|
+
* `unknown`: no log, or no assistant row in the tail — nothing to say.
|
|
13
|
+
*/
|
|
14
|
+
state: "transient" | "clear" | "unknown";
|
|
15
|
+
/** When the transient row was written (epoch ms); null unless `transient`. */
|
|
16
|
+
at: number | null;
|
|
17
|
+
/** The phone's short line; null unless `transient`. */
|
|
18
|
+
error: string | null;
|
|
19
|
+
}
|
|
20
|
+
/** The verdict of one parsed row, or null when the row is not an assistant row. */
|
|
21
|
+
export declare function netRowVerdict(row: Record<string, unknown>): NetLogVerdict | null;
|
|
22
|
+
/** What the conversation log says about the NEWEST assistant row. */
|
|
23
|
+
export declare function readNetLog(path: string): NetLogVerdict;
|
|
24
|
+
/** Default wait before retry n (0-based): quick first, then widening. */
|
|
25
|
+
export declare const NET_LADDER_MS: readonly number[];
|
|
26
|
+
/** Default number of retries before giving up and saying so. */
|
|
27
|
+
export declare const NET_MAX_ATTEMPTS = 8;
|
|
28
|
+
/**
|
|
29
|
+
* The wait before retry `attempt` (0-based count of retries ALREADY sent), or
|
|
30
|
+
* null once `max` retries have been sent — the cap. Past the ladder's end the
|
|
31
|
+
* last rung repeats.
|
|
32
|
+
*/
|
|
33
|
+
export declare function netRetryDelay(attempt: number, max?: number, ladder?: readonly number[]): number | null;
|
|
34
|
+
/**
|
|
35
|
+
* Is this transient row a NEW give-up, i.e. one the turn that just ended wrote?
|
|
36
|
+
* It must be stamped at/after that turn started (minus a little clock slack) —
|
|
37
|
+
* else it is an old error still newest in a log whose turn ended for some other
|
|
38
|
+
* reason (an Esc, a hook), and typing `continue` there would be a prompt nobody sent.
|
|
39
|
+
*/
|
|
40
|
+
export declare function freshGiveUp(v: NetLogVerdict, turnStartedAt: number | undefined, slackMs?: number): boolean;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Did the last turn end because the CLI gave up on a TRANSIENT API error —
|
|
3
|
+
* asked of the CLI's own log, never of the screen.
|
|
4
|
+
*
|
|
5
|
+
* The CLI retries a failed request itself ("attempt 1/10"), but during a DNS or
|
|
6
|
+
* Wi-Fi outage that budget runs out in seconds to minutes and the TURN ENDS. The
|
|
7
|
+
* give-up is written to the conversation jsonl as a DATED synthetic assistant row:
|
|
8
|
+
*
|
|
9
|
+
* {"type":"assistant","timestamp":"…","isApiErrorMessage":true,"error":"server_error",
|
|
10
|
+
* "message":{"model":"<synthetic>","content":[{"type":"text","text":"API Error: …"}]}}
|
|
11
|
+
*
|
|
12
|
+
* Two facts together make a row transient here, and both are needed:
|
|
13
|
+
* - `error === "server_error"` — a stub's `400` carries `unknown`, and nothing
|
|
14
|
+
* but the CLI's own classification is trusted for which side failed;
|
|
15
|
+
* - the TEXT has a known transient shape (`transientApiError`): a network errno,
|
|
16
|
+
* can't reach, connection lost/dropped/refused, no response, 5xx/529.
|
|
17
|
+
* A spend wall is an API-error row too: `detectSpendText` claims it first, because
|
|
18
|
+
* a wall is `limitlog.ts`/`spendwall.ts`'s and a retry there spends nothing but
|
|
19
|
+
* attempts. A `quotaLimits` rejection is a usage limit — never ours. An unknown
|
|
20
|
+
* shape is no retry: degrade to absent, never guess.
|
|
21
|
+
*
|
|
22
|
+
* The ladder is here too (`netRetryDelay`), pure, like `limitretry.ts`'s.
|
|
23
|
+
*/
|
|
24
|
+
import { closeSync, openSync, readSync, statSync } from "node:fs";
|
|
25
|
+
import { stamp } from "./convlog.js";
|
|
26
|
+
import { detectSpendText } from "./limit.js";
|
|
27
|
+
/** A give-up is the last row of its turn, so the answer is always near the end. */
|
|
28
|
+
const MAX_READ = 256 * 1024;
|
|
29
|
+
/**
|
|
30
|
+
* The transient shapes, each a phrase the CLI prints. Kept as a list so a new
|
|
31
|
+
* wording is one line and a test row. Case-insensitive; matched against the
|
|
32
|
+
* text AFTER the `API Error:` prefix.
|
|
33
|
+
*/
|
|
34
|
+
const TRANSIENT = [
|
|
35
|
+
/\b(?:ENOTFOUND|EAI_AGAIN|ECONNRESET|ECONNREFUSED|ECONNABORTED|ETIMEDOUT|ENETUNREACH|ENETDOWN|EHOSTUNREACH|EPIPE|UND_ERR_[A-Z_]+)\b/,
|
|
36
|
+
/\bcan(?:'|’)?t reach the API\b|\bcannot reach the API\b|\bunable to (?:connect|reach)\b/i,
|
|
37
|
+
/\bconnection (?:lost|dropped|refused|reset|error|closed|timed out)\b/i,
|
|
38
|
+
/\bno response from (?:the )?API\b/i,
|
|
39
|
+
/\brequest timed out\b|\btimed out waiting\b/i,
|
|
40
|
+
/^(?:5\d\d)\b/,
|
|
41
|
+
/\boverloaded\b|\bservice unavailable\b|\bbad gateway\b|\bgateway time-?out\b|\binternal server error\b/i,
|
|
42
|
+
];
|
|
43
|
+
/**
|
|
44
|
+
* The short line the phone shows for a transient API error, or null when the
|
|
45
|
+
* text is not one. The `API Error:` prefix is required (it is what marks the
|
|
46
|
+
* CLI's give-up) and dropped from the label; the label is the first sentence,
|
|
47
|
+
* capped at 100 chars.
|
|
48
|
+
*/
|
|
49
|
+
export function transientApiError(text) {
|
|
50
|
+
const m = /^\s*API Error:\s*([\s\S]*)$/.exec(text);
|
|
51
|
+
if (!m)
|
|
52
|
+
return null;
|
|
53
|
+
const body = m[1].trim();
|
|
54
|
+
if (!body || detectSpendText(text).spend)
|
|
55
|
+
return null;
|
|
56
|
+
if (!TRANSIENT.some((re) => re.test(body)))
|
|
57
|
+
return null;
|
|
58
|
+
const first = body.split("\n")[0];
|
|
59
|
+
// First sentence, but keep a trailing errno in parentheses: "… DNS (ENOTFOUND)".
|
|
60
|
+
const cut = /^(.*?\.)(?:\s|$)/.exec(first);
|
|
61
|
+
const label = (cut && cut[1].length >= 12 ? cut[1] : first).trim();
|
|
62
|
+
return label.length > 100 ? label.slice(0, 99) + "…" : label;
|
|
63
|
+
}
|
|
64
|
+
const UNKNOWN = { state: "unknown", at: null, error: null };
|
|
65
|
+
const CLEAR = { state: "clear", at: null, error: null };
|
|
66
|
+
/** The verdict of one parsed row, or null when the row is not an assistant row. */
|
|
67
|
+
export function netRowVerdict(row) {
|
|
68
|
+
if (row.type !== "assistant")
|
|
69
|
+
return null;
|
|
70
|
+
const msg = row.message;
|
|
71
|
+
if (msg?.model !== "<synthetic>" || row.isApiErrorMessage !== true)
|
|
72
|
+
return CLEAR;
|
|
73
|
+
if (row.error !== "server_error" || row.quotaLimits)
|
|
74
|
+
return CLEAR;
|
|
75
|
+
const error = transientApiError(rowText(row));
|
|
76
|
+
const at = stamp(row);
|
|
77
|
+
// Undated is not a give-up we can place against our own attempts: absent.
|
|
78
|
+
if (!error || at == null)
|
|
79
|
+
return CLEAR;
|
|
80
|
+
return { state: "transient", at, error };
|
|
81
|
+
}
|
|
82
|
+
/** What the conversation log says about the NEWEST assistant row. */
|
|
83
|
+
export function readNetLog(path) {
|
|
84
|
+
let st;
|
|
85
|
+
try {
|
|
86
|
+
st = statSync(path);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return UNKNOWN;
|
|
90
|
+
}
|
|
91
|
+
const start = Math.max(0, st.size - MAX_READ);
|
|
92
|
+
const len = st.size - start;
|
|
93
|
+
if (len <= 0)
|
|
94
|
+
return UNKNOWN;
|
|
95
|
+
const buf = Buffer.allocUnsafe(len);
|
|
96
|
+
let fd;
|
|
97
|
+
try {
|
|
98
|
+
fd = openSync(path, "r");
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return UNKNOWN;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
readSync(fd, buf, 0, len, start);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return UNKNOWN;
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
closeSync(fd);
|
|
111
|
+
}
|
|
112
|
+
const lines = buf.toString("utf8").split("\n");
|
|
113
|
+
if (start > 0)
|
|
114
|
+
lines.shift(); // a tail read starts mid-record
|
|
115
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
116
|
+
const line = lines[i];
|
|
117
|
+
if (!line || line.charCodeAt(0) !== 123 /* { */ || !line.includes('"assistant"'))
|
|
118
|
+
continue;
|
|
119
|
+
let row;
|
|
120
|
+
try {
|
|
121
|
+
row = JSON.parse(line);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const v = netRowVerdict(row);
|
|
127
|
+
if (v)
|
|
128
|
+
return v;
|
|
129
|
+
}
|
|
130
|
+
return UNKNOWN;
|
|
131
|
+
}
|
|
132
|
+
function rowText(row) {
|
|
133
|
+
const c = row.message?.content;
|
|
134
|
+
if (typeof c === "string")
|
|
135
|
+
return c;
|
|
136
|
+
if (!Array.isArray(c))
|
|
137
|
+
return "";
|
|
138
|
+
return c.map((b) => (b && typeof b.text === "string" ? b.text : "")).filter(Boolean).join("\n");
|
|
139
|
+
}
|
|
140
|
+
// ── The ladder ──────────────────────────────────────────────────────
|
|
141
|
+
/** Default wait before retry n (0-based): quick first, then widening. */
|
|
142
|
+
export const NET_LADDER_MS = [20_000, 60_000, 120_000, 300_000, 600_000, 900_000];
|
|
143
|
+
/** Default number of retries before giving up and saying so. */
|
|
144
|
+
export const NET_MAX_ATTEMPTS = 8;
|
|
145
|
+
/**
|
|
146
|
+
* The wait before retry `attempt` (0-based count of retries ALREADY sent), or
|
|
147
|
+
* null once `max` retries have been sent — the cap. Past the ladder's end the
|
|
148
|
+
* last rung repeats.
|
|
149
|
+
*/
|
|
150
|
+
export function netRetryDelay(attempt, max = NET_MAX_ATTEMPTS, ladder = NET_LADDER_MS) {
|
|
151
|
+
if (!(attempt >= 0) || attempt >= max)
|
|
152
|
+
return null;
|
|
153
|
+
const rungs = ladder.length ? ladder : NET_LADDER_MS;
|
|
154
|
+
return rungs[Math.min(attempt, rungs.length - 1)];
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Is this transient row a NEW give-up, i.e. one the turn that just ended wrote?
|
|
158
|
+
* It must be stamped at/after that turn started (minus a little clock slack) —
|
|
159
|
+
* else it is an old error still newest in a log whose turn ended for some other
|
|
160
|
+
* reason (an Esc, a hook), and typing `continue` there would be a prompt nobody sent.
|
|
161
|
+
*/
|
|
162
|
+
export function freshGiveUp(v, turnStartedAt, slackMs = 2000) {
|
|
163
|
+
return v.state === "transient" && v.at != null && turnStartedAt != null && turnStartedAt > 0 && v.at >= turnStartedAt - slackMs;
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=netlog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"netlog.js","sourceRoot":"","sources":["../src/netlog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type NetRetryConfig } from "@waterplane/shared";
|
|
2
|
+
/** The gate `apiretry.ts` asks before arming a retry. */
|
|
3
|
+
export declare function netRetryOn(): boolean;
|
|
4
|
+
/** What `netretry.config` carries. */
|
|
5
|
+
export declare function netRetryConfig(): NetRetryConfig;
|
|
6
|
+
/** Save the switch. A failed write keeps the in-memory value for this process. */
|
|
7
|
+
export declare function setNetRetry(enabled: boolean): NetRetryConfig;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The person's switch for the network-error retry (`sessions/apiretry.ts`,
|
|
3
|
+
* R-connection-025), persisted to `<state dir>/netretry.json` the way the
|
|
4
|
+
* halt latch is (`halt.ts`): module state, read once, written atomically.
|
|
5
|
+
*
|
|
6
|
+
* - Absent file ⇒ ON (the default; a host that was never switched has no file).
|
|
7
|
+
* A present-but-unreadable file is moved aside by `readJsonGuarded` and reads
|
|
8
|
+
* as the default too: the retry is the safe side of an outage.
|
|
9
|
+
* - `WATERPLANE_NET_RETRY=0` (`NET_RETRY_ENV_ON` below, read once at import) is a HARD
|
|
10
|
+
* override: off whatever the switch says, and `netRetryConfig().envOff` says
|
|
11
|
+
* so for the phone's sentence (shared `netRetryEnvOffText`).
|
|
12
|
+
* - Turning it off cancels every pending retry — that is the caller's (the
|
|
13
|
+
* route), through the slice's own cancel path (`SessionManager.netRetryCancel`).
|
|
14
|
+
*/
|
|
15
|
+
import { existsSync } from "node:fs";
|
|
16
|
+
import { join } from "node:path";
|
|
17
|
+
import { logTag } from "@waterplane/shared";
|
|
18
|
+
import { ROOT, env } from "./env.js";
|
|
19
|
+
import { hostStateDir } from "./branddirs.js";
|
|
20
|
+
import { readJsonGuarded, writeJsonAtomic } from "./jsonstore.js";
|
|
21
|
+
/** The env half: `WATERPLANE_NET_RETRY=0` forces the retry off whatever the switch says. */
|
|
22
|
+
const NET_RETRY_ENV_ON = env("NET_RETRY") !== "0";
|
|
23
|
+
let saved = null;
|
|
24
|
+
const path = () => join(hostStateDir(ROOT), "netretry.json");
|
|
25
|
+
function load() {
|
|
26
|
+
if (saved != null)
|
|
27
|
+
return saved;
|
|
28
|
+
const p = path();
|
|
29
|
+
if (!existsSync(p))
|
|
30
|
+
return (saved = true);
|
|
31
|
+
const v = readJsonGuarded(p, { enabled: true }, (x) => typeof x === "object" && x !== null);
|
|
32
|
+
return (saved = v.enabled !== false);
|
|
33
|
+
}
|
|
34
|
+
/** The gate `apiretry.ts` asks before arming a retry. */
|
|
35
|
+
export function netRetryOn() { return NET_RETRY_ENV_ON && load(); }
|
|
36
|
+
/** What `netretry.config` carries. */
|
|
37
|
+
export function netRetryConfig() {
|
|
38
|
+
return NET_RETRY_ENV_ON ? { enabled: load() } : { enabled: load(), envOff: true };
|
|
39
|
+
}
|
|
40
|
+
/** Save the switch. A failed write keeps the in-memory value for this process. */
|
|
41
|
+
export function setNetRetry(enabled) {
|
|
42
|
+
saved = enabled;
|
|
43
|
+
try {
|
|
44
|
+
writeJsonAtomic(path(), { enabled });
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
console.error(`${logTag} net retry: could not persist the switch (${enabled ? "on" : "off"}) — it holds until this process ends`, e);
|
|
48
|
+
}
|
|
49
|
+
return netRetryConfig();
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=netretrycfg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"netretrycfg.js","sourceRoot":"","sources":["../src/netretrycfg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAuB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAElE,4FAA4F;AAC5F,MAAM,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;AAElD,IAAI,KAAK,GAAmB,IAAI,CAAC;AACjC,MAAM,IAAI,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AAErE,SAAS,IAAI;IACX,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,eAAe,CAAwB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACnH,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,UAAU,KAAc,OAAO,gBAAgB,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAE5E,sCAAsC;AACtC,MAAM,UAAU,cAAc;IAC5B,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpF,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,KAAK,GAAG,OAAO,CAAC;IAChB,IAAI,CAAC;QAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,6CAA6C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,sCAAsC,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;IACnJ,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC"}
|