@anweat/dsh-browser 0.2.1 → 0.2.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 (172) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.en.md +153 -0
  3. package/README.md +99 -568
  4. package/assets/skills/dsh-browser/SKILL.md +13 -11
  5. package/assets/skills/dsh-browser/references/files.md +36 -0
  6. package/assets/skills/dsh-browser/references/observe.md +2 -2
  7. package/assets/skills/dsh-browser/references/policy.md +32 -0
  8. package/cordis.patch.yml +10 -3
  9. package/lib/actions/errors.js +7 -2
  10. package/lib/actions/errors.js.map +1 -1
  11. package/lib/actions/index-view.d.ts +4 -1
  12. package/lib/actions/index-view.js +16 -3
  13. package/lib/actions/index-view.js.map +1 -1
  14. package/lib/actions/inspect.js +15 -0
  15. package/lib/actions/inspect.js.map +1 -1
  16. package/lib/actions/observe.js +1 -1
  17. package/lib/actions/observe.js.map +1 -1
  18. package/lib/actions/opencli.d.ts +1 -1
  19. package/lib/actions/opencli.js +4 -4
  20. package/lib/actions/opencli.js.map +1 -1
  21. package/lib/actions/policy.d.ts +15 -0
  22. package/lib/actions/policy.js +131 -0
  23. package/lib/actions/policy.js.map +1 -0
  24. package/lib/actions/registry.js +6 -5
  25. package/lib/actions/registry.js.map +1 -1
  26. package/lib/actions/runtime.js +2 -2
  27. package/lib/actions/runtime.js.map +1 -1
  28. package/lib/actions/target.js +35 -3
  29. package/lib/actions/target.js.map +1 -1
  30. package/lib/actions/types.d.ts +1 -1
  31. package/lib/actions/types.js.map +1 -1
  32. package/lib/approval-policy.d.ts +10 -1
  33. package/lib/approval-policy.js +42 -1
  34. package/lib/approval-policy.js.map +1 -1
  35. package/lib/auth-profiles.d.ts +4 -1
  36. package/lib/auth-profiles.js +3 -0
  37. package/lib/auth-profiles.js.map +1 -1
  38. package/lib/automation-assets-rpc.js +60 -4
  39. package/lib/automation-assets-rpc.js.map +1 -1
  40. package/lib/browser-service.d.ts +165 -4
  41. package/lib/browser-service.js +505 -55
  42. package/lib/browser-service.js.map +1 -1
  43. package/lib/client/SettingsCard.d.ts +10 -8
  44. package/lib/client/SettingsCard.js +12 -137
  45. package/lib/client/SettingsCard.js.map +1 -1
  46. package/lib/client/auth-profiles-form.d.ts +23 -0
  47. package/lib/client/auth-profiles-form.js +64 -0
  48. package/lib/client/auth-profiles-form.js.map +1 -0
  49. package/lib/client/card-frame.d.ts +22 -0
  50. package/lib/client/card-frame.js +61 -0
  51. package/lib/client/card-frame.js.map +1 -0
  52. package/lib/client/field-rows.d.ts +59 -0
  53. package/lib/client/field-rows.js +63 -0
  54. package/lib/client/field-rows.js.map +1 -0
  55. package/lib/client/field-rules.d.ts +17 -0
  56. package/lib/client/field-rules.js +68 -0
  57. package/lib/client/field-rules.js.map +1 -0
  58. package/lib/client/form.d.ts +108 -7
  59. package/lib/client/form.js +255 -11
  60. package/lib/client/form.js.map +1 -1
  61. package/lib/client/group-access.d.ts +14 -0
  62. package/lib/client/group-access.js +97 -0
  63. package/lib/client/group-access.js.map +1 -0
  64. package/lib/client/group-advanced.d.ts +11 -0
  65. package/lib/client/group-advanced.js +32 -0
  66. package/lib/client/group-advanced.js.map +1 -0
  67. package/lib/client/group-assets.d.ts +13 -0
  68. package/lib/client/group-assets.js +50 -0
  69. package/lib/client/group-assets.js.map +1 -0
  70. package/lib/client/group-browser.d.ts +9 -0
  71. package/lib/client/group-browser.js +27 -0
  72. package/lib/client/group-browser.js.map +1 -0
  73. package/lib/client/group-common.d.ts +10 -0
  74. package/lib/client/group-common.js +21 -0
  75. package/lib/client/group-common.js.map +1 -0
  76. package/lib/client/group-context.d.ts +20 -0
  77. package/lib/client/group-context.js +76 -0
  78. package/lib/client/group-context.js.map +1 -0
  79. package/lib/client/group-downloads.d.ts +10 -0
  80. package/lib/client/group-downloads.js +33 -0
  81. package/lib/client/group-downloads.js.map +1 -0
  82. package/lib/client/group-limits.d.ts +9 -0
  83. package/lib/client/group-limits.js +57 -0
  84. package/lib/client/group-limits.js.map +1 -0
  85. package/lib/client/group-prompts.d.ts +13 -0
  86. package/lib/client/group-prompts.js +136 -0
  87. package/lib/client/group-prompts.js.map +1 -0
  88. package/lib/client/index.d.ts +21 -1
  89. package/lib/client/index.js +10 -4
  90. package/lib/client/index.js.map +1 -1
  91. package/lib/client/locales-policy.d.ts +83 -0
  92. package/lib/client/locales-policy.js +46 -0
  93. package/lib/client/locales-policy.js.map +1 -0
  94. package/lib/client/locales-prompts.d.ts +57 -0
  95. package/lib/client/locales-prompts.js +41 -0
  96. package/lib/client/locales-prompts.js.map +1 -0
  97. package/lib/client/locales-ui.d.ts +223 -0
  98. package/lib/client/locales-ui.js +157 -0
  99. package/lib/client/locales-ui.js.map +1 -0
  100. package/lib/client/locales.d.ts +359 -67
  101. package/lib/client/locales.js +68 -22
  102. package/lib/client/locales.js.map +1 -1
  103. package/lib/client/policy-fields.d.ts +31 -0
  104. package/lib/client/policy-fields.js +66 -0
  105. package/lib/client/policy-fields.js.map +1 -0
  106. package/lib/client/policy-status-client.d.ts +91 -0
  107. package/lib/client/policy-status-client.js +64 -0
  108. package/lib/client/policy-status-client.js.map +1 -0
  109. package/lib/client/prompts-form.d.ts +33 -0
  110. package/lib/client/prompts-form.js +87 -0
  111. package/lib/client/prompts-form.js.map +1 -1
  112. package/lib/client/prompts-status-client.d.ts +21 -1
  113. package/lib/client/prompts-status-client.js +36 -4
  114. package/lib/client/prompts-status-client.js.map +1 -1
  115. package/lib/client/properties-form.d.ts +90 -0
  116. package/lib/client/properties-form.js +187 -0
  117. package/lib/client/properties-form.js.map +1 -0
  118. package/lib/client/property-docs.d.ts +18 -0
  119. package/lib/client/property-docs.js +78 -0
  120. package/lib/client/property-docs.js.map +1 -0
  121. package/lib/client/size-units.d.ts +12 -0
  122. package/lib/client/size-units.js +29 -0
  123. package/lib/client/size-units.js.map +1 -0
  124. package/lib/client/styles.d.ts +47 -31
  125. package/lib/client/styles.js +59 -20
  126. package/lib/client/styles.js.map +1 -1
  127. package/lib/client/ui-kit.d.ts +173 -0
  128. package/lib/client/ui-kit.js +112 -0
  129. package/lib/client/ui-kit.js.map +1 -0
  130. package/lib/client.js +5291 -834
  131. package/lib/client.js.map +1 -1
  132. package/lib/config-rules.d.ts +40 -0
  133. package/lib/config-rules.js +103 -0
  134. package/lib/config-rules.js.map +1 -0
  135. package/lib/config.d.ts +64 -2
  136. package/lib/config.js +106 -0
  137. package/lib/config.js.map +1 -1
  138. package/lib/context-options.d.ts +85 -0
  139. package/lib/context-options.js +206 -0
  140. package/lib/context-options.js.map +1 -0
  141. package/lib/deps.d.ts +42 -5
  142. package/lib/deps.js +219 -9
  143. package/lib/deps.js.map +1 -1
  144. package/lib/downloads.d.ts +79 -0
  145. package/lib/downloads.js +189 -0
  146. package/lib/downloads.js.map +1 -0
  147. package/lib/index.d.ts +3 -2
  148. package/lib/index.js +7 -3
  149. package/lib/index.js.map +1 -1
  150. package/lib/policy-keys.d.ts +39 -0
  151. package/lib/policy-keys.js +21 -0
  152. package/lib/policy-keys.js.map +1 -1
  153. package/lib/policy-overlay.d.ts +189 -0
  154. package/lib/policy-overlay.js +649 -0
  155. package/lib/policy-overlay.js.map +1 -0
  156. package/lib/prompts-yaml.d.ts +11 -0
  157. package/lib/prompts-yaml.js +121 -0
  158. package/lib/prompts-yaml.js.map +1 -0
  159. package/lib/prompts.d.ts +2 -0
  160. package/lib/prompts.js +7 -3
  161. package/lib/prompts.js.map +1 -1
  162. package/lib/system-browser.d.ts +61 -0
  163. package/lib/system-browser.js +109 -0
  164. package/lib/system-browser.js.map +1 -0
  165. package/lib/tools.js +9 -1
  166. package/lib/tools.js.map +1 -1
  167. package/lib/usage-policy.d.ts +3 -1
  168. package/lib/usage-policy.js +2 -0
  169. package/lib/usage-policy.js.map +1 -1
  170. package/package.json +47 -40
  171. package/scripts/check-docs-links.mjs +115 -0
  172. package/scripts/dump-prompts.mjs +13 -3
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Policy actions: let the agent read and tighten (or, with approval, loosen) the restriction-type settings.
3
+ *
4
+ * `inspect.policy` reads the effective policy and the audit trail. The `runtime.*` actions write the policy
5
+ * overlay (see ../policy-overlay.ts): every change needs a `reason`, is validated strictly, is applied at once, and
6
+ * is audited. The approval rule is by direction, not by action: tightening is free, loosening follows the
7
+ * automationMode (approval-policy.ts), and a loosening that went through carries `risk` in its result.
8
+ * @module dsh-browser/actions/policy
9
+ */
10
+ import { USAGE_POLICY_BOUNDS } from "../policy-keys.js";
11
+ const REASON = { type: 'string', required: true, description: 'Why the policy changes (3-300 characters). Recorded in the audit trail.' };
12
+ const EXPECTED = { type: 'number', description: 'Revision from inspect.policy; the change is refused if the policy changed since.' };
13
+ const USAGE_PARAMS = Object.fromEntries(Object.entries(USAGE_POLICY_BOUNDS).map(([key, [min, max]]) => [key, { type: 'number', description: `Integer ${min}-${max}.` }]));
14
+ export const POLICY_ACTION_NAMES = ['runtime.set_auth_profile', 'runtime.remove_auth_profile', 'runtime.set_usage_policy', 'runtime.reset_policy'];
15
+ /** The overlay change an action call asks for (undefined for anything else). Shared by the executor and the approval hook. */
16
+ export function policyChangeFor(action, rawArgs) {
17
+ const args = (rawArgs && typeof rawArgs === 'object' ? rawArgs : {});
18
+ switch (action) {
19
+ case 'runtime.set_auth_profile':
20
+ return { kind: 'setAuthProfile', id: args.id, allowedDomains: args.allowedDomains, persistState: args.persistState, storageStatePath: args.storageStatePath };
21
+ case 'runtime.remove_auth_profile':
22
+ return { kind: 'removeAuthProfile', id: args.id };
23
+ case 'runtime.set_usage_policy': {
24
+ const values = {};
25
+ for (const key of Object.keys(USAGE_POLICY_BOUNDS))
26
+ if (args[key] !== undefined)
27
+ values[key] = args[key];
28
+ return { kind: 'setUsagePolicy', values };
29
+ }
30
+ case 'runtime.reset_policy':
31
+ return { kind: 'reset', scope: args.scope, ...typeof args.id === 'string' ? { id: args.id } : {} };
32
+ default:
33
+ return undefined;
34
+ }
35
+ }
36
+ // What the note says depends on who let the change through: in unrestricted nobody was asked, otherwise the user approved it.
37
+ const RISK_NOTE_UNASKED = 'This change widened what the browser may do. With automationMode=unrestricted nothing asks the user before an agent loosens a restriction; the user can review it in the settings card (policy overlay) and roll it back there.';
38
+ const RISK_NOTE_APPROVED = 'This change widened what the browser may do and was approved for this call. The user can review it in the settings card (policy overlay) and roll it back there.';
39
+ function execute(action) {
40
+ return async (args, ctx) => {
41
+ const change = policyChangeFor(action, args);
42
+ const result = await ctx.service.changePolicy(change, {
43
+ source: 'agent',
44
+ session: ctx.sessionId,
45
+ action,
46
+ reason: args.reason,
47
+ ...typeof args.expectedRevision === 'number' ? { expectedRevision: args.expectedRevision } : {},
48
+ });
49
+ const loosened = result.direction === 'loosen';
50
+ return {
51
+ revision: result.revision,
52
+ direction: result.direction,
53
+ changes: result.diff.lines,
54
+ before: result.before,
55
+ after: result.after,
56
+ ...result.sessionsClosed > 0 ? { sessionsClosed: result.sessionsClosed, note: 'Sessions whose login state this change took away were closed; their next target.open starts fresh.' } : {},
57
+ // Present on every loosening, whoever approved it.
58
+ ...loosened ? { risk: {
59
+ level: 'elevated',
60
+ loosened: result.diff.lines,
61
+ approval: ctx.config.automationMode === 'unrestricted' ? 'none (automationMode=unrestricted does not ask)' : 'approved by the user for this call',
62
+ note: ctx.config.automationMode === 'unrestricted' ? RISK_NOTE_UNASKED : RISK_NOTE_APPROVED,
63
+ } } : {},
64
+ };
65
+ };
66
+ }
67
+ export const POLICY_ACTIONS = [
68
+ {
69
+ name: 'inspect.policy',
70
+ group: 'inspect',
71
+ summary: 'Read the effective auth profiles and usage limits, which values the policy overlay changed, and the newest audit entries.',
72
+ notes: 'The overlay is a managed layer over the configured baseline: it can only hold auth profiles and usage limits, and the user can clear it from the settings card. revision is what expectedRevision of the runtime.* policy actions refers to. Domain scopes show as stored (lower-case punycode).',
73
+ params: { auditLimit: { type: 'number', description: 'Newest 1-50 audit entries. Default 10.' } },
74
+ approval: 'none', readOnly: true, mutating: false, concurrencySafe: true, timeoutMs: 10_000,
75
+ examples: [{ args: {} }],
76
+ async execute(args, ctx) {
77
+ return ctx.service.policyReport({ ...typeof args.auditLimit === 'number' ? { auditLimit: args.auditLimit } : {}, viewerSession: ctx.sessionId });
78
+ },
79
+ },
80
+ {
81
+ name: 'runtime.set_auth_profile',
82
+ group: 'runtime',
83
+ summary: 'Create an auth profile or change its allowedDomains, persistState or storageStatePath. Narrowing is free; widening needs approval.',
84
+ notes: 'allowedDomains replaces the whole list: registrable domains or *.domain only (no TLDs, public suffixes, IPs, ports or paths; private hosts only with allowPrivateHosts). A new profile needs allowedDomains and a state file inside the auth directory (default <authDir>/<id>.json, which must exist unless persistState is true). Widening (more domains, a new profile, persistState on, another state file) is denied in read-only, asks in standard and autonomous, and runs unasked in unrestricted with `risk` in the result. Open sessions that lose access are closed.',
85
+ params: {
86
+ id: { type: 'string', required: true, description: 'Profile id: letters, digits, _ and -, at most 40.' },
87
+ allowedDomains: { type: 'array', items: { type: 'string' }, description: 'Complete list, at most 50 entries, e.g. ["example.com","*.example.org"].' },
88
+ persistState: { type: 'boolean', description: 'Write the refreshed login state back to the state file when a context closes. Widening.' },
89
+ storageStatePath: { type: 'string', description: 'Absolute .json path inside the auth directory (inspect.policy shows authDir).' },
90
+ reason: REASON, expectedRevision: EXPECTED,
91
+ },
92
+ approval: 'policy', readOnly: true, mutating: true, concurrencySafe: false, timeoutMs: 15_000,
93
+ errors: ['POLICY_DENIED'],
94
+ examples: [{ args: { id: 'forum', allowedDomains: ['example.com'], reason: 'Task needs the forum login' } }],
95
+ execute: execute('runtime.set_auth_profile'),
96
+ },
97
+ {
98
+ name: 'runtime.remove_auth_profile',
99
+ group: 'runtime',
100
+ summary: 'Remove an auth profile (always allowed; open sessions using it are closed).',
101
+ params: { id: { type: 'string', required: true, description: 'Profile id from inspect.policy.' }, reason: REASON, expectedRevision: EXPECTED },
102
+ approval: 'policy', readOnly: true, mutating: true, concurrencySafe: false, timeoutMs: 15_000,
103
+ examples: [{ args: { id: 'forum', reason: 'No longer needed' } }],
104
+ execute: execute('runtime.remove_auth_profile'),
105
+ },
106
+ {
107
+ name: 'runtime.set_usage_policy',
108
+ group: 'runtime',
109
+ summary: 'Change usage limits (minDelayMs, maxConcurrency, burst, ...). Stricter values are free; looser ones need approval.',
110
+ notes: 'Same ranges as the usagePolicy configuration; none can be set beyond them. Stricter means a longer delay or backoff, lower concurrency, burst, pages, depth or retries. Any looser value makes the change a loosening: denied in read-only, asks in standard and autonomous, unasked in unrestricted with `risk` in the result.',
111
+ params: { ...USAGE_PARAMS, reason: REASON, expectedRevision: EXPECTED },
112
+ approval: 'policy', readOnly: true, mutating: true, concurrencySafe: false, timeoutMs: 15_000,
113
+ examples: [{ args: { minDelayMs: 2000, maxConcurrency: 1, reason: 'The site rate-limits us' } }],
114
+ execute: execute('runtime.set_usage_policy'),
115
+ },
116
+ {
117
+ name: 'runtime.reset_policy',
118
+ group: 'runtime',
119
+ summary: 'Drop overlay changes and return to the configured baseline: all of them, only the usage limits, or one profile.',
120
+ notes: 'Going back to the baseline can itself be a loosening (the overlay may have narrowed it); it is judged the same way.',
121
+ params: {
122
+ scope: { type: 'string', required: true, enum: ['all', 'usagePolicy', 'authProfile'], description: 'What to reset.' },
123
+ id: { type: 'string', description: 'The profile, with scope=authProfile.' },
124
+ reason: REASON, expectedRevision: EXPECTED,
125
+ },
126
+ approval: 'policy', readOnly: true, mutating: true, concurrencySafe: false, timeoutMs: 15_000,
127
+ examples: [{ args: { scope: 'all', reason: 'Back to the configured policy' } }],
128
+ execute: execute('runtime.reset_policy'),
129
+ },
130
+ ];
131
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/actions/policy.ts"],"names":[],"mappings":"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"}
@@ -14,22 +14,23 @@ import { SCRIPT_ACTIONS } from "./script.js";
14
14
  import { AUTOMATION_ACTIONS } from "./automation.js";
