@fias/arche-sdk 2.17.2 → 2.18.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 (44) hide show
  1. package/dist/bridge.d.ts +11 -1
  2. package/dist/bridge.d.ts.map +1 -1
  3. package/dist/bridge.js +80 -0
  4. package/dist/bridge.js.map +1 -1
  5. package/dist/bridge.test.js +69 -0
  6. package/dist/bridge.test.js.map +1 -1
  7. package/dist/generated/permissions.d.ts +1 -1
  8. package/dist/generated/permissions.d.ts.map +1 -1
  9. package/dist/generated/permissions.js +2 -0
  10. package/dist/generated/permissions.js.map +1 -1
  11. package/dist/hooks.d.ts +33 -1
  12. package/dist/hooks.d.ts.map +1 -1
  13. package/dist/hooks.js +70 -3
  14. package/dist/hooks.js.map +1 -1
  15. package/dist/hooks.test.js +53 -1
  16. package/dist/hooks.test.js.map +1 -1
  17. package/dist/index.d.ts +3 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +153 -9
  22. package/dist/panels.d.ts +15 -0
  23. package/dist/panels.d.ts.map +1 -1
  24. package/dist/panels.js +33 -2
  25. package/dist/panels.js.map +1 -1
  26. package/dist/panels.test.js +40 -0
  27. package/dist/panels.test.js.map +1 -1
  28. package/dist/protocol.d.ts +9 -0
  29. package/dist/protocol.d.ts.map +1 -1
  30. package/dist/protocol.js +9 -0
  31. package/dist/protocol.js.map +1 -1
  32. package/dist/sandbox-dialogs.d.ts +39 -0
  33. package/dist/sandbox-dialogs.d.ts.map +1 -0
  34. package/dist/sandbox-dialogs.js +88 -0
  35. package/dist/sandbox-dialogs.js.map +1 -0
  36. package/dist/sandbox-dialogs.test.d.ts +2 -0
  37. package/dist/sandbox-dialogs.test.d.ts.map +1 -0
  38. package/dist/sandbox-dialogs.test.js +72 -0
  39. package/dist/sandbox-dialogs.test.js.map +1 -0
  40. package/dist/types.d.ts +70 -10
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/templates/default/AGENTS.md +60 -0
  44. package/templates/default/CLAUDE.md +60 -0
