waterplane 0.0.1 → 0.1.6
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 +1172 -0
- package/DISCLAIMER.md +113 -0
- package/LICENSE +21 -0
- package/NOTICES.md +78 -0
- package/README.md +392 -4
- package/SECURITY.md +388 -0
- package/bin/waterplane.mjs +5 -0
- package/deploy/gh-version +1 -0
- package/deploy/node-version +1 -0
- package/node_modules/@waterplane/shared/dist/agentfiles.d.ts +118 -0
- package/node_modules/@waterplane/shared/dist/agentfiles.js +345 -0
- package/node_modules/@waterplane/shared/dist/agentfiles.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/artifacts.d.ts +213 -0
- package/node_modules/@waterplane/shared/dist/artifacts.js +295 -0
- package/node_modules/@waterplane/shared/dist/artifacts.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/askrules.d.ts +95 -0
- package/node_modules/@waterplane/shared/dist/askrules.js +133 -0
- package/node_modules/@waterplane/shared/dist/askrules.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess/sassapply.d.ts +191 -0
- package/node_modules/@waterplane/shared/dist/assess/sassapply.js +152 -0
- package/node_modules/@waterplane/shared/dist/assess/sassapply.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess/sassclean.d.ts +21 -0
- package/node_modules/@waterplane/shared/dist/assess/sassclean.js +453 -0
- package/node_modules/@waterplane/shared/dist/assess/sassclean.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess/sassio.d.ts +257 -0
- package/node_modules/@waterplane/shared/dist/assess/sassio.js +2 -0
- package/node_modules/@waterplane/shared/dist/assess/sassio.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess/sassslot.d.ts +19 -0
- package/node_modules/@waterplane/shared/dist/assess/sassslot.js +136 -0
- package/node_modules/@waterplane/shared/dist/assess/sassslot.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess/sassvocab.d.ts +115 -0
- package/node_modules/@waterplane/shared/dist/assess/sassvocab.js +98 -0
- package/node_modules/@waterplane/shared/dist/assess/sassvocab.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess/sasswords.d.ts +140 -0
- package/node_modules/@waterplane/shared/dist/assess/sasswords.js +155 -0
- package/node_modules/@waterplane/shared/dist/assess/sasswords.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/assess.d.ts +58 -0
- package/node_modules/@waterplane/shared/dist/assess.js +55 -0
- package/node_modules/@waterplane/shared/dist/assess.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/attach.d.ts +118 -0
- package/node_modules/@waterplane/shared/dist/attach.js +85 -0
- package/node_modules/@waterplane/shared/dist/attach.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/autocompact.d.ts +125 -0
- package/node_modules/@waterplane/shared/dist/autocompact.js +226 -0
- package/node_modules/@waterplane/shared/dist/autocompact.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/backendsources.d.ts +399 -0
- package/node_modules/@waterplane/shared/dist/backendsources.js +3 -0
- package/node_modules/@waterplane/shared/dist/backendsources.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/billing.d.ts +48 -0
- package/node_modules/@waterplane/shared/dist/billing.js +64 -0
- package/node_modules/@waterplane/shared/dist/billing.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/bindconv.d.ts +47 -0
- package/node_modules/@waterplane/shared/dist/bindconv.js +35 -0
- package/node_modules/@waterplane/shared/dist/bindconv.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/bookmark.d.ts +26 -0
- package/node_modules/@waterplane/shared/dist/bookmark.js +40 -0
- package/node_modules/@waterplane/shared/dist/bookmark.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/brand.d.ts +94 -0
- package/node_modules/@waterplane/shared/dist/brand.js +88 -0
- package/node_modules/@waterplane/shared/dist/brand.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/brandmigrate.d.ts +30 -0
- package/node_modules/@waterplane/shared/dist/brandmigrate.js +67 -0
- package/node_modules/@waterplane/shared/dist/brandmigrate.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/budget.d.ts +247 -0
- package/node_modules/@waterplane/shared/dist/budget.js +295 -0
- package/node_modules/@waterplane/shared/dist/budget.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/buildparams.d.ts +146 -0
- package/node_modules/@waterplane/shared/dist/buildparams.js +260 -0
- package/node_modules/@waterplane/shared/dist/buildparams.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/buildscan.d.ts +99 -0
- package/node_modules/@waterplane/shared/dist/buildscan.js +334 -0
- package/node_modules/@waterplane/shared/dist/buildscan.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/burn.d.ts +137 -0
- package/node_modules/@waterplane/shared/dist/burn.js +176 -0
- package/node_modules/@waterplane/shared/dist/burn.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/chord.d.ts +39 -0
- package/node_modules/@waterplane/shared/dist/chord.js +102 -0
- package/node_modules/@waterplane/shared/dist/chord.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/claudeconfig.d.ts +18 -0
- package/node_modules/@waterplane/shared/dist/claudeconfig.js +44 -0
- package/node_modules/@waterplane/shared/dist/claudeconfig.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/claudeversion.d.ts +17 -0
- package/node_modules/@waterplane/shared/dist/claudeversion.js +31 -0
- package/node_modules/@waterplane/shared/dist/claudeversion.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clientframe.d.ts +12 -0
- package/node_modules/@waterplane/shared/dist/clientframe.js +15 -0
- package/node_modules/@waterplane/shared/dist/clientframe.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthcatalog.d.ts +52 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthcatalog.js +137 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthcatalog.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.d.ts +58 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js +189 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthfixture.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.d.ts +254 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js +367 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrecord.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrollup.d.ts +36 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrollup.js +123 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healthrollup.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healththresholds.d.ts +101 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healththresholds.js +103 -0
- package/node_modules/@waterplane/shared/dist/clihealth/healththresholds.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clihealth.d.ts +64 -0
- package/node_modules/@waterplane/shared/dist/clihealth.js +69 -0
- package/node_modules/@waterplane/shared/dist/clihealth.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/clirestart.d.ts +66 -0
- package/node_modules/@waterplane/shared/dist/clirestart.js +82 -0
- package/node_modules/@waterplane/shared/dist/clirestart.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/closed.d.ts +41 -0
- package/node_modules/@waterplane/shared/dist/closed.js +102 -0
- package/node_modules/@waterplane/shared/dist/closed.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/collage.d.ts +132 -0
- package/node_modules/@waterplane/shared/dist/collage.js +198 -0
- package/node_modules/@waterplane/shared/dist/collage.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/contextweight.d.ts +169 -0
- package/node_modules/@waterplane/shared/dist/contextweight.js +247 -0
- package/node_modules/@waterplane/shared/dist/contextweight.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/costwindow.d.ts +216 -0
- package/node_modules/@waterplane/shared/dist/costwindow.js +430 -0
- package/node_modules/@waterplane/shared/dist/costwindow.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/ctxwindow.d.ts +92 -0
- package/node_modules/@waterplane/shared/dist/ctxwindow.js +107 -0
- package/node_modules/@waterplane/shared/dist/ctxwindow.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/deskstorage.d.ts +170 -0
- package/node_modules/@waterplane/shared/dist/deskstorage.js +140 -0
- package/node_modules/@waterplane/shared/dist/deskstorage.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/devices.d.ts +52 -0
- package/node_modules/@waterplane/shared/dist/devices.js +53 -0
- package/node_modules/@waterplane/shared/dist/devices.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/dictate.d.ts +178 -0
- package/node_modules/@waterplane/shared/dist/dictate.js +345 -0
- package/node_modules/@waterplane/shared/dist/dictate.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/dictateterms.d.ts +91 -0
- package/node_modules/@waterplane/shared/dist/dictateterms.js +180 -0
- package/node_modules/@waterplane/shared/dist/dictateterms.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/envresolve.d.ts +30 -0
- package/node_modules/@waterplane/shared/dist/envresolve.js +76 -0
- package/node_modules/@waterplane/shared/dist/envresolve.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/fanoutruns.d.ts +25 -0
- package/node_modules/@waterplane/shared/dist/fanoutruns.js +88 -0
- package/node_modules/@waterplane/shared/dist/fanoutruns.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/followup.d.ts +38 -0
- package/node_modules/@waterplane/shared/dist/followup.js +68 -0
- package/node_modules/@waterplane/shared/dist/followup.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/gallery.d.ts +83 -0
- package/node_modules/@waterplane/shared/dist/gallery.js +94 -0
- package/node_modules/@waterplane/shared/dist/gallery.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/halt.d.ts +46 -0
- package/node_modules/@waterplane/shared/dist/halt.js +34 -0
- package/node_modules/@waterplane/shared/dist/halt.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindex.d.ts +485 -0
- package/node_modules/@waterplane/shared/dist/healthindex.js +677 -0
- package/node_modules/@waterplane/shared/dist/healthindex.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthindexresponse.d.ts +36 -0
- package/node_modules/@waterplane/shared/dist/healthindexresponse.js +84 -0
- package/node_modules/@waterplane/shared/dist/healthindexresponse.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/healthspend.d.ts +23 -0
- package/node_modules/@waterplane/shared/dist/healthspend.js +41 -0
- package/node_modules/@waterplane/shared/dist/healthspend.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/hints.d.ts +77 -0
- package/node_modules/@waterplane/shared/dist/hints.js +607 -0
- package/node_modules/@waterplane/shared/dist/hints.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/hosts.d.ts +160 -0
- package/node_modules/@waterplane/shared/dist/hosts.js +316 -0
- package/node_modules/@waterplane/shared/dist/hosts.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/hosturl.d.ts +73 -0
- package/node_modules/@waterplane/shared/dist/hosturl.js +129 -0
- package/node_modules/@waterplane/shared/dist/hosturl.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/index.d.ts +283 -0
- package/node_modules/@waterplane/shared/dist/index.js +305 -0
- package/node_modules/@waterplane/shared/dist/index.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/installlog.d.ts +137 -0
- package/node_modules/@waterplane/shared/dist/installlog.js +367 -0
- package/node_modules/@waterplane/shared/dist/installlog.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/budgetpass.d.ts +103 -0
- package/node_modules/@waterplane/shared/dist/intent/budgetpass.js +185 -0
- package/node_modules/@waterplane/shared/dist/intent/budgetpass.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/clean.d.ts +30 -0
- package/node_modules/@waterplane/shared/dist/intent/clean.js +492 -0
- package/node_modules/@waterplane/shared/dist/intent/clean.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/facts.d.ts +320 -0
- package/node_modules/@waterplane/shared/dist/intent/facts.js +52 -0
- package/node_modules/@waterplane/shared/dist/intent/facts.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/kind.d.ts +194 -0
- package/node_modules/@waterplane/shared/dist/intent/kind.js +230 -0
- package/node_modules/@waterplane/shared/dist/intent/kind.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/row.d.ts +433 -0
- package/node_modules/@waterplane/shared/dist/intent/row.js +75 -0
- package/node_modules/@waterplane/shared/dist/intent/row.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/slot.d.ts +137 -0
- package/node_modules/@waterplane/shared/dist/intent/slot.js +238 -0
- package/node_modules/@waterplane/shared/dist/intent/slot.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/target.d.ts +62 -0
- package/node_modules/@waterplane/shared/dist/intent/target.js +177 -0
- package/node_modules/@waterplane/shared/dist/intent/target.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/types.d.ts +455 -0
- package/node_modules/@waterplane/shared/dist/intent/types.js +27 -0
- package/node_modules/@waterplane/shared/dist/intent/types.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/verdict.d.ts +50 -0
- package/node_modules/@waterplane/shared/dist/intent/verdict.js +431 -0
- package/node_modules/@waterplane/shared/dist/intent/verdict.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent/words.d.ts +236 -0
- package/node_modules/@waterplane/shared/dist/intent/words.js +329 -0
- package/node_modules/@waterplane/shared/dist/intent/words.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/intent.d.ts +69 -0
- package/node_modules/@waterplane/shared/dist/intent.js +65 -0
- package/node_modules/@waterplane/shared/dist/intent.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/itempaths.d.ts +35 -0
- package/node_modules/@waterplane/shared/dist/itempaths.js +55 -0
- package/node_modules/@waterplane/shared/dist/itempaths.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/keyhint.d.ts +32 -0
- package/node_modules/@waterplane/shared/dist/keyhint.js +53 -0
- package/node_modules/@waterplane/shared/dist/keyhint.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/lanroute.d.ts +86 -0
- package/node_modules/@waterplane/shared/dist/lanroute.js +84 -0
- package/node_modules/@waterplane/shared/dist/lanroute.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/launch.d.ts +110 -0
- package/node_modules/@waterplane/shared/dist/launch.js +102 -0
- package/node_modules/@waterplane/shared/dist/launch.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/launchmodes.d.ts +22 -0
- package/node_modules/@waterplane/shared/dist/launchmodes.js +38 -0
- package/node_modules/@waterplane/shared/dist/launchmodes.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/localrt.d.ts +53 -0
- package/node_modules/@waterplane/shared/dist/localrt.js +54 -0
- package/node_modules/@waterplane/shared/dist/localrt.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/localusage.d.ts +35 -0
- package/node_modules/@waterplane/shared/dist/localusage.js +135 -0
- package/node_modules/@waterplane/shared/dist/localusage.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/naming.d.ts +391 -0
- package/node_modules/@waterplane/shared/dist/naming.js +571 -0
- package/node_modules/@waterplane/shared/dist/naming.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/netfuse.d.ts +60 -0
- package/node_modules/@waterplane/shared/dist/netfuse.js +99 -0
- package/node_modules/@waterplane/shared/dist/netfuse.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/netstall.d.ts +163 -0
- package/node_modules/@waterplane/shared/dist/netstall.js +241 -0
- package/node_modules/@waterplane/shared/dist/netstall.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/nodemin.d.ts +18 -0
- package/node_modules/@waterplane/shared/dist/nodemin.js +35 -0
- package/node_modules/@waterplane/shared/dist/nodemin.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/optins.d.ts +122 -0
- package/node_modules/@waterplane/shared/dist/optins.js +252 -0
- package/node_modules/@waterplane/shared/dist/optins.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/pad.d.ts +263 -0
- package/node_modules/@waterplane/shared/dist/pad.js +373 -0
- package/node_modules/@waterplane/shared/dist/pad.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/pairing.d.ts +120 -0
- package/node_modules/@waterplane/shared/dist/pairing.js +130 -0
- package/node_modules/@waterplane/shared/dist/pairing.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/passive.d.ts +58 -0
- package/node_modules/@waterplane/shared/dist/passive.js +36 -0
- package/node_modules/@waterplane/shared/dist/passive.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/peer.d.ts +311 -0
- package/node_modules/@waterplane/shared/dist/peer.js +390 -0
- package/node_modules/@waterplane/shared/dist/peer.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/period.d.ts +108 -0
- package/node_modules/@waterplane/shared/dist/period.js +263 -0
- package/node_modules/@waterplane/shared/dist/period.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/plugin.d.ts +898 -0
- package/node_modules/@waterplane/shared/dist/plugin.js +196 -0
- package/node_modules/@waterplane/shared/dist/plugin.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/pluginfile.d.ts +25 -0
- package/node_modules/@waterplane/shared/dist/pluginfile.js +8 -0
- package/node_modules/@waterplane/shared/dist/pluginfile.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/pluginlaunch.d.ts +109 -0
- package/node_modules/@waterplane/shared/dist/pluginlaunch.js +3 -0
- package/node_modules/@waterplane/shared/dist/pluginlaunch.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/pluginmaturity.d.ts +26 -0
- package/node_modules/@waterplane/shared/dist/pluginmaturity.js +32 -0
- package/node_modules/@waterplane/shared/dist/pluginmaturity.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/pluginreadings.d.ts +43 -0
- package/node_modules/@waterplane/shared/dist/pluginreadings.js +5 -0
- package/node_modules/@waterplane/shared/dist/pluginreadings.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/pricing.d.ts +249 -0
- package/node_modules/@waterplane/shared/dist/pricing.js +388 -0
- package/node_modules/@waterplane/shared/dist/pricing.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/promptid.d.ts +48 -0
- package/node_modules/@waterplane/shared/dist/promptid.js +116 -0
- package/node_modules/@waterplane/shared/dist/promptid.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/ptysize.d.ts +74 -0
- package/node_modules/@waterplane/shared/dist/ptysize.js +77 -0
- package/node_modules/@waterplane/shared/dist/ptysize.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queuebind.d.ts +40 -0
- package/node_modules/@waterplane/shared/dist/queue/queuebind.js +70 -0
- package/node_modules/@waterplane/shared/dist/queue/queuebind.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queueentry.d.ts +175 -0
- package/node_modules/@waterplane/shared/dist/queue/queueentry.js +4 -0
- package/node_modules/@waterplane/shared/dist/queue/queueentry.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queuelane.d.ts +65 -0
- package/node_modules/@waterplane/shared/dist/queue/queuelane.js +45 -0
- package/node_modules/@waterplane/shared/dist/queue/queuelane.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queueplan.d.ts +180 -0
- package/node_modules/@waterplane/shared/dist/queue/queueplan.js +169 -0
- package/node_modules/@waterplane/shared/dist/queue/queueplan.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queueretarget.d.ts +61 -0
- package/node_modules/@waterplane/shared/dist/queue/queueretarget.js +94 -0
- package/node_modules/@waterplane/shared/dist/queue/queueretarget.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queueretry.d.ts +61 -0
- package/node_modules/@waterplane/shared/dist/queue/queueretry.js +66 -0
- package/node_modules/@waterplane/shared/dist/queue/queueretry.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queueserial.d.ts +154 -0
- package/node_modules/@waterplane/shared/dist/queue/queueserial.js +169 -0
- package/node_modules/@waterplane/shared/dist/queue/queueserial.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queueuploads.d.ts +65 -0
- package/node_modules/@waterplane/shared/dist/queue/queueuploads.js +79 -0
- package/node_modules/@waterplane/shared/dist/queue/queueuploads.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue/queuewords.d.ts +22 -0
- package/node_modules/@waterplane/shared/dist/queue/queuewords.js +55 -0
- package/node_modules/@waterplane/shared/dist/queue/queuewords.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/queue.d.ts +13 -0
- package/node_modules/@waterplane/shared/dist/queue.js +44 -0
- package/node_modules/@waterplane/shared/dist/queue.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/repocolor.d.ts +159 -0
- package/node_modules/@waterplane/shared/dist/repocolor.js +261 -0
- package/node_modules/@waterplane/shared/dist/repocolor.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/repohealth.d.ts +640 -0
- package/node_modules/@waterplane/shared/dist/repohealth.js +117 -0
- package/node_modules/@waterplane/shared/dist/repohealth.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/repohealthread.d.ts +156 -0
- package/node_modules/@waterplane/shared/dist/repohealthread.js +680 -0
- package/node_modules/@waterplane/shared/dist/repohealthread.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/requirements.d.ts +81 -0
- package/node_modules/@waterplane/shared/dist/requirements.js +191 -0
- package/node_modules/@waterplane/shared/dist/requirements.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/rootchoice.d.ts +52 -0
- package/node_modules/@waterplane/shared/dist/rootchoice.js +18 -0
- package/node_modules/@waterplane/shared/dist/rootchoice.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedaction.d.ts +106 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedaction.js +14 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedaction.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedclean.d.ts +6 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedclean.js +180 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedclean.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedfire.d.ts +76 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedfire.js +122 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedfire.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.d.ts +78 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js +98 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedhorizon.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedrule.d.ts +219 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedrule.js +162 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedrule.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedtext.d.ts +37 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedtext.js +119 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedtext.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedwhen.d.ts +54 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedwhen.js +70 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedwhen.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedzone.d.ts +76 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedzone.js +159 -0
- package/node_modules/@waterplane/shared/dist/schedule/schedzone.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/schedule.d.ts +44 -0
- package/node_modules/@waterplane/shared/dist/schedule.js +43 -0
- package/node_modules/@waterplane/shared/dist/schedule.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/screenlog.d.ts +65 -0
- package/node_modules/@waterplane/shared/dist/screenlog.js +169 -0
- package/node_modules/@waterplane/shared/dist/screenlog.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sendstamp.d.ts +85 -0
- package/node_modules/@waterplane/shared/dist/sendstamp.js +96 -0
- package/node_modules/@waterplane/shared/dist/sendstamp.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessionbudget.d.ts +162 -0
- package/node_modules/@waterplane/shared/dist/sessionbudget.js +213 -0
- package/node_modules/@waterplane/shared/dist/sessionbudget.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costcold.d.ts +99 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costcold.js +94 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costcold.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costcompact.d.ts +125 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costcompact.js +184 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costcompact.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costofseries.d.ts +21 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costofseries.js +31 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costofseries.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costreading.d.ts +174 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costreading.js +302 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costreading.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costtypes.d.ts +209 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costtypes.js +128 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costtypes.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costwords.d.ts +169 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costwords.js +262 -0
- package/node_modules/@waterplane/shared/dist/sessioncost/costwords.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sessioncost.d.ts +52 -0
- package/node_modules/@waterplane/shared/dist/sessioncost.js +51 -0
- package/node_modules/@waterplane/shared/dist/sessioncost.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/settings.d.ts +136 -0
- package/node_modules/@waterplane/shared/dist/settings.js +303 -0
- package/node_modules/@waterplane/shared/dist/settings.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/shells.d.ts +140 -0
- package/node_modules/@waterplane/shared/dist/shells.js +257 -0
- package/node_modules/@waterplane/shared/dist/shells.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/slash.d.ts +47 -0
- package/node_modules/@waterplane/shared/dist/slash.js +166 -0
- package/node_modules/@waterplane/shared/dist/slash.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sourceshape.d.ts +27 -0
- package/node_modules/@waterplane/shared/dist/sourceshape.js +141 -0
- package/node_modules/@waterplane/shared/dist/sourceshape.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/spendwarn.d.ts +37 -0
- package/node_modules/@waterplane/shared/dist/spendwarn.js +79 -0
- package/node_modules/@waterplane/shared/dist/spendwarn.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/statedir.d.ts +11 -0
- package/node_modules/@waterplane/shared/dist/statedir.js +34 -0
- package/node_modules/@waterplane/shared/dist/statedir.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/stream.d.ts +135 -0
- package/node_modules/@waterplane/shared/dist/stream.js +117 -0
- package/node_modules/@waterplane/shared/dist/stream.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sweep.d.ts +156 -0
- package/node_modules/@waterplane/shared/dist/sweep.js +193 -0
- package/node_modules/@waterplane/shared/dist/sweep.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/sweepfamilies.d.ts +56 -0
- package/node_modules/@waterplane/shared/dist/sweepfamilies.js +140 -0
- package/node_modules/@waterplane/shared/dist/sweepfamilies.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/termpalette.d.ts +17 -0
- package/node_modules/@waterplane/shared/dist/termpalette.js +5 -0
- package/node_modules/@waterplane/shared/dist/termpalette.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/themeoverlay.d.ts +111 -0
- package/node_modules/@waterplane/shared/dist/themeoverlay.js +328 -0
- package/node_modules/@waterplane/shared/dist/themeoverlay.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/tokens.d.ts +198 -0
- package/node_modules/@waterplane/shared/dist/tokens.js +320 -0
- package/node_modules/@waterplane/shared/dist/tokens.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/transcriptfold.d.ts +50 -0
- package/node_modules/@waterplane/shared/dist/transcriptfold.js +87 -0
- package/node_modules/@waterplane/shared/dist/transcriptfold.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/urls.d.ts +53 -0
- package/node_modules/@waterplane/shared/dist/urls.js +150 -0
- package/node_modules/@waterplane/shared/dist/urls.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/usagesources.d.ts +88 -0
- package/node_modules/@waterplane/shared/dist/usagesources.js +198 -0
- package/node_modules/@waterplane/shared/dist/usagesources.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/windowadvice.d.ts +7 -0
- package/node_modules/@waterplane/shared/dist/windowadvice.js +50 -0
- package/node_modules/@waterplane/shared/dist/windowadvice.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/backend.d.ts +223 -0
- package/node_modules/@waterplane/shared/dist/wire/backend.js +18 -0
- package/node_modules/@waterplane/shared/dist/wire/backend.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/backendtokens.d.ts +99 -0
- package/node_modules/@waterplane/shared/dist/wire/backendtokens.js +11 -0
- package/node_modules/@waterplane/shared/dist/wire/backendtokens.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/capture.d.ts +380 -0
- package/node_modules/@waterplane/shared/dist/wire/capture.js +46 -0
- package/node_modules/@waterplane/shared/dist/wire/capture.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/costwindow.d.ts +143 -0
- package/node_modules/@waterplane/shared/dist/wire/costwindow.js +16 -0
- package/node_modules/@waterplane/shared/dist/wire/costwindow.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/install.d.ts +172 -0
- package/node_modules/@waterplane/shared/dist/wire/install.js +30 -0
- package/node_modules/@waterplane/shared/dist/wire/install.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/intent.d.ts +187 -0
- package/node_modules/@waterplane/shared/dist/wire/intent.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/intent.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/localrt.d.ts +78 -0
- package/node_modules/@waterplane/shared/dist/wire/localrt.js +21 -0
- package/node_modules/@waterplane/shared/dist/wire/localrt.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/localusage.d.ts +121 -0
- package/node_modules/@waterplane/shared/dist/wire/localusage.js +23 -0
- package/node_modules/@waterplane/shared/dist/wire/localusage.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientbacklog.d.ts +177 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientbacklog.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientbacklog.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.d.ts +344 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clienthost.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.d.ts +307 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientsession.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientupdates.d.ts +18 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientupdates.js +5 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientupdates.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientwork.d.ts +478 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientwork.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/clientwork.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hostcore.d.ts +488 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hostcore.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hostcore.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.d.ts +338 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hosttools.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hostupdates.d.ts +16 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hostupdates.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hostupdates.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages.d.ts +25 -0
- package/node_modules/@waterplane/shared/dist/wire/messages.js +18 -0
- package/node_modules/@waterplane/shared/dist/wire/messages.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +145 -0
- package/node_modules/@waterplane/shared/dist/wire/notify.js +96 -0
- package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/notifylink.d.ts +36 -0
- package/node_modules/@waterplane/shared/dist/wire/notifylink.js +44 -0
- package/node_modules/@waterplane/shared/dist/wire/notifylink.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/onboard.d.ts +121 -0
- package/node_modules/@waterplane/shared/dist/wire/onboard.js +11 -0
- package/node_modules/@waterplane/shared/dist/wire/onboard.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +456 -0
- package/node_modules/@waterplane/shared/dist/wire/repo.js +30 -0
- package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/sent.d.ts +127 -0
- package/node_modules/@waterplane/shared/dist/wire/sent.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/sent.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session/archive.d.ts +286 -0
- package/node_modules/@waterplane/shared/dist/wire/session/archive.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/session/archive.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session/context.d.ts +298 -0
- package/node_modules/@waterplane/shared/dist/wire/session/context.js +6 -0
- package/node_modules/@waterplane/shared/dist/wire/session/context.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session/contextspark.d.ts +402 -0
- package/node_modules/@waterplane/shared/dist/wire/session/contextspark.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/session/contextspark.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session/delivery.d.ts +114 -0
- package/node_modules/@waterplane/shared/dist/wire/session/delivery.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/session/delivery.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session/info.d.ts +427 -0
- package/node_modules/@waterplane/shared/dist/wire/session/info.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/session/info.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session/launch.d.ts +332 -0
- package/node_modules/@waterplane/shared/dist/wire/session/launch.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/session/launch.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session/promptbox.d.ts +181 -0
- package/node_modules/@waterplane/shared/dist/wire/session/promptbox.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/session/promptbox.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/session.d.ts +16 -0
- package/node_modules/@waterplane/shared/dist/wire/session.js +10 -0
- package/node_modules/@waterplane/shared/dist/wire/session.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/slash.d.ts +31 -0
- package/node_modules/@waterplane/shared/dist/wire/slash.js +9 -0
- package/node_modules/@waterplane/shared/dist/wire/slash.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/sysstat.d.ts +226 -0
- package/node_modules/@waterplane/shared/dist/wire/sysstat.js +47 -0
- package/node_modules/@waterplane/shared/dist/wire/sysstat.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +645 -0
- package/node_modules/@waterplane/shared/dist/wire/telemetry.js +3 -0
- package/node_modules/@waterplane/shared/dist/wire/telemetry.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/transcript.d.ts +327 -0
- package/node_modules/@waterplane/shared/dist/wire/transcript.js +60 -0
- package/node_modules/@waterplane/shared/dist/wire/transcript.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/updates.d.ts +130 -0
- package/node_modules/@waterplane/shared/dist/wire/updates.js +52 -0
- package/node_modules/@waterplane/shared/dist/wire/updates.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/work.d.ts +699 -0
- package/node_modules/@waterplane/shared/dist/wire/work.js +22 -0
- package/node_modules/@waterplane/shared/dist/wire/work.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/working.d.ts +70 -0
- package/node_modules/@waterplane/shared/dist/working.js +208 -0
- package/node_modules/@waterplane/shared/dist/working.js.map +1 -0
- package/node_modules/@waterplane/shared/package.json +17 -0
- package/npm-shrinkwrap.json +250 -0
- package/package.json +33 -6
- package/packages/extensions/copilot-usage/waterplane-plugin.json +9 -0
- package/packages/extensions/ocr/assets/deu.traineddata.gz +0 -0
- package/packages/extensions/ocr/assets/eng.traineddata.gz +0 -0
- package/packages/extensions/ocr/assets/manifest.json +44 -0
- package/packages/extensions/ocr/assets/tesseract-core-lstm.wasm.js +191 -0
- package/packages/extensions/ocr/assets/tesseract-core-simd-lstm.wasm.js +191 -0
- package/packages/extensions/ocr/assets/worker.min.js +3 -0
- package/packages/extensions/ocr/waterplane-plugin.json +11 -0
- package/packages/extensions/requirements/waterplane-plugin.json +9 -0
- package/packages/extensions/token-stats/waterplane-plugin.json +8 -0
- package/packages/host/dist/acks.d.ts +119 -0
- package/packages/host/dist/acks.js +268 -0
- package/packages/host/dist/acks.js.map +1 -0
- package/packages/host/dist/agentfollowup.d.ts +45 -0
- package/packages/host/dist/agentfollowup.js +77 -0
- package/packages/host/dist/agentfollowup.js.map +1 -0
- package/packages/host/dist/agentintents.d.ts +278 -0
- package/packages/host/dist/agentintents.js +509 -0
- package/packages/host/dist/agentintents.js.map +1 -0
- package/packages/host/dist/agents.d.ts +112 -0
- package/packages/host/dist/agents.js +517 -0
- package/packages/host/dist/agents.js.map +1 -0
- package/packages/host/dist/agentwatch.d.ts +42 -0
- package/packages/host/dist/agentwatch.js +35 -0
- package/packages/host/dist/agentwatch.js.map +1 -0
- package/packages/host/dist/androidenv.d.ts +80 -0
- package/packages/host/dist/androidenv.js +344 -0
- package/packages/host/dist/androidenv.js.map +1 -0
- package/packages/host/dist/answergate.d.ts +191 -0
- package/packages/host/dist/answergate.js +321 -0
- package/packages/host/dist/answergate.js.map +1 -0
- package/packages/host/dist/api.d.ts +19 -0
- package/packages/host/dist/api.js +62 -0
- package/packages/host/dist/api.js.map +1 -0
- package/packages/host/dist/apkcheck.d.ts +36 -0
- package/packages/host/dist/apkcheck.js +290 -0
- package/packages/host/dist/apkcheck.js.map +1 -0
- package/packages/host/dist/appready.d.ts +8 -0
- package/packages/host/dist/appready.js +16 -0
- package/packages/host/dist/appready.js.map +1 -0
- package/packages/host/dist/archive.d.ts +95 -0
- package/packages/host/dist/archive.js +318 -0
- package/packages/host/dist/archive.js.map +1 -0
- package/packages/host/dist/artifacts.d.ts +38 -0
- package/packages/host/dist/artifacts.js +315 -0
- package/packages/host/dist/artifacts.js.map +1 -0
- package/packages/host/dist/askbox.d.ts +116 -0
- package/packages/host/dist/askbox.js +341 -0
- package/packages/host/dist/askbox.js.map +1 -0
- package/packages/host/dist/askrules.d.ts +38 -0
- package/packages/host/dist/askrules.js +139 -0
- package/packages/host/dist/askrules.js.map +1 -0
- package/packages/host/dist/assess/hassapply.d.ts +127 -0
- package/packages/host/dist/assess/hassapply.js +482 -0
- package/packages/host/dist/assess/hassapply.js.map +1 -0
- package/packages/host/dist/assess/hassexec.d.ts +160 -0
- package/packages/host/dist/assess/hassexec.js +178 -0
- package/packages/host/dist/assess/hassexec.js.map +1 -0
- package/packages/host/dist/assess/hassinput.d.ts +80 -0
- package/packages/host/dist/assess/hassinput.js +264 -0
- package/packages/host/dist/assess/hassinput.js.map +1 -0
- package/packages/host/dist/assess/hassknobs.d.ts +66 -0
- package/packages/host/dist/assess/hassknobs.js +69 -0
- package/packages/host/dist/assess/hassknobs.js.map +1 -0
- package/packages/host/dist/assess/hassprogress.d.ts +30 -0
- package/packages/host/dist/assess/hassprogress.js +165 -0
- package/packages/host/dist/assess/hassprogress.js.map +1 -0
- package/packages/host/dist/assess/hassrun.d.ts +39 -0
- package/packages/host/dist/assess/hassrun.js +269 -0
- package/packages/host/dist/assess/hassrun.js.map +1 -0
- package/packages/host/dist/assess/hassstore.d.ts +77 -0
- package/packages/host/dist/assess/hassstore.js +187 -0
- package/packages/host/dist/assess/hassstore.js.map +1 -0
- package/packages/host/dist/assess/hassutil.d.ts +28 -0
- package/packages/host/dist/assess/hassutil.js +53 -0
- package/packages/host/dist/assess/hassutil.js.map +1 -0
- package/packages/host/dist/assess.d.ts +60 -0
- package/packages/host/dist/assess.js +58 -0
- package/packages/host/dist/assess.js.map +1 -0
- package/packages/host/dist/auth.d.ts +93 -0
- package/packages/host/dist/auth.js +276 -0
- package/packages/host/dist/auth.js.map +1 -0
- package/packages/host/dist/authroutes.d.ts +36 -0
- package/packages/host/dist/authroutes.js +108 -0
- package/packages/host/dist/authroutes.js.map +1 -0
- package/packages/host/dist/autopull.d.ts +107 -0
- package/packages/host/dist/autopull.js +248 -0
- package/packages/host/dist/autopull.js.map +1 -0
- package/packages/host/dist/backends/claude-endpoint.d.ts +98 -0
- package/packages/host/dist/backends/claude-endpoint.js +347 -0
- package/packages/host/dist/backends/claude-endpoint.js.map +1 -0
- package/packages/host/dist/backends/claude-local.d.ts +51 -0
- package/packages/host/dist/backends/claude-local.js +221 -0
- package/packages/host/dist/backends/claude-local.js.map +1 -0
- package/packages/host/dist/backends/claude-sources.d.ts +53 -0
- package/packages/host/dist/backends/claude-sources.js +68 -0
- package/packages/host/dist/backends/claude-sources.js.map +1 -0
- package/packages/host/dist/backends/claude.d.ts +45 -0
- package/packages/host/dist/backends/claude.js +248 -0
- package/packages/host/dist/backends/claude.js.map +1 -0
- package/packages/host/dist/backends/claudemodels.d.ts +19 -0
- package/packages/host/dist/backends/claudemodels.js +122 -0
- package/packages/host/dist/backends/claudemodels.js.map +1 -0
- package/packages/host/dist/backends/derive.d.ts +81 -0
- package/packages/host/dist/backends/derive.js +198 -0
- package/packages/host/dist/backends/derive.js.map +1 -0
- package/packages/host/dist/backends/index.d.ts +138 -0
- package/packages/host/dist/backends/index.js +328 -0
- package/packages/host/dist/backends/index.js.map +1 -0
- package/packages/host/dist/backends/overhead.d.ts +16 -0
- package/packages/host/dist/backends/overhead.js +124 -0
- package/packages/host/dist/backends/overhead.js.map +1 -0
- package/packages/host/dist/backends/readers.d.ts +57 -0
- package/packages/host/dist/backends/readers.js +74 -0
- package/packages/host/dist/backends/readers.js.map +1 -0
- package/packages/host/dist/backends/registry.d.ts +37 -0
- package/packages/host/dist/backends/registry.js +73 -0
- package/packages/host/dist/backends/registry.js.map +1 -0
- package/packages/host/dist/backends/shell.d.ts +31 -0
- package/packages/host/dist/backends/shell.js +127 -0
- package/packages/host/dist/backends/shell.js.map +1 -0
- package/packages/host/dist/backends/types.d.ts +457 -0
- package/packages/host/dist/backends/types.js +2 -0
- package/packages/host/dist/backends/types.js.map +1 -0
- package/packages/host/dist/backlog/backlogcore.d.ts +36 -0
- package/packages/host/dist/backlog/backlogcore.js +2 -0
- package/packages/host/dist/backlog/backlogcore.js.map +1 -0
- package/packages/host/dist/backlog/backlogedits.d.ts +96 -0
- package/packages/host/dist/backlog/backlogedits.js +229 -0
- package/packages/host/dist/backlog/backlogedits.js.map +1 -0
- package/packages/host/dist/backlog/backlogfollowup.d.ts +7 -0
- package/packages/host/dist/backlog/backlogfollowup.js +71 -0
- package/packages/host/dist/backlog/backlogfollowup.js.map +1 -0
- package/packages/host/dist/backlog/backlogknobs.d.ts +56 -0
- package/packages/host/dist/backlog/backlogknobs.js +62 -0
- package/packages/host/dist/backlog/backlogknobs.js.map +1 -0
- package/packages/host/dist/backlog/backlogsessions.d.ts +217 -0
- package/packages/host/dist/backlog/backlogsessions.js +421 -0
- package/packages/host/dist/backlog/backlogsessions.js.map +1 -0
- package/packages/host/dist/backlog/backlogstore.d.ts +31 -0
- package/packages/host/dist/backlog/backlogstore.js +101 -0
- package/packages/host/dist/backlog/backlogstore.js.map +1 -0
- package/packages/host/dist/backlog/backlogtitles.d.ts +40 -0
- package/packages/host/dist/backlog/backlogtitles.js +50 -0
- package/packages/host/dist/backlog/backlogtitles.js.map +1 -0
- package/packages/host/dist/backlog/backlogwording.d.ts +31 -0
- package/packages/host/dist/backlog/backlogwording.js +42 -0
- package/packages/host/dist/backlog/backlogwording.js.map +1 -0
- package/packages/host/dist/backlog.d.ts +142 -0
- package/packages/host/dist/backlog.js +96 -0
- package/packages/host/dist/backlog.js.map +1 -0
- package/packages/host/dist/billing.d.ts +53 -0
- package/packages/host/dist/billing.js +140 -0
- package/packages/host/dist/billing.js.map +1 -0
- package/packages/host/dist/binguard.d.ts +28 -0
- package/packages/host/dist/binguard.js +88 -0
- package/packages/host/dist/binguard.js.map +1 -0
- package/packages/host/dist/bookmarks.d.ts +24 -0
- package/packages/host/dist/bookmarks.js +118 -0
- package/packages/host/dist/bookmarks.js.map +1 -0
- package/packages/host/dist/branddirs.d.ts +223 -0
- package/packages/host/dist/branddirs.js +828 -0
- package/packages/host/dist/branddirs.js.map +1 -0
- package/packages/host/dist/budget.d.ts +57 -0
- package/packages/host/dist/budget.js +153 -0
- package/packages/host/dist/budget.js.map +1 -0
- package/packages/host/dist/builds.d.ts +178 -0
- package/packages/host/dist/builds.js +645 -0
- package/packages/host/dist/builds.js.map +1 -0
- package/packages/host/dist/buildscan.d.ts +16 -0
- package/packages/host/dist/buildscan.js +177 -0
- package/packages/host/dist/buildscan.js.map +1 -0
- package/packages/host/dist/burnwatch.d.ts +53 -0
- package/packages/host/dist/burnwatch.js +141 -0
- package/packages/host/dist/burnwatch.js.map +1 -0
- package/packages/host/dist/capture/android.d.ts +2 -0
- package/packages/host/dist/capture/android.js +144 -0
- package/packages/host/dist/capture/android.js.map +1 -0
- package/packages/host/dist/capture/captureconfig.d.ts +44 -0
- package/packages/host/dist/capture/captureconfig.js +169 -0
- package/packages/host/dist/capture/captureconfig.js.map +1 -0
- package/packages/host/dist/capture/capturehelpers.d.ts +34 -0
- package/packages/host/dist/capture/capturehelpers.js +156 -0
- package/packages/host/dist/capture/capturehelpers.js.map +1 -0
- package/packages/host/dist/capture/capturekit.d.ts +32 -0
- package/packages/host/dist/capture/capturekit.js +47 -0
- package/packages/host/dist/capture/capturekit.js.map +1 -0
- package/packages/host/dist/capture/capturepass.d.ts +17 -0
- package/packages/host/dist/capture/capturepass.js +262 -0
- package/packages/host/dist/capture/capturepass.js.map +1 -0
- package/packages/host/dist/capture/capturesettle.d.ts +35 -0
- package/packages/host/dist/capture/capturesettle.js +77 -0
- package/packages/host/dist/capture/capturesettle.js.map +1 -0
- package/packages/host/dist/capture/captureverdict.d.ts +132 -0
- package/packages/host/dist/capture/captureverdict.js +107 -0
- package/packages/host/dist/capture/captureverdict.js.map +1 -0
- package/packages/host/dist/capture/garmin.d.ts +2 -0
- package/packages/host/dist/capture/garmin.js +294 -0
- package/packages/host/dist/capture/garmin.js.map +1 -0
- package/packages/host/dist/capture/pixels.d.ts +60 -0
- package/packages/host/dist/capture/pixels.js +199 -0
- package/packages/host/dist/capture/pixels.js.map +1 -0
- package/packages/host/dist/capture/types.d.ts +195 -0
- package/packages/host/dist/capture/types.js +2 -0
- package/packages/host/dist/capture/types.js.map +1 -0
- package/packages/host/dist/capture/web.d.ts +2 -0
- package/packages/host/dist/capture/web.js +290 -0
- package/packages/host/dist/capture/web.js.map +1 -0
- package/packages/host/dist/capture/window.d.ts +2 -0
- package/packages/host/dist/capture/window.js +88 -0
- package/packages/host/dist/capture/window.js.map +1 -0
- package/packages/host/dist/capture.d.ts +116 -0
- package/packages/host/dist/capture.js +295 -0
- package/packages/host/dist/capture.js.map +1 -0
- package/packages/host/dist/claudebin.d.ts +32 -0
- package/packages/host/dist/claudebin.js +113 -0
- package/packages/host/dist/claudebin.js.map +1 -0
- package/packages/host/dist/claudeconfig.d.ts +23 -0
- package/packages/host/dist/claudeconfig.js +118 -0
- package/packages/host/dist/claudeconfig.js.map +1 -0
- package/packages/host/dist/cli/entry.d.ts +1 -0
- package/packages/host/dist/cli/entry.js +11 -0
- package/packages/host/dist/cli/entry.js.map +1 -0
- package/packages/host/dist/cli/index.d.ts +12 -0
- package/packages/host/dist/cli/index.js +122 -0
- package/packages/host/dist/cli/index.js.map +1 -0
- package/packages/host/dist/cli/pair.d.ts +28 -0
- package/packages/host/dist/cli/pair.js +94 -0
- package/packages/host/dist/cli/pair.js.map +1 -0
- package/packages/host/dist/cli/releasesig.d.ts +42 -0
- package/packages/host/dist/cli/releasesig.js +60 -0
- package/packages/host/dist/cli/releasesig.js.map +1 -0
- package/packages/host/dist/cli/selfupdate.d.ts +96 -0
- package/packages/host/dist/cli/selfupdate.js +842 -0
- package/packages/host/dist/cli/selfupdate.js.map +1 -0
- package/packages/host/dist/cli/service.d.ts +100 -0
- package/packages/host/dist/cli/service.js +645 -0
- package/packages/host/dist/cli/service.js.map +1 -0
- package/packages/host/dist/cli/statesnap.d.ts +34 -0
- package/packages/host/dist/cli/statesnap.js +135 -0
- package/packages/host/dist/cli/statesnap.js.map +1 -0
- package/packages/host/dist/cli/windows.d.ts +191 -0
- package/packages/host/dist/cli/windows.js +658 -0
- package/packages/host/dist/cli/windows.js.map +1 -0
- package/packages/host/dist/clifixtures.d.ts +28 -0
- package/packages/host/dist/clifixtures.js +193 -0
- package/packages/host/dist/clifixtures.js.map +1 -0
- package/packages/host/dist/clihealth.d.ts +121 -0
- package/packages/host/dist/clihealth.js +301 -0
- package/packages/host/dist/clihealth.js.map +1 -0
- package/packages/host/dist/clisuggest.d.ts +13 -0
- package/packages/host/dist/clisuggest.js +54 -0
- package/packages/host/dist/clisuggest.js.map +1 -0
- package/packages/host/dist/commitmsg.d.ts +17 -0
- package/packages/host/dist/commitmsg.js +98 -0
- package/packages/host/dist/commitmsg.js.map +1 -0
- package/packages/host/dist/compliance.d.ts +121 -0
- package/packages/host/dist/compliance.js +827 -0
- package/packages/host/dist/compliance.js.map +1 -0
- package/packages/host/dist/composer.d.ts +225 -0
- package/packages/host/dist/composer.js +453 -0
- package/packages/host/dist/composer.js.map +1 -0
- package/packages/host/dist/confirmgate.d.ts +34 -0
- package/packages/host/dist/confirmgate.js +114 -0
- package/packages/host/dist/confirmgate.js.map +1 -0
- package/packages/host/dist/context.d.ts +22 -0
- package/packages/host/dist/context.js +92 -0
- package/packages/host/dist/context.js.map +1 -0
- package/packages/host/dist/contextlimits.d.ts +31 -0
- package/packages/host/dist/contextlimits.js +128 -0
- package/packages/host/dist/contextlimits.js.map +1 -0
- package/packages/host/dist/convfork.d.ts +67 -0
- package/packages/host/dist/convfork.js +372 -0
- package/packages/host/dist/convfork.js.map +1 -0
- package/packages/host/dist/convlog.d.ts +40 -0
- package/packages/host/dist/convlog.js +52 -0
- package/packages/host/dist/convlog.js.map +1 -0
- package/packages/host/dist/costwindow.d.ts +77 -0
- package/packages/host/dist/costwindow.js +333 -0
- package/packages/host/dist/costwindow.js.map +1 -0
- package/packages/host/dist/ctxlog/ctxagents.d.ts +179 -0
- package/packages/host/dist/ctxlog/ctxagents.js +419 -0
- package/packages/host/dist/ctxlog/ctxagents.js.map +1 -0
- package/packages/host/dist/ctxlog/ctxcursor.d.ts +299 -0
- package/packages/host/dist/ctxlog/ctxcursor.js +163 -0
- package/packages/host/dist/ctxlog/ctxcursor.js.map +1 -0
- package/packages/host/dist/ctxlog/ctxproject.d.ts +49 -0
- package/packages/host/dist/ctxlog/ctxproject.js +198 -0
- package/packages/host/dist/ctxlog/ctxproject.js.map +1 -0
- package/packages/host/dist/ctxlog/ctxupdate.d.ts +11 -0
- package/packages/host/dist/ctxlog/ctxupdate.js +338 -0
- package/packages/host/dist/ctxlog/ctxupdate.js.map +1 -0
- package/packages/host/dist/ctxlog.d.ts +56 -0
- package/packages/host/dist/ctxlog.js +57 -0
- package/packages/host/dist/ctxlog.js.map +1 -0
- package/packages/host/dist/ctxwindow.d.ts +17 -0
- package/packages/host/dist/ctxwindow.js +106 -0
- package/packages/host/dist/ctxwindow.js.map +1 -0
- package/packages/host/dist/decisionlog.d.ts +29 -0
- package/packages/host/dist/decisionlog.js +167 -0
- package/packages/host/dist/decisionlog.js.map +1 -0
- package/packages/host/dist/deliver/deliverknobs.d.ts +84 -0
- package/packages/host/dist/deliver/deliverknobs.js +85 -0
- package/packages/host/dist/deliver/deliverknobs.js.map +1 -0
- package/packages/host/dist/deliver/deliverproof.d.ts +25 -0
- package/packages/host/dist/deliver/deliverproof.js +123 -0
- package/packages/host/dist/deliver/deliverproof.js.map +1 -0
- package/packages/host/dist/deliver/deliverreturn.d.ts +12 -0
- package/packages/host/dist/deliver/deliverreturn.js +365 -0
- package/packages/host/dist/deliver/deliverreturn.js.map +1 -0
- package/packages/host/dist/deliver/deliverrun.d.ts +20 -0
- package/packages/host/dist/deliver/deliverrun.js +495 -0
- package/packages/host/dist/deliver/deliverrun.js.map +1 -0
- package/packages/host/dist/deliver/deliverscreen.d.ts +67 -0
- package/packages/host/dist/deliver/deliverscreen.js +428 -0
- package/packages/host/dist/deliver/deliverscreen.js.map +1 -0
- package/packages/host/dist/deliver/delivertypes.d.ts +119 -0
- package/packages/host/dist/deliver/delivertypes.js +2 -0
- package/packages/host/dist/deliver/delivertypes.js.map +1 -0
- package/packages/host/dist/deliver.d.ts +50 -0
- package/packages/host/dist/deliver.js +142 -0
- package/packages/host/dist/deliver.js.map +1 -0
- package/packages/host/dist/deviceledger.d.ts +33 -0
- package/packages/host/dist/deviceledger.js +143 -0
- package/packages/host/dist/deviceledger.js.map +1 -0
- package/packages/host/dist/dictate.d.ts +142 -0
- package/packages/host/dist/dictate.js +419 -0
- package/packages/host/dist/dictate.js.map +1 -0
- package/packages/host/dist/discover.d.ts +20 -0
- package/packages/host/dist/discover.js +162 -0
- package/packages/host/dist/discover.js.map +1 -0
- package/packages/host/dist/diskwatch.d.ts +39 -0
- package/packages/host/dist/diskwatch.js +111 -0
- package/packages/host/dist/diskwatch.js.map +1 -0
- package/packages/host/dist/doctor.d.ts +153 -0
- package/packages/host/dist/doctor.js +748 -0
- package/packages/host/dist/doctor.js.map +1 -0
- package/packages/host/dist/doctorclaude.d.ts +33 -0
- package/packages/host/dist/doctorclaude.js +128 -0
- package/packages/host/dist/doctorclaude.js.map +1 -0
- package/packages/host/dist/doctormac.d.ts +47 -0
- package/packages/host/dist/doctormac.js +81 -0
- package/packages/host/dist/doctormac.js.map +1 -0
- package/packages/host/dist/doctorproc.d.ts +11 -0
- package/packages/host/dist/doctorproc.js +36 -0
- package/packages/host/dist/doctorproc.js.map +1 -0
- package/packages/host/dist/doctorwsl.d.ts +90 -0
- package/packages/host/dist/doctorwsl.js +205 -0
- package/packages/host/dist/doctorwsl.js.map +1 -0
- package/packages/host/dist/echo.d.ts +331 -0
- package/packages/host/dist/echo.js +439 -0
- package/packages/host/dist/echo.js.map +1 -0
- package/packages/host/dist/env.d.ts +16 -0
- package/packages/host/dist/env.js +190 -0
- package/packages/host/dist/env.js.map +1 -0
- package/packages/host/dist/envfiles.d.ts +5 -0
- package/packages/host/dist/envfiles.js +43 -0
- package/packages/host/dist/envfiles.js.map +1 -0
- package/packages/host/dist/extensions/copilot-usage/host/ghquota.d.mts +17 -0
- package/packages/host/dist/extensions/copilot-usage/host/ghquota.mjs +96 -0
- package/packages/host/dist/extensions/copilot-usage/host/ghquota.mjs.map +1 -0
- package/packages/host/dist/extensions/copilot-usage/host/index.d.mts +17 -0
- package/packages/host/dist/extensions/copilot-usage/host/index.mjs +102 -0
- package/packages/host/dist/extensions/copilot-usage/host/index.mjs.map +1 -0
- package/packages/host/dist/extensions/copilot-usage/host/vscodelocal.d.mts +90 -0
- package/packages/host/dist/extensions/copilot-usage/host/vscodelocal.mjs +365 -0
- package/packages/host/dist/extensions/copilot-usage/host/vscodelocal.mjs.map +1 -0
- package/packages/host/dist/extensions/ocr/host/index.d.mts +10 -0
- package/packages/host/dist/extensions/ocr/host/index.mjs +4 -0
- package/packages/host/dist/extensions/ocr/host/index.mjs.map +1 -0
- package/packages/host/dist/extensions/requirements/host/index.d.mts +2 -0
- package/packages/host/dist/extensions/requirements/host/index.mjs +63 -0
- package/packages/host/dist/extensions/requirements/host/index.mjs.map +1 -0
- package/packages/host/dist/extensions/requirements/host/list.d.mts +17 -0
- package/packages/host/dist/extensions/requirements/host/list.mjs +125 -0
- package/packages/host/dist/extensions/requirements/host/list.mjs.map +1 -0
- package/packages/host/dist/extensions/requirements/host/requirements.d.mts +31 -0
- package/packages/host/dist/extensions/requirements/host/requirements.mjs +318 -0
- package/packages/host/dist/extensions/requirements/host/requirements.mjs.map +1 -0
- package/packages/host/dist/extensions/requirements/shared/methods.d.mts +88 -0
- package/packages/host/dist/extensions/requirements/shared/methods.mjs +36 -0
- package/packages/host/dist/extensions/requirements/shared/methods.mjs.map +1 -0
- package/packages/host/dist/fanout.d.ts +89 -0
- package/packages/host/dist/fanout.js +273 -0
- package/packages/host/dist/fanout.js.map +1 -0
- package/packages/host/dist/files.d.ts +211 -0
- package/packages/host/dist/files.js +760 -0
- package/packages/host/dist/files.js.map +1 -0
- package/packages/host/dist/git.d.ts +261 -0
- package/packages/host/dist/git.js +787 -0
- package/packages/host/dist/git.js.map +1 -0
- package/packages/host/dist/gitlog.d.ts +14 -0
- package/packages/host/dist/gitlog.js +93 -0
- package/packages/host/dist/gitlog.js.map +1 -0
- package/packages/host/dist/halt.d.ts +35 -0
- package/packages/host/dist/halt.js +160 -0
- package/packages/host/dist/halt.js.map +1 -0
- package/packages/host/dist/healthwatch.d.ts +90 -0
- package/packages/host/dist/healthwatch.js +334 -0
- package/packages/host/dist/healthwatch.js.map +1 -0
- package/packages/host/dist/host.d.ts +51 -0
- package/packages/host/dist/host.js +153 -0
- package/packages/host/dist/host.js.map +1 -0
- package/packages/host/dist/hoststore.d.ts +24 -0
- package/packages/host/dist/hoststore.js +350 -0
- package/packages/host/dist/hoststore.js.map +1 -0
- package/packages/host/dist/httpio.d.ts +64 -0
- package/packages/host/dist/httpio.js +199 -0
- package/packages/host/dist/httpio.js.map +1 -0
- package/packages/host/dist/installlog.d.ts +25 -0
- package/packages/host/dist/installlog.js +137 -0
- package/packages/host/dist/installlog.js.map +1 -0
- package/packages/host/dist/intents/adapters.d.ts +285 -0
- package/packages/host/dist/intents/adapters.js +690 -0
- package/packages/host/dist/intents/adapters.js.map +1 -0
- package/packages/host/dist/intents/clock.d.ts +105 -0
- package/packages/host/dist/intents/clock.js +190 -0
- package/packages/host/dist/intents/clock.js.map +1 -0
- package/packages/host/dist/intents/contract.d.ts +488 -0
- package/packages/host/dist/intents/contract.js +155 -0
- package/packages/host/dist/intents/contract.js.map +1 -0
- package/packages/host/dist/intents/disk.d.ts +198 -0
- package/packages/host/dist/intents/disk.js +588 -0
- package/packages/host/dist/intents/disk.js.map +1 -0
- package/packages/host/dist/intents/fire.d.ts +112 -0
- package/packages/host/dist/intents/fire.js +545 -0
- package/packages/host/dist/intents/fire.js.map +1 -0
- package/packages/host/dist/intents/ladder.d.ts +7 -0
- package/packages/host/dist/intents/ladder.js +408 -0
- package/packages/host/dist/intents/ladder.js.map +1 -0
- package/packages/host/dist/intents/manager.d.ts +239 -0
- package/packages/host/dist/intents/manager.js +292 -0
- package/packages/host/dist/intents/manager.js.map +1 -0
- package/packages/host/dist/intents/requeue.d.ts +207 -0
- package/packages/host/dist/intents/requeue.js +521 -0
- package/packages/host/dist/intents/requeue.js.map +1 -0
- package/packages/host/dist/intents/watch.d.ts +92 -0
- package/packages/host/dist/intents/watch.js +464 -0
- package/packages/host/dist/intents/watch.js.map +1 -0
- package/packages/host/dist/intents/write.d.ts +238 -0
- package/packages/host/dist/intents/write.js +651 -0
- package/packages/host/dist/intents/write.js.map +1 -0
- package/packages/host/dist/jsonstore.d.ts +50 -0
- package/packages/host/dist/jsonstore.js +158 -0
- package/packages/host/dist/jsonstore.js.map +1 -0
- package/packages/host/dist/keyhints.d.ts +45 -0
- package/packages/host/dist/keyhints.js +117 -0
- package/packages/host/dist/keyhints.js.map +1 -0
- package/packages/host/dist/lanid.d.ts +21 -0
- package/packages/host/dist/lanid.js +78 -0
- package/packages/host/dist/lanid.js.map +1 -0
- package/packages/host/dist/launchfiles.d.ts +64 -0
- package/packages/host/dist/launchfiles.js +212 -0
- package/packages/host/dist/launchfiles.js.map +1 -0
- package/packages/host/dist/limit.d.ts +82 -0
- package/packages/host/dist/limit.js +251 -0
- package/packages/host/dist/limit.js.map +1 -0
- package/packages/host/dist/limitlog.d.ts +51 -0
- package/packages/host/dist/limitlog.js +154 -0
- package/packages/host/dist/limitlog.js.map +1 -0
- package/packages/host/dist/limitretry.d.ts +135 -0
- package/packages/host/dist/limitretry.js +115 -0
- package/packages/host/dist/limitretry.js.map +1 -0
- package/packages/host/dist/livesources.d.ts +38 -0
- package/packages/host/dist/livesources.js +26 -0
- package/packages/host/dist/livesources.js.map +1 -0
- package/packages/host/dist/localledger.d.ts +69 -0
- package/packages/host/dist/localledger.js +214 -0
- package/packages/host/dist/localledger.js.map +1 -0
- package/packages/host/dist/localrt.d.ts +164 -0
- package/packages/host/dist/localrt.js +414 -0
- package/packages/host/dist/localrt.js.map +1 -0
- package/packages/host/dist/localslot.d.ts +152 -0
- package/packages/host/dist/localslot.js +269 -0
- package/packages/host/dist/localslot.js.map +1 -0
- package/packages/host/dist/localusage.d.ts +153 -0
- package/packages/host/dist/localusage.js +710 -0
- package/packages/host/dist/localusage.js.map +1 -0
- package/packages/host/dist/login.d.ts +34 -0
- package/packages/host/dist/login.js +126 -0
- package/packages/host/dist/login.js.map +1 -0
- package/packages/host/dist/main.d.ts +1 -0
- package/packages/host/dist/main.js +694 -0
- package/packages/host/dist/main.js.map +1 -0
- package/packages/host/dist/meter.d.ts +23 -0
- package/packages/host/dist/meter.js +121 -0
- package/packages/host/dist/meter.js.map +1 -0
- package/packages/host/dist/naming.d.ts +257 -0
- package/packages/host/dist/naming.js +387 -0
- package/packages/host/dist/naming.js.map +1 -0
- package/packages/host/dist/net.d.ts +78 -0
- package/packages/host/dist/net.js +267 -0
- package/packages/host/dist/net.js.map +1 -0
- package/packages/host/dist/netstats.d.ts +99 -0
- package/packages/host/dist/netstats.js +223 -0
- package/packages/host/dist/netstats.js.map +1 -0
- package/packages/host/dist/notifyprefs.d.ts +12 -0
- package/packages/host/dist/notifyprefs.js +60 -0
- package/packages/host/dist/notifyprefs.js.map +1 -0
- package/packages/host/dist/ocrlocal.d.ts +46 -0
- package/packages/host/dist/ocrlocal.js +297 -0
- package/packages/host/dist/ocrlocal.js.map +1 -0
- package/packages/host/dist/onboard.d.ts +182 -0
- package/packages/host/dist/onboard.js +590 -0
- package/packages/host/dist/onboard.js.map +1 -0
- package/packages/host/dist/onboardroutes.d.ts +31 -0
- package/packages/host/dist/onboardroutes.js +78 -0
- package/packages/host/dist/onboardroutes.js.map +1 -0
- package/packages/host/dist/opendeliveries.d.ts +175 -0
- package/packages/host/dist/opendeliveries.js +538 -0
- package/packages/host/dist/opendeliveries.js.map +1 -0
- package/packages/host/dist/optins.d.ts +14 -0
- package/packages/host/dist/optins.js +252 -0
- package/packages/host/dist/optins.js.map +1 -0
- package/packages/host/dist/origin.d.ts +86 -0
- package/packages/host/dist/origin.js +301 -0
- package/packages/host/dist/origin.js.map +1 -0
- package/packages/host/dist/pair.d.ts +149 -0
- package/packages/host/dist/pair.js +505 -0
- package/packages/host/dist/pair.js.map +1 -0
- package/packages/host/dist/passive.d.ts +58 -0
- package/packages/host/dist/passive.js +187 -0
- package/packages/host/dist/passive.js.map +1 -0
- package/packages/host/dist/paths.d.ts +67 -0
- package/packages/host/dist/paths.js +135 -0
- package/packages/host/dist/paths.js.map +1 -0
- package/packages/host/dist/pathx.d.ts +6 -0
- package/packages/host/dist/pathx.js +35 -0
- package/packages/host/dist/pathx.js.map +1 -0
- package/packages/host/dist/peers/agentpeer.d.ts +58 -0
- package/packages/host/dist/peers/agentpeer.js +249 -0
- package/packages/host/dist/peers/agentpeer.js.map +1 -0
- package/packages/host/dist/peers/client.d.ts +60 -0
- package/packages/host/dist/peers/client.js +96 -0
- package/packages/host/dist/peers/client.js.map +1 -0
- package/packages/host/dist/peers/jobs.d.ts +140 -0
- package/packages/host/dist/peers/jobs.js +424 -0
- package/packages/host/dist/peers/jobs.js.map +1 -0
- package/packages/host/dist/peers/routes.d.ts +50 -0
- package/packages/host/dist/peers/routes.js +191 -0
- package/packages/host/dist/peers/routes.js.map +1 -0
- package/packages/host/dist/peers/serve.d.ts +61 -0
- package/packages/host/dist/peers/serve.js +532 -0
- package/packages/host/dist/peers/serve.js.map +1 -0
- package/packages/host/dist/peers/store.d.ts +64 -0
- package/packages/host/dist/peers/store.js +128 -0
- package/packages/host/dist/peers/store.js.map +1 -0
- package/packages/host/dist/periodspend.d.ts +61 -0
- package/packages/host/dist/periodspend.js +109 -0
- package/packages/host/dist/periodspend.js.map +1 -0
- package/packages/host/dist/permmode.d.ts +90 -0
- package/packages/host/dist/permmode.js +157 -0
- package/packages/host/dist/permmode.js.map +1 -0
- package/packages/host/dist/planbox.d.ts +23 -0
- package/packages/host/dist/planbox.js +123 -0
- package/packages/host/dist/planbox.js.map +1 -0
- package/packages/host/dist/plugins/builtin.d.ts +39 -0
- package/packages/host/dist/plugins/builtin.js +200 -0
- package/packages/host/dist/plugins/builtin.js.map +1 -0
- package/packages/host/dist/plugins/pluginapi.d.ts +34 -0
- package/packages/host/dist/plugins/pluginapi.js +649 -0
- package/packages/host/dist/plugins/pluginapi.js.map +1 -0
- package/packages/host/dist/plugins/pluginassets.d.ts +16 -0
- package/packages/host/dist/plugins/pluginassets.js +44 -0
- package/packages/host/dist/plugins/pluginassets.js.map +1 -0
- package/packages/host/dist/plugins/pluginfiles.d.ts +30 -0
- package/packages/host/dist/plugins/pluginfiles.js +130 -0
- package/packages/host/dist/plugins/pluginfiles.js.map +1 -0
- package/packages/host/dist/plugins/pluginloader.d.ts +59 -0
- package/packages/host/dist/plugins/pluginloader.js +206 -0
- package/packages/host/dist/plugins/pluginloader.js.map +1 -0
- package/packages/host/dist/plugins/pluginregistry.d.ts +249 -0
- package/packages/host/dist/plugins/pluginregistry.js +799 -0
- package/packages/host/dist/plugins/pluginregistry.js.map +1 -0
- package/packages/host/dist/plugins/pluginroutes.d.ts +29 -0
- package/packages/host/dist/plugins/pluginroutes.js +50 -0
- package/packages/host/dist/plugins/pluginroutes.js.map +1 -0
- package/packages/host/dist/plugins/pluginrpc.d.ts +19 -0
- package/packages/host/dist/plugins/pluginrpc.js +28 -0
- package/packages/host/dist/plugins/pluginrpc.js.map +1 -0
- package/packages/host/dist/plugins/pluginstreams.d.ts +109 -0
- package/packages/host/dist/plugins/pluginstreams.js +418 -0
- package/packages/host/dist/plugins/pluginstreams.js.map +1 -0
- package/packages/host/dist/plugins/plugintoolkit/screen.d.ts +9 -0
- package/packages/host/dist/plugins/plugintoolkit/screen.js +21 -0
- package/packages/host/dist/plugins/plugintoolkit/screen.js.map +1 -0
- package/packages/host/dist/plugins/plugintoolkit/sessionfiles.d.ts +6 -0
- package/packages/host/dist/plugins/plugintoolkit/sessionfiles.js +24 -0
- package/packages/host/dist/plugins/plugintoolkit/sessionfiles.js.map +1 -0
- package/packages/host/dist/plugins/plugintoolkit/tail.d.ts +10 -0
- package/packages/host/dist/plugins/plugintoolkit/tail.js +110 -0
- package/packages/host/dist/plugins/plugintoolkit/tail.js.map +1 -0
- package/packages/host/dist/plugins/setupcontrib.d.ts +64 -0
- package/packages/host/dist/plugins/setupcontrib.js +94 -0
- package/packages/host/dist/plugins/setupcontrib.js.map +1 -0
- package/packages/host/dist/proc.d.ts +13 -0
- package/packages/host/dist/proc.js +27 -0
- package/packages/host/dist/proc.js.map +1 -0
- package/packages/host/dist/prompt.d.ts +113 -0
- package/packages/host/dist/prompt.js +565 -0
- package/packages/host/dist/prompt.js.map +1 -0
- package/packages/host/dist/promptbase.d.ts +28 -0
- package/packages/host/dist/promptbase.js +42 -0
- package/packages/host/dist/promptbase.js.map +1 -0
- package/packages/host/dist/promptmerge.d.ts +63 -0
- package/packages/host/dist/promptmerge.js +221 -0
- package/packages/host/dist/promptmerge.js.map +1 -0
- package/packages/host/dist/promptnav.d.ts +29 -0
- package/packages/host/dist/promptnav.js +97 -0
- package/packages/host/dist/promptnav.js.map +1 -0
- package/packages/host/dist/prompts.d.ts +4 -0
- package/packages/host/dist/prompts.js +78 -0
- package/packages/host/dist/prompts.js.map +1 -0
- package/packages/host/dist/ptycap.d.ts +41 -0
- package/packages/host/dist/ptycap.js +192 -0
- package/packages/host/dist/ptycap.js.map +1 -0
- package/packages/host/dist/ptyenv.d.ts +3 -0
- package/packages/host/dist/ptyenv.js +63 -0
- package/packages/host/dist/ptyenv.js.map +1 -0
- package/packages/host/dist/push.d.ts +42 -0
- package/packages/host/dist/push.js +107 -0
- package/packages/host/dist/push.js.map +1 -0
- package/packages/host/dist/pushprogress.d.ts +27 -0
- package/packages/host/dist/pushprogress.js +72 -0
- package/packages/host/dist/pushprogress.js.map +1 -0
- package/packages/host/dist/question.d.ts +60 -0
- package/packages/host/dist/question.js +137 -0
- package/packages/host/dist/question.js.map +1 -0
- package/packages/host/dist/ratelimit.d.ts +44 -0
- package/packages/host/dist/ratelimit.js +68 -0
- package/packages/host/dist/ratelimit.js.map +1 -0
- package/packages/host/dist/render.d.ts +50 -0
- package/packages/host/dist/render.js +138 -0
- package/packages/host/dist/render.js.map +1 -0
- package/packages/host/dist/repohealth.d.ts +113 -0
- package/packages/host/dist/repohealth.js +752 -0
- package/packages/host/dist/repohealth.js.map +1 -0
- package/packages/host/dist/repohealthapproval.d.ts +88 -0
- package/packages/host/dist/repohealthapproval.js +709 -0
- package/packages/host/dist/repohealthapproval.js.map +1 -0
- package/packages/host/dist/repohealthscopes.d.ts +23 -0
- package/packages/host/dist/repohealthscopes.js +124 -0
- package/packages/host/dist/repohealthscopes.js.map +1 -0
- package/packages/host/dist/repos.d.ts +25 -0
- package/packages/host/dist/repos.js +181 -0
- package/packages/host/dist/repos.js.map +1 -0
- package/packages/host/dist/reposkill.d.ts +17 -0
- package/packages/host/dist/reposkill.js +92 -0
- package/packages/host/dist/reposkill.js.map +1 -0
- package/packages/host/dist/reposkilltext.d.ts +16 -0
- package/packages/host/dist/reposkilltext.js +320 -0
- package/packages/host/dist/reposkilltext.js.map +1 -0
- package/packages/host/dist/restartnote.d.ts +17 -0
- package/packages/host/dist/restartnote.js +36 -0
- package/packages/host/dist/restartnote.js.map +1 -0
- package/packages/host/dist/review.d.ts +83 -0
- package/packages/host/dist/review.js +513 -0
- package/packages/host/dist/review.js.map +1 -0
- package/packages/host/dist/rootchoice.d.ts +26 -0
- package/packages/host/dist/rootchoice.js +101 -0
- package/packages/host/dist/rootchoice.js.map +1 -0
- package/packages/host/dist/routes/apihost.d.ts +2 -0
- package/packages/host/dist/routes/apihost.js +532 -0
- package/packages/host/dist/routes/apihost.js.map +1 -0
- package/packages/host/dist/routes/apiio.d.ts +86 -0
- package/packages/host/dist/routes/apiio.js +354 -0
- package/packages/host/dist/routes/apiio.js.map +1 -0
- package/packages/host/dist/routes/apirepofiles.d.ts +7 -0
- package/packages/host/dist/routes/apirepofiles.js +382 -0
- package/packages/host/dist/routes/apirepofiles.js.map +1 -0
- package/packages/host/dist/routes/apirepowork.d.ts +2 -0
- package/packages/host/dist/routes/apirepowork.js +500 -0
- package/packages/host/dist/routes/apirepowork.js.map +1 -0
- package/packages/host/dist/routes/apiroutes.d.ts +14 -0
- package/packages/host/dist/routes/apiroutes.js +20 -0
- package/packages/host/dist/routes/apiroutes.js.map +1 -0
- package/packages/host/dist/routes/apisession.d.ts +2 -0
- package/packages/host/dist/routes/apisession.js +197 -0
- package/packages/host/dist/routes/apisession.js.map +1 -0
- package/packages/host/dist/routes/apistats.d.ts +2 -0
- package/packages/host/dist/routes/apistats.js +220 -0
- package/packages/host/dist/routes/apistats.js.map +1 -0
- package/packages/host/dist/routes/apisystem.d.ts +2 -0
- package/packages/host/dist/routes/apisystem.js +389 -0
- package/packages/host/dist/routes/apisystem.js.map +1 -0
- package/packages/host/dist/routes/apitable.d.ts +180 -0
- package/packages/host/dist/routes/apitable.js +71 -0
- package/packages/host/dist/routes/apitable.js.map +1 -0
- package/packages/host/dist/routes/index.d.ts +19 -0
- package/packages/host/dist/routes/index.js +65 -0
- package/packages/host/dist/routes/index.js.map +1 -0
- package/packages/host/dist/routes/session.d.ts +2 -0
- package/packages/host/dist/routes/session.js +771 -0
- package/packages/host/dist/routes/session.js.map +1 -0
- package/packages/host/dist/routes/system.d.ts +24 -0
- package/packages/host/dist/routes/system.js +530 -0
- package/packages/host/dist/routes/system.js.map +1 -0
- package/packages/host/dist/routes/types.d.ts +283 -0
- package/packages/host/dist/routes/types.js +2 -0
- package/packages/host/dist/routes/types.js.map +1 -0
- package/packages/host/dist/routes/work/workassess.d.ts +2 -0
- package/packages/host/dist/routes/work/workassess.js +182 -0
- package/packages/host/dist/routes/work/workassess.js.map +1 -0
- package/packages/host/dist/routes/work/workbacklog.d.ts +2 -0
- package/packages/host/dist/routes/work/workbacklog.js +329 -0
- package/packages/host/dist/routes/work/workbacklog.js.map +1 -0
- package/packages/host/dist/routes/work/workbuild.d.ts +2 -0
- package/packages/host/dist/routes/work/workbuild.js +250 -0
- package/packages/host/dist/routes/work/workbuild.js.map +1 -0
- package/packages/host/dist/routes/work/workintent.d.ts +2 -0
- package/packages/host/dist/routes/work/workintent.js +167 -0
- package/packages/host/dist/routes/work/workintent.js.map +1 -0
- package/packages/host/dist/routes/work/workschedule.d.ts +2 -0
- package/packages/host/dist/routes/work/workschedule.js +131 -0
- package/packages/host/dist/routes/work/workschedule.js.map +1 -0
- package/packages/host/dist/routes/work.d.ts +10 -0
- package/packages/host/dist/routes/work.js +13 -0
- package/packages/host/dist/routes/work.js.map +1 -0
- package/packages/host/dist/scaffold.d.ts +104 -0
- package/packages/host/dist/scaffold.js +417 -0
- package/packages/host/dist/scaffold.js.map +1 -0
- package/packages/host/dist/screenlog.d.ts +43 -0
- package/packages/host/dist/screenlog.js +209 -0
- package/packages/host/dist/screenlog.js.map +1 -0
- package/packages/host/dist/secrets.d.ts +72 -0
- package/packages/host/dist/secrets.js +258 -0
- package/packages/host/dist/secrets.js.map +1 -0
- package/packages/host/dist/sentlog.d.ts +82 -0
- package/packages/host/dist/sentlog.js +186 -0
- package/packages/host/dist/sentlog.js.map +1 -0
- package/packages/host/dist/server/billingwire.d.ts +24 -0
- package/packages/host/dist/server/billingwire.js +73 -0
- package/packages/host/dist/server/billingwire.js.map +1 -0
- package/packages/host/dist/server/clients.d.ts +52 -0
- package/packages/host/dist/server/clients.js +178 -0
- package/packages/host/dist/server/clients.js.map +1 -0
- package/packages/host/dist/server/ctx.d.ts +118 -0
- package/packages/host/dist/server/ctx.js +2 -0
- package/packages/host/dist/server/ctx.js.map +1 -0
- package/packages/host/dist/server/ctxseal.d.ts +21 -0
- package/packages/host/dist/server/ctxseal.js +24 -0
- package/packages/host/dist/server/ctxseal.js.map +1 -0
- package/packages/host/dist/server/deliveries.d.ts +20 -0
- package/packages/host/dist/server/deliveries.js +276 -0
- package/packages/host/dist/server/deliveries.js.map +1 -0
- package/packages/host/dist/server/firstapp.d.ts +12 -0
- package/packages/host/dist/server/firstapp.js +37 -0
- package/packages/host/dist/server/firstapp.js.map +1 -0
- package/packages/host/dist/server/http.d.ts +34 -0
- package/packages/host/dist/server/http.js +475 -0
- package/packages/host/dist/server/http.js.map +1 -0
- package/packages/host/dist/server/intentDeps.d.ts +36 -0
- package/packages/host/dist/server/intentDeps.js +418 -0
- package/packages/host/dist/server/intentDeps.js.map +1 -0
- package/packages/host/dist/server/intentEvents.d.ts +13 -0
- package/packages/host/dist/server/intentEvents.js +234 -0
- package/packages/host/dist/server/intentEvents.js.map +1 -0
- package/packages/host/dist/server/liveness.d.ts +64 -0
- package/packages/host/dist/server/liveness.js +74 -0
- package/packages/host/dist/server/liveness.js.map +1 -0
- package/packages/host/dist/server/scan.d.ts +41 -0
- package/packages/host/dist/server/scan.js +227 -0
- package/packages/host/dist/server/scan.js.map +1 -0
- package/packages/host/dist/server/sessionEvents.d.ts +40 -0
- package/packages/host/dist/server/sessionEvents.js +509 -0
- package/packages/host/dist/server/sessionEvents.js.map +1 -0
- package/packages/host/dist/server/shutdown.d.ts +11 -0
- package/packages/host/dist/server/shutdown.js +135 -0
- package/packages/host/dist/server/shutdown.js.map +1 -0
- package/packages/host/dist/server/wsops.d.ts +44 -0
- package/packages/host/dist/server/wsops.js +313 -0
- package/packages/host/dist/server/wsops.js.map +1 -0
- package/packages/host/dist/sessionSearch.d.ts +46 -0
- package/packages/host/dist/sessionSearch.js +93 -0
- package/packages/host/dist/sessionSearch.js.map +1 -0
- package/packages/host/dist/sessionbudget.d.ts +61 -0
- package/packages/host/dist/sessionbudget.js +84 -0
- package/packages/host/dist/sessionbudget.js.map +1 -0
- package/packages/host/dist/sessions/boxes.d.ts +112 -0
- package/packages/host/dist/sessions/boxes.js +968 -0
- package/packages/host/dist/sessions/boxes.js.map +1 -0
- package/packages/host/dist/sessions/budgetwatch.d.ts +95 -0
- package/packages/host/dist/sessions/budgetwatch.js +171 -0
- package/packages/host/dist/sessions/budgetwatch.js.map +1 -0
- package/packages/host/dist/sessions/convid.d.ts +72 -0
- package/packages/host/dist/sessions/convid.js +305 -0
- package/packages/host/dist/sessions/convid.js.map +1 -0
- package/packages/host/dist/sessions/core.d.ts +749 -0
- package/packages/host/dist/sessions/core.js +2 -0
- package/packages/host/dist/sessions/core.js.map +1 -0
- package/packages/host/dist/sessions/ctxseries.d.ts +184 -0
- package/packages/host/dist/sessions/ctxseries.js +766 -0
- package/packages/host/dist/sessions/ctxseries.js.map +1 -0
- package/packages/host/dist/sessions/drive.d.ts +207 -0
- package/packages/host/dist/sessions/drive.js +779 -0
- package/packages/host/dist/sessions/drive.js.map +1 -0
- package/packages/host/dist/sessions/haltall.d.ts +36 -0
- package/packages/host/dist/sessions/haltall.js +95 -0
- package/packages/host/dist/sessions/haltall.js.map +1 -0
- package/packages/host/dist/sessions/health.d.ts +88 -0
- package/packages/host/dist/sessions/health.js +108 -0
- package/packages/host/dist/sessions/health.js.map +1 -0
- package/packages/host/dist/sessions/idlewatch.d.ts +34 -0
- package/packages/host/dist/sessions/idlewatch.js +74 -0
- package/packages/host/dist/sessions/idlewatch.js.map +1 -0
- package/packages/host/dist/sessions/knobs.d.ts +315 -0
- package/packages/host/dist/sessions/knobs.js +411 -0
- package/packages/host/dist/sessions/knobs.js.map +1 -0
- package/packages/host/dist/sessions/links.d.ts +53 -0
- package/packages/host/dist/sessions/links.js +209 -0
- package/packages/host/dist/sessions/links.js.map +1 -0
- package/packages/host/dist/sessions/livemode.d.ts +56 -0
- package/packages/host/dist/sessions/livemode.js +300 -0
- package/packages/host/dist/sessions/livemode.js.map +1 -0
- package/packages/host/dist/sessions/record.d.ts +196 -0
- package/packages/host/dist/sessions/record.js +719 -0
- package/packages/host/dist/sessions/record.js.map +1 -0
- package/packages/host/dist/sessions/resume.d.ts +164 -0
- package/packages/host/dist/sessions/resume.js +629 -0
- package/packages/host/dist/sessions/resume.js.map +1 -0
- package/packages/host/dist/sessions/roster.d.ts +164 -0
- package/packages/host/dist/sessions/roster.js +566 -0
- package/packages/host/dist/sessions/roster.js.map +1 -0
- package/packages/host/dist/sessions/sidechannel.d.ts +96 -0
- package/packages/host/dist/sessions/sidechannel.js +726 -0
- package/packages/host/dist/sessions/sidechannel.js.map +1 -0
- package/packages/host/dist/sessions/tmux.d.ts +247 -0
- package/packages/host/dist/sessions/tmux.js +731 -0
- package/packages/host/dist/sessions/tmux.js.map +1 -0
- package/packages/host/dist/sessions/turn.d.ts +237 -0
- package/packages/host/dist/sessions/turn.js +1003 -0
- package/packages/host/dist/sessions/turn.js.map +1 -0
- package/packages/host/dist/sessions/wall.d.ts +117 -0
- package/packages/host/dist/sessions/wall.js +658 -0
- package/packages/host/dist/sessions/wall.js.map +1 -0
- package/packages/host/dist/sessions.d.ts +255 -0
- package/packages/host/dist/sessions.js +758 -0
- package/packages/host/dist/sessions.js.map +1 -0
- package/packages/host/dist/settings.d.ts +40 -0
- package/packages/host/dist/settings.js +171 -0
- package/packages/host/dist/settings.js.map +1 -0
- package/packages/host/dist/settle.d.ts +171 -0
- package/packages/host/dist/settle.js +409 -0
- package/packages/host/dist/settle.js.map +1 -0
- package/packages/host/dist/setupprefs.d.ts +51 -0
- package/packages/host/dist/setupprefs.js +178 -0
- package/packages/host/dist/setupprefs.js.map +1 -0
- package/packages/host/dist/setupwatch.d.ts +39 -0
- package/packages/host/dist/setupwatch.js +249 -0
- package/packages/host/dist/setupwatch.js.map +1 -0
- package/packages/host/dist/shelllinks.d.ts +39 -0
- package/packages/host/dist/shelllinks.js +292 -0
- package/packages/host/dist/shelllinks.js.map +1 -0
- package/packages/host/dist/shells.d.ts +190 -0
- package/packages/host/dist/shells.js +633 -0
- package/packages/host/dist/shells.js.map +1 -0
- package/packages/host/dist/sidecar/sidecarclaude.d.ts +120 -0
- package/packages/host/dist/sidecar/sidecarclaude.js +213 -0
- package/packages/host/dist/sidecar/sidecarclaude.js.map +1 -0
- package/packages/host/dist/sidecar/sidecarname.d.ts +99 -0
- package/packages/host/dist/sidecar/sidecarname.js +163 -0
- package/packages/host/dist/sidecar/sidecarname.js.map +1 -0
- package/packages/host/dist/sidecar/sidecaropenai.d.ts +24 -0
- package/packages/host/dist/sidecar/sidecaropenai.js +129 -0
- package/packages/host/dist/sidecar/sidecaropenai.js.map +1 -0
- package/packages/host/dist/sidecar/sidecarroute.d.ts +65 -0
- package/packages/host/dist/sidecar/sidecarroute.js +158 -0
- package/packages/host/dist/sidecar/sidecarroute.js.map +1 -0
- package/packages/host/dist/sidecar/sidecartasks.d.ts +20 -0
- package/packages/host/dist/sidecar/sidecartasks.js +63 -0
- package/packages/host/dist/sidecar/sidecartasks.js.map +1 -0
- package/packages/host/dist/sidecar/sidecartrust.d.ts +32 -0
- package/packages/host/dist/sidecar/sidecartrust.js +74 -0
- package/packages/host/dist/sidecar/sidecartrust.js.map +1 -0
- package/packages/host/dist/sidecar.d.ts +82 -0
- package/packages/host/dist/sidecar.js +78 -0
- package/packages/host/dist/sidecar.js.map +1 -0
- package/packages/host/dist/signkey.d.ts +57 -0
- package/packages/host/dist/signkey.js +159 -0
- package/packages/host/dist/signkey.js.map +1 -0
- package/packages/host/dist/slash.d.ts +43 -0
- package/packages/host/dist/slash.js +236 -0
- package/packages/host/dist/slash.js.map +1 -0
- package/packages/host/dist/sourceanswer.d.ts +103 -0
- package/packages/host/dist/sourceanswer.js +193 -0
- package/packages/host/dist/sourceanswer.js.map +1 -0
- package/packages/host/dist/speedtest.d.ts +57 -0
- package/packages/host/dist/speedtest.js +137 -0
- package/packages/host/dist/speedtest.js.map +1 -0
- package/packages/host/dist/spendwall.d.ts +33 -0
- package/packages/host/dist/spendwall.js +45 -0
- package/packages/host/dist/spendwall.js.map +1 -0
- package/packages/host/dist/sysstat.d.ts +134 -0
- package/packages/host/dist/sysstat.js +630 -0
- package/packages/host/dist/sysstat.js.map +1 -0
- package/packages/host/dist/tailnetpeers.d.ts +34 -0
- package/packages/host/dist/tailnetpeers.js +116 -0
- package/packages/host/dist/tailnetpeers.js.map +1 -0
- package/packages/host/dist/tailscaleguard.d.ts +11 -0
- package/packages/host/dist/tailscaleguard.js +133 -0
- package/packages/host/dist/tailscaleguard.js.map +1 -0
- package/packages/host/dist/termqueries.d.ts +124 -0
- package/packages/host/dist/termqueries.js +207 -0
- package/packages/host/dist/termqueries.js.map +1 -0
- package/packages/host/dist/themeoverlay.d.ts +74 -0
- package/packages/host/dist/themeoverlay.js +262 -0
- package/packages/host/dist/themeoverlay.js.map +1 -0
- package/packages/host/dist/thumbs.d.ts +69 -0
- package/packages/host/dist/thumbs.js +359 -0
- package/packages/host/dist/thumbs.js.map +1 -0
- package/packages/host/dist/tmuxreq.d.ts +91 -0
- package/packages/host/dist/tmuxreq.js +207 -0
- package/packages/host/dist/tmuxreq.js.map +1 -0
- package/packages/host/dist/tmuxscroll.d.ts +70 -0
- package/packages/host/dist/tmuxscroll.js +206 -0
- package/packages/host/dist/tmuxscroll.js.map +1 -0
- package/packages/host/dist/tokenscan.d.ts +63 -0
- package/packages/host/dist/tokenscan.js +220 -0
- package/packages/host/dist/tokenscan.js.map +1 -0
- package/packages/host/dist/tokenstats.d.ts +115 -0
- package/packages/host/dist/tokenstats.js +763 -0
- package/packages/host/dist/tokenstats.js.map +1 -0
- package/packages/host/dist/toolchain.d.ts +147 -0
- package/packages/host/dist/toolchain.js +468 -0
- package/packages/host/dist/toolchain.js.map +1 -0
- package/packages/host/dist/transcript/transcriptlog.d.ts +134 -0
- package/packages/host/dist/transcript/transcriptlog.js +300 -0
- package/packages/host/dist/transcript/transcriptlog.js.map +1 -0
- package/packages/host/dist/transcript/transcriptparse.d.ts +28 -0
- package/packages/host/dist/transcript/transcriptparse.js +377 -0
- package/packages/host/dist/transcript/transcriptparse.js.map +1 -0
- package/packages/host/dist/transcript/transcriptscreen.d.ts +71 -0
- package/packages/host/dist/transcript/transcriptscreen.js +120 -0
- package/packages/host/dist/transcript/transcriptscreen.js.map +1 -0
- package/packages/host/dist/transcript/transcriptturns.d.ts +139 -0
- package/packages/host/dist/transcript/transcriptturns.js +270 -0
- package/packages/host/dist/transcript/transcriptturns.js.map +1 -0
- package/packages/host/dist/transcript.d.ts +28 -0
- package/packages/host/dist/transcript.js +34 -0
- package/packages/host/dist/transcript.js.map +1 -0
- package/packages/host/dist/transportsurvey.d.ts +10 -0
- package/packages/host/dist/transportsurvey.js +109 -0
- package/packages/host/dist/transportsurvey.js.map +1 -0
- package/packages/host/dist/tree.d.ts +80 -0
- package/packages/host/dist/tree.js +372 -0
- package/packages/host/dist/tree.js.map +1 -0
- package/packages/host/dist/turnagents.d.ts +17 -0
- package/packages/host/dist/turnagents.js +205 -0
- package/packages/host/dist/turnagents.js.map +1 -0
- package/packages/host/dist/uistats.d.ts +18 -0
- package/packages/host/dist/uistats.js +105 -0
- package/packages/host/dist/uistats.js.map +1 -0
- package/packages/host/dist/update.d.ts +100 -0
- package/packages/host/dist/update.js +536 -0
- package/packages/host/dist/update.js.map +1 -0
- package/packages/host/dist/updates/apply.d.ts +45 -0
- package/packages/host/dist/updates/apply.js +362 -0
- package/packages/host/dist/updates/apply.js.map +1 -0
- package/packages/host/dist/updates/catalog.d.ts +11 -0
- package/packages/host/dist/updates/catalog.js +123 -0
- package/packages/host/dist/updates/catalog.js.map +1 -0
- package/packages/host/dist/updates/checker.d.ts +73 -0
- package/packages/host/dist/updates/checker.js +189 -0
- package/packages/host/dist/updates/checker.js.map +1 -0
- package/packages/host/dist/updates/github.d.ts +13 -0
- package/packages/host/dist/updates/github.js +63 -0
- package/packages/host/dist/updates/github.js.map +1 -0
- package/packages/host/dist/updates/gitops.d.ts +16 -0
- package/packages/host/dist/updates/gitops.js +61 -0
- package/packages/host/dist/updates/gitops.js.map +1 -0
- package/packages/host/dist/updates/installrecord.d.ts +26 -0
- package/packages/host/dist/updates/installrecord.js +42 -0
- package/packages/host/dist/updates/installrecord.js.map +1 -0
- package/packages/host/dist/updates/remote.d.ts +10 -0
- package/packages/host/dist/updates/remote.js +54 -0
- package/packages/host/dist/updates/remote.js.map +1 -0
- package/packages/host/dist/updates/restart.d.ts +5 -0
- package/packages/host/dist/updates/restart.js +20 -0
- package/packages/host/dist/updates/restart.js.map +1 -0
- package/packages/host/dist/updates/self.d.ts +19 -0
- package/packages/host/dist/updates/self.js +51 -0
- package/packages/host/dist/updates/self.js.map +1 -0
- package/packages/host/dist/updates/wire.d.ts +18 -0
- package/packages/host/dist/updates/wire.js +21 -0
- package/packages/host/dist/updates/wire.js.map +1 -0
- package/packages/host/dist/usage.d.ts +124 -0
- package/packages/host/dist/usage.js +411 -0
- package/packages/host/dist/usage.js.map +1 -0
- package/packages/host/dist/usagelog.d.ts +53 -0
- package/packages/host/dist/usagelog.js +223 -0
- package/packages/host/dist/usagelog.js.map +1 -0
- package/packages/host/dist/usagesourcelog.d.ts +59 -0
- package/packages/host/dist/usagesourcelog.js +208 -0
- package/packages/host/dist/usagesourcelog.js.map +1 -0
- package/packages/host/dist/usagesources.d.ts +175 -0
- package/packages/host/dist/usagesources.js +462 -0
- package/packages/host/dist/usagesources.js.map +1 -0
- package/packages/host/dist/visualskill.d.ts +36 -0
- package/packages/host/dist/visualskill.js +230 -0
- package/packages/host/dist/visualskill.js.map +1 -0
- package/packages/host/dist/webbundle.d.ts +47 -0
- package/packages/host/dist/webbundle.js +155 -0
- package/packages/host/dist/webbundle.js.map +1 -0
- package/packages/host/dist/wirerecord.d.ts +5 -0
- package/packages/host/dist/wirerecord.js +128 -0
- package/packages/host/dist/wirerecord.js.map +1 -0
- package/packages/host/dist/worktreeleftover.d.ts +27 -0
- package/packages/host/dist/worktreeleftover.js +153 -0
- package/packages/host/dist/worktreeleftover.js.map +1 -0
- package/packages/host/dist/worktreeowner.d.ts +17 -0
- package/packages/host/dist/worktreeowner.js +45 -0
- package/packages/host/dist/worktreeowner.js.map +1 -0
- package/packages/host/package.json +26 -0
- package/packages/web/dist/assets/apple-touch-icon.png +0 -0
- package/packages/web/dist/assets/badge-96.png +0 -0
- package/packages/web/dist/assets/demo-CXlqlYE4.js +23 -0
- package/packages/web/dist/assets/hero.png +0 -0
- package/packages/web/dist/assets/icon-192.png +0 -0
- package/packages/web/dist/assets/icon-32.png +0 -0
- package/packages/web/dist/assets/icon-48.png +0 -0
- package/packages/web/dist/assets/icon-512-maskable.png +0 -0
- package/packages/web/dist/assets/icon-512.png +0 -0
- package/packages/web/dist/assets/icon-dark.svg +43 -0
- package/packages/web/dist/assets/icon-light.svg +42 -0
- package/packages/web/dist/assets/icon.svg +11 -0
- package/packages/web/dist/assets/icons-BbqDBVjw.js +1 -0
- package/packages/web/dist/assets/index-CgPoyb3Y.css +1 -0
- package/packages/web/dist/assets/index-D5JKj8DK.js +169 -0
- package/packages/web/dist/assets/react-CoSyT_xY.js +8 -0
- package/packages/web/dist/assets/rolldown-runtime-BpQH8Ho1.js +1 -0
- package/packages/web/dist/assets/shared-eyaskl5l.js +47 -0
- package/packages/web/dist/assets/sheets-Bjv2L-cG.css +1 -0
- package/packages/web/dist/assets/sheets-BzzL2re1.js +204 -0
- package/packages/web/dist/assets/vendor-BPwPmufs.js +3 -0
- package/packages/web/dist/assets/xterm-BrP-ENHg.css +1 -0
- package/packages/web/dist/assets/xterm-C8zLTNGk.js +16 -0
- package/packages/web/dist/build-id.txt +1 -0
- package/packages/web/dist/demo/media/r1/dot-claude/inbox/swipe-sketch.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-android-fixed.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-android.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-before.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-date-picker.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-empty-state.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-grouped.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-ios.png +0 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-preview.html +18 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-release-notes.md +21 -0
- package/packages/web/dist/demo/media/r1/dot-claude/outbox/todo-garden-sorted.png +0 -0
- package/packages/web/dist/demo/media/r3/dot-claude/outbox/trail-log-ridge-loop.png +0 -0
- package/packages/web/dist/index.html +84 -0
- package/packages/web/dist/manifest.webmanifest +16 -0
- package/packages/web/dist/sw.js +420 -0
- package/release.json +22 -0
- package/scripts/windows/keeper.ps1 +60 -0
- package/scripts/windows/wsl-setup.sh +173 -0
- package/tools/repohealth/census.mjs +353 -0
- package/tools/repohealth/central.mjs +234 -0
- package/tools/repohealth/constants.mjs +420 -0
- package/tools/repohealth/events.mjs +563 -0
- package/tools/repohealth/fixture.json +17976 -0
- package/tools/repohealth/git.mjs +471 -0
- package/tools/repohealth/html.mjs +601 -0
- package/tools/repohealth/judge.mjs +546 -0
- package/tools/repohealth/lang/typescript-ast.mjs +538 -0
- package/tools/repohealth/metrics/classics.mjs +239 -0
- package/tools/repohealth/metrics/cochange.mjs +234 -0
- package/tools/repohealth/metrics/context.mjs +411 -0
- package/tools/repohealth/metrics/deadexports.mjs +122 -0
- package/tools/repohealth/metrics/dups.mjs +261 -0
- package/tools/repohealth/metrics/hatches.mjs +164 -0
- package/tools/repohealth/metrics/retouch.mjs +326 -0
- package/tools/repohealth/metrics/route.mjs +159 -0
- package/tools/repohealth/metrics/size.mjs +120 -0
- package/tools/repohealth/metrics/tripwires.mjs +258 -0
- package/tools/repohealth/metrics/untested.mjs +308 -0
- package/tools/repohealth/narrate.mjs +342 -0
- package/tools/repohealth/own.mjs +238 -0
- package/tools/repohealth/packs/c.mjs +124 -0
- package/tools/repohealth/packs/common.mjs +205 -0
- package/tools/repohealth/packs/dart.mjs +118 -0
- package/tools/repohealth/packs/index.mjs +83 -0
- package/tools/repohealth/packs/kotlin.mjs +320 -0
- package/tools/repohealth/packs/python.mjs +488 -0
- package/tools/repohealth/packs/shell.mjs +88 -0
- package/tools/repohealth/packs/typescript.mjs +604 -0
- package/tools/repohealth/plot.mjs +462 -0
- package/tools/repohealth/readings.mjs +427 -0
- package/tools/repohealth/scope.mjs +184 -0
- package/tools/repohealth/series.mjs +360 -0
- package/tools/repohealth/snapshot.mjs +431 -0
- package/tools/repohealth/source.mjs +266 -0
- package/tools/repohealth/statefile.mjs +31 -0
- package/tools/repohealth/types.mjs +316 -0
- package/tools/repohealth.mjs +767 -0
- package/tools/skillmap.mjs +109 -0
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pad, as a value two devices can both write to without deleting each
|
|
3
|
+
* other's words.
|
|
4
|
+
*
|
|
5
|
+
* The pad is a synced setting, and a synced setting is an OPAQUE STRING with
|
|
6
|
+
* one `ts` — the host never parses it (`shared/settings.ts` argues why at
|
|
7
|
+
* length). So the merge the host can perform is last-write-wins on the whole
|
|
8
|
+
* value: a device that pushes its pad while holding an older copy replaces
|
|
9
|
+
* every note the other one had, with no diff, no warning, and nothing on the
|
|
10
|
+
* wire that distinguishes it from a deliberate delete. For a preference that is
|
|
11
|
+
* the right rule; for the store whose entire job is to be the last copy of
|
|
12
|
+
* words that never ran, it is a silent delete.
|
|
13
|
+
*
|
|
14
|
+
* Everything that used to compensate for that — a diff that guessed which
|
|
15
|
+
* drops were losses, a device-local rescue store, an amber "N notes were kept
|
|
16
|
+
* for you" block — is gone, because the merge is fixed instead. The CLIENT
|
|
17
|
+
* merges per note on adopt (`web/settings.ts`'s `onAdopt`), the host still
|
|
18
|
+
* stores a string and still compares a `ts`, and nothing on the wire changed.
|
|
19
|
+
*
|
|
20
|
+
* ── The shape, and why it is still one array ──────────────────────────────
|
|
21
|
+
*
|
|
22
|
+
* The synced value stays ONE JSON array under `waterplane.pad`, with two element
|
|
23
|
+
* shapes discriminated by their fields: a note has a string `text`, a
|
|
24
|
+
* tombstone has a finite `gone` and no text. It is not `{v:2,notes,tombs}`,
|
|
25
|
+
* which would have been tidier, because an older bundle's `loadPad` and its
|
|
26
|
+
* `onAdopt` guard both filter to elements with a string `text` — against an
|
|
27
|
+
* array they drop the tombstones silently and keep a working pad, where
|
|
28
|
+
* against an object they would show the user an EMPTY pad. The host's
|
|
29
|
+
* `padNotesFor` already skips text-less elements for the same reason.
|
|
30
|
+
*
|
|
31
|
+
* ── The failure mode this chooses ─────────────────────────────────────────
|
|
32
|
+
*
|
|
33
|
+
* A legacy array parses as a `PadDoc` with `tombs: []`. So a delete made on a
|
|
34
|
+
* device still running an old bundle — or one that fell more than
|
|
35
|
+
* `PAD_TOMB_TTL_MS` behind the newest words either copy carries — is forgotten,
|
|
36
|
+
* and the note comes back once, everywhere, wearing its original date. That
|
|
37
|
+
* costs one tap. The failure it replaces cost words.
|
|
38
|
+
*
|
|
39
|
+
* Pinned by `packages/shared/test/pad.test.mjs`.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* Hard bounds on the pad — a COUNT that rarely binds and a BYTE budget that does.
|
|
43
|
+
*
|
|
44
|
+
* The pad is not a scratch list. It holds words that have no target yet, which
|
|
45
|
+
* is the one kind this app cannot reconstruct from anywhere else. Both bind on
|
|
46
|
+
* a LOCAL ADD only, and an add past them is REFUSED rather than silently
|
|
47
|
+
* shedding the oldest note — a refusal leaves the words in the editor, where
|
|
48
|
+
* their author can see them; shedding deleted a note precisely because it was
|
|
49
|
+
* old, and a note is old exactly when nobody has dealt with it yet.
|
|
50
|
+
*/
|
|
51
|
+
export const PAD_CAP = 400;
|
|
52
|
+
export const PAD_BYTES = 512 * 1024;
|
|
53
|
+
/**
|
|
54
|
+
* How long a tombstone suppresses the note it names: 30 days.
|
|
55
|
+
*
|
|
56
|
+
* The argument is "how long may a device be offline before its stale copy is
|
|
57
|
+
* allowed to resurrect a delete", not the retired rescue store's 7 days, which
|
|
58
|
+
* measured something else entirely. A month is the longest a phone left in a
|
|
59
|
+
* drawer plausibly stays paired; past that the delete is forgotten and the
|
|
60
|
+
* stale copy comes back once, wearing its old date.
|
|
61
|
+
*
|
|
62
|
+
* Measured against the PAD's own newest stamp, never against a device clock —
|
|
63
|
+
* `mergePad` argues why at length. So "30 days" means 30 days of the pad being
|
|
64
|
+
* written to without this delete travelling, which is the thing the number was
|
|
65
|
+
* ever a guess about.
|
|
66
|
+
*/
|
|
67
|
+
export const PAD_TOMB_TTL_MS = 30 * 24 * 60 * 60 * 1000;
|
|
68
|
+
/** Tombstones are capped like notes, newest `gone` kept. Same number, because
|
|
69
|
+
* the worst case is one tombstone per note and there is no reason for the two
|
|
70
|
+
* halves of one value to have different ceilings. */
|
|
71
|
+
export const PAD_TOMB_CAP = PAD_CAP;
|
|
72
|
+
// ── Parse and serialize ──────────────────────────────────────────────
|
|
73
|
+
function finite(v) {
|
|
74
|
+
return typeof v === "number" && Number.isFinite(v) ? v : null;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Read the stored value, tolerating everything.
|
|
78
|
+
*
|
|
79
|
+
* Nothing here throws and nothing here is authoritative: a value written by a
|
|
80
|
+
* newer bundle, an older one, or half a bundle must still produce a pad
|
|
81
|
+
* somebody can use. Not an array (or unparseable) is an EMPTY doc, never an
|
|
82
|
+
* error — the alternative is a sheet that cannot render.
|
|
83
|
+
*/
|
|
84
|
+
export function parsePad(raw) {
|
|
85
|
+
let list;
|
|
86
|
+
try {
|
|
87
|
+
list = raw ? JSON.parse(raw) : null;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return { notes: [], tombs: [] };
|
|
91
|
+
}
|
|
92
|
+
if (!Array.isArray(list))
|
|
93
|
+
return { notes: [], tombs: [] };
|
|
94
|
+
const notes = new Map();
|
|
95
|
+
const tombs = new Map();
|
|
96
|
+
for (const el of list) {
|
|
97
|
+
if (!el || typeof el !== "object")
|
|
98
|
+
continue;
|
|
99
|
+
const d = el;
|
|
100
|
+
if (typeof d.id !== "string" || !d.id)
|
|
101
|
+
continue;
|
|
102
|
+
if (typeof d.text === "string") {
|
|
103
|
+
const steps = Array.isArray(d.steps) ? d.steps.filter((s) => typeof s === "string") : [];
|
|
104
|
+
const note = { id: d.id, text: d.text, ts: finite(d.ts) ?? 0 };
|
|
105
|
+
if (steps.length)
|
|
106
|
+
note.steps = steps;
|
|
107
|
+
if (typeof d.cwd === "string" && d.cwd)
|
|
108
|
+
note.cwd = d.cwd;
|
|
109
|
+
// Duplicate ids keep the greater `ts`: two copies of one note in one
|
|
110
|
+
// value is malformed, and the newer one is the one somebody typed last.
|
|
111
|
+
const have = notes.get(note.id);
|
|
112
|
+
if (!have || note.ts > have.ts)
|
|
113
|
+
notes.set(note.id, note);
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
const gone = finite(d.gone);
|
|
117
|
+
if (gone !== null) {
|
|
118
|
+
const have = tombs.get(d.id);
|
|
119
|
+
if (!have || gone > have.gone)
|
|
120
|
+
tombs.set(d.id, { id: d.id, gone });
|
|
121
|
+
}
|
|
122
|
+
// Anything else is dropped: an element that is neither a note nor a delete
|
|
123
|
+
// says nothing, and guessing which it meant is how a pad loses a note.
|
|
124
|
+
}
|
|
125
|
+
return { notes: [...notes.values()], tombs: [...tombs.values()] };
|
|
126
|
+
}
|
|
127
|
+
function canonNote(n) {
|
|
128
|
+
// Insertion order IS key order in `JSON.stringify`, so this is the fixed
|
|
129
|
+
// order the canonical form promises.
|
|
130
|
+
const o = { id: n.id, text: n.text, ts: n.ts };
|
|
131
|
+
if (n.steps && n.steps.length)
|
|
132
|
+
o.steps = n.steps;
|
|
133
|
+
if (n.cwd)
|
|
134
|
+
o.cwd = n.cwd;
|
|
135
|
+
return o;
|
|
136
|
+
}
|
|
137
|
+
/** One note's canonical JSON — the merge's tie-break reads this, so it must be
|
|
138
|
+
* the same bytes the serializer would emit. */
|
|
139
|
+
function noteKey(n) { return JSON.stringify(canonNote(n)); }
|
|
140
|
+
/**
|
|
141
|
+
* The value this device writes — CANONICAL, and that is load-bearing.
|
|
142
|
+
*
|
|
143
|
+
* Notes newest first (`ts` desc, then `id` asc), tombstones after them
|
|
144
|
+
* (`gone` desc, then `id` asc), keys in a fixed order. The convergence in
|
|
145
|
+
* `web/settings.ts` terminates only because two devices holding the same set of
|
|
146
|
+
* notes produce byte-identical strings: the loser of a concurrent push
|
|
147
|
+
* re-merges the winner's value, gets exactly that string back, and
|
|
148
|
+
* `applyRemoteSetting`'s equality branch stops the exchange. A serializer that
|
|
149
|
+
* ordered by insertion would hand the two devices two different strings for one
|
|
150
|
+
* pad, and they would push at each other until one of them was closed.
|
|
151
|
+
*/
|
|
152
|
+
export function serializePad(doc) {
|
|
153
|
+
const notes = [...doc.notes].sort((a, b) => b.ts - a.ts || (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
|
|
154
|
+
const tombs = [...doc.tombs].sort((a, b) => b.gone - a.gone || (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
|
|
155
|
+
return JSON.stringify([...notes.map(canonNote), ...tombs.map((t) => ({ id: t.id, gone: t.gone }))]);
|
|
156
|
+
}
|
|
157
|
+
// ── The merge ────────────────────────────────────────────────────────
|
|
158
|
+
/**
|
|
159
|
+
* Two copies of the pad, one pad.
|
|
160
|
+
*
|
|
161
|
+
* Commutative and idempotent by construction, which is what lets both devices
|
|
162
|
+
* run it on whatever they happen to hold and land on the same value:
|
|
163
|
+
*
|
|
164
|
+
* 1. **Tombstones union** by id, greater `gone` wins; anything older than
|
|
165
|
+
* `PAD_TOMB_TTL_MS` **before the newest stamp in the union** is forgotten.
|
|
166
|
+
* 2. **Per note id**, the copy with the greater `ts` is the candidate. On an
|
|
167
|
+
* exact tie the one whose canonical JSON sorts lexically LATER wins —
|
|
168
|
+
* "prefer mine" would make the function non-commutative, i.e. the two
|
|
169
|
+
* devices would converge on two different values and push for ever.
|
|
170
|
+
* 3. A tombstone with `gone >= candidate.ts` drops the note. A candidate whose
|
|
171
|
+
* `ts` is GREATER than the tombstone's `gone` keeps the note **and drops
|
|
172
|
+
* the tombstone**: those are words somebody typed after the delete, and the
|
|
173
|
+
* delete was made on a device that had not seen them.
|
|
174
|
+
* 4. **Then** the newest `PAD_TOMB_CAP` tombstones are kept.
|
|
175
|
+
* 5. **No note is ever dropped for size here.** The caps bind on a local add,
|
|
176
|
+
* where a person is present to be told. A merge that shed notes would
|
|
177
|
+
* delete words on the device that was merely receiving them.
|
|
178
|
+
*
|
|
179
|
+
* ── Why the TTL is cut on the DATA and not on a clock ─────────────────────
|
|
180
|
+
*
|
|
181
|
+
* "Same union ⇒ same bytes" is the whole contract, and a `Date.now()` anywhere
|
|
182
|
+
* inside it breaks that between two devices whose clocks disagree — which is
|
|
183
|
+
* every pair of devices. Trace the version that read the clock: A is two hours
|
|
184
|
+
* behind B, and a tombstone `T` has `gone` between the two cutoffs. A merges
|
|
185
|
+
* the host's value, keeps `T`, sees `changed`, pushes. B adopts it, drops `T`,
|
|
186
|
+
* sees `changed`, pushes. A adopts THAT, re-adds `T`, pushes — one round per
|
|
187
|
+
* `PUSH_DEBOUNCE_MS` for the whole skew window, each one re-stamping the
|
|
188
|
+
* setting and firing `announce`, and neither device is wrong.
|
|
189
|
+
*
|
|
190
|
+
* So the cutoff is `max(every ts and every gone across both copies) −
|
|
191
|
+
* PAD_TOMB_TTL_MS`. It is a fact about the two documents, so both devices
|
|
192
|
+
* compute it identically and the function is a pure fold over the union again.
|
|
193
|
+
* The cost is that the newest tombstone in a pad nobody touches is never aged
|
|
194
|
+
* out — which is correct: "30 days" was always meant as *30 days of the pad
|
|
195
|
+
* moving on without this delete*, and a pad that has not moved has no newer
|
|
196
|
+
* words for a stale copy to overwrite.
|
|
197
|
+
*
|
|
198
|
+
* `now` is therefore UNREAD, and kept in the signature deliberately: the call
|
|
199
|
+
* sites pass it, and `pad.test.mjs` hands the two sides wildly different values
|
|
200
|
+
* and asserts the bytes are identical, which is a pin a removed parameter
|
|
201
|
+
* could not carry.
|
|
202
|
+
*
|
|
203
|
+
* ── Why the cap is applied AFTER rule 3 ───────────────────────────────────
|
|
204
|
+
*
|
|
205
|
+
* Cutting to `PAD_TOMB_CAP` first meant the resurrection rule then deleted
|
|
206
|
+
* tombstones out of an already-cut list, so the output could hold fewer than
|
|
207
|
+
* the cap while the union still held tombstones that belonged in it — and the
|
|
208
|
+
* next exchange with the same peer put them back. The merged value was not a
|
|
209
|
+
* fixed point of merging with its own input, which is the same
|
|
210
|
+
* push-at-each-other loop by another route. Resurrect first, cut last: the cut
|
|
211
|
+
* is then a function of what actually survived.
|
|
212
|
+
*/
|
|
213
|
+
export function mergePad(mine, theirs, _now) {
|
|
214
|
+
const allTombs = [...mine.tombs, ...theirs.tombs].filter((t) => t && t.id && Number.isFinite(t.gone));
|
|
215
|
+
const allNotes = [...mine.notes, ...theirs.notes].filter((n) => n && n.id);
|
|
216
|
+
let latest = 0;
|
|
217
|
+
for (const n of allNotes)
|
|
218
|
+
if (Number.isFinite(n.ts) && n.ts > latest)
|
|
219
|
+
latest = n.ts;
|
|
220
|
+
for (const t of allTombs)
|
|
221
|
+
if (t.gone > latest)
|
|
222
|
+
latest = t.gone;
|
|
223
|
+
const cutoff = latest - PAD_TOMB_TTL_MS;
|
|
224
|
+
const live = new Map();
|
|
225
|
+
for (const t of allTombs) {
|
|
226
|
+
if (t.gone < cutoff)
|
|
227
|
+
continue;
|
|
228
|
+
const have = live.get(t.id);
|
|
229
|
+
if (!have || t.gone > have.gone)
|
|
230
|
+
live.set(t.id, { id: t.id, gone: t.gone });
|
|
231
|
+
}
|
|
232
|
+
const cand = new Map();
|
|
233
|
+
for (const n of allNotes) {
|
|
234
|
+
const have = cand.get(n.id);
|
|
235
|
+
if (!have) {
|
|
236
|
+
cand.set(n.id, n);
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
if (n.ts > have.ts) {
|
|
240
|
+
cand.set(n.id, n);
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
if (n.ts === have.ts && noteKey(n) > noteKey(have))
|
|
244
|
+
cand.set(n.id, n);
|
|
245
|
+
}
|
|
246
|
+
const notes = [];
|
|
247
|
+
for (const n of cand.values()) {
|
|
248
|
+
const tomb = live.get(n.id);
|
|
249
|
+
if (!tomb) {
|
|
250
|
+
notes.push(n);
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
if (tomb.gone >= n.ts)
|
|
254
|
+
continue; // deleted at or after these words: stay deleted
|
|
255
|
+
live.delete(n.id); // typed after the delete: the words win and the delete goes
|
|
256
|
+
notes.push(n);
|
|
257
|
+
}
|
|
258
|
+
let kept = [...live.values()].sort((a, b) => b.gone - a.gone || (a.id < b.id ? -1 : a.id > b.id ? 1 : 0));
|
|
259
|
+
if (kept.length > PAD_TOMB_CAP)
|
|
260
|
+
kept = kept.slice(0, PAD_TOMB_CAP);
|
|
261
|
+
return { notes, tombs: kept };
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Delete notes — and say so in a way that travels.
|
|
265
|
+
*
|
|
266
|
+
* A tombstone is written for every id, INCLUDING ids this device has never
|
|
267
|
+
* seen: a delete made against a note that only exists on the other device still
|
|
268
|
+
* has to reach it, and "I do not have it" is not a delete.
|
|
269
|
+
*/
|
|
270
|
+
export function removeNotes(doc, ids, now) {
|
|
271
|
+
const gone = new Set(ids.filter((id) => typeof id === "string" && id));
|
|
272
|
+
if (!gone.size)
|
|
273
|
+
return doc;
|
|
274
|
+
const tombs = new Map(doc.tombs.map((t) => [t.id, t]));
|
|
275
|
+
for (const id of gone) {
|
|
276
|
+
const have = tombs.get(id);
|
|
277
|
+
if (!have || now > have.gone)
|
|
278
|
+
tombs.set(id, { id, gone: now });
|
|
279
|
+
}
|
|
280
|
+
return { notes: doc.notes.filter((n) => !gone.has(n.id)), tombs: [...tombs.values()] };
|
|
281
|
+
}
|
|
282
|
+
/** Write a note, by id — and forget any delete for it, since this is somebody
|
|
283
|
+
* typing after that delete, which is rule 3 stated locally. */
|
|
284
|
+
export function upsertNote(doc, note) {
|
|
285
|
+
const notes = doc.notes.some((n) => n.id === note.id)
|
|
286
|
+
? doc.notes.map((n) => (n.id === note.id ? note : n))
|
|
287
|
+
: [note, ...doc.notes];
|
|
288
|
+
return { notes, tombs: doc.tombs.filter((t) => t.id !== note.id) };
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* A remote value is about to replace this device's copy: merge instead.
|
|
292
|
+
*
|
|
293
|
+
* `changed` says the merged value differs from what arrived — i.e. this device
|
|
294
|
+
* holds something the host does not, and has to push it back. An incoming `""`
|
|
295
|
+
* is an EMPTY doc rather than "no opinion", so a removal on the wire cannot
|
|
296
|
+
* take this device's notes with it: they survive the merge and go back up.
|
|
297
|
+
*/
|
|
298
|
+
export function adoptPad(incomingRaw, currentRaw, now) {
|
|
299
|
+
const value = serializePad(mergePad(parsePad(currentRaw), parsePad(incomingRaw), now));
|
|
300
|
+
return { value, changed: value !== incomingRaw };
|
|
301
|
+
}
|
|
302
|
+
// ── Words ────────────────────────────────────────────────────────────
|
|
303
|
+
// Here rather than in a web module for `shared/assess.ts`'s reason: a sheet's
|
|
304
|
+
// sentences are part of what the app MEANS, they are pinned by a node test, and
|
|
305
|
+
// this file already owns everything else about the pad that is not pixels.
|
|
306
|
+
/** What the pad IS, at the top of the sheet. */
|
|
307
|
+
export const PAD_HINT = "Notes with no target yet — write them anywhere, offline included, and aim them later. " +
|
|
308
|
+
"A note that names a repo can be filed straight onto that repo's backlog. " +
|
|
309
|
+
"Sending or filing one uses the normal queue, so it survives a dead tunnel like anything else you type.";
|
|
310
|
+
/** The refusal: the add did not happen, and the words are still where you can
|
|
311
|
+
* see them. Never a shed note — that deleted somebody's words to make room for
|
|
312
|
+
* somebody's words. */
|
|
313
|
+
export function padFullText(n, kb) {
|
|
314
|
+
return `the pad is full (${n} notes, ${kb} KB) — your text is still in the editor; send, file or clear a note first`;
|
|
315
|
+
}
|
|
316
|
+
/** The other refusal: this browser refused the write outright (private mode, an
|
|
317
|
+
* origin at quota). Same promise — the words did not move. */
|
|
318
|
+
export const PAD_WRITE_REFUSED = "this phone's storage refused the note — your text is still in the editor; free some space, or send or clear a note first";
|
|
319
|
+
/** The retired device-local rescue store, handed back to the pad it was
|
|
320
|
+
* guarding. Said once, on the boot that moves them. */
|
|
321
|
+
export function padMigratedToast(n) {
|
|
322
|
+
return n === 1
|
|
323
|
+
? "one note that was kept on this phone is back on the pad"
|
|
324
|
+
: `${n} notes that were kept on this phone are back on the pad`;
|
|
325
|
+
}
|
|
326
|
+
/** A half-written prompt about to be replaced by words nobody typed, parked
|
|
327
|
+
* where there is a listing to find it again. */
|
|
328
|
+
export const DRAFT_KEPT_TOAST = "kept your unfinished prompt — it is a note on the pad";
|
|
329
|
+
/** …and when the pad could not take it. The draft is NOT overwritten: a rescue
|
|
330
|
+
* that failed must not also be a delete. */
|
|
331
|
+
export const DRAFT_REFUSED_TOAST = "the pad could not take your unfinished prompt, so it was left in the box — nothing was replaced";
|
|
332
|
+
/** *file it* — the verb for a note that already knows which repo it is for. */
|
|
333
|
+
export const FILE_WORDS = {
|
|
334
|
+
label: "file it",
|
|
335
|
+
title: (repo) => `put it on ${repo}'s backlog as it is — it waits there, nothing runs now`,
|
|
336
|
+
};
|
|
337
|
+
/** What filing did. Offline is its own sentence: the row is durable either way,
|
|
338
|
+
* and a promise about "when the link is back" is the honest half. */
|
|
339
|
+
export function padFiledToast(repo, offline) {
|
|
340
|
+
return offline
|
|
341
|
+
? `filed offline — it reaches ${repo}'s backlog when the link is back`
|
|
342
|
+
: `filed — on ${repo}'s backlog`;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* A draft about to be replaced by words nobody typed — what, if anything, to
|
|
346
|
+
* keep.
|
|
347
|
+
*
|
|
348
|
+
* The merge above guards the pad against a synced overwrite. This guards the
|
|
349
|
+
* *sheet drafts* against the local equivalent, and the local one is worse: the
|
|
350
|
+
* sheet-draft store has no listing of its own, so the only route back to a
|
|
351
|
+
* draft is re-opening the exact sheet that wrote it. When anything breaks that
|
|
352
|
+
* single route — a routing bug, a reload, an OTA bundle swap, a killed tab —
|
|
353
|
+
* the words still exist and nothing on the phone can reach them, and the next
|
|
354
|
+
* open of that sheet seeds the slot and deletes them. A prompt typed on a
|
|
355
|
+
* train, with a schedule set and a screenshot marked up, went that way.
|
|
356
|
+
*
|
|
357
|
+
* Two things are NOT rescued, and both are the ordinary case: an empty slot
|
|
358
|
+
* (nothing to keep), and a slot that already holds exactly the incoming seed
|
|
359
|
+
* (re-opening the same message is not an overwrite). Whitespace-only counts as
|
|
360
|
+
* empty — a stray newline is not a draft, and a rescue row for one teaches the
|
|
361
|
+
* user to ignore the section.
|
|
362
|
+
*
|
|
363
|
+
* Returns the chain SPLIT: `text` is the first step and `steps` the rest, which
|
|
364
|
+
* is the shape a pad note wants (`PadNote.steps`) rather than a string with
|
|
365
|
+
* control characters in it.
|
|
366
|
+
*/
|
|
367
|
+
export function draftToRescue(current, seed) {
|
|
368
|
+
if (!current.trim() || current === seed)
|
|
369
|
+
return null;
|
|
370
|
+
const [text = "", ...steps] = current.split("\f");
|
|
371
|
+
return steps.length ? { text, steps } : { text };
|
|
372
|
+
}
|
|
373
|
+
//# sourceMappingURL=pad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pad.js","sourceRoot":"","sources":["../src/pad.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pairing a new phone to a desktop: a short code shown as a QR on a phone that
|
|
3
|
+
* is already trusted, redeemed once by the new one.
|
|
4
|
+
*
|
|
5
|
+
* The code is 8 characters from an alphabet with no look-alikes (no 0/O, 1/I),
|
|
6
|
+
* so it can be typed off a screen as a fallback; it lives `PAIR_TTL_MS` and is
|
|
7
|
+
* spent by its first successful redeem. The QR carries the LANDING URL
|
|
8
|
+
* (`<base>/pair/<code>`, a host-rendered page that offers the web version and
|
|
9
|
+
* the APK); the installed app is reached through the DEEP LINK
|
|
10
|
+
* (`<scheme>://pair?u=<base>&c=<code>`). Both parse to the same `{base, code}`.
|
|
11
|
+
*
|
|
12
|
+
* The base goes through `normalizeHostBase`, so a scanned or pasted link can
|
|
13
|
+
* never aim the app at a `javascript:` or `data:` base.
|
|
14
|
+
*/
|
|
15
|
+
import { type RandomBytes } from "./hosts.js";
|
|
16
|
+
/** 32 characters (a power of two: uniform from a byte), no 0, O, 1 or I. */
|
|
17
|
+
export declare const PAIR_ALPHABET = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ";
|
|
18
|
+
export declare const PAIR_CODE_LEN = 8;
|
|
19
|
+
export declare const PAIR_TTL_MS: number;
|
|
20
|
+
export declare const PAIR_SCHEME: string;
|
|
21
|
+
/** Past identities' schemes, newest first: still PARSED (a QR printed by an older
|
|
22
|
+
* host), never emitted. */
|
|
23
|
+
export declare const LEGACY_PAIR_SCHEMES: readonly string[];
|
|
24
|
+
export declare function newPairCode(rand?: RandomBytes): string;
|
|
25
|
+
/** A code as typed: case, spaces and dashes forgiven, anything else refused.
|
|
26
|
+
* No look-alike is "corrected" — 0/O/1/I are not in the alphabet, so a code
|
|
27
|
+
* containing one was misread and guessing which letter was meant would spend
|
|
28
|
+
* a rate-limited attempt on a wrong code. */
|
|
29
|
+
export declare function normalizePairCode(raw: unknown): string | null;
|
|
30
|
+
/** `ABCD-EFGH`, for reading aloud or off a screen. */
|
|
31
|
+
export declare function formatPairCode(code: string): string;
|
|
32
|
+
export interface PairTarget {
|
|
33
|
+
base: string;
|
|
34
|
+
code: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function pairDeepLink(base: string, code: string): string;
|
|
37
|
+
export declare function pairLandingUrl(base: string, code: string): string;
|
|
38
|
+
/** Parse `<scheme>://pair?u=<base>&c=<code>` (current or a legacy scheme), or `null`. */
|
|
39
|
+
export declare function parsePairDeepLink(raw: unknown): PairTarget | null;
|
|
40
|
+
/** The code in a landing path: `/pair/<code>` (page) or `/pair/<code>/apk`. */
|
|
41
|
+
export declare function pairPathCode(pathname: string): {
|
|
42
|
+
code: string;
|
|
43
|
+
apk: boolean;
|
|
44
|
+
} | null;
|
|
45
|
+
/** Parse `<base>/pair/<code>`, or `null`. */
|
|
46
|
+
export declare function parsePairLandingUrl(raw: unknown): PairTarget | null;
|
|
47
|
+
/** Whatever was scanned or pasted: a deep link or a landing URL. */
|
|
48
|
+
export declare function parsePairInput(raw: unknown): PairTarget | null;
|
|
49
|
+
export declare function pairExpired(expiresAt: number, now: number): boolean;
|
|
50
|
+
/** One waterplane daemon found on the tailnet (`GET /api/tailnet/peers`). */
|
|
51
|
+
export interface TailnetPeer {
|
|
52
|
+
/** The tailscale hostname. */
|
|
53
|
+
name: string;
|
|
54
|
+
/** `100.x.y.z:port` — what the phone saves as the host's address. */
|
|
55
|
+
addr: string;
|
|
56
|
+
os: string;
|
|
57
|
+
/** The daemon answered 401: it has a password, so a pairing code is needed. */
|
|
58
|
+
gated: boolean;
|
|
59
|
+
}
|
|
60
|
+
/** `GET /api/tailnet/peers` (trusted path only). `peers` is empty with a
|
|
61
|
+
* sentence in `note` when tailscale is missing or nobody answered. */
|
|
62
|
+
export interface TailnetPeersResponse {
|
|
63
|
+
ok: true;
|
|
64
|
+
peers: TailnetPeer[];
|
|
65
|
+
note?: string;
|
|
66
|
+
}
|
|
67
|
+
/** `POST /api/pair/mint` (trusted, authenticated caller) → */
|
|
68
|
+
/** `POST /api/pair/mint` body. `passive`: the device this code pairs gets a
|
|
69
|
+
* passive token (`passive.ts`), and redeeming it switches "gate Tailscale" on. */
|
|
70
|
+
export interface PairMintRequest {
|
|
71
|
+
passive?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface PairMintResponse {
|
|
74
|
+
code: string;
|
|
75
|
+
/** The code pairs a passive device. */
|
|
76
|
+
passive?: boolean;
|
|
77
|
+
expiresAt: number;
|
|
78
|
+
/** What the QR encodes. */
|
|
79
|
+
landingUrl: string;
|
|
80
|
+
deepLink: string;
|
|
81
|
+
base: string;
|
|
82
|
+
/** Plain-HTTP LAN base, when the host has a LAN interface bound. */
|
|
83
|
+
lanBase?: string;
|
|
84
|
+
}
|
|
85
|
+
/** `POST /api/pair/redeem` */
|
|
86
|
+
export interface PairRedeemRequest {
|
|
87
|
+
code: string;
|
|
88
|
+
deviceName: string;
|
|
89
|
+
}
|
|
90
|
+
export interface PairRedeemHost {
|
|
91
|
+
name: string;
|
|
92
|
+
base: string;
|
|
93
|
+
httpsUrl: string | null;
|
|
94
|
+
lanBase?: string;
|
|
95
|
+
lanSsids?: string[];
|
|
96
|
+
}
|
|
97
|
+
/** `no-password`: the host has no password and the redeem came over the LAN —
|
|
98
|
+
* its `message` is the host's own sentence and is shown verbatim. */
|
|
99
|
+
export type PairRedeemError = "bad-request" | "unknown" | "expired" | "used" | "rate-limited" | "no-password";
|
|
100
|
+
export type PairRedeemResponse = {
|
|
101
|
+
ok: true;
|
|
102
|
+
host: PairRedeemHost;
|
|
103
|
+
/** Device token (a new ledger row) — absent when no password is set. */
|
|
104
|
+
token?: string;
|
|
105
|
+
deviceId?: string;
|
|
106
|
+
/** Only to a loopback/tailscale peer. */
|
|
107
|
+
lanIdentity?: {
|
|
108
|
+
hostId: string;
|
|
109
|
+
secret: string;
|
|
110
|
+
};
|
|
111
|
+
/** A sentence for the phone when it got no token (no password set). */
|
|
112
|
+
note?: string;
|
|
113
|
+
/** The token is a passive one (`passive.ts`). */
|
|
114
|
+
scope?: "passive";
|
|
115
|
+
} | {
|
|
116
|
+
ok: false;
|
|
117
|
+
error: PairRedeemError;
|
|
118
|
+
message: string;
|
|
119
|
+
};
|
|
120
|
+
export declare function pairRedeemErrorText(error: PairRedeemError): string;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pairing a new phone to a desktop: a short code shown as a QR on a phone that
|
|
3
|
+
* is already trusted, redeemed once by the new one.
|
|
4
|
+
*
|
|
5
|
+
* The code is 8 characters from an alphabet with no look-alikes (no 0/O, 1/I),
|
|
6
|
+
* so it can be typed off a screen as a fallback; it lives `PAIR_TTL_MS` and is
|
|
7
|
+
* spent by its first successful redeem. The QR carries the LANDING URL
|
|
8
|
+
* (`<base>/pair/<code>`, a host-rendered page that offers the web version and
|
|
9
|
+
* the APK); the installed app is reached through the DEEP LINK
|
|
10
|
+
* (`<scheme>://pair?u=<base>&c=<code>`). Both parse to the same `{base, code}`.
|
|
11
|
+
*
|
|
12
|
+
* The base goes through `normalizeHostBase`, so a scanned or pasted link can
|
|
13
|
+
* never aim the app at a `javascript:` or `data:` base.
|
|
14
|
+
*/
|
|
15
|
+
import { normalizeHostBase } from "./hosturl.js";
|
|
16
|
+
import { BRAND, LEGACY } from "./brand.js";
|
|
17
|
+
import { randomFromAlphabet, defaultRandomBytes } from "./hosts.js";
|
|
18
|
+
/** 32 characters (a power of two: uniform from a byte), no 0, O, 1 or I. */
|
|
19
|
+
export const PAIR_ALPHABET = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ";
|
|
20
|
+
export const PAIR_CODE_LEN = 8;
|
|
21
|
+
export const PAIR_TTL_MS = 10 * 60 * 1000;
|
|
22
|
+
export const PAIR_SCHEME = BRAND.pairScheme;
|
|
23
|
+
/** Past identities' schemes, newest first: still PARSED (a QR printed by an older
|
|
24
|
+
* host), never emitted. */
|
|
25
|
+
export const LEGACY_PAIR_SCHEMES = LEGACY.map((l) => l.pairScheme);
|
|
26
|
+
export function newPairCode(rand = defaultRandomBytes) {
|
|
27
|
+
return randomFromAlphabet(PAIR_ALPHABET, PAIR_CODE_LEN, rand);
|
|
28
|
+
}
|
|
29
|
+
/** A code as typed: case, spaces and dashes forgiven, anything else refused.
|
|
30
|
+
* No look-alike is "corrected" — 0/O/1/I are not in the alphabet, so a code
|
|
31
|
+
* containing one was misread and guessing which letter was meant would spend
|
|
32
|
+
* a rate-limited attempt on a wrong code. */
|
|
33
|
+
export function normalizePairCode(raw) {
|
|
34
|
+
if (typeof raw !== "string")
|
|
35
|
+
return null;
|
|
36
|
+
const s = raw.replace(/[\s-]/g, "").toUpperCase();
|
|
37
|
+
if (s.length !== PAIR_CODE_LEN)
|
|
38
|
+
return null;
|
|
39
|
+
for (const ch of s)
|
|
40
|
+
if (!PAIR_ALPHABET.includes(ch))
|
|
41
|
+
return null;
|
|
42
|
+
return s;
|
|
43
|
+
}
|
|
44
|
+
/** `ABCD-EFGH`, for reading aloud or off a screen. */
|
|
45
|
+
export function formatPairCode(code) {
|
|
46
|
+
return code.length === PAIR_CODE_LEN ? `${code.slice(0, 4)}-${code.slice(4)}` : code;
|
|
47
|
+
}
|
|
48
|
+
export function pairDeepLink(base, code) {
|
|
49
|
+
return `${PAIR_SCHEME}://pair?u=${encodeURIComponent(base)}&c=${encodeURIComponent(code)}`;
|
|
50
|
+
}
|
|
51
|
+
export function pairLandingUrl(base, code) {
|
|
52
|
+
return `${base.replace(/\/+$/, "")}/pair/${code}`;
|
|
53
|
+
}
|
|
54
|
+
/** Parse `<scheme>://pair?u=<base>&c=<code>` (current or a legacy scheme), or `null`. */
|
|
55
|
+
export function parsePairDeepLink(raw) {
|
|
56
|
+
if (typeof raw !== "string")
|
|
57
|
+
return null;
|
|
58
|
+
const schemes = [PAIR_SCHEME, ...LEGACY_PAIR_SCHEMES].map((x) => x.replace(/[^a-z0-9+.-]/gi, "")).join("|");
|
|
59
|
+
const m = new RegExp(`^(?:${schemes})://pair/?\\?(.*)$`, "i").exec(raw.trim());
|
|
60
|
+
if (!m)
|
|
61
|
+
return null;
|
|
62
|
+
let params;
|
|
63
|
+
try {
|
|
64
|
+
params = new URLSearchParams(m[1]);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
const base = normalizeHostBase(params.get("u") ?? "");
|
|
70
|
+
const code = normalizePairCode(params.get("c"));
|
|
71
|
+
return base && code ? { base, code } : null;
|
|
72
|
+
}
|
|
73
|
+
/** The code in a landing path: `/pair/<code>` (page) or `/pair/<code>/apk`. */
|
|
74
|
+
export function pairPathCode(pathname) {
|
|
75
|
+
const m = /^\/pair\/([^/]+)(\/apk)?\/?$/.exec(pathname);
|
|
76
|
+
if (!m)
|
|
77
|
+
return null;
|
|
78
|
+
let seg;
|
|
79
|
+
try {
|
|
80
|
+
seg = decodeURIComponent(m[1]);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
const code = normalizePairCode(seg);
|
|
86
|
+
return code ? { code, apk: !!m[2] } : null;
|
|
87
|
+
}
|
|
88
|
+
/** Parse `<base>/pair/<code>`, or `null`. */
|
|
89
|
+
export function parsePairLandingUrl(raw) {
|
|
90
|
+
if (typeof raw !== "string")
|
|
91
|
+
return null;
|
|
92
|
+
let u;
|
|
93
|
+
try {
|
|
94
|
+
u = new URL(raw.trim());
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
if (u.protocol !== "http:" && u.protocol !== "https:")
|
|
100
|
+
return null;
|
|
101
|
+
const p = pairPathCode(u.pathname);
|
|
102
|
+
if (!p || p.apk)
|
|
103
|
+
return null;
|
|
104
|
+
const base = normalizeHostBase(`${u.protocol}//${u.host}`);
|
|
105
|
+
return base ? { base, code: p.code } : null;
|
|
106
|
+
}
|
|
107
|
+
/** Whatever was scanned or pasted: a deep link or a landing URL. */
|
|
108
|
+
export function parsePairInput(raw) {
|
|
109
|
+
return parsePairDeepLink(raw) ?? parsePairLandingUrl(raw);
|
|
110
|
+
}
|
|
111
|
+
export function pairExpired(expiresAt, now) {
|
|
112
|
+
return now >= expiresAt;
|
|
113
|
+
}
|
|
114
|
+
export function pairRedeemErrorText(error) {
|
|
115
|
+
switch (error) {
|
|
116
|
+
case "bad-request":
|
|
117
|
+
return "That is not a pairing code — it is 8 letters and digits.";
|
|
118
|
+
case "unknown":
|
|
119
|
+
return "The desktop does not know that code. Check it, or show a new QR.";
|
|
120
|
+
case "expired":
|
|
121
|
+
return "That code has expired (they last 10 minutes). Show a new QR on the paired phone.";
|
|
122
|
+
case "used":
|
|
123
|
+
return "That code was already used. Show a new QR on the paired phone.";
|
|
124
|
+
case "rate-limited":
|
|
125
|
+
return "Too many attempts. Wait a minute and try again.";
|
|
126
|
+
case "no-password":
|
|
127
|
+
return "This desktop has no password set, so it refuses pairing over the Wi-Fi. Pair over Tailscale instead.";
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=pairing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairing.js","sourceRoot":"","sources":["../src/pairing.ts"],"names":[],"mappings":"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"}
|