@immediately-run/sdk 0.68.1 → 0.69.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 (102) hide show
  1. package/dist/agentChatClient.js +1 -1
  2. package/dist/agentContext.js +4 -4
  3. package/dist/agentLoop.js +1 -1
  4. package/dist/analytics.js +3 -3
  5. package/dist/auth.js +2 -2
  6. package/dist/boot.js +16 -16
  7. package/dist/bundle.js +1 -1
  8. package/dist/catalog.js +4 -4
  9. package/dist/chromeState.js +2 -2
  10. package/dist/components/FileRouter.js +4 -4
  11. package/dist/components/HeadingAnchor.js +4 -4
  12. package/dist/components/Include.js +5 -5
  13. package/dist/components/Link.js +5 -5
  14. package/dist/components/MDXComponents.js +10 -10
  15. package/dist/components/MainContent.js +4 -4
  16. package/dist/components/MountImage.js +1 -1
  17. package/dist/components/Routes.js +3 -3
  18. package/dist/components/SafeInclude.js +7 -7
  19. package/dist/components/ScrollAfterNavigation.js +2 -2
  20. package/dist/components/ScrollRestoration.js +4 -4
  21. package/dist/components/WikiLink.js +5 -5
  22. package/dist/components/defaults.js +1 -1
  23. package/dist/components/errors.js +1 -1
  24. package/dist/contextUtils.js +3 -3
  25. package/dist/contribute.js +2 -2
  26. package/dist/corpus.js +2 -2
  27. package/dist/debug.js +3 -3
  28. package/dist/diagnostics.js +2 -2
  29. package/dist/dialog.cjs +93 -0
  30. package/dist/dialog.cjs.map +1 -0
  31. package/dist/dialog.d.cts +47 -0
  32. package/dist/dialog.d.ts +47 -0
  33. package/dist/dialog.js +68 -0
  34. package/dist/dialog.js.map +1 -0
  35. package/dist/dnd.js +3 -3
  36. package/dist/editor.js +3 -3
  37. package/dist/editorContext.js +2 -2
  38. package/dist/feed.js +3 -3
  39. package/dist/formFactor.js +2 -2
  40. package/dist/fs.js +2 -2
  41. package/dist/generated/spaces.cjs +89 -17
  42. package/dist/generated/spaces.cjs.map +1 -1
  43. package/dist/generated/spaces.d.cts +184 -12
  44. package/dist/generated/spaces.d.ts +184 -12
  45. package/dist/generated/spaces.js +85 -18
  46. package/dist/generated/spaces.js.map +1 -1
  47. package/dist/hooks.js +2 -2
  48. package/dist/hostAttention.js +2 -2
  49. package/dist/hostTransport.js +1 -1
  50. package/dist/index.cjs +4 -0
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +4 -2
  53. package/dist/index.d.ts +4 -2
  54. package/dist/index.js +67 -65
  55. package/dist/index.js.map +1 -1
  56. package/dist/ipc.js +3 -3
  57. package/dist/launch.js +3 -3
  58. package/dist/llm.js +3 -3
  59. package/dist/markers.js +2 -2
  60. package/dist/metadataQueryTool.js +1 -1
  61. package/dist/metadataSource.js +1 -1
  62. package/dist/moduleCache.js +2 -2
  63. package/dist/mounts.cjs +5 -16
  64. package/dist/mounts.cjs.map +1 -1
  65. package/dist/mounts.d.cts +3 -35
  66. package/dist/mounts.d.ts +3 -35
  67. package/dist/mounts.js +13 -19
  68. package/dist/mounts.js.map +1 -1
  69. package/dist/netFetch.js +4 -4
  70. package/dist/onFsChange.js +2 -2
  71. package/dist/openExternal.js +3 -3
  72. package/dist/openRepository.js +3 -3
  73. package/dist/platformLink.js +4 -4
  74. package/dist/protocolSchemes.js +1 -1
  75. package/dist/protocolStream.js +2 -2
  76. package/dist/pushChannel.js +1 -1
  77. package/dist/ready.js +1 -1
  78. package/dist/recents.js +3 -3
  79. package/dist/region.js +3 -3
  80. package/dist/routing.js +7 -7
  81. package/dist/runtime.js +4 -4
  82. package/dist/sandboxUtils.js +4 -4
  83. package/dist/secrets.js +4 -4
  84. package/dist/status.cjs +48 -0
  85. package/dist/status.cjs.map +1 -0
  86. package/dist/status.d.cts +43 -0
  87. package/dist/status.d.ts +43 -0
  88. package/dist/status.js +24 -0
  89. package/dist/status.js.map +1 -0
  90. package/dist/tasks.js +4 -4
  91. package/dist/theme.js +4 -4
  92. package/dist/urlUtils.js +1 -1
  93. package/dist/useEntryState.js +1 -1
  94. package/dist/vcs.js +4 -4
  95. package/dist/version.cjs +1 -1
  96. package/dist/version.cjs.map +1 -1
  97. package/dist/version.d.cts +1 -1
  98. package/dist/version.d.ts +1 -1
  99. package/dist/version.js +1 -1
  100. package/dist/version.js.map +1 -1
  101. package/dist/workspace.js +2 -2
  102. package/package.json +7 -5
