@creatoria/miniapp-mcp 0.1.3 → 0.2.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 +131 -66
- package/dist/app/cli/index.d.ts +6 -0
- package/dist/app/cli/index.d.ts.map +1 -0
- package/dist/app/cli/index.js +6 -0
- package/dist/app/cli/index.js.map +1 -0
- package/dist/app/index.d.ts +6 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +6 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/server/index.d.ts +7 -0
- package/dist/app/server/index.d.ts.map +1 -0
- package/dist/app/server/index.js +6 -0
- package/dist/app/server/index.js.map +1 -0
- package/dist/capabilities/assert/handlers/assert-handlers.d.ts +98 -0
- package/dist/capabilities/assert/handlers/assert-handlers.d.ts.map +1 -0
- package/dist/capabilities/assert/handlers/assert-handlers.js +179 -0
- package/dist/capabilities/assert/handlers/assert-handlers.js.map +1 -0
- package/dist/capabilities/assert/handlers/index.d.ts +7 -0
- package/dist/capabilities/assert/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/assert/handlers/index.js +7 -0
- package/dist/capabilities/assert/handlers/index.js.map +1 -0
- package/dist/capabilities/assert/index.d.ts +15 -0
- package/dist/capabilities/assert/index.d.ts.map +1 -0
- package/dist/capabilities/assert/index.js +90 -0
- package/dist/capabilities/assert/index.js.map +1 -0
- package/dist/capabilities/assert/schemas/index.d.ts +101 -0
- package/dist/capabilities/assert/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/assert/schemas/index.js +62 -0
- package/dist/capabilities/assert/schemas/index.js.map +1 -0
- package/dist/capabilities/automator/handlers/close.d.ts +18 -0
- package/dist/capabilities/automator/handlers/close.d.ts.map +1 -0
- package/dist/capabilities/automator/handlers/close.js +45 -0
- package/dist/capabilities/automator/handlers/close.js.map +1 -0
- package/dist/capabilities/automator/handlers/connect.d.ts +24 -0
- package/dist/capabilities/automator/handlers/connect.d.ts.map +1 -0
- package/dist/capabilities/automator/handlers/connect.js +51 -0
- package/dist/capabilities/automator/handlers/connect.js.map +1 -0
- package/dist/capabilities/automator/handlers/disconnect.d.ts +16 -0
- package/dist/capabilities/automator/handlers/disconnect.d.ts.map +1 -0
- package/dist/capabilities/automator/handlers/disconnect.js +44 -0
- package/dist/capabilities/automator/handlers/disconnect.js.map +1 -0
- package/dist/capabilities/automator/handlers/index.d.ts +8 -0
- package/dist/capabilities/automator/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/automator/handlers/index.js +8 -0
- package/dist/capabilities/automator/handlers/index.js.map +1 -0
- package/dist/capabilities/automator/handlers/launch.d.ts +25 -0
- package/dist/capabilities/automator/handlers/launch.d.ts.map +1 -0
- package/dist/capabilities/automator/handlers/launch.js +61 -0
- package/dist/capabilities/automator/handlers/launch.js.map +1 -0
- package/dist/capabilities/automator/index.d.ts +15 -0
- package/dist/capabilities/automator/index.d.ts.map +1 -0
- package/dist/capabilities/automator/index.js +55 -0
- package/dist/capabilities/automator/index.js.map +1 -0
- package/dist/capabilities/automator/schemas/close.d.ts +5 -0
- package/dist/capabilities/automator/schemas/close.d.ts.map +1 -0
- package/dist/capabilities/automator/schemas/close.js +11 -0
- package/dist/capabilities/automator/schemas/close.js.map +1 -0
- package/dist/capabilities/automator/schemas/connect.d.ts +11 -0
- package/dist/capabilities/automator/schemas/connect.d.ts.map +1 -0
- package/dist/capabilities/automator/schemas/connect.js +19 -0
- package/dist/capabilities/automator/schemas/connect.js.map +1 -0
- package/dist/capabilities/automator/schemas/disconnect.d.ts +5 -0
- package/dist/capabilities/automator/schemas/disconnect.d.ts.map +1 -0
- package/dist/capabilities/automator/schemas/disconnect.js +11 -0
- package/dist/capabilities/automator/schemas/disconnect.js.map +1 -0
- package/dist/capabilities/automator/schemas/index.d.ts +9 -0
- package/dist/capabilities/automator/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/automator/schemas/index.js +14 -0
- package/dist/capabilities/automator/schemas/index.js.map +1 -0
- package/dist/capabilities/automator/schemas/launch.d.ts +17 -0
- package/dist/capabilities/automator/schemas/launch.d.ts.map +1 -0
- package/dist/capabilities/automator/schemas/launch.js +26 -0
- package/dist/capabilities/automator/schemas/launch.js.map +1 -0
- package/dist/capabilities/element/handlers/element-handlers.d.ts +212 -0
- package/dist/capabilities/element/handlers/element-handlers.d.ts.map +1 -0
- package/dist/capabilities/element/handlers/element-handlers.js +383 -0
- package/dist/capabilities/element/handlers/element-handlers.js.map +1 -0
- package/dist/capabilities/element/handlers/index.d.ts +7 -0
- package/dist/capabilities/element/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/element/handlers/index.js +27 -0
- package/dist/capabilities/element/handlers/index.js.map +1 -0
- package/dist/capabilities/element/index.d.ts +20 -0
- package/dist/capabilities/element/index.d.ts.map +1 -0
- package/dist/capabilities/element/index.js +199 -0
- package/dist/capabilities/element/index.js.map +1 -0
- package/dist/capabilities/element/schemas/index.d.ts +325 -0
- package/dist/capabilities/element/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/element/schemas/index.js +168 -0
- package/dist/capabilities/element/schemas/index.js.map +1 -0
- package/dist/capabilities/index.d.ts +34 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +40 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/loader.d.ts +61 -0
- package/dist/capabilities/loader.d.ts.map +1 -0
- package/dist/capabilities/loader.js +164 -0
- package/dist/capabilities/loader.js.map +1 -0
- package/dist/capabilities/miniprogram/handlers/call-wx.d.ts +24 -0
- package/dist/capabilities/miniprogram/handlers/call-wx.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/handlers/call-wx.js +37 -0
- package/dist/capabilities/miniprogram/handlers/call-wx.js.map +1 -0
- package/dist/capabilities/miniprogram/handlers/evaluate.d.ts +32 -0
- package/dist/capabilities/miniprogram/handlers/evaluate.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/handlers/evaluate.js +51 -0
- package/dist/capabilities/miniprogram/handlers/evaluate.js.map +1 -0
- package/dist/capabilities/miniprogram/handlers/index.d.ts +12 -0
- package/dist/capabilities/miniprogram/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/handlers/index.js +12 -0
- package/dist/capabilities/miniprogram/handlers/index.js.map +1 -0
- package/dist/capabilities/miniprogram/handlers/navigate.d.ts +26 -0
- package/dist/capabilities/miniprogram/handlers/navigate.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/handlers/navigate.js +56 -0
- package/dist/capabilities/miniprogram/handlers/navigate.js.map +1 -0
- package/dist/capabilities/miniprogram/handlers/page-stack.d.ts +20 -0
- package/dist/capabilities/miniprogram/handlers/page-stack.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/handlers/page-stack.js +37 -0
- package/dist/capabilities/miniprogram/handlers/page-stack.js.map +1 -0
- package/dist/capabilities/miniprogram/handlers/screenshot.d.ts +33 -0
- package/dist/capabilities/miniprogram/handlers/screenshot.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/handlers/screenshot.js +132 -0
- package/dist/capabilities/miniprogram/handlers/screenshot.js.map +1 -0
- package/dist/capabilities/miniprogram/handlers/system-info.d.ts +17 -0
- package/dist/capabilities/miniprogram/handlers/system-info.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/handlers/system-info.js +31 -0
- package/dist/capabilities/miniprogram/handlers/system-info.js.map +1 -0
- package/dist/capabilities/miniprogram/index.d.ts +15 -0
- package/dist/capabilities/miniprogram/index.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/index.js +69 -0
- package/dist/capabilities/miniprogram/index.js.map +1 -0
- package/dist/capabilities/miniprogram/schemas/call-wx.d.ts +15 -0
- package/dist/capabilities/miniprogram/schemas/call-wx.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/schemas/call-wx.js +11 -0
- package/dist/capabilities/miniprogram/schemas/call-wx.js.map +1 -0
- package/dist/capabilities/miniprogram/schemas/evaluate.d.ts +15 -0
- package/dist/capabilities/miniprogram/schemas/evaluate.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/schemas/evaluate.js +11 -0
- package/dist/capabilities/miniprogram/schemas/evaluate.js.map +1 -0
- package/dist/capabilities/miniprogram/schemas/index.d.ts +10 -0
- package/dist/capabilities/miniprogram/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/schemas/index.js +10 -0
- package/dist/capabilities/miniprogram/schemas/index.js.map +1 -0
- package/dist/capabilities/miniprogram/schemas/navigate.d.ts +18 -0
- package/dist/capabilities/miniprogram/schemas/navigate.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/schemas/navigate.js +22 -0
- package/dist/capabilities/miniprogram/schemas/navigate.js.map +1 -0
- package/dist/capabilities/miniprogram/schemas/page-stack.d.ts +6 -0
- package/dist/capabilities/miniprogram/schemas/page-stack.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/schemas/page-stack.js +6 -0
- package/dist/capabilities/miniprogram/schemas/page-stack.js.map +1 -0
- package/dist/capabilities/miniprogram/schemas/screenshot.d.ts +18 -0
- package/dist/capabilities/miniprogram/schemas/screenshot.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/schemas/screenshot.js +21 -0
- package/dist/capabilities/miniprogram/schemas/screenshot.js.map +1 -0
- package/dist/capabilities/miniprogram/schemas/system-info.d.ts +6 -0
- package/dist/capabilities/miniprogram/schemas/system-info.d.ts.map +1 -0
- package/dist/capabilities/miniprogram/schemas/system-info.js +6 -0
- package/dist/capabilities/miniprogram/schemas/system-info.js.map +1 -0
- package/dist/capabilities/network/handlers/index.d.ts +7 -0
- package/dist/capabilities/network/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/network/handlers/index.js +7 -0
- package/dist/capabilities/network/handlers/index.js.map +1 -0
- package/dist/capabilities/network/handlers/network-handlers.d.ts +53 -0
- package/dist/capabilities/network/handlers/network-handlers.d.ts.map +1 -0
- package/dist/capabilities/network/handlers/network-handlers.js +127 -0
- package/dist/capabilities/network/handlers/network-handlers.js.map +1 -0
- package/dist/capabilities/network/index.d.ts +15 -0
- package/dist/capabilities/network/index.d.ts.map +1 -0
- package/dist/capabilities/network/index.js +69 -0
- package/dist/capabilities/network/index.js.map +1 -0
- package/dist/capabilities/network/schemas/index.d.ts +53 -0
- package/dist/capabilities/network/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/network/schemas/index.js +33 -0
- package/dist/capabilities/network/schemas/index.js.map +1 -0
- package/dist/capabilities/page/handlers/index.d.ts +7 -0
- package/dist/capabilities/page/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/page/handlers/index.js +7 -0
- package/dist/capabilities/page/handlers/index.js.map +1 -0
- package/dist/capabilities/page/handlers/page-handlers.d.ts +165 -0
- package/dist/capabilities/page/handlers/page-handlers.d.ts.map +1 -0
- package/dist/capabilities/page/handlers/page-handlers.js +258 -0
- package/dist/capabilities/page/handlers/page-handlers.js.map +1 -0
- package/dist/capabilities/page/index.d.ts +15 -0
- package/dist/capabilities/page/index.d.ts.map +1 -0
- package/dist/capabilities/page/index.js +83 -0
- package/dist/capabilities/page/index.js.map +1 -0
- package/dist/capabilities/page/schemas/index.d.ts +91 -0
- package/dist/capabilities/page/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/page/schemas/index.js +55 -0
- package/dist/capabilities/page/schemas/index.js.map +1 -0
- package/dist/capabilities/record/handlers/index.d.ts +7 -0
- package/dist/capabilities/record/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/record/handlers/index.js +7 -0
- package/dist/capabilities/record/handlers/index.js.map +1 -0
- package/dist/capabilities/record/handlers/record-handlers.d.ts +76 -0
- package/dist/capabilities/record/handlers/record-handlers.d.ts.map +1 -0
- package/dist/capabilities/record/handlers/record-handlers.js +255 -0
- package/dist/capabilities/record/handlers/record-handlers.js.map +1 -0
- package/dist/capabilities/record/index.d.ts +15 -0
- package/dist/capabilities/record/index.d.ts.map +1 -0
- package/dist/capabilities/record/index.js +69 -0
- package/dist/capabilities/record/index.js.map +1 -0
- package/dist/capabilities/record/schemas/index.d.ts +47 -0
- package/dist/capabilities/record/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/record/schemas/index.js +33 -0
- package/dist/capabilities/record/schemas/index.js.map +1 -0
- package/dist/capabilities/registry.d.ts +138 -0
- package/dist/capabilities/registry.d.ts.map +1 -0
- package/dist/capabilities/registry.js +261 -0
- package/dist/capabilities/registry.js.map +1 -0
- package/dist/capabilities/schema-registry.d.ts +4 -0
- package/dist/capabilities/schema-registry.d.ts.map +1 -0
- package/dist/capabilities/schema-registry.js +18 -0
- package/dist/capabilities/schema-registry.js.map +1 -0
- package/dist/capabilities/schema-types.d.ts +22 -0
- package/dist/capabilities/schema-types.d.ts.map +1 -0
- package/dist/capabilities/schema-types.js +2 -0
- package/dist/capabilities/schema-types.js.map +1 -0
- package/dist/capabilities/snapshot/handlers/index.d.ts +7 -0
- package/dist/capabilities/snapshot/handlers/index.d.ts.map +1 -0
- package/dist/capabilities/snapshot/handlers/index.js +7 -0
- package/dist/capabilities/snapshot/handlers/index.js.map +1 -0
- package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts +75 -0
- package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts.map +1 -0
- package/dist/capabilities/snapshot/handlers/snapshot-handlers.js +201 -0
- package/dist/capabilities/snapshot/handlers/snapshot-handlers.js.map +1 -0
- package/dist/capabilities/snapshot/index.d.ts +15 -0
- package/dist/capabilities/snapshot/index.d.ts.map +1 -0
- package/dist/capabilities/snapshot/index.js +48 -0
- package/dist/capabilities/snapshot/index.js.map +1 -0
- package/dist/capabilities/snapshot/schemas/index.d.ts +47 -0
- package/dist/capabilities/snapshot/schemas/index.d.ts.map +1 -0
- package/dist/capabilities/snapshot/schemas/index.js +28 -0
- package/dist/capabilities/snapshot/schemas/index.js.map +1 -0
- package/dist/config/loader.js +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/core/element-ref.d.ts +1 -43
- package/dist/core/element-ref.d.ts.map +1 -1
- package/dist/core/element-ref.js +1 -212
- package/dist/core/element-ref.js.map +1 -1
- package/dist/core/logger.d.ts +1 -54
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +1 -377
- package/dist/core/logger.js.map +1 -1
- package/dist/core/output.d.ts +1 -20
- package/dist/core/output.d.ts.map +1 -1
- package/dist/core/output.js +1 -55
- package/dist/core/output.js.map +1 -1
- package/dist/core/report-generator.d.ts +1 -23
- package/dist/core/report-generator.d.ts.map +1 -1
- package/dist/core/report-generator.js +1 -211
- package/dist/core/report-generator.js.map +1 -1
- package/dist/core/session.d.ts +2 -82
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +2 -305
- package/dist/core/session.js.map +1 -1
- package/dist/core/timeout.d.ts +1 -48
- package/dist/core/timeout.d.ts.map +1 -1
- package/dist/core/timeout.js +1 -66
- package/dist/core/timeout.js.map +1 -1
- package/dist/core/tool-logger.d.ts +1 -82
- package/dist/core/tool-logger.d.ts.map +1 -1
- package/dist/core/tool-logger.js +1 -452
- package/dist/core/tool-logger.js.map +1 -1
- package/dist/core/validation.d.ts +1 -38
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +1 -92
- package/dist/core/validation.js.map +1 -1
- package/dist/runtime/element/element-ref.d.ts +44 -0
- package/dist/runtime/element/element-ref.d.ts.map +1 -0
- package/dist/runtime/element/element-ref.js +214 -0
- package/dist/runtime/element/element-ref.js.map +1 -0
- package/dist/runtime/element/index.d.ts +2 -0
- package/dist/runtime/element/index.d.ts.map +1 -0
- package/dist/runtime/element/index.js +2 -0
- package/dist/runtime/element/index.js.map +1 -0
- package/dist/runtime/index.d.ts +11 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +11 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/logging/index.d.ts +3 -0
- package/dist/runtime/logging/index.d.ts.map +1 -0
- package/dist/runtime/logging/index.js +3 -0
- package/dist/runtime/logging/index.js.map +1 -0
- package/dist/runtime/logging/logger.d.ts +55 -0
- package/dist/runtime/logging/logger.d.ts.map +1 -0
- package/dist/runtime/logging/logger.js +379 -0
- package/dist/runtime/logging/logger.js.map +1 -0
- package/dist/runtime/logging/tool-logger.d.ts +83 -0
- package/dist/runtime/logging/tool-logger.d.ts.map +1 -0
- package/dist/runtime/logging/tool-logger.js +454 -0
- package/dist/runtime/logging/tool-logger.js.map +1 -0
- package/dist/runtime/outputs/index.d.ts +3 -0
- package/dist/runtime/outputs/index.d.ts.map +1 -0
- package/dist/runtime/outputs/index.js +3 -0
- package/dist/runtime/outputs/index.js.map +1 -0
- package/dist/runtime/outputs/output-manager.d.ts +12 -0
- package/dist/runtime/outputs/output-manager.d.ts.map +1 -0
- package/dist/runtime/outputs/output-manager.js +39 -0
- package/dist/runtime/outputs/output-manager.js.map +1 -0
- package/dist/runtime/outputs/report-generator.d.ts +5 -0
- package/dist/runtime/outputs/report-generator.d.ts.map +1 -0
- package/dist/runtime/outputs/report-generator.js +175 -0
- package/dist/runtime/outputs/report-generator.js.map +1 -0
- package/dist/runtime/retry/index.d.ts +5 -0
- package/dist/runtime/retry/index.d.ts.map +1 -0
- package/dist/runtime/retry/index.js +5 -0
- package/dist/runtime/retry/index.js.map +1 -0
- package/dist/runtime/retry/retry.d.ts +61 -0
- package/dist/runtime/retry/retry.d.ts.map +1 -0
- package/dist/runtime/retry/retry.js +90 -0
- package/dist/runtime/retry/retry.js.map +1 -0
- package/dist/runtime/session/index.d.ts +3 -0
- package/dist/runtime/session/index.d.ts.map +1 -0
- package/dist/runtime/session/index.js +3 -0
- package/dist/runtime/session/index.js.map +1 -0
- package/dist/runtime/session/store.d.ts +28 -0
- package/dist/runtime/session/store.d.ts.map +1 -0
- package/dist/runtime/session/store.js +154 -0
- package/dist/runtime/session/store.js.map +1 -0
- package/dist/runtime/session/utils/cleanup.d.ts +3 -0
- package/dist/runtime/session/utils/cleanup.d.ts.map +1 -0
- package/dist/runtime/session/utils/cleanup.js +78 -0
- package/dist/runtime/session/utils/cleanup.js.map +1 -0
- package/dist/runtime/timeout/index.d.ts +2 -0
- package/dist/runtime/timeout/index.d.ts.map +1 -0
- package/dist/runtime/timeout/index.js +2 -0
- package/dist/runtime/timeout/index.js.map +1 -0
- package/dist/runtime/timeout/timeout.d.ts +59 -0
- package/dist/runtime/timeout/timeout.d.ts.map +1 -0
- package/dist/runtime/timeout/timeout.js +77 -0
- package/dist/runtime/timeout/timeout.js.map +1 -0
- package/dist/runtime/validation/index.d.ts +2 -0
- package/dist/runtime/validation/index.d.ts.map +1 -0
- package/dist/runtime/validation/index.js +2 -0
- package/dist/runtime/validation/index.js.map +1 -0
- package/dist/runtime/validation/validation.d.ts +39 -0
- package/dist/runtime/validation/validation.d.ts.map +1 -0
- package/dist/runtime/validation/validation.js +93 -0
- package/dist/runtime/validation/validation.js.map +1 -0
- package/dist/schemas/automator/miniprogram_close.json +12 -0
- package/dist/schemas/automator/miniprogram_connect.json +19 -0
- package/dist/schemas/automator/miniprogram_disconnect.json +12 -0
- package/dist/schemas/automator/miniprogram_launch.json +30 -0
- package/dist/server.js +5 -5
- package/dist/server.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/miniprogram.d.ts +11 -2
- package/dist/tools/miniprogram.d.ts.map +1 -1
- package/dist/tools/miniprogram.js +111 -41
- package/dist/tools/miniprogram.js.map +1 -1
- package/dist/tools/page.js +2 -2
- package/dist/tools/page.js.map +1 -1
- package/docs/current/01-architecture-migration.md +337 -0
- package/docs/current/02-screenshot-timeout-fix.md +589 -0
- package/docs/current/README.md +226 -0
- package/docs/directory-structure-and-code-style-best-practices.md +91 -0
- package/docs/migration/README.md +34 -0
- package/docs/migration/TC-ALIGN-01-notes.md +35 -0
- package/docs/migration/runtime-skeleton.md +50 -0
- package/docs/migration/tool-schema-strategy.md +75 -0
- package/docs//345/256/214/346/225/264/345/256/236/347/216/260/346/226/271/346/241/210.md +14 -14
- package/docs//347/254/254/344/270/200/347/211/210/346/234/254/346/226/271/346/241/210.md +7 -7
- package/package.json +4 -2
- package/docs/SIMPLE_USAGE.md +0 -210
- package/docs/architecture.E-Docs.md +0 -1359
- package/docs/architecture.F1.md +0 -720
- package/docs/architecture.F2.md +0 -871
- package/docs/architecture.F3.md +0 -905
- package/docs/architecture.md +0 -90
- package/docs/charter.A1.align.yaml +0 -170
- package/docs/charter.A2.align.yaml +0 -199
- package/docs/charter.A3.align.yaml +0 -242
- package/docs/charter.A4.align.yaml +0 -227
- package/docs/charter.B1.align.yaml +0 -179
- package/docs/charter.B2.align.yaml +0 -200
- package/docs/charter.B3.align.yaml +0 -200
- package/docs/charter.B4.align.yaml +0 -188
- package/docs/charter.C1.align.yaml +0 -190
- package/docs/charter.C2.align.yaml +0 -202
- package/docs/charter.C3.align.yaml +0 -211
- package/docs/charter.C4.align.yaml +0 -263
- package/docs/charter.C5.align.yaml +0 -220
- package/docs/charter.D1.align.yaml +0 -190
- package/docs/charter.D2.align.yaml +0 -234
- package/docs/charter.D3.align.yaml +0 -206
- package/docs/charter.E-Docs.align.yaml +0 -294
- package/docs/charter.F1.align.yaml +0 -193
- package/docs/charter.F2.align.yaml +0 -248
- package/docs/charter.F3.align.yaml +0 -287
- package/docs/charter.G.align.yaml +0 -174
- package/docs/charter.align.yaml +0 -111
- package/docs/maintenance.md +0 -682
- package/docs/playwright-mcp/350/260/203/347/240/224.md +0 -53
- package/docs/setup-guide.md +0 -775
- package/docs/tasks.A1.atomize.md +0 -296
- package/docs/tasks.A2.atomize.md +0 -408
- package/docs/tasks.A3.atomize.md +0 -564
- package/docs/tasks.A4.atomize.md +0 -496
- package/docs/tasks.B1.atomize.md +0 -352
- package/docs/tasks.B2.atomize.md +0 -561
- package/docs/tasks.B3.atomize.md +0 -508
- package/docs/tasks.B4.atomize.md +0 -504
- package/docs/tasks.C1.atomize.md +0 -540
- package/docs/tasks.C2.atomize.md +0 -665
- package/docs/tasks.C3.atomize.md +0 -745
- package/docs/tasks.C4.atomize.md +0 -908
- package/docs/tasks.C5.atomize.md +0 -755
- package/docs/tasks.D1.atomize.md +0 -547
- package/docs/tasks.D2.atomize.md +0 -619
- package/docs/tasks.D3.atomize.md +0 -790
- package/docs/tasks.E-Docs.atomize.md +0 -1204
- package/docs/tasks.atomize.md +0 -189
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/element/schemas/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capabilities Module - New Architecture Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Each capability (automator, miniprogram, page, element, etc.) is a self-contained module:
|
|
5
|
+
* - schemas/: Zod schema definitions for tool inputs
|
|
6
|
+
* - handlers/: Handler implementations
|
|
7
|
+
* - index.ts: CapabilityModule export with tools array
|
|
8
|
+
*
|
|
9
|
+
* The ToolRegistry provides centralized tool management and the loader
|
|
10
|
+
* dynamically loads and registers capabilities with the MCP server.
|
|
11
|
+
*/
|
|
12
|
+
export { ToolRegistry, globalRegistry } from './registry.js';
|
|
13
|
+
export type { ToolHandler, ToolDefinition, CapabilityModule } from './registry.js';
|
|
14
|
+
export { loadCapability, loadCapabilities, registerCapabilitiesWithServer, setupCapabilities, SUPPORTED_CAPABILITIES, } from './loader.js';
|
|
15
|
+
export type { LoaderOptions, CapabilityName } from './loader.js';
|
|
16
|
+
export { capability as automatorCapability } from './automator/index.js';
|
|
17
|
+
export { capability as miniprogramCapability } from './miniprogram/index.js';
|
|
18
|
+
export { capability as pageCapability } from './page/index.js';
|
|
19
|
+
export { capability as elementCapability } from './element/index.js';
|
|
20
|
+
export { capability as assertCapability } from './assert/index.js';
|
|
21
|
+
export { capability as snapshotCapability } from './snapshot/index.js';
|
|
22
|
+
export { capability as recordCapability } from './record/index.js';
|
|
23
|
+
export { capability as networkCapability } from './network/index.js';
|
|
24
|
+
export type { ToolSchemaDefinition, ToolSchemaRegistry, ToolSchemaLookupResult } from './schema-types.js';
|
|
25
|
+
export { getToolSchema, listToolSchemas } from './schema-registry.js';
|
|
26
|
+
export * as automator from './automator/index.js';
|
|
27
|
+
export * as miniprogram from './miniprogram/index.js';
|
|
28
|
+
export * as page from './page/index.js';
|
|
29
|
+
export * as element from './element/index.js';
|
|
30
|
+
export * as assert from './assert/index.js';
|
|
31
|
+
export * as snapshot from './snapshot/index.js';
|
|
32
|
+
export * as record from './record/index.js';
|
|
33
|
+
export * as network from './network/index.js';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAMhE,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAMpE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAMrE,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capabilities Module - New Architecture Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Each capability (automator, miniprogram, page, element, etc.) is a self-contained module:
|
|
5
|
+
* - schemas/: Zod schema definitions for tool inputs
|
|
6
|
+
* - handlers/: Handler implementations
|
|
7
|
+
* - index.ts: CapabilityModule export with tools array
|
|
8
|
+
*
|
|
9
|
+
* The ToolRegistry provides centralized tool management and the loader
|
|
10
|
+
* dynamically loads and registers capabilities with the MCP server.
|
|
11
|
+
*/
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Registry and Loader
|
|
14
|
+
// ============================================================================
|
|
15
|
+
export { ToolRegistry, globalRegistry } from './registry.js';
|
|
16
|
+
export { loadCapability, loadCapabilities, registerCapabilitiesWithServer, setupCapabilities, SUPPORTED_CAPABILITIES, } from './loader.js';
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Capability Modules
|
|
19
|
+
// ============================================================================
|
|
20
|
+
export { capability as automatorCapability } from './automator/index.js';
|
|
21
|
+
export { capability as miniprogramCapability } from './miniprogram/index.js';
|
|
22
|
+
export { capability as pageCapability } from './page/index.js';
|
|
23
|
+
export { capability as elementCapability } from './element/index.js';
|
|
24
|
+
export { capability as assertCapability } from './assert/index.js';
|
|
25
|
+
export { capability as snapshotCapability } from './snapshot/index.js';
|
|
26
|
+
export { capability as recordCapability } from './record/index.js';
|
|
27
|
+
export { capability as networkCapability } from './network/index.js';
|
|
28
|
+
export { getToolSchema, listToolSchemas } from './schema-registry.js';
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// Capability Namespaces (for accessing individual capability exports)
|
|
31
|
+
// ============================================================================
|
|
32
|
+
export * as automator from './automator/index.js';
|
|
33
|
+
export * as miniprogram from './miniprogram/index.js';
|
|
34
|
+
export * as page from './page/index.js';
|
|
35
|
+
export * as element from './element/index.js';
|
|
36
|
+
export * as assert from './assert/index.js';
|
|
37
|
+
export * as snapshot from './snapshot/index.js';
|
|
38
|
+
export * as record from './record/index.js';
|
|
39
|
+
export * as network from './network/index.js';
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE5D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAA;AAGpB,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAOpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAErE,+EAA+E;AAC/E,sEAAsE;AACtE,+EAA+E;AAE/E,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability Loader for Dynamic Tool Registration
|
|
3
|
+
*
|
|
4
|
+
* Provides functions to load and register capabilities dynamically.
|
|
5
|
+
* Each capability module exports a CapabilityModule that can be loaded.
|
|
6
|
+
*/
|
|
7
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
8
|
+
import { type Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import type { SessionState } from '../types.js';
|
|
10
|
+
import { ToolRegistry, type CapabilityModule } from './registry.js';
|
|
11
|
+
/**
|
|
12
|
+
* Options for loading and registering capabilities
|
|
13
|
+
*/
|
|
14
|
+
export interface LoaderOptions {
|
|
15
|
+
/** List of capability names to load */
|
|
16
|
+
capabilities: string[];
|
|
17
|
+
/** Session ID for this server instance */
|
|
18
|
+
sessionId: string;
|
|
19
|
+
/** Function to get or create a session */
|
|
20
|
+
getSession: (sessionId: string) => SessionState;
|
|
21
|
+
/** Optional function to delete a session */
|
|
22
|
+
deleteSession?: (sessionId: string) => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Supported capability names
|
|
26
|
+
*/
|
|
27
|
+
export declare const SUPPORTED_CAPABILITIES: readonly ["core", "automator", "miniprogram", "page", "element", "assert", "snapshot", "record", "network"];
|
|
28
|
+
export type CapabilityName = (typeof SUPPORTED_CAPABILITIES)[number];
|
|
29
|
+
/**
|
|
30
|
+
* Load a single capability module by name
|
|
31
|
+
*/
|
|
32
|
+
export declare function loadCapability(name: string): Promise<CapabilityModule | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Load multiple capabilities and register them in the registry
|
|
35
|
+
*/
|
|
36
|
+
export declare function loadCapabilities(registry: ToolRegistry, capabilityNames: string[]): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Register tools with MCP server using the new registry
|
|
39
|
+
*
|
|
40
|
+
* This is a drop-in replacement for the old registerTools function
|
|
41
|
+
* from tools/index.ts, but uses the new capability-based architecture.
|
|
42
|
+
*/
|
|
43
|
+
export declare function registerCapabilitiesWithServer(server: Server, registry: ToolRegistry, options: LoaderOptions): Tool[];
|
|
44
|
+
/**
|
|
45
|
+
* High-level function to set up capabilities for an MCP server
|
|
46
|
+
*
|
|
47
|
+
* Usage:
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const tools = await setupCapabilities(server, {
|
|
50
|
+
* capabilities: ['core'],
|
|
51
|
+
* sessionId: 'session-123',
|
|
52
|
+
* getSession: (id) => sessionStore.getOrCreate(id),
|
|
53
|
+
* deleteSession: (id) => sessionStore.delete(id),
|
|
54
|
+
* })
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function setupCapabilities(server: Server, options: LoaderOptions): Promise<{
|
|
58
|
+
registry: ToolRegistry;
|
|
59
|
+
tools: Tool[];
|
|
60
|
+
}>;
|
|
61
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/capabilities/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAoB,MAAM,eAAe,CAAA;AAGrF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAA;IAC/C,4CAA4C;IAC5C,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,6GAUzB,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpE;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAsBnF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,aAAa,GACrB,IAAI,EAAE,CA0ER;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAAC,CAkBpD"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability Loader for Dynamic Tool Registration
|
|
3
|
+
*
|
|
4
|
+
* Provides functions to load and register capabilities dynamically.
|
|
5
|
+
* Each capability module exports a CapabilityModule that can be loaded.
|
|
6
|
+
*/
|
|
7
|
+
import { CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
+
import { ToolRegistry } from './registry.js';
|
|
9
|
+
import { ToolLogger } from '../runtime/logging/tool-logger.js';
|
|
10
|
+
/**
|
|
11
|
+
* Supported capability names
|
|
12
|
+
*/
|
|
13
|
+
export const SUPPORTED_CAPABILITIES = [
|
|
14
|
+
'core', // All tools (default)
|
|
15
|
+
'automator', // Connection and lifecycle
|
|
16
|
+
'miniprogram', // MiniProgram-level operations
|
|
17
|
+
'page', // Page-level operations
|
|
18
|
+
'element', // Element interactions
|
|
19
|
+
'assert', // Testing and verification
|
|
20
|
+
'snapshot', // State capture
|
|
21
|
+
'record', // Recording and replay
|
|
22
|
+
'network', // Network mocking
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* Load a single capability module by name
|
|
26
|
+
*/
|
|
27
|
+
export async function loadCapability(name) {
|
|
28
|
+
try {
|
|
29
|
+
// Dynamic import based on capability name
|
|
30
|
+
const module = await import(`./${name}/index.js`);
|
|
31
|
+
// Expect module to export a 'capability' object
|
|
32
|
+
if (module.capability && typeof module.capability === 'object') {
|
|
33
|
+
return module.capability;
|
|
34
|
+
}
|
|
35
|
+
// Fallback: check for default export
|
|
36
|
+
if (module.default && typeof module.default === 'object') {
|
|
37
|
+
return module.default;
|
|
38
|
+
}
|
|
39
|
+
console.error(`Capability ${name} does not export a valid capability module`);
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
// Capability not found or failed to load
|
|
44
|
+
console.error(`Failed to load capability ${name}:`, error);
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Load multiple capabilities and register them in the registry
|
|
50
|
+
*/
|
|
51
|
+
export async function loadCapabilities(registry, capabilityNames) {
|
|
52
|
+
// If 'core' is specified, load all capabilities
|
|
53
|
+
const namesToLoad = capabilityNames.includes('core')
|
|
54
|
+
? SUPPORTED_CAPABILITIES.filter((c) => c !== 'core')
|
|
55
|
+
: capabilityNames;
|
|
56
|
+
for (const name of namesToLoad) {
|
|
57
|
+
const capability = await loadCapability(name);
|
|
58
|
+
if (capability) {
|
|
59
|
+
registry.registerCapability(capability);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Register tools with MCP server using the new registry
|
|
65
|
+
*
|
|
66
|
+
* This is a drop-in replacement for the old registerTools function
|
|
67
|
+
* from tools/index.ts, but uses the new capability-based architecture.
|
|
68
|
+
*/
|
|
69
|
+
export function registerCapabilitiesWithServer(server, registry, options) {
|
|
70
|
+
const { capabilities, sessionId, getSession, deleteSession } = options;
|
|
71
|
+
// Get tools and handlers for the specified capabilities
|
|
72
|
+
const tools = registry.toMCPToolsForCapabilities(capabilities);
|
|
73
|
+
const handlers = registry.getHandlersForCapabilities(capabilities);
|
|
74
|
+
// Log registration stats
|
|
75
|
+
const stats = registry.getStats();
|
|
76
|
+
console.error(`Registering ${tools.length} tools (capabilities: ${capabilities.join(', ')}):`);
|
|
77
|
+
for (const [cap, count] of Object.entries(stats.byCapability)) {
|
|
78
|
+
if (capabilities.includes('core') || capabilities.includes(cap)) {
|
|
79
|
+
console.error(` - ${cap}: ${count}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Register CallToolRequest handler
|
|
83
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
84
|
+
const { name, arguments: args } = request.params;
|
|
85
|
+
// Get session using the unique session ID for this server instance
|
|
86
|
+
const session = getSession(sessionId);
|
|
87
|
+
try {
|
|
88
|
+
// Get handler for this tool
|
|
89
|
+
const handler = handlers.get(name);
|
|
90
|
+
if (!handler) {
|
|
91
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
92
|
+
}
|
|
93
|
+
// Wrap handler with automatic logging if logger is available
|
|
94
|
+
let wrappedHandler = handler;
|
|
95
|
+
if (session.logger) {
|
|
96
|
+
const toolLogger = new ToolLogger(session.logger, session.loggerConfig);
|
|
97
|
+
wrappedHandler = toolLogger.wrap(name, handler);
|
|
98
|
+
}
|
|
99
|
+
// Execute handler
|
|
100
|
+
const result = await wrappedHandler(session, args);
|
|
101
|
+
// Handle session deletion for close tool
|
|
102
|
+
if (name === 'miniprogram_close' && deleteSession) {
|
|
103
|
+
try {
|
|
104
|
+
await deleteSession(sessionId);
|
|
105
|
+
console.error(`Session ${sessionId} deleted after close`);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
console.error(`Failed to delete session ${sessionId} after close:`, error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Return formatted response
|
|
112
|
+
return {
|
|
113
|
+
content: [
|
|
114
|
+
{
|
|
115
|
+
type: 'text',
|
|
116
|
+
text: JSON.stringify(result, null, 2),
|
|
117
|
+
},
|
|
118
|
+
],
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
123
|
+
return {
|
|
124
|
+
content: [
|
|
125
|
+
{
|
|
126
|
+
type: 'text',
|
|
127
|
+
text: `Error executing tool ${name}: ${errorMessage}`,
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
isError: true,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
return tools;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* High-level function to set up capabilities for an MCP server
|
|
138
|
+
*
|
|
139
|
+
* Usage:
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const tools = await setupCapabilities(server, {
|
|
142
|
+
* capabilities: ['core'],
|
|
143
|
+
* sessionId: 'session-123',
|
|
144
|
+
* getSession: (id) => sessionStore.getOrCreate(id),
|
|
145
|
+
* deleteSession: (id) => sessionStore.delete(id),
|
|
146
|
+
* })
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export async function setupCapabilities(server, options) {
|
|
150
|
+
const registry = new ToolRegistry();
|
|
151
|
+
// Load all requested capabilities
|
|
152
|
+
await loadCapabilities(registry, options.capabilities);
|
|
153
|
+
// Validate registration
|
|
154
|
+
const validation = registry.validate();
|
|
155
|
+
if (!validation.valid) {
|
|
156
|
+
console.error('Tool registration validation failed:');
|
|
157
|
+
validation.errors.forEach((err) => console.error(` - ${err}`));
|
|
158
|
+
throw new Error('Tool registration validation failed');
|
|
159
|
+
}
|
|
160
|
+
// Register with server
|
|
161
|
+
const tools = registerCapabilitiesWithServer(server, registry, options);
|
|
162
|
+
return { registry, tools };
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/capabilities/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CallWx handler - Call WeChat API methods (wx.*)
|
|
3
|
+
*/
|
|
4
|
+
import type { SessionState } from '../../../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* CallWx input arguments
|
|
7
|
+
*/
|
|
8
|
+
export interface CallWxArgs {
|
|
9
|
+
method: string;
|
|
10
|
+
args?: any[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* CallWx result
|
|
14
|
+
*/
|
|
15
|
+
export interface CallWxResult {
|
|
16
|
+
success: boolean;
|
|
17
|
+
message: string;
|
|
18
|
+
result?: any;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Call a WeChat API method (wx.*)
|
|
22
|
+
*/
|
|
23
|
+
export declare function callWx(session: SessionState, args: CallWxArgs): Promise<CallWxResult>;
|
|
24
|
+
//# sourceMappingURL=call-wx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-wx.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,GAAG,CAAA;CACb;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAwC3F"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CallWx handler - Call WeChat API methods (wx.*)
|
|
3
|
+
*/
|
|
4
|
+
import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
|
|
5
|
+
/**
|
|
6
|
+
* Call a WeChat API method (wx.*)
|
|
7
|
+
*/
|
|
8
|
+
export async function callWx(session, args) {
|
|
9
|
+
const { method, args: wxArgs = [] } = args;
|
|
10
|
+
const logger = session.logger;
|
|
11
|
+
try {
|
|
12
|
+
if (!session.miniProgram) {
|
|
13
|
+
throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
|
|
14
|
+
}
|
|
15
|
+
logger?.info(`Calling wx.${method}`, { args: wxArgs });
|
|
16
|
+
// Get timeout for wx API calls
|
|
17
|
+
const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.callWx);
|
|
18
|
+
// Call WX API method with timeout protection
|
|
19
|
+
const result = await withTimeout(session.miniProgram.callWxMethod(method, ...wxArgs), timeoutMs, `wx.${method} call`);
|
|
20
|
+
logger?.info(`wx.${method} call successful`, { result });
|
|
21
|
+
return {
|
|
22
|
+
success: true,
|
|
23
|
+
message: `Successfully called wx.${method}`,
|
|
24
|
+
result,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
29
|
+
logger?.error(`wx.${method} call failed`, {
|
|
30
|
+
error: errorMessage,
|
|
31
|
+
method,
|
|
32
|
+
args: wxArgs,
|
|
33
|
+
});
|
|
34
|
+
throw new Error(`wx.${method} call failed: ${errorMessage}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=call-wx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-wx.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/call-wx.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAmB/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAqB,EAAE,IAAgB;IAClE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,cAAc,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAEtD,+BAA+B;QAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAE9E,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,EACnD,SAAS,EACT,MAAM,MAAM,OAAO,CACpB,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,MAAM,MAAM,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAExD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,0BAA0B,MAAM,EAAE;YAC3C,MAAM;SACP,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,CAAC,MAAM,MAAM,cAAc,EAAE;YACxC,KAAK,EAAE,YAAY;YACnB,MAAM;YACN,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,iBAAiB,YAAY,EAAE,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluate handler - Execute JavaScript in mini program context
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ SECURITY WARNING:
|
|
5
|
+
* This tool executes arbitrary JavaScript code in the mini program context.
|
|
6
|
+
* Use with caution:
|
|
7
|
+
* - All evaluations are logged for audit
|
|
8
|
+
* - Evaluations are limited by timeout (default: 5s)
|
|
9
|
+
* - Consider restricting this tool in production environments
|
|
10
|
+
* - Never pass untrusted user input directly to this function
|
|
11
|
+
*/
|
|
12
|
+
import type { SessionState } from '../../../types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Evaluate input arguments
|
|
15
|
+
*/
|
|
16
|
+
export interface EvaluateArgs {
|
|
17
|
+
expression: string;
|
|
18
|
+
args?: any[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Evaluate result
|
|
22
|
+
*/
|
|
23
|
+
export interface EvaluateResult {
|
|
24
|
+
success: boolean;
|
|
25
|
+
message: string;
|
|
26
|
+
result?: any;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Evaluate JavaScript code in the mini program context
|
|
30
|
+
*/
|
|
31
|
+
export declare function evaluate(session: SessionState, args: EvaluateArgs): Promise<EvaluateResult>;
|
|
32
|
+
//# sourceMappingURL=evaluate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,GAAG,CAAA;CACb;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA+CjG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluate handler - Execute JavaScript in mini program context
|
|
3
|
+
*
|
|
4
|
+
* ⚠️ SECURITY WARNING:
|
|
5
|
+
* This tool executes arbitrary JavaScript code in the mini program context.
|
|
6
|
+
* Use with caution:
|
|
7
|
+
* - All evaluations are logged for audit
|
|
8
|
+
* - Evaluations are limited by timeout (default: 5s)
|
|
9
|
+
* - Consider restricting this tool in production environments
|
|
10
|
+
* - Never pass untrusted user input directly to this function
|
|
11
|
+
*/
|
|
12
|
+
import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
|
|
13
|
+
/**
|
|
14
|
+
* Evaluate JavaScript code in the mini program context
|
|
15
|
+
*/
|
|
16
|
+
export async function evaluate(session, args) {
|
|
17
|
+
const { expression, args: evalArgs = [] } = args;
|
|
18
|
+
const logger = session.logger;
|
|
19
|
+
try {
|
|
20
|
+
if (!session.miniProgram) {
|
|
21
|
+
throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
|
|
22
|
+
}
|
|
23
|
+
// Security: Log all evaluate calls for audit
|
|
24
|
+
logger?.info('[SECURITY] Evaluating expression', {
|
|
25
|
+
expression,
|
|
26
|
+
argsCount: evalArgs.length,
|
|
27
|
+
timestamp: new Date().toISOString(),
|
|
28
|
+
});
|
|
29
|
+
// Get timeout from config or use default (5 seconds for evaluate)
|
|
30
|
+
const timeoutMs = getTimeout(session.config?.evaluateTimeout, DEFAULT_TIMEOUTS.evaluate);
|
|
31
|
+
// Evaluate expression with timeout protection
|
|
32
|
+
const result = await withTimeout(session.miniProgram.evaluate(expression, ...evalArgs), timeoutMs, 'Evaluate expression');
|
|
33
|
+
logger?.info('Evaluation successful', { result });
|
|
34
|
+
return {
|
|
35
|
+
success: true,
|
|
36
|
+
message: 'Expression evaluated successfully',
|
|
37
|
+
result,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
42
|
+
// Security: Log failed evaluations
|
|
43
|
+
logger?.error('[SECURITY] Evaluation failed', {
|
|
44
|
+
error: errorMessage,
|
|
45
|
+
expression,
|
|
46
|
+
timestamp: new Date().toISOString(),
|
|
47
|
+
});
|
|
48
|
+
throw new Error(`Evaluation failed: ${errorMessage}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=evaluate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAmB/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,IAAkB;IACtE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAAI,CAAA;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,EAAE,IAAI,CAAC,kCAAkC,EAAE;YAC/C,UAAU;YACV,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;QAEF,kEAAkE;QAClE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAExF,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,EACrD,SAAS,EACT,qBAAqB,CACtB,CAAA;QAED,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEjD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,mCAAmC;YAC5C,MAAM;SACP,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3E,mCAAmC;QACnC,MAAM,EAAE,KAAK,CAAC,8BAA8B,EAAE;YAC5C,KAAK,EAAE,YAAY;YACnB,UAAU;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MiniProgram handlers exports
|
|
3
|
+
*
|
|
4
|
+
* All handlers are now independently implemented in this directory.
|
|
5
|
+
*/
|
|
6
|
+
export { navigate, type NavigateArgs, type NavigateResult } from './navigate.js';
|
|
7
|
+
export { callWx, type CallWxArgs, type CallWxResult } from './call-wx.js';
|
|
8
|
+
export { evaluate, type EvaluateArgs, type EvaluateResult } from './evaluate.js';
|
|
9
|
+
export { screenshot, type ScreenshotArgs, type ScreenshotResult } from './screenshot.js';
|
|
10
|
+
export { getPageStack, type PageStackResult } from './page-stack.js';
|
|
11
|
+
export { getSystemInfo, type SystemInfoResult } from './system-info.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MiniProgram handlers exports
|
|
3
|
+
*
|
|
4
|
+
* All handlers are now independently implemented in this directory.
|
|
5
|
+
*/
|
|
6
|
+
export { navigate } from './navigate.js';
|
|
7
|
+
export { callWx } from './call-wx.js';
|
|
8
|
+
export { evaluate } from './evaluate.js';
|
|
9
|
+
export { screenshot } from './screenshot.js';
|
|
10
|
+
export { getPageStack } from './page-stack.js';
|
|
11
|
+
export { getSystemInfo } from './system-info.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,MAAM,EAAsC,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,QAAQ,EAA0C,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,UAAU,EAA8C,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,YAAY,EAAwB,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigate handler - Page navigation operations
|
|
3
|
+
*/
|
|
4
|
+
import type { SessionState } from '../../../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Navigate input arguments
|
|
7
|
+
*/
|
|
8
|
+
export interface NavigateArgs {
|
|
9
|
+
method: 'navigateTo' | 'redirectTo' | 'reLaunch' | 'switchTab' | 'navigateBack';
|
|
10
|
+
url?: string;
|
|
11
|
+
delta?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Navigate result
|
|
15
|
+
*/
|
|
16
|
+
export interface NavigateResult {
|
|
17
|
+
success: boolean;
|
|
18
|
+
message: string;
|
|
19
|
+
currentPage?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Navigate to a page in the mini program
|
|
23
|
+
* Supports: navigateTo, redirectTo, reLaunch, switchTab, navigateBack
|
|
24
|
+
*/
|
|
25
|
+
export declare function navigate(session: SessionState, args: NavigateArgs): Promise<NavigateResult>;
|
|
26
|
+
//# sourceMappingURL=navigate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAA;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAqEjG"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigate handler - Page navigation operations
|
|
3
|
+
*/
|
|
4
|
+
import { withTimeout, getTimeout, DEFAULT_TIMEOUTS } from '../../../runtime/timeout/timeout.js';
|
|
5
|
+
/**
|
|
6
|
+
* Navigate to a page in the mini program
|
|
7
|
+
* Supports: navigateTo, redirectTo, reLaunch, switchTab, navigateBack
|
|
8
|
+
*/
|
|
9
|
+
export async function navigate(session, args) {
|
|
10
|
+
const { method, url, delta } = args;
|
|
11
|
+
const logger = session.logger;
|
|
12
|
+
try {
|
|
13
|
+
if (!session.miniProgram) {
|
|
14
|
+
throw new Error('MiniProgram not connected. Call miniprogram_launch or miniprogram_connect first.');
|
|
15
|
+
}
|
|
16
|
+
logger?.info(`Navigating using ${method}`, { url, delta });
|
|
17
|
+
// Get timeout for navigation operations
|
|
18
|
+
const timeoutMs = getTimeout(session.config?.timeout, DEFAULT_TIMEOUTS.navigation);
|
|
19
|
+
// Execute navigation method with timeout protection
|
|
20
|
+
switch (method) {
|
|
21
|
+
case 'navigateTo':
|
|
22
|
+
case 'redirectTo':
|
|
23
|
+
case 'reLaunch':
|
|
24
|
+
case 'switchTab':
|
|
25
|
+
if (!url) {
|
|
26
|
+
throw new Error(`URL is required for ${method}`);
|
|
27
|
+
}
|
|
28
|
+
await withTimeout(session.miniProgram[method](url), timeoutMs, `Navigation (${method})`);
|
|
29
|
+
break;
|
|
30
|
+
case 'navigateBack':
|
|
31
|
+
await withTimeout(session.miniProgram.navigateBack(delta), timeoutMs, 'Navigation (navigateBack)');
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
throw new Error(`Unknown navigation method: ${method}`);
|
|
35
|
+
}
|
|
36
|
+
// Get current page after navigation with timeout
|
|
37
|
+
const currentPage = await withTimeout(session.miniProgram.currentPage(), DEFAULT_TIMEOUTS.pageStack, 'Get current page');
|
|
38
|
+
const currentPath = currentPage?.path || 'unknown';
|
|
39
|
+
logger?.info(`Navigation successful, current page: ${currentPath}`);
|
|
40
|
+
return {
|
|
41
|
+
success: true,
|
|
42
|
+
message: `Successfully navigated using ${method}`,
|
|
43
|
+
currentPage: currentPath,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
48
|
+
logger?.error(`Navigation failed`, {
|
|
49
|
+
error: errorMessage,
|
|
50
|
+
method,
|
|
51
|
+
url,
|
|
52
|
+
});
|
|
53
|
+
throw new Error(`Navigation failed: ${errorMessage}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=navigate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../../src/capabilities/miniprogram/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAoB/F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,IAAkB;IACtE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;QACH,CAAC;QAED,MAAM,EAAE,IAAI,CAAC,oBAAoB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAE1D,wCAAwC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAElF,oDAAoD;QACpD,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,YAAY,CAAC;YAClB,KAAK,YAAY,CAAC;YAClB,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAA;gBAClD,CAAC;gBACD,MAAM,WAAW,CACf,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAChC,SAAS,EACT,eAAe,MAAM,GAAG,CACzB,CAAA;gBACD,MAAK;YAEP,KAAK,cAAc;gBACjB,MAAM,WAAW,CACf,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EACvC,SAAS,EACT,2BAA2B,CAC5B,CAAA;gBACD,MAAK;YAEP;gBACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAG,MAAM,WAAW,CACnC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,EACjC,gBAAgB,CAAC,SAAS,EAC1B,kBAAkB,CACS,CAAA;QAC7B,MAAM,WAAW,GAAG,WAAW,EAAE,IAAI,IAAI,SAAS,CAAA;QAElD,MAAM,EAAE,IAAI,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAAA;QAEnE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,gCAAgC,MAAM,EAAE;YACjD,WAAW,EAAE,WAAW;SACzB,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,CAAC,mBAAmB,EAAE;YACjC,KAAK,EAAE,YAAY;YACnB,MAAM;YACN,GAAG;SACJ,CAAC,CAAA;QAEF,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
|