waterplane 0.1.11 → 0.1.15
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 +81 -0
- package/README.md +47 -23
- package/node_modules/@waterplane/shared/dist/agentfiles.js +27 -3
- package/node_modules/@waterplane/shared/dist/agentfiles.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/alwaysonwords.d.ts +11 -0
- package/node_modules/@waterplane/shared/dist/alwaysonwords.js +29 -5
- package/node_modules/@waterplane/shared/dist/alwaysonwords.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/artifacts.js +5 -1
- package/node_modules/@waterplane/shared/dist/artifacts.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/askrules.d.ts +0 -13
- package/node_modules/@waterplane/shared/dist/askrules.js +2 -1
- package/node_modules/@waterplane/shared/dist/askrules.js.map +1 -1
- 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 +2 -1
- package/node_modules/@waterplane/shared/dist/autocompact.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/block.d.ts +114 -0
- package/node_modules/@waterplane/shared/dist/block.js +104 -0
- package/node_modules/@waterplane/shared/dist/block.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/branchmode.d.ts +8 -2
- package/node_modules/@waterplane/shared/dist/branchmode.js +8 -0
- package/node_modules/@waterplane/shared/dist/branchmode.js.map +1 -1
- 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/buildscan.d.ts +16 -0
- package/node_modules/@waterplane/shared/dist/buildscan.js +73 -7
- package/node_modules/@waterplane/shared/dist/buildscan.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 +16 -0
- package/node_modules/@waterplane/shared/dist/claudeconfig.js +2 -1
- package/node_modules/@waterplane/shared/dist/claudeconfig.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js +1 -1
- package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js.map +1 -1
- 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/clirestart.js +23 -1
- package/node_modules/@waterplane/shared/dist/clirestart.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.js +2 -1
- package/node_modules/@waterplane/shared/dist/desktopfiles.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/dictate.js +1 -1
- package/node_modules/@waterplane/shared/dist/dictate.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/followup.d.ts +1 -1
- package/node_modules/@waterplane/shared/dist/followup.js +8 -6
- package/node_modules/@waterplane/shared/dist/followup.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/healthindex/readings.js +1 -1
- package/node_modules/@waterplane/shared/dist/healthindex/readings.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/healthindex/score.js +3 -1
- package/node_modules/@waterplane/shared/dist/healthindex/score.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/healthindex/words.d.ts +1 -1
- package/node_modules/@waterplane/shared/dist/healthindex/words.js +61 -6
- package/node_modules/@waterplane/shared/dist/healthindex/words.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/hints.js +14 -3
- package/node_modules/@waterplane/shared/dist/hints.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/hosturl.d.ts +0 -24
- package/node_modules/@waterplane/shared/dist/hosturl.js +3 -2
- package/node_modules/@waterplane/shared/dist/hosturl.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/index.d.ts +19 -3
- package/node_modules/@waterplane/shared/dist/index.js +19 -3
- package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/installrow.d.ts +156 -0
- package/node_modules/@waterplane/shared/dist/installrow.js +261 -0
- package/node_modules/@waterplane/shared/dist/installrow.js.map +1 -0
- 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 +9 -0
- package/node_modules/@waterplane/shared/dist/intent/kind.js +9 -0
- package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent/types.d.ts +19 -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.d.ts +2 -1
- package/node_modules/@waterplane/shared/dist/intent/words.js +12 -2
- 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/itempaths.d.ts +0 -10
- package/node_modules/@waterplane/shared/dist/itempaths.js +30 -3
- package/node_modules/@waterplane/shared/dist/itempaths.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/ledgerspan.d.ts +47 -0
- package/node_modules/@waterplane/shared/dist/ledgerspan.js +102 -5
- package/node_modules/@waterplane/shared/dist/ledgerspan.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/lineartrim.d.ts +11 -0
- package/node_modules/@waterplane/shared/dist/lineartrim.js +22 -0
- package/node_modules/@waterplane/shared/dist/lineartrim.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 +63 -2
- package/node_modules/@waterplane/shared/dist/netretry.js +78 -5
- package/node_modules/@waterplane/shared/dist/netretry.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/pairing.js +6 -1
- 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/peer.js +2 -1
- package/node_modules/@waterplane/shared/dist/peer.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +38 -0
- package/node_modules/@waterplane/shared/dist/plugin/manifest.d.ts +23 -0
- package/node_modules/@waterplane/shared/dist/plugin/manifest.js +8 -0
- package/node_modules/@waterplane/shared/dist/plugin/manifest.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/plugin/version.d.ts +7 -1
- package/node_modules/@waterplane/shared/dist/plugin/version.js +7 -1
- package/node_modules/@waterplane/shared/dist/plugin/version.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/queue/queuelane.d.ts +23 -2
- package/node_modules/@waterplane/shared/dist/queue/queuelane.js +16 -4
- package/node_modules/@waterplane/shared/dist/queue/queuelane.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/queue/queueserial.d.ts +11 -2
- package/node_modules/@waterplane/shared/dist/queue/queueserial.js +16 -5
- 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/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 +9 -2
- package/node_modules/@waterplane/shared/dist/requirements.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/schedrule.d.ts +3 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedrule.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/sessionbudget.d.ts +15 -3
- package/node_modules/@waterplane/shared/dist/sessionbudget.js +23 -11
- package/node_modules/@waterplane/shared/dist/sessionbudget.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/sessionwindow.d.ts +25 -0
- package/node_modules/@waterplane/shared/dist/sessionwindow.js +24 -0
- package/node_modules/@waterplane/shared/dist/sessionwindow.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/statedir.js +2 -1
- package/node_modules/@waterplane/shared/dist/statedir.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/themeoverlay.js +1 -1
- package/node_modules/@waterplane/shared/dist/themeoverlay.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/urls.js +1 -1
- package/node_modules/@waterplane/shared/dist/urls.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/weekburn.d.ts +31 -1
- package/node_modules/@waterplane/shared/dist/weekburn.js +53 -8
- package/node_modules/@waterplane/shared/dist/weekburn.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/backend.d.ts +8 -0
- package/node_modules/@waterplane/shared/dist/wire/costwindow.d.ts +5 -0
- package/node_modules/@waterplane/shared/dist/wire/install.d.ts +5 -110
- package/node_modules/@waterplane/shared/dist/wire/install.js +0 -28
- package/node_modules/@waterplane/shared/dist/wire/install.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.d.ts +1 -25
- package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.d.ts +29 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.d.ts +0 -10
- package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +80 -3
- package/node_modules/@waterplane/shared/dist/wire/notify.js +71 -4
- package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +12 -0
- package/node_modules/@waterplane/shared/dist/wire/repo.js +1 -1
- package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/sent.d.ts +8 -1
- package/node_modules/@waterplane/shared/dist/wire/session/info.d.ts +29 -3
- package/node_modules/@waterplane/shared/dist/wire/session/launch.d.ts +56 -4
- package/node_modules/@waterplane/shared/dist/wire/session.d.ts +1 -1
- package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +33 -0
- package/node_modules/@waterplane/shared/dist/wire/work.d.ts +4 -2
- 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/node_modules/@waterplane/shared/dist/working.d.ts +12 -0
- package/node_modules/@waterplane/shared/dist/working.js +55 -4
- package/node_modules/@waterplane/shared/dist/working.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/yamlfront.d.ts +5 -0
- package/node_modules/@waterplane/shared/dist/yamlfront.js +101 -0
- package/node_modules/@waterplane/shared/dist/yamlfront.js.map +1 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/packages/extensions/android-apps/waterplane-plugin.json +11 -0
- package/packages/host/dist/agentbuild.d.ts +48 -0
- package/packages/host/dist/agentbuild.js +105 -0
- package/packages/host/dist/agentbuild.js.map +1 -0
- package/packages/host/dist/agentintents.js +6 -7
- package/packages/host/dist/agentintents.js.map +1 -1
- package/packages/host/dist/agents.d.ts +2 -0
- package/packages/host/dist/agents.js +6 -1
- package/packages/host/dist/agents.js.map +1 -1
- package/packages/host/dist/androidenv.d.ts +10 -0
- package/packages/host/dist/androidenv.js +34 -2
- package/packages/host/dist/androidenv.js.map +1 -1
- package/packages/host/dist/apkcheck.d.ts +1 -1
- package/packages/host/dist/apkcheck.js +5 -5
- package/packages/host/dist/apkcheck.js.map +1 -1
- package/packages/host/dist/appready.d.ts +1 -1
- package/packages/host/dist/artifacts.js +6 -2
- package/packages/host/dist/artifacts.js.map +1 -1
- package/packages/host/dist/assess/hassrun.js +4 -1
- package/packages/host/dist/assess/hassrun.js.map +1 -1
- package/packages/host/dist/attentionstore.d.ts +44 -11
- package/packages/host/dist/attentionstore.js +94 -24
- package/packages/host/dist/attentionstore.js.map +1 -1
- package/packages/host/dist/backends/claude-local.d.ts +34 -3
- package/packages/host/dist/backends/claude-local.js +86 -15
- package/packages/host/dist/backends/claude-local.js.map +1 -1
- package/packages/host/dist/backends/claude-sources.d.ts +2 -0
- package/packages/host/dist/backends/claude-sources.js +18 -0
- package/packages/host/dist/backends/claude-sources.js.map +1 -1
- package/packages/host/dist/backends/claude.js +2 -1
- package/packages/host/dist/backends/claude.js.map +1 -1
- package/packages/host/dist/backends/index.d.ts +7 -0
- package/packages/host/dist/backends/index.js +12 -1
- package/packages/host/dist/backends/index.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/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 +1 -0
- package/packages/host/dist/builds.js +3 -1
- package/packages/host/dist/builds.js.map +1 -1
- package/packages/host/dist/burnwatch.js +11 -6
- package/packages/host/dist/burnwatch.js.map +1 -1
- package/packages/host/dist/clifixtures.d.ts +3 -0
- package/packages/host/dist/clifixtures.js +9 -1
- package/packages/host/dist/clifixtures.js.map +1 -1
- package/packages/host/dist/compliance.js +34 -1
- package/packages/host/dist/compliance.js.map +1 -1
- package/packages/host/dist/composer.d.ts +22 -0
- package/packages/host/dist/composer.js +23 -0
- 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/ctxupdate.js +18 -23
- 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/deliver/deliverreturn.d.ts +24 -0
- package/packages/host/dist/deliver/deliverreturn.js +37 -0
- package/packages/host/dist/deliver/deliverreturn.js.map +1 -1
- package/packages/host/dist/deliver/deliverrun.js +11 -11
- package/packages/host/dist/deliver/deliverrun.js.map +1 -1
- package/packages/host/dist/deliver/deliverscreen.js +4 -10
- package/packages/host/dist/deliver/deliverscreen.js.map +1 -1
- package/packages/host/dist/doctorclaude.d.ts +5 -1
- package/packages/host/dist/doctorclaude.js +7 -2
- package/packages/host/dist/doctorclaude.js.map +1 -1
- 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/extensions/android-apps/host/index.d.mts +9 -0
- package/packages/host/dist/extensions/android-apps/host/index.mjs +59 -0
- package/packages/host/dist/extensions/android-apps/host/index.mjs.map +1 -0
- package/packages/host/dist/extensions/android-apps/host/installlog.d.mts +49 -0
- package/packages/host/dist/extensions/android-apps/host/installlog.mjs +196 -0
- package/packages/host/dist/extensions/android-apps/host/installlog.mjs.map +1 -0
- package/packages/host/dist/extensions/android-apps/host/readiness.d.mts +9 -0
- package/packages/host/dist/extensions/android-apps/host/readiness.mjs +5 -0
- package/packages/host/dist/extensions/android-apps/host/readiness.mjs.map +1 -0
- package/packages/host/dist/extensions/android-apps/shared/wire.d.mts +287 -0
- package/{node_modules/@waterplane/shared/dist/installlog.js → packages/host/dist/extensions/android-apps/shared/wire.mjs} +74 -1
- package/packages/host/dist/extensions/android-apps/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.js +18 -4
- package/packages/host/dist/forge/github.js.map +1 -1
- package/packages/host/dist/forge/types.d.ts +8 -2
- package/packages/host/dist/git.d.ts +13 -21
- package/packages/host/dist/git.js +81 -98
- package/packages/host/dist/git.js.map +1 -1
- package/packages/host/dist/gitnotify.d.ts +32 -2
- package/packages/host/dist/gitnotify.js +118 -11
- package/packages/host/dist/gitnotify.js.map +1 -1
- package/packages/host/dist/headlessauth.d.ts +24 -0
- package/packages/host/dist/headlessauth.js +63 -0
- package/packages/host/dist/headlessauth.js.map +1 -0
- package/packages/host/dist/host.js +21 -2
- package/packages/host/dist/host.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 +25 -7
- 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 +17 -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/ladder.js +3 -1
- package/packages/host/dist/intents/ladder.js.map +1 -1
- package/packages/host/dist/intents/watch.d.ts +22 -4
- package/packages/host/dist/intents/watch.js +63 -19
- 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/limitretry.d.ts +22 -3
- package/packages/host/dist/limitretry.js +20 -0
- package/packages/host/dist/limitretry.js.map +1 -1
- package/packages/host/dist/login.d.ts +1 -0
- package/packages/host/dist/login.js +17 -0
- package/packages/host/dist/login.js.map +1 -1
- package/packages/host/dist/main.js +13 -21
- package/packages/host/dist/main.js.map +1 -1
- package/packages/host/dist/naming.js +6 -0
- package/packages/host/dist/naming.js.map +1 -1
- package/packages/host/dist/netlog.d.ts +9 -0
- package/packages/host/dist/netlog.js +32 -3
- package/packages/host/dist/netlog.js.map +1 -1
- package/packages/host/dist/notifytypes.d.ts +5 -0
- 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 +43 -10
- package/packages/host/dist/plugins/pluginapi.js.map +1 -1
- package/packages/host/dist/plugins/pluginauto.d.ts +21 -0
- package/packages/host/dist/plugins/pluginauto.js +67 -0
- package/packages/host/dist/plugins/pluginauto.js.map +1 -0
- package/packages/host/dist/plugins/pluginregistry.d.ts +50 -1
- package/packages/host/dist/plugins/pluginregistry.js +129 -7
- 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/prpush.d.ts +9 -1
- package/packages/host/dist/prpush.js +226 -46
- package/packages/host/dist/prpush.js.map +1 -1
- package/packages/host/dist/prs.d.ts +49 -1
- package/packages/host/dist/prs.js +413 -60
- package/packages/host/dist/prs.js.map +1 -1
- package/packages/host/dist/push.d.ts +66 -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/question.js +10 -1
- package/packages/host/dist/question.js.map +1 -1
- package/packages/host/dist/recover/authgate.d.ts +174 -0
- package/packages/host/dist/recover/authgate.js +317 -0
- package/packages/host/dist/recover/authgate.js.map +1 -0
- package/packages/host/dist/recover/blockpush.d.ts +89 -0
- package/packages/host/dist/recover/blockpush.js +119 -0
- package/packages/host/dist/recover/blockpush.js.map +1 -0
- package/packages/host/dist/recover/giveuplatch.d.ts +42 -0
- package/packages/host/dist/recover/giveuplatch.js +48 -0
- package/packages/host/dist/recover/giveuplatch.js.map +1 -0
- package/packages/host/dist/recover/recoverwrite.d.ts +174 -0
- package/packages/host/dist/recover/recoverwrite.js +137 -0
- package/packages/host/dist/recover/recoverwrite.js.map +1 -0
- package/packages/host/dist/recover/wavegate.d.ts +145 -0
- package/packages/host/dist/recover/wavegate.js +277 -0
- package/packages/host/dist/recover/wavegate.js.map +1 -0
- package/packages/host/dist/repohealth.d.ts +8 -2
- package/packages/host/dist/repohealth.js +16 -6
- package/packages/host/dist/repohealth.js.map +1 -1
- package/packages/host/dist/repos.d.ts +20 -1
- package/packages/host/dist/repos.js +73 -2
- package/packages/host/dist/repos.js.map +1 -1
- package/packages/host/dist/reposkill.js +1 -1
- package/packages/host/dist/reposkill.js.map +1 -1
- package/packages/host/dist/reposkilltext.js +69 -19
- package/packages/host/dist/reposkilltext.js.map +1 -1
- package/packages/host/dist/review.js +7 -2
- package/packages/host/dist/review.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 +32 -27
- package/packages/host/dist/routes/apihost.js.map +1 -1
- package/packages/host/dist/routes/apiprs.js +3 -1
- package/packages/host/dist/routes/apiprs.js.map +1 -1
- package/packages/host/dist/routes/apirepofiles.js +2 -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 +5 -17
- package/packages/host/dist/routes/apirepowork.js.map +1 -1
- package/packages/host/dist/routes/apisystem.js +10 -0
- package/packages/host/dist/routes/apisystem.js.map +1 -1
- package/packages/host/dist/routes/apitable.d.ts +4 -7
- package/packages/host/dist/routes/apitable.js.map +1 -1
- package/packages/host/dist/routes/apiweekburn.js +3 -3
- package/packages/host/dist/routes/apiweekburn.js.map +1 -1
- package/packages/host/dist/routes/session.js +20 -0
- package/packages/host/dist/routes/session.js.map +1 -1
- package/packages/host/dist/routes/system.js +7 -43
- package/packages/host/dist/routes/system.js.map +1 -1
- package/packages/host/dist/routes/types.d.ts +0 -3
- 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/scaffold.d.ts +13 -0
- package/packages/host/dist/scaffold.js +31 -0
- package/packages/host/dist/scaffold.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.js +10 -6
- package/packages/host/dist/server/clients.js.map +1 -1
- package/packages/host/dist/server/ctxseal.d.ts +1 -1
- package/packages/host/dist/server/ctxseal.js +1 -1
- package/packages/host/dist/server/ctxseal.js.map +1 -1
- package/packages/host/dist/server/http.js +0 -2
- package/packages/host/dist/server/http.js.map +1 -1
- package/packages/host/dist/server/intentDeps.js +15 -5
- package/packages/host/dist/server/intentDeps.js.map +1 -1
- package/packages/host/dist/server/plugins.d.ts +21 -0
- package/packages/host/dist/server/plugins.js +28 -0
- package/packages/host/dist/server/plugins.js.map +1 -0
- package/packages/host/dist/server/sessionEvents.js +24 -52
- 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 +11 -5
- 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 +11 -0
- package/packages/host/dist/sessions/agentpoll.js +42 -12
- package/packages/host/dist/sessions/agentpoll.js.map +1 -1
- package/packages/host/dist/sessions/apiretry.d.ts +161 -12
- package/packages/host/dist/sessions/apiretry.js +489 -65
- package/packages/host/dist/sessions/apiretry.js.map +1 -1
- package/packages/host/dist/sessions/boxread.js +9 -3
- package/packages/host/dist/sessions/boxread.js.map +1 -1
- package/packages/host/dist/sessions/core.d.ts +50 -7
- package/packages/host/dist/sessions/drive.js +8 -5
- 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 +72 -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 +15 -0
- package/packages/host/dist/sessions/knobs.js +15 -0
- package/packages/host/dist/sessions/knobs.js.map +1 -1
- package/packages/host/dist/sessions/loopwatch.d.ts +2 -0
- package/packages/host/dist/sessions/loopwatch.js +73 -0
- package/packages/host/dist/sessions/loopwatch.js.map +1 -0
- package/packages/host/dist/sessions/resume.d.ts +25 -36
- package/packages/host/dist/sessions/resume.js +97 -188
- package/packages/host/dist/sessions/resume.js.map +1 -1
- package/packages/host/dist/sessions/signinwait.d.ts +44 -0
- package/packages/host/dist/sessions/signinwait.js +286 -0
- package/packages/host/dist/sessions/signinwait.js.map +1 -0
- package/packages/host/dist/sessions/tmux.js +26 -2
- package/packages/host/dist/sessions/tmux.js.map +1 -1
- package/packages/host/dist/sessions/turn.js +38 -6
- package/packages/host/dist/sessions/turn.js.map +1 -1
- package/packages/host/dist/sessions/wall.d.ts +8 -5
- package/packages/host/dist/sessions/wall.js +112 -66
- package/packages/host/dist/sessions/wall.js.map +1 -1
- package/packages/host/dist/sessions.d.ts +9 -6
- package/packages/host/dist/sessions.js +23 -73
- package/packages/host/dist/sessions.js.map +1 -1
- package/packages/host/dist/settle.d.ts +24 -2
- package/packages/host/dist/settle.js +70 -30
- package/packages/host/dist/settle.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 +3 -0
- package/packages/host/dist/sidecar/sidecarname.js +4 -0
- package/packages/host/dist/sidecar/sidecarname.js.map +1 -1
- package/packages/host/dist/tokenscan.d.ts +0 -4
- package/packages/host/dist/tokenscan.js +14 -38
- package/packages/host/dist/tokenscan.js.map +1 -1
- package/packages/host/dist/tokenstats.js +13 -17
- package/packages/host/dist/tokenstats.js.map +1 -1
- package/packages/host/dist/toolloop.d.ts +30 -0
- package/packages/host/dist/toolloop.js +117 -0
- package/packages/host/dist/toolloop.js.map +1 -0
- package/packages/host/dist/transcript/transcriptparse.js +11 -25
- package/packages/host/dist/transcript/transcriptparse.js.map +1 -1
- package/packages/host/dist/usage.d.ts +12 -2
- package/packages/host/dist/usage.js +35 -3
- package/packages/host/dist/usage.js.map +1 -1
- package/packages/host/dist/visualskill.js +2 -2
- package/packages/host/dist/weekburn.d.ts +7 -3
- package/packages/host/dist/weekburn.js +32 -7
- package/packages/host/dist/weekburn.js.map +1 -1
- package/packages/web/dist/assets/demo-TmjAByxC.js +26 -0
- package/packages/web/dist/assets/icons-B48F-4nA.js +1 -0
- package/packages/web/dist/assets/index-CVkUvHP9.js +170 -0
- package/packages/web/dist/assets/index-CpdyS6Xe.css +1 -0
- package/packages/web/dist/assets/shared-PjlyyA4P.js +50 -0
- package/packages/web/dist/assets/sheets-DqpgjB8i.js +248 -0
- package/packages/web/dist/build-id.txt +1 -1
- package/packages/web/dist/buildstamp.json +1 -1
- package/packages/web/dist/index.html +6 -6
- package/packages/web/dist/sw.js +8 -4
- package/release.json +6 -3
- 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 +37 -6
- package/node_modules/@waterplane/shared/dist/installlog.d.ts +0 -137
- package/node_modules/@waterplane/shared/dist/installlog.js.map +0 -1
- package/packages/host/dist/installlog.d.ts +0 -25
- package/packages/host/dist/installlog.js +0 -137
- package/packages/host/dist/installlog.js.map +0 -1
- package/packages/web/dist/assets/demo-C1GHaeTv.js +0 -23
- package/packages/web/dist/assets/icons-DlcvcZoo.js +0 -1
- package/packages/web/dist/assets/index-BBc6xwDA.css +0 -1
- package/packages/web/dist/assets/index-DzQKnksZ.js +0 -169
- package/packages/web/dist/assets/shared-Cl34umPA.js +0 -47
- package/packages/web/dist/assets/sheets-_3_SvXAx.js +0 -220
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ask rules — the irreversible-action tap (docs/plans/agent-authority.md §2).
|
|
3
|
-
*
|
|
4
|
-
* One desktop-wide list of Claude Code permission-rule strings (`Bash(git push * main)`),
|
|
5
|
-
* each with an optional per-repo "off here". The host injects the list into every
|
|
6
|
-
* CLAUDE launch as `permissions.ask` in the `--settings` blob it already passes; the CLI
|
|
7
|
-
* itself then draws a box naming the exact command, and `answergate.isBlocked` keeps tool
|
|
8
|
-
* boxes person-only. Nothing here applies anything: the suggested list is OFFERED, never
|
|
9
|
-
* switched on, and a change reaches only sessions launched after it.
|
|
10
|
-
*
|
|
11
|
-
* Honest reach: it stops the accident, not the adversary — a wrapper script, an alias or a
|
|
12
|
-
* subprocess running the same command is not seen by the rule.
|
|
13
|
-
*/
|
|
14
1
|
export interface AskRule {
|
|
15
2
|
/** Stable id the phone toggles by. */
|
|
16
3
|
id: string;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* Honest reach: it stops the accident, not the adversary — a wrapper script, an alias or a
|
|
12
12
|
* subprocess running the same command is not seen by the rule.
|
|
13
13
|
*/
|
|
14
|
+
import { trimEndChars } from "./lineartrim.js";
|
|
14
15
|
/** The host's refusal when the list changed since the phone read it — nothing was written. */
|
|
15
16
|
export const ASK_RULES_STALE = "the ask rules changed elsewhere — reopen to see them; nothing was changed";
|
|
16
17
|
export const ASK_RULES_MAX = 64;
|
|
@@ -77,7 +78,7 @@ export function askRuleId(rule) {
|
|
|
77
78
|
}
|
|
78
79
|
/** A repo path with its trailing slashes off (`/` stays `/`). */
|
|
79
80
|
export function trimPathSlash(p) {
|
|
80
|
-
const t = p
|
|
81
|
+
const t = trimEndChars(p, "/");
|
|
81
82
|
return t || "/";
|
|
82
83
|
}
|
|
83
84
|
function cleanOffIn(raw) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"askrules.js","sourceRoot":"","sources":["../src/askrules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"askrules.js","sourceRoot":"","sources":["../src/askrules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAqD/C,8FAA8F;AAC9F,MAAM,CAAC,MAAM,eAAe,GAAG,2EAA2E,CAAC;AAE3G,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,yBAAyB;IACzB,oBAAoB;IACpB,2BAA2B;IAC3B,sBAAsB;IACtB,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;IACzB,2BAA2B;IAC3B,2BAA2B;IAC3B,2BAA2B;IAC3B,sBAAsB;IACtB,wBAAwB;IACxB,mBAAmB;IACnB,0BAA0B;IAC1B,oBAAoB;IACpB,oBAAoB;IACpB,wBAAwB;IACxB,sBAAsB;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,QAAQ,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAElG,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,SAAyB;IACxD,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAC3C,MAAM,OAAO,GAAG,qCAAqC,CAAC;AACtD,MAAM,KAAK,GAAG,uBAAuB,CAAC;AAEtC,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,kBAAkB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,GAAG,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACzH,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU;YAAE,MAAM;IACtC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnH,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa;YAAE,MAAM;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,IAAI,CAAC;QACrH,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC1C,MAAM,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QAC7B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,GAAgB,EAAE,YAAoB;IAChE,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -14,6 +14,9 @@ export function assessVerdictLabel(v) {
|
|
|
14
14
|
case "merged": return "merged with others";
|
|
15
15
|
case "wanted": return "still wanted";
|
|
16
16
|
case "unclear": return "could not tell";
|
|
17
|
+
// The verdict rides on the host-stored proposal; a newer host's word
|
|
18
|
+
// reaches an older phone with no case for it.
|
|
19
|
+
default: return "a verdict this app version cannot name";
|
|
17
20
|
}
|
|
18
21
|
}
|
|
19
22
|
/** Why the pure layer overrode the CLI, in words. */
|
|
@@ -29,6 +32,7 @@ export function downgradeText(d) {
|
|
|
29
32
|
case "merge-conflict": return "left undecided: more than one outcome claimed it";
|
|
30
33
|
case "merge-dropped": return "left undecided: the merge it was part of did not stand";
|
|
31
34
|
case "merge-unknown": return "left undecided: it names a merge that does not exist";
|
|
35
|
+
default: return "left undecided: for a reason this app version cannot name";
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
38
|
/** The finished sentence for one row — verdict, why, and what backs it. A UI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sasswords.js","sourceRoot":"","sources":["../../src/assess/sasswords.ts"],"names":[],"mappings":"AAKA,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAgB;IACjD,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,CAAC,OAAO,cAAc,CAAC;QACnC,KAAK,UAAU,CAAC,CAAC,OAAO,mBAAmB,CAAC;QAC5C,KAAK,YAAY,CAAC,CAAC,OAAO,yBAAyB,CAAC;QACpD,KAAK,QAAQ,CAAC,CAAC,OAAO,oBAAoB,CAAC;QAC3C,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC;QACrC,KAAK,SAAS,CAAC,CAAC,OAAO,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sasswords.js","sourceRoot":"","sources":["../../src/assess/sasswords.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* pinned in `packages/shared/test/autocompact.test.mjs` with no disk.
|
|
23
23
|
*/
|
|
24
24
|
import { BRAND } from "./brand.js";
|
|
25
|
+
import { wordOf } from "./wordof.js";
|
|
25
26
|
/** At or under this, the row passes. Above it, one conversation may still grow
|
|
26
27
|
* to half a 1M window before it compacts. */
|
|
27
28
|
export const AUTO_COMPACT_OK_MAX = 500_000;
|
|
@@ -170,7 +171,7 @@ export const AUTO_MEANS = "auto compacts near the model's own window — 1M on a
|
|
|
170
171
|
export function autoCompactVerdict(r, chosen) {
|
|
171
172
|
const c = chosen ? parseAutoCompactWindow(chosen) : null;
|
|
172
173
|
const okMax = Math.max(AUTO_COMPACT_OK_MAX, c?.kind === "size" ? c.tokens : 0);
|
|
173
|
-
const from = `Set in ${SOURCE_WORDS
|
|
174
|
+
const from = `Set in ${wordOf(SOURCE_WORDS, r.source, "a place this version cannot name")}.`;
|
|
174
175
|
const broken = r.unreadable.length
|
|
175
176
|
? ` Not valid JSON (the CLI cannot read it either, so it decides nothing): ${r.unreadable.join(", ")}.`
|
|
176
177
|
: "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompact.js","sourceRoot":"","sources":["../src/autocompact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"autocompact.js","sourceRoot":"","sources":["../src/autocompact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a session is blocked on something OUTSIDE it — the one derivation both
|
|
3
|
+
* ends ask (`blockOf`), so the host's walls, the phone's chip and its sheet
|
|
4
|
+
* cannot each re-read four wire shapes in their own order.
|
|
5
|
+
*
|
|
6
|
+
* Four reasons, each with its own detector and recovery today:
|
|
7
|
+
* - `auth` — the CLI is not signed in (`signedOut`, a sign-in link on screen
|
|
8
|
+
* `login`, or first-launch setup on a signed-out desktop `cliSetup`).
|
|
9
|
+
* - `spend` — an API-key / cloud account out of credit or over a spend limit
|
|
10
|
+
* (`limit.spend`).
|
|
11
|
+
* - `limit` — a plan's usage window (`limit` without `spend`).
|
|
12
|
+
* - `net` — the host retrying a turn the CLI gave up on a transient API
|
|
13
|
+
* error (`netRetry`).
|
|
14
|
+
*
|
|
15
|
+
* Derived ONLY from today's wire fields — no wire change (a later phase makes
|
|
16
|
+
* `SessionInfo.block` the field). Pure, no clock, no IO. It never filters on
|
|
17
|
+
* `running`: whether an exited session's block still matters is the caller's
|
|
18
|
+
* question.
|
|
19
|
+
*
|
|
20
|
+
* PRECEDENCE when several hold: auth > spend > limit > net. Nothing else works
|
|
21
|
+
* while signed out, so a sign-in is the first thing a person must do; a spend
|
|
22
|
+
* wall needs the person where a usage window clears by the clock; a network
|
|
23
|
+
* retry is the one that most often clears by itself.
|
|
24
|
+
*
|
|
25
|
+
* PHASE — what the host is doing about it, as far as the wire can say:
|
|
26
|
+
* - `waiting` — a try is scheduled (`nextAt`) or the session holds a place
|
|
27
|
+
* in the resume queue, and none is in flight.
|
|
28
|
+
* A limit/spend continue HELD on a person's draft
|
|
29
|
+
* (`limit.held`) is `waiting` with `nextAt` null and the
|
|
30
|
+
* reason as `detail` — the host only looks again, it promises
|
|
31
|
+
* no try.
|
|
32
|
+
* - `retrying` — a try is in flight right now (a limit resume typed, a net
|
|
33
|
+
* retry's `continue` sent and its turn running).
|
|
34
|
+
* - `needsYou` — nothing will happen by itself BY DESIGN: signed out, a spend
|
|
35
|
+
* wall nobody can date, a wall the backend says needs the
|
|
36
|
+
* person, or auto-continue switched off for this session.
|
|
37
|
+
* - `gaveUp` — automatic recovery ran out: nothing is scheduled and the
|
|
38
|
+
* host stopped trying. A person's own send still goes through.
|
|
39
|
+
*
|
|
40
|
+
* The sign-in episode (`signInWait`, host `recover/authgate.ts`) — a session
|
|
41
|
+
* whose turn a sign-out stopped, kept past the on-screen `signedOut`/`login`
|
|
42
|
+
* flags that the `/login` flow clears: `needsYou` + `SIGNED_OUT_DETAIL` while
|
|
43
|
+
* the account is signed out; once the host confirms the sign-in, `waiting` +
|
|
44
|
+
* `SIGNED_IN_AGAIN_DETAIL` — waiting for the PERSON's continue, which the host
|
|
45
|
+
* never types unasked (owner, 2026-11-02); `waiting` + `SIGNIN_QUEUED_DETAIL`
|
|
46
|
+
* behind the first after the tap; `retrying` while its continue is in flight;
|
|
47
|
+
* `needsYou` + `SIGNIN_UNSURE_DETAIL` while the host cannot tell (`unsure`).
|
|
48
|
+
* A sign-in link on its own screen outranks all of that (`needsYou`).
|
|
49
|
+
*
|
|
50
|
+
* Two net cases, decided here once:
|
|
51
|
+
* - A STALL PROBE is never `gaveUp`: a stalled session the host still probes
|
|
52
|
+
* is retrying slowly — `waiting` while the next probe is due (a `gaveup` row
|
|
53
|
+
* with `nextAt`), `retrying` while it runs (`probe` + `sent`). Only a
|
|
54
|
+
* `gaveup` with no next probe (switch off, halt, cancelled) is `gaveUp`.
|
|
55
|
+
* - A DISMISSED net retry is still a block: dismissing only hides the line,
|
|
56
|
+
* the stall stands (`netRetryStalls` ignores it too), so work waiting on the
|
|
57
|
+
* session keeps waiting. Hiding is the reader's business (`netRetry.dismissed`).
|
|
58
|
+
*/
|
|
59
|
+
import type { SessionInfo } from "./wire/session.js";
|
|
60
|
+
export type BlockKind = "auth" | "spend" | "limit" | "net";
|
|
61
|
+
export type BlockPhase = "waiting" | "retrying" | "needsYou" | "gaveUp";
|
|
62
|
+
export interface SessionBlock {
|
|
63
|
+
kind: BlockKind;
|
|
64
|
+
phase: BlockPhase;
|
|
65
|
+
/** Epoch ms the block began, or null when no field says (signed out carries
|
|
66
|
+
* no stamp; a sign-in link's own `at` is used when there is one). */
|
|
67
|
+
since: number | null;
|
|
68
|
+
/** Automatic tries already made for this block (0 for auth). */
|
|
69
|
+
attempts: number;
|
|
70
|
+
/** Epoch ms of the next automatic try, or null when none is scheduled. */
|
|
71
|
+
nextAt: number | null;
|
|
72
|
+
/** limit / spend only: when the wall is expected to lift, null = unknown. */
|
|
73
|
+
resetAt?: number | null;
|
|
74
|
+
/** net only: this retry is HELD behind another session's (`SessionNetRetry.heldBy`,
|
|
75
|
+
* the holder's session id). Absent = not held. */
|
|
76
|
+
heldBy?: string;
|
|
77
|
+
/** The source's own words: a wall's `needsYou` sentence, the CLI's short
|
|
78
|
+
* error line for a net give-up. Absent = none given. */
|
|
79
|
+
detail?: string;
|
|
80
|
+
}
|
|
81
|
+
/** The fields `blockOf` reads — a `SessionInfo` or anything shaped like its slice. */
|
|
82
|
+
export type BlockFacts = Pick<SessionInfo, "signedOut" | "login" | "cliSetup" | "limit" | "netRetry" | "signInWait">;
|
|
83
|
+
/** `detail` of a session stopped by a sign-out while the account is still signed out. */
|
|
84
|
+
export declare const SIGNED_OUT_DETAIL = "signed out";
|
|
85
|
+
/** `detail` once the host confirmed the sign-in: it ASKS, it types nothing until the tap. */
|
|
86
|
+
export declare const SIGNED_IN_AGAIN_DETAIL = "signed in again \u2014 continue?";
|
|
87
|
+
/** `detail` while the host cannot tell whether the sign-in happened (`signInWait.unsure`):
|
|
88
|
+
* continue is offered, the person decides. */
|
|
89
|
+
export declare const SIGNIN_UNSURE_DETAIL = "cannot tell whether you signed in again \u2014 continue if you have";
|
|
90
|
+
/** `detail` while the person's continue waits behind the first session (which goes alone). */
|
|
91
|
+
export declare const SIGNIN_QUEUED_DETAIL = "signed in again \u2014 continues after the first session gets through";
|
|
92
|
+
/** `detail` while the host's continue for this session is typed and its verdict owed. */
|
|
93
|
+
export declare const SIGNIN_CONTINUING_DETAIL = "continuing after the sign-in";
|
|
94
|
+
/** `SessionLimit.held` (and so a limit/spend block's `detail`) while words a person
|
|
95
|
+
* typed sit in the desk's composer: the host's continue is held, never typed over them. */
|
|
96
|
+
export declare const LIMIT_HELD_DRAFT = "words in the composer at the desk \u2014 continue waits until they are sent or cleared";
|
|
97
|
+
/** The one block a session is behind, or null when nothing outside it holds it. */
|
|
98
|
+
export declare function blockOf(info: BlockFacts): SessionBlock | null;
|
|
99
|
+
/**
|
|
100
|
+
* The block as a WALL for automatic work (`LaneSessionState.block`): what
|
|
101
|
+
* `blockOf` says, minus the two blocks nothing is working to lift — so a lane
|
|
102
|
+
* that waits on them would wait for ever.
|
|
103
|
+
*
|
|
104
|
+
* - A net give-up with no next probe (halted, or the retry switched off):
|
|
105
|
+
* nothing re-arms it, and the next automatic item typed in IS the retry
|
|
106
|
+
* (before this wall existed, that is exactly what happened).
|
|
107
|
+
* - `cliSetup` alone (claude's first-launch setup, read once at spawn):
|
|
108
|
+
* cleared only by the session's first hook, so on a session whose hook pipe
|
|
109
|
+
* never goes live it would hold for the session's whole life. A real sign-out
|
|
110
|
+
* on a running session is `signedOut`/`login`, which stay walls.
|
|
111
|
+
*
|
|
112
|
+
* The badge and sheet still show both (`blockOf`); only the hold is dropped.
|
|
113
|
+
*/
|
|
114
|
+
export declare function blockWallOf(info: BlockFacts): BlockKind | null;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/** `detail` of a session stopped by a sign-out while the account is still signed out. */
|
|
2
|
+
export const SIGNED_OUT_DETAIL = "signed out";
|
|
3
|
+
/** `detail` once the host confirmed the sign-in: it ASKS, it types nothing until the tap. */
|
|
4
|
+
export const SIGNED_IN_AGAIN_DETAIL = "signed in again — continue?";
|
|
5
|
+
/** `detail` while the host cannot tell whether the sign-in happened (`signInWait.unsure`):
|
|
6
|
+
* continue is offered, the person decides. */
|
|
7
|
+
export const SIGNIN_UNSURE_DETAIL = "cannot tell whether you signed in again — continue if you have";
|
|
8
|
+
/** `detail` while the person's continue waits behind the first session (which goes alone). */
|
|
9
|
+
export const SIGNIN_QUEUED_DETAIL = "signed in again — continues after the first session gets through";
|
|
10
|
+
/** `detail` while the host's continue for this session is typed and its verdict owed. */
|
|
11
|
+
export const SIGNIN_CONTINUING_DETAIL = "continuing after the sign-in";
|
|
12
|
+
/** `SessionLimit.held` (and so a limit/spend block's `detail`) while words a person
|
|
13
|
+
* typed sit in the desk's composer: the host's continue is held, never typed over them. */
|
|
14
|
+
export const LIMIT_HELD_DRAFT = "words in the composer at the desk — continue waits until they are sent or cleared";
|
|
15
|
+
/** The one block a session is behind, or null when nothing outside it holds it. */
|
|
16
|
+
export function blockOf(info) {
|
|
17
|
+
const w = info.signInWait;
|
|
18
|
+
if (info.signedOut || info.login || info.cliSetup || w) {
|
|
19
|
+
const auth = { kind: "auth", since: info.login?.at ?? w?.since ?? null, attempts: 0, nextAt: null };
|
|
20
|
+
// A sign-in link on THIS screen is a sign-in under way here: it needs the person whatever the account says.
|
|
21
|
+
if (!w || info.login)
|
|
22
|
+
return { ...auth, phase: "needsYou" };
|
|
23
|
+
if (w.continuing)
|
|
24
|
+
return { ...auth, phase: "retrying", detail: SIGNIN_CONTINUING_DETAIL };
|
|
25
|
+
if (w.queued)
|
|
26
|
+
return { ...auth, phase: "waiting", detail: SIGNIN_QUEUED_DETAIL };
|
|
27
|
+
// Signed in again: waiting for the person's continue (never typed unasked).
|
|
28
|
+
// The session's own `signedOut` is about its LAST turn and stays until its next one.
|
|
29
|
+
if (w.signedInAt != null)
|
|
30
|
+
return { ...auth, phase: "waiting", detail: SIGNED_IN_AGAIN_DETAIL };
|
|
31
|
+
// The reader cannot confirm (a stale local "in"): the person's word is the confirmation.
|
|
32
|
+
if (w.unsure)
|
|
33
|
+
return { ...auth, phase: "needsYou", detail: SIGNIN_UNSURE_DETAIL };
|
|
34
|
+
return { ...auth, phase: "needsYou", detail: SIGNED_OUT_DETAIL };
|
|
35
|
+
}
|
|
36
|
+
const lim = info.limit;
|
|
37
|
+
if (lim?.blocked) {
|
|
38
|
+
const spend = lim.spend === true;
|
|
39
|
+
const base = {
|
|
40
|
+
kind: (spend ? "spend" : "limit"),
|
|
41
|
+
since: lim.blockedSince > 0 ? lim.blockedSince : null,
|
|
42
|
+
attempts: lim.attempts,
|
|
43
|
+
// HELD on a draft: `nextAttemptAt` is only the next look, never a try anybody
|
|
44
|
+
// can count down to — the sentence says why instead.
|
|
45
|
+
nextAt: lim.held && !lim.needsYou ? null : lim.nextAttemptAt,
|
|
46
|
+
resetAt: lim.resetAt,
|
|
47
|
+
...(lim.needsYou ? { detail: lim.needsYou } : lim.held ? { detail: lim.held } : {}),
|
|
48
|
+
};
|
|
49
|
+
return { ...base, phase: limitPhase(lim) };
|
|
50
|
+
}
|
|
51
|
+
const n = info.netRetry;
|
|
52
|
+
if (n) {
|
|
53
|
+
return {
|
|
54
|
+
kind: "net",
|
|
55
|
+
phase: n.state === "sent" ? "retrying" : n.nextAt != null || n.state === "waiting" ? "waiting" : "gaveUp",
|
|
56
|
+
since: n.at > 0 ? n.at : null,
|
|
57
|
+
attempts: n.attempt,
|
|
58
|
+
nextAt: n.nextAt,
|
|
59
|
+
...(n.heldBy && n.state === "waiting" ? { heldBy: n.heldBy } : {}),
|
|
60
|
+
...(n.error ? { detail: n.error } : {}),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The block as a WALL for automatic work (`LaneSessionState.block`): what
|
|
67
|
+
* `blockOf` says, minus the two blocks nothing is working to lift — so a lane
|
|
68
|
+
* that waits on them would wait for ever.
|
|
69
|
+
*
|
|
70
|
+
* - A net give-up with no next probe (halted, or the retry switched off):
|
|
71
|
+
* nothing re-arms it, and the next automatic item typed in IS the retry
|
|
72
|
+
* (before this wall existed, that is exactly what happened).
|
|
73
|
+
* - `cliSetup` alone (claude's first-launch setup, read once at spawn):
|
|
74
|
+
* cleared only by the session's first hook, so on a session whose hook pipe
|
|
75
|
+
* never goes live it would hold for the session's whole life. A real sign-out
|
|
76
|
+
* on a running session is `signedOut`/`login`, which stay walls.
|
|
77
|
+
*
|
|
78
|
+
* The badge and sheet still show both (`blockOf`); only the hold is dropped.
|
|
79
|
+
*/
|
|
80
|
+
export function blockWallOf(info) {
|
|
81
|
+
const b = blockOf(info);
|
|
82
|
+
if (!b)
|
|
83
|
+
return null;
|
|
84
|
+
if (b.kind === "net" && b.phase === "gaveUp")
|
|
85
|
+
return null;
|
|
86
|
+
if (b.kind === "auth" && !info.signedOut && !info.login && !info.signInWait)
|
|
87
|
+
return null;
|
|
88
|
+
return b.kind;
|
|
89
|
+
}
|
|
90
|
+
function limitPhase(lim) {
|
|
91
|
+
if (lim.needsYou != null)
|
|
92
|
+
return "needsYou";
|
|
93
|
+
if (lim.resuming)
|
|
94
|
+
return "retrying";
|
|
95
|
+
if (lim.nextAttemptAt != null || lim.queuePos != null)
|
|
96
|
+
return "waiting";
|
|
97
|
+
if (!lim.autoContinue)
|
|
98
|
+
return "needsYou";
|
|
99
|
+
// Nothing scheduled, nothing in line, auto-continue on: the host stopped. A
|
|
100
|
+
// spend wall stops BY DESIGN (no reset anybody can name, or its one attempt
|
|
101
|
+
// failed) — it needs the person; a usage window ran out of patience.
|
|
102
|
+
return lim.spend ? "needsYou" : "gaveUp";
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
* What a remote's own rules demand of a push to the default branch — read from
|
|
3
3
|
* GitHub's rules, never chosen by waterplane. `direct` is today's behaviour and
|
|
4
4
|
* the owner's: no rules, or only force-push/deletion blocked. Only a
|
|
5
|
-
* `pull_request`, `required_status_checks` or required-review rule
|
|
6
|
-
* anything else. Unparseable input is ABSENT (undefined), never a guess.
|
|
5
|
+
* `pull_request`, `required_status_checks`, `merge_queue` or required-review rule
|
|
6
|
+
* makes it anything else. Unparseable input is ABSENT (undefined), never a guess.
|
|
7
|
+
*
|
|
8
|
+
* `mergeQueue`: a merge on this branch is ENQUEUED, not done — `gh pr merge` exits 0
|
|
9
|
+
* having only queued the PR, so its exit code is never the merge's outcome (the host
|
|
10
|
+
* re-reads the PR's state before it touches a branch).
|
|
7
11
|
*/
|
|
8
12
|
export type BranchMode = "direct" | "pr" | "pr-checks";
|
|
9
13
|
export type MergeMethod = "merge" | "squash" | "rebase";
|
|
@@ -18,6 +22,8 @@ export interface BranchRules {
|
|
|
18
22
|
/** Merge methods the repo allows; empty = the repo JSON did not say. */
|
|
19
23
|
allowedMerge: MergeMethod[];
|
|
20
24
|
autoMerge: boolean;
|
|
25
|
+
/** The branch's rules demand a merge queue (`merge_queue` rule). Omitted when not. */
|
|
26
|
+
mergeQueue?: boolean;
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
29
|
* @param rules parsed `repos/{slug}/rules/branches/{branch}` (array of {type, parameters})
|
|
@@ -14,6 +14,7 @@ export function classifyBranchRules(rules, classic, repo) {
|
|
|
14
14
|
const checks = new Set();
|
|
15
15
|
const pinned = new Set();
|
|
16
16
|
let statusChecks = false;
|
|
17
|
+
let queue = false;
|
|
17
18
|
for (const r of rules) {
|
|
18
19
|
if (!isObj(r) || typeof r.type !== "string")
|
|
19
20
|
return undefined;
|
|
@@ -24,6 +25,11 @@ export function classifyBranchRules(rules, classic, repo) {
|
|
|
24
25
|
if (typeof n === "number" && n > 0)
|
|
25
26
|
approvals = Math.max(approvals, Math.floor(n));
|
|
26
27
|
}
|
|
28
|
+
else if (r.type === "merge_queue") {
|
|
29
|
+
// A queue lands only PRs: a push to the branch is refused as surely as under `pull_request`.
|
|
30
|
+
pr = true;
|
|
31
|
+
queue = true;
|
|
32
|
+
}
|
|
27
33
|
else if (r.type === "required_status_checks") {
|
|
28
34
|
statusChecks = true;
|
|
29
35
|
const list = p.required_status_checks;
|
|
@@ -75,6 +81,8 @@ export function classifyBranchRules(rules, classic, repo) {
|
|
|
75
81
|
const out = { mode, requiredChecks: [...checks], requiredApprovals: approvals, allowedMerge, autoMerge };
|
|
76
82
|
if (pinned.size)
|
|
77
83
|
out.pinnedChecks = [...pinned];
|
|
84
|
+
if (queue)
|
|
85
|
+
out.mergeQueue = true;
|
|
78
86
|
return out;
|
|
79
87
|
}
|
|
80
88
|
//# sourceMappingURL=branchmode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branchmode.js","sourceRoot":"","sources":["../src/branchmode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"branchmode.js","sourceRoot":"","sources":["../src/branchmode.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,7 +147,13 @@ export interface BudgetVerdict {
|
|
|
147
147
|
* verdict is re-asked, never scheduled — nothing fires ON this instant.
|
|
148
148
|
*/
|
|
149
149
|
resumeAt?: number | null;
|
|
150
|
+
/** With `state: "unknown"`, the cause a dollar ceiling's figure is missing for, as the
|
|
151
|
+
* caller worded it (`BudgetSpendWhy`) — so the sentence names it instead of guessing. */
|
|
152
|
+
why?: string;
|
|
150
153
|
}
|
|
154
|
+
/** Why a dollar period has no figure, by period id, when the ledger SAID (e.g. claude's
|
|
155
|
+
* `undatedClause`). Missing = nobody said; the figure is then just "could not be read". */
|
|
156
|
+
export type BudgetSpendWhy = Partial<Record<PeriodId, string>>;
|
|
151
157
|
/**
|
|
152
158
|
* One tripped ceiling: which window, the reading, the line it crossed, and when
|
|
153
159
|
* that window resets (if the reading said).
|
|
@@ -208,7 +214,7 @@ export declare function budgetLeftoverText(c: BudgetCeiling, now: number, afterR
|
|
|
208
214
|
* soonest: if both are over, the sentence a human wants is "back in 40
|
|
209
215
|
* minutes", not "back on Thursday".
|
|
210
216
|
*/
|
|
211
|
-
export declare function budgetVerdict(cfg: UsageBudget, usage: UsageInfo | null | undefined, now: number, spend?: BudgetSpend): BudgetVerdict;
|
|
217
|
+
export declare function budgetVerdict(cfg: UsageBudget, usage: UsageInfo | null | undefined, now: number, spend?: BudgetSpend, spendWhy?: BudgetSpendWhy): BudgetVerdict;
|
|
212
218
|
/**
|
|
213
219
|
* One sentence for a verdict. Lives here so the queue sheet, the backlog's
|
|
214
220
|
* `waiting()` and the usage sheet all say the same thing about the same fact —
|
|
@@ -138,7 +138,7 @@ export function budgetLeftoverText(c, now, afterReset = false) {
|
|
|
138
138
|
* soonest: if both are over, the sentence a human wants is "back in 40
|
|
139
139
|
* minutes", not "back on Thursday".
|
|
140
140
|
*/
|
|
141
|
-
export function budgetVerdict(cfg, usage, now, spend) {
|
|
141
|
+
export function budgetVerdict(cfg, usage, now, spend, spendWhy) {
|
|
142
142
|
if (!cfg.enabled)
|
|
143
143
|
return { blocked: false, state: "off" };
|
|
144
144
|
const limits = activeLimits(cfg);
|
|
@@ -148,6 +148,11 @@ export function budgetVerdict(cfg, usage, now, spend) {
|
|
|
148
148
|
const hasUsd = limits.some((l) => l.unit === "usd");
|
|
149
149
|
if (!usageOk && !hasUsd)
|
|
150
150
|
return { blocked: false, state: "unknown" };
|
|
151
|
+
// The first dollar ceiling with no figure whose ledger said why — the unknown sentence's cause.
|
|
152
|
+
// A percent ceiling with no usable reading is a second cause, and the sentence names both.
|
|
153
|
+
const unread = limits.find((l) => l.unit === "usd" && typeof spend?.[l.periodId] !== "number" && spendWhy?.[l.periodId]);
|
|
154
|
+
const pctUnread = !usageOk && limits.some((l) => l.unit !== "usd");
|
|
155
|
+
const why = unread ? { why: `${pctUnread ? "usage could not be read, and " : ""}${spendWhy[unread.periodId]}` } : {};
|
|
151
156
|
// One computation of "over", shared with the ladder's per-window reading.
|
|
152
157
|
const first = budgetCeilings(cfg, usage, now, spend)[0];
|
|
153
158
|
if (first) {
|
|
@@ -176,7 +181,7 @@ export function budgetVerdict(cfg, usage, now, spend) {
|
|
|
176
181
|
const tightest = room.sort((a, b) => (b.pct / b.max) - (a.pct / a.max))[0];
|
|
177
182
|
return tightest
|
|
178
183
|
? { blocked: false, state: "ok", which: tightest.which, pct: tightest.pct, max: tightest.max, ...(tightest.unit ? { unit: tightest.unit } : {}) }
|
|
179
|
-
: { blocked: false, state: "unknown" };
|
|
184
|
+
: { blocked: false, state: "unknown", ...why };
|
|
180
185
|
}
|
|
181
186
|
/**
|
|
182
187
|
* One sentence for a verdict. Lives here so the queue sheet, the backlog's
|
|
@@ -200,9 +205,12 @@ export function budgetReasonText(v) {
|
|
|
200
205
|
switch (v.state) {
|
|
201
206
|
case "off": return "usage budget is off";
|
|
202
207
|
case "unset": return "usage budget is on, but no ceiling is set";
|
|
203
|
-
case "unknown": return "usage could not be read — the budget is not holding anything back
|
|
208
|
+
case "unknown": return `${v.why ?? "usage could not be read"} — the budget is not holding anything back`;
|
|
204
209
|
case "ok": return v.pct != null ? `${v.pct}% of the ${window} window used (budget ${v.max}%)` : "under the usage budget";
|
|
205
210
|
case "over": return `paused — ${v.pct}% of the ${window} window used, over the ${v.max}% budget`;
|
|
211
|
+
// `state` arrives in the host's `budget.state` message: a state a newer
|
|
212
|
+
// host adds reaches an older phone with no case for it.
|
|
213
|
+
default: return "the usage budget is in a state this app version cannot name";
|
|
206
214
|
}
|
|
207
215
|
}
|
|
208
216
|
/**
|