stitchkit 0.102.0 → 0.103.1

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 (103) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/agent-runtime/browser-control-contract.d.ts +1118 -0
  3. package/dist/agent-runtime/browser-control-contract.d.ts.map +1 -0
  4. package/dist/agent-runtime/browser-controller.d.ts +31 -0
  5. package/dist/agent-runtime/browser-controller.d.ts.map +1 -0
  6. package/dist/agent-runtime/harness-control.d.ts.map +1 -1
  7. package/dist/agent-runtime/harness-realtime.d.ts +25 -0
  8. package/dist/agent-runtime/harness-realtime.d.ts.map +1 -0
  9. package/dist/agent-runtime/harness-tools.d.ts +11 -0
  10. package/dist/agent-runtime/harness-tools.d.ts.map +1 -0
  11. package/dist/agent-runtime/react.d.ts +4 -0
  12. package/dist/agent-runtime/react.d.ts.map +1 -0
  13. package/dist/agent-runtime/run-assertions.d.ts +63 -0
  14. package/dist/agent-runtime/run-assertions.d.ts.map +1 -0
  15. package/dist/application/diagnostic-journal-contract.d.ts +46 -7
  16. package/dist/application/diagnostic-journal-contract.d.ts.map +1 -1
  17. package/dist/application/diagnostic-journal-frame.d.ts +9 -0
  18. package/dist/application/diagnostic-journal-frame.d.ts.map +1 -0
  19. package/dist/application/diagnostic-journal-manager.d.ts.map +1 -1
  20. package/dist/application/diagnostic-journal-read-contract.d.ts +110 -0
  21. package/dist/application/diagnostic-journal-read-contract.d.ts.map +1 -0
  22. package/dist/application/diagnostic-journal-reader.d.ts +13 -0
  23. package/dist/application/diagnostic-journal-reader.d.ts.map +1 -0
  24. package/dist/application/diagnostic-journal-recovery.d.ts +4 -0
  25. package/dist/application/diagnostic-journal-recovery.d.ts.map +1 -0
  26. package/dist/application/diagnostic-journal-storage.d.ts +2 -0
  27. package/dist/application/diagnostic-journal-storage.d.ts.map +1 -1
  28. package/dist/entrypoints/agent-runtime/browser.d.ts +2 -0
  29. package/dist/entrypoints/agent-runtime/browser.d.ts.map +1 -1
  30. package/dist/entrypoints/agent-runtime/browser.js +235 -0
  31. package/dist/entrypoints/agent-runtime/harness-tools.d.ts +2 -0
  32. package/dist/entrypoints/agent-runtime/harness-tools.d.ts.map +1 -0
  33. package/dist/entrypoints/agent-runtime/harness-tools.js +32 -0
  34. package/dist/entrypoints/agent-runtime/harness.js +11 -226
  35. package/dist/entrypoints/agent-runtime/react.d.ts +2 -0
  36. package/dist/entrypoints/agent-runtime/react.d.ts.map +1 -0
  37. package/dist/entrypoints/agent-runtime/react.js +8 -0
  38. package/dist/entrypoints/agent-runtime/realtime.d.ts +2 -0
  39. package/dist/entrypoints/agent-runtime/realtime.d.ts.map +1 -0
  40. package/dist/entrypoints/agent-runtime/realtime.js +159 -0
  41. package/dist/entrypoints/agent-runtime/testing.d.ts +1 -0
  42. package/dist/entrypoints/agent-runtime/testing.d.ts.map +1 -1
  43. package/dist/entrypoints/agent-runtime/testing.js +67 -2
  44. package/dist/entrypoints/agent-runtime.js +23 -18
  45. package/dist/entrypoints/application/diagnostic-journal.d.ts +1 -0
  46. package/dist/entrypoints/application/diagnostic-journal.d.ts.map +1 -1
  47. package/dist/entrypoints/application/diagnostic-journal.js +213 -19
  48. package/dist/entrypoints/application.d.ts +1 -0
  49. package/dist/entrypoints/application.d.ts.map +1 -1
  50. package/dist/entrypoints/application.js +10 -2
  51. package/dist/entrypoints/cli.js +6 -6
  52. package/dist/entrypoints/index.js +15 -226
  53. package/dist/entrypoints/node.js +7 -5
  54. package/dist/entrypoints/observability.js +2 -2
  55. package/dist/entrypoints/react.js +2 -2
  56. package/dist/entrypoints/remote.js +3 -3
  57. package/dist/entrypoints/server.js +10 -8
  58. package/dist/entrypoints/testing.js +3 -3
  59. package/dist/entrypoints/tools/invoker.js +5 -5
  60. package/dist/entrypoints/tools.js +23 -34
  61. package/dist/entrypoints/tracking.js +2 -2
  62. package/dist/{index-d82d3xg4.js → index-0c419yx7.js} +1 -1
  63. package/dist/{index-dvwj1f43.js → index-0efgsyav.js} +1 -1
  64. package/dist/index-20yvtn9a.js +38 -0
  65. package/dist/{index-a9pd417t.js → index-5vyd0fkb.js} +1 -34
  66. package/dist/{index-r1z0rd9c.js → index-7n68nmc6.js} +1 -1
  67. package/dist/index-860vjkgm.js +48 -0
  68. package/dist/index-c9d05kvt.js +11 -0
  69. package/dist/{index-m9fndta6.js → index-ds7jdhep.js} +2 -2
  70. package/dist/index-jn9g8xdt.js +246 -0
  71. package/dist/{index-n9tyz8z3.js → index-kgmh97hf.js} +1 -1
  72. package/dist/{index-c6aagrbd.js → index-kkk1wzsq.js} +3 -3
  73. package/dist/index-nggfa2yn.js +34 -0
  74. package/dist/{index-m79yr938.js → index-pw99k9h5.js} +1 -10
  75. package/dist/index-qapzv4p5.js +54 -0
  76. package/dist/index-r34mvse1.js +225 -0
  77. package/dist/index-srs8hj9c.js +10 -0
  78. package/dist/index-vgkbcnkc.js +29 -0
  79. package/dist/{index-ewbaywk5.js → index-x1dkwx5x.js} +1 -1
  80. package/dist/{index-xkhk5d6g.js → index-xgc94hy6.js} +5 -48
  81. package/dist/{index-3ct7hhq6.js → index-xwq9j1sf.js} +6 -56
  82. package/dist/{index-hby4qhax.js → index-yex7eg1v.js} +4 -10
  83. package/dist/{index-1h6gtdrj.js → index-ygkka6zn.js} +1 -1
  84. package/dist/{index-zs4ms3th.js → index-z3pqcy7r.js} +7 -30
  85. package/dist/index-z94wht4y.js +156 -0
  86. package/dist/index-ze1eph1k.js +20 -0
  87. package/llms/agent-runtime-browser.txt +26 -0
  88. package/llms/agent-runtime-harness-tools.txt +25 -0
  89. package/llms/agent-runtime-harness.txt +140 -1
  90. package/llms/agent-runtime-react.txt +21 -0
  91. package/llms/agent-runtime-realtime.txt +30 -0
  92. package/llms/agent-runtime-testing.txt +6 -0
  93. package/llms/application-diagnostic-journal.txt +2 -0
  94. package/llms/application.2.txt +157 -267
  95. package/llms/application.3.txt +278 -0
  96. package/llms/application.txt +43 -158
  97. package/llms/stitchkit.txt +9 -5
  98. package/llms/{upgrading-0.75.0-0.102.0.txt → upgrading-0.75.0-0.103.0.txt} +32 -3
  99. package/llms/upgrading.txt +1 -1
  100. package/llms-full.txt +289 -9
  101. package/llms.txt +11 -7
  102. package/package.json +13 -1
  103. package/dist/index-h124epcf.js +0 -103
