@demlik/tea 0.20.0 → 0.22.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 (130) hide show
  1. package/README.md +11 -2
  2. package/dist/agent/index.d.ts +36 -23
  3. package/dist/agent/index.js +12 -10
  4. package/dist/{chunk-UHAQ4PI6.js → chunk-2A5XTKQQ.js} +205 -59
  5. package/dist/chunk-2A5XTKQQ.js.map +1 -0
  6. package/dist/{chunk-JAKM53JF.js → chunk-7K7SEYCH.js} +16 -15
  7. package/dist/chunk-7K7SEYCH.js.map +1 -0
  8. package/dist/{chunk-RKVUVALV.js → chunk-A3QPMX5M.js} +31 -9
  9. package/dist/chunk-A3QPMX5M.js.map +1 -0
  10. package/dist/{chunk-DVNXEB7V.js → chunk-BVFS3ICC.js} +3 -3
  11. package/dist/chunk-BVFS3ICC.js.map +1 -0
  12. package/dist/{chunk-FTCYY2DO.js → chunk-CPE5ZQXQ.js} +3 -3
  13. package/dist/{chunk-FTCYY2DO.js.map → chunk-CPE5ZQXQ.js.map} +1 -1
  14. package/dist/chunk-DEAPNMKO.js +11 -0
  15. package/dist/chunk-DEAPNMKO.js.map +1 -0
  16. package/dist/{chunk-XWIE5V7R.js → chunk-ETRNSJCR.js} +4 -4
  17. package/dist/{chunk-XWIE5V7R.js.map → chunk-ETRNSJCR.js.map} +1 -1
  18. package/dist/chunk-FXWDDNGD.js +98 -0
  19. package/dist/chunk-FXWDDNGD.js.map +1 -0
  20. package/dist/chunk-GFGOQIEC.js +10 -0
  21. package/dist/chunk-GFGOQIEC.js.map +1 -0
  22. package/dist/{chunk-2R62Q5UK.js → chunk-IAHEYPYJ.js} +3 -3
  23. package/dist/{chunk-2R62Q5UK.js.map → chunk-IAHEYPYJ.js.map} +1 -1
  24. package/dist/{chunk-NGYFBD5G.js → chunk-J5JNLXO7.js} +3 -3
  25. package/dist/{chunk-NGYFBD5G.js.map → chunk-J5JNLXO7.js.map} +1 -1
  26. package/dist/{chunk-72CN3VPY.js → chunk-NFOGYDRS.js} +5 -5
  27. package/dist/{chunk-72CN3VPY.js.map → chunk-NFOGYDRS.js.map} +1 -1
  28. package/dist/{chunk-A73IJ27X.js → chunk-R2YNDRGL.js} +3 -3
  29. package/dist/{chunk-A73IJ27X.js.map → chunk-R2YNDRGL.js.map} +1 -1
  30. package/dist/{chunk-5HVKDHY6.js → chunk-R5NXOPL2.js} +3 -3
  31. package/dist/{chunk-5HVKDHY6.js.map → chunk-R5NXOPL2.js.map} +1 -1
  32. package/dist/chunk-RMBZ7YH7.js +52 -0
  33. package/dist/chunk-RMBZ7YH7.js.map +1 -0
  34. package/dist/{chunk-AIXC33SE.js → chunk-SHXUSTHM.js} +62 -15
  35. package/dist/chunk-SHXUSTHM.js.map +1 -0
  36. package/dist/{chunk-TAKPC6SD.js → chunk-UGTC33VH.js} +4 -4
  37. package/dist/{chunk-TAKPC6SD.js.map → chunk-UGTC33VH.js.map} +1 -1
  38. package/dist/{chunk-EA47MI5Q.js → chunk-VH5MYJ2K.js} +4 -4
  39. package/dist/{chunk-EA47MI5Q.js.map → chunk-VH5MYJ2K.js.map} +1 -1
  40. package/dist/{chunk-2774I242.js → chunk-WZEDIUWR.js} +21 -20
  41. package/dist/chunk-WZEDIUWR.js.map +1 -0
  42. package/dist/{chunk-TGJLXZAU.js → chunk-ZRRET3RP.js} +11 -11
  43. package/dist/chunk-ZRRET3RP.js.map +1 -0
  44. package/dist/{core-CtvAyPpH.d.ts → core-DNDAEhO2.d.ts} +9 -12
  45. package/dist/devtools/index.d.ts +4 -4
  46. package/dist/do/index.d.ts +103 -38
  47. package/dist/do/index.js +40 -21
  48. package/dist/do/index.js.map +1 -1
  49. package/dist/{drive-loop-Dw1sGSsW.d.ts → drive-loop-DlOEv49c.d.ts} +2 -2
  50. package/dist/{durable-effects-Ump5lSdO.d.ts → durable-effects-wLWEdy9H.d.ts} +1 -1
  51. package/dist/effect/index.d.ts +121 -28
  52. package/dist/effect/index.js +45 -31
  53. package/dist/effect/index.js.map +1 -1
  54. package/dist/extension/index.d.ts +3 -3
  55. package/dist/extension/index.js +2 -2
  56. package/dist/extension/index.js.map +1 -1
  57. package/dist/flow/index.d.ts +17 -13
  58. package/dist/flow/index.js +15 -12
  59. package/dist/flow/index.js.map +1 -1
  60. package/dist/idempotency/index.d.ts +3 -3
  61. package/dist/idempotency/index.js +3 -3
  62. package/dist/{index-CrcoVfd_.d.ts → index-9P1PaXIV.d.ts} +2 -2
  63. package/dist/{index-D3NY3VCN.d.ts → index-BBLI2WWN.d.ts} +1 -1
  64. package/dist/{index-Dl71V7kt.d.ts → index-C1WhBZ6a.d.ts} +4 -5
  65. package/dist/{index-CKtEKGyp.d.ts → index-C92SgNWz.d.ts} +3 -3
  66. package/dist/{index-CZZ3HI-Z.d.ts → index-CAsUE_d1.d.ts} +4 -4
  67. package/dist/{index-EIgfl83J.d.ts → index-CO34esWT.d.ts} +2 -2
  68. package/dist/{index-Bk2hBUdK.d.ts → index-COeX9Bmz.d.ts} +11 -9
  69. package/dist/{index-CVU7SK3a.d.ts → index-Cg0QXnzf.d.ts} +2 -2
  70. package/dist/index.d.ts +9 -9
  71. package/dist/index.js +2 -2
  72. package/dist/jev/index.d.ts +15 -15
  73. package/dist/jev/index.js +5 -5
  74. package/dist/jev/index.js.map +1 -1
  75. package/dist/laws-DTtCDDlU.d.ts +135 -0
  76. package/dist/loop-DReKGV1X.d.ts +70 -0
  77. package/dist/{machine-Dtre2TmN.d.ts → machine-C0WhOAyB.d.ts} +7 -7
  78. package/dist/machine-viz/index.d.ts +1 -1
  79. package/dist/machine-viz/index.js +2 -2
  80. package/dist/mem/index.d.ts +4 -3
  81. package/dist/mem/index.js +2 -2
  82. package/dist/mem/index.js.map +1 -1
  83. package/dist/node/index.d.ts +57 -9
  84. package/dist/node/index.js +175 -68
  85. package/dist/node/index.js.map +1 -1
  86. package/dist/otel/index.d.ts +28 -12
  87. package/dist/otel/index.js +25 -21
  88. package/dist/otel/index.js.map +1 -1
  89. package/dist/paginate/index.d.ts +4 -4
  90. package/dist/paginate/index.js +5 -5
  91. package/dist/parity/index.d.ts +11 -15
  92. package/dist/parity/index.js +4 -9
  93. package/dist/parity/index.js.map +1 -1
  94. package/dist/pbt/index.d.ts +279 -67
  95. package/dist/pbt/index.js +299 -58
  96. package/dist/pbt/index.js.map +1 -1
  97. package/dist/persistence/index.d.ts +10 -12
  98. package/dist/persistence/index.js +4 -4
  99. package/dist/promise/index.d.ts +118 -21
  100. package/dist/promise/index.js +6 -4
  101. package/dist/react/index.d.ts +34 -21
  102. package/dist/react/index.js +271 -42
  103. package/dist/react/index.js.map +1 -1
  104. package/dist/resilience/index.d.ts +6 -6
  105. package/dist/resilience/index.js +5 -5
  106. package/dist/{run-fiBe7pOG.d.ts → run-Cnw4qXj2.d.ts} +105 -23
  107. package/dist/{runtime-types-DEluQgGO.d.ts → runtime-types-CP-ykwgf.d.ts} +157 -29
  108. package/dist/testing/effect/index.d.ts +162 -9
  109. package/dist/testing/effect/index.js +110 -10
  110. package/dist/testing/effect/index.js.map +1 -1
  111. package/dist/testing/index.d.ts +6 -8
  112. package/dist/testing/index.js +4 -24
  113. package/dist/testing/index.js.map +1 -1
  114. package/dist/testing/promise/index.d.ts +4 -4
  115. package/dist/testing/promise/index.js +5 -5
  116. package/dist/timing/index.d.ts +4 -4
  117. package/dist/timing/index.js +4 -4
  118. package/dist/{types-CXNzlbAg.d.ts → types-S53WDy_h.d.ts} +1 -1
  119. package/dist/work-queue/index.d.ts +4 -4
  120. package/dist/work-queue/index.js +2 -2
  121. package/package.json +19 -17
  122. package/dist/chunk-2774I242.js.map +0 -1
  123. package/dist/chunk-AIXC33SE.js.map +0 -1
  124. package/dist/chunk-DVNXEB7V.js.map +0 -1
  125. package/dist/chunk-HX3C6LDK.js +0 -34
  126. package/dist/chunk-HX3C6LDK.js.map +0 -1
  127. package/dist/chunk-JAKM53JF.js.map +0 -1
  128. package/dist/chunk-RKVUVALV.js.map +0 -1
  129. package/dist/chunk-TGJLXZAU.js.map +0 -1
  130. package/dist/chunk-UHAQ4PI6.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { driveContractOf, driveLoop, DEFAULT_MAX_ROUNDS } from '../../chunk-XWIE5V7R.js';