15
15
  import { CRAWL_ACTIONS } from "./crawl.js";
16
16
  import { OPENCLI_ACTIONS } from "./opencli.js";
17
+ import { POLICY_ACTIONS } from "./policy.js";
17
18
  import { validateArgs } from "./schema.js";
18
19
  export const ACTIONS = [
19
20
  ...RUNTIME_ACTIONS, ...TARGET_ACTIONS, ...OBSERVE_ACTIONS, ...ACT_ACTIONS, ...INSPECT_ACTIONS,
20
- ...SCRIPT_ACTIONS, ...AUTOMATION_ACTIONS, ...CRAWL_ACTIONS, ...OPENCLI_ACTIONS,
21
+ ...SCRIPT_ACTIONS, ...AUTOMATION_ACTIONS, ...CRAWL_ACTIONS, ...OPENCLI_ACTIONS, ...POLICY_ACTIONS,
21
22
  ];
22
23
  const BY_NAME = new Map(ACTIONS.map(action => [action.name, action]));
23
24
  export const GROUP_SUMMARIES = {
24
- runtime: 'runtime status and Chromium install',
25
- target: 'open / close / list this session\'s page',
25
+ runtime: 'runtime status, Chromium install, auth-profile and usage-limit policy',
26
+ target: 'open / close / list this session\'s page, download a file',
26
27
  observe: 'read page text, screenshots',
27
28
  act: 'click, fill, type, clear, press, select, check, hover, scroll, upload, wait',
28
- inspect: 'captured console and failed-request records',
29
+ inspect: 'captured console and failed-request records, downloads, effective policy',
29
30
  script: 'page JavaScript, built-in scripts, userscripts',
30
31
  automation: 'search/run reusable assets, develop drafts, inline recipes',
31
32
  crawl: 'bounded multi-page crawl',
32
- opencli: 'bundled OpenCLI site adapters',
33
+ opencli: 'OpenCLI site adapters',
33
34
  };
