@intentic/machine 1.325.0 → 1.327.0
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 +387 -33
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +2 -0
- package/dist/commands.js.map +1 -1
- package/dist/daemon-base.d.ts.map +1 -1
- package/dist/daemon-base.js +2 -3
- package/dist/daemon-base.js.map +1 -1
- package/dist/device/audit.d.ts +2 -0
- package/dist/device/audit.d.ts.map +1 -1
- package/dist/device/audit.js +23 -3
- package/dist/device/audit.js.map +1 -1
- package/dist/device/commands.d.ts +4 -0
- package/dist/device/commands.d.ts.map +1 -1
- package/dist/device/commands.js +7 -2
- package/dist/device/commands.js.map +1 -1
- package/dist/device/connection.d.ts +12 -1
- package/dist/device/connection.d.ts.map +1 -1
- package/dist/device/connection.js +77 -3
- package/dist/device/connection.js.map +1 -1
- package/dist/device/grant.d.ts +52 -0
- package/dist/device/grant.d.ts.map +1 -1
- package/dist/device/loopback-catch.d.ts +1 -1
- package/dist/device/loopback-catch.d.ts.map +1 -1
- package/dist/device/loopback-catch.js +5 -30
- package/dist/device/loopback-catch.js.map +1 -1
- package/dist/device/mcp.d.ts.map +1 -1
- package/dist/device/mcp.js +190 -30
- package/dist/device/mcp.js.map +1 -1
- package/dist/device/router.d.ts +52 -0
- package/dist/device/router.d.ts.map +1 -1
- package/dist/device/router.js +21 -0
- package/dist/device/router.js.map +1 -1
- package/dist/device/sandbox-rounds/auto-backup.d.ts +3 -1
- package/dist/device/sandbox-rounds/auto-backup.d.ts.map +1 -1
- package/dist/device/sandbox-rounds/auto-backup.js +14 -5
- package/dist/device/sandbox-rounds/auto-backup.js.map +1 -1
- package/dist/device/sandbox-rounds/auto-prepare.d.ts +3 -1
- package/dist/device/sandbox-rounds/auto-prepare.d.ts.map +1 -1
- package/dist/device/sandbox-rounds/auto-prepare.js +3 -3
- package/dist/device/sandbox-rounds/auto-prepare.js.map +1 -1
- package/dist/device/sandbox-rounds/in-flight.d.ts.map +1 -0
- package/dist/device/sandbox-rounds/in-flight.js.map +1 -0
- package/dist/device/sandbox-rounds/keeper.d.ts +26 -4
- package/dist/device/sandbox-rounds/keeper.d.ts.map +1 -1
- package/dist/device/sandbox-rounds/keeper.js +129 -31
- package/dist/device/sandbox-rounds/keeper.js.map +1 -1
- package/dist/device/sandbox-rounds/probation-watch.d.ts.map +1 -1
- package/dist/device/sandbox-rounds/probation-watch.js.map +1 -1
- package/dist/device/tools/android-parse.d.ts +69 -0
- package/dist/device/tools/android-parse.d.ts.map +1 -0
- package/dist/device/tools/android-parse.js +391 -0
- package/dist/device/tools/android-parse.js.map +1 -0
- package/dist/device/tools/android.d.ts +71 -0
- package/dist/device/tools/android.d.ts.map +1 -0
- package/dist/device/tools/android.js +534 -0
- package/dist/device/tools/android.js.map +1 -0
- package/dist/device/tools/apps.d.ts +3 -3
- package/dist/device/tools/apps.d.ts.map +1 -1
- package/dist/device/tools/apps.js +16 -6
- package/dist/device/tools/apps.js.map +1 -1
- package/dist/device/tools/describe.d.ts.map +1 -1
- package/dist/device/tools/describe.js +10 -5
- package/dist/device/tools/describe.js.map +1 -1
- package/dist/device/tools/device.d.ts +9 -15
- package/dist/device/tools/device.d.ts.map +1 -1
- package/dist/device/tools/device.js +34 -58
- package/dist/device/tools/device.js.map +1 -1
- package/dist/device/tools/elements.d.ts +13 -0
- package/dist/device/tools/elements.d.ts.map +1 -0
- package/dist/device/tools/elements.js +84 -0
- package/dist/device/tools/elements.js.map +1 -0
- package/dist/device/tools/ic-binary.d.ts +1 -0
- package/dist/device/tools/ic-binary.d.ts.map +1 -1
- package/dist/device/tools/ic-binary.js +40 -17
- package/dist/device/tools/ic-binary.js.map +1 -1
- package/dist/device/tools/sandboxes.d.ts +1 -1
- package/dist/device/tools/sandboxes.d.ts.map +1 -1
- package/dist/device/tools/sandboxes.js +9 -8
- package/dist/device/tools/sandboxes.js.map +1 -1
- package/dist/device/tools/shell.js +1 -1
- package/dist/device/tools/shell.js.map +1 -1
- package/dist/device/tools/view.d.ts +4 -0
- package/dist/device/tools/view.d.ts.map +1 -0
- package/dist/device/tools/view.js +4 -0
- package/dist/device/tools/view.js.map +1 -0
- package/dist/environments/children.js +1 -1
- package/dist/environments/children.js.map +1 -1
- package/dist/environments/commands.js +1 -1
- package/dist/environments/commands.js.map +1 -1
- package/dist/environments/crossing.d.ts +1 -1
- package/dist/environments/crossing.d.ts.map +1 -1
- package/dist/environments/machine.js +1 -1
- package/dist/environments/machine.js.map +1 -1
- package/dist/environments/wsl.d.ts.map +1 -0
- package/dist/environments/wsl.js.map +1 -0
- package/dist/resident.d.ts.map +1 -1
- package/dist/resident.js +14 -8
- package/dist/resident.js.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +16 -13
- package/dist/status.js.map +1 -1
- package/dist/sync/attach-commands.d.ts +39 -0
- package/dist/sync/attach-commands.d.ts.map +1 -0
- package/dist/sync/attach-commands.js +152 -0
- package/dist/sync/attach-commands.js.map +1 -0
- package/dist/sync/commands.d.ts +8 -4
- package/dist/sync/commands.d.ts.map +1 -1
- package/dist/sync/commands.js +137 -79
- package/dist/sync/commands.js.map +1 -1
- package/dist/sync/config.d.ts +43 -9
- package/dist/sync/config.d.ts.map +1 -1
- package/dist/sync/config.js +86 -41
- package/dist/sync/config.js.map +1 -1
- package/dist/sync/endpoint.d.ts +8 -1
- package/dist/sync/endpoint.d.ts.map +1 -1
- package/dist/sync/endpoint.js +41 -1
- package/dist/sync/endpoint.js.map +1 -1
- package/dist/sync/environment.d.ts +11 -0
- package/dist/sync/environment.d.ts.map +1 -0
- package/dist/sync/environment.js +48 -0
- package/dist/sync/environment.js.map +1 -0
- package/dist/sync/exec.d.ts +1 -0
- package/dist/sync/exec.d.ts.map +1 -1
- package/dist/sync/exec.js +4 -5
- package/dist/sync/exec.js.map +1 -1
- package/dist/sync/folders.d.ts +3 -2
- package/dist/sync/folders.d.ts.map +1 -1
- package/dist/sync/folders.js +55 -2
- package/dist/sync/folders.js.map +1 -1
- package/dist/sync/forget-command.d.ts +22 -0
- package/dist/sync/forget-command.d.ts.map +1 -0
- package/dist/sync/forget-command.js +95 -0
- package/dist/sync/forget-command.js.map +1 -0
- package/dist/sync/git-bridge.d.ts +6 -0
- package/dist/sync/git-bridge.d.ts.map +1 -1
- package/dist/sync/git-bridge.js +64 -1
- package/dist/sync/git-bridge.js.map +1 -1
- package/dist/sync/gone-watch.d.ts +18 -0
- package/dist/sync/gone-watch.d.ts.map +1 -0
- package/dist/sync/gone-watch.js +142 -0
- package/dist/sync/gone-watch.js.map +1 -0
- package/dist/sync/gone.d.ts +22 -0
- package/dist/sync/gone.d.ts.map +1 -0
- package/dist/sync/gone.js +60 -0
- package/dist/sync/gone.js.map +1 -0
- package/dist/sync/local-sandboxes.d.ts +6 -0
- package/dist/sync/local-sandboxes.d.ts.map +1 -0
- package/dist/sync/local-sandboxes.js +26 -0
- package/dist/sync/local-sandboxes.js.map +1 -0
- package/dist/sync/mirror.d.ts +7 -0
- package/dist/sync/mirror.d.ts.map +1 -1
- package/dist/sync/mirror.js +434 -111
- package/dist/sync/mirror.js.map +1 -1
- package/dist/sync/mutagen.d.ts +50 -18
- package/dist/sync/mutagen.d.ts.map +1 -1
- package/dist/sync/mutagen.js +294 -80
- package/dist/sync/mutagen.js.map +1 -1
- package/dist/sync/project/adopt.d.ts +18 -0
- package/dist/sync/project/adopt.d.ts.map +1 -0
- package/dist/sync/project/adopt.js +86 -0
- package/dist/sync/project/adopt.js.map +1 -0
- package/dist/sync/{project-commands.d.ts → project/project-commands.d.ts} +4 -1
- package/dist/sync/project/project-commands.d.ts.map +1 -0
- package/dist/sync/{project-commands.js → project/project-commands.js} +10 -10
- package/dist/sync/project/project-commands.js.map +1 -0
- package/dist/sync/project/project-delivery.d.ts +23 -0
- package/dist/sync/project/project-delivery.d.ts.map +1 -0
- package/dist/sync/project/project-delivery.js +315 -0
- package/dist/sync/project/project-delivery.js.map +1 -0
- package/dist/sync/{project-files.d.ts → project/project-files.d.ts} +1 -1
- package/dist/sync/project/project-files.d.ts.map +1 -0
- package/dist/sync/{project-files.js → project/project-files.js} +5 -2
- package/dist/sync/project/project-files.js.map +1 -0
- package/dist/sync/{project-local.d.ts → project/project-local.d.ts} +1 -1
- package/dist/sync/project/project-local.d.ts.map +1 -0
- package/dist/sync/{project-local.js → project/project-local.js} +1 -1
- package/dist/sync/project/project-local.js.map +1 -0
- package/dist/sync/{project-remote.d.ts → project/project-remote.d.ts} +1 -1
- package/dist/sync/project/project-remote.d.ts.map +1 -0
- package/dist/sync/{project-remote.js → project/project-remote.js} +1 -1
- package/dist/sync/project/project-remote.js.map +1 -0
- package/dist/sync/{project-transfer.d.ts → project/project-transfer.d.ts} +20 -6
- package/dist/sync/project/project-transfer.d.ts.map +1 -0
- package/dist/sync/{project-transfer.js → project/project-transfer.js} +26 -23
- package/dist/sync/project/project-transfer.js.map +1 -0
- package/dist/sync/report.d.ts.map +1 -1
- package/dist/sync/report.js +13 -7
- package/dist/sync/report.js.map +1 -1
- package/dist/sync/restore-points.d.ts +15 -11
- package/dist/sync/restore-points.d.ts.map +1 -1
- package/dist/sync/restore-points.js +25 -24
- package/dist/sync/restore-points.js.map +1 -1
- package/dist/sync/retire.d.ts +14 -0
- package/dist/sync/retire.d.ts.map +1 -0
- package/dist/sync/retire.js +66 -0
- package/dist/sync/retire.js.map +1 -0
- package/dist/sync/siblings.d.ts +27 -0
- package/dist/sync/siblings.d.ts.map +1 -0
- package/dist/sync/siblings.js +112 -0
- package/dist/sync/siblings.js.map +1 -0
- package/dist/sync/ssh.d.ts +1 -0
- package/dist/sync/ssh.d.ts.map +1 -1
- package/dist/sync/ssh.js +37 -23
- package/dist/sync/ssh.js.map +1 -1
- package/dist/sync/tunnel.d.ts +6 -2
- package/dist/sync/tunnel.d.ts.map +1 -1
- package/dist/sync/tunnel.js +45 -48
- package/dist/sync/tunnel.js.map +1 -1
- package/dist/upkeep/doctor.d.ts +5 -0
- package/dist/upkeep/doctor.d.ts.map +1 -0
- package/dist/upkeep/doctor.js +73 -0
- package/dist/upkeep/doctor.js.map +1 -0
- package/dist/upkeep/entry.d.ts +26 -0
- package/dist/upkeep/entry.d.ts.map +1 -0
- package/dist/upkeep/entry.js +2 -0
- package/dist/upkeep/entry.js.map +1 -0
- package/dist/upkeep/login.d.ts +15 -0
- package/dist/upkeep/login.d.ts.map +1 -0
- package/dist/upkeep/login.js +128 -0
- package/dist/upkeep/login.js.map +1 -0
- package/dist/upkeep/manifest.d.ts +3 -0
- package/dist/upkeep/manifest.d.ts.map +1 -0
- package/dist/upkeep/manifest.js +6 -0
- package/dist/upkeep/manifest.js.map +1 -0
- package/dist/upkeep/reconcile.d.ts +45 -0
- package/dist/upkeep/reconcile.d.ts.map +1 -0
- package/dist/upkeep/reconcile.js +159 -0
- package/dist/upkeep/reconcile.js.map +1 -0
- package/dist/upkeep/retention.d.ts +10 -0
- package/dist/upkeep/retention.d.ts.map +1 -0
- package/dist/upkeep/retention.js +71 -0
- package/dist/upkeep/retention.js.map +1 -0
- package/dist/upkeep/retired.d.ts +12 -0
- package/dist/upkeep/retired.d.ts.map +1 -0
- package/dist/upkeep/retired.js +125 -0
- package/dist/upkeep/retired.js.map +1 -0
- package/dist/upkeep/second-ic.d.ts +4 -0
- package/dist/upkeep/second-ic.d.ts.map +1 -0
- package/dist/upkeep/second-ic.js +36 -0
- package/dist/upkeep/second-ic.js.map +1 -0
- package/dist/upkeep/trash.d.ts +9 -0
- package/dist/upkeep/trash.d.ts.map +1 -0
- package/dist/upkeep/trash.js +77 -0
- package/dist/upkeep/trash.js.map +1 -0
- package/dist/watchdog.d.ts +13 -0
- package/dist/watchdog.d.ts.map +1 -0
- package/dist/watchdog.js +38 -0
- package/dist/watchdog.js.map +1 -0
- package/package.json +9 -9
- package/dist/autostart/legacy-autostart.d.ts +0 -4
- package/dist/autostart/legacy-autostart.d.ts.map +0 -1
- package/dist/autostart/legacy-autostart.js +0 -33
- package/dist/autostart/legacy-autostart.js.map +0 -1
- package/dist/device/tools/in-flight.d.ts.map +0 -1
- package/dist/device/tools/in-flight.js.map +0 -1
- package/dist/sync/project-commands.d.ts.map +0 -1
- package/dist/sync/project-commands.js.map +0 -1
- package/dist/sync/project-files.d.ts.map +0 -1
- package/dist/sync/project-files.js.map +0 -1
- package/dist/sync/project-local.d.ts.map +0 -1
- package/dist/sync/project-local.js.map +0 -1
- package/dist/sync/project-remote.d.ts.map +0 -1
- package/dist/sync/project-remote.js.map +0 -1
- package/dist/sync/project-transfer.d.ts.map +0 -1
- package/dist/sync/project-transfer.js.map +0 -1
- package/dist/wsl.d.ts.map +0 -1
- package/dist/wsl.js.map +0 -1
- /package/dist/device/{tools → sandbox-rounds}/in-flight.d.ts +0 -0
- /package/dist/device/{tools → sandbox-rounds}/in-flight.js +0 -0
- /package/dist/{wsl.d.ts → environments/wsl.d.ts} +0 -0
- /package/dist/{wsl.js → environments/wsl.js} +0 -0
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAY/C,MAAM,GAAG,GAAG,YAAY,CAAW;IAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,wGAAwG,EAAE;IACzH,UAAU,EAAE;QACR,KAAK,EAAE;YACH,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,0DAA0D,EAAE;YAClG,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE;SAChE;KACJ;IACD,KAAK,CAAC,IAAI,CAAuB,KAAe;QAC5C,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,MAAM,YAAY,EAAE,CAAC;YACjC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;YAElE,GAAG,CAAC,sJAAsJ,CAAC,CAAC;YAC5J,OAAO;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,YAAY,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,CAAC;YAC5I,OAAO;QACX,CAAC;QAED,MAAM,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IACnH,CAAC;CACJ,CAAC,CAAC;AAGH,MAAM,OAAO,GAAG,YAAY,CAAC;IACzB,IAAI,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE;IAC7C,UAAU,EAAE,EAAE;IACd,IAAI;QACA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ,CAAC,CAAC;AAQH,MAAM,OAAO,GAAG,YAAY,CAAe;IACvC,IAAI,EAAE,EAAE,KAAK,EAAE,oGAAoG,EAAE;IACrH,UAAU,EAAE;QACR,KAAK,EAAE;YACH,KAAK,EAAE;gBACH,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,0IAA0I;aACpJ;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iGAAiG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;SACrK;KACJ;IACD,KAAK,CAAC,IAAI,CAAuB,KAAmB;QAChD,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAGH,MAAM,SAAS,GAAG,YAAY,CAAC;IAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,0FAA0F,EAAE;IAC3G,UAAU,EAAE,EAAE;IACd,KAAK,CAAC,IAAI;QACN,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QAEtF,MAAM,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;QACnC,GAAG,CACC,KAAK,KAAK,SAAS;YACf,CAAC,CAAC,uCAAuC;YACzC,CAAC,CAAC,gCAAgC,KAAK,CAAC,GAAG,oGAAoG,CACtJ,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;IAClC,MAAM,EAAE;QACJ,MAAM,EAAE,aAAa,CAAC;YAClB,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,EAAE,KAAK,EAAE,kEAAkE,EAAE;SACtF,CAAC;QACF,IAAI,EAAE,aAAa,CAAC;YAChB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,EAAE,KAAK,EAAE,8EAA8E,EAAE;SAClG,CAAC;QACF,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,iBAAiB;QAC9B,GAAG;QACH,MAAM;QACN,MAAM;QACN,OAAO;QACP,OAAO;QACP,OAAO;QACP,SAAS;KACZ;IACD,IAAI,EAAE,EAAE,KAAK,EAAE,kEAAkE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;CACxH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-base.d.ts","sourceRoot":"","sources":["../src/daemon-base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAajD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-base.d.ts","sourceRoot":"","sources":["../src/daemon-base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAajD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAG5F,eAAO,MAAM,UAAU,eAAgB,MAAM,KAAG,MAAM,GAAG,SAGxD,CAAC;AAIF,eAAO,MAAM,cAAc,eAAgB,MAAM,KAAG,SAAS,MAAM,EASlE,CAAC;AAIF,eAAO,MAAM,eAAe,SAAgB,MAAM,cAAc,MAAM,cAAa,SAAS,KAAW,OAAO,CAAC,OAAO,CAWrH,CAAC;AAIF,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CAC3B;AAID,eAAO,MAAM,iBAAiB,eAAsB,MAAM,cAAa,SAAS,KAAW,OAAO,CAAC,UAAU,CAc5G,CAAC;AAEF,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAGD,eAAO,MAAM,gBAAgB,eAAsB,MAAM,QAAQ,MAAM,QAAQ,WAAW,OAAO,UAAU,KAAG,OAAO,CAAC,QAAQ,CAqB7H,CAAC;AAMF,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAI5C,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAUD,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAID,eAAO,MAAM,iBAAiB,QAAS,GAAG,cAAa,SAAS,QAAe,MAAM,MAAM,KAAc,WA8BxG,CAAC;AAGF,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,YAAY;IAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAGD,eAAO,MAAM,cAAc,GAAU,CAAC,SAAS,YAAY,YAAY,SAAS,CAAC,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7B,CAAC"}
|
package/dist/daemon-base.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { sleep } from "@intentic/base/async";
|
|
2
|
-
import { sandboxIdFromUrl } from "@intentic/sandbox-contract";
|
|
2
|
+
import { SANDBOX_ID, sandboxIdFromUrl } from "@intentic/sandbox-contract";
|
|
3
3
|
import { localDaemonUrlInsecure } from "@intentic/sandbox-run";
|
|
4
4
|
const PROBE_TIMEOUT_MS = 1500;
|
|
5
|
-
const DAEMON_ID = /^[0-9a-f]{12}$/;
|
|
6
5
|
export const daemonIdOf = (sandboxUrl) => {
|
|
7
6
|
const label = sandboxIdFromUrl(sandboxUrl);
|
|
8
|
-
return label !== undefined &&
|
|
7
|
+
return label !== undefined && SANDBOX_ID.test(label) ? label : undefined;
|
|
9
8
|
};
|
|
10
9
|
export const candidateBases = (sandboxUrl) => {
|
|
11
10
|
const floor = sandboxUrl.replace(/\/$/, "");
|
package/dist/daemon-base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-base.js","sourceRoot":"","sources":["../src/daemon-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-base.js","sourceRoot":"","sources":["../src/daemon-base.ts"],"names":[],"mappings":"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"}
|
package/dist/device/audit.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/device/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/device/audit.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AA0BjD,eAAO,MAAM,SAAS,UAAgB,MAAM,UAAqB,MAAM,KAAsB,OAAO,CAAC,OAAO,CAAyD,CAAC;AAEtK,eAAO,MAAM,KAAK,UAAiB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAY9F,CAAC"}
|
package/dist/device/audit.js
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
1
|
-
import { appendFile, mkdir } from "node:fs/promises";
|
|
1
|
+
import { appendFile, mkdir, rename, stat } from "node:fs/promises";
|
|
2
2
|
import { errorMessage } from "@intentic/base/errors";
|
|
3
|
+
import { LOG_ROTATE_BYTES } from "@intentic/local-agent";
|
|
3
4
|
import { baseDir } from "../config.js";
|
|
4
5
|
import { auditPath } from "./config.js";
|
|
6
|
+
export const AUDIT_ROLL_BYTES = LOG_ROTATE_BYTES;
|
|
7
|
+
let queue = Promise.resolve();
|
|
8
|
+
const inTurn = async (work) => {
|
|
9
|
+
const turn = queue.then(work);
|
|
10
|
+
queue = turn.then(() => undefined, () => undefined);
|
|
11
|
+
return await turn;
|
|
12
|
+
};
|
|
13
|
+
const rollNow = async (path, limit) => {
|
|
14
|
+
const size = await stat(path).then((file) => file.size, () => 0);
|
|
15
|
+
if (size < limit) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
await rename(path, `${path}.1`);
|
|
19
|
+
return true;
|
|
20
|
+
};
|
|
21
|
+
export const rollAudit = async (path = auditPath, limit = AUDIT_ROLL_BYTES) => await inTurn(async () => await rollNow(path, limit));
|
|
5
22
|
export const audit = async (entry) => {
|
|
6
23
|
try {
|
|
7
|
-
await
|
|
8
|
-
|
|
24
|
+
await inTurn(async () => {
|
|
25
|
+
await mkdir(baseDir, { recursive: true, mode: 0o700 });
|
|
26
|
+
await rollNow(auditPath, AUDIT_ROLL_BYTES).catch(() => false);
|
|
27
|
+
await appendFile(auditPath, `${JSON.stringify({ at: new Date().toISOString(), ...entry })}\n`, { encoding: "utf8", mode: 0o600 });
|
|
28
|
+
});
|
|
9
29
|
}
|
|
10
30
|
catch (error) {
|
|
11
31
|
process.stderr.write(`audit: could not record ${entry.tool} in ${auditPath} (${errorMessage(error)})\n`);
|
package/dist/device/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/device/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/device/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAEjD,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAC7C,MAAM,MAAM,GAAG,KAAK,EAAK,IAAsB,EAAc,EAAE;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,GAAG,IAAI,CAAC,IAAI,CACb,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAClB,CAAC;IACF,OAAO,MAAM,IAAI,CAAC;AACtB,CAAC,CAAC;AAGF,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,KAAa,EAAoB,EAAE;IAEpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EACnB,GAAG,EAAE,CAAC,CAAC,CACV,CAAC;IACF,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,GAAW,SAAS,EAAE,KAAK,GAAW,gBAAgB,EAAoB,EAAE,CAAC,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAEtK,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAoD,EAAiB,EAAE;IAC/F,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAEvD,MAAM,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,UAAU,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtI,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,OAAO,SAAS,KAAK,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7G,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { type Log } from "@intentic/local-agent";
|
|
2
2
|
import { type CommandContext } from "@stricli/core";
|
|
3
|
+
export declare const enroll: (sandboxUrl: string, pairToken: string) => Promise<{
|
|
4
|
+
id: string;
|
|
5
|
+
token: string;
|
|
6
|
+
}>;
|
|
3
7
|
export declare const deviceUninstall: (out: Log, sandbox?: string, { forGood }?: {
|
|
4
8
|
readonly forGood?: boolean;
|
|
5
9
|
}) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/device/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/device/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAQlE,eAAO,MAAM,MAAM,eAAsB,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgBzG,CAAC;AAmGF,eAAO,MAAM,eAAe,QAAe,GAAG,YAAY,MAAM,gBAAuB;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,OAAO,CAAC,IAAI,CAyBxI,CAAC;AAgBF,eAAO,MAAM,oBAAoB,QAAe,GAAG,KAAG,OAAO,CAAC,IAAI,CA0BjE,CAAC;AAEF,eAAO,MAAM,cAAc;;;;CAAgE,CAAC"}
|
package/dist/device/commands.js
CHANGED
|
@@ -2,17 +2,22 @@ import { rm } from "node:fs/promises";
|
|
|
2
2
|
import { pollUntil } from "@intentic/base/async";
|
|
3
3
|
import { plural } from "@intentic/base/format";
|
|
4
4
|
import { createUi } from "@intentic/local-agent";
|
|
5
|
+
import { PeerEnrollmentAnswerSchema } from "@intentic/sandbox-contract";
|
|
5
6
|
import { buildCommand } from "@stricli/core";
|
|
6
7
|
import { postWhileWarming } from "../daemon-base.js";
|
|
7
8
|
import { completeSetup, prepareSetup } from "../install.js";
|
|
8
9
|
import { ensureResident } from "../resident.js";
|
|
9
10
|
import { auditPath, configPath, readLinks, readLinkStates, removeLinks, unreachableIn, upsertLink } from "./config.js";
|
|
10
|
-
const enroll = async (sandboxUrl, pairToken) => {
|
|
11
|
+
export const enroll = async (sandboxUrl, pairToken) => {
|
|
11
12
|
const response = await postWhileWarming(sandboxUrl, "/system/hosts/enroll", { headers: { "x-intentic-pair": pairToken } }, { doing: "connecting", expired: "that pairing has expired: click Connect again on the device's card in your sandbox for a fresh command." });
|
|
12
13
|
if (!response.ok) {
|
|
13
14
|
throw new Error(`connecting this device failed (${response.status}): ${await response.text()}`);
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
const answer = PeerEnrollmentAnswerSchema.safeParse(await response.json().catch(() => undefined));
|
|
17
|
+
if (!answer.success) {
|
|
18
|
+
throw new Error(`connecting this device failed: the sandbox's answer is not an enrollment (${answer.error.issues[0]?.message ?? "unreadable"})`);
|
|
19
|
+
}
|
|
20
|
+
return answer.data;
|
|
16
21
|
};
|
|
17
22
|
const setup = buildCommand({
|
|
18
23
|
docs: { brief: "Connect this device to an intentic sandbox using a one-time pairing token" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/device/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAoC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAiB,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAItI,MAAM,MAAM,GAAG,KAAK,EAAE,UAAkB,EAAE,SAAiB,EAA0C,EAAE;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/device/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,20 @@ import { type Indicator } from "./indicator.js";
|
|
|
6
6
|
export interface Dial {
|
|
7
7
|
readonly resolveBase: (sandboxUrl: string) => Promise<DaemonBase>;
|
|
8
8
|
readonly socket: (url: string) => WebSocket;
|
|
9
|
+
readonly gone?: (sandboxUrl: string) => Promise<boolean>;
|
|
9
10
|
}
|
|
11
|
+
export declare const GONE_PROBE_AFTER_ATTEMPTS = 6;
|
|
12
|
+
export declare const probeEdge: (sandboxUrl: string, fetchImpl?: typeof fetch) => Promise<boolean>;
|
|
13
|
+
export type MarkedLink = HostLink & {
|
|
14
|
+
readonly goneSince?: number;
|
|
15
|
+
};
|
|
16
|
+
export interface LinkGoneStore {
|
|
17
|
+
readonly mark: (link: HostLink, since: number | undefined) => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export declare const goneLinkStep: (goneSince: number, now: number, stillGone: boolean) => "dial" | "forget" | "wait";
|
|
20
|
+
export declare const probesFirst: (attempt: number) => boolean;
|
|
10
21
|
export declare const reachedOverLoopback: ReadonlySet<string>;
|
|
11
22
|
declare const forgetLink: (sandboxUrl: string) => Promise<void>;
|
|
12
|
-
export declare const connect: (config: HostLink, version: string, log: Log, dial?: Dial, forget?: typeof forgetLink, indicator?: Indicator) => PeerLink;
|
|
23
|
+
export declare const connect: (config: HostLink, version: string, log: Log, dial?: Dial, forget?: typeof forgetLink, indicator?: Indicator, goneStore?: LinkGoneStore, now?: () => number) => PeerLink;
|
|
13
24
|
export {};
|
|
14
25
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/device/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/device/connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAkD,KAAK,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErH,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,KAAK,QAAQ,EAAoE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AASlE,MAAM,WAAW,IAAI;IACjB,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;IAE5C,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D;AAUD,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAO3C,eAAO,MAAM,SAAS,eAAsB,MAAM,cAAa,OAAO,KAAK,KAAW,OAAO,CAAC,OAAO,CAOpG,CAAC;AASF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAIpE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAqBD,eAAO,MAAM,YAAY,cAAe,MAAM,OAAO,MAAM,aAAa,OAAO,KAAG,MAAM,GAAG,QAAQ,GAAG,MAKrG,CAAC;AAIF,eAAO,MAAM,WAAW,YAAa,MAAM,KAAG,OAA8C,CAAC;AAM7F,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAgB,CAAC;AAGrE,QAAA,MAAM,UAAU,eAAsB,MAAM,KAAG,OAAO,CAAC,IAAI,CAAyC,CAAC;AAErG,eAAO,MAAM,OAAO,WACR,QAAQ,WACP,MAAM,OACV,GAAG,SACF,IAAI,0CAEC,SAAS,cACT,aAAa,QACnB,MAAM,MAAM,KAClB,QAsHF,CAAC"}
|
|
@@ -1,20 +1,89 @@
|
|
|
1
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
1
2
|
import { createBackoff } from "@intentic/base/async";
|
|
2
3
|
import { errorMessage } from "@intentic/base/errors";
|
|
3
4
|
import { HOST_HEARTBEAT_MS, hostConnectUrl } from "@intentic/sandbox-contract";
|
|
4
5
|
import { dialPeer, PEER_LINK_BACKOFF, peerLinkSilenceMs } from "@intentic/sandbox-contract/peer-dial";
|
|
5
6
|
import { RPCHandler } from "@orpc/server/websocket";
|
|
6
7
|
import { resolveDaemonBase } from "../daemon-base.js";
|
|
7
|
-
import {
|
|
8
|
+
import { answeredGone, GONE_RECHECK_MS, GONE_RETIRE_MS } from "../sync/gone.js";
|
|
9
|
+
import { readDeviceConfig, rememberScopes, removeLinks, writeDeviceConfig } from "./config.js";
|
|
8
10
|
import { machineIndicator } from "./indicator.js";
|
|
9
11
|
import { createHostRouter } from "./router.js";
|
|
10
|
-
const
|
|
12
|
+
export const GONE_PROBE_AFTER_ATTEMPTS = 6;
|
|
13
|
+
const PROBE_TIMEOUT_MS = 10_000;
|
|
14
|
+
export const probeEdge = async (sandboxUrl, fetchImpl = fetch) => {
|
|
15
|
+
try {
|
|
16
|
+
return answeredGone(await fetchImpl(`${sandboxUrl.replace(/\/$/, "")}/health`, { signal: AbortSignal.timeout(PROBE_TIMEOUT_MS) }));
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const realDial = {
|
|
23
|
+
resolveBase: resolveDaemonBase,
|
|
24
|
+
socket: (url) => new WebSocket(url),
|
|
25
|
+
gone: async (sandboxUrl) => await probeEdge(sandboxUrl),
|
|
26
|
+
};
|
|
27
|
+
const fileGoneStore = {
|
|
28
|
+
mark: async (link, since) => {
|
|
29
|
+
const config = await readDeviceConfig();
|
|
30
|
+
await writeDeviceConfig({
|
|
31
|
+
...config,
|
|
32
|
+
links: config.links.map((held) => {
|
|
33
|
+
if (held.sandboxUrl !== link.sandboxUrl || held.token !== link.token) {
|
|
34
|
+
return held;
|
|
35
|
+
}
|
|
36
|
+
const { goneSince: _was, ...rest } = held;
|
|
37
|
+
return since === undefined ? rest : { ...rest, goneSince: since };
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
export const goneLinkStep = (goneSince, now, stillGone) => {
|
|
43
|
+
if (!stillGone) {
|
|
44
|
+
return "dial";
|
|
45
|
+
}
|
|
46
|
+
return now - goneSince >= GONE_RETIRE_MS ? "forget" : "wait";
|
|
47
|
+
};
|
|
48
|
+
export const probesFirst = (attempt) => attempt > GONE_PROBE_AFTER_ATTEMPTS;
|
|
11
49
|
const loopbackUrls = new Set();
|
|
12
50
|
export const reachedOverLoopback = loopbackUrls;
|
|
13
51
|
const forgetLink = async (sandboxUrl) => void (await removeLinks(sandboxUrl));
|
|
14
|
-
export const connect = (config, version, log, dial = realDial, forget = forgetLink, indicator = machineIndicator()) => {
|
|
52
|
+
export const connect = (config, version, log, dial = realDial, forget = forgetLink, indicator = machineIndicator(), goneStore = fileGoneStore, now = Date.now) => {
|
|
15
53
|
const linkLog = (message) => log(`${config.sandboxUrl}: ${message}`);
|
|
16
54
|
let scopes = config.scopes;
|
|
17
55
|
let held;
|
|
56
|
+
let attempts = 0;
|
|
57
|
+
let goneSince = config.goneSince;
|
|
58
|
+
const whileGone = async (signal) => {
|
|
59
|
+
while (goneSince !== undefined && !signal.aborted) {
|
|
60
|
+
const step = goneLinkStep(goneSince, now(), (await dial.gone?.(config.sandboxUrl)) === true);
|
|
61
|
+
if (step === "dial") {
|
|
62
|
+
goneSince = undefined;
|
|
63
|
+
attempts = 0;
|
|
64
|
+
linkLog("answers again, so it is not gone after all: dialling it again.");
|
|
65
|
+
await goneStore.mark(config, undefined).catch((error) => linkLog(`could not clear its gone mark (${errorMessage(error)})`));
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
if (step === "forget") {
|
|
69
|
+
linkLog("the platform still says this sandbox no longer exists, a week on: this link is forgotten. Connect again from the sandbox to restore it.");
|
|
70
|
+
await forget(config.sandboxUrl).catch((error) => linkLog(`could not drop the link (${String(error)})`));
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
await sleep(GONE_RECHECK_MS, undefined, { signal }).catch(() => undefined);
|
|
74
|
+
}
|
|
75
|
+
return !signal.aborted;
|
|
76
|
+
};
|
|
77
|
+
const askEdgeFirst = async () => {
|
|
78
|
+
attempts += 1;
|
|
79
|
+
if (goneSince !== undefined || !probesFirst(attempts) || (await dial.gone?.(config.sandboxUrl)) !== true) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
goneSince = now();
|
|
83
|
+
const untilUtcDay = new Date(goneSince + GONE_RETIRE_MS).toISOString().slice(0, 10);
|
|
84
|
+
linkLog(`the platform says this sandbox no longer exists, so this link stops dialling it after ${attempts - 1} failed attempts. It is asked again every hour, and forgotten on ${untilUtcDay} unless it answers; connecting again from the sandbox restores it before then.`);
|
|
85
|
+
await goneStore.mark(config, goneSince).catch((error) => linkLog(`could not record that it is gone (${errorMessage(error)})`));
|
|
86
|
+
};
|
|
18
87
|
const handler = new RPCHandler(createHostRouter({
|
|
19
88
|
sandboxUrl: config.sandboxUrl,
|
|
20
89
|
scopes: () => scopes,
|
|
@@ -26,6 +95,10 @@ export const connect = (config, version, log, dial = realDial, forget = forgetLi
|
|
|
26
95
|
}));
|
|
27
96
|
return dialPeer({
|
|
28
97
|
open: async (signal) => {
|
|
98
|
+
await askEdgeFirst();
|
|
99
|
+
if (!(await whileGone(signal))) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
29
102
|
const { base, local } = await dial.resolveBase(config.sandboxUrl);
|
|
30
103
|
if (signal.aborted) {
|
|
31
104
|
return undefined;
|
|
@@ -41,6 +114,7 @@ export const connect = (config, version, log, dial = realDial, forget = forgetLi
|
|
|
41
114
|
hello: () => ({ type: "hello", token: config.token, version }),
|
|
42
115
|
attach: (ws) => {
|
|
43
116
|
held = ws;
|
|
117
|
+
attempts = 0;
|
|
44
118
|
ws.addEventListener("close", () => {
|
|
45
119
|
if (held === ws) {
|
|
46
120
|
indicator.release(config.sandboxUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/device/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAqB,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAiB,MAAM,sCAAsC,CAAC;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAmB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAiB,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/device/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/device/grant.d.ts
CHANGED
|
@@ -58,6 +58,16 @@ export declare const tolerantDeviceContract: {
|
|
|
58
58
|
}, z.core.$strip>>;
|
|
59
59
|
features: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
60
60
|
icOutOfDate: z.ZodOptional<z.ZodString>;
|
|
61
|
+
upkeep: z.ZodOptional<z.ZodObject<{
|
|
62
|
+
at: z.ZodNumber;
|
|
63
|
+
found: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
64
|
+
fixed: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
65
|
+
skipped: z.ZodArray<z.ZodObject<{
|
|
66
|
+
kind: z.ZodString;
|
|
67
|
+
what: z.ZodString;
|
|
68
|
+
why: z.ZodString;
|
|
69
|
+
}, z.core.$strip>>;
|
|
70
|
+
}, z.core.$strip>>;
|
|
61
71
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
62
72
|
report: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodObject<{
|
|
63
73
|
machineId: z.ZodOptional<z.ZodString>;
|
|
@@ -68,12 +78,18 @@ export declare const tolerantDeviceContract: {
|
|
|
68
78
|
}, z.core.$strip>>;
|
|
69
79
|
pairings: z.ZodArray<z.ZodObject<{
|
|
70
80
|
sandboxId: z.ZodString;
|
|
81
|
+
name: z.ZodOptional<z.ZodString>;
|
|
71
82
|
mode: z.ZodEnum<{
|
|
72
83
|
mirror: "mirror";
|
|
73
84
|
sync: "sync";
|
|
74
85
|
}>;
|
|
75
86
|
localDir: z.ZodOptional<z.ZodString>;
|
|
76
87
|
remoteDir: z.ZodOptional<z.ZodString>;
|
|
88
|
+
projectsHost: z.ZodOptional<z.ZodBoolean>;
|
|
89
|
+
deliver: z.ZodOptional<z.ZodEnum<{
|
|
90
|
+
auto: "auto";
|
|
91
|
+
off: "off";
|
|
92
|
+
}>>;
|
|
77
93
|
mirroring: z.ZodOptional<z.ZodEnum<{
|
|
78
94
|
off: "off";
|
|
79
95
|
on: "on";
|
|
@@ -281,6 +297,42 @@ export declare const tolerantDeviceContract: {
|
|
|
281
297
|
url: z.ZodString;
|
|
282
298
|
}, z.core.$strip>], "type">;
|
|
283
299
|
}, Record<never, never>, Record<never, never>>;
|
|
300
|
+
deliverProject: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
301
|
+
remoteDir: z.ZodString;
|
|
302
|
+
files: z.ZodArray<z.ZodObject<{
|
|
303
|
+
path: z.ZodString;
|
|
304
|
+
kind: z.ZodEnum<{
|
|
305
|
+
added: "added";
|
|
306
|
+
deleted: "deleted";
|
|
307
|
+
modified: "modified";
|
|
308
|
+
}>;
|
|
309
|
+
base: z.ZodNullable<z.ZodString>;
|
|
310
|
+
next: z.ZodNullable<z.ZodString>;
|
|
311
|
+
executable: z.ZodOptional<z.ZodBoolean>;
|
|
312
|
+
}, z.core.$strict>>;
|
|
313
|
+
landing: z.ZodObject<{
|
|
314
|
+
agentId: z.ZodString;
|
|
315
|
+
title: z.ZodOptional<z.ZodString>;
|
|
316
|
+
}, z.core.$strict>;
|
|
317
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
318
|
+
point: z.ZodOptional<z.ZodString>;
|
|
319
|
+
folder: z.ZodString;
|
|
320
|
+
applied: z.ZodArray<z.ZodString>;
|
|
321
|
+
merged: z.ZodArray<z.ZodObject<{
|
|
322
|
+
path: z.ZodString;
|
|
323
|
+
content: z.ZodString;
|
|
324
|
+
}, z.core.$strip>>;
|
|
325
|
+
already: z.ZodArray<z.ZodString>;
|
|
326
|
+
conflicts: z.ZodArray<z.ZodObject<{
|
|
327
|
+
path: z.ZodString;
|
|
328
|
+
reason: z.ZodEnum<{
|
|
329
|
+
edited: "edited";
|
|
330
|
+
link: "link";
|
|
331
|
+
"missing-git": "missing-git";
|
|
332
|
+
outside: "outside";
|
|
333
|
+
}>;
|
|
334
|
+
}, z.core.$strip>>;
|
|
335
|
+
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
284
336
|
setScopes: {
|
|
285
337
|
"~orpc": {
|
|
286
338
|
meta: Record<never, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../src/device/grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAkB,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyE,CAAC;AACvG,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,MAAM,WAAW,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,SAAS,UAAW,UAAU,KAAG,KAK5C,CAAC;AAIH,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../src/device/grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAkB,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyE,CAAC;AACvG,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,MAAM,WAAW,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,SAAS,UAAW,UAAU,KAAG,KAK5C,CAAC;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGlC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type LoopbackCatch, type LoopbackCatchEvent } from "@intentic/sandbox-contract";
|
|
2
2
|
export declare function catchLoopback(spec: LoopbackCatch, signal: AbortSignal | undefined, log: (message: string) => void): AsyncGenerator<LoopbackCatchEvent>;
|
|
3
3
|
//# sourceMappingURL=loopback-catch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loopback-catch.d.ts","sourceRoot":"","sources":["../../src/device/loopback-catch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loopback-catch.d.ts","sourceRoot":"","sources":["../../src/device/loopback-catch.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AA0EpH,wBAAuB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,cAAc,CAAC,kBAAkB,CAAC,CA6B7J"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createServer } from "node:http";
|
|
2
|
-
|
|
2
|
+
import { watchQueue } from "@intentic/base/async";
|
|
3
|
+
import { LOOPBACK_CATCH_LONGEST_MS } from "@intentic/sandbox-contract";
|
|
3
4
|
const escapeHtml = (text) => text.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """).replaceAll("'", "'");
|
|
4
5
|
const landedPage = (title) => `<!doctype html>
|
|
5
6
|
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
|
@@ -47,26 +48,14 @@ const bind = async (spec, onRequest) => {
|
|
|
47
48
|
};
|
|
48
49
|
const landingUrl = (spec, request) => new URL(request.url ?? "/", `http://${spec.host}:${spec.port}`);
|
|
49
50
|
export async function* catchLoopback(spec, signal, log) {
|
|
50
|
-
const
|
|
51
|
-
let wake;
|
|
52
|
-
let over = false;
|
|
53
|
-
const nudge = () => {
|
|
54
|
-
const resume = wake;
|
|
55
|
-
wake = undefined;
|
|
56
|
-
resume?.();
|
|
57
|
-
};
|
|
58
|
-
const end = () => {
|
|
59
|
-
over = true;
|
|
60
|
-
nudge();
|
|
61
|
-
};
|
|
51
|
+
const watch = watchQueue({ signal, until: spec.expiresAt, longestMs: LOOPBACK_CATCH_LONGEST_MS });
|
|
62
52
|
const bound = await bind(spec, (request, response) => {
|
|
63
53
|
const url = landingUrl(spec, request);
|
|
64
54
|
if (request.method !== "GET" || url.pathname !== spec.path) {
|
|
65
55
|
response.writeHead(404, { "content-type": "text/plain; charset=utf-8" }).end("Not found");
|
|
66
56
|
return;
|
|
67
57
|
}
|
|
68
|
-
|
|
69
|
-
nudge();
|
|
58
|
+
watch.push({ type: "landed", url: url.toString() });
|
|
70
59
|
response
|
|
71
60
|
.writeHead(200, { "content-type": "text/html; charset=utf-8", "cache-control": "no-store", "referrer-policy": "no-referrer" })
|
|
72
61
|
.end(landedPage(spec.title));
|
|
@@ -77,25 +66,11 @@ export async function* catchLoopback(spec, signal, log) {
|
|
|
77
66
|
return;
|
|
78
67
|
}
|
|
79
68
|
log(`watching ${spec.host}:${spec.port}${spec.path} for the ${spec.title} sign-in`);
|
|
80
|
-
const deadline = setTimeout(end, Math.max(0, Math.min(spec.expiresAt - Date.now(), LONGEST_WATCH_MS)));
|
|
81
|
-
signal?.addEventListener("abort", end, { once: true });
|
|
82
69
|
try {
|
|
83
70
|
yield { type: "listening" };
|
|
84
|
-
|
|
85
|
-
const next = queue.shift();
|
|
86
|
-
if (next !== undefined) {
|
|
87
|
-
yield next;
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
if (over || signal?.aborted === true) {
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
await new Promise((resolve) => (wake = resolve));
|
|
94
|
-
}
|
|
71
|
+
yield* watch.drain();
|
|
95
72
|
}
|
|
96
73
|
finally {
|
|
97
|
-
clearTimeout(deadline);
|
|
98
|
-
signal?.removeEventListener("abort", end);
|
|
99
74
|
await bound.close();
|
|
100
75
|
log(`stopped watching ${spec.host}:${spec.port} for the ${spec.title} sign-in`);
|
|
101
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loopback-catch.js","sourceRoot":"","sources":["../../src/device/loopback-catch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"loopback-catch.js","sourceRoot":"","sources":["../../src/device/loopback-catch.ts"],"names":[],"mappings":"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"}
|
package/dist/device/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"AA+oBA,eAAO,MAAM,gBAAgB;;;;;;;;kDAY3B,CAAC"}
|