2
- export { DEFAULT_MAX_ROUNDS, DriveNoHandlerError, DriveRoundsExceededError, driveTraceOf } from '../../chunk-XWIE5V7R.js';
3
- import '../../chunk-HX3C6LDK.js';
4
- import '../../chunk-DVNXEB7V.js';
5
- import { cmdEdge, Outcome } from '../../chunk-RKVUVALV.js';
1
+ import { driveContractOf, driveLoop, DEFAULT_MAX_ROUNDS } from '../../chunk-ETRNSJCR.js';
2
+ export { DEFAULT_MAX_ROUNDS, DriveNoHandlerError, DriveRoundsExceededError, driveTraceOf } from '../../chunk-ETRNSJCR.js';
3
+ import '../../chunk-RMBZ7YH7.js';
4
+ import '../../chunk-BVFS3ICC.js';
5
+ import { cmdEdge, Outcome } from '../../chunk-A3QPMX5M.js';
6
6
 
7
7
  // src/testing/promise/drive.ts
8
8
  async function drive(machine, initial, msg, handlers, ...[opts]) {
@@ -1,9 +1,9 @@
1
1
  export { D as Debounced, d as debounce } from '../index-DHSUmQTR.js';
2
- import { C as Cmd } from '../core-CtvAyPpH.js';
3
- import { T as TtlCache, a as DeadlineSub } from '../index-CVU7SK3a.js';
4
- export { D as ThrottledInputSettled, s as subscribeThrottledInput, d as throttledInputSettled } from '../index-CVU7SK3a.js';
2
+ import { C as Cmd } from '../core-DNDAEhO2.js';
3
+ import { T as TtlCache, a as DeadlineSub } from '../index-Cg0QXnzf.js';
4
+ export { D as ThrottledInputSettled, s as subscribeThrottledInput, d as throttledInputSettled } from '../index-Cg0QXnzf.js';
5
5
  import '@standard-schema/spec';
6
- import '../types-CXNzlbAg.js';
6
+ import '../types-S53WDy_h.js';
7
7
 
8
8
  /**
9
9
  * internal/timing/throttle — a timer-based call transformer that caps invocation
@@ -1,8 +1,8 @@
1
1
  export { debounce } from '../chunk-LFZUK6J2.js';
2
- import { deadlineSub, initCache, get, set } from '../chunk-TAKPC6SD.js';
3
- export { subscribeDeadline as subscribeThrottledInput, deadlineExceeded as throttledInputSettled } from '../chunk-TAKPC6SD.js';
4
- import '../chunk-DVNXEB7V.js';
5
- import '../chunk-RKVUVALV.js';
2
+ import { deadlineSub, initCache, get, set } from '../chunk-UGTC33VH.js';
3
+ export { subscribeDeadline as subscribeThrottledInput, deadlineExceeded as throttledInputSettled } from '../chunk-UGTC33VH.js';
4
+ import '../chunk-BVFS3ICC.js';
5
+ import '../chunk-A3QPMX5M.js';
6
6
 
7
7
  // src/internal/timing/throttle/index.ts
8
8
  function throttle(fn, ms, opts) {
@@ -1,4 +1,4 @@
1
- import { S as Sub, D as Dispose } from './core-CtvAyPpH.js';
1
+ import { c as Sub, D as Dispose } from './core-DNDAEhO2.js';
2
2
 
3
3
  /**
4
4
  * A Sub runner: given the Sub, the `ctx` and a `dispatch`, it opens the
@@ -1,7 +1,7 @@
1
- import { Q as QueueItem } from '../index-D3NY3VCN.js';
2
- export { E as EnqueueInput, a as QueueItemStatus, c as createQueue } from '../index-D3NY3VCN.js';
3
- import '../runtime-types-DEluQgGO.js';
4
- import '../core-CtvAyPpH.js';
1
+ import { Q as QueueItem } from '../index-BBLI2WWN.js';
2
+ export { E as EnqueueInput, a as QueueItemStatus, c as createQueue } from '../index-BBLI2WWN.js';
3
+ import '../runtime-types-CP-ykwgf.js';
4
+ import '../core-DNDAEhO2.js';
5
5
  import '@standard-schema/spec';
6
6
 
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  import { enqueueOp, claimNextOp, markDoneOp, patchItemOp, resetRunningOp, removeOp } from '../chunk-TXN2KFHF.js';
2
2
  export { claimNextOp, enqueueOp, markDoneOp, patchItemOp, queueAdapter, removeOp, resetRunningOp } from '../chunk-TXN2KFHF.js';
3
- import { restore } from '../chunk-A73IJ27X.js';
4
- import '../chunk-RKVUVALV.js';
3
+ import { restore } from '../chunk-R2YNDRGL.js';
4
+ import '../chunk-A3QPMX5M.js';
5
5
 
6
6
  // src/internal/work-queue/index.ts
7
7
  function genId() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@demlik/tea",
3
- "version": "0.20.0",
3
+ "version": "0.22.0",
4
4
  "description": "TEA-faithful state machine substrate — one package, every host adapter. Core + subs + testing, plus React, Durable Object, Chrome extension, Node, in-memory, devtools, and property-testing modules as subpaths.",
5
5
  "keywords": [
6
6
  "tea",
@@ -136,11 +136,11 @@
136
136
  "./package.json": "./package.json"
137
137
  },
138
138
  "dependencies": {
139
- "@standard-schema/spec": "^1.1.0"
139
+ "@standard-schema/spec": "1.1.0"
140
140
  },
141
141
  "peerDependencies": {
142
142
  "@opentelemetry/api": "^1.9.0",
143
- "effect": "^4.0.0-rc.0",
143
+ "effect": "~4.1.1",
144
144
  "fast-check": "^3 || ^4",
145
145
  "react": "^18 || ^19",
146
146
  "react-dom": "^18 || ^19",
@@ -176,24 +176,25 @@
176
176
  "@langfuse/otel": "5.11.1",
177
177
  "@opentelemetry/api": "1.9.1",
178
178
  "@opentelemetry/sdk-trace-base": "2.11.0",
179
- "@types/chrome": "^0.1.42",
180
- "@types/node": "^22",
181
- "@types/react": "19.0.8",
182
- "@types/react-dom": "19.0.3",
179
+ "@types/chrome": "0.1.43",
180
+ "@types/node": "22.20.1",
181
+ "@types/react": "19.3.0",
182
+ "@types/react-dom": "19.3.0",
183
183
  "@types/ws": "8.5.14",
184
- "effect": "4.0.0-rc.117",
185
- "fast-check": "^3.23.0",
186
- "happy-dom": "^20.9.0",
184
+ "effect": "4.1.1",
185
+ "fast-check": "3.23.2",
186
+ "happy-dom": "20.11.2",
187
187
  "openai": "7.23.0",
188
- "react": "19.0.0",
189
- "react-dom": "19.0.0",
190
- "tsup": "^8.3.5",
188
+ "react": "19.3.1",
189
+ "react-dom": "19.3.1",
190
+ "tsup": "8.5.1",
191
191
  "typedoc": "0.28.20",
192
192
  "typescript": "5.7.3",
193
- "vite": "^8.2.1",
194
- "vitest": "~5.0.1",
195
- "ws": "^8.21.0",
196
- "zod": "^4.5.4"
193
+ "vite": "8.2.2",
194
+ "vitest": "5.0.1",
195
+ "ws": "8.21.3",
196
+ "zod": "4.5.4",
197
+ "@demlik/code-graph": "0.13.0"
197
198
  },
198
199
  "publishConfig": {
199
200
  "access": "public"
@@ -212,6 +213,7 @@
212
213
  "typecheck:consumers": "tsc -p tsconfig.consumers.json",
213
214
  "docs:reference": "TEA_DOCS_WRITE=1 vitest run src/docs/reference/generate-reference.test.ts",
214
215
  "docs:reference:strays": "vitest run src/docs/reference/generate-reference.test.ts -t 'holds nothing the generator does not write'",
216
+ "api:ratchet": "node scripts/api-ratchet.mjs",
215
217
  "docs:reference:check": "pnpm run docs:reference:strays && pnpm run docs:reference && git diff --exit-code -- docs/reference",
216
218
  "verify:exports": "node scripts/verify-exports.mjs",
217
219
  "verify-optional-peer-install": "node scripts/verify-optional-peer-install.mjs"