package/CHANGELOG.md CHANGED
@@ -15,6 +15,70 @@ additive**; the first breaking change landed in 0.10.0. Grep the file for
15
15
 
16
16
  ## [Unreleased]
17
17
 
18
+ ## [0.103.1] — 2026-09-30
19
+
20
+ ### Added
21
+
22
+ - Agent composition over existing owners: `createAgentHarnessTools` in the optional
23
+ `stitchkit/agent-runtime/harness-tools` leaf keeps the full mount
24
+ configuration and adds the run fence; `createAgentController` handles one conversation
25
+ over the existing realtime client. `useAgent` observes that controller from the optional
26
+ `stitchkit/agent-runtime/react` leaf. `bindAgentHarnessRealtime` in the optional
27
+ `stitchkit/agent-runtime/realtime` leaf derives context from server authorization and
28
+ refuses forged tool evidence. Custom callbacks and resource allowlists remain intact.
29
+ - `inspectAgentRun` in `stitchkit/agent-runtime/testing` checks exact-run calls, successful
30
+ tool results and successful terminal output. Policy stops and pending approvals fail
31
+ completion assertions. Public surface budgets grow only for these composition owners.
32
+ See ADR 0220 and the [composition guide](docs/guide/agent-composition.md).
33
+
34
+ ### Fixed
35
+
36
+ - Detaching while an agent-control attachment snapshot is pending cancels the attachment
37
+ and releases its lease, so closing a browser view cannot retain conversation control.
38
+
39
+ ## [0.103.0] — 2026-09-30
40
+
41
+ ### ⚠️ Breaking changes
42
+
43
+ - `stitchkit/application/diagnostic-journal` — **torn startup with `maxFiles: 1`
44
+ now throws `DiagnosticJournalRecoveryError` before deleting any evidence**.
45
+ Previously startup discarded the active file and continued. To preserve it,
46
+ `limits: { ...limits, maxFiles: 1 }` → `limits: { ...limits, maxFiles: 2 }`.
47
+ The acquired lock is released on refusal. → ADR 0219.
48
+ - `stitchkit/application/diagnostic-journal` — **startup inspects retained files
49
+ and throws on inspection I/O failures**, instead of accepting unreadable
50
+ archives unchecked. Unreadable archive + successful startup → explicit
51
+ startup failure; restore the writer's read access before opening the journal.
52
+ Corrupt rows themselves are reported through recovery status. → ADR 0219.
53
+
54
+ **Who must act:** operators using single-file retention with a potentially torn
55
+ active file, or retaining archives the writer cannot read. Configure at least two
56
+ slots for tail recovery and ensure read access to retained generations.
57
+
58
+ ### Added
59
+
60
+ - `stitchkit/application/diagnostic-journal` — `readDiagnosticJournal` streams
61
+ finite file snapshots through an owner `eventSchema`, retaining at most
62
+ `maxLineBytes` of a row plus a fixed read chunk. It yields valid frames and
63
+ explicit anomalies with file, byte offset, line, reason and skipped-byte count;
64
+ filesystem errors throw separately. Complete frames without a final LF remain
65
+ readable with a tail warning. Symlinks and non-regular paths are refused.
66
+ - `stitchkit/application` — schema-backed anomaly/read-result/recovery contracts
67
+ and `DiagnosticJournalRecoveryError`. Reviewed surface budgets increase by
68
+ seven pure exports here and two reader exports in the filesystem leaf. → ADR 0219.
69
+
70
+ ### Fixed
71
+
72
+ - Diagnostic journal startup inspects active and retained generations under the
73
+ exclusive lock. `getStatus().recovery` reports bounded startup observations of
74
+ damaged rows; another start reconstructs them from the preserved files. A torn
75
+ active file still rotates intact under the configured retention policy.
76
+ With `maxFiles: 1`, startup throws `DiagnosticJournalRecoveryError` before
77
+ deleting active or archived evidence and releases the lock. Configure at least
78
+ two files to retain the torn file during recovery.
79
+ - Diagnostic journal integer schemas use Zod's `.int()` without deprecated
80
+ `.safe()`; values outside the safe integer range remain rejected.
81
+
18
82
  ## [0.102.0] — 2026-09-30
19
83
 
20
84
  ### ⚠️ Breaking changes