waterplane 0.1.6 → 0.1.11
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 +92 -1
- package/README.md +1 -1
- 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 +58 -4
- 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 +209 -0
- package/node_modules/@waterplane/shared/dist/alwaysonwords.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/autocompact.js +1 -1
- 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 +27 -0
- package/node_modules/@waterplane/shared/dist/branchmode.js +80 -0
- package/node_modules/@waterplane/shared/dist/branchmode.js.map +1 -0
- 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/changebrief.d.ts +61 -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/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 +154 -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 +69 -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 +5 -0
- package/node_modules/@waterplane/shared/dist/hints.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/index.d.ts +29 -0
- package/node_modules/@waterplane/shared/dist/index.js +29 -0
- package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent/kind.d.ts +31 -1
- package/node_modules/@waterplane/shared/dist/intent/kind.js +27 -3
- package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/intent.d.ts +1 -1
- package/node_modules/@waterplane/shared/dist/intent.js +1 -1
- 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 +59 -0
- package/node_modules/@waterplane/shared/dist/ledgerspan.js +99 -0
- package/node_modules/@waterplane/shared/dist/ledgerspan.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/netretry.d.ts +38 -0
- package/node_modules/@waterplane/shared/dist/netretry.js +31 -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/plugin/api.d.ts +364 -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 +64 -0
- package/node_modules/@waterplane/shared/dist/plugin/version.js +84 -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/repohealth.d.ts +4 -0
- package/node_modules/@waterplane/shared/dist/repohealth.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.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 +20 -5
- package/node_modules/@waterplane/shared/dist/sessionbudget.js +42 -16
- package/node_modules/@waterplane/shared/dist/sessionbudget.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/weekburn.d.ts +114 -0
- package/node_modules/@waterplane/shared/dist/weekburn.js +205 -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 +20 -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 +10 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.d.ts +12 -2
- package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +129 -1
- package/node_modules/@waterplane/shared/dist/wire/notify.js +79 -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 +119 -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 +25 -0
- package/node_modules/@waterplane/shared/dist/wire/session.d.ts +1 -1
- package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +4 -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/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 +2 -2
- 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 +61 -0
- package/packages/host/dist/attentionstore.js +162 -0
- package/packages/host/dist/attentionstore.js.map +1 -0
- package/packages/host/dist/backends/claude.js +1 -1
- 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/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/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 +51 -2
- 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/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 +13 -2
- package/packages/host/dist/ctxlog/ctxupdate.js.map +1 -1
- 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/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/forge/github.d.ts +3 -0
- package/packages/host/dist/forge/github.js +82 -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 +52 -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 +36 -3
- package/packages/host/dist/git.js +119 -41
- package/packages/host/dist/git.js.map +1 -1
- package/packages/host/dist/gitnotify.d.ts +24 -0
- package/packages/host/dist/gitnotify.js +60 -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/intents/adapters.js +45 -14
- package/packages/host/dist/intents/adapters.js.map +1 -1
- package/packages/host/dist/intents/contract.d.ts +4 -0
- package/packages/host/dist/intents/contract.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/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 +10 -2
- package/packages/host/dist/intents/watch.js +27 -2
- package/packages/host/dist/intents/watch.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 +40 -10
- 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 +58 -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/plugins/pluginapi.js +2 -0
- 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/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 +30 -0
- package/packages/host/dist/prpush.js +171 -0
- package/packages/host/dist/prpush.js.map +1 -0
- package/packages/host/dist/prs.d.ts +70 -0
- package/packages/host/dist/prs.js +328 -0
- package/packages/host/dist/prs.js.map +1 -0
- package/packages/host/dist/push.d.ts +19 -0
- package/packages/host/dist/push.js.map +1 -1
- 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.js +7 -1
- 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 +72 -3
- package/packages/host/dist/reposkilltext.js.map +1 -1
- package/packages/host/dist/routes/apihost.js +26 -2
- 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 +45 -0
- package/packages/host/dist/routes/apiprs.js.map +1 -0
- package/packages/host/dist/routes/apirepofiles.js +12 -1
- package/packages/host/dist/routes/apirepofiles.js.map +1 -1
- package/packages/host/dist/routes/apirepowork.js +48 -24
- 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 +4 -0
- package/packages/host/dist/routes/session.js.map +1 -1
- package/packages/host/dist/routes/system.js +33 -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/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/clients.d.ts +14 -24
- package/packages/host/dist/server/clients.js +77 -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 +4 -1
- 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 +37 -10
- package/packages/host/dist/server/sessionEvents.js.map +1 -1
- package/packages/host/dist/sessions/agentpoll.d.ts +31 -0
- package/packages/host/dist/sessions/agentpoll.js +176 -0
- package/packages/host/dist/sessions/agentpoll.js.map +1 -0
- package/packages/host/dist/sessions/apiretry.d.ts +59 -0
- package/packages/host/dist/sessions/apiretry.js +240 -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 +16 -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 +43 -8
- package/packages/host/dist/sessions/drive.js.map +1 -1
- package/packages/host/dist/sessions/knobs.d.ts +8 -0
- package/packages/host/dist/sessions/knobs.js +9 -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/turn.d.ts +15 -58
- package/packages/host/dist/sessions/turn.js +17 -356
- package/packages/host/dist/sessions/turn.js.map +1 -1
- package/packages/host/dist/sessions.d.ts +7 -1
- package/packages/host/dist/sessions.js +22 -13
- package/packages/host/dist/sessions.js.map +1 -1
- package/packages/host/dist/settle.d.ts +6 -0
- package/packages/host/dist/settle.js +26 -21
- 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/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 -0
- package/packages/host/dist/tokenscan.js +6 -1
- package/packages/host/dist/tokenscan.js.map +1 -1
- package/packages/host/dist/tokenstats.js +3 -1
- package/packages/host/dist/tokenstats.js.map +1 -1
- package/packages/host/dist/transcript/transcriptparse.js +6 -1
- 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/weekburn.d.ts +75 -0
- package/packages/host/dist/weekburn.js +251 -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-C1GHaeTv.js +23 -0
- package/packages/web/dist/assets/icons-DlcvcZoo.js +1 -0
- package/packages/web/dist/assets/index-BBc6xwDA.css +1 -0
- package/packages/web/dist/assets/index-DzQKnksZ.js +169 -0
- package/packages/web/dist/assets/shared-Cl34umPA.js +47 -0
- package/packages/web/dist/assets/{sheets-Bjv2L-cG.css → sheets-DoUhPGK0.css} +1 -1
- package/packages/web/dist/assets/sheets-_3_SvXAx.js +220 -0
- 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 +14 -3
- package/release.json +7 -4
- 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
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { statSync } from "node:fs";
|
|
18
18
|
import { basename, join } from "node:path";
|
|
19
|
+
import { buildAttentionKey } from "@waterplane/shared";
|
|
19
20
|
import { discoverArtifacts, discoverArtifactsAsync, isMarkdownPath } from "../files.js";
|
|
20
21
|
import { targetId } from "../repos.js";
|
|
21
22
|
import { catchUpCandidates } from "../autopull.js";
|
|
@@ -65,6 +66,26 @@ export function createScan(ctx) {
|
|
|
65
66
|
return { name: a.name, relPath: a.relPath, size: a.size, mtime };
|
|
66
67
|
}), "build");
|
|
67
68
|
}
|
|
69
|
+
// One attention item per build ENTRY of one repo/worktree (`RepoTarget.id`, so the chip lines
|
|
70
|
+
// up with /api/repos): a failure files it, the next success of the same entry resolves it.
|
|
71
|
+
const repoId = targetId(run.repoDir);
|
|
72
|
+
const key = buildAttentionKey(repoId, run.buildId);
|
|
73
|
+
let fail;
|
|
74
|
+
if (run.status === "failed") {
|
|
75
|
+
let out = "";
|
|
76
|
+
try {
|
|
77
|
+
out = ctx.builds.getOutput(run.runId).slice(-1500).trim();
|
|
78
|
+
}
|
|
79
|
+
catch { /* no tail is fine */ }
|
|
80
|
+
fail = {
|
|
81
|
+
outcome: "failed", key, build: { id: run.buildId, name: run.name },
|
|
82
|
+
detail: out || verdict, open: { to: "build", repoId, buildId: run.buildId },
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const at = new Date(run.finishedAt ?? Date.now());
|
|
87
|
+
ctx.resolveAttention(key, `fixed by the ${String(at.getHours()).padStart(2, "0")}:${String(at.getMinutes()).padStart(2, "0")} run`);
|
|
88
|
+
}
|
|
68
89
|
const art = run.artifacts?.[0];
|
|
69
90
|
if (art) {
|
|
70
91
|
ctx.notify("artifact", {
|
|
@@ -72,10 +93,11 @@ export function createScan(ctx) {
|
|
|
72
93
|
body: `${fmtSize(art.size)} · ${verdict} — tap to download`,
|
|
73
94
|
tag: `build-${run.runId}`,
|
|
74
95
|
file: { repoId: art.repoId, relPath: art.relPath, name: art.name, size: art.size, mtime: art.mtime },
|
|
96
|
+
...(fail ?? { outcome: "ok" }),
|
|
75
97
|
});
|
|
76
98
|
}
|
|
77
99
|
else {
|
|
78
|
-
ctx.notify("info", { title: `Build “${run.name}” ${verdict}`, body: run.cwd, tag: `build-${run.runId}
|
|
100
|
+
ctx.notify("info", { title: `Build “${run.name}” ${verdict}`, body: run.cwd, tag: `build-${run.runId}`, ...(fail ?? { outcome: "ok" }) });
|
|
79
101
|
}
|
|
80
102
|
}
|
|
81
103
|
// `ctx.autopull` was constructed (in main.ts) immediately before this call;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/server/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/server/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ import { peerJobOriginAt } from "../peers/serve.js";
|
|
|
39
39
|
import { createBudgetCalibrator } from "../sessionbudget.js";
|
|
40
40
|
import { backendInfos, onBackendsChanged, primeNewBackendModels } from "../backends/index.js";
|
|
41
41
|
import { hostStateDir } from "../branddirs.js";
|
|
42
|
+
import { noteOptInSends } from "../optins.js";
|
|
42
43
|
export function wireSessionEvents(ctx) {
|
|
43
44
|
// A closed row says how its item SETTLED (`roster.ts`'s `closedRowOf`) —
|
|
44
45
|
// read at close time, through the store, never a copy of it.
|
|
@@ -48,7 +49,14 @@ export function wireSessionEvents(ctx) {
|
|
|
48
49
|
// maps; this is the commit that deletes one.
|
|
49
50
|
// …and a HARD session budget re-owes its Esc for the next turn while over
|
|
50
51
|
// (`sessions/budgetwatch.ts`; sent by the judge that sees it working).
|
|
51
|
-
|
|
52
|
+
// A turn the CLI gave up on a transient API error carries `net`
|
|
53
|
+
// (`sessions/apiretry.ts`): the intents do not complete off it. The budget
|
|
54
|
+
// still counts it — the retry's `continue` is a turn that spends, and a HARD
|
|
55
|
+
// budget over owes it its Esc exactly as any other.
|
|
56
|
+
ctx.sessions.on("turnEnded", (id, stopCount, net) => { ctx.intents.onTurnEnded(id, stopCount, net); ctx.sessions.budgetTurnEnded(id); });
|
|
57
|
+
// The late answer to a `checking` turn end (or the halt stopping a retry):
|
|
58
|
+
// the intents only — the budget already counted that turn.
|
|
59
|
+
ctx.sessions.on("netTurnSettled", (id, stopCount, net) => ctx.intents.onTurnEnded(id, stopCount, net ?? undefined));
|
|
52
60
|
ctx.sessions.on("exit", (id) => ctx.intents.onSessionExit(id));
|
|
53
61
|
// The CLI's own on-screen "Update available!" nag → surface the update button
|
|
54
62
|
// immediately, even while the Homebrew cask still lags the npm release.
|
|
@@ -90,15 +98,29 @@ export function wireSessionEvents(ctx) {
|
|
|
90
98
|
ctx.broadcast({ t: "session.exit", id, code });
|
|
91
99
|
// A standing rule a person made lives exactly as long as its session (`answergate.ts`).
|
|
92
100
|
forgetRules({ sessionId: id });
|
|
101
|
+
ctx.resolveAttention(`prompt:${id}`, "session closed");
|
|
93
102
|
});
|
|
94
103
|
ctx.sessions.on("closed", (closed) => ctx.broadcast({ t: "closed.list", closed }));
|
|
95
|
-
ctx.sessions.on("updated", (info) =>
|
|
104
|
+
ctx.sessions.on("updated", (info) => {
|
|
105
|
+
ctx.broadcast({ t: "session.updated", session: info });
|
|
106
|
+
// An attention item resolves by its cause: the box is gone (answered, or the turn moved on)
|
|
107
|
+
// / the follow-up flag was cleared. A silent no-op when nothing matches.
|
|
108
|
+
if (!info.prompt && !info.awaitingInput && !info.asking)
|
|
109
|
+
ctx.resolveAttention(`prompt:${info.id}`, "answered");
|
|
110
|
+
if (!info.followUp)
|
|
111
|
+
ctx.resolveAttention(`followup:${info.id}`, "flag cleared");
|
|
112
|
+
});
|
|
113
|
+
ctx.sessions.on("followUpCleared", (ids) => {
|
|
114
|
+
for (const k of ids)
|
|
115
|
+
ctx.resolveAttention(`followup:${k}`, "flag cleared");
|
|
116
|
+
});
|
|
96
117
|
// A follow-up flag nobody tapped (a launch option on finishing, or the session's
|
|
97
118
|
// agent): one push saying who and why. A hand flag never gets here (`roster.ts`).
|
|
98
119
|
ctx.sessions.on("followUp", (info, f) => {
|
|
99
120
|
const p = followUpPushText(f, info.tabTitle || info.title);
|
|
121
|
+
// The launch option ("flag when done") is a receipt, so info; the session's own agent asking is attention.
|
|
100
122
|
if (p)
|
|
101
|
-
ctx.notify("followup", { ...p, sessionId: info.id, tag: `followup-${info.id}` });
|
|
123
|
+
ctx.notify("followup", { ...p, sessionId: info.id, tag: `followup-${info.id}`, key: `followup:${info.id}`, ...(f.by === "launch" ? { level: "info" } : {}) });
|
|
102
124
|
});
|
|
103
125
|
// History updates stream only to sockets viewing that session (like PTY frames).
|
|
104
126
|
ctx.sessions.on("history", (id, entries) => {
|
|
@@ -106,6 +128,10 @@ export function wireSessionEvents(ctx) {
|
|
|
106
128
|
for (const ws of ctx.clients)
|
|
107
129
|
if (ctx.attached.get(ws)?.has(id))
|
|
108
130
|
ctx.send(ws, frame);
|
|
131
|
+
// An opt-in's words sent here are remembered past the session (`optins.ts`).
|
|
132
|
+
const cwd = ctx.sessions.get(id)?.cwd;
|
|
133
|
+
if (cwd)
|
|
134
|
+
noteOptInSends(cwd, entries);
|
|
109
135
|
});
|
|
110
136
|
// Fires for every session, including ones the backlog creates internally.
|
|
111
137
|
ctx.sessions.on("created", (info) => {
|
|
@@ -167,14 +193,14 @@ export function wireSessionEvents(ctx) {
|
|
|
167
193
|
ctx.notify("prompt", {
|
|
168
194
|
title: `${s?.title ?? "Session"} needs you`,
|
|
169
195
|
body: "A dialog is open in the CLI — open the session to answer.",
|
|
170
|
-
sessionId: id, tag: `prompt-${id}`,
|
|
196
|
+
sessionId: id, tag: `prompt-${id}`, key: `prompt:${id}`,
|
|
171
197
|
});
|
|
172
198
|
});
|
|
173
199
|
// Notifications: prompt waiting + turn finished.
|
|
174
200
|
ctx.sessions.on("prompt", (id, prompt) => {
|
|
175
201
|
const s = ctx.sessions.get(id);
|
|
176
202
|
const opts = prompt.options.map((o) => `${o.index}. ${o.label}`).join(" ");
|
|
177
|
-
ctx.notify("prompt", { title: `${s?.title ?? "Session"} needs you`, body: `${prompt.question}\n${opts}`, sessionId: id, tag: `prompt-${id}` });
|
|
203
|
+
ctx.notify("prompt", { title: `${s?.title ?? "Session"} needs you`, body: `${prompt.question}\n${opts}`, sessionId: id, tag: `prompt-${id}`, key: `prompt:${id}` });
|
|
178
204
|
// Plugins hear about every box (docs/notes/plugins.md). `blocked` is the
|
|
179
205
|
// core's gate verdict, precomputed; answering goes through that gate.
|
|
180
206
|
ctx.plugins.firePrompt(id, prompt);
|
|
@@ -254,10 +280,11 @@ export function wireSessionEvents(ctx) {
|
|
|
254
280
|
});
|
|
255
281
|
}
|
|
256
282
|
else if (phase === "resumed") {
|
|
257
|
-
ctx.notify("limit", { title: `Session resumed · ${info.title}`, body: `usage limit lifted after ${att} attempt${att === 1 ? "" : "s"}${dur ? ` · blocked ${dur}` : ""} — work continues`, sessionId: id, tag: `limit-${id}-done
|
|
283
|
+
ctx.notify("limit", { title: `Session resumed · ${info.title}`, body: `usage limit lifted after ${att} attempt${att === 1 ? "" : "s"}${dur ? ` · blocked ${dur}` : ""} — work continues`, sessionId: id, tag: `limit-${id}-done`, outcome: "ok" });
|
|
284
|
+
ctx.resolveAttention(`limit:${id}`, "session resumed");
|
|
258
285
|
}
|
|
259
286
|
else if (phase === "gaveup") {
|
|
260
|
-
ctx.notify("limit", { title: `Auto-continue gave up · ${info.title}`, body: `still limit-blocked after ${att} attempts — resume manually`, sessionId: id, tag: `limit-${id}-done` });
|
|
287
|
+
ctx.notify("limit", { title: `Auto-continue gave up · ${info.title}`, body: `still limit-blocked after ${att} attempts — resume manually`, sessionId: id, tag: `limit-${id}-done`, outcome: "failed", key: `limit:${id}` });
|
|
261
288
|
}
|
|
262
289
|
});
|
|
263
290
|
ctx.sessions.on("idle", (id, info) => {
|
|
@@ -282,7 +309,7 @@ export function wireSessionEvents(ctx) {
|
|
|
282
309
|
ctx.notify("prompt", {
|
|
283
310
|
title: `Needs your decision · ${info.title}`,
|
|
284
311
|
body: info.asking.text,
|
|
285
|
-
sessionId: id, tag: `prompt-${id}`,
|
|
312
|
+
sessionId: id, tag: `prompt-${id}`, key: `prompt:${id}`,
|
|
286
313
|
});
|
|
287
314
|
}
|
|
288
315
|
else {
|
|
@@ -402,7 +429,7 @@ export function wireSessionEvents(ctx) {
|
|
|
402
429
|
ctx.notify("limit", {
|
|
403
430
|
title: `Session budget hit · ${info.title}`,
|
|
404
431
|
body: `${sessionBudgetText(b.verdict)}. ${sessionBudgetHoldText(b.cfg)} ${esc.why}${tail}`,
|
|
405
|
-
sessionId: id, tag: `session-budget:${id}`,
|
|
432
|
+
sessionId: id, tag: `session-budget:${id}`, level: "attention", key: `budget:${id}`,
|
|
406
433
|
});
|
|
407
434
|
});
|
|
408
435
|
ctx.sessions.on("budgetEscDue", (id, info) => {
|
|
@@ -416,7 +443,7 @@ export function wireSessionEvents(ctx) {
|
|
|
416
443
|
ctx.notify("limit", {
|
|
417
444
|
title: `Session budget · ${info.title} interrupted`,
|
|
418
445
|
body: `${sessionBudgetText(b.verdict)}. ${esc.why} ${sessionBudgetHoldText(b.cfg)}`,
|
|
419
|
-
sessionId: id, tag: `session-budget:${id}`,
|
|
446
|
+
sessionId: id, tag: `session-budget:${id}`, level: "attention", key: `budget:${id}`,
|
|
420
447
|
});
|
|
421
448
|
});
|
|
422
449
|
// A running subagent over the person's line: one `agent` push per agent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionEvents.js","sourceRoot":"","sources":["../../src/server/sessionEvents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionEvents.js","sourceRoot":"","sources":["../../src/server/sessionEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SourceSession } from "@waterplane/shared";
|
|
2
|
+
import type { Session, SessionCore } from "./core.js";
|
|
3
|
+
/**
|
|
4
|
+
* The `SourceSession` `agents.list()` is handed — the SAME one every other slot gets (review R7):
|
|
5
|
+
* the live channel's own when one is attached (`sidechannel.ts`'s `sourceSession`), else built the
|
|
6
|
+
* same way, `cwd` REALPATHED (`/var` -> `/private/var`), so a plugin keying its agent list by cwd sees
|
|
7
|
+
* one string on every call. `backendSessionId` absent rather than `undefined`. Exported for the test.
|
|
8
|
+
*/
|
|
9
|
+
export declare function agentsSourceSession(s: Pick<Session, "spawnedAt"> & {
|
|
10
|
+
info: Pick<Session["info"], "id" | "cwd" | "backendSessionId">;
|
|
11
|
+
}): SourceSession;
|
|
12
|
+
/**
|
|
13
|
+
* Publish which agents are running UNDER this session, and keep polling while
|
|
14
|
+
* any are.
|
|
15
|
+
*
|
|
16
|
+
* The turn flag answers for the MAIN loop only. A background agent survives
|
|
17
|
+
* its Stop hook by design — the CLI prints "Waiting for 2 background agents
|
|
18
|
+
* to finish" and hands the composer back — so a session with two reviewers in
|
|
19
|
+
* flight published `turnActive: false, idle: true` and the reader, which has
|
|
20
|
+
* no terminal to check that against, said "idle — nothing running" for six
|
|
21
|
+
* minutes of real work. `agents.ts` reads the fact off the CLI's own logs.
|
|
22
|
+
*
|
|
23
|
+
* Polled rather than evented because there is no event: the parent's log is
|
|
24
|
+
* not written while a background agent runs, and no hook fires for an agent.
|
|
25
|
+
* The poll is a `readdir` plus a `stat` per agent, armed ONLY while agents
|
|
26
|
+
* exist, so a desktop full of quiet sessions pays for nothing. Elapsed is
|
|
27
|
+
* counted on the phone off `startedAt`, so a broadcast happens on a CHANGE
|
|
28
|
+
* (an agent appearing, finishing, or moving to a different tool) and not once
|
|
29
|
+
* a tick per attached client.
|
|
30
|
+
*/
|
|
31
|
+
export declare function checkAgents(core: SessionCore, s: Session): void;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What runs UNDER a session: the agents and background shells `checkAgents`
|
|
3
|
+
* publishes and keeps polling (`agents.ts`, `shells.ts`). Cut out of `turn.ts`
|
|
4
|
+
* by subject; stateless like it — every fact lives on the `Session`.
|
|
5
|
+
*/
|
|
6
|
+
import { realpathSync } from "node:fs";
|
|
7
|
+
import { shellBucket } from "@waterplane/shared";
|
|
8
|
+
import { agentsChanged, readAgents, readCliRecord, readRunningAgents } from "../agents.js";
|
|
9
|
+
import { derive } from "../backends/derive.js";
|
|
10
|
+
import { liveSourceFor } from "../livesources.js";
|
|
11
|
+
import { readPsTableAsync, readShellList, shellsEnabled } from "../shells.js";
|
|
12
|
+
import { AGENT_POLL_MS, tmuxName } from "./knobs.js";
|
|
13
|
+
/**
|
|
14
|
+
* The `SourceSession` `agents.list()` is handed — the SAME one every other slot gets (review R7):
|
|
15
|
+
* the live channel's own when one is attached (`sidechannel.ts`'s `sourceSession`), else built the
|
|
16
|
+
* same way, `cwd` REALPATHED (`/var` -> `/private/var`), so a plugin keying its agent list by cwd sees
|
|
17
|
+
* one string on every call. `backendSessionId` absent rather than `undefined`. Exported for the test.
|
|
18
|
+
*/
|
|
19
|
+
export function agentsSourceSession(s) {
|
|
20
|
+
const live = liveSourceFor(s.info.id)?.session;
|
|
21
|
+
if (live)
|
|
22
|
+
return live;
|
|
23
|
+
let cwd = s.info.cwd;
|
|
24
|
+
try {
|
|
25
|
+
cwd = realpathSync(cwd);
|
|
26
|
+
}
|
|
27
|
+
catch { /* the record's own path */ }
|
|
28
|
+
return { id: s.info.id, cwd, spawnedAt: s.spawnedAt, ...(s.info.backendSessionId ? { backendSessionId: s.info.backendSessionId } : {}) };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Publish which agents are running UNDER this session, and keep polling while
|
|
32
|
+
* any are.
|
|
33
|
+
*
|
|
34
|
+
* The turn flag answers for the MAIN loop only. A background agent survives
|
|
35
|
+
* its Stop hook by design — the CLI prints "Waiting for 2 background agents
|
|
36
|
+
* to finish" and hands the composer back — so a session with two reviewers in
|
|
37
|
+
* flight published `turnActive: false, idle: true` and the reader, which has
|
|
38
|
+
* no terminal to check that against, said "idle — nothing running" for six
|
|
39
|
+
* minutes of real work. `agents.ts` reads the fact off the CLI's own logs.
|
|
40
|
+
*
|
|
41
|
+
* Polled rather than evented because there is no event: the parent's log is
|
|
42
|
+
* not written while a background agent runs, and no hook fires for an agent.
|
|
43
|
+
* The poll is a `readdir` plus a `stat` per agent, armed ONLY while agents
|
|
44
|
+
* exist, so a desktop full of quiet sessions pays for nothing. Elapsed is
|
|
45
|
+
* counted on the phone off `startedAt`, so a broadcast happens on a CHANGE
|
|
46
|
+
* (an agent appearing, finishing, or moving to a different tool) and not once
|
|
47
|
+
* a tick per attached client.
|
|
48
|
+
*/
|
|
49
|
+
export function checkAgents(core, s) {
|
|
50
|
+
if (s.agentTimer) {
|
|
51
|
+
clearTimeout(s.agentTimer);
|
|
52
|
+
s.agentTimer = null;
|
|
53
|
+
}
|
|
54
|
+
// Any call supersedes a still-pending `ps` read from an earlier one: that one
|
|
55
|
+
// must not publish an older picture over this one, nor arm a second timer.
|
|
56
|
+
const gen = (agentGen.get(s) ?? 0) + 1;
|
|
57
|
+
agentGen.set(s, gen);
|
|
58
|
+
if (!s.info.running) {
|
|
59
|
+
if (s.info.agents || s.info.shells || s.info.shellList) {
|
|
60
|
+
s.info.agents = undefined;
|
|
61
|
+
s.info.shells = undefined;
|
|
62
|
+
s.info.shellList = undefined;
|
|
63
|
+
s.shellsFp = undefined;
|
|
64
|
+
core.emit("updated", s.info);
|
|
65
|
+
}
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// What is running under a session is read off the CLI's OWN logs
|
|
69
|
+
// (`subagents/agent-*.jsonl`). A backend that writes none has no such file
|
|
70
|
+
// to read, so the list stays ABSENT — which is what "this app cannot tell
|
|
71
|
+
// you" looks like, as against an empty list, which would claim nothing is
|
|
72
|
+
// running.
|
|
73
|
+
// claude keeps its own reader and its own error rule (a throw reads as "none running");
|
|
74
|
+
// another backend asks its `agents` providers, and no answer keeps the list ABSENT.
|
|
75
|
+
let rows = [];
|
|
76
|
+
if (derive(s.backend).keepsClaudeLog) {
|
|
77
|
+
try {
|
|
78
|
+
rows = readRunningAgents(s.info.cwd, s.info.claudeSessionId);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
rows = [];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
let read = null;
|
|
86
|
+
try {
|
|
87
|
+
read = readAgents(s.backend, agentsSourceSession(s));
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
read = null;
|
|
91
|
+
}
|
|
92
|
+
if (read === null)
|
|
93
|
+
return;
|
|
94
|
+
rows = read;
|
|
95
|
+
}
|
|
96
|
+
// Background SHELLS are the same fact by another route (a `run_in_background`
|
|
97
|
+
// Bash or a Monitor outlives its turn too), and no log records them — the
|
|
98
|
+
// CLI's own session record does (`agents.ts`'s `readCliRecord`).
|
|
99
|
+
let record = null;
|
|
100
|
+
try {
|
|
101
|
+
record = readCliRecord(s.info.id, tmuxName(s.info.id), s.info.claudeSessionId);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
record = null;
|
|
105
|
+
}
|
|
106
|
+
const cli = record?.status ?? null;
|
|
107
|
+
const shells = cli === "shell" ? true : undefined;
|
|
108
|
+
// The RICH list, read only while the CLI's own record says there is
|
|
109
|
+
// something under it worth asking about — a `busy` main loop still gets
|
|
110
|
+
// asked, for the same edge `shells` itself is asked through: the Stop hook
|
|
111
|
+
// can land before the record catches up to `shell`.
|
|
112
|
+
if (record && (cli === "shell" || cli === "busy") && shellsEnabled()) {
|
|
113
|
+
// The process table is read ASYNC: this runs per shell/busy session every
|
|
114
|
+
// `AGENT_POLL_MS`, on the one loop that pumps every PTY, and the blocking
|
|
115
|
+
// `ps` it replaced cost ~50 ms a time. The rest of the tick is unchanged
|
|
116
|
+
// and picks up when the table is in (`publishAgents`).
|
|
117
|
+
const pid = record.pid;
|
|
118
|
+
void readPsTableAsync()
|
|
119
|
+
.then((psRows) => readShellList(pid, s.info.cwd, s.info.claudeSessionId, cli, Date.now(), psRows))
|
|
120
|
+
.catch(() => undefined)
|
|
121
|
+
.then((shellList) => {
|
|
122
|
+
if (agentGen.get(s) !== gen)
|
|
123
|
+
return; // a newer tick owns the result and the timer
|
|
124
|
+
if (!s.info.running) {
|
|
125
|
+
checkAgents(core, s);
|
|
126
|
+
return;
|
|
127
|
+
} // ended meanwhile: the early branch retires the fields
|
|
128
|
+
publishAgents(core, s, rows, shells, cli, shellList);
|
|
129
|
+
});
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
publishAgents(core, s, rows, shells, cli, undefined);
|
|
133
|
+
}
|
|
134
|
+
/** Per-session generation of the latest `checkAgents` call — see there. */
|
|
135
|
+
const agentGen = new WeakMap();
|
|
136
|
+
/** The second half of `checkAgents`: compare, broadcast on a change, re-arm. */
|
|
137
|
+
function publishAgents(core, s, rows, shells, cli, shellList) {
|
|
138
|
+
const shellsFp = shellsFingerprint(shellList, Date.now());
|
|
139
|
+
const changed = agentsChanged(s.info.agents, rows) || shells !== s.info.shells || shellsFp !== s.shellsFp;
|
|
140
|
+
if (changed) {
|
|
141
|
+
s.info.agents = rows.length ? rows : undefined;
|
|
142
|
+
s.info.shells = shells;
|
|
143
|
+
s.info.shellList = shellList;
|
|
144
|
+
s.shellsFp = shellsFp;
|
|
145
|
+
core.emit("updated", s.info);
|
|
146
|
+
}
|
|
147
|
+
// Keep polling while something runs underneath — and while the CLI still
|
|
148
|
+
// says `busy` after our turn flag dropped: the Stop hook can land before the
|
|
149
|
+
// CLI rewrites its record to `shell`, and reading once at that edge would
|
|
150
|
+
// miss every shell the turn left behind. And while a TURN runs: a turn that
|
|
151
|
+
// starts with nothing under it and then fans out to N agents was read once at
|
|
152
|
+
// its start and never again, so the phone's parallel-agent count missed every
|
|
153
|
+
// agent launched mid-turn. The poll is a readdir per busy session plus the
|
|
154
|
+
// shared, memoised `ps`.
|
|
155
|
+
if (!rows.length && !shells && !(shellList && shellList.length) && cli !== "busy" && !s.turnActive)
|
|
156
|
+
return;
|
|
157
|
+
s.agentTimer = setTimeout(() => { s.agentTimer = null; checkAgents(core, s); }, AGENT_POLL_MS);
|
|
158
|
+
s.agentTimer.unref?.();
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* `pid:bucket:workers:fg` per row, joined — the STATE a person would see,
|
|
162
|
+
* never a raw timestamp. Keying on `cpuMovedAt` directly (the old key) meant
|
|
163
|
+
* a genuinely WORKING shell rebroadcast on nearly every poll: its CPU is, by
|
|
164
|
+
* definition, moving, so `cpuMovedAt` ticks to `now` almost every time this
|
|
165
|
+
* function is asked, and "only broadcast on a change a person would see" was
|
|
166
|
+
* defeated for the one bucket that polls most often. `shellBucket` only
|
|
167
|
+
* changes when the shell actually crosses working/waiting/quiet/unknown —
|
|
168
|
+
* that IS a change worth a broadcast — and `workers`/`foreground` cover the
|
|
169
|
+
* two other facts a person's view of the row depends on.
|
|
170
|
+
*/
|
|
171
|
+
function shellsFingerprint(list, now) {
|
|
172
|
+
if (!list)
|
|
173
|
+
return "";
|
|
174
|
+
return list.map((sh) => `${sh.pid}:${shellBucket(sh, now)}:${sh.workers}:${sh.foreground ? "fg" : "bg"}`).join("|");
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=agentpoll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentpoll.js","sourceRoot":"","sources":["../../src/sessions/agentpoll.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The retry of a turn the CLI GAVE UP on a transient API error (R-connection-024).
|
|
3
|
+
*
|
|
4
|
+
* The CLI retries a failed request on its own, but during a DNS or Wi-Fi outage
|
|
5
|
+
* that budget runs out and the turn ENDS on "API Error: Can't reach the API
|
|
6
|
+
* server (ENOTFOUND)" — and someone has to type "try again" by hand. Here the
|
|
7
|
+
* host does, on a widening ladder (`netlog.ts`'s `netRetryDelay`), the way the
|
|
8
|
+
* usage-limit wall types its `continue` (`wall.ts`'s `doLimitContinue`): text and
|
|
9
|
+
* Return as two writes through the facade's `write`, a history row and a
|
|
10
|
+
* `sent.json` row. Never `deliver.ts`, never a queue bypass of the phone's own.
|
|
11
|
+
*
|
|
12
|
+
* Read off the LOG only (`readNetLog`), on the ONE end-of-turn path
|
|
13
|
+
* (`turn.ts`'s `settleStop`), and only where the give-up is FRESH — stamped
|
|
14
|
+
* inside the turn that just ended. Called off by anything that says the person
|
|
15
|
+
* or the account has taken over: a keystroke or prompt (`typed`), a turn
|
|
16
|
+
* starting that is not ours (`turnStarted`), a wall (`limit.blocked` outranks),
|
|
17
|
+
* the halt latch, the session ending (`clear`). A session that is busy — a box
|
|
18
|
+
* up, a dialog, output still arriving — is PARKED, never typed into. Past the
|
|
19
|
+
* cap it stops and says so (`state: "gaveup"`); there is no loop.
|
|
20
|
+
*
|
|
21
|
+
* State is memory only: a host restart forgets a pending retry, which is the
|
|
22
|
+
* safe direction (it types nothing).
|
|
23
|
+
*
|
|
24
|
+
* What the turn end MEANT travels on `turnEnded` (`TurnEndNet`): deferred work
|
|
25
|
+
* waiting on the turn (`intents/watch.ts`) must not complete off a turn that
|
|
26
|
+
* did not happen. `retrying` holds it, `gaveup` fails it, and `checking` (our
|
|
27
|
+
* `continue`'s turn ended before its log row landed) is answered once by
|
|
28
|
+
* `netTurnSettled` after the re-read. A person's keystroke cancels the retry
|
|
29
|
+
* and the next real turn end completes the work as ever.
|
|
30
|
+
*/
|
|
31
|
+
import { type TurnEndNet } from "@waterplane/shared";
|
|
32
|
+
import type { Session, SessionCore } from "./core.js";
|
|
33
|
+
export declare class NetRetrySlice {
|
|
34
|
+
private readonly core;
|
|
35
|
+
constructor(core: SessionCore);
|
|
36
|
+
/**
|
|
37
|
+
* The turn just ended (`settleStop`). `retrying` ⇒ a retry is scheduled, and
|
|
38
|
+
* the turn-finished ping is held: the turn is not done, it is being tried
|
|
39
|
+
* again. Null ⇒ an ordinary turn end.
|
|
40
|
+
*/
|
|
41
|
+
turnEnded(s: Session): TurnEndNet | null;
|
|
42
|
+
/** A turn started. Ours (just typed) keeps the ladder; anyone else's ends it. */
|
|
43
|
+
turnStarted(s: Session): void;
|
|
44
|
+
/** Someone typed into the session — our own `continue` excepted. */
|
|
45
|
+
typed(s: Session): void;
|
|
46
|
+
/** The phone's Cancel (`session.netRetryCancel`). */
|
|
47
|
+
cancelById(id: string): void;
|
|
48
|
+
/** The session is going (exit, detach, kill, remove): drop the timer. */
|
|
49
|
+
clear(s: Session): void;
|
|
50
|
+
private cancel;
|
|
51
|
+
private set;
|
|
52
|
+
/** Arm the next rung (`retrying`), or stop at the cap (`gaveup`); null ⇒ a wall outranks. */
|
|
53
|
+
private schedule;
|
|
54
|
+
private arm;
|
|
55
|
+
private recheckLater;
|
|
56
|
+
private park;
|
|
57
|
+
/** The rung is due: type `continue`, unless something says not to. */
|
|
58
|
+
private fire;
|
|
59
|
+
}
|