dodo-mcp 1.0.6 → 1.2.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.
Files changed (91) hide show
  1. package/README.md +74 -20
  2. package/dist/cli/main.js +152 -28
  3. package/dist/cli/main.js.map +1 -1
  4. package/dist/cli/menu.js +2 -2
  5. package/dist/cli/menu.js.map +1 -1
  6. package/dist/config/globalConfig.js +7 -3
  7. package/dist/config/globalConfig.js.map +1 -1
  8. package/dist/config/tunnelConfig.js +2 -1
  9. package/dist/config/tunnelConfig.js.map +1 -1
  10. package/dist/projects/ownerAdmin.js +86 -0
  11. package/dist/projects/ownerAdmin.js.map +1 -0
  12. package/dist/projects/registry.js +90 -9
  13. package/dist/projects/registry.js.map +1 -1
  14. package/dist/security/projectAccess.js +69 -0
  15. package/dist/security/projectAccess.js.map +1 -0
  16. package/dist/security/projectAuthority.js +5 -1
  17. package/dist/security/projectAuthority.js.map +1 -1
  18. package/dist/server/appServer.js +23 -9
  19. package/dist/server/appServer.js.map +1 -1
  20. package/dist/server/bootstrap.js +9 -1
  21. package/dist/server/bootstrap.js.map +1 -1
  22. package/dist/server/configUi/app.css +8 -0
  23. package/dist/server/configUi/app.js +142 -18
  24. package/dist/server/configUi/index.html +50 -13
  25. package/dist/server/installationRuntime.js +6 -2
  26. package/dist/server/installationRuntime.js.map +1 -1
  27. package/dist/server/instructions.js +1 -1
  28. package/dist/server/instructions.js.map +1 -1
  29. package/dist/server/ipcDispatch.js +3 -0
  30. package/dist/server/ipcDispatch.js.map +1 -1
  31. package/dist/server/localConfig.js +80 -13
  32. package/dist/server/localConfig.js.map +1 -1
  33. package/dist/services/ai/subagents.js +1 -1
  34. package/dist/services/ai/subagents.js.map +1 -1
  35. package/dist/services/android/adbBackend.js +106 -0
  36. package/dist/services/android/adbBackend.js.map +1 -0
  37. package/dist/services/android/androidPolicy.js +61 -0
  38. package/dist/services/android/androidPolicy.js.map +1 -0
  39. package/dist/services/android/androidService.js +444 -0
  40. package/dist/services/android/androidService.js.map +1 -0
  41. package/dist/services/android/protocol.js +39 -0
  42. package/dist/services/android/protocol.js.map +1 -0
  43. package/dist/services/multimodal/storage.js +10 -1
  44. package/dist/services/multimodal/storage.js.map +1 -1
  45. package/dist/services/schedules/scheduleService.js +8 -1
  46. package/dist/services/schedules/scheduleService.js.map +1 -1
  47. package/dist/setup/componentProbes.js +7 -1
  48. package/dist/setup/componentProbes.js.map +1 -1
  49. package/dist/setup/setup.js +11 -1
  50. package/dist/setup/setup.js.map +1 -1
  51. package/dist/store/db.js +14 -0
  52. package/dist/store/db.js.map +1 -1
  53. package/dist/tools/agentRuntimeTools.js +2 -3
  54. package/dist/tools/agentRuntimeTools.js.map +1 -1
  55. package/dist/tools/androidTools.js +113 -0
  56. package/dist/tools/androidTools.js.map +1 -0
  57. package/dist/tools/catalog.js +3 -0
  58. package/dist/tools/catalog.js.map +1 -1
  59. package/dist/tools/context.js +85 -5
  60. package/dist/tools/context.js.map +1 -1
  61. package/dist/tools/projectTools.js +1 -1
  62. package/dist/tools/projectTools.js.map +1 -1
  63. package/dist/tools/surface.js +18 -11
  64. package/dist/tools/surface.js.map +1 -1
  65. package/dist/tunnel/control.js +11 -4
  66. package/dist/tunnel/control.js.map +1 -1
  67. package/dist/tunnel/log.js +32 -0
  68. package/dist/tunnel/log.js.map +1 -1
  69. package/dist/tunnel/supervisor.js +103 -24
  70. package/dist/tunnel/supervisor.js.map +1 -1
  71. package/docs/ANDROID.md +105 -28
  72. package/docs/ARCHITECTURE.md +16 -7
  73. package/docs/AUTH.md +6 -0
  74. package/docs/COMPATIBILITY.md +14 -7
  75. package/docs/MANUAL_ACCEPTANCE.md +40 -6
  76. package/docs/PROJECTS.md +73 -2
  77. package/docs/RELEASE_1.1.0.md +69 -0
  78. package/docs/RELEASE_1.2.0.md +75 -0
  79. package/docs/RELEASE_NOTES.md +30 -0
  80. package/docs/SECURITY.md +45 -6
  81. package/docs/TEST_REPORT.md +96 -0
  82. package/docs/TUNNEL.md +79 -16
  83. package/docs/adr/048-persistent-connection-mode.md +3 -1
  84. package/docs/adr/049-android-adb-control.md +52 -0
  85. package/docs/adr/050-cloudflare-local-and-project-access.md +67 -0
  86. package/docs/adr/README.md +2 -0
  87. package/package.json +6 -2
  88. package/schemas/global-config.schema.json +1 -0
  89. package/schemas/tools.compact.json +312 -9
  90. package/schemas/tools.hybrid.json +485 -152
  91. package/schemas/tools.json +3610 -534