package/dist/index.mjs CHANGED
@@ -78,6 +78,42 @@ function getDefaultTheme(mode) {
78
78
  var SDK_BRIDGE_PROTOCOL_VERSION = 1;
79
79
  var SDK_REQUIRES_HOST_PROTOCOL_VERSION = 1;
80
80
 
81
+ // src/sandbox-dialogs.ts
82
+ var INSTALLED = "__fiasSandboxDialogsInstalled";
83
+ function installSandboxDialogShims(win = typeof window === "undefined" ? void 0 : window) {
84
+ if (!win) return;
85
+ const marker = win;
86
+ if (marker[INSTALLED]) return;
87
+ const warned = /* @__PURE__ */ new Set();
88
+ const explain = (name) => {
89
+ if (warned.has(name)) return;
90
+ warned.add(name);
91
+ console.error(
92
+ `[fias-sdk] window.${name}() does nothing in a Fias plugin. The plugin frame is sandboxed with an opaque origin, so the browser refuses its dialogs \u2014 ${name}() returns ${name === "confirm" ? "false" : name === "prompt" ? "null" : "undefined"} without showing anything. Any guard written as \`if (!confirm(...)) return;\` will never proceed in production. Ask with your own UI instead. (The dev harness would otherwise show the dialog and hide this from you.)`
93
+ );
94
+ };
95
+ const shims = {
96
+ alert: () => {
97
+ explain("alert");
98
+ },
99
+ confirm: () => {
100
+ explain("confirm");
101
+ return false;
102
+ },
103
+ prompt: () => {
104
+ explain("prompt");
105
+ return null;
106
+ }
107
+ };
108
+ try {
109
+ win.alert = shims.alert;
110
+ win.confirm = shims.confirm;
111
+ win.prompt = shims.prompt;
112
+ marker[INSTALLED] = true;
113
+ } catch {
114
+ }
115
+ }
116
+
81
117
  // src/bridge.ts
82
118
  var messageCounter = 0;
83
119
  function generateMessageId() {
@@ -130,6 +166,14 @@ var FiasBridge = class {
130
166
  * the assistant awaits the result before telling the model it applied.
131
167
  */
132
168
  this.aiActionHandler = null;
169
+ this.handoffHandler = null;
170
+ // A handoff that arrived before `useArcheHandoff` registered. The host sends
171
+ // as soon as the iframe reports ready, which is reliably BEFORE the React
172
+ // effect that registers the handler runs — without this the very first
173
+ // "open this file in <app>" of a session would be dropped, which is the one
174
+ // the user actually asked for. Holds the LATEST only: a second handoff
175
+ // supersedes an unconsumed first (the user changed their mind mid-open).
176
+ this.pendingHandoff = null;
133
177
  this.previewStateRestoreListeners = /* @__PURE__ */ new Map();
134
178
  // A restore payload that arrived before its hook registered (the host
135
179
  // restores on `ready`, but the React effect that registers runs later).
@@ -241,6 +285,20 @@ var FiasBridge = class {
241
285
  })();
242
286
  return;
243
287
  }
288
+ if (data.type === "arche_handoff") {
289
+ const payload = data.payload;
290
+ if (payload && typeof payload === "object" && typeof payload.kind === "string") {
291
+ if (this.handoffHandler) {
292
+ try {
293
+ this.handoffHandler(payload);
294
+ } catch {
295
+ }
296
+ } else {
297
+ this.pendingHandoff = payload;
298
+ }
299
+ }
300
+ return;
301
+ }
244
302
  if (data.type === "subscription_event") {
245
303
  const payload = data.payload;
246
304
  if (typeof payload?.subscriptionId === "string" && payload.event) {
@@ -320,7 +378,20 @@ var FiasBridge = class {
320
378
  sdkProtocolVersion: SDK_BRIDGE_PROTOCOL_VERSION,
321
379
  // Advertise preview-state support so the host can snapshot/restore us
322
380
  // across a preview rebuild. Older SDKs omit this and the host skips it.
323
- supportsPreviewState: true
381
+ supportsPreviewState: true,
382
+ // Advertise that this SDK understands `arche_handoff`. `ready` alone
383
+ // cannot tell the host that — every older SDK sends `ready` too, and
384
+ // then ignores an unknown message type. Since the handoff lane is
385
+ // one-way and unacknowledged, without this flag a handoff to an older
386
+ // bundle is dropped in silence: the user asks to open a file somewhere
387
+ // and simply nothing happens, with nothing for the host to report.
388
+ //
389
+ // Statically true because the capability belongs to the SDK VERSION, not
390
+ // to whether a hook happens to be mounted right now — a plugin that
391
+ // registers `useArcheHandoff` a tick later is covered by the buffer in
392
+ // `setHandoffHandler`. Older SDKs omit it and the host refuses to
393
+ // dispatch, exactly like `supportsPreviewState`.
394
+ supportsArcheHandoff: true
324
395
  });
325
396
  }
326
397
  /**
@@ -528,6 +599,26 @@ var FiasBridge = class {
528
599
  setAiActionHandler(handler) {
529
600
  this.aiActionHandler = handler;
530
601
  }
602
+ /**
603
+ * Register (or clear, with null) the handler for an incoming Arche Handoff.
604
+ * Registering drains a handoff that arrived before the hook mounted, so the
605
+ * first one of a session is never lost. Use `useArcheHandoff` rather than
606
+ * calling this directly.
607
+ */
608
+ clearHandoffHandler(handler) {
609
+ if (this.handoffHandler === handler) this.handoffHandler = null;
610
+ }
611
+ setHandoffHandler(handler) {
612
+ this.handoffHandler = handler;
613
+ if (handler && this.pendingHandoff) {
614
+ const buffered = this.pendingHandoff;
615
+ this.pendingHandoff = null;
616
+ try {
617
+ handler(buffered);
618
+ } catch {
619
+ }
620
+ }
621
+ }
531
622
  /**
532
623
  * Declare (or clear, with null) the plugin's runtime Fias AI actions.
533
624
  * Fire-and-forget; the host validates, bounds, and throttles (~1/s), and
@@ -570,6 +661,7 @@ var FiasBridge = class {
570
661
  window.parent.postMessage(message, targetOrigin);
571
662
  }
572
663
  };
664
+ if (typeof window !== "undefined") installSandboxDialogShims();
573
665
  var bridgeInstance = typeof window !== "undefined" ? new FiasBridge() : null;
574
666
  function getBridge() {
575
667
  if (!bridgeInstance) {
@@ -1148,7 +1240,11 @@ function useFiasNavigation() {
1148
1240
  );
1149
1241
  const openArche = useCallback(
1150
1242
  (archeId, opts) => {
1151
- bridge.request("open_arche", { archeId, newTab: opts?.newTab === true });
1243
+ bridge.request("open_arche", {
1244
+ archeId,
1245
+ newTab: opts?.newTab === true,
1246
+ ...opts?.path ? { path: opts.path } : {}
1247
+ });
1152
1248
  },
1153
1249
  [bridge]
1154
1250
  );
@@ -1338,7 +1434,14 @@ function useFiasDataStore() {
1338
1434
  return invokeEntityOp(bridge, PLUGIN_DATASTORE_ENTITY_ID, "query", {
1339
1435
  collection,
1340
1436
  ...options,
1341
- workspaceId: scope?.workspaceId
1437
+ // `query`/`search` are the only doc methods that split options from
1438
+ // scope, so `{ workspaceId }` lands in the options slot by mistake —
1439
+ // and overwriting unconditionally turned that into a SILENT scope
1440
+ // loss: the payload went out with no workspaceId and the collection
1441
+ // answered WORKSPACE_REQUIRED, pointing the author at the collection
1442
+ // rather than at the call. Take the scope arg when it carries one and
1443
+ // otherwise leave whatever the spread put there.
1444
+ ...scope?.workspaceId !== void 0 ? { workspaceId: scope.workspaceId } : {}
1342
1445
  });
1343
1446
  },
1344
1447
  [bridge]
@@ -1353,7 +1456,8 @@ function useFiasDataStore() {
1353
1456
  collection,
1354
1457
  query: queryText,
1355
1458
  ...options,
1356
- workspaceId: scope?.workspaceId
1459
+ // See `query` above — never blank a caller-supplied workspaceId.
1460
+ ...scope?.workspaceId !== void 0 ? { workspaceId: scope.workspaceId } : {}
1357
1461
  }
1358
1462
  );
1359
1463
  return res.matches;
@@ -1755,7 +1859,12 @@ function useVaultDocuments() {
1755
1859
  tags: params.tags,
1756
1860
  sensitivity: params.sensitivity,
1757
1861
  folderPath: params.folderPath,
1758
- replacesDocumentId: params.replacesDocumentId
1862
+ replacesDocumentId: params.replacesDocumentId,
1863
+ // Opt-in user-visible save. The host turns this into a confirmation
1864
+ // the user sees and the iframe cannot script; the server independently
1865
+ // requires `vault:user-documents:write` plus a registered folder for
1866
+ // this arche. Omitted (the common case) keeps the arche-private default.
1867
+ userVisible: params.userVisible
1759
1868
  });
1760
1869
  },
1761
1870
  [bridge]
@@ -2153,6 +2262,16 @@ function useCommunityAssets() {
2153
2262
  [publish, publishMany, unpublish, listMine, listCommunity, get, getUrl, getUrls, report]
2154
2263
  );
2155
2264
  }
2265
+ function useArcheHandoff(onHandoff) {
2266
+ const bridge = useBridge();
2267
+ const handlerRef = useRef(onHandoff);
2268
+ handlerRef.current = onHandoff;
2269
+ useEffect2(() => {
2270
+ const handler = (payload) => handlerRef.current(payload);
2271
+ bridge.setHandoffHandler(handler);
2272
+ return () => bridge.clearHandoffHandler(handler);
2273
+ }, [bridge]);
2274
+ }
2156
2275
  function useFiasAIActions(config) {
2157
2276
  const bridge = useBridge();
2158
2277
  const onActionRef = useRef(config?.onAction ?? null);
@@ -2285,7 +2404,8 @@ var VALID_PLUGIN_PERMISSIONS = [
2285
2404
  "user:profile:read",
2286
2405
  "vault:documents:read",
2287
2406
  "vault:documents:write",
2288
- "vault:user-documents:read"
2407
+ "vault:user-documents:read",
2408
+ "vault:user-documents:write"
2289
2409
  ];
2290
2410
  function isValidPluginPermission(perm) {
2291
2411
  return VALID_PLUGIN_PERMISSIONS.includes(perm);
@@ -2312,7 +2432,8 @@ var PLUGIN_PERMISSION_DESCRIPTIONS = {
2312
2432
  "user:profile:read": "See your display name and avatar.",
2313
2433
  "vault:documents:read": "Read documents this app itself created in your Vault.",
2314
2434
  "vault:documents:write": "Create and manage its own documents in your Vault.",
2315
- "vault:user-documents:read": "Read documents YOU choose to share with it from your Vault \u2014 you pick each document, and you can remove access any time in Vault \u2192 App Access."
2435
+ "vault:user-documents:read": "Read documents YOU choose to share with it from your Vault \u2014 you pick each document, and you can remove access any time in Vault \u2192 App Access.",
2436
+ "vault:user-documents:write": "Save its work to your Fias files, where you can find and reuse it. You confirm each save."
2316
2437
  };
2317
2438
 
2318
2439
  // src/fias.ts
@@ -4624,10 +4745,17 @@ function validateElement(value, path, issues) {
4624
4745
  validateItemsFields(value, path, issues);
4625
4746
  return;
4626
4747
  case "button":
4627
- rejectUnknownKeys(value, ["kind", "label", "action", "variant"], path, issues);
4748
+ rejectUnknownKeys(value, ["kind", "label", "action", "variant", "icon"], path, issues);
4628
4749
  checkString(value.label, `${path}.label`, issues, { max: PANEL_BUTTON_LABEL_MAX_LENGTH });
4629
4750
  validatePanelAction(value.action, `${path}.action`, issues);
4630
4751
  checkOptionalEnum(value.variant, `${path}.variant`, issues, BUTTON_VARIANTS);
4752
+ if (value.icon !== void 0) {
4753
+ checkString(value.icon, `${path}.icon`, issues, {
4754
+ max: 64,
4755
+ pattern: ASSET_ID_PATTERN,
4756
+ hint: "must be an arche asset id (as_ + 32 hex chars)"
4757
+ });
4758
+ }
4631
4759
  return;
4632
4760
  case "spacer":
4633
4761
  rejectUnknownKeys(value, ["kind", "size"], path, issues);
@@ -4635,6 +4763,20 @@ function validateElement(value, path, issues) {
4635
4763
  return;
4636
4764
  }
4637
4765
  }
4766
+ var ANIMATION_TYPES = ["fade-rise", "fade", "none"];
4767
+ var ANIMATION_EASINGS = ["ease-out", "ease-in", "ease-in-out", "linear"];
4768
+ var ANIMATION_MAX_DURATION_MS = 2e3;
4769
+ function validateAnimation(value, path, issues) {
4770
+ if (value === void 0) return;
4771
+ if (!isRecord(value)) {
4772
+ issues.push(`${path}: expected an object`);
4773
+ return;
4774
+ }
4775
+ rejectUnknownKeys(value, ["type", "durationMs", "easing"], path, issues);
4776
+ checkOptionalEnum(value.type, `${path}.type`, issues, ANIMATION_TYPES);
4777
+ checkOptionalIntRange(value.durationMs, `${path}.durationMs`, issues, 0, ANIMATION_MAX_DURATION_MS);
4778
+ checkOptionalEnum(value.easing, `${path}.easing`, issues, ANIMATION_EASINGS);
4779
+ }
4638
4780
  var THEME_COLOR_FIELDS = ["bg", "fg", "border", "accent", "accentFg", "scrim"];
4639
4781
  var THEME_LENGTH_FIELDS = [
4640
4782
  "radius",
@@ -4717,7 +4859,7 @@ function validatePanelDefinition(value, path = "panel") {
4717
4859
  } else {
4718
4860
  rejectUnknownKeys(
4719
4861
  value.presentation,
4720
- ["size", "dismissible", "priority"],
4862
+ ["size", "dismissible", "priority", "animation"],
4721
4863
  `${path}.presentation`,
4722
4864
  issues
4723
4865
  );
@@ -4734,6 +4876,7 @@ function validatePanelDefinition(value, path = "panel") {
4734
4876
  -PANEL_PRIORITY_ABS_MAX,
4735
4877
  PANEL_PRIORITY_ABS_MAX
4736
4878
  );
4879
+ validateAnimation(value.presentation.animation, `${path}.presentation.animation`, issues);
4737
4880
  }
4738
4881
  }
4739
4882
  return issues.length === 0 ? { ok: true, issues: [] } : { ok: false, issues };
@@ -4824,6 +4967,7 @@ export {
4824
4967
  isValidPluginPermission,
4825
4968
  resetBridge,
4826
4969
  useArcheAssets,
4970
+ useArcheHandoff,
4827
4971
  useAudioGeneration,
4828
4972
  useClientEntity,
4829
4973
  useCommunityAssets,
package/dist/panels.d.ts CHANGED
@@ -119,6 +119,12 @@ export interface PanelButtonElement {
119
119
  /** `close` | `emit:<token>` | `open_arche:arc_<32 hex>` | `open_url:https://…` */
120
120
  action: string;
121
121
  variant?: 'primary' | 'secondary';
122
+ /**
123
+ * Arche asset id (`as_<32 hex>`) for a small image drawn BESIDE the label.
124
+ * The label stays required — an icon-only button has no reading on a renderer
125
+ * that predates this field.
126
+ */
127
+ icon?: string;
122
128
  }
