@wenathlan/devthink 2.0.94 → 2.0.98

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,99 @@
1
1
  # DevThink release notes
2
2
 
3
+ ## 2.0.98 — the one intro plays everywhere and the taskbar takes the bottom edge
4
+
5
+ ### Added
6
+
7
+ | Area | Change |
8
+ | --- | --- |
9
+ | The distribution rail | The explore landing gains the download rail: the chromium zip, the firefox xpi, the vs code vsix and the provenance set of the immutable tag, with the version riding the build from the root manifest (the __dtversion__ vite define) so the rail never drifts from the shipped envelope. |
10
+ | The one intro doctrine | The intro gate plays the web variant for every build target — web, binary and extension share the same entrance (the owner doctrine: one code, many distributions); the retired per-target variants stay exported beside the anchor. |
11
+ | The auth mica | The authentication stage wears the windows mica (the #1a1f35 bloom radial over #202020) instead of the flat slab. |
12
+
13
+ ### Changed
14
+
15
+ | Area | Change |
16
+ | --- | --- |
17
+ | The taskbar | The shell chrome takes the bottom edge like the real windows 11: the fixed bar with the top hairline, tooltips and the jump list flipping above, the start menu and the tray flyouts rising from the bar, the floating dock retired and the taskbar pins carrying the live window ladder (openApps). |
18
+ | The desktop geometry | The desktop area stops above the bar (the offset parent of the float band), the windows fly into their pins on it and the page shells breathe above the fixed bar. |
19
+
20
+ ### Fixed
21
+
22
+ | Area | Change |
23
+ | --- | --- |
24
+ | The chat window | The desktop chat opens in place as a floating window titled with the derived session name — the dead /chat route target and the session-fragment labels die; the optimistic messages survive the gateway identity frame and the hydration loop of the workspace routes is dead. |
25
+ | The gateway catalog | The engine config leaves the page folder for the repository root (gatewayviewconfig.ts) and the reviewed origins catalog answers the gateway upstreams as data rows. |
26
+ | The maintenance probe | The pnpm pin regex reads the crlf checkout and the acrylic webkit lines deduplicate — the ladder gates see the honest metadata. |
27
+
28
+ ## 2.0.97 — the windows hands complete every interaction and the stages walk the graphs
29
+
30
+ ### Added
31
+
32
+ | Area | Change |
33
+ | --- | --- |
34
+ | The windows interaction surface | The devthink desktop completes the macro layer the owner ordered: the pointer-captured window drag with the maximize ghost, the alt-tab switcher in acrylic with the keyboard grammar (alttab.ts + alttabswitcher.tsx), the recent-apps ladder behind the start recommendations, the win11 context menu with icon-and-shortcut rows and the quick-settings cellular tile. |
35
+ | The graph engine | The devthink root gains graphnodes, graphrunner and graphviewstate (the pure topological stage machine with per-node state, retries and stable waves), the console draws the boot stages as the trylle card graph and the forge/foundry roots carry their own plans so the runs and the artifact pipeline walk their nodes by stages. |
36
+ | The suno canvas of debonair | The debonair surface re-dresses on the captured suno tokens: the prompt-first hero, the song cards with the hover play, the stage stepper over the studio flow and the fixed acrylic player bar. |
37
+ | The micro windows pass | Argan, vault, getry, cadria, stealthhead, saddle, forge, foundry and cobaia close every control on the fluent hand: the 300ms acrylic tooltips, the disabled opacity, the opacity shimmer skeletons, the win11 scrollbars and the stagger entries — the identity color stays on the mark and the windows accent keeps the focus. |
38
+
39
+ ### Changed
40
+
41
+ | Area | Change |
42
+ | --- | --- |
43
+ | The cadria studio | The title bar drag rides the rAF batch with the snap ghost overlay (halves and maximize), the timeline scrubs per frame with the accent playhead and the gallery staggers the trylle elevation ladder. |
44
+ | The route surface | The devthink routes play the real windows entry and exit curves and the workspace routes survive the surface swap. |
45
+
46
+ ### Fixed
47
+
48
+ | Area | Change |
49
+ | --- | --- |
50
+ | The window listeners | The windowframe pointer listeners ride the event contract casts and the workbench reuses its live root across hot updates, so the dev server and the preview never blank on reload. |
51
+
52
+ ## 2.0.96 — the family wears the real windows face and the onboarding rides the db
53
+
54
+ ### Added
55
+
56
+ | Area | Change |
57
+ | --- | --- |
58
+ | The onboarding page of the os | The devthink sol gains the onboarding page the flow law demanded: the frame-a-frame tour in window grammar registers its anchor and route, the intro hands over to it and only a finished visitor reaches the explore surface. |
59
+ | The onboarding state catalog | Every application of the family gains the onboardingstate module (the one writer of the introseen and onboardingseen flags), the OnboardingState model in the prisma schema and the prepared-statement accessors in the db layer, so the seen state rides the database catalogue instead of a private browser flag. |
60
+ | The entry gate | The home anchor of every theme consults the entry gate before painting: an unseen intro replaces onto /intro, an unseen onboarding onto /onboarding and the orphan-route bug that let a first visit bypass the opening flow is dead. The devthink server answers the GET and POST of /api/v1/onboarding. |
61
+ | The devthink onboarding state test | The suite pins the https-only host validation, the doctrine keys and the base resolver of the state accessor. |
62
+
63
+ ### Changed
64
+
65
+ | Area | Change |
66
+ | --- | --- |
67
+ | The windows identity | The sol stylesheets of the whole family were rewritten integrally on the windows foundation — the mica desktop, the acrylic 48px bar, the 38×38 pins with the popintro bounce and the press scale, the ladder state indicator, the fluent window curve with the red close, the win11 scrollbars and the win10 blend on the inner controls — and the trylle ruler rides over the surfaces: the canvas ladder, the hairlines, the ring shadows, the 13px body on the inter and geist mono stacks, the .625rem radii and the real button tone stack. |
68
+ | The navigation shells | Every theme shell answers the windows hands — the resize handles, the inactive law, the caption buttons — while the amber general accent retires: each app keeps its own identity color on the mark and the content, and the focus and the bar cta wear the windows accent. |
69
+
70
+ ### Fixed
71
+
72
+ | Area | Change |
73
+ | --- | --- |
74
+ | The cobaia install contract | The cobaia pnpm workspace carries the allowBuilds map and the family override pins, so the frozen install builds the db engines and the osv scan answers clean. |
75
+ | The flat structure contract | The entry gates of debonair and getry answer their own name, the duplicate-content scan passes and the dependency updates of the ladder ride the sync. |
76
+
77
+ ## 2.0.95 — the cobaia rides the family and the doctrine audit closes the gates
78
+
79
+ ### Added
80
+
81
+ | Area | Change |
82
+ | --- | --- |
83
+ | The cobaia surface | The cobaia application joins the family as the monetization surface: the home, pricing, support, apps, legal and blog pages ride the family tree with the honest advertisement slots, the empty-state checkout links and the support rails, so the family sites stay clean while the plans and the support links carry the revenue. |
84
+ | The family pages lane | The family pages lane builds and deploys the cobaia under its own subpath, the envelope description answers the complete tree and the hashed build ghosts stay out of the tracked tree. |
85
+ | The engine tests | The cadria image render paint and the debonair katexis engine answer their own vitest suites, and the image pipeline holds the deterministic byte contract. |
86
+
87
+ ### Fixed
88
+
89
+ | Area | Change |
90
+ | --- | --- |
91
+ | The entry chain | The devthink entry chain rides the owner doctrine again: the intro hands over to the explore landing, the explore CTA walks the auth application page and the auth answers the panel, instead of the shortcut that jumped the visitor straight into the panel. |
92
+ | The window grammar | The cadria studio wears the family window again (the title bar, the drag, the maximize and the restore chip) and the intro CTAs walk the onboarding before the studio. |
93
+ | The pill ban | The saddle, stealthhead, forge, foundry and vault surfaces lose the 999px pills through the anti-pill pass appended per application, and the radius token answers the 0.625rem base. |
94
+ | The vitest suites | The saddle and cadria test suites ride the vitest runner (every node:test import left the tree), so the CI gate ladder reads the whole suite instead of refusing the files. |
95
+ | The release metadata | The release metadata resyncs across the envelope (the README, the release gates and the release notes answer the version again) and the caddy ghosts leave the family tree. |
96
+
3
97
  ## 2.0.94 — the family envelopes answer the stealthhead name over the refreshed ladder
4
98
 
5
99
  ### Fixed
package/bridge.d.ts CHANGED
@@ -428,7 +428,7 @@ import type { jsonrpcframe } from "./types.js";
428
428
  /** The native bridge protocol major version this build speaks: the handshake reports it, the upgrade path keeps compatibility for exactly one major version, and a host that speaks another major version degrades instead of breaking the run. */
429
429
  export declare const nativebridgeprotocolmajor = 1;
430
430
  /** The installer version the installer stamps into the install state; the upgrade path compares it so a manifest written by an older installer reports before it overwrites. */
431
- export declare const nativehostinstallerversion: "2.0.94";
431
+ export declare const nativehostinstallerversion: "2.0.98";
432
432
  /** The generated extension id placeholder the host manifest template carries: the installer replaces the token with the extension id of the installed build, so the template never pins an identity the user did not generate. */
433
433
  export declare const nativehostidplaceholder = "__generated_extension_id__";
434
434
  /** The native messaging directory name of the chromium user profile: the installer writes the host manifest beside it, never into a system directory without the explicit flag. */
package/bridge.js CHANGED
@@ -1,7 +1,7 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // version.ts
4
- var packageversion = "2.0.94";
4
+ var packageversion = "2.0.98";
5
5
  var protocolmajor = 2;
6
6
 
7
7
  // types.ts
package/bun.js CHANGED
@@ -1,7 +1,7 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // version.ts
4
- var packageversion = "2.0.94";
4
+ var packageversion = "2.0.98";
5
5
  var protocolmajor = 2;
6
6
  var protocolfloormajor = 2;
7
7
 
@@ -46057,7 +46057,7 @@ function onboardingsteps() {
46057
46057
  }
46058
46058
  ];
