stitchkit 0.80.1 → 0.82.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 (184) hide show
  1. package/CHANGELOG.md +6552 -0
  2. package/README.md +4 -0
  3. package/dist/agent-runtime/provider-failure.d.ts.map +1 -1
  4. package/dist/agent-runtime-coding-tools.js +1 -1
  5. package/dist/agent-runtime-harness.js +7 -5
  6. package/dist/agent-runtime.js +15 -19
  7. package/dist/application/notification-outbox.d.ts +80 -0
  8. package/dist/application/notification-outbox.d.ts.map +1 -0
  9. package/dist/application/process-lifecycle.d.ts +166 -0
  10. package/dist/application/process-lifecycle.d.ts.map +1 -0
  11. package/dist/application/state-store.d.ts +18 -0
  12. package/dist/application/state-store.d.ts.map +1 -0
  13. package/dist/application.d.ts +3 -0
  14. package/dist/application.d.ts.map +1 -1
  15. package/dist/application.js +568 -11
  16. package/dist/browser/http.d.ts +14 -0
  17. package/dist/browser/http.d.ts.map +1 -1
  18. package/dist/browser/resumable.d.ts +6 -0
  19. package/dist/browser/resumable.d.ts.map +1 -1
  20. package/dist/cli.js +9 -7
  21. package/dist/contract/define.d.ts +27 -4
  22. package/dist/contract/define.d.ts.map +1 -1
  23. package/dist/contract/errors-factory.d.ts +22 -3
  24. package/dist/contract/errors-factory.d.ts.map +1 -1
  25. package/dist/contract/index.d.ts +2 -2
  26. package/dist/contract/index.d.ts.map +1 -1
  27. package/dist/contract/index.js +1 -1
  28. package/dist/geo/index.d.ts +4 -0
  29. package/dist/geo/index.d.ts.map +1 -0
  30. package/dist/geo/maxmind.d.ts +4 -0
  31. package/dist/geo/maxmind.d.ts.map +1 -0
  32. package/dist/geo/resolver.d.ts +9 -0
  33. package/dist/geo/resolver.d.ts.map +1 -0
  34. package/dist/geo/types.d.ts +59 -0
  35. package/dist/geo/types.d.ts.map +1 -0
  36. package/dist/geo.d.ts +3 -0
  37. package/dist/geo.d.ts.map +1 -0
  38. package/dist/geo.js +245 -0
  39. package/dist/{index-9s6z8vgf.js → index-1dd82z59.js} +1 -1
  40. package/dist/{index-vwp69871.js → index-27487ay5.js} +4 -4
  41. package/dist/{index-7ag81v2f.js → index-27gm3d6g.js} +10 -321
  42. package/dist/{index-y01f4223.js → index-2bxcmqkb.js} +127 -43
  43. package/dist/{index-dxesg10d.js → index-3ds42w1w.js} +3 -3
  44. package/dist/index-3xwxfj4z.js +334 -0
  45. package/dist/{index-egaabxkz.js → index-5z8tezpx.js} +2 -2
  46. package/dist/{index-fxz0v7vg.js → index-7evdsyez.js} +1 -83
  47. package/dist/{index-xcetq6j3.js → index-90d7h2cr.js} +32 -13
  48. package/dist/{index-t0z5p5w6.js → index-apn8repm.js} +1 -1
  49. package/dist/{index-758zx2ha.js → index-dggwnnjv.js} +2 -2
  50. package/dist/{index-dwf1f2ap.js → index-f9mb610r.js} +1 -62
  51. package/dist/{index-5mtc969c.js → index-fwbkp2jn.js} +1 -1
  52. package/dist/index-p13mwz16.js +16 -0
  53. package/dist/{index-m9kzax52.js → index-p18f59zy.js} +21 -5
  54. package/dist/{index-hb5pf3s4.js → index-qmgs7y68.js} +1 -1
  55. package/dist/{index-2rwwmr7v.js → index-s4ckmrac.js} +1 -1
  56. package/dist/{index-h4pj6fta.js → index-s8cnx02s.js} +8 -5
  57. package/dist/{index-k9ay6v6d.js → index-vchzar7e.js} +74 -23
  58. package/dist/index-vsbzgd7b.js +84 -0
  59. package/dist/{index-dxjjv399.js → index-xbppf54a.js} +95 -15
  60. package/dist/index-y91ry9h2.js +4 -0
  61. package/dist/index-zcgf3gqf.js +83 -0
  62. package/dist/index.js +17 -13
  63. package/dist/internal/error-message.d.ts +3 -0
  64. package/dist/internal/error-message.d.ts.map +1 -0
  65. package/dist/internal/media-type.d.ts +8 -0
  66. package/dist/internal/media-type.d.ts.map +1 -0
  67. package/dist/internal/route-pattern.d.ts +21 -0
  68. package/dist/internal/route-pattern.d.ts.map +1 -1
  69. package/dist/internal/upgrade-plan.d.ts +18 -0
  70. package/dist/internal/upgrade-plan.d.ts.map +1 -0
  71. package/dist/node.js +9 -6
  72. package/dist/observability/audit.d.ts +28 -1
  73. package/dist/observability/audit.d.ts.map +1 -1
  74. package/dist/observability/bounded-logger.d.ts +20 -0
  75. package/dist/observability/bounded-logger.d.ts.map +1 -0
  76. package/dist/observability/context.d.ts +12 -3
  77. package/dist/observability/context.d.ts.map +1 -1
  78. package/dist/observability/index.d.ts +3 -2
  79. package/dist/observability/index.d.ts.map +1 -1
  80. package/dist/observability/index.js +138 -8
  81. package/dist/observability/sanitize.d.ts +17 -0
  82. package/dist/observability/sanitize.d.ts.map +1 -1
  83. package/dist/primitives.js +1 -1
  84. package/dist/react/query-client.d.ts +33 -0
  85. package/dist/react/query-client.d.ts.map +1 -0
  86. package/dist/react.d.ts +1 -0
  87. package/dist/react.d.ts.map +1 -1
  88. package/dist/react.js +83 -1
  89. package/dist/realtime/registry.d.ts +93 -0
  90. package/dist/realtime/registry.d.ts.map +1 -0
  91. package/dist/release/header.d.ts +9 -0
  92. package/dist/release/header.d.ts.map +1 -0
  93. package/dist/release/marker.d.ts +39 -0
  94. package/dist/release/marker.d.ts.map +1 -0
  95. package/dist/release/socket.d.ts +57 -0
  96. package/dist/release/socket.d.ts.map +1 -0
  97. package/dist/release/watcher.d.ts +66 -0
  98. package/dist/release/watcher.d.ts.map +1 -0
  99. package/dist/release.d.ts +15 -0
  100. package/dist/release.d.ts.map +1 -0
  101. package/dist/release.js +196 -0
  102. package/dist/remote.js +12 -7
  103. package/dist/server/context.d.ts +2 -1
  104. package/dist/server/context.d.ts.map +1 -1
  105. package/dist/server/create.d.ts.map +1 -1
  106. package/dist/server/error-hook.d.ts +17 -16
  107. package/dist/server/error-hook.d.ts.map +1 -1
  108. package/dist/server/file-state-store.d.ts +23 -0
  109. package/dist/server/file-state-store.d.ts.map +1 -0
  110. package/dist/server/implement.d.ts.map +1 -1
  111. package/dist/server/index.d.ts +5 -2
  112. package/dist/server/index.d.ts.map +1 -1
  113. package/dist/server/index.js +469 -11
  114. package/dist/server/middleware/cookies.d.ts +33 -1
  115. package/dist/server/middleware/cookies.d.ts.map +1 -1
  116. package/dist/server/middleware/cors.d.ts +16 -1
  117. package/dist/server/middleware/cors.d.ts.map +1 -1
  118. package/dist/server/openapi.d.ts.map +1 -1
  119. package/dist/server/release-signal.d.ts +35 -0
  120. package/dist/server/release-signal.d.ts.map +1 -0
  121. package/dist/server/router.d.ts.map +1 -1
  122. package/dist/server/types.d.ts +26 -2
  123. package/dist/server/types.d.ts.map +1 -1
  124. package/dist/testing/surface-manifest.d.ts.map +1 -1
  125. package/dist/testing.js +7 -4
  126. package/dist/tool-invoker.js +8 -6
  127. package/dist/tools/download-core.d.ts.map +1 -1
  128. package/dist/tools/remote.d.ts.map +1 -1
  129. package/dist/tools/view-file.d.ts.map +1 -1
  130. package/dist/tools.js +20 -16
  131. package/dist/tracking/attribution.d.ts +51 -0
  132. package/dist/tracking/attribution.d.ts.map +1 -0
  133. package/dist/tracking/beacon.d.ts +14 -0
  134. package/dist/tracking/beacon.d.ts.map +1 -0
  135. package/dist/tracking/clicks.d.ts +46 -0
  136. package/dist/tracking/clicks.d.ts.map +1 -0
  137. package/dist/tracking/client.d.ts +121 -0
  138. package/dist/tracking/client.d.ts.map +1 -0
  139. package/dist/tracking/contract.d.ts +57 -0
  140. package/dist/tracking/contract.d.ts.map +1 -0
  141. package/dist/tracking/delivery.d.ts +24 -0
  142. package/dist/tracking/delivery.d.ts.map +1 -0
  143. package/dist/tracking/host.d.ts +43 -0
  144. package/dist/tracking/host.d.ts.map +1 -0
  145. package/dist/tracking/once-per-page.d.ts +17 -0
  146. package/dist/tracking/once-per-page.d.ts.map +1 -0
  147. package/dist/tracking/outbox-storage-indexeddb.d.ts +12 -0
  148. package/dist/tracking/outbox-storage-indexeddb.d.ts.map +1 -0
  149. package/dist/tracking/outbox-storage-memory.d.ts +12 -0
  150. package/dist/tracking/outbox-storage-memory.d.ts.map +1 -0
  151. package/dist/tracking/outbox.d.ts +98 -0
  152. package/dist/tracking/outbox.d.ts.map +1 -0
  153. package/dist/tracking/schemas.d.ts +183 -0
  154. package/dist/tracking/schemas.d.ts.map +1 -0
  155. package/dist/tracking/scroll.d.ts +22 -0
  156. package/dist/tracking/scroll.d.ts.map +1 -0
  157. package/dist/tracking/sequence-reserve.d.ts +34 -0
  158. package/dist/tracking/sequence-reserve.d.ts.map +1 -0
  159. package/dist/tracking/server/active-interval.d.ts +26 -0
  160. package/dist/tracking/server/active-interval.d.ts.map +1 -0
  161. package/dist/tracking/server/bot.d.ts +9 -0
  162. package/dist/tracking/server/bot.d.ts.map +1 -0
  163. package/dist/tracking/server/disposition.d.ts +55 -0
  164. package/dist/tracking/server/disposition.d.ts.map +1 -0
  165. package/dist/tracking/server/hash.d.ts +13 -0
  166. package/dist/tracking/server/hash.d.ts.map +1 -0
  167. package/dist/tracking/server/presence.d.ts +27 -0
  168. package/dist/tracking/server/presence.d.ts.map +1 -0
  169. package/dist/tracking/server/visit-lease.d.ts +92 -0
  170. package/dist/tracking/server/visit-lease.d.ts.map +1 -0
  171. package/dist/tracking/visible-time.d.ts +38 -0
  172. package/dist/tracking/visible-time.d.ts.map +1 -0
  173. package/dist/tracking-server.d.ts +15 -0
  174. package/dist/tracking-server.d.ts.map +1 -0
  175. package/dist/tracking-server.js +173 -0
  176. package/dist/tracking.d.ts +24 -0
  177. package/dist/tracking.d.ts.map +1 -0
  178. package/dist/tracking.js +1091 -0
  179. package/dist/upgrade-cli.d.ts +27 -0
  180. package/dist/upgrade-cli.d.ts.map +1 -0
  181. package/dist/upgrade-cli.js +177 -0
  182. package/llms-full.txt +1001 -29
  183. package/llms.txt +4 -0
  184. package/package.json +30 -5