123
129
  export interface PanelSpacerElement {
124
130
  kind: 'spacer';
@@ -126,10 +132,19 @@ export interface PanelSpacerElement {
126
132
  }
127
133
  export type PanelElement = PanelTextElement | PanelConditionalTextElement | PanelImageElement | PanelAssetImageElement | PanelItemsElement | PanelSlottedItemsElement | PanelButtonElement | PanelSpacerElement;
128
134
  /** An authored hint about presentation; the call site may override any of it. */
135
+ /** How a MODAL panel enters. Inline panels do not animate. */
136
+ export interface PanelAnimation {
137
+ type?: 'fade-rise' | 'fade' | 'none';
138
+ /** 0–2000. */
139
+ durationMs?: number;
140
+ easing?: 'ease-out' | 'ease-in' | 'ease-in-out' | 'linear';
141
+ }
129
142
  export interface PanelPresentation {
130
143
  size?: PanelSize;
131
144
  dismissible?: boolean;
132
145
  priority?: number;
146
+ /** Omitted means the entrance every renderer already draws. */
147
+ animation?: PanelAnimation;
133
148
  }
134
149
  export interface PanelDefinition {
135
150
  /** 2–64 chars: lowercase letters, digits and hyphens, not starting with a hyphen. */
@@ -1 +1 @@
1
- {"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../src/panels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../src/panels.ts"],"names":[],"mappings":"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"}
package/dist/panels.js CHANGED
@@ -265,10 +265,19 @@ function validateElement(value, path, issues) {
265
265
  validateItemsFields(value, path, issues);
266
266
  return;
267
267
  case 'button':
268
- rejectUnknownKeys(value, ['kind', 'label', 'action', 'variant'], path, issues);
268
+ rejectUnknownKeys(value, ['kind', 'label', 'action', 'variant', 'icon'], path, issues);
269
269
  checkString(value.label, `${path}.label`, issues, { max: exports.PANEL_BUTTON_LABEL_MAX_LENGTH });
270
270
  validatePanelAction(value.action, `${path}.action`, issues);
271
271
  checkOptionalEnum(value.variant, `${path}.variant`, issues, BUTTON_VARIANTS);
272
+ // Decoration beside the label, never instead of it — the label stays
273
+ // required, which is what makes this safe for a renderer that predates it.
274
+ if (value.icon !== undefined) {
275
+ checkString(value.icon, `${path}.icon`, issues, {
276
+ max: 64,
277
+ pattern: ASSET_ID_PATTERN,
278
+ hint: 'must be an arche asset id (as_ + 32 hex chars)',
279
+ });
280
+ }
272
281
  return;
273
282
  case 'spacer':
274
283
  rejectUnknownKeys(value, ['kind', 'size'], path, issues);
@@ -276,6 +285,27 @@ function validateElement(value, path, issues) {
276
285
  return;
277
286
  }
278
287
  }
288
+ const ANIMATION_TYPES = ['fade-rise', 'fade', 'none'];
289
+ const ANIMATION_EASINGS = ['ease-out', 'ease-in', 'ease-in-out', 'linear'];
290
+ const ANIMATION_MAX_DURATION_MS = 2000;
291
+ /**
292
+ * How a MODAL panel enters. Enums and a bounded integer — never a CSS string,
293
+ * for the same reason the theme's grammars are grammars: the value is read by
294
+ * every renderer that draws this catalog, so one malformed entry is the whole
295
+ * fleet at once.
296
+ */
297
+ function validateAnimation(value, path, issues) {
298
+ if (value === undefined)
299
+ return;
300
+ if (!isRecord(value)) {
301
+ issues.push(`${path}: expected an object`);
302
+ return;
303
+ }
304
+ rejectUnknownKeys(value, ['type', 'durationMs', 'easing'], path, issues);
305
+ checkOptionalEnum(value.type, `${path}.type`, issues, ANIMATION_TYPES);
306
+ checkOptionalIntRange(value.durationMs, `${path}.durationMs`, issues, 0, ANIMATION_MAX_DURATION_MS);
307
+ checkOptionalEnum(value.easing, `${path}.easing`, issues, ANIMATION_EASINGS);
308
+ }
279
309
  const THEME_COLOR_FIELDS = ['bg', 'fg', 'border', 'accent', 'accentFg', 'scrim'];
280
310
  const THEME_LENGTH_FIELDS = [
281
311
  'radius',
@@ -365,10 +395,11 @@ function validatePanelDefinition(value, path = 'panel') {
365
395
  issues.push(`${path}.presentation: expected an object`);
366
396
  }
367
397
  else {
368
- rejectUnknownKeys(value.presentation, ['size', 'dismissible', 'priority'], `${path}.presentation`, issues);
398
+ rejectUnknownKeys(value.presentation, ['size', 'dismissible', 'priority', 'animation'], `${path}.presentation`, issues);
369
399
  checkOptionalEnum(value.presentation.size, `${path}.presentation.size`, issues, SIZES);
370
400
  checkOptionalBoolean(value.presentation.dismissible, `${path}.presentation.dismissible`, issues);
371
401
  checkOptionalIntRange(value.presentation.priority, `${path}.presentation.priority`, issues, -exports.PANEL_PRIORITY_ABS_MAX, exports.PANEL_PRIORITY_ABS_MAX);
402
+ validateAnimation(value.presentation.animation, `${path}.presentation.animation`, issues);
372
403
  }
373
404
  }
374
405
  return issues.length === 0 ? { ok: true, issues: [] } : { ok: false, issues };
@@ -1 +1 @@
1
- {"version":3,"file":"panels.js","sourceRoot":"","sources":["../src/panels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panels.js","sourceRoot":"","sources":["../src/panels.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,46 @@ describe('validatePanelDefinition', () => {
72
72
  expect(result.ok).toBe(false);
73
73
  expect(result.issues[0]).toContain('unknown field "color"');
74
74
  });
75
+ it('accepts an asset-id icon on a button and still rejects other unknown keys', () => {
76
+ const withIcon = (0, panels_1.validatePanelDefinition)({
77
+ ...panel,
78
+ elements: [
79
+ { kind: 'button', label: 'Map', action: 'close', icon: `as_${'a'.repeat(32)}` },
80
+ ],
81
+ });
82
+ expect(withIcon.ok).toBe(true);
83
+ const bogus = (0, panels_1.validatePanelDefinition)({
84
+ ...panel,
85
+ elements: [{ kind: 'button', label: 'Map', action: 'close', glyph: 'x' }],
86
+ });
87
+ expect(bogus.ok).toBe(false);
88
+ expect(bogus.issues[0]).toContain('unknown field "glyph"');
89
+ });
90
+ it('requires a button icon to be an arche asset id', () => {
91
+ const result = (0, panels_1.validatePanelDefinition)({
92
+ ...panel,
93
+ elements: [{ kind: 'button', label: 'Map', action: 'close', icon: 'dfe-icons/map.png' }],
94
+ });
95
+ expect(result.ok).toBe(false);
96
+ expect(result.issues[0]).toContain('icon');
97
+ });
98
+ it('validates presentation.animation as enums and a bounded integer', () => {
99
+ expect((0, panels_1.validatePanelDefinition)({
100
+ ...panel,
101
+ presentation: { animation: { type: 'fade', durationMs: 200, easing: 'linear' } },
102
+ }).ok).toBe(true);
103
+ // The reason these are not strings: the value reaches every renderer that
104
+ // draws the catalog, so raw CSS here is a fleet-wide problem.
105
+ for (const animation of [
106
+ { type: 'slide' },
107
+ { easing: 'cubic-bezier(.1,.7,.1,1)' },
108
+ { durationMs: 5000 },
109
+ { durationMs: 140.5 },
110
+ { wobble: true },
111
+ ]) {
112
+ expect((0, panels_1.validatePanelDefinition)({ ...panel, presentation: { animation } }).ok).toBe(false);
113
+ }
114
+ });
75
115
  it.each([
76
116
  ['open_url:javascript:alert(1)', 'a javascript: URL'],
77
117
  ['open_url:http://insecure.example', 'plain http'],
@@ -1 +1 @@
1
- {"version":3,"file":"panels.test.js","sourceRoot":"","sources":["../src/panels.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panels.test.js","sourceRoot":"","sources":["../src/panels.test.ts"],"names":[],"mappings":";;AAAA,qCAKkB;AAElB,MAAM,KAAK,GAAG;IACZ,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE;QACR,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE;QACxE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE;QACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE;KAChE;CACF,CAAC;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC;YAClC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,8BAA8B,EAAE,YAAY,EAAE,MAAM,EAAE;YACpF,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,0EAA0E;QAC1E,2DAA2D;QAC3D,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC;YAClC,MAAM,EAAE;gBACN,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE;gBAClC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,CAAC,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAA,6BAAoB,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,2BAAkB,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG;SACV,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,2BAAkB,WAAW,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,IAAA,gCAAuB,EAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,+EAA+E;QAC/E,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC;YACrC,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,QAAQ,GAAG,IAAA,gCAAuB,EAAC;YACvC,GAAG,KAAK;YACR,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;aAChF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAA,gCAAuB,EAAC;YACpC,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC;YACrC,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;SACzF,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CACJ,IAAA,gCAAuB,EAAC;YACtB,GAAG,KAAK;YACR,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;SACjF,CAAC,CAAC,EAAE,CACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,0EAA0E;QAC1E,8DAA8D;QAC9D,KAAK,MAAM,SAAS,IAAI;YACtB,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,MAAM,EAAE,0BAA0B,EAAE;YACtC,EAAE,UAAU,EAAE,IAAI,EAAE;YACpB,EAAE,UAAU,EAAE,KAAK,EAAE;YACrB,EAAE,MAAM,EAAE,IAAI,EAAE;SACjB,EAAE,CAAC;YACF,MAAM,CAAC,IAAA,gCAAuB,EAAC,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;QACrD,CAAC,kCAAkC,EAAE,YAAY,CAAC;QAClD,CAAC,sCAAsC,EAAE,mBAAmB,CAAC;QAC7D,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;QAChD,CAAC,YAAY,EAAE,8BAA8B,CAAC;KAC/C,CAAC,CAAC,+BAA+B,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC;YACrC,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACpD,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,8EAA8E;QAC9E,uDAAuD;QACvD,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC;YACrC,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,EAAE,CAAC;SACrE,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAC1D,uDAAuD,EACvD,CAAC,MAAM,EAAE,EAAE;QACT,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC;YACrC,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,IAAA,2BAAkB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,iCAAiC,EAAE,+CAA+C,CAAC;QACpF,CAAC,gBAAgB,EAAE,oCAAoC,CAAC;QACxD,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;KACtD,CAAC,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;QACxC,MAAM,CAAC,IAAA,2BAAkB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,IAAA,2BAAkB,EAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,CAAC,IAAA,2BAAkB,EAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,MAAM,GAAG,IAAA,2BAAkB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -38,6 +38,15 @@
38
38
  * `useFiasPreviewState`. Inert outside the builder preview. To reach
39
39
  * server-built plugins it needs an SDK minor publish so the CDN bundle
40
40
  * (SDK_BUILD_VERSION) carries it.
41
+ * v1 (2026-09) — additive: an optional `path` on the `open_arche` payload, so
42
+ * an arche can open a SPECIFIC page of another arche instead of its home
43
+ * screen. A new optional field, so it does NOT bump the version — but note
44
+ * it is NOT capability-gated: an older host silently ignores `path` and
45
+ * lands on the target's home screen. That degrade is acceptable because the
46
+ * host is the platform's own client and moves ahead of every plugin on
47
+ * deploy; if a future addition here can be WRONG rather than merely absent
48
+ * on an old host, gate it with a `ready` flag like `supportsPreviewState`.
49
+ * Reaches server-built plugins on the next SDK minor publish.
41
50
  */
42
51
  export declare const SDK_BRIDGE_PROTOCOL_VERSION = 1;
43
52
  export declare const SDK_REQUIRES_HOST_PROTOCOL_VERSION = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,kCAAkC,IAAI,CAAC"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,kCAAkC,IAAI,CAAC"}
package/dist/protocol.js CHANGED
@@ -39,6 +39,15 @@
39
39
  * `useFiasPreviewState`. Inert outside the builder preview. To reach
40
40
  * server-built plugins it needs an SDK minor publish so the CDN bundle
41
41
  * (SDK_BUILD_VERSION) carries it.
42
+ * v1 (2026-09) — additive: an optional `path` on the `open_arche` payload, so
43
+ * an arche can open a SPECIFIC page of another arche instead of its home
44
+ * screen. A new optional field, so it does NOT bump the version — but note
45
+ * it is NOT capability-gated: an older host silently ignores `path` and
46
+ * lands on the target's home screen. That degrade is acceptable because the
47
+ * host is the platform's own client and moves ahead of every plugin on
48
+ * deploy; if a future addition here can be WRONG rather than merely absent
49
+ * on an old host, gate it with a `ready` flag like `supportsPreviewState`.
50
+ * Reaches server-built plugins on the next SDK minor publish.
42
51
  */
43
52
  Object.defineProperty(exports, "__esModule", { value: true });
44
53
  exports.SDK_REQUIRES_HOST_PROTOCOL_VERSION = exports.SDK_BRIDGE_PROTOCOL_VERSION = void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;;AAEU,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAChC,QAAA,kCAAkC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;;;AAEU,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAChC,QAAA,kCAAkC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Make `alert` / `confirm` / `prompt` behave the SAME everywhere a plugin runs.
3
+ *
4
+ * The production plugin iframe is sandboxed without `allow-same-origin`
5
+ * (`PLUGIN_IFRAME_SANDBOX`), which gives it an opaque origin — so it is
6
+ * cross-origin to the host, and browsers refuse to show its JS dialogs. The
7
+ * call does not throw: `confirm()` returns `false`, `prompt()` returns `null`,
8
+ * `alert()` does nothing. A guard written the obvious way therefore turns into
9
+ * a button that silently does nothing:
10
+ *
11
+ * if (!window.confirm('Delete this?')) return; // never proceeds
12
+ *
13
+ * Adding `allow-modals` would not help — Chrome blocks dialogs from
14
+ * cross-origin iframes regardless of that token.
15
+ *
16
+ * What made this expensive is that it CANNOT be reproduced locally. The dev
17
+ * harness adds `allow-same-origin` for its tooling, so the identical dialog
18
+ * works there. Works on my machine, dead in production, and no error in either
19
+ * place. Opportunity Graph shipped both of its Delete buttons and an
20
+ * overwrite guard this way (2026-09-06).
21
+ *
22
+ * So the SDK pins the production behaviour in every environment and says why,
23
+ * once per kind of dialog. The harness now fails the same way production does,
24
+ * which is the only place the developer can act on it.
25
+ *
26
+ * Deliberately NOT a polyfill: there is no honest way to return a user's answer
27
+ * synchronously, and quietly substituting "yes" would auto-confirm deletions.
28
+ * A plugin that needs to ask must ask with its own UI.
29
+ */
30
+ /**
31
+ * Replace the three dialog functions on `win` with the values a sandboxed,
32
+ * cross-origin frame actually produces, each logging why once.
33
+ *
34
+ * Idempotent, and a no-op outside a browser (SSR, unit tests without a DOM).
35
+ * Never throws: a frozen or otherwise unwritable `window` property must not
36
+ * take the plugin down at import time.
37
+ */
38
+ export declare function installSandboxDialogShims(win?: Window | undefined): void;
39
+ //# sourceMappingURL=sandbox-dialogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-dialogs.d.ts","sourceRoot":"","sources":["../src/sandbox-dialogs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAWH;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,GAAG,SAA8D,GAC3E,IAAI,CA6CN"}