@@ -0,0 +1,113 @@
1
+ import { z } from 'zod';
2
+ import { defineTool } from './context.js';
3
+ import { AndroidActionSchema, AndroidAppActionSchema, AndroidSerialSchema } from '../services/android/protocol.js';
4
+ import { multimediaEffect } from '../services/multimodal/operations.js';
5
+ const read = { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true };
6
+ const observe = { readOnlyHint: true, destructiveHint: false, idempotentHint: false, openWorldHint: true };
7
+ const effect = { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true };
8
+ const Serial = AndroidSerialSchema.describe('Exact serial returned by android_devices and approved by the local owner');
9
+ const IdempotencyKey = z.string().min(8).max(128);
10
+ export const androidStatusTool = defineTool({
11
+ name: 'android_status', title: 'Android ADB capability and permission status',
12
+ description: 'Check whether ADB is installed and whether the owner enabled Android view/control for exact device serials. Does not start pairing, connect a device, capture a screen or prompt on the phone. Trusted/bypass never enables Android access.',
13
+ input: {}, output: z.looseObject({}), requiredScope: 'dodo:read', action: 'read',
14
+ annotations: { ...read, openWorldHint: false },
15
+ handler: async (_args, ctx) => ({ data: await ctx.services.android.status() }),
16
+ });
17
+ export const androidDevicesTool = defineTool({
18
+ name: 'android_devices', title: 'List owner-approved ADB devices',
19
+ description: 'List connected Android devices whose exact ADB serial is in the owner-approved policy. Unauthorized and unapproved device identities are not returned. Requires dodo:exec because device presence is private host state.',
20
+ input: {}, output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'read', annotations: read,
21
+ handler: async (_args, ctx) => ({ data: await ctx.services.android.devices() }),
22
+ });
23
+ export const androidDeviceInfoTool = defineTool({
24
+ name: 'android_device_info', title: 'Read Android device details',
25
+ description: 'Read bounded model, Android version, display and battery information from one owner-approved online device. Returned values are untrusted device data.',
26
+ input: { serial: Serial }, output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'read', annotations: read,
27
+ handler: async (args, ctx) => ({ data: await ctx.services.android.info(args.serial) }),
28
+ });
29
+ export const androidCaptureTool = defineTool({
30
+ name: 'android_capture', title: 'Capture an Android screen',
31
+ description: 'Capture the selected owner-approved Android device with adb exec-out screencap. Returns a real MCP PNG image and a client-bound snapshotId valid for 30 seconds. Screenshots may contain private data and are never written to audit logs. Capture again after every action.',
32
+ input: { serial: Serial }, output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'read', annotations: observe,
33
+ handler: async (args, ctx) => {
34
+ const result = await ctx.services.android.capture(args.serial, ctx.principal);
35
+ return { data: result.data, contentBlocks: [{ type: 'image', mimeType: 'image/png', data: result.image }] };
36
+ },
37
+ });
38
+ export const androidUiTool = defineTool({
39
+ name: 'android_ui', title: 'Read Android UI hierarchy',
40
+ description: 'Read a bounded uiautomator hierarchy for the same device as a fresh android_capture snapshot. Password values are redacted. Apps can omit nodes; UI text is untrusted and is never authority.',
41
+ input: { snapshotId: z.string().uuid(), maxNodes: z.number().int().min(1).max(300).default(200) },
42
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'read', annotations: read,
43
+ handler: async (args, ctx) => ({ data: await ctx.services.android.ui(args.snapshotId, ctx.principal, args.maxNodes) }),
44
+ });
45
+ export const androidLogcatTool = defineTool({
46
+ name: 'android_logcat', title: 'Read bounded Android logcat output',
47
+ description: 'Read a bounded snapshot of logcat from an approved device. Logs are untrusted and may contain private app or OS data; DODO does not persist their contents in audit records.',
48
+ input: { serial: Serial, maxLines: z.number().int().min(1).max(2000).default(300), priority: z.enum(['V', 'D', 'I', 'W', 'E', 'F', 'S']).default('I') },
49
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'read', annotations: read,
50
+ handler: async (args, ctx) => ({ data: await ctx.services.android.logcat(args.serial, args.maxLines, args.priority) }),
51
+ });
52
+ export const androidPackagesTool = defineTool({
53
+ name: 'android_packages', title: 'List installed Android packages',
54
+ description: 'List third-party packages by default, or include system packages explicitly, on one approved device. Package names are untrusted device data.',
55
+ input: { serial: Serial, includeSystem: z.boolean().default(false), maxItems: z.number().int().min(1).max(2000).default(500) },
56
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'read', annotations: read,
57
+ handler: async (args, ctx) => ({ data: await ctx.services.android.packages(args.serial, args.includeSystem, args.maxItems) }),
58
+ });
59
+ export const androidFileReadTool = defineTool({
60
+ name: 'android_file_read', title: 'Read a bounded Android device file',
61
+ description: 'Read one absolute device path with adb exec-out cat. Returns UTF-8 when valid or base64 for binary data. Device paths never become host paths. Content is private, untrusted and bounded to 1 MiB.',
62
+ input: { serial: Serial, path: z.string().min(2).max(512), maxBytes: z.number().int().min(1).max(1024 * 1024).default(256 * 1024) },
63
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'read', annotations: read,
64
+ handler: async (args, ctx) => ({ data: await ctx.services.android.fileRead(args.serial, args.path, args.maxBytes) }),
65
+ });
66
+ export const androidActionTool = defineTool({
67
+ name: 'android_action', title: 'Tap, swipe, type or press a key on Android',
68
+ description: 'Perform ONE ADB input action on an owner-approved CONTROL device using a fresh android_capture snapshot. Requires dodo:exec and the normal trust/approval gate. The snapshot is consumed before dispatch. Uncertain outcomes never auto-repeat; reuse the same idempotencyKey only for the same request and capture again to verify.',
69
+ input: { serial: Serial, snapshotId: z.string().uuid(), action: AndroidActionSchema, idempotencyKey: IdempotencyKey },
70
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'exec', annotations: effect,
71
+ handler: async (args, ctx) => ({ data: await multimediaEffect(ctx, 'android_action', args.idempotencyKey, { serial: args.serial, snapshotId: args.snapshotId, action: args.action }, () => ctx.services.android.action(args.serial, args.snapshotId, args.action, ctx.principal)) }),
72
+ });
73
+ export const androidAppTool = defineTool({
74
+ name: 'android_app', title: 'Launch, stop or clear an Android app',
75
+ description: 'Perform one bounded app operation on an approved CONTROL device: launch a package, start an explicit component, force-stop, or clear app data. clear_data is destructive. Requires dodo:exec, trust/approval and an idempotency key. Verify device state after completion.',
76
+ input: { serial: Serial, action: AndroidAppActionSchema, idempotencyKey: IdempotencyKey },
77
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'exec', annotations: effect,
78
+ handler: async (args, ctx) => ({ data: await multimediaEffect(ctx, 'android_app', args.idempotencyKey, { serial: args.serial, action: args.action }, () => ctx.services.android.app(args.serial, args.action)) }),
79
+ });
80
+ export const androidInstallTool = defineTool({
81
+ name: 'android_install', title: 'Install a workspace APK on Android',
82
+ description: 'Install one regular, non-symlink, non-hardlink .apk from the active workspace onto an approved CONTROL device. The shared workspace/secret path policy validates the source before its absolute host path reaches adb. Requires dodo:exec, trust/approval and idempotency.',
83
+ input: { serial: Serial, apkPath: z.string().min(1).max(1024), expectedHash: z.string().regex(/^sha256:[a-f0-9]{64}$/), replace: z.boolean().default(true), downgrade: z.boolean().default(false), grantRuntimePermissions: z.boolean().default(false), idempotencyKey: IdempotencyKey },
84
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'exec', annotations: effect,
85
+ handler: async (args, ctx) => ({ data: await multimediaEffect(ctx, 'android_install', args.idempotencyKey, { serial: args.serial, apkPath: args.apkPath, expectedHash: args.expectedHash, replace: args.replace, downgrade: args.downgrade, grantRuntimePermissions: args.grantRuntimePermissions }, () => ctx.services.android.install(args.serial, args.apkPath, args.expectedHash, args)) }),
86
+ });
87
+ export const androidPushTool = defineTool({
88
+ name: 'android_push', title: 'Push a workspace file to Android',
89
+ description: 'Push one regular workspace file to an explicit absolute device path. The host source remains subject to DODO secret, traversal, symlink and hardlink guards. Requires an approved CONTROL device, dodo:exec, trust/approval and idempotency.',
90
+ input: { serial: Serial, sourcePath: z.string().min(1).max(1024), expectedHash: z.string().regex(/^sha256:[a-f0-9]{64}$/), destinationPath: z.string().min(2).max(512), idempotencyKey: IdempotencyKey },
91
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'exec', annotations: effect,
92
+ handler: async (args, ctx) => ({ data: await multimediaEffect(ctx, 'android_push', args.idempotencyKey, { serial: args.serial, sourcePath: args.sourcePath, expectedHash: args.expectedHash, destinationPath: args.destinationPath }, () => ctx.services.android.push(args.serial, args.sourcePath, args.expectedHash, args.destinationPath)) }),
93
+ });
94
+ export const androidAdbTool = defineTool({
95
+ name: 'android_adb', title: 'Run an advanced device-only ADB command',
96
+ description: 'Advanced escape hatch for device-side shell/exec-out/logcat/get-state/get-serialno/features only. It always pins an owner-approved exact serial, uses argv with shell:false, bounds output/time and blocks pair/connect/server/root/host-path commands. It can still change or delete data ON THE DEVICE, so CONTROL consent, dodo:exec, trust/approval and idempotency are mandatory.',
97
+ input: {
98
+ serial: Serial,
99
+ command: z.enum(['shell', 'exec-out', 'logcat', 'get-state', 'get-serialno', 'features']),
100
+ args: z.array(z.string().max(1024)).max(64).default([]),
101
+ encoding: z.enum(['utf8', 'base64']).default('utf8'),
102
+ maxBytes: z.number().int().min(1).max(2 * 1024 * 1024).default(256 * 1024),
103
+ idempotencyKey: IdempotencyKey,
104
+ },
105
+ output: z.looseObject({}), requiredScope: 'dodo:exec', action: 'exec', annotations: effect,
106
+ handler: async (args, ctx) => ({ data: await multimediaEffect(ctx, 'android_adb', args.idempotencyKey, { serial: args.serial, command: args.command, args: args.args, encoding: args.encoding, maxBytes: args.maxBytes }, () => ctx.services.android.raw(args.serial, args.command, args.args, args.encoding, args.maxBytes)) }),
107
+ });
108
+ export const ANDROID_TOOLS = [
109
+ androidStatusTool, androidDevicesTool, androidDeviceInfoTool, androidCaptureTool, androidUiTool,
110
+ androidLogcatTool, androidPackagesTool, androidFileReadTool, androidActionTool, androidAppTool,
111
+ androidInstallTool, androidPushTool, androidAdbTool,
112
+ ];
113
+ //# sourceMappingURL=androidTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"androidTools.js","sourceRoot":"","sources":["../../src/tools/androidTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,MAAM,IAAI,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAW,CAAC;AAChH,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAW,CAAC;AACpH,MAAM,MAAM,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAW,CAAC;AACnH,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,0EAA0E,CAAC,CAAC;AACxH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,8CAA8C;IAC7E,WAAW,EAAE,6OAA6O;IAC1P,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM;IAChF,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iCAAiC;IACjE,WAAW,EAAE,0NAA0N;IACvO,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;IACnG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;CAChF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,6BAA6B;IACjE,WAAW,EAAE,wJAAwJ;IACrK,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;IACnH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;CACvF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,2BAA2B;IAC3D,WAAW,EAAE,8QAA8Q;IAC3R,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;IACtH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;IAC9G,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,2BAA2B;IACtD,WAAW,EAAE,+LAA+L;IAC5M,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IACjG,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;IACxF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;CACvH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,oCAAoC;IACnE,WAAW,EAAE,8KAA8K;IAC3L,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IACvJ,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;IACxF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;CACvH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,iCAAiC;IAClE,WAAW,EAAE,+IAA+I;IAC5J,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;IAC9H,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;IACxF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC9H,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,oCAAoC;IACtE,WAAW,EAAE,oMAAoM;IACjN,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;IACnI,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI;IACxF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;CACrH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,4CAA4C;IAC3E,WAAW,EAAE,sUAAsU;IACnV,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE;IACrH,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAC1F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;CACrR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sCAAsC;IAClE,WAAW,EAAE,4QAA4Q;IACzR,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,EAAE;IACzF,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAC1F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;CAClN,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,oCAAoC;IACpE,WAAW,EAAE,4QAA4Q;IACzR,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE;IACxR,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAC1F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;CAChY,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kCAAkC;IAC/D,WAAW,EAAE,8OAA8O;IAC3P,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE;IACxM,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAC1F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;CACjV,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,yCAAyC;IACrE,WAAW,EAAE,wXAAwX;IACrY,KAAK,EAAE;QACL,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACzF,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QAC1E,cAAc,EAAE,cAAc;KAC/B;IACD,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAC1F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;CACjU,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,aAAa;IAC/F,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc;IAC9F,kBAAkB,EAAE,eAAe,EAAE,cAAc;CACpD,CAAC"}
@@ -2,6 +2,7 @@ import { SUBAGENT_TOOLS } from './subagentTools.js';
2
2
  import { registerTool } from './context.js';
