@farukada/aws-langgraph-dynamodb-ts 1.0.0-rc.1 → 1.0.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 (608) hide show
  1. package/README.md +1820 -290
  2. package/dist/cjs/backfill/backfill.d.ts +171 -0
  3. package/dist/cjs/backfill/backfill.js +177 -0
  4. package/dist/cjs/checkpointer/actions/delete-thread.d.ts +50 -0
  5. package/dist/cjs/checkpointer/actions/delete-thread.js +26 -0
  6. package/dist/cjs/checkpointer/actions/get-tuple.d.ts +36 -0
  7. package/dist/cjs/checkpointer/actions/get-tuple.js +22 -0
  8. package/dist/cjs/checkpointer/actions/list.d.ts +55 -0
  9. package/dist/cjs/checkpointer/actions/list.js +70 -0
  10. package/dist/cjs/checkpointer/actions/put-writes.d.ts +49 -0
  11. package/dist/cjs/checkpointer/actions/put-writes.js +21 -0
  12. package/dist/cjs/checkpointer/actions/put.d.ts +95 -0
  13. package/dist/cjs/checkpointer/actions/put.js +79 -0
  14. package/dist/cjs/checkpointer/internal/delta-history.d.ts +124 -0
  15. package/dist/cjs/checkpointer/internal/delta-history.js +131 -0
  16. package/dist/cjs/checkpointer/internal/listing.d.ts +149 -0
  17. package/dist/cjs/checkpointer/internal/listing.js +104 -0
  18. package/dist/cjs/checkpointer/internal/parse.d.ts +298 -0
  19. package/dist/cjs/checkpointer/internal/parse.js +184 -0
  20. package/dist/cjs/checkpointer/internal/pending-writes.d.ts +314 -0
  21. package/dist/cjs/checkpointer/internal/pending-writes.js +241 -0
  22. package/dist/cjs/checkpointer/internal/read.d.ts +135 -0
  23. package/dist/cjs/checkpointer/internal/read.js +132 -0
  24. package/dist/cjs/checkpointer/internal/rows.d.ts +644 -0
  25. package/dist/cjs/checkpointer/internal/rows.js +356 -0
  26. package/dist/cjs/checkpointer/internal/setup.d.ts +47 -0
  27. package/dist/cjs/checkpointer/internal/setup.js +25 -0
  28. package/dist/cjs/checkpointer/saver.d.ts +306 -0
  29. package/dist/cjs/checkpointer/saver.js +56 -0
  30. package/dist/cjs/checkpointer/types.d.ts +51 -0
  31. package/dist/cjs/factory/factory.d.ts +154 -0
  32. package/dist/cjs/factory/factory.js +137 -0
  33. package/dist/{factory → cjs/factory}/types.d.ts +33 -14
  34. package/dist/cjs/history/actions/add-messages.d.ts +51 -0
  35. package/dist/cjs/history/actions/add-messages.js +17 -0
  36. package/dist/cjs/history/actions/clear.d.ts +52 -0
  37. package/dist/cjs/history/actions/clear.js +29 -0
  38. package/dist/cjs/history/actions/get-messages.d.ts +60 -0
  39. package/dist/cjs/history/actions/get-messages.js +58 -0
  40. package/dist/cjs/history/actions/list-sessions.d.ts +55 -0
  41. package/dist/cjs/history/actions/list-sessions.js +67 -0
  42. package/dist/cjs/history/actions/reconcile-count.d.ts +49 -0
  43. package/dist/cjs/history/actions/reconcile-count.js +8 -0
  44. package/dist/cjs/history/chat-message-history.d.ts +267 -0
  45. package/dist/cjs/history/chat-message-history.js +61 -0
  46. package/dist/cjs/history/internal/append.d.ts +244 -0
  47. package/dist/cjs/history/internal/append.js +267 -0
  48. package/dist/cjs/history/internal/message-read.d.ts +84 -0
  49. package/dist/cjs/history/internal/message-read.js +93 -0
  50. package/dist/cjs/history/internal/parse.d.ts +153 -0
  51. package/dist/cjs/history/internal/parse.js +113 -0
  52. package/dist/cjs/history/internal/rows.d.ts +196 -0
  53. package/dist/cjs/history/internal/rows.js +96 -0
  54. package/dist/cjs/history/internal/session.d.ts +350 -0
  55. package/dist/cjs/history/internal/session.js +296 -0
  56. package/dist/cjs/history/internal/setup.d.ts +64 -0
  57. package/dist/cjs/history/internal/setup.js +60 -0
  58. package/dist/cjs/history/session-adapter.d.ts +112 -0
  59. package/dist/cjs/history/session-adapter.js +38 -0
  60. package/dist/cjs/history/types.d.ts +102 -0
  61. package/dist/cjs/index.d.ts +53 -0
  62. package/dist/cjs/index.js +25 -0
  63. package/dist/cjs/package.json +1 -0
  64. package/dist/cjs/shared/adapter.d.ts +146 -0
  65. package/dist/cjs/shared/adapter.js +70 -0
  66. package/dist/cjs/shared/clock.d.ts +52 -0
  67. package/dist/cjs/shared/clock.js +14 -0
  68. package/dist/cjs/shared/codec/codec.d.ts +336 -0
  69. package/dist/cjs/shared/codec/codec.js +162 -0
  70. package/dist/cjs/shared/codec/compression.d.ts +66 -0
  71. package/dist/cjs/shared/codec/compression.js +45 -0
  72. package/dist/cjs/shared/codec/json-serde.d.ts +80 -0
  73. package/dist/cjs/shared/codec/json-serde.js +58 -0
  74. package/dist/{shared → cjs/shared}/codec/s3/client-types.d.ts +22 -2
  75. package/dist/{shared → cjs/shared}/codec/s3/client-types.js +0 -1
  76. package/dist/cjs/shared/codec/s3/client.d.ts +63 -0
  77. package/dist/cjs/shared/codec/s3/client.js +78 -0
  78. package/dist/cjs/shared/codec/s3/config.d.ts +260 -0
  79. package/dist/cjs/shared/codec/s3/config.js +92 -0
  80. package/dist/cjs/shared/codec/s3/lifecycle.d.ts +220 -0
  81. package/dist/cjs/shared/codec/s3/lifecycle.js +223 -0
  82. package/dist/cjs/shared/codec/s3/offloader.d.ts +428 -0
  83. package/dist/cjs/shared/codec/s3/offloader.js +289 -0
  84. package/dist/cjs/shared/concurrency.d.ts +43 -0
  85. package/dist/{shared → cjs/shared}/concurrency.js +10 -9
  86. package/dist/cjs/shared/dynamodb/abort.d.ts +47 -0
  87. package/dist/cjs/shared/dynamodb/abort.js +16 -0
  88. package/dist/cjs/shared/dynamodb/batch-write.d.ts +86 -0
  89. package/dist/cjs/shared/dynamodb/batch-write.js +79 -0
  90. package/dist/cjs/shared/dynamodb/cancellation.d.ts +124 -0
  91. package/dist/cjs/shared/dynamodb/cancellation.js +37 -0
  92. package/dist/cjs/shared/dynamodb/client.d.ts +177 -0
  93. package/dist/{shared → cjs/shared}/dynamodb/client.js +12 -14
  94. package/dist/cjs/shared/dynamodb/idempotent-write.d.ts +596 -0
  95. package/dist/cjs/shared/dynamodb/idempotent-write.js +173 -0
  96. package/dist/cjs/shared/dynamodb/paginate.d.ts +111 -0
  97. package/dist/cjs/shared/dynamodb/paginate.js +90 -0
  98. package/dist/cjs/shared/dynamodb/partition-delete.d.ts +204 -0
  99. package/dist/cjs/shared/dynamodb/partition-delete.js +177 -0
  100. package/dist/cjs/shared/dynamodb/recency-index.d.ts +243 -0
  101. package/dist/cjs/shared/dynamodb/recency-index.js +146 -0
  102. package/dist/cjs/shared/dynamodb/retry.d.ts +317 -0
  103. package/dist/cjs/shared/dynamodb/retry.js +193 -0
  104. package/dist/cjs/shared/dynamodb/row-size.d.ts +33 -0
  105. package/dist/cjs/shared/dynamodb/row-size.js +30 -0
  106. package/dist/cjs/shared/dynamodb/table-schema.d.ts +199 -0
  107. package/dist/cjs/shared/dynamodb/table-schema.js +52 -0
  108. package/dist/cjs/shared/errors/base-error.d.ts +231 -0
  109. package/dist/cjs/shared/errors/base-error.js +73 -0
  110. package/dist/cjs/shared/errors/boundary.d.ts +86 -0
  111. package/dist/cjs/shared/errors/boundary.js +61 -0
  112. package/dist/cjs/shared/errors/classify.d.ts +206 -0
  113. package/dist/cjs/shared/errors/classify.js +232 -0
  114. package/dist/cjs/shared/errors/error-code.d.ts +95 -0
  115. package/dist/{shared → cjs/shared}/errors/error-code.js +12 -2
  116. package/dist/cjs/shared/errors/errors.d.ts +233 -0
  117. package/dist/cjs/shared/errors/errors.js +123 -0
  118. package/dist/cjs/shared/logging/logger.d.ts +80 -0
  119. package/dist/cjs/shared/logging/logger.js +30 -0
  120. package/dist/cjs/shared/logging/redaction.d.ts +123 -0
  121. package/dist/cjs/shared/logging/redaction.js +145 -0
  122. package/dist/cjs/shared/logging/secret-patterns.d.ts +227 -0
  123. package/dist/cjs/shared/logging/secret-patterns.js +93 -0
  124. package/dist/cjs/shared/logging/truncate.d.ts +197 -0
  125. package/dist/cjs/shared/logging/truncate.js +31 -0
  126. package/dist/cjs/shared/options.d.ts +100 -0
  127. package/dist/cjs/shared/ulid.d.ts +80 -0
  128. package/dist/{shared → cjs/shared}/ulid.js +7 -21
  129. package/dist/cjs/shared/validation/collaborators.d.ts +160 -0
  130. package/dist/cjs/shared/validation/collaborators.js +79 -0
  131. package/dist/cjs/shared/validation/option-shape.d.ts +91 -0
  132. package/dist/cjs/shared/validation/option-shape.js +31 -0
  133. package/dist/cjs/shared/validation/options.d.ts +145 -0
  134. package/dist/cjs/shared/validation/options.js +166 -0
  135. package/dist/cjs/shared/validation/primitives.d.ts +292 -0
  136. package/dist/cjs/shared/validation/primitives.js +114 -0
  137. package/dist/cjs/shared/validation/ttl.d.ts +94 -0
  138. package/dist/cjs/shared/validation/ttl.js +52 -0
  139. package/dist/cjs/store/actions/list-namespaces.d.ts +79 -0
  140. package/dist/cjs/store/actions/list-namespaces.js +92 -0
  141. package/dist/cjs/store/actions/put.d.ts +43 -0
  142. package/dist/cjs/store/actions/put.js +49 -0
  143. package/dist/cjs/store/actions/reconcile-vector-index.d.ts +38 -0
  144. package/dist/cjs/store/actions/reconcile-vector-index.js +13 -0
  145. package/dist/cjs/store/actions/search.d.ts +38 -0
  146. package/dist/cjs/store/actions/search.js +26 -0
  147. package/dist/cjs/store/internal/batch-plan.d.ts +56 -0
  148. package/dist/cjs/store/internal/batch-plan.js +32 -0
  149. package/dist/cjs/store/internal/filter.d.ts +43 -0
  150. package/dist/cjs/store/internal/filter.js +64 -0
  151. package/dist/cjs/store/internal/get-item.d.ts +77 -0
  152. package/dist/cjs/store/internal/get-item.js +58 -0
  153. package/dist/cjs/store/internal/item-write.d.ts +270 -0
  154. package/dist/cjs/store/internal/item-write.js +181 -0
  155. package/dist/cjs/store/internal/parse.d.ts +230 -0
  156. package/dist/cjs/store/internal/parse.js +180 -0
  157. package/dist/cjs/store/internal/rows.d.ts +359 -0
  158. package/dist/cjs/store/internal/rows.js +166 -0
  159. package/dist/cjs/store/internal/semantic-search.d.ts +168 -0
  160. package/dist/{store/internal/text-path.js → cjs/store/internal/semantic-search.js} +92 -28
  161. package/dist/cjs/store/internal/setup.d.ts +96 -0
  162. package/dist/cjs/store/internal/setup.js +103 -0
  163. package/dist/cjs/store/internal/table-search.d.ts +100 -0
  164. package/dist/cjs/store/internal/table-search.js +123 -0
  165. package/dist/cjs/store/internal/vector-index.d.ts +258 -0
  166. package/dist/cjs/store/internal/vector-index.js +269 -0
  167. package/dist/cjs/store/store.d.ts +329 -0
  168. package/dist/cjs/store/store.js +97 -0
  169. package/dist/cjs/store/types.d.ts +111 -0
  170. package/dist/cjs/store/vector-backend.d.ts +104 -0
  171. package/dist/cjs/store/vector-backend.js +4 -0
  172. package/dist/esm/backfill/backfill.d.ts +171 -0
  173. package/dist/esm/backfill/backfill.js +170 -0
  174. package/dist/esm/checkpointer/actions/delete-thread.d.ts +50 -0
  175. package/dist/esm/checkpointer/actions/delete-thread.js +23 -0
  176. package/dist/esm/checkpointer/actions/get-tuple.d.ts +36 -0
  177. package/dist/esm/checkpointer/actions/get-tuple.js +19 -0
  178. package/dist/esm/checkpointer/actions/list.d.ts +55 -0
  179. package/dist/esm/checkpointer/actions/list.js +67 -0
  180. package/dist/esm/checkpointer/actions/put-writes.d.ts +49 -0
  181. package/dist/esm/checkpointer/actions/put-writes.js +18 -0
  182. package/dist/esm/checkpointer/actions/put.d.ts +95 -0
  183. package/dist/esm/checkpointer/actions/put.js +75 -0
  184. package/dist/esm/checkpointer/internal/delta-history.d.ts +124 -0
  185. package/dist/esm/checkpointer/internal/delta-history.js +126 -0
  186. package/dist/esm/checkpointer/internal/listing.d.ts +149 -0
  187. package/dist/esm/checkpointer/internal/listing.js +95 -0
  188. package/dist/esm/checkpointer/internal/parse.d.ts +298 -0
  189. package/dist/esm/checkpointer/internal/parse.js +169 -0
  190. package/dist/esm/checkpointer/internal/pending-writes.d.ts +314 -0
  191. package/dist/esm/checkpointer/internal/pending-writes.js +229 -0
  192. package/dist/esm/checkpointer/internal/read.d.ts +135 -0
  193. package/dist/esm/checkpointer/internal/read.js +125 -0
  194. package/dist/esm/checkpointer/internal/rows.d.ts +644 -0
  195. package/dist/esm/checkpointer/internal/rows.js +323 -0
  196. package/dist/esm/checkpointer/internal/setup.d.ts +47 -0
  197. package/dist/esm/checkpointer/internal/setup.js +21 -0
  198. package/dist/esm/checkpointer/saver.d.ts +306 -0
  199. package/dist/esm/checkpointer/saver.js +52 -0
  200. package/dist/esm/checkpointer/types.d.ts +51 -0
  201. package/dist/esm/checkpointer/types.js +1 -0
  202. package/dist/esm/factory/factory.d.ts +154 -0
  203. package/dist/esm/factory/factory.js +133 -0
  204. package/dist/esm/factory/types.d.ts +76 -0
  205. package/dist/esm/factory/types.js +1 -0
  206. package/dist/esm/history/actions/add-messages.d.ts +51 -0
  207. package/dist/esm/history/actions/add-messages.js +14 -0
  208. package/dist/esm/history/actions/clear.d.ts +52 -0
  209. package/dist/esm/history/actions/clear.js +26 -0
  210. package/dist/esm/history/actions/get-messages.d.ts +60 -0
  211. package/dist/esm/history/actions/get-messages.js +55 -0
  212. package/dist/esm/history/actions/list-sessions.d.ts +55 -0
  213. package/dist/esm/history/actions/list-sessions.js +64 -0
  214. package/dist/esm/history/actions/reconcile-count.d.ts +49 -0
  215. package/dist/esm/history/actions/reconcile-count.js +5 -0
  216. package/dist/esm/history/chat-message-history.d.ts +267 -0
  217. package/dist/esm/history/chat-message-history.js +57 -0
  218. package/dist/esm/history/internal/append.d.ts +244 -0
  219. package/dist/esm/history/internal/append.js +259 -0
  220. package/dist/esm/history/internal/message-read.d.ts +84 -0
  221. package/dist/esm/history/internal/message-read.js +89 -0
  222. package/dist/esm/history/internal/parse.d.ts +153 -0
  223. package/dist/esm/history/internal/parse.js +105 -0
  224. package/dist/esm/history/internal/rows.d.ts +196 -0
  225. package/dist/esm/history/internal/rows.js +83 -0
  226. package/dist/esm/history/internal/session.d.ts +350 -0
  227. package/dist/esm/history/internal/session.js +285 -0
  228. package/dist/esm/history/internal/setup.d.ts +64 -0
  229. package/dist/esm/history/internal/setup.js +56 -0
  230. package/dist/esm/history/session-adapter.d.ts +112 -0
  231. package/dist/esm/history/session-adapter.js +34 -0
  232. package/dist/esm/history/types.d.ts +102 -0
  233. package/dist/esm/history/types.js +1 -0
  234. package/dist/esm/index.d.ts +53 -0
  235. package/dist/esm/index.js +10 -0
  236. package/dist/esm/shared/adapter.d.ts +146 -0
  237. package/dist/esm/shared/adapter.js +65 -0
  238. package/dist/esm/shared/clock.d.ts +52 -0
  239. package/dist/esm/shared/clock.js +9 -0
  240. package/dist/esm/shared/codec/codec.d.ts +336 -0
  241. package/dist/esm/shared/codec/codec.js +150 -0
  242. package/dist/esm/shared/codec/compression.d.ts +66 -0
  243. package/dist/esm/shared/codec/compression.js +40 -0
  244. package/dist/esm/shared/codec/json-serde.d.ts +80 -0
  245. package/dist/esm/shared/codec/json-serde.js +54 -0
  246. package/dist/esm/shared/codec/s3/client-types.d.ts +54 -0
  247. package/dist/esm/shared/codec/s3/client-types.js +3 -0
  248. package/dist/esm/shared/codec/s3/client.d.ts +63 -0
  249. package/dist/esm/shared/codec/s3/client.js +40 -0
  250. package/dist/esm/shared/codec/s3/config.d.ts +260 -0
  251. package/dist/esm/shared/codec/s3/config.js +79 -0
  252. package/dist/esm/shared/codec/s3/lifecycle.d.ts +220 -0
  253. package/dist/esm/shared/codec/s3/lifecycle.js +214 -0
  254. package/dist/esm/shared/codec/s3/offloader.d.ts +428 -0
  255. package/dist/esm/shared/codec/s3/offloader.js +278 -0
  256. package/dist/esm/shared/concurrency.d.ts +43 -0
  257. package/dist/esm/shared/concurrency.js +27 -0
  258. package/dist/esm/shared/dynamodb/abort.d.ts +47 -0
  259. package/dist/esm/shared/dynamodb/abort.js +12 -0
  260. package/dist/esm/shared/dynamodb/batch-write.d.ts +86 -0
  261. package/dist/esm/shared/dynamodb/batch-write.js +74 -0
  262. package/dist/esm/shared/dynamodb/cancellation.d.ts +124 -0
  263. package/dist/esm/shared/dynamodb/cancellation.js +30 -0
  264. package/dist/esm/shared/dynamodb/client.d.ts +177 -0
  265. package/dist/esm/shared/dynamodb/client.js +35 -0
  266. package/dist/esm/shared/dynamodb/idempotent-write.d.ts +596 -0
  267. package/dist/esm/shared/dynamodb/idempotent-write.js +153 -0
  268. package/dist/esm/shared/dynamodb/paginate.d.ts +111 -0
  269. package/dist/esm/shared/dynamodb/paginate.js +84 -0
  270. package/dist/esm/shared/dynamodb/partition-delete.d.ts +204 -0
  271. package/dist/esm/shared/dynamodb/partition-delete.js +171 -0
  272. package/dist/esm/shared/dynamodb/recency-index.d.ts +243 -0
  273. package/dist/esm/shared/dynamodb/recency-index.js +136 -0
  274. package/dist/esm/shared/dynamodb/retry.d.ts +317 -0
  275. package/dist/esm/shared/dynamodb/retry.js +180 -0
  276. package/dist/esm/shared/dynamodb/row-size.d.ts +33 -0
  277. package/dist/esm/shared/dynamodb/row-size.js +26 -0
  278. package/dist/esm/shared/dynamodb/table-schema.d.ts +199 -0
  279. package/dist/esm/shared/dynamodb/table-schema.js +43 -0
  280. package/dist/esm/shared/errors/base-error.d.ts +231 -0
  281. package/dist/esm/shared/errors/base-error.js +64 -0
  282. package/dist/esm/shared/errors/boundary.d.ts +86 -0
  283. package/dist/esm/shared/errors/boundary.js +54 -0
  284. package/dist/esm/shared/errors/classify.d.ts +206 -0
  285. package/dist/esm/shared/errors/classify.js +220 -0
  286. package/dist/esm/shared/errors/error-code.d.ts +95 -0
  287. package/dist/esm/shared/errors/error-code.js +24 -0
  288. package/dist/esm/shared/errors/errors.d.ts +233 -0
  289. package/dist/esm/shared/errors/errors.js +110 -0
  290. package/dist/esm/shared/logging/logger.d.ts +80 -0
  291. package/dist/esm/shared/logging/logger.js +25 -0
  292. package/dist/esm/shared/logging/redaction.d.ts +123 -0
  293. package/dist/esm/shared/logging/redaction.js +140 -0
  294. package/dist/esm/shared/logging/secret-patterns.d.ts +227 -0
  295. package/dist/esm/shared/logging/secret-patterns.js +83 -0
  296. package/dist/esm/shared/logging/truncate.d.ts +197 -0
  297. package/dist/esm/shared/logging/truncate.js +25 -0
  298. package/dist/esm/shared/options.d.ts +100 -0
  299. package/dist/esm/shared/options.js +1 -0
  300. package/dist/esm/shared/ulid.d.ts +80 -0
  301. package/dist/esm/shared/ulid.js +77 -0
  302. package/dist/esm/shared/validation/collaborators.d.ts +160 -0
  303. package/dist/esm/shared/validation/collaborators.js +70 -0
  304. package/dist/esm/shared/validation/option-shape.d.ts +91 -0
  305. package/dist/esm/shared/validation/option-shape.js +24 -0
  306. package/dist/esm/shared/validation/options.d.ts +145 -0
  307. package/dist/esm/shared/validation/options.js +156 -0
  308. package/dist/esm/shared/validation/primitives.d.ts +292 -0
  309. package/dist/esm/shared/validation/primitives.js +100 -0
  310. package/dist/esm/shared/validation/ttl.d.ts +94 -0
  311. package/dist/esm/shared/validation/ttl.js +46 -0
  312. package/dist/esm/store/actions/list-namespaces.d.ts +79 -0
  313. package/dist/esm/store/actions/list-namespaces.js +86 -0
  314. package/dist/esm/store/actions/put.d.ts +43 -0
  315. package/dist/esm/store/actions/put.js +46 -0
  316. package/dist/esm/store/actions/reconcile-vector-index.d.ts +38 -0
  317. package/dist/esm/store/actions/reconcile-vector-index.js +10 -0
  318. package/dist/esm/store/actions/search.d.ts +38 -0
  319. package/dist/esm/store/actions/search.js +23 -0
  320. package/dist/esm/store/internal/batch-plan.d.ts +56 -0
  321. package/dist/esm/store/internal/batch-plan.js +28 -0
  322. package/dist/esm/store/internal/filter.d.ts +43 -0
  323. package/dist/esm/store/internal/filter.js +60 -0
  324. package/dist/esm/store/internal/get-item.d.ts +77 -0
  325. package/dist/esm/store/internal/get-item.js +54 -0
  326. package/dist/esm/store/internal/item-write.d.ts +270 -0
  327. package/dist/esm/store/internal/item-write.js +173 -0
  328. package/dist/esm/store/internal/parse.d.ts +230 -0
  329. package/dist/esm/store/internal/parse.js +169 -0
  330. package/dist/esm/store/internal/rows.d.ts +359 -0
  331. package/dist/esm/store/internal/rows.js +147 -0
  332. package/dist/esm/store/internal/semantic-search.d.ts +168 -0
  333. package/dist/esm/store/internal/semantic-search.js +200 -0
  334. package/dist/esm/store/internal/setup.d.ts +96 -0
  335. package/dist/esm/store/internal/setup.js +98 -0
  336. package/dist/esm/store/internal/table-search.d.ts +100 -0
  337. package/dist/esm/store/internal/table-search.js +119 -0
  338. package/dist/esm/store/internal/vector-index.d.ts +258 -0
  339. package/dist/esm/store/internal/vector-index.js +256 -0
  340. package/dist/esm/store/store.d.ts +329 -0
  341. package/dist/esm/store/store.js +93 -0
  342. package/dist/esm/store/types.d.ts +111 -0
  343. package/dist/esm/store/types.js +1 -0
  344. package/dist/esm/store/vector-backend.d.ts +104 -0
  345. package/dist/esm/store/vector-backend.js +1 -0
  346. package/package.json +68 -46
  347. package/dist/checkpointer/actions/delete-thread.d.ts +0 -10
  348. package/dist/checkpointer/actions/delete-thread.js +0 -38
  349. package/dist/checkpointer/actions/get-tuple.d.ts +0 -11
  350. package/dist/checkpointer/actions/get-tuple.js +0 -25
  351. package/dist/checkpointer/actions/list.d.ts +0 -20
  352. package/dist/checkpointer/actions/list.js +0 -113
  353. package/dist/checkpointer/actions/put-writes.d.ts +0 -15
  354. package/dist/checkpointer/actions/put-writes.js +0 -62
  355. package/dist/checkpointer/actions/put.d.ts +0 -17
  356. package/dist/checkpointer/actions/put.js +0 -73
  357. package/dist/checkpointer/internal/assemble.d.ts +0 -17
  358. package/dist/checkpointer/internal/assemble.js +0 -38
  359. package/dist/checkpointer/internal/checkpoint-write-verify.d.ts +0 -24
  360. package/dist/checkpointer/internal/checkpoint-write-verify.js +0 -67
  361. package/dist/checkpointer/internal/configurable.d.ts +0 -12
  362. package/dist/checkpointer/internal/configurable.js +0 -24
  363. package/dist/checkpointer/internal/fetch.d.ts +0 -19
  364. package/dist/checkpointer/internal/fetch.js +0 -88
  365. package/dist/checkpointer/internal/filter-match.d.ts +0 -13
  366. package/dist/checkpointer/internal/filter-match.js +0 -15
  367. package/dist/checkpointer/internal/item-reader.d.ts +0 -66
  368. package/dist/checkpointer/internal/item-reader.js +0 -113
  369. package/dist/checkpointer/internal/item-writer.d.ts +0 -35
  370. package/dist/checkpointer/internal/item-writer.js +0 -107
  371. package/dist/checkpointer/internal/keys.d.ts +0 -41
  372. package/dist/checkpointer/internal/keys.js +0 -117
  373. package/dist/checkpointer/internal/list-scope.d.ts +0 -61
  374. package/dist/checkpointer/internal/list-scope.js +0 -108
  375. package/dist/checkpointer/internal/pending-sends.d.ts +0 -13
  376. package/dist/checkpointer/internal/pending-sends.js +0 -29
  377. package/dist/checkpointer/internal/query.d.ts +0 -21
  378. package/dist/checkpointer/internal/query.js +0 -42
  379. package/dist/checkpointer/internal/regular-write.d.ts +0 -28
  380. package/dist/checkpointer/internal/regular-write.js +0 -66
  381. package/dist/checkpointer/internal/setup.d.ts +0 -33
  382. package/dist/checkpointer/internal/setup.js +0 -38
  383. package/dist/checkpointer/internal/special-write-cas.d.ts +0 -29
  384. package/dist/checkpointer/internal/special-write-cas.js +0 -104
  385. package/dist/checkpointer/internal/special-write-cleanup.d.ts +0 -23
  386. package/dist/checkpointer/internal/special-write-cleanup.js +0 -50
  387. package/dist/checkpointer/internal/special-write-verify.d.ts +0 -53
  388. package/dist/checkpointer/internal/special-write-verify.js +0 -80
  389. package/dist/checkpointer/internal/stored-channels.d.ts +0 -31
  390. package/dist/checkpointer/internal/stored-channels.js +0 -70
  391. package/dist/checkpointer/internal/validation.d.ts +0 -18
  392. package/dist/checkpointer/internal/validation.js +0 -40
  393. package/dist/checkpointer/internal/write-guard.d.ts +0 -20
  394. package/dist/checkpointer/internal/write-guard.js +0 -48
  395. package/dist/checkpointer/internal/write-index.d.ts +0 -36
  396. package/dist/checkpointer/internal/write-index.js +0 -41
  397. package/dist/checkpointer/saver.d.ts +0 -70
  398. package/dist/checkpointer/saver.js +0 -105
  399. package/dist/checkpointer/types.d.ts +0 -58
  400. package/dist/factory/factory.d.ts +0 -40
  401. package/dist/factory/factory.js +0 -87
  402. package/dist/history/actions/add-messages.d.ts +0 -15
  403. package/dist/history/actions/add-messages.js +0 -77
  404. package/dist/history/actions/clear.d.ts +0 -10
  405. package/dist/history/actions/clear.js +0 -34
  406. package/dist/history/actions/get-messages.d.ts +0 -17
  407. package/dist/history/actions/get-messages.js +0 -79
  408. package/dist/history/actions/list-sessions.d.ts +0 -13
  409. package/dist/history/actions/list-sessions.js +0 -53
  410. package/dist/history/actions/reconcile-count.d.ts +0 -12
  411. package/dist/history/actions/reconcile-count.js +0 -64
  412. package/dist/history/chat-message-history.d.ts +0 -73
  413. package/dist/history/chat-message-history.js +0 -111
  414. package/dist/history/internal/append-saga.d.ts +0 -25
  415. package/dist/history/internal/append-saga.js +0 -79
  416. package/dist/history/internal/compensation.d.ts +0 -25
  417. package/dist/history/internal/compensation.js +0 -92
  418. package/dist/history/internal/item-mapper.d.ts +0 -9
  419. package/dist/history/internal/item-mapper.js +0 -27
  420. package/dist/history/internal/keys.d.ts +0 -16
  421. package/dist/history/internal/keys.js +0 -48
  422. package/dist/history/internal/message-chunker.d.ts +0 -13
  423. package/dist/history/internal/message-chunker.js +0 -67
  424. package/dist/history/internal/message-transaction.d.ts +0 -25
  425. package/dist/history/internal/message-transaction.js +0 -61
  426. package/dist/history/internal/message-window.d.ts +0 -17
  427. package/dist/history/internal/message-window.js +0 -49
  428. package/dist/history/internal/query.d.ts +0 -23
  429. package/dist/history/internal/query.js +0 -39
  430. package/dist/history/internal/session-count.d.ts +0 -47
  431. package/dist/history/internal/session-count.js +0 -115
  432. package/dist/history/internal/session-title.d.ts +0 -19
  433. package/dist/history/internal/session-title.js +0 -43
  434. package/dist/history/internal/session-update.d.ts +0 -27
  435. package/dist/history/internal/session-update.js +0 -69
  436. package/dist/history/internal/setup.d.ts +0 -31
  437. package/dist/history/internal/setup.js +0 -43
  438. package/dist/history/internal/title-generator.d.ts +0 -12
  439. package/dist/history/internal/title-generator.js +0 -41
  440. package/dist/history/internal/ttl-anchor.d.ts +0 -24
  441. package/dist/history/internal/ttl-anchor.js +0 -38
  442. package/dist/history/internal/validation.d.ts +0 -25
  443. package/dist/history/internal/validation.js +0 -53
  444. package/dist/history/session-adapter.d.ts +0 -29
  445. package/dist/history/session-adapter.js +0 -35
  446. package/dist/history/types.d.ts +0 -69
  447. package/dist/index.d.ts +0 -29
  448. package/dist/index.js +0 -32
  449. package/dist/shared/clock.d.ts +0 -8
  450. package/dist/shared/clock.js +0 -16
  451. package/dist/shared/codec/codec.d.ts +0 -53
  452. package/dist/shared/codec/codec.js +0 -66
  453. package/dist/shared/codec/compression.d.ts +0 -24
  454. package/dist/shared/codec/compression.js +0 -48
  455. package/dist/shared/codec/descriptor-keys.d.ts +0 -12
  456. package/dist/shared/codec/descriptor-keys.js +0 -14
  457. package/dist/shared/codec/encode.d.ts +0 -13
  458. package/dist/shared/codec/encode.js +0 -43
  459. package/dist/shared/codec/json-serde.d.ts +0 -7
  460. package/dist/shared/codec/json-serde.js +0 -17
  461. package/dist/shared/codec/payload-loss.d.ts +0 -12
  462. package/dist/shared/codec/payload-loss.js +0 -38
  463. package/dist/shared/codec/s3/adapter-config.d.ts +0 -13
  464. package/dist/shared/codec/s3/adapter-config.js +0 -22
  465. package/dist/shared/codec/s3/bounded-body.d.ts +0 -14
  466. package/dist/shared/codec/s3/bounded-body.js +0 -47
  467. package/dist/shared/codec/s3/client.d.ts +0 -18
  468. package/dist/shared/codec/s3/client.js +0 -46
  469. package/dist/shared/codec/s3/config.d.ts +0 -51
  470. package/dist/shared/codec/s3/config.js +0 -58
  471. package/dist/shared/codec/s3/delete.d.ts +0 -7
  472. package/dist/shared/codec/s3/delete.js +0 -28
  473. package/dist/shared/codec/s3/key-scope.d.ts +0 -23
  474. package/dist/shared/codec/s3/key-scope.js +0 -44
  475. package/dist/shared/codec/s3/lifecycle.d.ts +0 -14
  476. package/dist/shared/codec/s3/lifecycle.js +0 -63
  477. package/dist/shared/codec/s3/offloader.d.ts +0 -44
  478. package/dist/shared/codec/s3/offloader.js +0 -118
  479. package/dist/shared/codec/s3/orphans.d.ts +0 -23
  480. package/dist/shared/codec/s3/orphans.js +0 -71
  481. package/dist/shared/codec/s3/read-write.d.ts +0 -18
  482. package/dist/shared/codec/s3/read-write.js +0 -51
  483. package/dist/shared/codec/s3/retry.d.ts +0 -5
  484. package/dist/shared/codec/s3/retry.js +0 -22
  485. package/dist/shared/concurrency.d.ts +0 -6
  486. package/dist/shared/constants.d.ts +0 -112
  487. package/dist/shared/constants.js +0 -115
  488. package/dist/shared/dynamodb/abort.d.ts +0 -9
  489. package/dist/shared/dynamodb/abort.js +0 -27
  490. package/dist/shared/dynamodb/backoff.d.ts +0 -15
  491. package/dist/shared/dynamodb/backoff.js +0 -48
  492. package/dist/shared/dynamodb/batch-write.d.ts +0 -22
  493. package/dist/shared/dynamodb/batch-write.js +0 -53
  494. package/dist/shared/dynamodb/cancellation.d.ts +0 -6
  495. package/dist/shared/dynamodb/cancellation.js +0 -7
  496. package/dist/shared/dynamodb/client.d.ts +0 -28
  497. package/dist/shared/dynamodb/conditional-put.d.ts +0 -67
  498. package/dist/shared/dynamodb/conditional-put.js +0 -76
  499. package/dist/shared/dynamodb/drain-unprocessed.d.ts +0 -21
  500. package/dist/shared/dynamodb/drain-unprocessed.js +0 -43
  501. package/dist/shared/dynamodb/expiry.d.ts +0 -16
  502. package/dist/shared/dynamodb/expiry.js +0 -29
  503. package/dist/shared/dynamodb/paginate-core.d.ts +0 -24
  504. package/dist/shared/dynamodb/paginate-core.js +0 -82
  505. package/dist/shared/dynamodb/paginate.d.ts +0 -14
  506. package/dist/shared/dynamodb/paginate.js +0 -19
  507. package/dist/shared/dynamodb/partition-delete.d.ts +0 -39
  508. package/dist/shared/dynamodb/partition-delete.js +0 -71
  509. package/dist/shared/dynamodb/retry-classifier.d.ts +0 -17
  510. package/dist/shared/dynamodb/retry-classifier.js +0 -118
  511. package/dist/shared/dynamodb/retry-policy.d.ts +0 -26
  512. package/dist/shared/dynamodb/retry-policy.js +0 -22
  513. package/dist/shared/dynamodb/retry.d.ts +0 -31
  514. package/dist/shared/dynamodb/retry.js +0 -57
  515. package/dist/shared/dynamodb/scan.d.ts +0 -14
  516. package/dist/shared/dynamodb/scan.js +0 -19
  517. package/dist/shared/dynamodb/types.d.ts +0 -23
  518. package/dist/shared/errors/base-error.d.ts +0 -30
  519. package/dist/shared/errors/base-error.js +0 -27
  520. package/dist/shared/errors/boundary.d.ts +0 -18
  521. package/dist/shared/errors/boundary.js +0 -46
  522. package/dist/shared/errors/error-code.d.ts +0 -13
  523. package/dist/shared/errors/errors.d.ts +0 -68
  524. package/dist/shared/errors/errors.js +0 -114
  525. package/dist/shared/errors/upstream-error.d.ts +0 -16
  526. package/dist/shared/errors/upstream-error.js +0 -27
  527. package/dist/shared/errors/wrap-error.d.ts +0 -7
  528. package/dist/shared/errors/wrap-error.js +0 -15
  529. package/dist/shared/logging/logger.d.ts +0 -18
  530. package/dist/shared/logging/logger.js +0 -15
  531. package/dist/shared/logging/redaction-walk.d.ts +0 -23
  532. package/dist/shared/logging/redaction-walk.js +0 -112
  533. package/dist/shared/logging/redaction.d.ts +0 -39
  534. package/dist/shared/logging/redaction.js +0 -75
  535. package/dist/shared/logging/secret-patterns.d.ts +0 -92
  536. package/dist/shared/logging/secret-patterns.js +0 -133
  537. package/dist/shared/options.d.ts +0 -37
  538. package/dist/shared/ulid.d.ts +0 -23
  539. package/dist/shared/validation/options.d.ts +0 -8
  540. package/dist/shared/validation/options.js +0 -90
  541. package/dist/shared/validation/primitives.d.ts +0 -29
  542. package/dist/shared/validation/primitives.js +0 -82
  543. package/dist/shared/validation/ttl.d.ts +0 -28
  544. package/dist/shared/validation/ttl.js +0 -52
  545. package/dist/store/actions/get.d.ts +0 -13
  546. package/dist/store/actions/get.js +0 -73
  547. package/dist/store/actions/list-namespaces.d.ts +0 -8
  548. package/dist/store/actions/list-namespaces.js +0 -59
  549. package/dist/store/actions/put.d.ts +0 -10
  550. package/dist/store/actions/put.js +0 -96
  551. package/dist/store/actions/reconcile-vector-index.d.ts +0 -18
  552. package/dist/store/actions/reconcile-vector-index.js +0 -26
  553. package/dist/store/actions/search.d.ts +0 -9
  554. package/dist/store/actions/search.js +0 -34
  555. package/dist/store/internal/backend-search.d.ts +0 -4
  556. package/dist/store/internal/backend-search.js +0 -74
  557. package/dist/store/internal/batch-plan.d.ts +0 -11
  558. package/dist/store/internal/batch-plan.js +0 -52
  559. package/dist/store/internal/candidates.d.ts +0 -23
  560. package/dist/store/internal/candidates.js +0 -94
  561. package/dist/store/internal/filter.d.ts +0 -9
  562. package/dist/store/internal/filter.js +0 -85
  563. package/dist/store/internal/index-reconcile.d.ts +0 -21
  564. package/dist/store/internal/index-reconcile.js +0 -118
  565. package/dist/store/internal/index-sync.d.ts +0 -10
  566. package/dist/store/internal/index-sync.js +0 -25
  567. package/dist/store/internal/item-mapper.d.ts +0 -27
  568. package/dist/store/internal/item-mapper.js +0 -61
  569. package/dist/store/internal/keys.d.ts +0 -17
  570. package/dist/store/internal/keys.js +0 -41
  571. package/dist/store/internal/namespace-match.d.ts +0 -11
  572. package/dist/store/internal/namespace-match.js +0 -40
  573. package/dist/store/internal/option-validation.d.ts +0 -13
  574. package/dist/store/internal/option-validation.js +0 -77
  575. package/dist/store/internal/overwrite-swap.d.ts +0 -32
  576. package/dist/store/internal/overwrite-swap.js +0 -68
  577. package/dist/store/internal/persist.d.ts +0 -28
  578. package/dist/store/internal/persist.js +0 -64
  579. package/dist/store/internal/query.d.ts +0 -11
  580. package/dist/store/internal/query.js +0 -48
  581. package/dist/store/internal/ranker.d.ts +0 -18
  582. package/dist/store/internal/ranker.js +0 -39
  583. package/dist/store/internal/read-existing.d.ts +0 -23
  584. package/dist/store/internal/read-existing.js +0 -41
  585. package/dist/store/internal/score-direction.d.ts +0 -31
  586. package/dist/store/internal/score-direction.js +0 -38
  587. package/dist/store/internal/search-filter.d.ts +0 -3
  588. package/dist/store/internal/search-filter.js +0 -10
  589. package/dist/store/internal/semantic-search.d.ts +0 -34
  590. package/dist/store/internal/semantic-search.js +0 -87
  591. package/dist/store/internal/setup.d.ts +0 -36
  592. package/dist/store/internal/setup.js +0 -40
  593. package/dist/store/internal/text-path.d.ts +0 -17
  594. package/dist/store/internal/validation.d.ts +0 -18
  595. package/dist/store/internal/validation.js +0 -51
  596. package/dist/store/internal/write-verify.d.ts +0 -42
  597. package/dist/store/internal/write-verify.js +0 -71
  598. package/dist/store/store.d.ts +0 -61
  599. package/dist/store/store.js +0 -107
  600. package/dist/store/types.d.ts +0 -50
  601. package/dist/store/types.js +0 -2
  602. package/dist/store/vector-backend.d.ts +0 -43
  603. package/dist/store/vector-backend.js +0 -2
  604. /package/dist/{checkpointer → cjs/checkpointer}/types.js +0 -0
  605. /package/dist/{factory → cjs/factory}/types.js +0 -0
  606. /package/dist/{history → cjs/history}/types.js +0 -0
  607. /package/dist/{shared → cjs/shared}/options.js +0 -0
  608. /package/dist/{shared/dynamodb → cjs/store}/types.js +0 -0
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Hides what each of this library's errors carries, for the codes that have
3
+ * a factory here.
4
+ *
5
+ * A failure site with a factory below names it for its code and the facts it
6
+ * has. The message wording, which facts go into `context` or `details`,
7
+ * copying a list a caller reads from a `catch` long after the throw,
8
+ * redacting quoted cause text, and a stack that starts at the caller rather
9
+ * than inside the factory are decided here once per code, on the one error
10
+ * class (record 19). `FORMAT_UNSUPPORTED`, `PAYLOAD_CORRUPT`,
11
+ * `COMPRESSION_LIMIT`, `S3_OFFLOAD_FAILED` and `ANCESTOR_EXPIRED` are raised
12
+ * with `new DynamoDBLangGraphError` at their own call sites instead; so is
13
+ * `CONTENTION` when `ensureLifecycleRule` gives up on a lifecycle write that
14
+ * never stays, which is this package's own verdict rather than an AWS
15
+ * rejection. Every other occurrence of an AWS-classified code, `CONTENTION`
16
+ * included, is wrapped once, by `wrapForeignError` in the error boundary, not
17
+ * per code here.
18
+ */
19
+ import type { WriteRequest } from '../dynamodb/client.js';
20
+ import { DynamoDBLangGraphError } from './base-error.js';
21
+ import { ErrorCode } from './error-code.js';
22
+ /**
23
+ * The error for input that failed a check before any AWS call was made.
24
+ *
25
+ * Accepts: `message` — already redacted by whoever composed it. `field` — the
26
+ * option, argument or cap that failed, dotted for a nested one
27
+ * (`s3.bucketName`); omitted only where no single input is at fault. `cause` —
28
+ * the refusal beneath it.
29
+ *
30
+ * Returns: a `VALIDATION` error, with `context.field` set when a field was
31
+ * named — which is what a caller branches on to point at the offending input.
32
+ *
33
+ * Throws: nothing; building an error may not fail.
34
+ */
35
+ export declare function validationError(message: string, field?: string, cause?: Error): DynamoDBLangGraphError<ErrorCode.VALIDATION>;
36
+ /**
37
+ * The error for a conditional write whose precondition no longer holds.
38
+ *
39
+ * Accepts: `message` — what precondition no longer held. `cause` — the
40
+ * rejection beneath it, when there is one.
41
+ *
42
+ * Returns: a `CONDITION_CONFLICT` error. A caller may retry the operation
43
+ * from a fresh read; nothing was written.
44
+ *
45
+ * Throws: nothing; building an error may not fail.
46
+ */
47
+ export declare function conflictError(message: string, cause?: Error): DynamoDBLangGraphError<ErrorCode.CONDITION_CONFLICT>;
48
+ /**
49
+ * Record on `error` that an attempt of the budget it ended may still land.
50
+ *
51
+ * Accepts: `error` — the failure a retry budget is about to throw as it is: a
52
+ * refusal that is not retried, so it is thrown bare rather than wrapped in
53
+ * `RETRY_EXHAUSTED`, after an earlier attempt of the same budget got no
54
+ * answer. Credentials expiring mid-budget are the ordinary way there.
55
+ *
56
+ * Returns: `error`, carrying the record for {@link retryBudgetMayStillLand}.
57
+ * An error that cannot take a property — frozen, or not an object — is
58
+ * returned as it is, and then reads as answered, which is how every error
59
+ * read before this record existed.
60
+ *
61
+ * Throws: nothing, for any value.
62
+ */
63
+ export declare function markMayStillLand<E extends Error>(error: E): E;
64
+ /**
65
+ * The error for a retried operation that exhausted its attempt budget.
66
+ *
67
+ * Accepts: `attempts` — how many were made before the budget ran out.
68
+ * `cause` — the last failure, kept so a caller can classify what actually
69
+ * went wrong. `mayStillLand` — whether any attempt of the budget, not only the
70
+ * last, left DynamoDB free to apply it later; read back by
71
+ * {@link retryBudgetMayStillLand}. Defaults to false, which is what a caller
72
+ * outside `withRetry` — one built by an older release, or a test double — gets
73
+ * for not recording one.
74
+ *
75
+ * Returns: a `RETRY_EXHAUSTED` error, with `context.attempts` when `attempts`
76
+ * was given, and the `awsErrorName`, `httpStatusCode` and `requestId` of the
77
+ * last failure when that failure was AWS's, so a count by status needs no walk
78
+ * of `cause`. It says the attempts are spent, **not** that the operation did
79
+ * not happen: a write whose response was lost is reported this way too, which
80
+ * is why every caller that would delete something reads the row back first.
81
+ *
82
+ * Throws: nothing; building an error may not fail.
83
+ */
84
+ export declare function retryExhaustedError(message: string, attempts?: number, cause?: Error, mayStillLand?: boolean): DynamoDBLangGraphError<ErrorCode.RETRY_EXHAUSTED>;
85
+ /**
86
+ * Whether some attempt of the retry budget this error ended — recorded across
87
+ * every attempt `withRetry` made, not re-derived from the error, which is only
88
+ * the last one — left DynamoDB free to apply it later.
89
+ *
90
+ * Accepts: `error` — any error; one {@link retryExhaustedError} built, or one
91
+ * {@link markMayStillLand} marked, carries the record.
92
+ *
93
+ * Returns: the flag recorded on the error; false for any other error,
94
+ * including a `RETRY_EXHAUSTED` error built without passing one.
95
+ *
96
+ * Throws: nothing, for any value.
97
+ */
98
+ export declare function retryBudgetMayStillLand(error: Error): boolean;
99
+ /**
100
+ * The error for a paginated read that hit its runaway guard (item or
101
+ * iteration cap) while more data remained, so the result would have been
102
+ * silently truncated. Narrow the query (filter/prefix) or raise the cap rather
103
+ * than trusting a partial result.
104
+ *
105
+ * Accepts: `cap` — which cap was hit (`maxItems`, `maxIterations`). `limit` —
106
+ * its value, quoted in the message so the fix is obvious.
107
+ *
108
+ * Returns: a `RESULT_TRUNCATED` error, with `context.field` naming the cap.
109
+ * Raised only when data actually remained, so it never turns a complete
110
+ * result into a failure.
111
+ *
112
+ * Throws: nothing; building an error may not fail.
113
+ */
114
+ export declare function resultTruncatedError(cap: string, limit: number): DynamoDBLangGraphError<ErrorCode.RESULT_TRUNCATED>;
115
+ /**
116
+ * The error for an operation cancelled via its `AbortSignal`.
117
+ *
118
+ * Accepts: `message` — defaults to `Operation aborted`. `cause` — the
119
+ * `AbortSignal`'s own reason, when it carried one.
120
+ *
121
+ * Returns: an `ABORTED` error. Distinct from every failure code on purpose: a
122
+ * caller who cancelled did not encounter a fault, and treating the two alike
123
+ * reported an incomplete write for a deliberate stop.
124
+ *
125
+ * Throws: nothing; building an error may not fail.
126
+ */
127
+ export declare function abortError(message?: string, cause?: Error): DynamoDBLangGraphError<ErrorCode.ABORTED>;
128
+ /**
129
+ * The error for a `BatchWriteItem` sequence that could not drain its
130
+ * `UnprocessedItems`.
131
+ *
132
+ * Accepts: `succeededCount` — writes DynamoDB acked. `unprocessed` — the
133
+ * requests it did not, verbatim, so they can be re-submitted. `retries` —
134
+ * rounds spent. `cause` — an error that interrupted the drain (a thrown,
135
+ * non-`UnprocessedItems` error from a retry round), rather than a clean
136
+ * exhaustion of the `UnprocessedItems` retry budget.
137
+ *
138
+ * Returns: a `BATCH_WRITE_INCOMPLETE` error whose `details` (`kind: 'drain'`)
139
+ * carry both counts and the list. Items *not* listed in `details.unprocessed`
140
+ * persist: there is no rollback, so reconciliation is driven from that list.
141
+ * That list is **copied**: it is read from a `catch` long after the throw, and
142
+ * a caller reusing its request buffer must not be able to rewrite it.
143
+ *
144
+ * Throws: nothing; building an error may not fail. Anything but an array of
145
+ * requests reads as an empty list rather than crashing the report.
146
+ */
147
+ export declare function batchWriteIncompleteError(succeededCount: number, unprocessed: WriteRequest[], retries: number, cause?: Error): DynamoDBLangGraphError<ErrorCode.BATCH_WRITE_INCOMPLETE>;
148
+ /** What a batch that could not finish reports. */
149
+ export interface IncompleteBatch {
150
+ /** Chunks (or rows) that committed. */
151
+ readonly succeeded: number;
152
+ /** Chunks (or rows) the batch had. */
153
+ readonly total: number;
154
+ readonly failures: Error[];
155
+ /** Requests that committed, when a chunk is more than one request. */
156
+ readonly succeededCount?: number;
157
+ readonly unit?: 'row';
158
+ }
159
+ /**
160
+ * The error for a `batchWriteAll` pass — or a partition-wide delete — that did
161
+ * not fully drain. `batchWriteAll` attempts every chunk rather than stopping
162
+ * at the first failure, so a mid-sequence chunk failing does not abandon the
163
+ * chunks after it. A partition-wide delete reports through the same shape,
164
+ * because what it answers is the same question — how much of this call got
165
+ * through — but it sends one conditional request per row rather than a batch
166
+ * of twenty-five, so it counts rows where a batch counts chunks and says so in
167
+ * its message.
168
+ *
169
+ * Accepts: `batch.succeeded`/`batch.total` — the chunk tally. `batch.failures`
170
+ * — each failing chunk's own error, commonly a `BATCH_WRITE_INCOMPLETE` drain
171
+ * error. `batch.succeededCount` — individual writes confirmed persisted across
172
+ * every chunk (full chunks plus any failed chunk's own partial drain), which
173
+ * is more precise than the chunk tally when a chunk partially drains.
174
+ * `batch.unit` — what the first two counts count; omitting it reproduces the
175
+ * batch wording exactly.
176
+ *
177
+ * Returns: a `BATCH_WRITE_INCOMPLETE` error whose `details` (`kind: 'pass'`)
178
+ * carry the tally, with the first failing chunk's error as `cause`. Every
179
+ * chunk not represented in `details.failedChunks` drained successfully and its
180
+ * writes persist — there is no rollback. The list is **copied**, for the same
181
+ * reason a drain error copies its own.
182
+ *
183
+ * Throws: nothing; building an error may not fail. Anything but an array of
184
+ * errors reads as an empty list rather than crashing the report.
185
+ */
186
+ export declare function batchWriteAllIncompleteError(batch: IncompleteBatch): DynamoDBLangGraphError<ErrorCode.BATCH_WRITE_INCOMPLETE>;
187
+ /**
188
+ * The error for a compensating rollback that failed after an append-saga
189
+ * chunk error, so the trigger could not be cleanly undone.
190
+ *
191
+ * Accepts: `cause` — the failure that triggered the rollback. `rollbackError`
192
+ * — why the rollback itself could not finish. Both are built from a `catch`,
193
+ * so either may be whatever a `throw` produced rather than an `Error`.
194
+ *
195
+ * Returns: a `COMPENSATION_FAILED` error carrying the trigger as `cause` and
196
+ * the rollback failure as `details.rollbackError`, each normalised through
197
+ * `toError` so both are always error-shaped. The session's `messageCount` may
198
+ * have drifted, which `reconcileMessageCount` repairs; the quoted text of both
199
+ * errors is redacted before it is embedded.
200
+ *
201
+ * Throws: nothing; building an error may not fail. Reading `.message` off a
202
+ * thrown `null` or `undefined` would throw here, inside the `catch` reporting
203
+ * the rollback — which is why `toError` normalises both `cause` and
204
+ * `rollbackError` before anything reads off them.
205
+ */
206
+ export declare function compensationFailedError(cause: Error, rollbackError: Error): DynamoDBLangGraphError<ErrorCode.COMPENSATION_FAILED>;
207
+ /**
208
+ * The error for an append-saga chunk whose own outcome could not be
209
+ * established, raised once every chunk this call *could* confirm has already
210
+ * been undone — the rollback itself did not fail; this chunk alone could not
211
+ * be read back, or its write may still be applied after the read.
212
+ *
213
+ * Accepts: `cause` — the failing chunk's own failure. `unsettledBecause` —
214
+ * why its outcome is unknown: the read-back's own failure, or the write's
215
+ * own failure, when some attempt of it may still be applied. Both are built
216
+ * from a `catch`, so either may be whatever a `throw` produced rather than
217
+ * an `Error`.
218
+ *
219
+ * Returns: a `COMPENSATION_FAILED` error carrying `cause` as `cause` and
220
+ * `unsettledBecause` as `details.rollbackError`, each normalised through
221
+ * `toError` so both are always error-shaped. Its message says the chunk's
222
+ * own fate could not be established — never that a rollback failed, since
223
+ * every chunk this call could confirm was already rolled back before this is
224
+ * raised. The session's `messageCount` may have drifted, which
225
+ * `reconcileMessageCount` repairs; the quoted text of both errors is
226
+ * redacted before it is embedded.
227
+ *
228
+ * Throws: nothing; building an error may not fail. Reading `.message` off a
229
+ * thrown `null` or `undefined` would throw here, which is why `toError`
230
+ * normalises both `cause` and `unsettledBecause` before anything reads off
231
+ * them.
232
+ */
233
+ export declare function unsettledAppendError(cause: Error, unsettledBecause: Error): DynamoDBLangGraphError<ErrorCode.COMPENSATION_FAILED>;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validationError = validationError;
4
+ exports.conflictError = conflictError;
5
+ exports.markMayStillLand = markMayStillLand;
6
+ exports.retryExhaustedError = retryExhaustedError;
7
+ exports.retryBudgetMayStillLand = retryBudgetMayStillLand;
8
+ exports.resultTruncatedError = resultTruncatedError;
9
+ exports.abortError = abortError;
10
+ exports.batchWriteIncompleteError = batchWriteIncompleteError;
11
+ exports.batchWriteAllIncompleteError = batchWriteAllIncompleteError;
12
+ exports.compensationFailedError = compensationFailedError;
13
+ exports.unsettledAppendError = unsettledAppendError;
14
+ const secret_patterns_js_1 = require("../logging/secret-patterns.js");
15
+ const base_error_js_1 = require("./base-error.js");
16
+ const classify_js_1 = require("./classify.js");
17
+ const error_code_js_1 = require("./error-code.js");
18
+ function build(factory, spec) {
19
+ const error = new base_error_js_1.DynamoDBLangGraphError(spec.message, spec.code, spec.context, spec.cause, spec.details);
20
+ Error.captureStackTrace(error, factory);
21
+ return error;
22
+ }
23
+ function validationError(message, field, cause) {
24
+ return build(validationError, {
25
+ message,
26
+ code: error_code_js_1.ErrorCode.VALIDATION,
27
+ context: field === undefined ? {} : { field },
28
+ cause,
29
+ });
30
+ }
31
+ function conflictError(message, cause) {
32
+ return build(conflictError, { message, code: error_code_js_1.ErrorCode.CONDITION_CONFLICT, context: {}, cause });
33
+ }
34
+ const MAY_STILL_LAND = Symbol('retryBudget.mayStillLand');
35
+ function markMayStillLand(error) {
36
+ if (typeof error === 'object' && error !== null && Object.isExtensible(error)) {
37
+ Object.defineProperty(error, MAY_STILL_LAND, { value: true, enumerable: false });
38
+ }
39
+ return error;
40
+ }
41
+ function retryExhaustedError(message, attempts, cause, mayStillLand = false) {
42
+ const error = build(retryExhaustedError, {
43
+ message,
44
+ code: error_code_js_1.ErrorCode.RETRY_EXHAUSTED,
45
+ context: {
46
+ ...(attempts === undefined ? {} : { attempts }),
47
+ ...(cause === undefined ? {} : (0, classify_js_1.awsDiagnostics)(cause)),
48
+ },
49
+ cause,
50
+ });
51
+ Object.defineProperty(error, MAY_STILL_LAND, { value: mayStillLand, enumerable: false });
52
+ return error;
53
+ }
54
+ function retryBudgetMayStillLand(error) {
55
+ if (typeof error !== 'object' || error === null)
56
+ return false;
57
+ return error[MAY_STILL_LAND] === true;
58
+ }
59
+ function resultTruncatedError(cap, limit) {
60
+ return build(resultTruncatedError, {
61
+ message: `paginated read truncated at the ${cap} cap (${limit}) with more data remaining`,
62
+ code: error_code_js_1.ErrorCode.RESULT_TRUNCATED,
63
+ context: { field: cap },
64
+ });
65
+ }
66
+ function abortError(message = 'Operation aborted', cause) {
67
+ return build(abortError, { message, code: error_code_js_1.ErrorCode.ABORTED, context: {}, cause });
68
+ }
69
+ function batchWriteIncompleteError(succeededCount, unprocessed, retries, cause) {
70
+ const items = Array.isArray(unprocessed) ? [...unprocessed] : [];
71
+ return build(batchWriteIncompleteError, {
72
+ message: `batchWrite did not drain after ${retries} UnprocessedItems retries: ` +
73
+ `${succeededCount} item(s) persisted, ${items.length} still un-acked.`,
74
+ code: error_code_js_1.ErrorCode.BATCH_WRITE_INCOMPLETE,
75
+ context: {},
76
+ cause,
77
+ details: { kind: 'drain', succeededCount, unprocessed: items, retries },
78
+ });
79
+ }
80
+ function batchWriteAllIncompleteError(batch) {
81
+ const { succeeded, total, succeededCount = 0, unit = 'chunk' } = batch;
82
+ const failed = Array.isArray(batch.failures) ? [...batch.failures] : [];
83
+ return build(batchWriteAllIncompleteError, {
84
+ message: `${unit === 'chunk' ? 'batchWriteAll' : 'the partition delete'} did not fully drain: ` +
85
+ `${succeeded}/${total} ${unit}(s) succeeded, ` +
86
+ `${failed.length} ${unit}(s) failed. ${succeededCount} write(s) persisted before the failure.`,
87
+ code: error_code_js_1.ErrorCode.BATCH_WRITE_INCOMPLETE,
88
+ context: {},
89
+ cause: failed[0],
90
+ details: {
91
+ kind: 'pass',
92
+ unit,
93
+ succeededChunks: succeeded,
94
+ totalChunks: total,
95
+ failedChunks: failed,
96
+ succeededCount,
97
+ },
98
+ });
99
+ }
100
+ function compensationFailedError(cause, rollbackError) {
101
+ const trigger = (0, base_error_js_1.toError)(cause);
102
+ const rollback = (0, base_error_js_1.toError)(rollbackError);
103
+ return build(compensationFailedError, {
104
+ message: `compensation failed after an append error: ${(0, secret_patterns_js_1.redactedMessage)(trigger)} ` +
105
+ `(rollback: ${(0, secret_patterns_js_1.redactedMessage)(rollback)})`,
106
+ code: error_code_js_1.ErrorCode.COMPENSATION_FAILED,
107
+ context: {},
108
+ cause: trigger,
109
+ details: { rollbackError: rollback },
110
+ });
111
+ }
112
+ function unsettledAppendError(cause, unsettledBecause) {
113
+ const trigger = (0, base_error_js_1.toError)(cause);
114
+ const unsettled = (0, base_error_js_1.toError)(unsettledBecause);
115
+ return build(unsettledAppendError, {
116
+ message: `an append chunk could not be settled after ${(0, secret_patterns_js_1.redactedMessage)(trigger)} ` +
117
+ `(unsettled because: ${(0, secret_patterns_js_1.redactedMessage)(unsettled)})`,
118
+ code: error_code_js_1.ErrorCode.COMPENSATION_FAILED,
119
+ context: {},
120
+ cause: trigger,
121
+ details: { rollbackError: unsettled },
122
+ });
123
+ }
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Hides that a caller's logger is foreign code that may throw.
3
+ *
4
+ * A caller supplies no logger or one of their own, and internal code receives
5
+ * a logger that is silent by default and whose four levels never throw. No
6
+ * `catch` block or retry hook therefore treats a log call as a failure path
7
+ * of its own, and where a throw is absorbed, and what becomes of the line it
8
+ * was writing, can change here without touching any call site.
9
+ */
10
+ /** A value safe to pass as a structured log argument. */
11
+ export type LogArgument = string | number | boolean | null | object;
12
+ /**
13
+ * Pluggable logging interface — consumers supply their own implementation.
14
+ * `args` are structured fields, at most one plain object per call, so an
15
+ * adapter for a structured logger (pino, winston) can merge them into one
16
+ * record; the message is a fixed string and never carries a value.
17
+ *
18
+ * It is the one piece of foreign code every adapter of this package calls,
19
+ * almost always from a `catch` block, so an adapter wraps it: anything one of
20
+ * its methods throws is absorbed at the log call and never replaces the error
21
+ * being reported.
22
+ */
23
+ export interface Logger {
24
+ info(message: string, ...args: LogArgument[]): void;
25
+ warn(message: string, ...args: LogArgument[]): void;
26
+ error(message: string, ...args: LogArgument[]): void;
27
+ debug(message: string, ...args: LogArgument[]): void;
28
+ }
29
+ /** Default logger: discards everything. Inject a real logger to enable output. */
30
+ export declare const SILENT_LOGGER: Logger;
31
+ /**
32
+ * Run one log call so that a failure of the caller's own logger cannot become
33
+ * the caller's problem.
34
+ *
35
+ * Shared rather than private to the file that first needed it: a `Logger` is
36
+ * an interface a consumer implements, so a log call is foreign code wherever
37
+ * it appears, and a guard each site has to remember is a guard most sites will
38
+ * not have.
39
+ *
40
+ * Swallowed rather than reported onward, because the only channel a report
41
+ * could use is the logger that just broke, and the alternative — writing to
42
+ * the host's console uninvited — is what {@link SILENT_LOGGER} exists to
43
+ * refuse. What the line was going to say is an observation about work that has
44
+ * either succeeded or is already failing for a reason of its own; the error it
45
+ * protects is the one that says what that reason was.
46
+ *
47
+ * Accepts: `emit` — the whole log call as a thunk, so the arguments are built
48
+ * inside the guard too: a formatter that throws while composing the line is
49
+ * the same failure as a transport that throws while writing it.
50
+ *
51
+ * Returns: nothing, and the same nothing whether the line was written or lost.
52
+ *
53
+ * Throws: **nothing**, ever. That is the entire job. The caller's next
54
+ * statement runs, so a path that says what it is about to do and then does it
55
+ * cannot be stopped between the two by the saying.
56
+ */
57
+ export declare function absorbLoggerFailure(emit: () => void): void;
58
+ /**
59
+ * Resolve an optional logger to a concrete one.
60
+ *
61
+ * Accepts: `logger` — the caller's, or nothing. Its members were validated
62
+ * where the options were.
63
+ *
64
+ * Returns: {@link SILENT_LOGGER} when nothing was given — silent rather than
65
+ * console by default: a library writing to a host's stdout uninvited is a
66
+ * nuisance, and every event it would have written is documented so an operator
67
+ * can opt in. Otherwise a **wrapper** around the caller's logger, not the
68
+ * object itself: the same four levels, delegating each call with its message
69
+ * and arguments unchanged, and absorbing anything the caller's method throws
70
+ * (see `absorbLoggerFailure`). Identity is therefore not preserved, and
71
+ * a caller comparing what it passed in against what an adapter holds would
72
+ * find two different objects; nothing observable about a log line changes.
73
+ *
74
+ * Throws: nothing.
75
+ *
76
+ * Guarantees: every logger this package hands to its own internals has methods
77
+ * that cannot throw, so no `catch` block, and no retry hook, has to treat a log
78
+ * call as a failure path of its own.
79
+ */
80
+ export declare function resolveLogger(logger?: Logger): Logger;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SILENT_LOGGER = void 0;
4
+ exports.absorbLoggerFailure = absorbLoggerFailure;
5
+ exports.resolveLogger = resolveLogger;
6
+ exports.SILENT_LOGGER = {
7
+ info() { },
8
+ warn() { },
9
+ error() { },
10
+ debug() { },
11
+ };
12
+ function absorbLoggerFailure(emit) {
13
+ try {
14
+ emit();
15
+ }
16
+ catch {
17
+ }
18
+ }
19
+ function containedLogger(inner) {
20
+ const deliver = (level) => (message, ...args) => absorbLoggerFailure(() => inner[level](message, ...args));
21
+ return {
22
+ info: deliver('info'),
23
+ warn: deliver('warn'),
24
+ error: deliver('error'),
25
+ debug: deliver('debug'),
26
+ };
27
+ }
28
+ function resolveLogger(logger) {
29
+ return logger === undefined ? exports.SILENT_LOGGER : containedLogger(logger);
30
+ }
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Hides how a logger and a value are redacted.
3
+ *
4
+ * A redacting logger walks every argument of every line, bounded in depth and
5
+ * safe against cycles and hostile getters, and replaces the value of any key
6
+ * that looks like a secret and any text that looks like one; the same walk
7
+ * serves `redactSecrets` for a value a caller wants to log themselves.
8
+ */
9
+ import { type LogArgument, type Logger } from './logger.js';
10
+ /**
11
+ * Recursively clone `value`, replacing any value at a secret-looking key with
12
+ * `[REDACTED]` and any recognised secret *shape* inside a string — including an
13
+ * error's `message`/`stack` text, which key-name matching cannot reach — with
14
+ * the same marker. Cycles become `[Circular]`.
15
+ *
16
+ * An Error with no own enumerable properties whose text holds no secret is
17
+ * passed through by reference, so its identity and stack trace survive; one
18
+ * carrying own data (this library's error types all attach `code`/`context`
19
+ * this way) or a secret in its text is rebuilt instead, with `name`/`message`/
20
+ * `stack` redacted and every other own property recursed like a plain object.
21
+ * `Date`/`RegExp` keep their identity rather than collapsing to `{}`,
22
+ * `Set`/`Map` render as their contents, and binary views become a short label.
23
+ *
24
+ * Accepts: `value` — any log argument, including `undefined`, a primitive, a
25
+ * typed `Error`, a class instance or a `Record`, so callers never cast. A
26
+ * cyclic or shared graph is fine; each node is walked once. `patterns` and
27
+ * `valuePatterns` — the key names and value shapes to redact, an array of
28
+ * strings and an array of `RegExp` respectively; both default to this
29
+ * package's own lists, and an empty one turns that rule off. A key name is
30
+ * matched by its normalised form — lower-case, punctuation removed — against
31
+ * the end of each key's, so `'apiKey'` covers `x-api-key` and `API_KEY`.
32
+ *
33
+ * Returns: a redacted clone. The input is never mutated — a logger that
34
+ * scrubbed the caller's own object would corrupt the very data the application
35
+ * is working with.
36
+ *
37
+ * Throws: `VALIDATION` naming `patterns` or `valuePatterns` for a list this
38
+ * function could not apply — a non-array, a wrong entry, or a key name with
39
+ * no letter or digit in it, which would match every key — which is a mistake
40
+ * in the call itself and is raised before anything is walked. Nothing after
41
+ * that: a value whose
42
+ * redaction fails — a throwing getter, a structure deep enough to exhaust the
43
+ * stack — is replaced whole by `[UNREDACTABLE]`, since a logger that throws
44
+ * takes down the operation it was only observing. {@link redactLogger}
45
+ * redacts one argument per call, so there a single hostile argument is what is
46
+ * lost rather than the record around it.
47
+ */
48
+ export declare function redactSecrets(value: LogArgument | undefined, patterns?: readonly string[], valuePatterns?: readonly RegExp[]): Redactable;
49
+ /** Options controlling {@link redactLogger}. */
50
+ export interface RedactLoggerOptions {
51
+ /**
52
+ * Additional key names to redact. Matched like the defaults: a key is
53
+ * redacted when its normalised form (lower-case, punctuation removed) equals
54
+ * or ends with the normalised name, so `'ssn'` covers `SSN` and `user_ssn`.
55
+ */
56
+ extraKeys?: readonly string[];
57
+ /**
58
+ * Additional secret shapes to redact wherever they appear inside a string.
59
+ * A pattern's first capture group, if it has one, is preserved verbatim and
60
+ * only the remainder of the match is replaced.
61
+ */
62
+ extraValuePatterns?: readonly RegExp[];
63
+ }
64
+ /**
65
+ * Wrap a logger so object args are redacted before delegation.
66
+ *
67
+ * Accepts: `inner` — the logger to delegate to; it must carry all four
68
+ * methods, because a missing one is a wiring mistake worth naming here rather
69
+ * than at the first log line. `options.extraKeys` — further key names to
70
+ * redact, matched like the defaults. `options.extraValuePatterns` — further
71
+ * secret shapes; each must be a `RegExp`, and it is applied globally whether or
72
+ * not it carries the `g` flag.
73
+ *
74
+ * Returns: a logger with the same four methods.
75
+ *
76
+ * Throws: `VALIDATION` naming `logger` or `logger.<method>` for a logger it
77
+ * could not delegate to, and `options`, `extraKeys` or `extraValuePatterns`
78
+ * for an option of the wrong type. Nothing at log time.
79
+ *
80
+ * Guarantees: the message string is passed through unchanged — never
81
+ * interpolate a secret into it — and every other argument is redacted before
82
+ * it reaches `inner`. Past the wrap call nothing escapes a log call: an
83
+ * argument whose redaction fails is replaced by a fixed marker, and a failure
84
+ * of `inner` itself is absorbed, because the
85
+ * operation that wrote the line was only observing itself and is commonly
86
+ * reporting some other failure already.
87
+ */
88
+ export declare function redactLogger(inner: Logger, options?: RedactLoggerOptions): Logger;
89
+ /** A value that {@link redactSecrets} can recurse through. */
90
+ export type Redactable = string | number | boolean | null | undefined | Redactable[] | {
91
+ [key: string]: Redactable;
92
+ };
93
+ /** Any `Redactable` that is a non-null object — what the walk dispatches on. */
94
+ export type RedactableObject = Redactable[] | {
95
+ [key: string]: Redactable;
96
+ };
97
+ /** One step of the recursive walk, threaded into the entry helpers. */
98
+ type Walk = (value: Redactable) => Redactable;
99
+ /** Collaborators threaded through the recursive walk. */
100
+ export interface WalkDeps {
101
+ keyPatterns: readonly string[];
102
+ valuePatterns: readonly RegExp[];
103
+ walk: Walk;
104
+ }
105
+ /**
106
+ * Dispatch one non-null object by its shape.
107
+ *
108
+ * Accepts: `current` — any object. `deps.walk` — how to recurse, which carries
109
+ * the cycle and memo state this module deliberately does not own.
110
+ *
111
+ * Returns: the redacted form — arrays and plain objects recursed, binary views
112
+ * collapsed to a label, `Date`/`RegExp` passed through by reference so they do
113
+ * not become `{}`, `Set`/`Map` rendered as their contents, and an Error through
114
+ * the error path, which preserves the non-enumerable text a plain walk cannot
115
+ * see.
116
+ *
117
+ * Throws: whatever a property getter on the value throws. `redactSecrets`, the
118
+ * only caller, catches it and returns `[UNREDACTABLE]` in place of the whole
119
+ * value it was given, rather than raising a getter's error at a caller who
120
+ * asked only for a copy it could log.
121
+ */
122
+ export declare function walkObject(current: RedactableObject, deps: WalkDeps): Redactable;
123
+ export {};