@quickchatai/quickreview 1.2.0 → 1.3.2
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/README.md +116 -53
- package/bin/qcr.js +1 -1
- package/config.example.toml +25 -7
- package/deploy/ansible/README.md +20 -12
- package/deploy/ansible/inventory.example.ini +1 -1
- package/deploy/collect-secrets.sh +1 -1
- package/deploy/qcr-update.sh +1 -1
- package/dist/extensions/cli/home.js +14 -0
- package/dist/extensions/cli/home.js.map +1 -0
- package/dist/extensions/cli/selfimprove.js +18 -0
- package/dist/extensions/cli/selfimprove.js.map +1 -0
- package/dist/extensions/home.js +350 -0
- package/dist/extensions/home.js.map +1 -0
- package/dist/extensions/login-route.js +1 -1
- package/dist/extensions/login-route.js.map +1 -1
- package/dist/extensions/onboarding.js +8 -7
- package/dist/extensions/onboarding.js.map +1 -1
- package/dist/extensions/selfimprove.js +49 -0
- package/dist/extensions/selfimprove.js.map +1 -0
- package/dist/extensions/setup-scan.js +23 -592
- package/dist/extensions/setup-scan.js.map +1 -1
- package/dist/extensions/setup.js +2 -47
- package/dist/extensions/setup.js.map +1 -1
- package/dist/extensions/vendor/openviking-pi/index.js +4 -0
- package/dist/extensions/vendor/openviking-pi/index.js.map +1 -1
- package/dist/extensions/vendor/openviking-pi/qcr-hooks.js +3 -1
- package/dist/extensions/vendor/openviking-pi/qcr-hooks.js.map +1 -1
- package/dist/extensions/vendor/openviking-pi/sync.js +81 -0
- package/dist/extensions/vendor/openviking-pi/sync.js.map +1 -1
- package/dist/src/archive/restore.js +18 -15
- package/dist/src/archive/restore.js.map +1 -1
- package/dist/src/botworker.js +13 -2
- package/dist/src/botworker.js.map +1 -1
- package/dist/src/channelfs.js +3 -26
- package/dist/src/channelfs.js.map +1 -1
- package/dist/src/cli.js +14 -50
- package/dist/src/cli.js.map +1 -1
- package/dist/src/config.js +16 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/daemon.js +33 -4
- package/dist/src/daemon.js.map +1 -1
- package/dist/src/debuground.js +1 -0
- package/dist/src/debuground.js.map +1 -1
- package/dist/src/debugroundpi.js +1 -0
- package/dist/src/debugroundpi.js.map +1 -1
- package/dist/src/engine/caserunner-sdk.js +15 -251
- package/dist/src/engine/caserunner-sdk.js.map +1 -1
- package/dist/src/home/adapters.js +349 -0
- package/dist/src/home/adapters.js.map +1 -0
- package/dist/src/home/advanced.js +318 -0
- package/dist/src/home/advanced.js.map +1 -0
- package/dist/src/home/advancedtools.js +57 -0
- package/dist/src/home/advancedtools.js.map +1 -0
- package/dist/src/home/autoreview.js +325 -0
- package/dist/src/home/autoreview.js.map +1 -0
- package/dist/src/home/daemonstatus.js +32 -0
- package/dist/src/home/daemonstatus.js.map +1 -0
- package/dist/src/home/devicelogin.js +61 -0
- package/dist/src/home/devicelogin.js.map +1 -0
- package/dist/src/home/launch.js +202 -0
- package/dist/src/home/launch.js.map +1 -0
- package/dist/src/home/loginowner.js +205 -0
- package/dist/src/home/loginowner.js.map +1 -0
- package/dist/src/home/memory.js +122 -0
- package/dist/src/home/memory.js.map +1 -0
- package/dist/src/home/model.js +811 -0
- package/dist/src/home/model.js.map +1 -0
- package/dist/src/home/panel.js +520 -0
- package/dist/src/home/panel.js.map +1 -0
- package/dist/src/home/ports.js +19 -0
- package/dist/src/home/ports.js.map +1 -0
- package/dist/src/home/review.js +163 -0
- package/dist/src/home/review.js.map +1 -0
- package/dist/src/home/reviews.js +478 -0
- package/dist/src/home/reviews.js.map +1 -0
- package/dist/src/home/setup.js +507 -0
- package/dist/src/home/setup.js.map +1 -0
- package/dist/src/home/setupadapters.js +214 -0
- package/dist/src/home/setupadapters.js.map +1 -0
- package/dist/src/home/setupcard.js +199 -0
- package/dist/src/home/setupcard.js.map +1 -0
- package/dist/src/home/setuptools.js +45 -0
- package/dist/src/home/setuptools.js.map +1 -0
- package/dist/src/home/spend.js +160 -0
- package/dist/src/home/spend.js.map +1 -0
- package/dist/src/home/switches.js +209 -0
- package/dist/src/home/switches.js.map +1 -0
- package/dist/src/home/switchon.js +439 -0
- package/dist/src/home/switchon.js.map +1 -0
- package/dist/src/home/toolnames.js +41 -0
- package/dist/src/home/toolnames.js.map +1 -0
- package/dist/src/home/tune.js +341 -0
- package/dist/src/home/tune.js.map +1 -0
- package/dist/src/home/words.js +7 -0
- package/dist/src/home/words.js.map +1 -0
- package/dist/src/homes.js +14 -0
- package/dist/src/homes.js.map +1 -1
- package/dist/src/install.js +1 -1
- package/dist/src/install.js.map +1 -1
- package/dist/src/ipc/workerspec.js +8 -0
- package/dist/src/ipc/workerspec.js.map +1 -1
- package/dist/src/ledgercheck.js +39 -10
- package/dist/src/ledgercheck.js.map +1 -1
- package/dist/src/live/publish.js +1 -1
- package/dist/src/live/publish.js.map +1 -1
- package/dist/src/livecli.js +1 -1
- package/dist/src/livecli.js.map +1 -1
- package/dist/src/loginrefresh/handover.js +121 -0
- package/dist/src/loginrefresh/handover.js.map +1 -0
- package/dist/src/loginrefresh/lock.js +54 -3
- package/dist/src/loginrefresh/lock.js.map +1 -1
- package/dist/src/loginrefresh/refresher.js +33 -5
- package/dist/src/loginrefresh/refresher.js.map +1 -1
- package/dist/src/loginrefresh/supervisor.js +18 -1
- package/dist/src/loginrefresh/supervisor.js.map +1 -1
- package/dist/src/npmverbs.js +42 -12
- package/dist/src/npmverbs.js.map +1 -1
- package/dist/src/onboard/choices.js +6 -3
- package/dist/src/onboard/choices.js.map +1 -1
- package/dist/src/onboard/engine.js +33 -292
- package/dist/src/onboard/engine.js.map +1 -1
- package/dist/src/onboard/steps/bringup.js +3 -2
- package/dist/src/onboard/steps/bringup.js.map +1 -1
- package/dist/src/onboard/steps/configfill.js +18 -7
- package/dist/src/onboard/steps/configfill.js.map +1 -1
- package/dist/src/onboard/steps/loginshare.js +213 -0
- package/dist/src/onboard/steps/loginshare.js.map +1 -0
- package/dist/src/onboard/steps/memory.js +14 -2
- package/dist/src/onboard/steps/memory.js.map +1 -1
- package/dist/src/onboard/steps/repoconfig.js +72 -0
- package/dist/src/onboard/steps/repoconfig.js.map +1 -0
- package/dist/src/onboard/toolnames.js +2 -2
- package/dist/src/onboard/toolnames.js.map +1 -1
- package/dist/src/piagentdir.js +13 -0
- package/dist/src/piagentdir.js.map +1 -0
- package/dist/src/pilogin.js +31 -16
- package/dist/src/pilogin.js.map +1 -1
- package/dist/src/qcrbin.js +16 -11
- package/dist/src/qcrbin.js.map +1 -1
- package/dist/src/reviewargs.js +122 -0
- package/dist/src/reviewargs.js.map +1 -0
- package/dist/src/reviewcli.js +7 -161
- package/dist/src/reviewcli.js.map +1 -1
- package/dist/src/reviewdetach.js +76 -11
- package/dist/src/reviewdetach.js.map +1 -1
- package/dist/src/scancli.js +39 -691
- package/dist/src/scancli.js.map +1 -1
- package/dist/src/selfimprove.js +66 -0
- package/dist/src/selfimprove.js.map +1 -0
- package/dist/src/session-command-supervisor.js +38 -9
- package/dist/src/session-command-supervisor.js.map +1 -1
- package/dist/src/setup/adapters.js +5 -223
- package/dist/src/setup/adapters.js.map +1 -1
- package/dist/src/setup/caserunner.js +15 -249
- package/dist/src/setup/caserunner.js.map +1 -1
- package/dist/src/setup/engine.js +32 -341
- package/dist/src/setup/engine.js.map +1 -1
- package/dist/src/setup/facts.js +3 -592
- package/dist/src/setup/facts.js.map +1 -1
- package/dist/src/setup/findings.js +3 -947
- package/dist/src/setup/findings.js.map +1 -1
- package/dist/src/setup/presentation.js +3 -8
- package/dist/src/setup/presentation.js.map +1 -1
- package/dist/src/setup/scan.js +3 -724
- package/dist/src/setup/scan.js.map +1 -1
- package/dist/src/setup/scanbuild.js +9 -92
- package/dist/src/setup/scanbuild.js.map +1 -1
- package/dist/src/setup/scanlease.js +3 -250
- package/dist/src/setup/scanlease.js.map +1 -1
- package/dist/src/setup/scanreport.js +3 -288
- package/dist/src/setup/scanreport.js.map +1 -1
- package/dist/src/setup/scanrun.js +3 -1732
- package/dist/src/setup/scanrun.js.map +1 -1
- package/dist/src/setup/scantree.js +3 -256
- package/dist/src/setup/scantree.js.map +1 -1
- package/dist/src/setup/stage2request.js +3 -258
- package/dist/src/setup/stage2request.js.map +1 -1
- package/dist/src/setup/unitcut.js +3 -436
- package/dist/src/setup/unitcut.js.map +1 -1
- package/dist/src/state.js +75 -9
- package/dist/src/state.js.map +1 -1
- package/dist/src/takeover.js +1 -0
- package/dist/src/takeover.js.map +1 -1
- package/dist/src/takeoverpi.js +2 -1
- package/dist/src/takeoverpi.js.map +1 -1
- package/dist/src/tui/alerts.js +4 -1
- package/dist/src/tui/alerts.js.map +1 -1
- package/dist/src/tui/board.js +2 -2
- package/dist/src/tui/board.js.map +1 -1
- package/dist/src/tui/companion.js +2 -1
- package/dist/src/tui/companion.js.map +1 -1
- package/dist/src/tui/deploytab.js +2 -2
- package/dist/src/tui/deploytab.js.map +1 -1
- package/dist/src/tui/index.js +9 -6
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/tui/memory.js +3 -16
- package/dist/src/tui/memory.js.map +1 -1
- package/dist/src/tui/memoryurl.js +22 -0
- package/dist/src/tui/memoryurl.js.map +1 -0
- package/dist/src/tui/remote.js +1 -1
- package/dist/src/tui/remote.js.map +1 -1
- package/dist/src/tui/route.js +2 -2
- package/dist/src/tui/route.js.map +1 -1
- package/dist/src/tui/setupstate.js +8 -5
- package/dist/src/tui/setupstate.js.map +1 -1
- package/dist/src/tui/sshtriage.js +1 -1
- package/dist/src/tui/sshtriage.js.map +1 -1
- package/dist/src/verdicts.js +12 -0
- package/dist/src/verdicts.js.map +1 -1
- package/dist/src/wire.js +9 -4
- package/dist/src/wire.js.map +1 -1
- package/dist/src/workerbreaker.js +32 -5
- package/dist/src/workerbreaker.js.map +1 -1
- package/dist/src/workerworld.js +4 -0
- package/dist/src/workerworld.js.map +1 -1
- package/docker/README.md +1 -1
- package/docker/entrypoint.sh +40 -6
- package/docker-compose.yml +16 -1
- package/extensions/cli/home.ts +14 -0
- package/extensions/cli/selfimprove.ts +18 -0
- package/extensions/home.ts +484 -0
- package/extensions/login-route.ts +1 -1
- package/extensions/onboarding.ts +8 -7
- package/extensions/selfimprove.ts +65 -0
- package/extensions/setup-scan.ts +79 -766
- package/extensions/setup.ts +14 -70
- package/extensions/vendor/openviking-pi/NOTICE +5 -0
- package/extensions/vendor/openviking-pi/README.md +39 -5
- package/extensions/vendor/openviking-pi/index.ts +4 -0
- package/extensions/vendor/openviking-pi/patches/0014-one-turn-sync-in-flight.patch +239 -0
- package/extensions/vendor/openviking-pi/qcr-hooks.ts +3 -1
- package/extensions/vendor/openviking-pi/sync.ts +80 -0
- package/extensions/vendor/openviking-pi/upstream.json +2 -1
- package/package.json +6 -4
- package/prompts/onboarding.md +8 -7
- package/schemas/review-result.v1.json +60 -0
- package/scripts/deploy.sh +8 -6
- package/scripts/qcr-host.sh +28 -5
- package/scripts/vm-ghcr-login.sh +7 -4
- package/src/archive/restore.ts +18 -21
- package/src/botworker.ts +13 -2
- package/src/channelfs.ts +3 -26
- package/src/cli.ts +13 -54
- package/src/config.ts +38 -0
- package/src/daemon.ts +34 -4
- package/src/debuground.ts +3 -0
- package/src/debugroundpi.ts +1 -0
- package/src/engine/caserunner-sdk.ts +29 -314
- package/src/home/adapters.ts +418 -0
- package/src/home/advanced.ts +421 -0
- package/src/home/advancedtools.ts +96 -0
- package/src/home/autoreview.ts +385 -0
- package/src/home/daemonstatus.ts +55 -0
- package/src/home/devicelogin.ts +107 -0
- package/src/home/launch.ts +257 -0
- package/src/home/loginowner.ts +248 -0
- package/src/home/memory.ts +176 -0
- package/src/home/model.ts +965 -0
- package/src/home/panel.ts +666 -0
- package/src/home/ports.ts +338 -0
- package/src/home/review.ts +206 -0
- package/src/home/reviews.ts +565 -0
- package/src/home/setup.ts +689 -0
- package/src/home/setupadapters.ts +217 -0
- package/src/home/setupcard.ts +288 -0
- package/src/home/setuptools.ts +57 -0
- package/src/home/spend.ts +194 -0
- package/src/home/switches.ts +293 -0
- package/src/home/switchon.ts +554 -0
- package/src/home/toolnames.ts +46 -0
- package/src/home/tune.ts +405 -0
- package/src/home/words.ts +8 -0
- package/src/homes.ts +17 -0
- package/src/install.ts +1 -1
- package/src/ipc/workerspec.ts +15 -0
- package/src/ledgercheck.ts +45 -9
- package/src/live/publish.ts +4 -1
- package/src/livecli.ts +6 -1
- package/src/loginrefresh/handover.ts +138 -0
- package/src/loginrefresh/lock.ts +72 -3
- package/src/loginrefresh/refresher.ts +34 -5
- package/src/loginrefresh/supervisor.ts +25 -2
- package/src/npmverbs.ts +51 -11
- package/src/onboard/choices.ts +6 -3
- package/src/onboard/engine.ts +64 -434
- package/src/onboard/steps/bringup.ts +3 -2
- package/src/onboard/steps/configfill.ts +23 -7
- package/src/onboard/steps/loginshare.ts +258 -0
- package/src/onboard/steps/memory.ts +18 -2
- package/src/onboard/steps/repoconfig.ts +85 -0
- package/src/onboard/toolnames.ts +2 -2
- package/src/piagentdir.ts +12 -0
- package/src/pilogin.ts +32 -16
- package/src/qcrbin.ts +16 -11
- package/src/reviewargs.ts +119 -0
- package/src/reviewcli.ts +6 -167
- package/src/reviewdetach.ts +107 -13
- package/src/scancli.ts +75 -826
- package/src/selfimprove.ts +90 -0
- package/src/session-command-supervisor.ts +41 -8
- package/src/setup/adapters.ts +13 -221
- package/src/setup/caserunner.ts +34 -273
- package/src/setup/engine.ts +62 -496
- package/src/setup/facts.ts +3 -627
- package/src/setup/findings.ts +3 -1264
- package/src/setup/presentation.ts +3 -18
- package/src/setup/scan.ts +3 -1033
- package/src/setup/scanbuild.ts +20 -114
- package/src/setup/scanlease.ts +3 -297
- package/src/setup/scanreport.ts +3 -373
- package/src/setup/scanrun.ts +3 -2268
- package/src/setup/scantree.ts +3 -259
- package/src/setup/stage2request.ts +3 -347
- package/src/setup/unitcut.ts +3 -523
- package/src/state.ts +126 -11
- package/src/takeover.ts +5 -0
- package/src/takeoverpi.ts +3 -2
- package/src/tui/alerts.ts +9 -2
- package/src/tui/board.ts +2 -2
- package/src/tui/companion.ts +2 -1
- package/src/tui/deploytab.ts +2 -2
- package/src/tui/index.ts +9 -6
- package/src/tui/memory.ts +3 -15
- package/src/tui/memoryurl.ts +22 -0
- package/src/tui/remote.ts +1 -1
- package/src/tui/route.ts +2 -2
- package/src/tui/setupstate.ts +20 -16
- package/src/tui/sshtriage.ts +1 -1
- package/src/verdicts.ts +13 -0
- package/src/wire.ts +9 -4
- package/src/workerbreaker.ts +41 -5
- package/src/workerworld.ts +9 -1
- package/dist/src/live/projection.js +0 -450
- package/dist/src/live/projection.js.map +0 -1
- package/dist/src/live/read.js +0 -60
- package/dist/src/live/read.js.map +0 -1
- package/dist/src/onboard/launch.js +0 -75
- package/dist/src/onboard/launch.js.map +0 -1
- package/dist/src/setup/ledger.js +0 -207
- package/dist/src/setup/ledger.js.map +0 -1
- package/dist/src/setup/stage2.js +0 -617
- package/dist/src/setup/stage2.js.map +0 -1
- package/dist/src/setup/textsniff.js +0 -89
- package/dist/src/setup/textsniff.js.map +0 -1
- package/src/live/projection.ts +0 -491
- package/src/live/read.ts +0 -86
- package/src/onboard/launch.ts +0 -103
- package/src/setup/ledger.ts +0 -324
- package/src/setup/stage2.ts +0 -926
- package/src/setup/textsniff.ts +0 -95
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../../src/home/adapters.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,gEAAgE;AAChE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,4EAA4E;AAC5E,sEAAsE;AACtE,2DAA2D;AAC3D,0EAA0E;AAC1E,2EAA2E;AAC3E,8BAA8B;AAC9B,yBAAyB;AACzB,wEAAwE;AACxE,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,wBAAwB;AACxB,qEAAqE;AACrE,qEAAqE;AACrE,sEAAsE;AACtE,gBAAgB;AAChB,4EAA4E;AAC5E,4EAA4E;AAC5E,6DAA6D;AAC7D,yCAAyC;AACzC,EAAE;AACF,wEAAwE;AACxE,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,0EAA0E;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAiB,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EACL,KAAK,EACL,OAAO,GAWR,MAAM,YAAY,CAAC;AAEpB,qEAAqE;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAc/C,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACzF,MAAM,CAAC,GAAG,GAA0D,CAAC;YACrE,OAAO,CAAC;gBACN,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACzD,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;CACL,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC;AACxF,MAAM,aAAa,GAAG,CAAC,GAAY,EAAW,EAAE,CAC7C,GAAoC,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC3D,MAAM,OAAO,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAE7F;6DAC6D;AAC7D,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,OAA8B,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;IAE5D,OAAO;QACL,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzC,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC,eAAe,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,GAAG,+EAA+E,CAAC;AAEnG,MAAM,SAAS,GACb,+FAA+F,CAAC;AAElG,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,GAAG,GAAG,CAAC,CAAY,EAAU,EAAE,CACnC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC/B,IAAI;gBACJ,MAAM;gBACN,IAAI;gBACJ,IAAI;gBACJ,SAAS;gBACT,MAAM;gBACN,SAAS;gBACT,KAAK;gBACL,QAAQ;gBACR,SAAS;aACV,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC,2CAA2C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAChC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE;QAC7C,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;YACnE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAA2C,CAAC;QACrE,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC;YACnB,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;YACjB,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;YAClE,SAAS,EAAE,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACnE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI;YAC9B,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC;YAC3B,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC;YAC3B,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC;YACjC,WAAW,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;YACzE,OAAO,EAAE,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;SACpE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;+DAC+D;AAC/D,MAAM,UAAU,QAAQ,CACtB,UAAwB,EACxB,OAA8B,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;IAE5D,OAAO;QACL,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,IAAY,CAAC;YACjB,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,GAAG,UAAU,EAAE,CAAC;gBACpB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GACD,KAAK,CAAC,GAAG,CAA6B,CAAC,QAAQ,CACjD,EAAE,CAAC,MAAM,CAAC,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC,GAAG,IAAI,uBAAuB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,wCAAwC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAC9C,MAAM,MAAM,GAAG,KAAK,IAA2B,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnE,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAIrB;IACF,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAC9B,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAC1B,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;CAC1B,CAAC;AAEF;;kEAEkE;AAClE,MAAM,UAAU,eAAe,CAC7B,GAAiD,EACjD,KAA8C;IAE9C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,oEAAoE;IACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC3F,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACvE,OAAO,WAAW,CAAC;QACjB,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC3C,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;QACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;QACxD,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnB,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE;gBACpC,MAAM,EAAE,MAAM,EAAE;gBAChB,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBAC1C,MAAM,EAAE,EAAE,GAAG,EAAE;aAChB,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO;QAC9B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,UAAwB;IACjE,OAAO,CAAC,GAA2B,EAAmB,EAAE,CAAC,CAAC;QACxD,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;QAC1C,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QACvB,IAAI,EAAE;YACJ,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,GAAG,EAAE,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;YACnE,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC;SACvC;QACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE;QAClE,GAAG;QACH,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAUhC;IACC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,KAAK,GACT,CAAC,CAAC,IAAI,KAAK,SAAS;QAClB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC;YACE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;SACjD,CAAC;IACR,MAAM,UAAU,GAAG,KAAK;QACtB,CAAC,CAAC,KAAK,IAA6B,EAAE;YAClC,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACvE,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9B,UAAU,EAAE,cAAc,CAAC;YACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;QACF,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC;QAC1C,IAAI;QACJ,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;QAChC,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,GAAG,YAAY;QACf,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,KAAK;YACP,CAAC,CAAC;gBACE,qFAAqF;gBACrF,UAAU,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACxF,MAAM,EAAE,aAAa,CAAC;oBACpB,GAAG,KAAK;oBACR,IAAI,EAAE,KAAK,IAAI,EAAE;wBACf,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC5B,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC7C,CAAC;iBACF,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;2EAC2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,oBAAoB;IACpB,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACxB,qBAAqB;CACtB,CAAC;AAEF;2DAC2D;AAC3D,MAAM,UAAU,aAAa,CAC3B,GAAiD,EACjD,UAAkB,WAAW,EAAE;IAE/B,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;0EAG0E;AAC1E,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAAe;IACrD,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO;IAC7B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,GAAiD;IAOlF,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC;IACxE,MAAM,KAAK,GAAgB,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAChF,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5D,OAAO;QACL,QAAQ,EAAE,gBAAgB,CAAC;YACzB,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC;YACzB,UAAU;YACV,OAAO,EAAE,eAAe,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAC3D,IAAI;YACJ,KAAK,EAAE,aAAa,CAAC;gBACnB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC;gBACpD,IAAI;gBACJ,MAAM,EAAE,UAAU;aACnB,CAAC;SACH,CAAC;QACF,KAAK;QACL,KAAK;QACL,IAAI,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC5E,QAAQ,EAAE,eAAe,CAAC;YACxB,IAAI;YACJ,GAAG;YACH,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC;SAC7C,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
// Advanced: what the simple path leaves out, behind one button (x, alt+x,
|
|
2
|
+
// `home_advanced`). Each choice runs the wizard's own step modules
|
|
3
|
+
// (src/onboard/steps/), registered on the plugin's step registry beside
|
|
4
|
+
// switch-on's (ADR 0001) and kept in the same checklist file, so an answer
|
|
5
|
+
// given here, in switch-on or in the wizard is one answer:
|
|
6
|
+
//
|
|
7
|
+
// A GitHub App github_account (the App route) → github_app (the
|
|
8
|
+
// manifest flow, with its loopback or hosted
|
|
9
|
+
// callback relay) → app_slug_reconcile
|
|
10
|
+
// Webhooks ingress: a tunnel, so a review starts at once
|
|
11
|
+
// instead of on the next poll
|
|
12
|
+
// Another server topology (the server's ssh alias) → ssh_preflight
|
|
13
|
+
// → vm_inventory → vm_deploy (a release)
|
|
14
|
+
// Slack the concierge's own guided tool sets it up; the
|
|
15
|
+
// step here says what is set up and what is not
|
|
16
|
+
// Dry-run or live "Stay in dry-run" first, then "Go live": the proof
|
|
17
|
+
// round, one more confirm, then the go-live step
|
|
18
|
+
// (src/home/switches.ts goLive; invariant 6: no other
|
|
19
|
+
// path moves dry_run, and nothing here moves it back)
|
|
20
|
+
//
|
|
21
|
+
// Every question is the person's, asked in the home: a tool can open a choice
|
|
22
|
+
// but cannot answer it. A step that fails ends the walk with what it said.
|
|
23
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
24
|
+
import { isAbsolute, join } from "node:path";
|
|
25
|
+
import { parse } from "smol-toml";
|
|
26
|
+
import { OnboardingEngine, sandboxRoot, } from "../onboard/engine.js";
|
|
27
|
+
import { userAuthRecorded } from "../onboard/choices.js";
|
|
28
|
+
import { APP_SLUG_STEP_ID, appSlugStep } from "../onboard/steps/appslug.js";
|
|
29
|
+
import { releaseVersion } from "../onboard/steps/compose.js";
|
|
30
|
+
import { GITHUB_ACCOUNT_STEP_ID } from "../onboard/steps/githubaccount.js";
|
|
31
|
+
import { GITHUB_APP_STEP_ID, githubAppStep } from "../onboard/steps/githubapp.js";
|
|
32
|
+
import { INGRESS_OPTIONS, INGRESS_STEP_ID, secretsDirFor } from "../onboard/steps/ingress.js";
|
|
33
|
+
import { VM_INVENTORY_STEP_ID, vmInventoryStep } from "../onboard/steps/inventory.js";
|
|
34
|
+
import { SSH_PREFLIGHT_STEP_ID, sshPreflightStep } from "../onboard/steps/ssh.js";
|
|
35
|
+
import { TOPOLOGY_STEP_ID, TOPOLOGY_SWITCH_CONFIRMATION, topologyRecorded, } from "../onboard/steps/topology.js";
|
|
36
|
+
import { VM_DEPLOY_STEP_ID, vmDeployStep } from "../onboard/steps/vmdeploy.js";
|
|
37
|
+
import { switchOnRegistry } from "./switchon.js";
|
|
38
|
+
import { goLive } from "./switches.js";
|
|
39
|
+
/** The choices, in the person's words. */
|
|
40
|
+
export const ADVANCED = {
|
|
41
|
+
close: "Close",
|
|
42
|
+
identity: "A GitHub App: reviews post as a bot, not as you",
|
|
43
|
+
webhooks: "Webhooks: a review starts at once, not on the next poll",
|
|
44
|
+
remote: "Auto-review on another server, over ssh",
|
|
45
|
+
slack: "Slack",
|
|
46
|
+
posting: "Dry-run or live",
|
|
47
|
+
};
|
|
48
|
+
/** The routes a tool may open by name. */
|
|
49
|
+
export const ADVANCED_ROUTES = ["identity", "webhooks", "remote", "slack", "posting"];
|
|
50
|
+
export const STAY_DRY = "Stay in dry-run";
|
|
51
|
+
export const GO_LIVE = "Go live";
|
|
52
|
+
export const CANCEL = "Cancel";
|
|
53
|
+
/** The app's own step for Slack (src/home/advanced.ts `slackStep`). */
|
|
54
|
+
export const SLACK_STEP_ID = "slack";
|
|
55
|
+
/** The steps each route runs, in order. */
|
|
56
|
+
export const ROUTE_STEPS = {
|
|
57
|
+
identity: [GITHUB_ACCOUNT_STEP_ID, GITHUB_APP_STEP_ID, APP_SLUG_STEP_ID],
|
|
58
|
+
webhooks: [INGRESS_STEP_ID],
|
|
59
|
+
remote: [TOPOLOGY_STEP_ID, SSH_PREFLIGHT_STEP_ID, VM_INVENTORY_STEP_ID, VM_DEPLOY_STEP_ID],
|
|
60
|
+
slack: [SLACK_STEP_ID],
|
|
61
|
+
};
|
|
62
|
+
const NEEDS_PERSON = "Advanced asks the person in the home, and no one can answer here; nothing changed";
|
|
63
|
+
const line = (id, what) => `${id}: ${what}`;
|
|
64
|
+
/** Run `plan` on `checklist` in order. A step the recorded choices disable is
|
|
65
|
+
* passed over; the first that fails ends the walk with what it said. */
|
|
66
|
+
export async function runRoute(checklist, plan, progress) {
|
|
67
|
+
const steps = [];
|
|
68
|
+
let last = "";
|
|
69
|
+
for (const { id, input } of plan) {
|
|
70
|
+
const status = checklist.list().find((s) => s.id === id);
|
|
71
|
+
if (status === undefined) {
|
|
72
|
+
steps.push(line(id, "not on this checklist"));
|
|
73
|
+
return { ok: false, detail: `${id} is not a step here`, steps };
|
|
74
|
+
}
|
|
75
|
+
if (status.status === "disabled") {
|
|
76
|
+
steps.push(line(id, "not on this route"));
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
progress?.(`${status.title}…`);
|
|
80
|
+
const r = await checklist.runStep(id, input);
|
|
81
|
+
if (!r.ok) {
|
|
82
|
+
const why = r.failures.join("; ") || "it did not finish";
|
|
83
|
+
steps.push(line(id, `failed: ${why}`));
|
|
84
|
+
return { ok: false, detail: `${status.title}: ${why}`, steps };
|
|
85
|
+
}
|
|
86
|
+
last = r.checks.map((c) => c.detail).join("; ") || "done";
|
|
87
|
+
steps.push(line(id, last));
|
|
88
|
+
progress?.(line(id, last));
|
|
89
|
+
}
|
|
90
|
+
return { ok: true, detail: last, steps };
|
|
91
|
+
}
|
|
92
|
+
const routeOf = (pick) => {
|
|
93
|
+
for (const r of ADVANCED_ROUTES)
|
|
94
|
+
if (ADVANCED[r] === pick)
|
|
95
|
+
return r;
|
|
96
|
+
return null;
|
|
97
|
+
};
|
|
98
|
+
/** Advanced, as the person meets it: the choice, its questions, its steps. */
|
|
99
|
+
export class HomeAdvanced {
|
|
100
|
+
o;
|
|
101
|
+
constructor(o) {
|
|
102
|
+
this.o = o;
|
|
103
|
+
}
|
|
104
|
+
/** Open Advanced: the person picks a choice (or the tool named one). */
|
|
105
|
+
async open(ask, route) {
|
|
106
|
+
if (!ask)
|
|
107
|
+
return NEEDS_PERSON;
|
|
108
|
+
let r = route ?? null;
|
|
109
|
+
if (r === null) {
|
|
110
|
+
const pick = await ask.select("Advanced", [
|
|
111
|
+
...ADVANCED_ROUTES.map((x) => ADVANCED[x]),
|
|
112
|
+
ADVANCED.close,
|
|
113
|
+
]);
|
|
114
|
+
r = routeOf(pick);
|
|
115
|
+
if (r === null)
|
|
116
|
+
return "closed: nothing changed";
|
|
117
|
+
}
|
|
118
|
+
if (r === "posting")
|
|
119
|
+
return this.posting(ask);
|
|
120
|
+
const port = this.o.port;
|
|
121
|
+
if (!port)
|
|
122
|
+
return `${ADVANCED[r]} can't be set up from this home`;
|
|
123
|
+
const plan = await this.plan(r, port, ask);
|
|
124
|
+
if (plan === null) {
|
|
125
|
+
this.o.say("Nothing changed.");
|
|
126
|
+
return "cancelled: nothing changed";
|
|
127
|
+
}
|
|
128
|
+
if (typeof plan === "string") {
|
|
129
|
+
this.o.say(`${ADVANCED[r]}: ${plan}.`, "warn");
|
|
130
|
+
return plan;
|
|
131
|
+
}
|
|
132
|
+
this.o.say(`${ADVANCED[r]}…`);
|
|
133
|
+
// A line with a link (the App's page to open) stays in the notice while
|
|
134
|
+
// the steps go on: the lines after it would push it out unread.
|
|
135
|
+
let link = false;
|
|
136
|
+
const progress = (l) => {
|
|
137
|
+
if (/https?:\/\//.test(l))
|
|
138
|
+
link = true;
|
|
139
|
+
else if (link)
|
|
140
|
+
return;
|
|
141
|
+
this.o.say(l);
|
|
142
|
+
};
|
|
143
|
+
let out;
|
|
144
|
+
try {
|
|
145
|
+
out = await runRoute(port.checklist(progress), plan, progress);
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
out = { ok: false, detail: String(err), steps: [] };
|
|
149
|
+
}
|
|
150
|
+
await this.o.refresh();
|
|
151
|
+
this.o.say(out.ok ? `${ADVANCED[r]}: done. ${out.detail}` : `${ADVANCED[r]}: not done. ${out.detail}`, out.ok ? "ok" : "warn");
|
|
152
|
+
return `${out.ok ? "done" : "not done"}: ${out.detail}\n${out.steps.join("\n")}`;
|
|
153
|
+
}
|
|
154
|
+
/** The steps of a route with the person's answers; why it stops here; or
|
|
155
|
+
* null when the person cancelled. */
|
|
156
|
+
async plan(r, port, ask) {
|
|
157
|
+
switch (r) {
|
|
158
|
+
case "identity": {
|
|
159
|
+
const go = await ask.select("Use a GitHub App? It is created from your browser (one click on GitHub's page), installed on your repository, and auto-review then posts as its bot.", [CANCEL, "Create the App"]);
|
|
160
|
+
if (go !== "Create the App")
|
|
161
|
+
return null;
|
|
162
|
+
return [
|
|
163
|
+
{ id: GITHUB_ACCOUNT_STEP_ID, input: { github_auth: "app" } },
|
|
164
|
+
{ id: GITHUB_APP_STEP_ID, input: {} },
|
|
165
|
+
{ id: APP_SLUG_STEP_ID, input: {} },
|
|
166
|
+
];
|
|
167
|
+
}
|
|
168
|
+
case "webhooks": {
|
|
169
|
+
const options = INGRESS_OPTIONS.map((x) => x.headline);
|
|
170
|
+
const pick = await ask.select("How should GitHub reach auto-review? Polling needs nothing; a tunnel delivers webhooks.", [CANCEL, ...options]);
|
|
171
|
+
const choice = INGRESS_OPTIONS.find((x) => x.headline === pick);
|
|
172
|
+
if (!choice)
|
|
173
|
+
return null;
|
|
174
|
+
// the own-account route polls: GitHub delivers webhooks to an App
|
|
175
|
+
if (choice.id !== "polling" && userAuthRecorded(port.checklist(() => { }).choices()))
|
|
176
|
+
return `webhooks are delivered to a GitHub App, and auto-review runs on your own account. Set up "${ADVANCED.identity}" first`;
|
|
177
|
+
const input = { choice: choice.id };
|
|
178
|
+
if (choice.id === "named" || choice.id === "ngrok") {
|
|
179
|
+
if (!ask.input)
|
|
180
|
+
return "this home can't ask for the tunnel's hostname";
|
|
181
|
+
const host = (await ask.input(choice.id === "named"
|
|
182
|
+
? "The tunnel's public hostname, on your domain"
|
|
183
|
+
: "Your ngrok reserved domain (empty: none)", "reviews.example.com"))?.trim();
|
|
184
|
+
if (host === undefined)
|
|
185
|
+
return null;
|
|
186
|
+
if (host !== "")
|
|
187
|
+
input["hostname"] = host;
|
|
188
|
+
else if (choice.id === "named")
|
|
189
|
+
return "the named tunnel needs its hostname";
|
|
190
|
+
}
|
|
191
|
+
return [{ id: INGRESS_STEP_ID, input }];
|
|
192
|
+
}
|
|
193
|
+
case "remote": {
|
|
194
|
+
if (!ask.input)
|
|
195
|
+
return "this home can't ask for the server's name";
|
|
196
|
+
const alias = (await ask.input("The server's ssh alias, as you type it after `ssh`", "review-box"))?.trim();
|
|
197
|
+
if (!alias)
|
|
198
|
+
return null;
|
|
199
|
+
const topology = { choice: "vm", ssh_host: alias };
|
|
200
|
+
const recorded = topologyRecorded(port.checklist(() => { }).choices());
|
|
201
|
+
if (recorded === "local") {
|
|
202
|
+
const move = `Move it to ${alias}`;
|
|
203
|
+
const go = await ask.select(`Auto-review is set up to run on this machine. Move it to ${alias}? This machine's stack is left as it is; switch it off here once the server runs.`, [CANCEL, move]);
|
|
204
|
+
if (go !== move)
|
|
205
|
+
return null;
|
|
206
|
+
topology["confirm"] = TOPOLOGY_SWITCH_CONFIRMATION;
|
|
207
|
+
}
|
|
208
|
+
const release = port.release();
|
|
209
|
+
const named = (await ask.input(`The release to deploy${release ? ` (empty: ${release}, this app's)` : ""}`, release || "1.2.3"))?.trim();
|
|
210
|
+
if (named === undefined)
|
|
211
|
+
return null;
|
|
212
|
+
const version = named || release;
|
|
213
|
+
if (!version)
|
|
214
|
+
return "a release to deploy is needed";
|
|
215
|
+
return [
|
|
216
|
+
{ id: TOPOLOGY_STEP_ID, input: topology },
|
|
217
|
+
{ id: SSH_PREFLIGHT_STEP_ID, input: {} },
|
|
218
|
+
{ id: VM_INVENTORY_STEP_ID, input: {} },
|
|
219
|
+
{ id: VM_DEPLOY_STEP_ID, input: { version } },
|
|
220
|
+
];
|
|
221
|
+
}
|
|
222
|
+
case "slack":
|
|
223
|
+
return [{ id: SLACK_STEP_ID, input: {} }];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** Dry-run or live: staying in dry-run comes first. */
|
|
227
|
+
async posting(ask) {
|
|
228
|
+
const control = this.o.autoReview;
|
|
229
|
+
if (!control)
|
|
230
|
+
return "auto-review can't be switched from this home";
|
|
231
|
+
const dry = await control.dryRun();
|
|
232
|
+
if (dry.kind === "unknown") {
|
|
233
|
+
this.o.say(`Whether auto-review posts live is unknown: ${dry.why}.`, "warn");
|
|
234
|
+
return `dry-run unknown: ${dry.why}`;
|
|
235
|
+
}
|
|
236
|
+
if (!dry.value) {
|
|
237
|
+
const said = "Auto-review posts live. Going back to dry-run is your own edit: set dry_run = true in your qcr config. Nothing here moves it.";
|
|
238
|
+
this.o.say(said);
|
|
239
|
+
return said;
|
|
240
|
+
}
|
|
241
|
+
const pick = await ask.select("Auto-review is in dry-run: it reviews, and records what it would post instead of posting it. Going live posts each review to GitHub under your name, after a proof round you read.", [STAY_DRY, GO_LIVE]);
|
|
242
|
+
if (pick !== GO_LIVE) {
|
|
243
|
+
this.o.say("Auto-review stays in dry-run.");
|
|
244
|
+
return "stays in dry-run: nothing changed";
|
|
245
|
+
}
|
|
246
|
+
return goLive({
|
|
247
|
+
say: (text, kind) => this.o.say(text, kind),
|
|
248
|
+
refresh: () => this.o.refresh(),
|
|
249
|
+
selected: () => this.o.selected?.() ?? null,
|
|
250
|
+
}, control, ask);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
const isObj = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
254
|
+
/** What the config and the secrets dir say of the Slack concierge. */
|
|
255
|
+
function slackFacts(ctx) {
|
|
256
|
+
let cfg;
|
|
257
|
+
try {
|
|
258
|
+
const v = parse(readFileSync(ctx.adapters.paths.configPath, "utf8"));
|
|
259
|
+
cfg = isObj(v) ? v : {};
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
return { missing: `can't read ${ctx.adapters.paths.configPath}: ${String(err)}` };
|
|
263
|
+
}
|
|
264
|
+
const slack = isObj(cfg["slack"]) ? cfg["slack"] : {};
|
|
265
|
+
const tool = join(sandboxRoot(ctx.adapters.paths), "deploy", "collect-slack-secrets.mjs");
|
|
266
|
+
const run = existsSync(tool)
|
|
267
|
+
? `node ${tool} (in a clone, npm run slack:setup)`
|
|
268
|
+
: "npm run slack:setup, in a clone of QuickReview";
|
|
269
|
+
const howTo = `the Slack concierge has its own guided setup, run in a shell: ${run}. It creates the Slack app, collects its two tokens, picks the channel and turns it on`;
|
|
270
|
+
if (slack["enabled"] !== true)
|
|
271
|
+
return { missing: `Slack is off: ${howTo}` };
|
|
272
|
+
const channel = typeof slack["channel"] === "string" ? slack["channel"].trim() : "";
|
|
273
|
+
if (channel === "")
|
|
274
|
+
return { missing: `Slack is on but names no channel: ${howTo}` };
|
|
275
|
+
const secrets = secretsDirFor(ctx.adapters, ctx.choices);
|
|
276
|
+
const missingTokens = [
|
|
277
|
+
["bot_token_file", "slack_bot_token"],
|
|
278
|
+
["app_token_file", "slack_app_token"],
|
|
279
|
+
].flatMap(([key, fallback]) => {
|
|
280
|
+
const name = typeof slack[key] === "string" && slack[key] !== "" ? slack[key] : fallback;
|
|
281
|
+
const path = isAbsolute(name) ? name : join(secrets, name);
|
|
282
|
+
return existsSync(path) ? [] : [path];
|
|
283
|
+
});
|
|
284
|
+
if (missingTokens.length > 0)
|
|
285
|
+
return { missing: `Slack is on, but ${missingTokens.join(" and ")} is missing: ${howTo}` };
|
|
286
|
+
return { found: `Slack is on, in channel ${channel}` };
|
|
287
|
+
}
|
|
288
|
+
/** Slack, as a registry step: what is set up, and how to set up the rest. */
|
|
289
|
+
export function slackStep() {
|
|
290
|
+
const report = async (ctx) => {
|
|
291
|
+
const f = slackFacts(ctx);
|
|
292
|
+
return "found" in f
|
|
293
|
+
? { ok: true, checks: [{ name: "slack", ok: true, detail: f.found }] }
|
|
294
|
+
: { ok: false, checks: [{ name: "slack", ok: false, detail: f.missing }] };
|
|
295
|
+
};
|
|
296
|
+
return {
|
|
297
|
+
id: SLACK_STEP_ID,
|
|
298
|
+
title: "Slack",
|
|
299
|
+
explain: "The Slack concierge: one channel, one thread per pull request.",
|
|
300
|
+
order: 95,
|
|
301
|
+
optional: true,
|
|
302
|
+
detect: async (ctx) => slackFacts(ctx),
|
|
303
|
+
run: report,
|
|
304
|
+
verify: report,
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
/** Switch-on's registry with the advanced steps registered onto it. */
|
|
308
|
+
export function advancedRegistry(o = {}) {
|
|
309
|
+
return switchOnRegistry(o).register(sshPreflightStep(), githubAppStep(o.env ? { env: o.env } : {}), appSlugStep(), vmInventoryStep(), vmDeployStep(), slackStep());
|
|
310
|
+
}
|
|
311
|
+
/** Advanced over the wizard's checklist file and adapters at `root`. */
|
|
312
|
+
export function composeAdvanced(o) {
|
|
313
|
+
return {
|
|
314
|
+
checklist: (log) => new OnboardingEngine(advancedRegistry({ env: o.env }), o.stepAdapters(log)),
|
|
315
|
+
release: () => releaseVersion(o.root),
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
//# sourceMappingURL=advanced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../../src/home/advanced.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { textResult } from "@quickchatai/pi-quickreview/extensions/pi-tool.js";
|
|
2
|
+
import { ADVANCED_ROUTES, } from "./advanced.js";
|
|
3
|
+
const NO_PARAMS = { type: "object", properties: {}, additionalProperties: false };
|
|
4
|
+
const str = (v) => (typeof v === "string" ? v : "");
|
|
5
|
+
const isRoute = (v) => typeof v === "string" && ADVANCED_ROUTES.includes(v);
|
|
6
|
+
/** One definition per HOME_ADVANCED_TOOL_NAMES entry. */
|
|
7
|
+
export function advancedTools(h) {
|
|
8
|
+
return {
|
|
9
|
+
home_tune: {
|
|
10
|
+
name: "home_tune",
|
|
11
|
+
label: "Home: tune to this repo",
|
|
12
|
+
description: "Run Setup for the home's repository: a survey of a checkout of it, its review history, and an interview with the person here in the chat, which writes the repo profile (.qcr/). It hands you the Setup brief as the person's next message, and the tune stays open until you write the profile's last file. Nothing requires it: reviews run on the default profile until then.",
|
|
13
|
+
parameters: NO_PARAMS,
|
|
14
|
+
execute: async () => textResult(await h.tune.tune(h.tellAgent)),
|
|
15
|
+
},
|
|
16
|
+
home_tune_write: {
|
|
17
|
+
name: "home_tune_write",
|
|
18
|
+
label: "Home: write a profile file",
|
|
19
|
+
description: "While Setup runs (home_tune), write one file of the repo profile into the checkout's .qcr/: `profile.toml`, or `addenda/<nn>-<rule-id>.md`. Show the person the file in the chat first: the home asks them, and writes it only on their yes. The tune stays open through every file: pass `last: true` with the profile's final one.",
|
|
20
|
+
parameters: {
|
|
21
|
+
type: "object",
|
|
22
|
+
properties: {
|
|
23
|
+
file: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: "The file, relative to .qcr/: profile.toml or addenda/<nn>-<rule-id>.md.",
|
|
26
|
+
},
|
|
27
|
+
content: { type: "string", description: "The whole file." },
|
|
28
|
+
last: {
|
|
29
|
+
type: "boolean",
|
|
30
|
+
description: "True for the profile's final file: the tune ends with it.",
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
required: ["file", "content"],
|
|
34
|
+
additionalProperties: false,
|
|
35
|
+
},
|
|
36
|
+
execute: async (_id, p, _signal, _onUpdate, ctx) => textResult(await h.tune.write(str(p["file"]), str(p["content"]), h.ask(ctx), p["last"] === true)),
|
|
37
|
+
},
|
|
38
|
+
home_advanced: {
|
|
39
|
+
name: "home_advanced",
|
|
40
|
+
label: "Home: advanced",
|
|
41
|
+
description: "Open the home's Advanced choices: a GitHub App (a bot identity) instead of the person's own account, webhooks through a tunnel instead of polling, auto-review on another server over ssh, Slack, and dry-run or live. `choice` opens one directly. Every question is the person's to answer in the home: this tool cannot answer or confirm for them.",
|
|
42
|
+
parameters: {
|
|
43
|
+
type: "object",
|
|
44
|
+
properties: {
|
|
45
|
+
choice: {
|
|
46
|
+
type: "string",
|
|
47
|
+
enum: [...ADVANCED_ROUTES],
|
|
48
|
+
description: "The choice to open; omit to let the person pick.",
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
additionalProperties: false,
|
|
52
|
+
},
|
|
53
|
+
execute: async (_id, p, _signal, _onUpdate, ctx) => textResult(await h.advanced.open(h.ask(ctx), isRoute(p["choice"]) ? p["choice"] : undefined)),
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=advancedtools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advancedtools.js","sourceRoot":"","sources":["../../../src/home/advancedtools.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAgB,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EACL,eAAe,GAIhB,MAAM,eAAe,CAAC;AAMvB,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAW,CAAC;AAW3F,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAErE,MAAM,OAAO,GAAG,CAAC,CAAU,EAAsB,EAAE,CACjD,OAAO,CAAC,KAAK,QAAQ,IAAK,eAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE9E,yDAAyD;AACzD,MAAM,UAAU,aAAa,CAAC,CAAoB;IAGhD,OAAO;QACL,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,yBAAyB;YAChC,WAAW,EACT,kXAAkX;YACpX,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAChE;QACD,eAAe,EAAE;YACf,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,4BAA4B;YACnC,WAAW,EACT,sUAAsU;YACxU,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yEAAyE;qBACvF;oBACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;oBAC3D,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,2DAA2D;qBACzE;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;gBAC7B,oBAAoB,EAAE,KAAK;aAC5B;YACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CACjD,UAAU,CACR,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CACtF;SACJ;QACD,aAAa,EAAE;YACb,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,wVAAwV;YAC1V,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC;wBAC1B,WAAW,EAAE,kDAAkD;qBAChE;iBACF;gBACD,oBAAoB,EAAE,KAAK;aAC5B;YACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CACjD,UAAU,CACR,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAClF;SACJ;KACF,CAAC;AACJ,CAAC"}
|