46059
46059
  }
46060
- function onboardingstart(previous, now) {
46060
+ function onboardingstart(_previous, now) {
46061
46061
  return { stepscompleted: [], done: false, startedat: now };
46062
46062
  }
46063
46063
  function onboardingcomplete(state, stepid, now) {
@@ -46319,7 +46319,9 @@ function focusorderof(controls = reviewdialogorder) {
46319
46319
  }
46320
46320
  if (controls.length === 0) throw new Error("The review dialog focus order needs its controls.");
46321
46321
  const order = controls.map((control, index) => ({ control, tabindex: index + 1 }));
46322
- return { order, focusfirst: controls[0] };
46322
+ const focusfirst = controls[0];
46323
+ if (!focusfirst) throw new Error("The review dialog focus order needs its controls.");
46324
+ return { order, focusfirst };
46323
46325
  }
46324
46326
  function statusbadgeof(input) {
46325
46327
  if (input.planstate === void 0) return { state: "idle", waitingcount: 0 };
@@ -46524,7 +46526,7 @@ function guidedtipdismiss(tips, dismissed, tipid) {
46524
46526
  if (tip === void 0) throw new Error(`The guidedtips know no ${tipid} tip.`);
46525
46527
  return [.../* @__PURE__ */ new Set([...dismissed, tipid])];
46526
46528
  }
46527
- function guidedtiprecall(dismissed) {
46529
+ function guidedtiprecall(_dismissed) {
46528
46530
  return [];
46529
46531
  }
46530
46532
  function pagechipof(input) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "surface": "background",
3
- "release": "2.0.94",
3
+ "release": "2.0.98",
4
4
  "protocolmajor": 2,
5
5
  "messages": [
6
6
  "applyprofile",
package/caps/cli.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "surface": "cli",
3
- "release": "2.0.94",
3
+ "release": "2.0.98",
4
4
  "protocolmajor": 2,
5
5
  "messages": [
6
6
  "commands",
package/caps/library.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "surface": "library",
3
- "release": "2.0.94",
3
+ "release": "2.0.98",
4
4
  "protocolmajor": 2,
5
5
  "messages": [
6
6
  "a11ycapture",
package/caps/mcp.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "surface": "mcp",
3
- "release": "2.0.94",
3
+ "release": "2.0.98",
4
4
  "protocolmajor": 2,
5
5
  "messages": [
6
6
  "browser.a11ytree",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "surface": "pagebridge",
3
- "release": "2.0.94",
3
+ "release": "2.0.98",
4
4
  "protocolmajor": 2,
5
5
  "messages": [
6
6
  "canvasdata",
package/caps/popup.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "surface": "popup",
3
- "release": "2.0.94",
3
+ "release": "2.0.98",
4
4
  "protocolmajor": 2,
5
5
  "messages": [
6
6
  "bridge",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "surface": "sidepanel",
3
- "release": "2.0.94",
3
+ "release": "2.0.98",
4
4
  "protocolmajor": 2,
5
5
  "messages": [
6
6
  "applyprofile",
package/checksums.txt CHANGED
@@ -1,35 +1,34 @@
1
- 70dbf9444d0f33e81900d69ce871c4bc3d7e830ba3c6c7744a9dbfc21170f955 CHANGELOG.md
2
- 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSE
1
+ 10b45cc76616255a87754cfb8efd4622a4aebfab7ed3c3f26021a668d174a745 CHANGELOG.md
3
2
  9dfe38a3b873d150550355596958cc83eb440c6e8ac2e4038dfc5609fc0f8f82 README.md
4
- 6694bfa9e56a732752a4624cb1517e35061c1aa518a029c2542882f91a612ed1 bridge.d.ts
3
+ 52c5a69427e571aad786c1ec3598a5277c51dbe46b2e2a3c2a7c941333f2e7ed bridge.d.ts
5
4
  a6d353d03e0e2d2cb116a057fcab7a2a6e3594290bcf66bc0ff5ea2656757c94 bridge.d.ts.map
6
- 590c8d620fb0631c053eeede24a6c68152cdd0e6c06189cb340dbfc1ed45dbda bridge.js
5
+ be5c6d35771b4f926f484b15914244879dcdeddddc3566213e23a7918a785f2e bridge.js
7
6
  9557339c2c57fb58212c3b90e8e5934ddba56066a2537d645e4cb34439fdc2ff bun.d.ts
8
7
  601a75f547bb845b8a81fa59a21d560691561eb17d598acb3fd1f4ac8421e424 bun.d.ts.map
9
- eb40c92ca1b51f8de2cb2ae52cf6953192457df8024b10a51c068ef554b89224 bun.js
10
- bcca8582ecc8117aec0d136d6e0c6f22ddc9f6d4a54a1c0e239de74d47337d80 caps/background.json
11
- 539bb434f62703b6b78d70be713a76529c31285006084ff8ac67d024117476ed caps/cli.json
12
- a715dd6f0e86255a43839132cabe2f3bddf06921a79ad64f937622c7ce196aec caps/library.json
13
- 1233e13e9288eb6a12ff6a63b7b62353cfd82bae8a2ddad4c7298ae9528ada57 caps/mcp.json
14
- 5521d6c394f858368a68653296bc642ffb47d87f4841997e30af83ff8688b5b5 caps/pagebridge.json
15
- a2ea9c7b3fc3c126c3178d6ec34be6bcc9d72c0eb339f4f7d2688f6d4f9add94 caps/popup.json
16
- 0356f7c380ab1df3b614deb7fcfcff6c609b96d90de6a90630b0c8fe86f06d96 caps/sidepanel.json
8
+ b8486aa6cf735b0feb46c5f7e257161c487078794bd7b6f7d8f1cf92234245c1 bun.js
9
+ d75e875e56c1ecc095cf100d81faab1e3690daef6d671a2f49cc192566547f86 caps/background.json
10
+ fe334f2dd9da018c786702730c6e802bc31474f6f43dc1c270f5900105f2317d caps/cli.json
11
+ fbbcdbfe4bfd1e23289c109593118e3a536b0cd2bb2a51620cf81e4017e95c41 caps/library.json
12
+ cbcf563a21c1199056d6bf5466cfbe3a963883603785dade54fa2c05ccd9b3e1 caps/mcp.json
13
+ 19cc3ccc39a9b352ac98ce46e9f7db61ce6a126a5dc75b6184c93913676189db caps/pagebridge.json
14
+ 33250c44e04d0dd0411451f87b3e463e88dd6a10c62e42994602054101aff4e5 caps/popup.json
15
+ 1efa59c25918ca83072662d7f661f5f8d843042338d3c898a996b984664b677f caps/sidepanel.json
17
16
  d35d001526d77c8f37371a39146587ea6ad86179167d82862284557adcd70f17 cli.d.ts
18
17
  f7bb3e1903702366effe6c081837b1060c26479740a808f11e0a08ea85e849c9 cli.d.ts.map
19
- 1a7aa9521288e98bc331e1523bc1f052bf5fbac53d48727a5016eaa6422b877b cli.js
18
+ d43978c84cd5e431eda270c21f7d76d95fe48e5fe162061088b5acd914055677 cli.js
20
19
  6d47383663f5efa626bfbc31977bc3df7cfb383725b243ce08057c059234e42f companion.d.ts
21
20
  df25256c8176fc547298c2fb5666bcbf0f01bec284a0dc94f66350f6c29a38be companion.d.ts.map
22
- cc704d084bbb61797efb94ec32e63e080179599f7ef7586a813c0db5f25b1fce companion.js
21
+ 4a160c3174c13fea7c01c93666794e60c0f48075c75684febde6ffbcd1ea7822 companion.js
23
22
  85824f4b1603769f1c117b524925f05a42d37f2bcb41e9d4d377e5408615721f crossbrowser.d.ts
24
23
  a7c4cd26ce8402a9ec1d11bd8dab4222d3c73a0e6f84915402c2fd60f8282d95 crossbrowser.d.ts.map
25
- 9de4942fe68e7fa47cb208447d9de159f1005bec6f4651e804e9213cee1d6540 crossbrowser.js
24
+ f280349125debade9a622dc86d30f03484b4afaf3e4fc8957f3adb05d113cc68 crossbrowser.js
26
25
  bc8f0d95430875b0fd8aff5c0744580d3dd07c5a0927aad4f2c54d34b83be016 dashdone.d.ts
27
26
  4d7e32ac75985463dd38a5c408e154276c902c1a1a9ba032d610bffc2b89eee5 dashdone.d.ts.map
28
- 1eb97130f92649b798be20de66c40edf021cb819d665c02611537c0bb0aea5ed dashdone.js
27
+ f9bab4981bacd2f3b4cc7966a01d03377c28e337a7f15fd10e961efde76ca885 dashdone.js
29
28
  fea8d906a8c3b0608a9ae4b622c0b88c78d535ed151aa9db29922d817c387495 deno.d.ts
30
29
  3b07bf585688565ff818934d7d38f26c0188fcaf44ddbc8727ad3c76999b826c deno.d.ts.map
31
- e18b524fa1312b697de7009a95052581d7c5df1b354ad4c751d30b33548ba4c7 deno.js
32
- c36a7fd39e04f8c5a73b2d19dfc68ac2b59b307805d682bd80215f8e474452ae devthink.umd.js
30
+ d46a8689a9e87e802fce15c473ee86882a7654866a00b4c89494d52b933dd7f2 deno.js
31
+ dd5392560d3cb32d2b933dbf20c258a333abc48a260fceb6f5a878d2af69d3b5 devthink.umd.js
33
32
  d8b6d1f6446da72d359dae978c5495244257dc70660415f8aaad96dd5075e241 fixtures/bun.ts
34
33
  702c21459e5d6d8d0b914a86bb6c3646a0be40e132b2d40cc04f2994cfbd1cf3 fixtures/cjs.js
35
34
  6bd268717a28a23405e5200264d47bb68aaf9c0d6d911674eaa22477bf19d003 fixtures/deno.ts
@@ -87,42 +86,42 @@ c93c417dbf3a43736845e653598624ee48e79f69bf93d36e3b19655e0a23b792 fixtures/recip
87
86
  6b757866f79c4a16098879f7cfffdb85557b7fb6ca4ec7b1c0cd1d1169c3e3c0 gallery.json
88
87
  16f6a0cdd78820a257d0fbb501784ed031dcffcdc4b9841d5279c8273e3776f4 hardening.d.ts
89
88
  eb153f3fa619ca8f59dd8abb598f33213a98026392854a32a7c305a73688bc95 hardening.d.ts.map
90
- 817ef068d3566b33371423a4a8318c21e374427de9e62aa578155e82fd4de6e2 hardening.js
89
+ 5d6aec7468c7a6309d96b00878556ceb8f21b9cff4d9569f26fa40fc519c72d5 hardening.js
91
90
  2e560159a8c3b121c91d83545e0dcfa03b79399ed052bc23a425b2d355839362 headless.d.ts
92
91
  f6a7bced8d6b26f05ca971e70aaa177b8be9fb5a7e25a17ab5f2235a8f9ed590 headless.d.ts.map
93
- 357b73e8acf0d42e6a1eaa53740970f105b40b957f3b50ae783c8f64dc2797f2 headless.js
92
+ b9bb38a0289d317835818eec7ed1f83111573cd680038ec96b8010afc2704e61 headless.js
94
93
  7aed8c110caffd11caf27d63b993ad71328851905f4faeea2a8e1442eba8e257 http.d.ts
95
94
  b1ab1184756d92fb301a71d5a696ed4cd70bb4953f292002f01930c9e4893024 http.d.ts.map
96
- 28066ce264fa2183a39dfb7e9e3322904e2c693413937c64bfcd89aa7eb29b06 http.js
97
- ea2872ad0c6e2d1ed39d7eafff47e37f9dc1469904f410e40e3fee11e10f3961 index.cjs
95
+ 5c1342b495f2de99570faaada8b6d5820c0acb91a6e761e1bf0724cdc3a1ee14 http.js
96
+ a50fd600a0cc1096027d5b6a048c8b28d259339b9d6edd59e79a1f06b083e1a2 index.cjs
98
97
  31b2f3e15bb0b8cbef623b438f01bb8424909686424a98dd88366412d063d7ed index.d.ts
99
98
  9398106d8b2277fb1c40892eff062a8cc8e605837d01f191fb783517367860fc index.d.ts.map
100
- 17803cacc2f22cf227e9c954e1d13609a6b4bade09fa18a93cc1e9e72dbf9140 index.js
101
- 5b067293ae9415c87ca0332091485231a02a6428b276e37b688adb89f7de445b index.neutral.js
102
- 01b6058dfc4a9bbb3a7ebfb9c1393b93c98209327d8d73bc23a3a6c15828c4bc manifest.json
99
+ 70f60d57895a2979b7962e174c7e15b29b584485f72d7bead1aea4b5e3e241de index.js
100
+ ee0456253c281ff93482a1b9b663d5eaa842791da4b1e8b9b1916d8afb1ea663 index.neutral.js
101
+ 6373240b4de634c2f4966a148e40aa54eb1099f24e157d3aa92f2ae3ccb633c9 manifest.json
103
102
  4a4a38d5c2f25f6e33d7fea853a074d4c82dfe5c721506ca4636b1d65c130f10 mcp.d.ts
104
103
  dd22f998da99d77485e863c4e7f1f906bb46dc03ee500efe99a5c09a935f4539 mcp.d.ts.map
105
- 9bd6f8b5d7e748e549db7880d8121a0ebb65450ff9db16c85eb536dc6620a68d mcp.js
104
+ bc4d233383a82fd7588b98a8484f920453fcbc66ccdb922e4312e0a1ae6150db mcp.js
106
105
  ce98408283eccac2d435ac0e0ceb6bb5456e1eb70edb03a03e347a9f82f99c69 memory.d.ts
107
106
  9f4c19494bb1b2260a4d15c4c2dce4d2b3f5da96f07b8fbe9037f9b5fe31c8e1 memory.d.ts.map
108
- 46ab2686149482ef23de1aca933dda5ca10097e3e0e065a6ce34484f1f554bf4 memory.js
109
- e1234ad2d546dfbfd8946509baa31fd5d3e31c3df504d90b5d329c6825f94b79 nativehost.template.json
110
- 0c7e8fbbed492aac73f4754d7a9252ee7dd9b0d2b29ea25038446547c4ea3759 node.cjs
107
+ 7eac1e1318530939c4596d932d6f1652e7b1a1caf032f6e80584b5928e5fb0a1 memory.js
108
+ 5b197043efe5b195a0d7cb48f7b8f2584138d8f0091dcac6b1e86781db338a42 nativehost.template.json
109
+ d914b6de62eacf045039dd15eb1da476dfb774e1973f6351aea89a63716db3e8 node.cjs
111
110
  705d895c58fe6816958f0fed4bef0a6f79e5fc521ab49d9cf83e0fbcd9d71afe node.d.ts
112
111
  45f4394eca20fc889fe1128059ce20130d26a5ae0d89008a7ca93f0e4d52841b node.d.ts.map
113
112
  5ec83bc409bed888ae13ab55d1f329ac630a3cf2f0db0e2414c28324329c055b pack.d.ts
114
113
  619d43a5239d770c3382af3dd57e2588dd067ded81ca8c106d404e6709324a63 pack.d.ts.map
115
- a6b87b9042df09d93c364ecf573eaa5c17b22823da046e03ea539293c778069f pack.js
116
- 31abaf8aa899f09ee1944d79606672a32e8823c5a7dd0e79a53d0237b20c73a0 package.json
114
+ d42e5ffb6139c4312c142e2bfb2b877143837820438ea12b708e51f8658e2b0e pack.js
115
+ ac95df21190234cd9173a67c03e6d74d7ea8d77e6a957c8108c6c99eb3dd064c package.json
117
116
  e3a2ed944a0bc1ef4943ee250a57e428ce49d781d30de6072571e0bc5d8c0259 policy.d.ts
118
117
  8f4fabc57c883e12ac7c7ab280749dc7c2d402c4fce401bef235c5e451b6975a policy.d.ts.map
119
- b74629cce5219a0fe452c5b0b2726911fe96b2fa8f573022b7972a6ed2acaabc policy.js
118
+ e23e2bb2b89bff08298144dfdd4e2014cce87e225c02c7b35969d711fe6cb8e6 policy.js
120
119
  ea621ab35e610fbe8acb8e91f21ed2c74a6b20bba537c5982f31458d6878b90b progress.d.ts
121
120
  33383e690d77faf6f5959846839603079e7f90e1e3dd17cbcc9a4e3fcf1c5641 progress.d.ts.map
122
- fb9bab1dfc6ed3c28852ea81c6a2ac36adae97aa44b52347689b3df32ac03fb4 progress.js
121
+ 3f48dda73a5b022cc4588f799e672f13f2225e6aa7464fe2c144ab31422e1b71 progress.js
123
122
  d2e54016f0cad51928752882d780066ccf2267d383deb2407ea7b2f97dfd26e7 protocol.d.ts
124
123
  487f8fc63061cb26cbda7f122409d9952810ba3a76b19d147c98d151d4f45d64 protocol.d.ts.map
125
- 2fd6970c8c623d3f26481e93f0de139e2b7991f6d1a731a238b6c45074a80d0f protocol.js
124
+ 9dc8b1a01697535202f2cfcd9036b187fcf830786824d73183c52b5ab85bd737 protocol.js
126
125
  456c4a26fd65c728f2dcb9e615ec6e4d446d7e4228bfa3f70ce2b17ee3d6a2c2 schemas/audit.schema.json
127
126
  ea272aa6bf4df585ae1ca8ca63e36d7ec713c46187f37ed86ff3620a0e8509b2 schemas/capability.schema.json
128
127
  6e9d2291dc54f7d01463e5f70c8f0793d952a63f4096d61ee4dbc4bfd6f6b0a0 schemas/envelope.schema.json
@@ -133,10 +132,10 @@ a02073c153d1248638fa3cbb5f0749534382cf262d09671018cdfc538ae74430 schemas/progre
133
132
  8e104f945a846463c1020cbed21c655f233a943d6e2a18c88b37c7ab56b86de1 schemas/proposal.schema.json
134
133
  d0e0365a7641c0127338c14a5318c4591dc598b7d2a36b7b2944219921d1ce4e schemas/session.schema.json
135
134
  5bb7d16534b52ca3a7171178065fb7b283947accd1b616ce89e330eb7a91b82e schemas/tool.schema.json
136
- 76f61b03cb67ab85b1bfd0f14014ff87ef5689975ab37e7b598ad6cdf837bafd server.d.ts
137
- 6d552a1dab4691bbf673148a5b5915017eed900ef10dc7573c0c1d7125fa4328 server.d.ts.map
138
- 88c2753459720002d2fd398f1c61a29f4d150f6e62abe2e37e0b29b510a4e980 server.js
139
- 2d1e706174bb5b0abb672d92fdbf7c2541344c53006e8dd4555040ee0a746b0d umd-example.html
135
+ 57dfca40f53706c5c5070ea49068c828ae7cfceab04e1e095b9b466821a9110c server.d.ts
136
+ e2315b703aaa63041f8907025f810f80c6d6fe39e825815e9564d3a7ac58ea92 server.d.ts.map
137
+ 5fb9400e15854232d95720c4bbe1be7d5963e6c68889c613ee484bfa54acad0f server.js
138
+ 1e94d064c73966be851f16dc9aaae435af39015b49922515e69569e8b52a9a25 umd-example.html
140
139
  16f66af22e038e4f9328420a0ed0ee34145ca79c938940e8c2e6d232e25a7c09 umd.d.ts
141
140
  ac25f7481155ac9321c5a657e7c4a53570bee8b3f63fe3527045260523a494c8 umd.d.ts.map
142
141
  58e21373cec5ade3e6698da5b36ecc2bf7e7e2f755c6fb5e3a6605b535b93985 manifest.json key
package/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
3
3
 
4
4
  // cli.ts
5
5
  import { createInterface } from "node:readline/promises";
@@ -569,7 +569,7 @@ function endcall(input) {
569
569
  }
570
570
 
571
571
  // version.ts
572
- var packageversion = "2.0.94";
572
+ var packageversion = "2.0.98";
573
573
  var protocolmajor = 2;
574
574
  var protocolfloormajor = 2;
575
575
 
package/companion.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! devthink 2.0.94 companion — the optional native host of the native bridge — GPL-3.0-only — built with plain node, no native compiler */
1
+ /*! devthink 2.0.98 companion — the optional native host of the native bridge — GPL-3.0-only — built with plain node, no native compiler */
2
2
 
3
3
  // companion.ts
4
4
  import { createHash, randomBytes } from "node:crypto";
@@ -16,7 +16,7 @@ var nativehosttemplatejson = `{
16
16
  "devthinkBanner": "devthink __devthink_version__ native host manifest template \u2014 GPL-3.0-only \u2014 the chromium host manifest of the optional companion process"
17
17
  }
18
18
  `;
19
- var companionbuild = "2.0.94";
19
+ var companionbuild = "2.0.98";
20
20
  var companionprotocol = 1;
21
21
  var companionsurfaces = ["osdialog", "notification"];
22
22
  var maxnativemessage = 1024 * 1024;
package/crossbrowser.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // crossbrowser.ts
4
4
  var browserpolyfillflags = [
package/dashdone.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // dashdone.ts
4
4
  function dashboardviewerof(input) {
package/deno.js CHANGED
@@ -1,7 +1,7 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // version.ts
4
- var packageversion = "2.0.94";
4
+ var packageversion = "2.0.98";
5
5
  var protocolmajor = 2;
6
6
  var protocolfloormajor = 2;
7
7
 
@@ -46057,7 +46057,7 @@ function onboardingsteps() {
46057
46057
  }
46058
46058
  ];
46059
46059
  }
46060
- function onboardingstart(previous, now) {
46060
+ function onboardingstart(_previous, now) {
46061
46061
  return { stepscompleted: [], done: false, startedat: now };
46062
46062
  }
46063
46063
  function onboardingcomplete(state, stepid, now) {
@@ -46319,7 +46319,9 @@ function focusorderof(controls = reviewdialogorder) {
46319
46319
  }
46320
46320
  if (controls.length === 0) throw new Error("The review dialog focus order needs its controls.");
46321
46321
  const order = controls.map((control, index) => ({ control, tabindex: index + 1 }));
46322
- return { order, focusfirst: controls[0] };
46322
+ const focusfirst = controls[0];
46323
+ if (!focusfirst) throw new Error("The review dialog focus order needs its controls.");
46324
+ return { order, focusfirst };
46323
46325
  }
46324
46326
  function statusbadgeof(input) {
46325
46327
  if (input.planstate === void 0) return { state: "idle", waitingcount: 0 };
@@ -46524,7 +46526,7 @@ function guidedtipdismiss(tips, dismissed, tipid) {
46524
46526
  if (tip === void 0) throw new Error(`The guidedtips know no ${tipid} tip.`);
46525
46527
  return [.../* @__PURE__ */ new Set([...dismissed, tipid])];
46526
46528
  }
46527
- function guidedtiprecall(dismissed) {
46529
+ function guidedtiprecall(_dismissed) {
46528
46530
  return [];
46529
46531
  }
46530
46532
  function pagechipof(input) {
package/devthink.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
  (function (root, factory) {
3
3
  if (typeof define === "function" && define.amd) { define([], factory); }
4
4
  else if (typeof module === "object" && module.exports) { module.exports = factory(); }
@@ -2365,7 +2365,7 @@ __export(umd_exports, {
2365
2365
  module.exports = __toCommonJS(umd_exports);
2366
2366
 
2367
2367
  // version.ts
2368
- var packageversion = "2.0.94";
2368
+ var packageversion = "2.0.98";
2369
2369
  var protocolmajor = 2;
2370
2370
  var protocolfloormajor = 2;
2371
2371
 
@@ -48421,7 +48421,7 @@ function onboardingsteps() {
48421
48421
  }
48422
48422
  ];
48423
48423
  }
48424
- function onboardingstart(previous, now) {
48424
+ function onboardingstart(_previous, now) {
48425
48425
  return { stepscompleted: [], done: false, startedat: now };
48426
48426
  }
48427
48427
  function onboardingcomplete(state, stepid, now) {
@@ -48683,7 +48683,9 @@ function focusorderof(controls = reviewdialogorder) {
48683
48683
  }
48684
48684
  if (controls.length === 0) throw new Error("The review dialog focus order needs its controls.");
48685
48685
  const order = controls.map((control, index) => ({ control, tabindex: index + 1 }));
48686
- return { order, focusfirst: controls[0] };
48686
+ const focusfirst = controls[0];
48687
+ if (!focusfirst) throw new Error("The review dialog focus order needs its controls.");
48688
+ return { order, focusfirst };
48687
48689
  }
48688
48690
  function statusbadgeof(input) {
48689
48691
  if (input.planstate === void 0) return { state: "idle", waitingcount: 0 };
@@ -48888,7 +48890,7 @@ function guidedtipdismiss(tips, dismissed, tipid) {
48888
48890
  if (tip === void 0) throw new Error(`The guidedtips know no ${tipid} tip.`);
48889
48891
  return [.../* @__PURE__ */ new Set([...dismissed, tipid])];
48890
48892
  }
48891
- function guidedtiprecall(dismissed) {
48893
+ function guidedtiprecall(_dismissed) {
48892
48894
  return [];
48893
48895
  }
48894
48896
  function pagechipof(input) {
package/hardening.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // security.ts
4
4
  var maskmarker = "[redacted]";
package/headless.js CHANGED
@@ -1,7 +1,7 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // version.ts
4
- var packageversion = "2.0.94";
4
+ var packageversion = "2.0.98";
5
5
  var protocolmajor = 2;
6
6
 
7
7
  // runtime.ts
package/http.js CHANGED
@@ -1,7 +1,7 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // version.ts
4
- var packageversion = "2.0.94";
4
+ var packageversion = "2.0.98";
5
5
  var protocolmajor = 2;
6
6
 
7
7
  // types.ts
package/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -2356,7 +2356,7 @@ __export(cjs_exports, {
2356
2356
  module.exports = __toCommonJS(cjs_exports);
2357
2357
 
2358
2358
  // version.ts
2359
- var packageversion = "2.0.94";
2359
+ var packageversion = "2.0.98";
2360
2360
  var protocolmajor = 2;
2361
2361
  var protocolfloormajor = 2;
2362
2362
 
@@ -48412,7 +48412,7 @@ function onboardingsteps() {
48412
48412
  }
48413
48413
  ];
48414
48414
  }
48415
- function onboardingstart(previous, now) {
48415
+ function onboardingstart(_previous, now) {
48416
48416
  return { stepscompleted: [], done: false, startedat: now };
48417
48417
  }
48418
48418
  function onboardingcomplete(state, stepid, now) {
@@ -48674,7 +48674,9 @@ function focusorderof(controls = reviewdialogorder) {
48674
48674
  }
48675
48675
  if (controls.length === 0) throw new Error("The review dialog focus order needs its controls.");
48676
48676
  const order = controls.map((control, index) => ({ control, tabindex: index + 1 }));
48677
- return { order, focusfirst: controls[0] };
48677
+ const focusfirst = controls[0];
48678
+ if (!focusfirst) throw new Error("The review dialog focus order needs its controls.");
48679
+ return { order, focusfirst };
48678
48680
  }
48679
48681
  function statusbadgeof(input) {
48680
48682
  if (input.planstate === void 0) return { state: "idle", waitingcount: 0 };
@@ -48879,7 +48881,7 @@ function guidedtipdismiss(tips, dismissed, tipid) {
48879
48881
  if (tip === void 0) throw new Error(`The guidedtips know no ${tipid} tip.`);
48880
48882
  return [.../* @__PURE__ */ new Set([...dismissed, tipid])];
48881
48883
  }
48882
- function guidedtiprecall(dismissed) {
48884
+ function guidedtiprecall(_dismissed) {
48883
48885
  return [];
48884
48886
  }
48885
48887
  function pagechipof(input) {
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
- /*! devthink 2.0.94 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
1
+ /*! devthink 2.0.98 — consent-first browser agent library — GPL-3.0-only — https://github.com/wenathlan/devthink */
2
2
 
3
3
  // version.ts
4
- var packageversion = "2.0.94";
4
+ var packageversion = "2.0.98";
5
5
  var protocolmajor = 2;
6
6
  var protocolfloormajor = 2;
7
7
 
@@ -46057,7 +46057,7 @@ function onboardingsteps() {
46057
46057
  }
46058
46058
  ];
46059
46059
  }
46060
- function onboardingstart(previous, now) {
46060
+ function onboardingstart(_previous, now) {
46061
46061
  return { stepscompleted: [], done: false, startedat: now };
46062
46062
  }
46063
46063
  function onboardingcomplete(state, stepid, now) {
@@ -46319,7 +46319,9 @@ function focusorderof(controls = reviewdialogorder) {
46319
46319
  }
46320
46320
  if (controls.length === 0) throw new Error("The review dialog focus order needs its controls.");
46321
46321
  const order = controls.map((control, index) => ({ control, tabindex: index + 1 }));
46322
- return { order, focusfirst: controls[0] };
46322
+ const focusfirst = controls[0];
46323
+ if (!focusfirst) throw new Error("The review dialog focus order needs its controls.");
46324
+ return { order, focusfirst };
46323
46325
  }
46324
46326
  function statusbadgeof(input) {
46325
46327
  if (input.planstate === void 0) return { state: "idle", waitingcount: 0 };
@@ -46524,7 +46526,7 @@ function guidedtipdismiss(tips, dismissed, tipid) {
46524
46526
  if (tip === void 0) throw new Error(`The guidedtips know no ${tipid} tip.`);
46525
46527
  return [.../* @__PURE__ */ new Set([...dismissed, tipid])];
46526
46528
  }
46527
- function guidedtiprecall(dismissed) {
46529
+ function guidedtiprecall(_dismissed) {
46528
46530
  return [];
46529
46531
  }
46530
46532
  function pagechipof(input) {