@@ -0,0 +1,43 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+
3
+ /** Props for {@link Status}. */
4
+ interface StatusProps {
5
+ /** The current message. Change THIS to announce; do not mount/unmount the
6
+ * region per message — a region that mounts with content announces nothing. */
7
+ children: ReactNode;
8
+ /** Assertive live regions interrupt — polite never does. Opt in only for
9
+ * outcomes the user must hear immediately; the default is polite. */
10
+ assertive?: boolean;
11
+ className?: string;
12
+ style?: CSSProperties;
13
+ }
14
+ /**
15
+ * A polite live region (WCAG 4.1.3): content changes inside a mounted region
16
+ * are announced without moving focus. Mount it once per surface; announce by
17
+ * changing `children`.
18
+ */
19
+ declare function Status({ children, assertive, className, style }: StatusProps): ReactNode;
20
+ /** Props for {@link Busy}. */
21
+ interface BusyProps {
22
+ /** What is happening, named ("Saving…", "Connecting…") — the R-IX-2 label. */
23
+ label: string;
24
+ /** The flash floor: below this wait, nothing shows (LOADING_UX_SPEC §3.3 /
25
+ * UI_AS_APPS_SPEC §6.2 — a fast wait never flashes a busy state). Defaults to
26
+ * the platform floor; pass `0` to show immediately. */
27
+ floorMs?: number;
28
+ className?: string;
29
+ style?: CSSProperties;
30
+ }
31
+ /**
32
+ * The named busy state as a component: the box renders from the first frame
33
+ * (R-IX-2 — the control is never removed and the surface is never replaced by
34
+ * a spinner), `aria-busy` throughout, and the caller's label appears once the
35
+ * flash floor has passed — below it, nothing shows rather than a flash.
36
+ *
37
+ * Render it IN PLACE of the control's resting label while the request is in
38
+ * flight, with the control itself disabled by the caller:
39
+ * `<button disabled>{busy ? <Busy label="Saving…" /> : "Save"}</button>`.
40
+ */
41
+ declare function Busy({ label, floorMs, className, style }: BusyProps): ReactNode;
42
+
43
+ export { Busy, type BusyProps, Status, type StatusProps };
@@ -0,0 +1,43 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+
3
+ /** Props for {@link Status}. */
4
+ interface StatusProps {
5
+ /** The current message. Change THIS to announce; do not mount/unmount the
6
+ * region per message — a region that mounts with content announces nothing. */
7
+ children: ReactNode;
8
+ /** Assertive live regions interrupt — polite never does. Opt in only for
9
+ * outcomes the user must hear immediately; the default is polite. */
10
+ assertive?: boolean;
11
+ className?: string;
12
+ style?: CSSProperties;
13
+ }
14
+ /**
15
+ * A polite live region (WCAG 4.1.3): content changes inside a mounted region
16
+ * are announced without moving focus. Mount it once per surface; announce by
17
+ * changing `children`.
18
+ */
19
+ declare function Status({ children, assertive, className, style }: StatusProps): ReactNode;
20
+ /** Props for {@link Busy}. */
21
+ interface BusyProps {
22
+ /** What is happening, named ("Saving…", "Connecting…") — the R-IX-2 label. */
23
+ label: string;
24
+ /** The flash floor: below this wait, nothing shows (LOADING_UX_SPEC §3.3 /
25
+ * UI_AS_APPS_SPEC §6.2 — a fast wait never flashes a busy state). Defaults to
26
+ * the platform floor; pass `0` to show immediately. */
27
+ floorMs?: number;
28
+ className?: string;
29
+ style?: CSSProperties;
30
+ }
31
+ /**
32
+ * The named busy state as a component: the box renders from the first frame
33
+ * (R-IX-2 — the control is never removed and the surface is never replaced by
34
+ * a spinner), `aria-busy` throughout, and the caller's label appears once the
35
+ * flash floor has passed — below it, nothing shows rather than a flash.
36
+ *
37
+ * Render it IN PLACE of the control's resting label while the request is in
38
+ * flight, with the control itself disabled by the caller:
39
+ * `<button disabled>{busy ? <Busy label="Saving…" /> : "Save"}</button>`.
40
+ */
41
+ declare function Busy({ label, floorMs, className, style }: BusyProps): ReactNode;
42
+
43
+ export { Busy, type BusyProps, Status, type StatusProps };
package/dist/status.js ADDED
@@ -0,0 +1,24 @@
1
+ import "./chunk-VHAA22YE.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useEffect, useState } from "react";
4
+ import { LOADING_TIMINGS } from "./loading.js";
5
+ function Status({ children, assertive = false, className, style }) {
6
+ return /* @__PURE__ */ jsx("div", { role: "status", "aria-live": assertive ? "assertive" : "polite", className, style, children });
7
+ }
8
+ function Busy({ label, floorMs = LOADING_TIMINGS.spinThresholdMs, className, style }) {
9
+ const [show, setShow] = useState(floorMs <= 0);
10
+ useEffect(() => {
11
+ if (floorMs <= 0) {
12
+ setShow(true);
13
+ return;
14
+ }
15
+ const t = setTimeout(() => setShow(true), floorMs);
16
+ return () => clearTimeout(t);
17
+ }, [floorMs, label]);
18
+ return /* @__PURE__ */ jsx("span", { "aria-busy": "true", className, style, children: show ? label : "" });
19
+ }
20
+ export {
21
+ Busy,
22
+ Status
23
+ };
24
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/status.tsx"],"sourcesContent":["// In-app status primitives (interaction_standards R-IX-2/R-IX-3; the status half\n// of the standards' delivery vehicle, R3-613).\n//\n// `Status` is the live region: mount it ONCE per surface and change its content —\n// a content change inside a mounted `role=\"status\"` region announces without\n// stealing focus (WCAG 4.1.3). `Busy` is R-IX-2's write face as a component: the\n// pending control keeps its box and names what is happening, carrying `aria-busy`.\n//\n// TRUST BOUNDARY (same rule as `./loading` and `./dialog`): presentational only,\n// NO capability, NO host round-trip, no reserved landmark or host wordmark.\n//\n// TIMING: no constant is minted here. The flash floor below is LOADING_TIMINGS'\n// spinThresholdMs — §9-2's token clause, one timing language for both modules.\nimport { useEffect, useState, type CSSProperties, type ReactNode } from 'react';\nimport { LOADING_TIMINGS } from './loading';\n\n/** Props for {@link Status}. */\nexport interface StatusProps {\n /** The current message. Change THIS to announce; do not mount/unmount the\n * region per message — a region that mounts with content announces nothing. */\n children: ReactNode;\n /** Assertive live regions interrupt — polite never does. Opt in only for\n * outcomes the user must hear immediately; the default is polite. */\n assertive?: boolean;\n className?: string;\n style?: CSSProperties;\n}\n\n/**\n * A polite live region (WCAG 4.1.3): content changes inside a mounted region\n * are announced without moving focus. Mount it once per surface; announce by\n * changing `children`.\n */\nexport function Status({ children, assertive = false, className, style }: StatusProps): ReactNode {\n return (\n <div role=\"status\" aria-live={assertive ? 'assertive' : 'polite'} className={className} style={style}>\n {children}\n </div>\n );\n}\n\n/** Props for {@link Busy}. */\nexport interface BusyProps {\n /** What is happening, named (\"Saving…\", \"Connecting…\") — the R-IX-2 label. */\n label: string;\n /** The flash floor: below this wait, nothing shows (LOADING_UX_SPEC §3.3 /\n * UI_AS_APPS_SPEC §6.2 — a fast wait never flashes a busy state). Defaults to\n * the platform floor; pass `0` to show immediately. */\n floorMs?: number;\n className?: string;\n style?: CSSProperties;\n}\n\n/**\n * The named busy state as a component: the box renders from the first frame\n * (R-IX-2 — the control is never removed and the surface is never replaced by\n * a spinner), `aria-busy` throughout, and the caller's label appears once the\n * flash floor has passed — below it, nothing shows rather than a flash.\n *\n * Render it IN PLACE of the control's resting label while the request is in\n * flight, with the control itself disabled by the caller:\n * `<button disabled>{busy ? <Busy label=\"Saving…\" /> : \"Save\"}</button>`.\n */\nexport function Busy({ label, floorMs = LOADING_TIMINGS.spinThresholdMs, className, style }: BusyProps): ReactNode {\n const [show, setShow] = useState(floorMs <= 0);\n useEffect(() => {\n if (floorMs <= 0) {\n setShow(true);\n return;\n }\n const t = setTimeout(() => setShow(true), floorMs);\n return () => clearTimeout(t);\n }, [floorMs, label]);\n\n return (\n <span aria-busy=\"true\" className={className} style={style}>\n {show ? label : ''}\n </span>\n );\n}\n"],"mappings":";AAmCI;AAtBJ,SAAS,WAAW,gBAAoD;AACxE,SAAS,uBAAuB;AAmBzB,SAAS,OAAO,EAAE,UAAU,YAAY,OAAO,WAAW,MAAM,GAA2B;AAChG,SACE,oBAAC,SAAI,MAAK,UAAS,aAAW,YAAY,cAAc,UAAU,WAAsB,OACrF,UACH;AAEJ;AAwBO,SAAS,KAAK,EAAE,OAAO,UAAU,gBAAgB,iBAAiB,WAAW,MAAM,GAAyB;AACjH,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,WAAW,CAAC;AAC7C,YAAU,MAAM;AACd,QAAI,WAAW,GAAG;AAChB,cAAQ,IAAI;AACZ;AAAA,IACF;AACA,UAAM,IAAI,WAAW,MAAM,QAAQ,IAAI,GAAG,OAAO;AACjD,WAAO,MAAM,aAAa,CAAC;AAAA,EAC7B,GAAG,CAAC,SAAS,KAAK,CAAC;AAEnB,SACE,oBAAC,UAAK,aAAU,QAAO,WAAsB,OAC1C,iBAAO,QAAQ,IAClB;AAEJ;","names":[]}
package/dist/tasks.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import "./chunk-VHAA22YE.js";
2
2
  import { useEffect, useState } from "react";