3
3
  import { CORE_TOOL_CATALOG } from './coreCatalog.js';
4
4
  import { AGENT_RUNTIME_TOOLS } from './agentRuntimeTools.js';
5
+ import { ANDROID_TOOLS } from './androidTools.js';
5
6
  /**
6
7
  * The tool catalog in a FIXED, stable order. Every listed tool is fully
7
8
  * implemented; nothing here is a stub, and no roadmap tool is registered.
@@ -21,6 +22,8 @@ export const TOOL_CATALOG = [
21
22
  // Durable plan/hypothesis/lock/snapshot/skill coordination. Existing 104 names stay an exact prefix.
22
23
  ...AGENT_RUNTIME_TOOLS,
23
24
  ...SUBAGENT_TOOLS,
25
+ // Append platform additions so the complete pre-Android catalog stays an exact prefix.
26
+ ...ANDROID_TOOLS,
24
27
  ];
25
28
  export function registerCatalog(server, services) {
26
29
  for (const def of TOOL_CATALOG) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/tools/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,GAAG,iBAAiB;IACpB,qGAAqG;IACrG,GAAG,mBAAmB;IACtB,GAAG,cAAc;CAClB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,QAAqB;IACtE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/tools/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqC,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,GAAG,iBAAiB;IACpB,qGAAqG;IACrG,GAAG,mBAAmB;IACtB,GAAG,cAAc;IACjB,uFAAuF;IACvF,GAAG,aAAa;CACjB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,QAAqB;IACtE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -1,11 +1,21 @@
1
1
  import { isOwner, projectAuthority } from '../security/projectAuthority.js';
2
+ import { accessMode } from '../security/accessMode.js';
2
3
  import { z } from 'zod';
3
4
  import { DodoError, toDodoError } from '../errors.js';
4
5
  import { decide, scopeSatisfied } from '../security/policy.js';
5
6
  import { okEnvelope, errorEnvelope, envelopeSchema, envelopeText } from './envelope.js';
6
7
  import { digestOf } from '../util/hash.js';
7
8
  import { requireLocalApproval } from '../security/approvals.js';
8
- const TARGET_PROJECT = { targetProjectId: z.string().regex(/^prj_[0-9a-hjkmnp-tv-z]{8,64}$/).optional().describe("Explicit owner-registered target; use its project_overview context") };
9
+ const TARGET_PROJECT = {
10
+ targetProjectId: z.string().regex(/^prj_[0-9a-hjkmnp-tv-z]{8,64}$/).optional().describe("Explicit owner-registered target; use its project_overview context"),
11
+ /**
12
+ * The owner-facing project name. Owners say "แก้โปรเจกต์ auto-upload", not a
13
+ * `prj_…` id, so a name is accepted anywhere the id is. It resolves to
14
+ * exactly one registered project the caller may see, or fails — it never
15
+ * guesses between same-named projects.
16
+ */
17
+ targetProject: z.string().min(1).max(120).optional().describe('Owner-registered project NAME to target (alternative to targetProjectId; must match exactly one project)'),
18
+ };
9
19
  const WORKSPACE_CONTEXT_FIELDS = {
10
20
  workspaceId: z.string().min(1).max(128).describe('Workspace id from project_overview'),
11
21
  workspaceEpoch: z.string().min(1).max(128).describe('Workspace epoch from project_overview (changes on server restart or workspace switch)'),
@@ -17,6 +27,68 @@ export function defineTool(def) {
17
27
  export function toolInputShape(def) {
18
28
  return { ...TARGET_PROJECT, ...(def.noWorkspaceContext ? {} : WORKSPACE_CONTEXT_FIELDS), ...def.input };
19
29
  }
30
+ /**
31
+ * Fields that choose WHICH workspace/project a call runs against. They are only
32
+ * ever read from the top level. A nested `args` object carrying one is an
33
+ * attempt to re-route a call past the checks its gateway already performed, so
34
+ * every dispatcher rejects them through this one list.
35
+ */
36
+ export const ROUTING_CONTEXT_KEYS = ['workspaceId', 'workspaceEpoch', 'targetProjectId', 'targetProject'];
37
+ export function assertNoNestedRoutingContext(raw, what = 'args') {
38
+ const found = ROUTING_CONTEXT_KEYS.filter((key) => key in raw);
39
+ if (found.length === 0)
40
+ return;
41
+ throw new DodoError('INVALID_INPUT', `${what} must not carry ${found.join('/')}; the caller takes routing and workspace context from its top-level fields`, {
42
+ recovery: `remove ${found.join(' and ')} from ${what}; keep them only at the top level of the call`,
43
+ });
44
+ }
45
+ /** True when a call explicitly routes to another registered project. */
46
+ export function hasExplicitProjectTarget(args) {
47
+ return typeof args?.['targetProjectId'] === 'string' || typeof args?.['targetProject'] === 'string';
48
+ }
49
+ /**
50
+ * Resolve the explicit project target of a call to a single project id.
51
+ *
52
+ * Accepts `targetProjectId` (stable id) and/or `targetProject` (the owner-facing
53
+ * NAME). Resolution is deterministic and fail-closed:
54
+ * - a name matches case-insensitively after trimming, against ONLY the projects
55
+ * this principal may already read, so it can never confirm the existence of a
56
+ * project the caller is not allowed to see;
57
+ * - two projects sharing a name is an error listing the visible candidates,
58
+ * never a guess — picking wrong would route an edit into another repository;
59
+ * - supplying both an id and a name that disagree is an error.
60
+ */
61
+ function resolveTargetProject(args, services, principal) {
62
+ const byId = args['targetProjectId'];
63
+ const byName = args['targetProject'];
64
+ if (byName === undefined)
65
+ return byId;
66
+ if (typeof byName !== 'string' || byName.trim().length === 0)
67
+ throw new DodoError('INVALID_INPUT', 'targetProject must be a non-empty project name');
68
+ if (!services.installation)
69
+ throw new DodoError('NOT_SUPPORTED', 'explicit project routing is unavailable');
70
+ const wanted = byName.trim().toLowerCase();
71
+ const visible = services.installation.list(principal);
72
+ const matches = visible.filter((p) => p.displayName.trim().toLowerCase() === wanted);
73
+ if (matches.length === 0) {
74
+ throw new DodoError('NOT_FOUND', `no registered project named "${byName.trim()}" is available to this client`, {
75
+ recovery: 'call project_overview to list the projects this client may use, then use the exact name or its targetProjectId',
76
+ });
77
+ }
78
+ if (matches.length > 1) {
79
+ throw new DodoError('CONFLICT', `"${byName.trim()}" matches ${matches.length} registered projects`, {
80
+ recovery: 'rename the projects in Local Config so each name is unique, or pass the exact targetProjectId',
81
+ detail: { candidates: matches.map((p) => ({ projectId: p.projectId, displayName: p.displayName })) },
82
+ });
83
+ }
84
+ const resolved = matches[0].projectId;
85
+ if (byId !== undefined && byId !== resolved) {
86
+ throw new DodoError('INVALID_INPUT', 'targetProjectId and targetProject refer to different projects', {
87
+ recovery: 'send only one of them',
88
+ });
89
+ }
90
+ return resolved;
91
+ }
20
92
  export async function invokeToolDefinition(opts) {
21
93
  const { def } = opts;
22
94
  let services = opts.services;
@@ -29,7 +101,9 @@ export async function invokeToolDefinition(opts) {
29
101
  let extraBlocks = [];
30
102
  try {
31
103
  principal = typeof opts.principal === 'function' ? opts.principal() : opts.principal;
32
- const targetId = opts.args['targetProjectId'];
104
+ // A name is resolved to an id BEFORE any routing happens, so everything
105
+ // downstream (lease acquisition, authority, audit) sees one canonical id.
106
+ const targetId = resolveTargetProject(opts.args, services, principal);
33
107
  if (targetId !== undefined) {
34
108
  if (typeof targetId !== 'string' || 'projectId' in opts.args || 'projectIds' in opts.args || (opts.args['args'] && typeof opts.args['args'] === 'object' && ('projectId' in opts.args['args'] || 'projectIds' in opts.args['args'])))
35
109
  throw new DodoError('INVALID_INPUT', 'ambiguous project routing');
@@ -50,8 +124,14 @@ export async function invokeToolDefinition(opts) {
50
124
  return { envelope: { ...okEnvelope(ws, { selectProjectRequired: true, projects }), workspaceId: null, workspaceEpoch: null }, extraBlocks: [] };
51
125
  }
52
126
  }
53
- if (principal.scopes.length === 0)
54
- throw new DodoError('WORKSPACE_ACCESS_REQUIRED', 'Owner must allow this client for the active workspace in private Local Config; OAuth login is retained');
127
+ if (principal.scopes.length === 0) {
128
+ // Personal mode never asks the owner to assign a per-workspace ACL; an
129
+ // empty scope set there means the OAuth grant itself carries no usable
130
+ // scope for this project, or the project's access level removed them.
131
+ throw new DodoError('WORKSPACE_ACCESS_REQUIRED', accessMode(services.store) === 'personal'
132
+ ? 'This client has no usable scope for this project. Check the project access level in Local Config > Projects, or reconnect the client with the scopes you need; OAuth login is retained'
133
+ : 'Owner must allow this client for the active workspace in private Local Config; OAuth login is retained');
134
+ }
55
135
  if (!scopeSatisfied(def.requiredScope, principal.scopes)) {
56
136
  throw new DodoError('FORBIDDEN', `this tool requires the ${def.requiredScope} scope`, {
57
137
  detail: { requiredScope: def.requiredScope },
@@ -171,7 +251,7 @@ export function registerTool(server, services, def) {
171
251
  // the envelope contract instead of surfacing as a raw SDK text error.
172
252
  let release;
173
253
  try {
174
- if (args['targetProjectId'] === undefined)
254
+ if (!hasExplicitProjectTarget(args))
175
255
  release = services.beginTool?.();
176
256
  }
177
257
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ export const projectOverviewTool = defineTool({
89
89
  agentRuntime,
90
90
  accessMode: personal ? 'personal' : 'managed',
91
91
  ai: { available: Boolean(s.installation), profiles: s.installation?.ai.availableProfiles(s.workspaceId, ctx.principal) ?? [], note: personal ? 'Enabled profiles are ready on every owner-registered project. Spawn still requires dodo:exec and every action keeps its live scope, context, path, secret and sandbox checks.' : 'Only currently authorized profiles are listed; spawn requires dodo:exec, project/provider permission and live action policy. Discover subagent_spawn for its schema.' },
92
- capabilities: { ...data.capabilities, desktop: { mode: desktop.mode, persistent: desktop.persistent, setupCommand: "dodo desktop setup", permissionCommand: "dodo desktop allow --app <app-id> --mode view|control --yes", rememberCommand: "dodo desktop allow --app <app-id> --mode view|control --persist --yes", platform: desktopPlatform, scope: "dodo:exec" } },
92
+ capabilities: { ...data.capabilities, desktop: { mode: desktop.mode, persistent: desktop.persistent, setupCommand: "dodo desktop setup", permissionCommand: "dodo desktop allow --app <app-id> --mode view|control --yes", rememberCommand: "dodo desktop allow --app <app-id> --mode view|control --persist --yes", platform: desktopPlatform, scope: "dodo:exec" }, android: { mode: ctx.services.android.policy().mode, persistent: ctx.services.android.policy().persistent, allowedDevices: ctx.services.android.policy().allowedDevices.length, setupCommand: "dodo android devices", permissionCommand: "dodo android allow --device <serial> --mode view|control --persist --yes", scope: "dodo:exec" } },
93
93
  federation: {
94
94
  mode: 'read-only',
95
95
  projects: federation.projects,
@@ -1 +1 @@
1
- {"version":3,"file":"projectTools.js","sourceRoot":"","sources":["../../src/tools/projectTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectTools.js","sourceRoot":"","sources":["../../src/tools/projectTools.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  import { DodoError, fromErrorInfo } from '../errors.js';
3
3
  import { digestOf } from '../util/hash.js';
4
4
  import { TOOL_CATALOG } from './catalog.js';
5
- import { defineTool, registerTool, invokeToolDefinition, toolInputShape, } from './context.js';
5
+ import { defineTool, registerTool, invokeToolDefinition, toolInputShape, assertNoNestedRoutingContext } from './context.js';
6
6
  import { envelopeSchema } from './envelope.js';
7
7
  const SUBAGENT_OPERATION_NAMES = new Set(['subagent_spawn', 'subagent_status', 'subagent_result', 'subagent_control']);
8
8
  /**
@@ -184,6 +184,18 @@ const GATEWAY_SPECS = [
184
184
  summary: 'SSRF-guarded outbound HTTPS fetch (only when the owner enabled allowWebFetch)',
185
185
  operations: ['fetch_url'],
186
186
  },
187
+ {
188
+ // Append new gateways so every pre-existing Compact name keeps its index.
189
+ name: 'dodo_mobile',
190
+ title: 'Inspect and control Android devices',
191
+ domain: 'mobile',
192
+ summary: 'owner-approved ADB devices: status, screenshots, UI, logs, packages, files, input, apps, APK install and bounded advanced device commands',
193
+ operations: [
194
+ 'android_status', 'android_devices', 'android_device_info', 'android_capture', 'android_ui',
195
+ 'android_logcat', 'android_packages', 'android_file_read', 'android_action', 'android_app',
196
+ 'android_install', 'android_push', 'android_adb',
197
+ ],
198
+ },
187
199
  ];
188
200
  const SCOPE_RANK = { 'dodo:read': 0, 'dodo:write': 1, 'dodo:exec': 2 };
189
201
  const byName = new Map(TOOL_CATALOG.map((d) => [d.name, d]));
@@ -276,11 +288,7 @@ function buildGateway(spec) {
276
288
  handler: async (args, ctx) => {
277
289
  const target = targetOf(args.operation);
278
290
  const raw = (args.args ?? {});
279
- if ('workspaceId' in raw || 'workspaceEpoch' in raw || 'targetProjectId' in raw) {
280
- throw new DodoError('INVALID_INPUT', 'args must not carry workspaceId/workspaceEpoch; the gateway takes them from its top-level fields', {
281
- recovery: 'remove workspaceId and workspaceEpoch from args; keep them only at the top level of the gateway call',
282
- });
283
- }
291
+ assertNoNestedRoutingContext(raw);
284
292
  const merged = target.noWorkspaceContext
285
293
  ? { ...raw }
286
294
  : { ...raw, workspaceId: args['workspaceId'], workspaceEpoch: args['workspaceEpoch'] };
@@ -303,7 +311,7 @@ function buildGateway(spec) {
303
311
  });
304
312
  }
305
313
  // --------------------------------------------------------------- discover --
306
- const DISCOVER_DOMAINS = ['code', 'exec', 'git', 'desktop', 'media', 'browser', 'game', 'workflow', 'schedule', 'web'];
314
+ const DISCOVER_DOMAINS = ['code', 'exec', 'git', 'desktop', 'mobile', 'media', 'browser', 'game', 'workflow', 'schedule', 'web'];
307
315
  function buildOperationIndex(specs, exposedCatalog) {
308
316
  const order = new Map(exposedCatalog.map((d, i) => [d.name, i]));
309
317
  return specs.flatMap((spec) => spec.operations.map((op) => {
@@ -516,16 +524,16 @@ function overviewFor(surface, counts, subagents) {
516
524
  }
517
525
  const ALL_FEATURES = { subagents: true };
518
526
  const DEFAULT_FEATURES = { subagents: false };
519
- const ALL_COUNTS = { compact: 2 + GATEWAY_SPECS.length, full: TOOL_CATALOG.length, hybrid: 2 + GATEWAY_SPECS.length + 30 };
527
+ const ALL_COUNTS = { compact: 2 + GATEWAY_SPECS.length, full: TOOL_CATALOG.length, hybrid: 2 + GATEWAY_SPECS.length + 29 };
520
528
  const GATEWAYS = GATEWAY_SPECS.map(buildGateway);
521
529
  const discoverTool = buildDiscoverTool(GATEWAY_SPECS, TOOL_CATALOG);
522
530
  /** The compact catalog in a fixed, stable order (overview → discover → gateways). */
523
531
  export const COMPACT_CATALOG = [overviewFor('compact', ALL_COUNTS, true), discoverTool, ...GATEWAYS];
524
532
  /**
525
533
  * Hybrid surface (ADR-029 addendum): for clients that cap the tool
526
- * count near ~50, the coverage core comes FIRST (overview, discover, all 17
534
+ * count near ~50, the coverage core comes FIRST (overview, discover, all 18
527
535
  * gateways — identical to compact, so any client-side truncation can only
528
- * drop direct-tool duplicates, never capabilities), followed by the 30 most
536
+ * drop direct-tool duplicates, never capabilities), followed by the 29 most
529
537
  * used direct coding tools with their original names and schemas. 49 tools
530
538
  * total; permissions unchanged in every path.
531
539
  */
@@ -559,7 +567,6 @@ export const HYBRID_DIRECT_OPERATIONS = [
559
567
  'job_output',
560
568
  'job_wait',
561
569
  'job_cancel',
562
- 'list_jobs',
563
570
  ];
564
571
  export const HYBRID_CATALOG = [overviewFor('hybrid', ALL_COUNTS, true), discoverTool, ...GATEWAYS, ...HYBRID_DIRECT_OPERATIONS.map(targetOf)];
565
572
  {
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/tools/surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../src/tools/surface.ts"],"names":[],"mappings":"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"}