34
35
  /**
35
36
  * The flags that apply to THIS call. An action with sub-actions takes the flags of the operation the
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/actions/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/actions/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAuD,MAAM,YAAY,CAAA;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAA;AAEjE,MAAM,CAAC,MAAM,OAAO,GAAyB;IAC3C,GAAG,eAAe,EAAE,GAAG,cAAc,EAAE,GAAG,eAAe,EAAE,GAAG,WAAW,EAAE,GAAG,eAAe;IAC7F,GAAG,cAAc,EAAE,GAAG,kBAAkB,EAAE,GAAG,aAAa,EAAE,GAAG,eAAe,EAAE,GAAG,cAAc;CAClG,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;AAErE,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D,OAAO,EAAE,uEAAuE;IAChF,MAAM,EAAE,2DAA2D;IACnE,OAAO,EAAE,6BAA6B;IACtC,GAAG,EAAE,6EAA6E;IAClF,OAAO,EAAE,0EAA0E;IACnF,MAAM,EAAE,gDAAgD;IACxD,UAAU,EAAE,4DAA4D;IACxE,KAAK,EAAE,0BAA0B;IACjC,OAAO,EAAE,uBAAuB;CACjC,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,MAAiB,EAAE,IAAc;IACzD,MAAM,IAAI,GAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAA;IAC5H,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAA;IAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1D,MAAM,QAAQ,GAAI,IAAgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3D,MAAM,GAAG,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChH,OAAO,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACxD,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAA;AACpH,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAC/B,OAAO,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACxG,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IACjC,OAAO,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9F,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,OAAgB;IACpE,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;AACzD,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAA;IAChE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,EAAE,CAAA;AACzE,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;AAEnF,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAA;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,cAAc,CAAA"}
@@ -4,7 +4,7 @@ export const RUNTIME_ACTIONS = [
4
4
  {
5
5
  name: 'runtime.status',
6
6
  group: 'runtime',
7
- summary: 'Report runtime status: install state, automationMode, approval policies, usage buffer, this session\'s active page.',
7
+ summary: 'Report runtime status: which browser launches (browser.ready, browser.source, installAdvice), OpenCLI, automationMode, approval policies, usage buffer, this session\'s active page.',
8
8
  notes: 'A page opened by another session is not reported.',
9
9
  params: {},
10
10
  approval: 'none', readOnly: true, mutating: false, concurrencySafe: true, timeoutMs: 15_000,
@@ -20,7 +20,7 @@ export const RUNTIME_ACTIONS = [
20
20
  {
21
21
  name: 'runtime.install',
22
22
  group: 'runtime',
23
- summary: 'Install the bundled Playwright Chromium (large download). Run once if runtime.status reports chromium not installed.',
23
+ summary: 'Download Playwright Chromium (large). Only needed when runtime.status browser.ready is false: an installed Google Chrome or Edge is used automatically.',
24
24
  params: {},
25
25
  approval: 'install', readOnly: false, mutating: false, concurrencySafe: false, timeoutMs: 600_000,
26
26
  examples: [{ args: {} }],
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/actions/runtime.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAItG,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,qHAAqH;QAC9H,KAAK,EAAE,mDAAmD;QAC1D,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;QAC3F,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACtB,mHAAmH;YACnH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YACzD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACjE,oHAAoH;YACpH,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAA;QACrL,CAAC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,sHAAsH;QAC/H,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO;QACjG,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACtB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAA;YAClD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAA;QAC7H,CAAC;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/actions/runtime.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAItG,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC1C;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,sLAAsL;QAC/L,KAAK,EAAE,mDAAmD;QAC1D,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;QAC3F,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACtB,mHAAmH;YACnH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YACzD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACjE,oHAAoH;YACpH,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAA;QACrL,CAAC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,yJAAyJ;QAClK,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO;QACjG,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;YACtB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAA;YAClD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAA;QAC7H,CAAC;KACF;CACF,CAAA"}
@@ -4,22 +4,54 @@ export const TARGET_ACTIONS = [
4
4
  name: 'target.open',
5
5
  group: 'target',
6
6
  summary: 'Open a URL in this session\'s own page; returns title, readable text, and a full-page screenshot path.',
7
- notes: 'Each session gets its own page and context; sessions never see each other\'s page, cookies, or captured traffic. capture records console messages and failed/4xx/5xx requests in memory (no bodies or headers), capped, and resets on the next open.',
7
+ notes: 'Each session gets its own page and context; sessions never see each other\'s page, cookies, or captured traffic. capture records console messages and failed/4xx/5xx requests in memory (no bodies or headers), capped, and resets on the next open. viewport/userAgent/locale/timezoneId/proxyServer are context creation options: they stay with the session\'s context until target.close, an option you leave out keeps its current value, and a different value closes the old context and its pages (the result says contextRebuilt) before opening in a new one. proxyServer and userAgent change the network egress and fingerprint, so they ask for approval; proxy accounts are not supported. The result always lists the full parameter set in effect (contextOptions) and where each value comes from (contextSources).',
8
8
  params: {
9
9
  url: { type: 'string', required: true, description: 'The HTTP(S) URL to open.' },
10
10
  waitMs: { type: 'number', description: 'Extra settle time in ms after load.' },
11
11
  authProfile: { type: 'string', description: 'Named, domain-scoped auth profile from dsh-browser config.' },
12
12
  rulePack: { type: 'string', description: 'Named, domain-scoped enhancement rule pack.' },
13
13
  capture: { type: 'array', items: { type: 'string', enum: ['console', 'network'] }, description: 'In-memory capture channels for this navigation.' },
14
+ viewport: { type: 'object', additionalProperties: false, description: 'Viewport size in CSS pixels (width 200-7680, height 200-4320).', properties: { width: { type: 'number', required: true }, height: { type: 'number', required: true } } },
15
+ userAgent: { type: 'string', description: 'User agent for this session\'s context. Asks for approval.' },
16
+ locale: { type: 'string', description: 'BCP 47 locale, e.g. en-US or zh-CN.' },
17
+ timezoneId: { type: 'string', description: 'IANA time zone, e.g. Asia/Shanghai.' },
18
+ proxyServer: { type: 'string', description: 'Proxy such as http://host:port or socks5://host:port; no account or password. Asks for approval.' },
14
19
  },
15
- approval: 'none', readOnly: true, mutating: false, concurrencySafe: false, timeoutMs: 60_000,
16
- examples: [{ args: { url: 'https://example.com/' } }, { args: { url: 'https://example.com/', capture: ['console', 'network'] }, note: 'enables inspect.console / inspect.requests' }],
20
+ approval: 'context-options', readOnly: true, mutating: false, concurrencySafe: false, timeoutMs: 60_000,
21
+ examples: [{ args: { url: 'https://example.com/' } }, { args: { url: 'https://example.com/', capture: ['console', 'network'] }, note: 'enables inspect.console / inspect.requests' }, { args: { url: 'https://example.com/', viewport: { width: 390, height: 844 }, locale: 'en-US' }, note: 'context options; a different value rebuilds the context' }],
17
22
  async execute(args, ctx) {
18
23
  return ctx.service.open(args.url, {
19
24
  ...args.waitMs !== undefined ? { waitMs: args.waitMs } : {},
20
25
  ...args.authProfile ? { authProfile: args.authProfile } : {},
21
26
  ...args.rulePack ? { rulePack: args.rulePack } : {},
22
27
  ...args.capture ? { capture: args.capture } : {},
28
+ ...args.viewport ? { viewport: args.viewport } : {},
29
+ ...args.userAgent !== undefined ? { userAgent: args.userAgent } : {},
30
+ ...args.locale !== undefined ? { locale: args.locale } : {},
31
+ ...args.timezoneId !== undefined ? { timezoneId: args.timezoneId } : {},
32
+ ...args.proxyServer !== undefined ? { proxyServer: args.proxyServer } : {},
33
+ session: ctx.session,
34
+ });
35
+ },
36
+ },
37
+ {
38
+ name: 'target.download',
39
+ group: 'target',
40
+ summary: 'Save a URL\'s file into the download directory with this session\'s login state; returns the absolute path, size and sha256.',
41
+ notes: 'Fetches with the session\'s cookies (a request first, then a navigation that captures the attachment download). Fails instead of returning an empty file. The file name comes from the server unless filename is given (a plain name only); a taken name gets a -1, -2 suffix, nothing is overwritten. Capped by downloadMaxBytes (default 100 MiB). The session\'s page is not navigated. Downloads started by clicks or navigation are saved the same way and listed by inspect.downloads. PDFs are not parsed: download, then use the path.',
42
+ params: {
43
+ url: { type: 'string', required: true, description: 'The HTTP(S) URL of the file.' },
44
+ filename: { type: 'string', description: 'Plain file name to save as (no path); default is the server\'s suggestion.' },
45
+ timeoutMs: { type: 'number', description: 'Overall budget 1000-150000 ms. Default 60000.' },
46
+ },
47
+ approval: 'download', readOnly: false, mutating: true, concurrencySafe: false, timeoutMs: 170_000,
48
+ errors: ['POLICY_DENIED (url outside the auth profile domains)'],
49
+ examples: [{ args: { url: 'https://example.com/report.pdf' } }, { args: { url: 'https://example.com/export?id=7', filename: 'export-7.csv' } }],
50
+ async execute(args, ctx) {
51
+ return ctx.service.download(args.url, {
52
+ ...args.filename !== undefined ? { filename: args.filename } : {},
53
+ ...args.timeoutMs !== undefined ? { timeoutMs: args.timeoutMs } : {},
54
+ signal: ctx.signal,
23
55
  session: ctx.session,
24
56
  });
25
57
  },
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/actions/target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/actions/target.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ export type ParamSchema = Record<string, ParamNode>;
39
39
  * How an action is approved. The classes mirror the pre-registry rules in
40
40
  * `approval-policy.ts`; the policy interprets them per automationMode.
41
41
  */