3
- import { protocolRequest, sendMessage, addListener } from "./sandboxUtils";
4
- import { transport } from "./hostTransport";
5
- import { PROTOCOL_TASK, TASK_CANCEL, TASK_COMPLETE, TASK_INPUT } from "./generated/protocol";
6
- import { SCHEMES } from "./protocolSchemes";
3
+ import { protocolRequest, sendMessage, addListener } from "./sandboxUtils.js";
4
+ import { transport } from "./hostTransport.js";
5
+ import { PROTOCOL_TASK, TASK_CANCEL, TASK_COMPLETE, TASK_INPUT } from "./generated/protocol.js";
6
+ import { SCHEMES } from "./protocolSchemes.js";
7
7
  const capFile = (ref, opts) => ({
8
8
  $cap: "file",
9
9
  mountId: ref.mountId,
package/dist/theme.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import "./chunk-VHAA22YE.js";
2
- import { createPushChannel } from "./pushChannel";
3
- import { protocolRequest } from "./sandboxUtils";
4
- import { PROTOCOL_THEME, REQUEST_THEME, REQUEST_THEME_CATALOG, THEME, THEME_CATALOG } from "./generated/protocol";
5
- import { SCHEMES } from "./protocolSchemes";
2
+ import { createPushChannel } from "./pushChannel.js";
3
+ import { protocolRequest } from "./sandboxUtils.js";
4
+ import { PROTOCOL_THEME, REQUEST_THEME, REQUEST_THEME_CATALOG, THEME, THEME_CATALOG } from "./generated/protocol.js";
5
+ import { SCHEMES } from "./protocolSchemes.js";
6
6
  const DEFAULT_SELECTION = {
7
7
  theme: "dark",
8
8
  themeKey: "immediately-run-default",
package/dist/urlUtils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./chunk-VHAA22YE.js";
2
2
  import { APP_ROOT, underAppRoot } from "@immediately-run/platform-constants";
3
- import { joinPaths } from "./pathUtils";
3
+ import { joinPaths } from "./pathUtils.js";
4
4
  const FILES_PREFIX = "/files";
5
5
  const getOuterHostname = (outerHref) => {
6
6
  const url = new URL(outerHref);
@@ -1,6 +1,6 @@
1
1
  import "./chunk-VHAA22YE.js";
2
2
  import { useCallback, useSyncExternalStore } from "react";
3
- import { getArrivedNavigation, saveEntryState, subscribeNavigation } from "./entryState";
3
+ import { getArrivedNavigation, saveEntryState, subscribeNavigation } from "./entryState.js";
4
4
  const useEntryState = (key) => {
5
5
  const arrived = useSyncExternalStore(subscribeNavigation, getArrivedNavigation, getArrivedNavigation);
6
6
  const save = useCallback((value) => saveEntryState(key, value), [key]);
package/dist/vcs.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import "./chunk-VHAA22YE.js";
2
- import { createPushChannel } from "./pushChannel";
3
- import { protocolRequest } from "./sandboxUtils";
4
- import { PROTOCOL_VCS, REQUEST_VCS_STATE, VCS_STATE } from "./generated/protocol";
5
- import { SCHEMES } from "./protocolSchemes";
2
+ import { createPushChannel } from "./pushChannel.js";
3
+ import { protocolRequest } from "./sandboxUtils.js";
4
+ import { PROTOCOL_VCS, REQUEST_VCS_STATE, VCS_STATE } from "./generated/protocol.js";
5
+ import { SCHEMES } from "./protocolSchemes.js";
6
6
  const EMPTY = { changes: [], branch: null, prs: [], diffLoading: false };
7
7
  const isChangeArray = (v) => Array.isArray(v) && v.every((c) => !!c && typeof c.path === "string" && typeof c.status === "string");
8
8
  const channel = createPushChannel({
package/dist/version.cjs CHANGED
@@ -21,7 +21,7 @@ __export(version_exports, {
21
21
  SDK_VERSION: () => SDK_VERSION
22
22
  });
23
23
  module.exports = __toCommonJS(version_exports);
24
- const SDK_VERSION = "0.68.1";
24
+ const SDK_VERSION = "0.69.0";
25
25
  // Annotate the CommonJS export names for ESM import in node:
26
26
  0 && (module.exports = {
27
27
  SDK_VERSION
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// GENERATED by scripts/gen-version.mjs from package.json — do not edit by hand.\n// Regenerated on every build (prebuild); kept honest by version.test.ts.\n\n/** This SDK's package version, baked from package.json at build (SP2-6). */\nexport const SDK_VERSION = '0.68.1';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// GENERATED by scripts/gen-version.mjs from package.json — do not edit by hand.\n// Regenerated on every build (prebuild); kept honest by version.test.ts.\n\n/** This SDK's package version, baked from package.json at build (SP2-6). */\nexport const SDK_VERSION = '0.69.0';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,cAAc;","names":[]}
@@ -1,4 +1,4 @@
1
1
  /** This SDK's package version, baked from package.json at build (SP2-6). */
2
- declare const SDK_VERSION = "0.68.1";
2
+ declare const SDK_VERSION = "0.69.0";
3
3
 
4
4
  export { SDK_VERSION };
package/dist/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /** This SDK's package version, baked from package.json at build (SP2-6). */
2
- declare const SDK_VERSION = "0.68.1";
2
+ declare const SDK_VERSION = "0.69.0";
3
3
 
4
4
  export { SDK_VERSION };
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./chunk-VHAA22YE.js";
2
- const SDK_VERSION = "0.68.1";
2
+ const SDK_VERSION = "0.69.0";
3
3
  export {
4
4
  SDK_VERSION
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// GENERATED by scripts/gen-version.mjs from package.json — do not edit by hand.\n// Regenerated on every build (prebuild); kept honest by version.test.ts.\n\n/** This SDK's package version, baked from package.json at build (SP2-6). */\nexport const SDK_VERSION = '0.68.1';\n"],"mappings":";AAIO,MAAM,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/version.ts"],"sourcesContent":["// GENERATED by scripts/gen-version.mjs from package.json — do not edit by hand.\n// Regenerated on every build (prebuild); kept honest by version.test.ts.\n\n/** This SDK's package version, baked from package.json at build (SP2-6). */\nexport const SDK_VERSION = '0.69.0';\n"],"mappings":";AAIO,MAAM,cAAc;","names":[]}
package/dist/workspace.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./chunk-VHAA22YE.js";
2
- import { createPushChannel } from "./pushChannel";
3
- import { WORKSPACE, REQUEST_WORKSPACE } from "./generated/protocol";
2
+ import { createPushChannel } from "./pushChannel.js";
3
+ import { WORKSPACE, REQUEST_WORKSPACE } from "./generated/protocol.js";
4
4
  const DEFAULT_WORKSPACE = null;
5
5
  const isWorkspace = (v) => {
6
6
  const w = v;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@immediately-run/sdk",
3
- "version": "0.68.1",
3
+ "version": "0.69.0",
4
4
  "description": "Runtime SDK for code executing inside an immediately.run sandbox.",
5
5
  "license": "MIT",
6
6
  "repository": "github:immediately-run/immediately-run-sdk",
@@ -27,7 +27,7 @@
27
27
  "scripts": {
28
28
  "gen:version": "node scripts/gen-version.mjs",
29
29
  "prebuild": "node scripts/gen-version.mjs",
30
- "build": "tsup && node scripts/build-safecontent-deps.mjs && node scripts/copy-ambient-types.mjs",
30
+ "build": "tsup && node scripts/build-safecontent-deps.mjs && node scripts/copy-ambient-types.mjs && node scripts/fix-dist-esm-specifiers.mjs",
31
31
  "test": "jest",
32
32
  "format": "prettier --write \"src/**/*.{ts,tsx,js,mjs,json}\" \"test/**/*.{ts,mjs}\" \"scripts/**/*.mjs\"",
33
33
  "format:check": "prettier --check \"src/**/*.{ts,tsx,js,mjs,json}\" \"test/**/*.{ts,mjs}\" \"scripts/**/*.mjs\"",
@@ -36,14 +36,15 @@
36
36
  "api:selftest": "node scripts/check-api-stability.mjs --self-test",
37
37
  "protocol:check": "node scripts/check-protocol-snapshot.mjs",
38
38
  "verify:codegen-parity": "node scripts/codegen-prototype/verify-drift.mjs --self-test && node scripts/codegen-prototype/verify-drift.mjs && node scripts/codegen-prototype/verify.streams.mjs --self-test && node scripts/codegen-prototype/verify.streams.mjs",
39
+ "verify:descriptor-lockstep": "node scripts/codegen-prototype/verify-lockstep.mjs --self-test && node scripts/codegen-prototype/verify-lockstep.mjs",
39
40
  "api:update": "node scripts/check-api-stability.mjs --update",
40
41
  "check:pins": "node scripts/check-dependency-pins.mjs --self-test && node scripts/check-dependency-pins.mjs",
41
42
  "check:publish-version": "node scripts/check-publish-version.mjs --self-test && node scripts/check-publish-version.mjs",
42
43
  "check:clones": "node scripts/check-clones.mjs",
43
44
  "check:unused": "node scripts/check-unused.mjs",
44
45
  "check:untested": "node scripts/check-untested.mjs",
45
- "verify": "npm run check:pins && npm run check:publish-version && npm run format:check && npm run check:circular && npm run check:clones && npm run check:unused && npm run check:untested && npm run check:bundler:selftest && npm run check:bundler && npm run build && npm test && npm run test:safe-content && npm run test:metadata-e2e && npm run test:subpath-imports && npm run api:selftest && npm run api:check && npm run compat:selftest && npm run compat:previous && npm run protocol:check && npm run protocol:selftest && npm run check:ambient:selftest && npm run check:ambient && npm run check:selfhost:selftest && npm run check:selfhost && npm run verify:codegen-parity",
46
- "docs": "typedoc --json docs/api.json && node scripts/gen-llms.mjs",
46
+ "verify": "npm run check:pins && npm run check:publish-version && npm run format:check && npm run check:circular && npm run check:clones && npm run check:unused && npm run check:untested && npm run check:bundler:selftest && npm run check:bundler && npm run build && npm test && npm run test:safe-content && npm run test:metadata-e2e && npm run test:subpath-imports && npm run api:selftest && npm run api:check && npm run compat:selftest && npm run compat:previous && npm run protocol:check && npm run protocol:selftest && npm run check:ambient:selftest && npm run check:ambient && npm run check:selfhost:selftest && npm run check:selfhost && npm run check:dist-specifiers:selftest && npm run verify:codegen-parity && npm run verify:descriptor-lockstep",
47
+ "docs": "typedoc --json docs/api.json && node scripts/gen-descriptor-docs.mjs && node scripts/gen-llms.mjs",
47
48
  "prepublishOnly": "npm run check:circular && npm run build && npm run api:selftest && npm run api:check",
48
49
  "test:safe-content": "node scripts/build-safecontent-e2e.mjs && node --test test/safeContent.e2e.mjs",
49
50
  "test:metadata-e2e": "node --test test/metadataHooks.e2e.mjs",
@@ -57,6 +58,7 @@
57
58
  "check:bundler": "node scripts/check-bundler-reads.mjs",
58
59
  "check:bundler:selftest": "node scripts/check-bundler-reads.mjs --self-test",
59
60
  "check:ambient": "node scripts/check-ambient-types.mjs",
61
+ "check:dist-specifiers:selftest": "node scripts/fix-dist-esm-specifiers.mjs --self-test",
60
62
  "check:ambient:selftest": "node scripts/check-ambient-types.mjs --self-test"
61
63
  },
62
64
  "peerDependencies": {
@@ -67,7 +69,7 @@
67
69
  "@immediately-run/mdx-plugins": "0.7.1",
68
70
  "@immediately-run/platform-constants": "0.2.0",
69
71
  "@immediately-run/safe-content": "0.1.0",
70
- "@immediately-run/sandbox-protocol": "0.10.5",
72
+ "@immediately-run/sandbox-protocol": "0.10.6",
71
73
  "react-error-boundary": "^6.0.0"
72
74
  },
73
75
  "devDependencies": {