open-multi-agent-kit 0.80.8 → 0.90.3

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 (208) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +21 -31
  3. package/dist/cli/args.d.ts +0 -2
  4. package/dist/cli/args.d.ts.map +1 -1
  5. package/dist/cli/args.js +2 -7
  6. package/dist/cli/args.js.map +1 -1
  7. package/dist/core/agent-session.d.ts +2 -0
  8. package/dist/core/agent-session.d.ts.map +1 -1
  9. package/dist/core/agent-session.js +41 -5
  10. package/dist/core/agent-session.js.map +1 -1
  11. package/dist/core/automation/index.d.ts +359 -0
  12. package/dist/core/automation/index.d.ts.map +1 -0
  13. package/dist/core/automation/index.js +665 -0
  14. package/dist/core/automation/index.js.map +1 -0
  15. package/dist/core/bang-skill-invocation.d.ts +26 -0
  16. package/dist/core/bang-skill-invocation.d.ts.map +1 -0
  17. package/dist/core/bang-skill-invocation.js +59 -0
  18. package/dist/core/bang-skill-invocation.js.map +1 -0
  19. package/dist/core/browser-use.d.ts +8 -0
  20. package/dist/core/browser-use.d.ts.map +1 -1
  21. package/dist/core/browser-use.js +61 -23
  22. package/dist/core/browser-use.js.map +1 -1
  23. package/dist/core/compactor.d.ts.map +1 -1
  24. package/dist/core/compactor.js +0 -3
  25. package/dist/core/compactor.js.map +1 -1
  26. package/dist/core/context-budget-governor-v2.d.ts +2 -1
  27. package/dist/core/context-budget-governor-v2.d.ts.map +1 -1
  28. package/dist/core/context-budget-governor-v2.js +1 -0
  29. package/dist/core/context-budget-governor-v2.js.map +1 -1
  30. package/dist/core/context-budget-headroom-types.d.ts +8 -0
  31. package/dist/core/context-budget-headroom-types.d.ts.map +1 -1
  32. package/dist/core/context-budget-headroom-types.js.map +1 -1
  33. package/dist/core/context-budget-headroom.d.ts +1 -1
  34. package/dist/core/context-budget-headroom.d.ts.map +1 -1
  35. package/dist/core/context-budget-headroom.js +17 -4
  36. package/dist/core/context-budget-headroom.js.map +1 -1
  37. package/dist/core/context-budget-system-prompt.d.ts +2 -1
  38. package/dist/core/context-budget-system-prompt.d.ts.map +1 -1
  39. package/dist/core/context-budget-system-prompt.js +6 -1
  40. package/dist/core/context-budget-system-prompt.js.map +1 -1
  41. package/dist/core/context-budget-v2-cache-hash.d.ts +3 -0
  42. package/dist/core/context-budget-v2-cache-hash.d.ts.map +1 -0
  43. package/dist/core/context-budget-v2-cache-hash.js +16 -0
  44. package/dist/core/context-budget-v2-cache-hash.js.map +1 -0
  45. package/dist/core/context-budget-v2-cache-keys.d.ts +58 -0
  46. package/dist/core/context-budget-v2-cache-keys.d.ts.map +1 -0
  47. package/dist/core/context-budget-v2-cache-keys.js +128 -0
  48. package/dist/core/context-budget-v2-cache-keys.js.map +1 -0
  49. package/dist/core/context-budget-v2-cache-provider.d.ts +23 -0
  50. package/dist/core/context-budget-v2-cache-provider.d.ts.map +1 -0
  51. package/dist/core/context-budget-v2-cache-provider.js +29 -0
  52. package/dist/core/context-budget-v2-cache-provider.js.map +1 -0
  53. package/dist/core/context-budget-v2-cache-telemetry.d.ts +36 -0
  54. package/dist/core/context-budget-v2-cache-telemetry.d.ts.map +1 -0
  55. package/dist/core/context-budget-v2-cache-telemetry.js +64 -0
  56. package/dist/core/context-budget-v2-cache-telemetry.js.map +1 -0
  57. package/dist/core/context-budget-v2-cache-validation.d.ts +36 -0
  58. package/dist/core/context-budget-v2-cache-validation.d.ts.map +1 -0
  59. package/dist/core/context-budget-v2-cache-validation.js +98 -0
  60. package/dist/core/context-budget-v2-cache-validation.js.map +1 -0
  61. package/dist/core/context-budget-v2-cache.d.ts +36 -0
  62. package/dist/core/context-budget-v2-cache.d.ts.map +1 -0
  63. package/dist/core/context-budget-v2-cache.js +50 -0
  64. package/dist/core/context-budget-v2-cache.js.map +1 -0
  65. package/dist/core/context-budget-v2-plan-cache-keys.d.ts +16 -0
  66. package/dist/core/context-budget-v2-plan-cache-keys.d.ts.map +1 -0
  67. package/dist/core/context-budget-v2-plan-cache-keys.js +49 -0
  68. package/dist/core/context-budget-v2-plan-cache-keys.js.map +1 -0
  69. package/dist/core/context-budget-v2-planner.d.ts.map +1 -1
  70. package/dist/core/context-budget-v2-planner.js +55 -2
  71. package/dist/core/context-budget-v2-planner.js.map +1 -1
  72. package/dist/core/context-budget-v2-representation-cache.d.ts +27 -0
  73. package/dist/core/context-budget-v2-representation-cache.d.ts.map +1 -0
  74. package/dist/core/context-budget-v2-representation-cache.js +173 -0
  75. package/dist/core/context-budget-v2-representation-cache.js.map +1 -0
  76. package/dist/core/context-budget-v2-selection.d.ts +2 -0
  77. package/dist/core/context-budget-v2-selection.d.ts.map +1 -1
  78. package/dist/core/context-budget-v2-selection.js +12 -2
  79. package/dist/core/context-budget-v2-selection.js.map +1 -1
  80. package/dist/core/context-budget-v2-types.d.ts +107 -1
  81. package/dist/core/context-budget-v2-types.d.ts.map +1 -1
  82. package/dist/core/context-budget-v2-types.js.map +1 -1
  83. package/dist/core/diagnostics.d.ts +2 -0
  84. package/dist/core/diagnostics.d.ts.map +1 -1
  85. package/dist/core/diagnostics.js.map +1 -1
  86. package/dist/core/extensions/builtin/todo-checklist.d.ts.map +1 -1
  87. package/dist/core/extensions/builtin/todo-checklist.js +3 -0
  88. package/dist/core/extensions/builtin/todo-checklist.js.map +1 -1
  89. package/dist/core/footer-data-provider.d.ts +3 -1
  90. package/dist/core/footer-data-provider.d.ts.map +1 -1
  91. package/dist/core/footer-data-provider.js +4 -0
  92. package/dist/core/footer-data-provider.js.map +1 -1
  93. package/dist/core/headroom.d.ts.map +1 -1
  94. package/dist/core/headroom.js +0 -4
  95. package/dist/core/headroom.js.map +1 -1
  96. package/dist/core/hook-inventory.d.ts.map +1 -1
  97. package/dist/core/hook-inventory.js +6 -0
  98. package/dist/core/hook-inventory.js.map +1 -1
  99. package/dist/core/mcp-computer-use-presets.d.ts +64 -0
  100. package/dist/core/mcp-computer-use-presets.d.ts.map +1 -0
  101. package/dist/core/mcp-computer-use-presets.js +158 -0
  102. package/dist/core/mcp-computer-use-presets.js.map +1 -0
  103. package/dist/core/mcp-public-presets.d.ts +578 -0
  104. package/dist/core/mcp-public-presets.d.ts.map +1 -0
  105. package/dist/core/mcp-public-presets.js +647 -0
  106. package/dist/core/mcp-public-presets.js.map +1 -0
  107. package/dist/core/model-registry.d.ts.map +1 -1
  108. package/dist/core/model-registry.js +1 -0
  109. package/dist/core/model-registry.js.map +1 -1
  110. package/dist/core/model-resolver.d.ts.map +1 -1
  111. package/dist/core/model-resolver.js +1 -0
  112. package/dist/core/model-resolver.js.map +1 -1
  113. package/dist/core/pi-package-intake-candidates.d.ts +34 -0
  114. package/dist/core/pi-package-intake-candidates.d.ts.map +1 -0
  115. package/dist/core/pi-package-intake-candidates.js +291 -0
  116. package/dist/core/pi-package-intake-candidates.js.map +1 -0
  117. package/dist/core/pi-package-intake.d.ts +50 -0
  118. package/dist/core/pi-package-intake.d.ts.map +1 -0
  119. package/dist/core/pi-package-intake.js +132 -0
  120. package/dist/core/pi-package-intake.js.map +1 -0
  121. package/dist/core/provider-display-names.d.ts.map +1 -1
  122. package/dist/core/provider-display-names.js +1 -0
  123. package/dist/core/provider-display-names.js.map +1 -1
  124. package/dist/core/resource-loader.d.ts.map +1 -1
  125. package/dist/core/resource-loader.js +1 -0
  126. package/dist/core/resource-loader.js.map +1 -1
  127. package/dist/core/reverse-skill.d.ts +2 -0
  128. package/dist/core/reverse-skill.d.ts.map +1 -0
  129. package/dist/core/reverse-skill.js +7 -0
  130. package/dist/core/reverse-skill.js.map +1 -0
  131. package/dist/core/settings-manager.d.ts +3 -3
  132. package/dist/core/settings-manager.d.ts.map +1 -1
  133. package/dist/core/settings-manager.js.map +1 -1
  134. package/dist/core/skills.d.ts +4 -0
  135. package/dist/core/skills.d.ts.map +1 -1
  136. package/dist/core/skills.js +115 -43
  137. package/dist/core/skills.js.map +1 -1
  138. package/dist/core/system-prompt.d.ts +2 -0
  139. package/dist/core/system-prompt.d.ts.map +1 -1
  140. package/dist/core/system-prompt.js +58 -5
  141. package/dist/core/system-prompt.js.map +1 -1
  142. package/dist/core/todo-runtime-state.d.ts +5 -0
  143. package/dist/core/todo-runtime-state.d.ts.map +1 -0
  144. package/dist/core/todo-runtime-state.js +12 -0
  145. package/dist/core/todo-runtime-state.js.map +1 -0
  146. package/dist/index.d.ts +2 -0
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +2 -0
  149. package/dist/index.js.map +1 -1
  150. package/dist/migrations.d.ts +19 -0
  151. package/dist/migrations.d.ts.map +1 -1
  152. package/dist/migrations.js +39 -15
  153. package/dist/migrations.js.map +1 -1
  154. package/dist/modes/interactive/components/control-panel-box.d.ts +3 -3
  155. package/dist/modes/interactive/components/control-panel-box.d.ts.map +1 -1
  156. package/dist/modes/interactive/components/control-panel-box.js +10 -10
  157. package/dist/modes/interactive/components/control-panel-box.js.map +1 -1
  158. package/dist/modes/interactive/components/control-panel-gradient-motion.d.ts.map +1 -1
  159. package/dist/modes/interactive/components/control-panel-gradient-motion.js +2 -1
  160. package/dist/modes/interactive/components/control-panel-gradient-motion.js.map +1 -1
  161. package/dist/modes/interactive/components/control-panel-layout.d.ts +22 -1
  162. package/dist/modes/interactive/components/control-panel-layout.d.ts.map +1 -1
  163. package/dist/modes/interactive/components/control-panel-layout.js +244 -68
  164. package/dist/modes/interactive/components/control-panel-layout.js.map +1 -1
  165. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts +2 -1
  166. package/dist/modes/interactive/components/control-panel-runtime-status.d.ts.map +1 -1
  167. package/dist/modes/interactive/components/control-panel-runtime-status.js +20 -1
  168. package/dist/modes/interactive/components/control-panel-runtime-status.js.map +1 -1
  169. package/dist/modes/interactive/components/control-panel-sparkles.d.ts +27 -0
  170. package/dist/modes/interactive/components/control-panel-sparkles.d.ts.map +1 -0
  171. package/dist/modes/interactive/components/control-panel-sparkles.js +42 -0
  172. package/dist/modes/interactive/components/control-panel-sparkles.js.map +1 -0
  173. package/dist/modes/interactive/components/control-panel.d.ts +9 -0
  174. package/dist/modes/interactive/components/control-panel.d.ts.map +1 -1
  175. package/dist/modes/interactive/components/control-panel.js +50 -6
  176. package/dist/modes/interactive/components/control-panel.js.map +1 -1
  177. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  178. package/dist/modes/interactive/components/footer.js +6 -0
  179. package/dist/modes/interactive/components/footer.js.map +1 -1
  180. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  181. package/dist/modes/interactive/components/settings-selector.js +2 -1
  182. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  183. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  184. package/dist/modes/interactive/components/thinking-selector.js +2 -1
  185. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  186. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  187. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  188. package/dist/modes/interactive/interactive-mode.js +70 -15
  189. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  190. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  191. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  192. package/dist/modes/interactive/theme/theme.js +5 -0
  193. package/dist/modes/interactive/theme/theme.js.map +1 -1
  194. package/docs/providers.md +12 -0
  195. package/docs/skills.md +8 -4
  196. package/docs/usage.md +4 -3
  197. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  198. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  199. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  200. package/examples/extensions/gondolin/package-lock.json +2 -2
  201. package/examples/extensions/gondolin/package.json +1 -1
  202. package/examples/extensions/preset.ts +2 -2
  203. package/examples/extensions/sandbox/package-lock.json +2 -2
  204. package/examples/extensions/sandbox/package.json +1 -1
  205. package/examples/extensions/with-deps/package-lock.json +2 -2
  206. package/examples/extensions/with-deps/package.json +1 -1
  207. package/npm-shrinkwrap.json +27 -34
  208. package/package.json +5 -5