42
- export type ApprovalClass = 'none' | 'interaction' | 'install' | 'upload' | 'evaluate' | 'userscript' | 'opencli' | 'recipe' | 'asset-run' | 'asset-develop';
42
+ export type ApprovalClass = 'none' | 'interaction' | 'install' | 'upload' | 'download' | 'context-options' | 'policy' | 'evaluate' | 'userscript' | 'opencli' | 'recipe' | 'asset-run' | 'asset-develop';
43
43
  export interface ActionExample {
44
44
  args: Record<string, unknown>;
45
45
  note?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/actions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAU,CAAA;AA0IpI,wFAAwF;AACxF,MAAM,OAAO,cAAe,SAAQ,KAAK;IACD;IAAtC,YAAY,OAAe,EAAW,IAAa;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QADsB,SAAI,GAAJ,IAAI,CAAS;QAEjD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACT;IAAtC,YAAY,OAAe,EAAW,IAAa;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QADsB,SAAI,GAAJ,IAAI,CAAS;QAEjD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,eAAe;IAC3E,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc;IAC3F,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe;IACrD,iGAAiG;IACjG,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB;IACxD,kFAAkF;IAClF,oBAAoB;CACZ,CAAA;AA4BV,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAyB,CAAA;AAErD,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAmB,KAAQ,EAAE,OAAsB;IAC5E,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACtF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/actions/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAU,CAAA;AA6IpI,wFAAwF;AACxF,MAAM,OAAO,cAAe,SAAQ,KAAK;IACD;IAAtC,YAAY,OAAe,EAAW,IAAa;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QADsB,SAAI,GAAJ,IAAI,CAAS;QAEjD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACT;IAAtC,YAAY,OAAe,EAAW,IAAa;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QADsB,SAAI,GAAJ,IAAI,CAAS;QAEjD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,eAAe;IAC3E,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc;IAC3F,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe;IACrD,iGAAiG;IACjG,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB;IACxD,kFAAkF;IAClF,oBAAoB;CACZ,CAAA;AA4BV,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAyB,CAAA;AAErD,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAmB,KAAQ,EAAE,OAAsB;IAC5E,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACtF,CAAC"}
@@ -11,6 +11,15 @@
11
11
  */
12
12
  import { type AnyRecipeStep } from './automation.ts';
13
13
  import { type AutomationMode } from './freedom.ts';
14
+ /** What `BrowserService.previewPolicyChange` reports for a policy action, so the approval prompt can show the diff. */
15
+ export type PolicyPreview = {
16
+ ok: true;
17
+ direction: 'tighten' | 'loosen' | 'none';
18
+ lines: string[];
19
+ } | {
20
+ ok: false;
21
+ message: string;
22
+ };
14
23
  export type BrowserPolicyDecision = {
15
24
  kind: 'allow';
16
25
  } | {
@@ -47,7 +56,7 @@ export declare function recipeStepsDecision(name: string, steps: readonly AnyRec
47
56
  * @param draftSteps - for `automation.develop` test of a recipe, the steps the draft would replay.
48
57
  * @param asset - for the same two, the asset itself, so the approval prompt names it instead of showing a bare id.
49
58
  */
50
- export declare function browserPolicyDecision(name: string, args: unknown, mode?: AutomationMode, assetKind?: 'recipe' | 'userscript', draftSteps?: readonly AnyRecipeStep[], asset?: AssetRef): BrowserPolicyDecision;
59
+ export declare function browserPolicyDecision(name: string, args: unknown, mode?: AutomationMode, assetKind?: 'recipe' | 'userscript', draftSteps?: readonly AnyRecipeStep[], asset?: AssetRef, policyPreview?: PolicyPreview): BrowserPolicyDecision;
51
60
  /**
52
61
  * The decision the Host hook returns for a resolved browser action, in this order:
53
62
  *
@@ -78,7 +78,7 @@ export function recipeStepsDecision(name, steps, mode) {
78
78
  * @param draftSteps - for `automation.develop` test of a recipe, the steps the draft would replay.
79
79
  * @param asset - for the same two, the asset itself, so the approval prompt names it instead of showing a bare id.
80
80
  */
81
- export function browserPolicyDecision(name, args, mode = 'standard', assetKind, draftSteps, asset) {
81
+ export function browserPolicyDecision(name, args, mode = 'standard', assetKind, draftSteps, asset, policyPreview) {
82
82
  const action = findAction(name);
83
83
  if (!action && (name.startsWith('browser_') || /^[a-z]+\.[a-z_]+$/.test(name))) {
84
84
  return { kind: 'deny', reason: `Unknown browser action ${name}; browser tools are reached through browser_index / browser_call` };
@@ -113,6 +113,47 @@ export function browserPolicyDecision(name, args, mode = 'standard', assetKind,
113
113
  return { kind: 'allow' };
114
114
  return { kind: 'ask', reason: `${name} ${targetLabel(args)}: Read local files and expose them to the current website upload control: ` + files.slice(0, 5).join(', ') };
115
115
  }
116
+ case 'policy': {
117
+ // Judged by direction, not by action: tightening and no-ops are free in every mode. A change the preview
118
+ // could not plan is let through: the executor refuses it with the reason and changes nothing.
119
+ if (policyPreview && !policyPreview.ok)
120
+ return { kind: 'allow' };
121
+ if (policyPreview && policyPreview.direction !== 'loosen')
122
+ return { kind: 'allow' };
123
+ const diff = policyPreview?.ok ? policyPreview.lines.join('; ') : 'a change that may widen what the browser can do';
124
+ if (mode === 'read-only')
125
+ return { kind: 'deny', reason: `Loosening a restriction is disabled by automationMode=${mode}: ${clip(diff, 300)}` };
126
+ if (mode === 'unrestricted')
127
+ return { kind: 'allow' };
128
+ return { kind: 'ask', reason: `${name}: Loosen a browser restriction: ${clip(diff, 500)}` };
129
+ }
130
+ case 'download': {
131
+ const url = args?.url;
132
+ if (typeof url !== 'string' || !url.trim())
133
+ return { kind: 'deny', reason: `${name} requires a URL` };
134
+ if (mode === 'read-only')
135
+ return { kind: 'deny', reason: `File download is disabled by automationMode=${mode}` };
136
+ if (mode === 'unrestricted')
137
+ return { kind: 'allow' };
138
+ const filename = args?.filename;
139
+ return { kind: 'ask', reason: `${name} ${clip(url, 160)}: Fetch this URL with the session's login state and save it to the local download directory` + (typeof filename === 'string' ? ` as ${clip(filename, 80)}` : '') };
140
+ }
141
+ case 'context-options': {
142
+ // Viewport, locale and time zone only change what the page sees of the window; a proxy changes where the traffic
143
+ // goes and a user agent changes how the browser presents itself, so only those two are approved.
144
+ const input = (args ?? {});
145
+ const changed = [
146
+ ...typeof input.proxyServer === 'string' ? [`proxyServer=${clip(input.proxyServer, 80)} (all traffic of the new context goes through this proxy)`] : [],
147
+ ...typeof input.userAgent === 'string' ? [`userAgent=${JSON.stringify(clip(input.userAgent, 80))} (the browser presents itself differently)`] : [],
148
+ ];
149
+ if (changed.length === 0)
150
+ return { kind: 'allow' };
151
+ if (mode === 'read-only')
152
+ return { kind: 'deny', reason: `Changing the network egress or browser fingerprint is disabled by automationMode=${mode}: ${changed.join('; ')}` };
153
+ if (mode === 'unrestricted')
154
+ return { kind: 'allow' };
155
+ return { kind: 'ask', reason: `${name} ${typeof input.url === 'string' ? clip(input.url, 120) : ''}: Open a new browser context with changed ` + changed.join('; ') };
156
+ }
116
157
  case 'evaluate': {
117
158
  const expression = args?.expression;
118
159
  if (typeof expression !== 'string' || !expression.trim())
@@ -1 +1 @@
1
- {"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval-policy.js","sourceRoot":"","sources":["../src/approval-policy.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,11 @@ export interface ResolvedAuthProfile extends AuthProfileConfig {
10
10
  }
11
11
  export declare function hostAllowed(hostname: string, domains: readonly string[]): boolean;
12
12
  export declare class AuthProfileStore {
13
- private readonly profiles;
13
+ private profiles;
14
14
  constructor(profiles?: Record<string, AuthProfileConfig>);
15
+ /** Swap in the effective profiles (baseline plus policy overlay); sessions resolve against them from the next call on. */
16
+ replace(profiles: Record<string, AuthProfileConfig>): void;
17
+ get(id: string): AuthProfileConfig | undefined;
15
18
  resolve(id: string, targetUrl: string): ResolvedAuthProfile;
16
19
  list(): {
17
20
  id: string;
@@ -10,6 +10,9 @@ export class AuthProfileStore {
10
10
  constructor(profiles = {}) {
11
11
  this.profiles = profiles;
12
12
  }
13
+ /** Swap in the effective profiles (baseline plus policy overlay); sessions resolve against them from the next call on. */
14
+ replace(profiles) { this.profiles = profiles; }
15
+ get(id) { return this.profiles[id]; }
13
16
  resolve(id, targetUrl) {
14
17
  const profile = this.profiles[id];
15
18
  if (!profile)
@@ -1 +1 @@
1
- {"version":3,"file":"auth-profiles.js","sourceRoot":"","sources":["../src/auth-profiles.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,OAA0B;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACtD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACjF,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,WAA8C,EAAE;QAAhD,aAAQ,GAAR,QAAQ,CAAwC;IAAG,CAAC;IAEjF,OAAO,CAAC,EAAU,EAAE,SAAiB;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACjC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAA;QAC5D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,GAAG,sBAAsB,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC3I,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,GAAG,0BAA0B,CAAC,CAAA;QACzG,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAA;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,GAAG,qCAAqC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC7H,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,EAAE,GAAG,oCAAoC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;QACzG,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,CAAA;IACzC,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;IAChN,CAAC;CACF;AACD,OAAO,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"auth-profiles.js","sourceRoot":"","sources":["../src/auth-profiles.ts"],"names":[],"mappings":"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"}