package/llms.txt CHANGED
@@ -6,6 +6,8 @@ Build with stitchkit: define a contract once, then `implement` it and serve it (
6
6
 
7
7
  ## Guide
8
8
  - [Getting started](https://github.com/max-listov/stitchkit/blob/master/docs/guide/getting-started.md): install, entrypoints, and a first contract → server → client app
9
+ - [Release](https://github.com/max-listov/stitchkit/blob/master/docs/guide/release.md): stitchkit/release — the page reloads onto the release it was built for: build marker, X-Build-Id header, socket event, reload policy, the deploy signal
10
+ - [Visitor tracking](https://github.com/max-listov/stitchkit/blob/master/docs/guide/tracking.md): stitchkit/tracking — the browser client, outbox, page-leave beacon, attribution; stitchkit/tracking/server — dispositions and the visit lease over your store
9
11
  - [Contracts](https://github.com/max-listov/stitchkit/blob/master/docs/guide/contracts.md): every endpoint field — method, path, params/input/output, scope, expose, meta, multipart
10
12
  - [HTTP server](https://github.com/max-listov/stitchkit/blob/master/docs/guide/server.md): createServer/createHandler, implement, lifecycle hooks, raw routes + raw-response endpoints + helpers, scopePrefixes, serveFile, primitives
11
13
  - [Typed client](https://github.com/max-listov/stitchkit/blob/master/docs/guide/client.md): createClient/createHttpClient, the typed call surface, scoped clients, SSE
@@ -22,6 +24,8 @@ Build with stitchkit: define a contract once, then `implement` it and serve it (
22
24
  - [Testing & deployment](https://github.com/max-listov/stitchkit/blob/master/docs/guide/testing-and-deployment.md): in-process testing; deploying on Bun and on Node (serveNode)
23
25
  - [Multi-tenant](https://github.com/max-listov/stitchkit/blob/master/docs/guide/multi-tenant.md): a /tenants/:id/… scenario end-to-end — scopePrefixes, scoped client, extend
24
26
  - [Frontend integrations](https://github.com/max-listov/stitchkit/blob/master/docs/guide/frontend-integrations.md): React Router resource routes and a separate Vite development proxy
27
+ - [React Query policy](https://github.com/max-listov/stitchkit/blob/master/docs/guide/react.md): request-local SSR clients, a browser singleton and ApiError retry rules
28
+ - [GeoIP](https://github.com/max-listov/stitchkit/blob/master/docs/guide/geo.md): stitchkit/geo — a server-only managed reader, three observable states and last-known-good generation reloads
25
29
  - [Upgrading](https://github.com/max-listov/stitchkit/blob/master/docs/guide/upgrading.md): moving a project across stitchkit versions; how breaking changes are marked
26
30
  - [Project declaration](https://github.com/max-listov/stitchkit/blob/master/docs/guide/declaration.md): the optional machine-readable statement a repository makes about itself — identity, roles, build, requirements, release steps and the names of the values a deployment supplies
27
31
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stitchkit",
3
- "version": "0.80.1",
3
+ "version": "0.82.0",
4
4
  "description": "Contract-first backend framework — one defineContract() into an HTTP API, MCP tools, AI-agent tools and a typed client. Bun and Node.",
5
5
  "keywords": [
6
6
  "bun",
@@ -34,6 +34,9 @@
34
34
  "bun": ">=1.2.0",
35
35
  "node": ">=22"
36
36
  },
37
+ "bin": {
38
+ "stitchkit": "./dist/upgrade-cli.js"
39
+ },
37
40
  "main": "./dist/index.js",
38
41
  "types": "./dist/index.d.ts",
39
42
  "files": [
@@ -42,6 +45,7 @@
42
45
  "llms.txt",
43
46
  "llms-full.txt",
44
47
  "README.md",
48
+ "CHANGELOG.md",
45
49
  "LICENSE"
46
50
  ],
47
51
  "exports": {
@@ -153,6 +157,22 @@
153
157
  "types": "./dist/telegram.d.ts",
154
158
  "import": "./dist/telegram.js"
155
159
  },
160
+ "./tracking": {
161
+ "types": "./dist/tracking.d.ts",
162
+ "import": "./dist/tracking.js"
163
+ },
164
+ "./release": {
165
+ "types": "./dist/release.d.ts",
166
+ "import": "./dist/release.js"
167
+ },
168
+ "./tracking/server": {
169
+ "types": "./dist/tracking-server.d.ts",
170
+ "import": "./dist/tracking-server.js"
171
+ },
172
+ "./geo": {
173
+ "types": "./dist/geo.d.ts",
174
+ "import": "./dist/geo.js"
175
+ },
156
176
  "./declaration": {
157
177
  "types": "./dist/declaration.d.ts",
158
178
  "import": "./dist/declaration.js"
@@ -170,7 +190,7 @@
170
190
  "check": "bun x tsc --noEmit",
171
191
  "build:js": "bun run build:entrypoints && bun scripts/preserve-webpack-ignore.mjs",
172
192
  "build:types": "bun x tsc -p tsconfig.build.json --emitDeclarationOnly && bun scripts/rewrite-declaration-specifiers.mjs",
173
- "build": "rm -rf dist && bun run build:js && bun run build:types && bun scripts/check-browser-clean.mjs && bun scripts/check-browser-executes.mjs && bun scripts/check-env-live.mjs && bun scripts/check-public-types.mjs && bun scripts/check-declarations-strict.mjs",
193
+ "build": "rm -rf dist && cp ../../CHANGELOG.md ./CHANGELOG.md && bun run build:js && chmod +x dist/upgrade-cli.js && bun run build:types && bun scripts/check-browser-clean.mjs && bun scripts/check-browser-executes.mjs && bun scripts/check-env-live.mjs && bun scripts/check-public-types.mjs && bun scripts/check-declarations-strict.mjs",
174
194
  "dev": "bun run build:entrypoints -- --watch",
175
195
  "prepack": "cp ../../README.md ./README.md && bun ../../scripts/gen-llms.ts && bun run build",
176
196
  "test": "bun test",
@@ -183,14 +203,15 @@
183
203
  "peerDependencies": {
184
204
  "@modelcontextprotocol/ext-apps": "^1.7.2",
185
205
  "@modelcontextprotocol/server": "^2.0.0",
186
- "@opentelemetry/api": "^1.9.0",
187
206
  "@openrouter/ai-sdk-provider": "^3.0.0",
188
- "@types/bun": "^1.3.14",
207
+ "@opentelemetry/api": "^1.9.0",
189
208
  "@socket.io/bun-engine": "^0.1.1",
190
209
  "@socket.io/component-emitter": "^3.1.2",
191
210
  "@tanstack/react-query": ">=5",
211
+ "@types/bun": "^1.3.14",
192
212
  "ai": "^7.0.0",
193
213
  "grammy": "^1.45.1",
214
+ "maxmind": "^5.0.7",
194
215
  "react": ">=18",
195
216
  "react-query-kit": "^3.3.3",
196
217
  "socket.io": "^4.8.3",
@@ -229,6 +250,9 @@
229
250
  "grammy": {
230
251
  "optional": true
231
252
  },
253
+ "maxmind": {
254
+ "optional": true
255
+ },
232
256
  "react": {
233
257
  "optional": true
234
258
  },
@@ -252,8 +276,8 @@
252
276
  "@modelcontextprotocol/client": "^2.0.0",
253
277
  "@modelcontextprotocol/ext-apps": "^1.7.5",
254
278
  "@modelcontextprotocol/server": "^2.0.0",
255
- "@opentelemetry/api": "^1.9.0",
256
279
  "@openrouter/ai-sdk-provider": "^3.0.0",
280
+ "@opentelemetry/api": "^1.9.0",
257
281
  "@socket.io/bun-engine": "^0.1.1",
258
282
  "@socket.io/component-emitter": "^3.1.2",
259
283
  "@tanstack/react-query": "5.102.3",
@@ -262,6 +286,7 @@
262
286
  "@types/react": "^19.2.18",
263
287
  "@typescript/typescript6": "^6.0.2",
264
288
  "ai": "^7.0.79",
289
+ "fake-indexeddb": "^6.2.5",
265
290
  "grammy": "^1.45.1",
266
291
  "react": "^19.2.8",
267
292
  "react-query-kit": "^3.3.4",