@@ -0,0 +1,158 @@
1
+ export const OMK_COMPUTER_USE_DEFAULT_PRESET_ID = "playwright-computer-use";
2
+ const PLAYWRIGHT_BROWSER_MODES = [
3
+ {
4
+ browser: "chrome",
5
+ cookieMode: "managed-profile",
6
+ description: "OMK-managed Chrome profile with project-scoped persistent cookies and local storage.",
7
+ id: "managed-chrome-profile",
8
+ profileDir: ".omk/browser-profiles/chrome",
9
+ },
10
+ {
11
+ browser: "firefox",
12
+ cookieMode: "managed-profile",
13
+ description: "OMK-managed Firefox profile; avoids attaching to the user's real Firefox profile.",
14
+ id: "managed-firefox-profile",
15
+ profileDir: ".omk/browser-profiles/firefox",
16
+ },
17
+ {
18
+ argsExtra: ["--isolated", "--storage-state", "<storageStatePath>"],
19
+ cookieMode: "isolated-storage-state",
20
+ description: "Loads cookies and local storage from an explicit Playwright storage-state file.",
21
+ id: "isolated-storage-state",
22
+ },
23
+ {
24
+ argsExtra: ["--extension"],
25
+ browser: "chrome",
26
+ browserLimit: "chrome-edge-only",
27
+ cookieMode: "existing-browser-session",
28
+ description: "Connects to an existing Chrome or Edge session through the Playwright extension.",
29
+ id: "existing-chrome-session",
30
+ },
31
+ ];
32
+ const PLAYWRIGHT_COMPUTER_USE_PRESET = {
33
+ browserModes: PLAYWRIGHT_BROWSER_MODES,
34
+ defaultEnabled: true,
35
+ engine: "mcp",
36
+ id: "playwright-computer-use",
37
+ key: "playwrightComputerUse",
38
+ label: "Playwright Computer Use",
39
+ notes: [
40
+ "Default computer-use preset built on Microsoft Playwright MCP accessibility-tree automation.",
41
+ "Credentialed browser sessions must go through SecureComputerUseBroker preflight and request interception.",
42
+ "Playwright allowed-origins are recorded as advisory only; OMK policy remains the security boundary.",
43
+ ],
44
+ policy: {
45
+ allowedOriginsSecurityBoundary: false,
46
+ blockMetadataIp: true,
47
+ blockPrivateNetwork: true,
48
+ credentialScopes: ["none", "session", "workspace"],
49
+ denyNoSandbox: true,
50
+ descriptorHashPinned: true,
51
+ evidenceLedger: true,
52
+ maxActions: 40,
53
+ maxOutputBytes: 25_000_000,
54
+ noUnrestrictedFileAccess: true,
55
+ originAllowlistRequiredForCredentialedMode: true,
56
+ outputGuard: true,
57
+ requiresExplicitPostconditions: true,
58
+ requiresRequestInterception: true,
59
+ sandboxRequired: true,
60
+ secretBrokerOnly: true,
61
+ },
62
+ risk: "R3",
63
+ sourceUrls: ["https://github.com/microsoft/playwright-mcp"],
64
+ supportedLaunchOptions: ["browser", "user-data-dir", "storage-state", "extension", "cdp-endpoint"],
65
+ transport: {
66
+ args: [
67
+ "-y",
68
+ "@playwright/mcp@0.0.76",
69
+ "--browser",
70
+ "<browser>",
71
+ "--user-data-dir",
72
+ "<profileDir>",
73
+ "--output-dir",
74
+ "<outputDir>",
75
+ "--output-mode",
76
+ "file",
77
+ "--block-service-workers",
78
+ "--timeout-action",
79
+ "5000",
80
+ "--timeout-navigation",
81
+ "60000",
82
+ ],
83
+ command: "npx",
84
+ packageName: "@playwright/mcp",
85
+ type: "stdio",
86
+ },
87
+ };
88
+ const BROWSER_USE_AGENT_PRESET = {
89
+ browserModes: [],
90
+ defaultEnabled: false,
91
+ engine: "python-rust-sidecar",
92
+ id: "browser-use-agent",
93
+ key: "browserUseAgent",
94
+ label: "Browser Use Agent",
95
+ notes: [
96
+ "Optional advanced runner for agentic browser tasks that need recovery loops or custom tools.",
97
+ "Profiles and secrets must be injected through OMK brokers instead of manual shell profile scripts.",
98
+ ],
99
+ policy: {
100
+ allowedDomainsRequired: true,
101
+ blockMetadataIp: true,
102
+ blockPrivateNetwork: true,
103
+ credentialScopes: ["none", "session", "workspace"],
104
+ denyNoSandbox: true,
105
+ descriptorHashPinned: true,
106
+ evidenceLedger: true,
107
+ maxActions: 60,
108
+ noManualProfileShellScript: true,
109
+ noUnrestrictedFileAccess: true,
110
+ originAllowlistRequiredForCredentialedMode: true,
111
+ outputGuard: true,
112
+ profileBrokerOnly: true,
113
+ requiresExplicitPostconditions: true,
114
+ requiresRequestInterception: true,
115
+ sandboxRequired: true,
116
+ secretBrokerOnly: true,
117
+ },
118
+ risk: "R3",
119
+ sourceUrls: ["https://github.com/browser-use/browser-use"],
120
+ supportedLaunchOptions: [],
121
+ };
122
+ export const COMPUTER_USE_PRESETS = {
123
+ playwrightComputerUse: PLAYWRIGHT_COMPUTER_USE_PRESET,
124
+ browserUseAgent: BROWSER_USE_AGENT_PRESET,
125
+ };
126
+ export function listComputerUsePresets() {
127
+ return Object.values(COMPUTER_USE_PRESETS).map((preset) => cloneComputerUsePreset(preset));
128
+ }
129
+ export function getComputerUsePreset(id) {
130
+ const preset = Object.values(COMPUTER_USE_PRESETS).find((candidate) => candidate.id === id);
131
+ return preset ? cloneComputerUsePreset(preset) : undefined;
132
+ }
133
+ export function requiresCredentialedOriginAllowlist(cookieMode) {
134
+ return cookieMode !== "none";
135
+ }
136
+ function cloneComputerUsePreset(preset) {
137
+ return {
138
+ ...preset,
139
+ browserModes: preset.browserModes.map((mode) => ({
140
+ ...mode,
141
+ argsExtra: mode.argsExtra ? [...mode.argsExtra] : undefined,
142
+ })),
143
+ notes: [...preset.notes],
144
+ policy: {
145
+ ...preset.policy,
146
+ credentialScopes: [...preset.policy.credentialScopes],
147
+ },
148
+ sourceUrls: [...preset.sourceUrls],
149
+ supportedLaunchOptions: [...preset.supportedLaunchOptions],
150
+ transport: preset.transport
151
+ ? {
152
+ ...preset.transport,
153
+ args: [...preset.transport.args],
154
+ }
155
+ : undefined,
156
+ };
157
+ }
158
+ //# sourceMappingURL=mcp-computer-use-presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-computer-use-presets.js","sourceRoot":"","sources":["../../src/core/mcp-computer-use-presets.ts"],"names":[],"mappings":"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","sourcesContent":["export const OMK_COMPUTER_USE_DEFAULT_PRESET_ID = \"playwright-computer-use\";\n\nexport type ComputerUsePresetKey = \"browserUseAgent\" | \"playwrightComputerUse\";\nexport type ComputerUsePresetId = \"browser-use-agent\" | \"playwright-computer-use\";\nexport type ComputerUseRisk = \"R3\";\nexport type ComputerUseEngine = \"mcp\" | \"python-rust-sidecar\";\nexport type ComputerUseBrowser = \"chrome\" | \"firefox\" | \"msedge\" | \"webkit\";\nexport type ComputerUseCookieMode = \"existing-browser-session\" | \"isolated-storage-state\" | \"managed-profile\" | \"none\";\nexport type ComputerUseCredentialScope = \"none\" | \"session\" | \"workspace\";\nexport type ComputerUseLaunchOption = \"browser\" | \"cdp-endpoint\" | \"extension\" | \"storage-state\" | \"user-data-dir\";\n\nexport interface ComputerUseTransport {\n\treadonly args: readonly string[];\n\treadonly command: string;\n\treadonly packageName?: string;\n\treadonly type: \"stdio\";\n}\n\nexport interface ComputerUseBrowserMode {\n\treadonly argsExtra?: readonly string[];\n\treadonly browser?: ComputerUseBrowser;\n\treadonly browserLimit?: \"chrome-edge-only\";\n\treadonly cookieMode: ComputerUseCookieMode;\n\treadonly description: string;\n\treadonly id:\n\t\t| \"existing-chrome-session\"\n\t\t| \"isolated-storage-state\"\n\t\t| \"managed-chrome-profile\"\n\t\t| \"managed-firefox-profile\";\n\treadonly profileDir?: string;\n}\n\nexport interface ComputerUsePolicy {\n\treadonly allowedDomainsRequired?: boolean;\n\treadonly allowedOriginsSecurityBoundary?: boolean;\n\treadonly blockMetadataIp: boolean;\n\treadonly blockPrivateNetwork: boolean;\n\treadonly credentialScopes: readonly ComputerUseCredentialScope[];\n\treadonly denyNoSandbox: boolean;\n\treadonly descriptorHashPinned: boolean;\n\treadonly evidenceLedger: boolean;\n\treadonly maxActions: number;\n\treadonly maxOutputBytes?: number;\n\treadonly noManualProfileShellScript?: boolean;\n\treadonly noUnrestrictedFileAccess: boolean;\n\treadonly originAllowlistRequiredForCredentialedMode: boolean;\n\treadonly outputGuard: boolean;\n\treadonly profileBrokerOnly?: boolean;\n\treadonly requiresExplicitPostconditions: boolean;\n\treadonly requiresRequestInterception: boolean;\n\treadonly sandboxRequired: boolean;\n\treadonly secretBrokerOnly: boolean;\n}\n\nexport interface ComputerUsePreset {\n\treadonly browserModes: readonly ComputerUseBrowserMode[];\n\treadonly defaultEnabled: boolean;\n\treadonly engine: ComputerUseEngine;\n\treadonly id: ComputerUsePresetId;\n\treadonly key: ComputerUsePresetKey;\n\treadonly label: string;\n\treadonly notes: readonly string[];\n\treadonly policy: ComputerUsePolicy;\n\treadonly risk: ComputerUseRisk;\n\treadonly sourceUrls: readonly string[];\n\treadonly supportedLaunchOptions: readonly ComputerUseLaunchOption[];\n\treadonly transport?: ComputerUseTransport;\n}\n\nconst PLAYWRIGHT_BROWSER_MODES: readonly ComputerUseBrowserMode[] = [\n\t{\n\t\tbrowser: \"chrome\",\n\t\tcookieMode: \"managed-profile\",\n\t\tdescription: \"OMK-managed Chrome profile with project-scoped persistent cookies and local storage.\",\n\t\tid: \"managed-chrome-profile\",\n\t\tprofileDir: \".omk/browser-profiles/chrome\",\n\t},\n\t{\n\t\tbrowser: \"firefox\",\n\t\tcookieMode: \"managed-profile\",\n\t\tdescription: \"OMK-managed Firefox profile; avoids attaching to the user's real Firefox profile.\",\n\t\tid: \"managed-firefox-profile\",\n\t\tprofileDir: \".omk/browser-profiles/firefox\",\n\t},\n\t{\n\t\targsExtra: [\"--isolated\", \"--storage-state\", \"<storageStatePath>\"],\n\t\tcookieMode: \"isolated-storage-state\",\n\t\tdescription: \"Loads cookies and local storage from an explicit Playwright storage-state file.\",\n\t\tid: \"isolated-storage-state\",\n\t},\n\t{\n\t\targsExtra: [\"--extension\"],\n\t\tbrowser: \"chrome\",\n\t\tbrowserLimit: \"chrome-edge-only\",\n\t\tcookieMode: \"existing-browser-session\",\n\t\tdescription: \"Connects to an existing Chrome or Edge session through the Playwright extension.\",\n\t\tid: \"existing-chrome-session\",\n\t},\n];\n\nconst PLAYWRIGHT_COMPUTER_USE_PRESET: ComputerUsePreset = {\n\tbrowserModes: PLAYWRIGHT_BROWSER_MODES,\n\tdefaultEnabled: true,\n\tengine: \"mcp\",\n\tid: \"playwright-computer-use\",\n\tkey: \"playwrightComputerUse\",\n\tlabel: \"Playwright Computer Use\",\n\tnotes: [\n\t\t\"Default computer-use preset built on Microsoft Playwright MCP accessibility-tree automation.\",\n\t\t\"Credentialed browser sessions must go through SecureComputerUseBroker preflight and request interception.\",\n\t\t\"Playwright allowed-origins are recorded as advisory only; OMK policy remains the security boundary.\",\n\t],\n\tpolicy: {\n\t\tallowedOriginsSecurityBoundary: false,\n\t\tblockMetadataIp: true,\n\t\tblockPrivateNetwork: true,\n\t\tcredentialScopes: [\"none\", \"session\", \"workspace\"],\n\t\tdenyNoSandbox: true,\n\t\tdescriptorHashPinned: true,\n\t\tevidenceLedger: true,\n\t\tmaxActions: 40,\n\t\tmaxOutputBytes: 25_000_000,\n\t\tnoUnrestrictedFileAccess: true,\n\t\toriginAllowlistRequiredForCredentialedMode: true,\n\t\toutputGuard: true,\n\t\trequiresExplicitPostconditions: true,\n\t\trequiresRequestInterception: true,\n\t\tsandboxRequired: true,\n\t\tsecretBrokerOnly: true,\n\t},\n\trisk: \"R3\",\n\tsourceUrls: [\"https://github.com/microsoft/playwright-mcp\"],\n\tsupportedLaunchOptions: [\"browser\", \"user-data-dir\", \"storage-state\", \"extension\", \"cdp-endpoint\"],\n\ttransport: {\n\t\targs: [\n\t\t\t\"-y\",\n\t\t\t\"@playwright/mcp@0.0.76\",\n\t\t\t\"--browser\",\n\t\t\t\"<browser>\",\n\t\t\t\"--user-data-dir\",\n\t\t\t\"<profileDir>\",\n\t\t\t\"--output-dir\",\n\t\t\t\"<outputDir>\",\n\t\t\t\"--output-mode\",\n\t\t\t\"file\",\n\t\t\t\"--block-service-workers\",\n\t\t\t\"--timeout-action\",\n\t\t\t\"5000\",\n\t\t\t\"--timeout-navigation\",\n\t\t\t\"60000\",\n\t\t],\n\t\tcommand: \"npx\",\n\t\tpackageName: \"@playwright/mcp\",\n\t\ttype: \"stdio\",\n\t},\n};\n\nconst BROWSER_USE_AGENT_PRESET: ComputerUsePreset = {\n\tbrowserModes: [],\n\tdefaultEnabled: false,\n\tengine: \"python-rust-sidecar\",\n\tid: \"browser-use-agent\",\n\tkey: \"browserUseAgent\",\n\tlabel: \"Browser Use Agent\",\n\tnotes: [\n\t\t\"Optional advanced runner for agentic browser tasks that need recovery loops or custom tools.\",\n\t\t\"Profiles and secrets must be injected through OMK brokers instead of manual shell profile scripts.\",\n\t],\n\tpolicy: {\n\t\tallowedDomainsRequired: true,\n\t\tblockMetadataIp: true,\n\t\tblockPrivateNetwork: true,\n\t\tcredentialScopes: [\"none\", \"session\", \"workspace\"],\n\t\tdenyNoSandbox: true,\n\t\tdescriptorHashPinned: true,\n\t\tevidenceLedger: true,\n\t\tmaxActions: 60,\n\t\tnoManualProfileShellScript: true,\n\t\tnoUnrestrictedFileAccess: true,\n\t\toriginAllowlistRequiredForCredentialedMode: true,\n\t\toutputGuard: true,\n\t\tprofileBrokerOnly: true,\n\t\trequiresExplicitPostconditions: true,\n\t\trequiresRequestInterception: true,\n\t\tsandboxRequired: true,\n\t\tsecretBrokerOnly: true,\n\t},\n\trisk: \"R3\",\n\tsourceUrls: [\"https://github.com/browser-use/browser-use\"],\n\tsupportedLaunchOptions: [],\n};\n\nexport const COMPUTER_USE_PRESETS: Record<ComputerUsePresetKey, ComputerUsePreset> = {\n\tplaywrightComputerUse: PLAYWRIGHT_COMPUTER_USE_PRESET,\n\tbrowserUseAgent: BROWSER_USE_AGENT_PRESET,\n} as const;\n\nexport function listComputerUsePresets(): ComputerUsePreset[] {\n\treturn Object.values(COMPUTER_USE_PRESETS).map((preset) => cloneComputerUsePreset(preset));\n}\n\nexport function getComputerUsePreset(id: string): ComputerUsePreset | undefined {\n\tconst preset = Object.values(COMPUTER_USE_PRESETS).find((candidate) => candidate.id === id);\n\treturn preset ? cloneComputerUsePreset(preset) : undefined;\n}\n\nexport function requiresCredentialedOriginAllowlist(cookieMode: ComputerUseCookieMode): boolean {\n\treturn cookieMode !== \"none\";\n}\n\nfunction cloneComputerUsePreset(preset: ComputerUsePreset): ComputerUsePreset {\n\treturn {\n\t\t...preset,\n\t\tbrowserModes: preset.browserModes.map((mode) => ({\n\t\t\t...mode,\n\t\t\targsExtra: mode.argsExtra ? [...mode.argsExtra] : undefined,\n\t\t})),\n\t\tnotes: [...preset.notes],\n\t\tpolicy: {\n\t\t\t...preset.policy,\n\t\t\tcredentialScopes: [...preset.policy.credentialScopes],\n\t\t},\n\t\tsourceUrls: [...preset.sourceUrls],\n\t\tsupportedLaunchOptions: [...preset.supportedLaunchOptions],\n\t\ttransport: preset.transport\n\t\t\t? {\n\t\t\t\t\t...preset.transport,\n\t\t\t\t\targs: [...preset.transport.args],\n\t\t\t\t}\n\t\t\t: undefined,\n\t};\n}\n"]}