@laserdata/laser-sdk 0.0.1-rc.21 → 0.0.1-rc.22

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 (434) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/agdx.d.ts +55 -0
  3. package/dist/agent/agdx.d.ts.map +1 -0
  4. package/dist/agent/agdx.js +447 -0
  5. package/dist/agent/agdx.js.map +1 -0
  6. package/dist/agent/assembler.d.ts +29 -0
  7. package/dist/agent/assembler.d.ts.map +1 -0
  8. package/dist/agent/assembler.js +69 -0
  9. package/dist/agent/assembler.js.map +1 -0
  10. package/dist/agent/builder.d.ts +114 -0
  11. package/dist/agent/builder.d.ts.map +1 -0
  12. package/dist/agent/builder.js +334 -0
  13. package/dist/agent/builder.js.map +1 -0
  14. package/dist/agent/context.d.ts +68 -0
  15. package/dist/agent/context.d.ts.map +1 -0
  16. package/dist/agent/context.js +212 -0
  17. package/dist/agent/context.js.map +1 -0
  18. package/dist/agent/contract.d.ts +70 -0
  19. package/dist/agent/contract.d.ts.map +1 -0
  20. package/dist/agent/contract.js +275 -0
  21. package/dist/agent/contract.js.map +1 -0
  22. package/dist/agent/registry.d.ts +76 -0
  23. package/dist/agent/registry.d.ts.map +1 -0
  24. package/dist/agent/registry.js +286 -0
  25. package/dist/agent/registry.js.map +1 -0
  26. package/dist/agent/reliable-consumer.d.ts +126 -0
  27. package/dist/agent/reliable-consumer.d.ts.map +1 -0
  28. package/dist/agent/reliable-consumer.js +551 -0
  29. package/dist/agent/reliable-consumer.js.map +1 -0
  30. package/dist/agent/replies.d.ts +28 -0
  31. package/dist/agent/replies.d.ts.map +1 -0
  32. package/dist/agent/replies.js +175 -0
  33. package/dist/agent/replies.js.map +1 -0
  34. package/dist/agent/router.d.ts +72 -0
  35. package/dist/agent/router.d.ts.map +1 -0
  36. package/dist/agent/router.js +172 -0
  37. package/dist/agent/router.js.map +1 -0
  38. package/dist/agent/scope.d.ts +16 -0
  39. package/dist/agent/scope.d.ts.map +1 -0
  40. package/dist/agent/scope.js +34 -0
  41. package/dist/agent/scope.js.map +1 -0
  42. package/dist/agent/workflow.d.ts +85 -0
  43. package/dist/agent/workflow.d.ts.map +1 -0
  44. package/dist/agent/workflow.js +416 -0
  45. package/dist/agent/workflow.js.map +1 -0
  46. package/dist/blob.d.ts +12 -0
  47. package/dist/blob.d.ts.map +1 -0
  48. package/dist/blob.js +34 -0
  49. package/dist/blob.js.map +1 -0
  50. package/dist/bridges/a2a.d.ts +89 -0
  51. package/dist/bridges/a2a.d.ts.map +1 -0
  52. package/dist/bridges/a2a.js +244 -0
  53. package/dist/bridges/a2a.js.map +1 -0
  54. package/dist/bridges/agui.d.ts +66 -0
  55. package/dist/bridges/agui.d.ts.map +1 -0
  56. package/dist/bridges/agui.js +335 -0
  57. package/dist/bridges/agui.js.map +1 -0
  58. package/dist/bridges/edge-auth.d.ts +16 -0
  59. package/dist/bridges/edge-auth.d.ts.map +1 -0
  60. package/dist/bridges/edge-auth.js +19 -0
  61. package/dist/bridges/edge-auth.js.map +1 -0
  62. package/dist/bridges/hops.d.ts +9 -0
  63. package/dist/bridges/hops.d.ts.map +1 -0
  64. package/dist/bridges/hops.js +16 -0
  65. package/dist/bridges/hops.js.map +1 -0
  66. package/dist/bridges/mcp.d.ts +79 -0
  67. package/dist/bridges/mcp.d.ts.map +1 -0
  68. package/dist/bridges/mcp.js +248 -0
  69. package/dist/bridges/mcp.js.map +1 -0
  70. package/dist/client/bytes.d.ts +3 -0
  71. package/dist/client/bytes.d.ts.map +1 -0
  72. package/dist/client/bytes.js +9 -0
  73. package/dist/client/bytes.js.map +1 -0
  74. package/dist/client/capabilities.d.ts +36 -0
  75. package/dist/client/capabilities.d.ts.map +1 -0
  76. package/dist/client/capabilities.js +91 -0
  77. package/dist/client/capabilities.js.map +1 -0
  78. package/dist/client/errors.d.ts +178 -0
  79. package/dist/client/errors.d.ts.map +1 -0
  80. package/dist/client/errors.js +192 -0
  81. package/dist/client/errors.js.map +1 -0
  82. package/dist/client/internals.d.ts +5 -0
  83. package/dist/client/internals.d.ts.map +1 -0
  84. package/dist/client/internals.js +5 -0
  85. package/dist/client/internals.js.map +1 -0
  86. package/dist/client/laser.d.ts +238 -0
  87. package/dist/client/laser.d.ts.map +1 -0
  88. package/dist/client/laser.js +831 -0
  89. package/dist/client/laser.js.map +1 -0
  90. package/dist/client/laserdata-ca.d.ts +2 -0
  91. package/dist/client/laserdata-ca.d.ts.map +1 -0
  92. package/dist/client/laserdata-ca.js +35 -0
  93. package/dist/client/laserdata-ca.js.map +1 -0
  94. package/dist/client/managed.d.ts +6 -0
  95. package/dist/client/managed.d.ts.map +1 -0
  96. package/dist/client/managed.js +19 -0
  97. package/dist/client/managed.js.map +1 -0
  98. package/dist/context-scope.d.ts +40 -0
  99. package/dist/context-scope.d.ts.map +1 -0
  100. package/dist/context-scope.js +73 -0
  101. package/dist/context-scope.js.map +1 -0
  102. package/dist/context.d.ts +64 -0
  103. package/dist/context.d.ts.map +1 -0
  104. package/dist/context.js +149 -0
  105. package/dist/context.js.map +1 -0
  106. package/dist/conversation-state.d.ts +24 -0
  107. package/dist/conversation-state.d.ts.map +1 -0
  108. package/dist/conversation-state.js +29 -0
  109. package/dist/conversation-state.js.map +1 -0
  110. package/dist/crash-context.d.ts +11 -0
  111. package/dist/crash-context.d.ts.map +1 -0
  112. package/dist/crash-context.js +62 -0
  113. package/dist/crash-context.js.map +1 -0
  114. package/dist/full.d.ts +3 -0
  115. package/dist/full.d.ts.map +1 -0
  116. package/dist/full.js +3 -0
  117. package/dist/full.js.map +1 -0
  118. package/dist/govern.d.ts +133 -0
  119. package/dist/govern.d.ts.map +1 -0
  120. package/dist/govern.js +347 -0
  121. package/dist/govern.js.map +1 -0
  122. package/dist/iggy/apache-iggy.d.ts +173 -0
  123. package/dist/iggy/apache-iggy.d.ts.map +1 -0
  124. package/dist/iggy/apache-iggy.js +634 -0
  125. package/dist/iggy/apache-iggy.js.map +1 -0
  126. package/dist/index.d.ts +121 -0
  127. package/dist/index.d.ts.map +1 -0
  128. package/dist/index.js +64 -0
  129. package/dist/index.js.map +1 -0
  130. package/dist/intent.d.ts +75 -0
  131. package/dist/intent.d.ts.map +1 -0
  132. package/dist/intent.js +195 -0
  133. package/dist/intent.js.map +1 -0
  134. package/dist/managed/batch.d.ts +5 -0
  135. package/dist/managed/batch.d.ts.map +1 -0
  136. package/dist/managed/batch.js +32 -0
  137. package/dist/managed/batch.js.map +1 -0
  138. package/dist/managed/forks.d.ts +72 -0
  139. package/dist/managed/forks.d.ts.map +1 -0
  140. package/dist/managed/forks.js +188 -0
  141. package/dist/managed/forks.js.map +1 -0
  142. package/dist/managed/graph.d.ts +58 -0
  143. package/dist/managed/graph.d.ts.map +1 -0
  144. package/dist/managed/graph.js +176 -0
  145. package/dist/managed/graph.js.map +1 -0
  146. package/dist/managed/kv.d.ts +144 -0
  147. package/dist/managed/kv.d.ts.map +1 -0
  148. package/dist/managed/kv.js +502 -0
  149. package/dist/managed/kv.js.map +1 -0
  150. package/dist/managed/projections.d.ts +61 -0
  151. package/dist/managed/projections.d.ts.map +1 -0
  152. package/dist/managed/projections.js +191 -0
  153. package/dist/managed/projections.js.map +1 -0
  154. package/dist/managed/query.d.ts +72 -0
  155. package/dist/managed/query.d.ts.map +1 -0
  156. package/dist/managed/query.js +287 -0
  157. package/dist/managed/query.js.map +1 -0
  158. package/dist/managed/rbac.d.ts +16 -0
  159. package/dist/managed/rbac.d.ts.map +1 -0
  160. package/dist/managed/rbac.js +82 -0
  161. package/dist/managed/rbac.js.map +1 -0
  162. package/dist/managed/runs.d.ts +40 -0
  163. package/dist/managed/runs.d.ts.map +1 -0
  164. package/dist/managed/runs.js +112 -0
  165. package/dist/managed/runs.js.map +1 -0
  166. package/dist/managed/watch.d.ts +21 -0
  167. package/dist/managed/watch.d.ts.map +1 -0
  168. package/dist/managed/watch.js +73 -0
  169. package/dist/managed/watch.js.map +1 -0
  170. package/dist/memory/handle.d.ts +77 -0
  171. package/dist/memory/handle.d.ts.map +1 -0
  172. package/dist/memory/handle.js +234 -0
  173. package/dist/memory/handle.js.map +1 -0
  174. package/dist/memory/log-memory.d.ts +38 -0
  175. package/dist/memory/log-memory.d.ts.map +1 -0
  176. package/dist/memory/log-memory.js +309 -0
  177. package/dist/memory/log-memory.js.map +1 -0
  178. package/dist/memory/topic.d.ts +22 -0
  179. package/dist/memory/topic.d.ts.map +1 -0
  180. package/dist/memory/topic.js +56 -0
  181. package/dist/memory/topic.js.map +1 -0
  182. package/dist/memory/types.d.ts +108 -0
  183. package/dist/memory/types.d.ts.map +1 -0
  184. package/dist/memory/types.js +127 -0
  185. package/dist/memory/types.js.map +1 -0
  186. package/dist/memory/vector-memory.d.ts +20 -0
  187. package/dist/memory/vector-memory.d.ts.map +1 -0
  188. package/dist/memory/vector-memory.js +193 -0
  189. package/dist/memory/vector-memory.js.map +1 -0
  190. package/dist/memory.d.ts +7 -0
  191. package/dist/memory.d.ts.map +1 -0
  192. package/dist/memory.js +6 -0
  193. package/dist/memory.js.map +1 -0
  194. package/dist/observe.d.ts +10 -0
  195. package/dist/observe.d.ts.map +1 -0
  196. package/dist/observe.js +5 -0
  197. package/dist/observe.js.map +1 -0
  198. package/dist/opentelemetry.d.ts +22 -0
  199. package/dist/opentelemetry.d.ts.map +1 -0
  200. package/dist/opentelemetry.js +38 -0
  201. package/dist/opentelemetry.js.map +1 -0
  202. package/dist/provenance/agent-topic.d.ts +14 -0
  203. package/dist/provenance/agent-topic.d.ts.map +1 -0
  204. package/dist/provenance/agent-topic.js +13 -0
  205. package/dist/provenance/agent-topic.js.map +1 -0
  206. package/dist/provenance/provenance.d.ts +24 -0
  207. package/dist/provenance/provenance.d.ts.map +1 -0
  208. package/dist/provenance/provenance.js +186 -0
  209. package/dist/provenance/provenance.js.map +1 -0
  210. package/dist/provenance/session-policy.d.ts +4 -0
  211. package/dist/provenance/session-policy.d.ts.map +1 -0
  212. package/dist/provenance/session-policy.js +5 -0
  213. package/dist/provenance/session-policy.js.map +1 -0
  214. package/dist/runtime/async-once.d.ts +6 -0
  215. package/dist/runtime/async-once.d.ts.map +1 -0
  216. package/dist/runtime/async-once.js +19 -0
  217. package/dist/runtime/async-once.js.map +1 -0
  218. package/dist/runtime/clock.d.ts +14 -0
  219. package/dist/runtime/clock.d.ts.map +1 -0
  220. package/dist/runtime/clock.js +21 -0
  221. package/dist/runtime/clock.js.map +1 -0
  222. package/dist/runtime/mutex.d.ts +5 -0
  223. package/dist/runtime/mutex.d.ts.map +1 -0
  224. package/dist/runtime/mutex.js +23 -0
  225. package/dist/runtime/mutex.js.map +1 -0
  226. package/dist/runtime/ulid.d.ts +7 -0
  227. package/dist/runtime/ulid.d.ts.map +1 -0
  228. package/dist/runtime/ulid.js +17 -0
  229. package/dist/runtime/ulid.js.map +1 -0
  230. package/dist/schema-codecs.d.ts +16 -0
  231. package/dist/schema-codecs.d.ts.map +1 -0
  232. package/dist/schema-codecs.js +174 -0
  233. package/dist/schema-codecs.js.map +1 -0
  234. package/dist/signing.d.ts +63 -0
  235. package/dist/signing.d.ts.map +1 -0
  236. package/dist/signing.js +288 -0
  237. package/dist/signing.js.map +1 -0
  238. package/dist/snapshot.d.ts +24 -0
  239. package/dist/snapshot.d.ts.map +1 -0
  240. package/dist/snapshot.js +80 -0
  241. package/dist/snapshot.js.map +1 -0
  242. package/dist/state-store.d.ts +20 -0
  243. package/dist/state-store.d.ts.map +1 -0
  244. package/dist/state-store.js +70 -0
  245. package/dist/state-store.js.map +1 -0
  246. package/dist/stream/codecs.d.ts +9 -0
  247. package/dist/stream/codecs.d.ts.map +1 -0
  248. package/dist/stream/codecs.js +83 -0
  249. package/dist/stream/codecs.js.map +1 -0
  250. package/dist/stream/consumer.d.ts +50 -0
  251. package/dist/stream/consumer.d.ts.map +1 -0
  252. package/dist/stream/consumer.js +145 -0
  253. package/dist/stream/consumer.js.map +1 -0
  254. package/dist/stream/cursor.d.ts +26 -0
  255. package/dist/stream/cursor.d.ts.map +1 -0
  256. package/dist/stream/cursor.js +83 -0
  257. package/dist/stream/cursor.js.map +1 -0
  258. package/dist/stream/header-value.d.ts +18 -0
  259. package/dist/stream/header-value.d.ts.map +1 -0
  260. package/dist/stream/header-value.js +70 -0
  261. package/dist/stream/header-value.js.map +1 -0
  262. package/dist/stream/polling-strategy.d.ts +14 -0
  263. package/dist/stream/polling-strategy.d.ts.map +1 -0
  264. package/dist/stream/polling-strategy.js +2 -0
  265. package/dist/stream/polling-strategy.js.map +1 -0
  266. package/dist/stream/producer.d.ts +44 -0
  267. package/dist/stream/producer.d.ts.map +1 -0
  268. package/dist/stream/producer.js +125 -0
  269. package/dist/stream/producer.js.map +1 -0
  270. package/dist/stream/publish.d.ts +83 -0
  271. package/dist/stream/publish.d.ts.map +1 -0
  272. package/dist/stream/publish.js +287 -0
  273. package/dist/stream/publish.js.map +1 -0
  274. package/dist/stream/record.d.ts +29 -0
  275. package/dist/stream/record.d.ts.map +1 -0
  276. package/dist/stream/record.js +152 -0
  277. package/dist/stream/record.js.map +1 -0
  278. package/dist/stream/routing.d.ts +10 -0
  279. package/dist/stream/routing.d.ts.map +1 -0
  280. package/dist/stream/routing.js +2 -0
  281. package/dist/stream/routing.js.map +1 -0
  282. package/dist/stream/stream.d.ts +14 -0
  283. package/dist/stream/stream.d.ts.map +1 -0
  284. package/dist/stream/stream.js +26 -0
  285. package/dist/stream/stream.js.map +1 -0
  286. package/dist/stream/topic.d.ts +52 -0
  287. package/dist/stream/topic.d.ts.map +1 -0
  288. package/dist/stream/topic.js +181 -0
  289. package/dist/stream/topic.js.map +1 -0
  290. package/dist/stream/typed-topic.d.ts +59 -0
  291. package/dist/stream/typed-topic.d.ts.map +1 -0
  292. package/dist/stream/typed-topic.js +119 -0
  293. package/dist/stream/typed-topic.js.map +1 -0
  294. package/dist/swarm.d.ts +16 -0
  295. package/dist/swarm.d.ts.map +1 -0
  296. package/dist/swarm.js +40 -0
  297. package/dist/swarm.js.map +1 -0
  298. package/dist/testing.d.ts +16 -0
  299. package/dist/testing.d.ts.map +1 -0
  300. package/dist/testing.js +19 -0
  301. package/dist/testing.js.map +1 -0
  302. package/dist/types/ids.d.ts +48 -0
  303. package/dist/types/ids.d.ts.map +1 -0
  304. package/dist/types/ids.js +161 -0
  305. package/dist/types/ids.js.map +1 -0
  306. package/dist/wire/agent-record.d.ts +24 -0
  307. package/dist/wire/agent-record.d.ts.map +1 -0
  308. package/dist/wire/agent-record.js +99 -0
  309. package/dist/wire/agent-record.js.map +1 -0
  310. package/dist/wire/agent-workflow.d.ts +118 -0
  311. package/dist/wire/agent-workflow.d.ts.map +1 -0
  312. package/dist/wire/agent-workflow.js +290 -0
  313. package/dist/wire/agent-workflow.js.map +1 -0
  314. package/dist/wire/agent.d.ts +255 -0
  315. package/dist/wire/agent.d.ts.map +1 -0
  316. package/dist/wire/agent.js +792 -0
  317. package/dist/wire/agent.js.map +1 -0
  318. package/dist/wire/authz.d.ts +186 -0
  319. package/dist/wire/authz.d.ts.map +1 -0
  320. package/dist/wire/authz.js +545 -0
  321. package/dist/wire/authz.js.map +1 -0
  322. package/dist/wire/batch.d.ts +17 -0
  323. package/dist/wire/batch.d.ts.map +1 -0
  324. package/dist/wire/batch.js +41 -0
  325. package/dist/wire/batch.js.map +1 -0
  326. package/dist/wire/browse.d.ts +96 -0
  327. package/dist/wire/browse.d.ts.map +1 -0
  328. package/dist/wire/browse.js +201 -0
  329. package/dist/wire/browse.js.map +1 -0
  330. package/dist/wire/cbor.d.ts +35 -0
  331. package/dist/wire/cbor.d.ts.map +1 -0
  332. package/dist/wire/cbor.js +231 -0
  333. package/dist/wire/cbor.js.map +1 -0
  334. package/dist/wire/change.d.ts +12 -0
  335. package/dist/wire/change.d.ts.map +1 -0
  336. package/dist/wire/change.js +22 -0
  337. package/dist/wire/change.js.map +1 -0
  338. package/dist/wire/clients.d.ts +27 -0
  339. package/dist/wire/clients.d.ts.map +1 -0
  340. package/dist/wire/clients.js +64 -0
  341. package/dist/wire/clients.js.map +1 -0
  342. package/dist/wire/codes.d.ts +67 -0
  343. package/dist/wire/codes.d.ts.map +1 -0
  344. package/dist/wire/codes.js +67 -0
  345. package/dist/wire/codes.js.map +1 -0
  346. package/dist/wire/commands.d.ts +68 -0
  347. package/dist/wire/commands.d.ts.map +1 -0
  348. package/dist/wire/commands.js +140 -0
  349. package/dist/wire/commands.js.map +1 -0
  350. package/dist/wire/content.d.ts +17 -0
  351. package/dist/wire/content.d.ts.map +1 -0
  352. package/dist/wire/content.js +47 -0
  353. package/dist/wire/content.js.map +1 -0
  354. package/dist/wire/control.d.ts +170 -0
  355. package/dist/wire/control.d.ts.map +1 -0
  356. package/dist/wire/control.js +453 -0
  357. package/dist/wire/control.js.map +1 -0
  358. package/dist/wire/fork.d.ts +112 -0
  359. package/dist/wire/fork.d.ts.map +1 -0
  360. package/dist/wire/fork.js +280 -0
  361. package/dist/wire/fork.js.map +1 -0
  362. package/dist/wire/forward.d.ts +23 -0
  363. package/dist/wire/forward.d.ts.map +1 -0
  364. package/dist/wire/forward.js +72 -0
  365. package/dist/wire/forward.js.map +1 -0
  366. package/dist/wire/graph.d.ts +181 -0
  367. package/dist/wire/graph.d.ts.map +1 -0
  368. package/dist/wire/graph.js +554 -0
  369. package/dist/wire/graph.js.map +1 -0
  370. package/dist/wire/hashing.d.ts +2 -0
  371. package/dist/wire/hashing.d.ts.map +1 -0
  372. package/dist/wire/hashing.js +21 -0
  373. package/dist/wire/hashing.js.map +1 -0
  374. package/dist/wire/headers.d.ts +32 -0
  375. package/dist/wire/headers.d.ts.map +1 -0
  376. package/dist/wire/headers.js +32 -0
  377. package/dist/wire/headers.js.map +1 -0
  378. package/dist/wire/hello.d.ts +50 -0
  379. package/dist/wire/hello.d.ts.map +1 -0
  380. package/dist/wire/hello.js +122 -0
  381. package/dist/wire/hello.js.map +1 -0
  382. package/dist/wire/http.d.ts +95 -0
  383. package/dist/wire/http.d.ts.map +1 -0
  384. package/dist/wire/http.js +282 -0
  385. package/dist/wire/http.js.map +1 -0
  386. package/dist/wire/ids.d.ts +50 -0
  387. package/dist/wire/ids.d.ts.map +1 -0
  388. package/dist/wire/ids.js +198 -0
  389. package/dist/wire/ids.js.map +1 -0
  390. package/dist/wire/index.d.ts +32 -0
  391. package/dist/wire/index.d.ts.map +1 -0
  392. package/dist/wire/index.js +32 -0
  393. package/dist/wire/index.js.map +1 -0
  394. package/dist/wire/kv.d.ts +260 -0
  395. package/dist/wire/kv.d.ts.map +1 -0
  396. package/dist/wire/kv.js +650 -0
  397. package/dist/wire/kv.js.map +1 -0
  398. package/dist/wire/limits.d.ts +36 -0
  399. package/dist/wire/limits.d.ts.map +1 -0
  400. package/dist/wire/limits.js +36 -0
  401. package/dist/wire/limits.js.map +1 -0
  402. package/dist/wire/memory.d.ts +17 -0
  403. package/dist/wire/memory.d.ts.map +1 -0
  404. package/dist/wire/memory.js +65 -0
  405. package/dist/wire/memory.js.map +1 -0
  406. package/dist/wire/mutation.d.ts +10 -0
  407. package/dist/wire/mutation.d.ts.map +1 -0
  408. package/dist/wire/mutation.js +18 -0
  409. package/dist/wire/mutation.js.map +1 -0
  410. package/dist/wire/query.d.ts +210 -0
  411. package/dist/wire/query.d.ts.map +1 -0
  412. package/dist/wire/query.js +594 -0
  413. package/dist/wire/query.js.map +1 -0
  414. package/dist/wire/result.d.ts +25 -0
  415. package/dist/wire/result.d.ts.map +1 -0
  416. package/dist/wire/result.js +52 -0
  417. package/dist/wire/result.js.map +1 -0
  418. package/dist/wire/snapshot.d.ts +11 -0
  419. package/dist/wire/snapshot.d.ts.map +1 -0
  420. package/dist/wire/snapshot.js +50 -0
  421. package/dist/wire/snapshot.js.map +1 -0
  422. package/dist/wire/topics.d.ts +5 -0
  423. package/dist/wire/topics.d.ts.map +1 -0
  424. package/dist/wire/topics.js +5 -0
  425. package/dist/wire/topics.js.map +1 -0
  426. package/dist/wire/topology.d.ts +24 -0
  427. package/dist/wire/topology.d.ts.map +1 -0
  428. package/dist/wire/topology.js +56 -0
  429. package/dist/wire/topology.js.map +1 -0
  430. package/dist/wire/value.d.ts +21 -0
  431. package/dist/wire/value.d.ts.map +1 -0
  432. package/dist/wire/value.js +40 -0
  433. package/dist/wire/value.js.map +1 -0
  434. package/package.json +2 -1
@@ -0,0 +1,554 @@
1
+ import { CodecError, InvalidError } from "../client/errors.js";
2
+ import { encodeNamed, expectMap, field, singleVariantTag } from "./cbor.js";
3
+ import { GRAPH_OP_VERSION } from "./codes.js";
4
+ import { contentId } from "./hashing.js";
5
+ import { bytes16ToBigInt, crockfordDecode, WireId } from "./ids.js";
6
+ import { MAX_GRAPH_NAME_BYTES } from "./limits.js";
7
+ import { consistencyToWord, decodeFilter, encodeFilter, parseConsistency } from "./query.js";
8
+ import { decodeValue, encodeValue } from "./value.js";
9
+ export class NodeId extends WireId {
10
+ constructor(value) {
11
+ super(value);
12
+ }
13
+ static fromU128(value) {
14
+ return new NodeId(checkedU128("NodeId", value));
15
+ }
16
+ static fromBytes(bytes) {
17
+ return NodeId.fromU128(bytes16ToBigInt(bytes));
18
+ }
19
+ static parse(text) {
20
+ return NodeId.fromU128(crockfordDecode(text));
21
+ }
22
+ static content(label, value) {
23
+ const labelBytes = new TextEncoder().encode(label);
24
+ return NodeId.fromU128(contentId([labelBytes, new Uint8Array([0]), value]));
25
+ }
26
+ }
27
+ export class EdgeId extends WireId {
28
+ constructor(value) {
29
+ super(value);
30
+ }
31
+ static fromU128(value) {
32
+ return new EdgeId(checkedU128("EdgeId", value));
33
+ }
34
+ static fromBytes(bytes) {
35
+ return EdgeId.fromU128(bytes16ToBigInt(bytes));
36
+ }
37
+ static parse(text) {
38
+ return EdgeId.fromU128(crockfordDecode(text));
39
+ }
40
+ static content(from, edgeType, to) {
41
+ return EdgeId.fromU128(contentId([
42
+ from.toBytes(),
43
+ new Uint8Array([0]),
44
+ new TextEncoder().encode(edgeType),
45
+ new Uint8Array([0]),
46
+ to.toBytes()
47
+ ]));
48
+ }
49
+ }
50
+ function checkedU128(name, value) {
51
+ if (value < 0n || value > (1n << 128n) - 1n) {
52
+ throw new InvalidError(`${name} value must fit in 128 bits`, { value: value.toString() });
53
+ }
54
+ return value;
55
+ }
56
+ function parseEdgeDir(word, context) {
57
+ if (word !== "out" && word !== "in" && word !== "both") {
58
+ throw new CodecError(`\`${word}\` is not a recognized edge direction`, context, "dir");
59
+ }
60
+ return word;
61
+ }
62
+ function parseGraphReturn(word, context) {
63
+ if (word !== "nodes" && word !== "edges" && word !== "paths" && word !== "triplets") {
64
+ throw new CodecError(`\`${word}\` is not a recognized graph return type`, context, "return");
65
+ }
66
+ return word;
67
+ }
68
+ export function encodeHop(hop) {
69
+ const map = new Map();
70
+ if (hop.edgeType !== undefined)
71
+ map.set("edge_type", hop.edgeType);
72
+ if (hop.dir !== "out")
73
+ map.set("dir", hop.dir);
74
+ map.set("max", BigInt(hop.max));
75
+ return map;
76
+ }
77
+ export function decodeHop(map, context) {
78
+ const edgeType = field.optionalString(map, "edge_type", context);
79
+ const dir = field.optionalString(map, "dir", context);
80
+ return {
81
+ ...(edgeType !== undefined ? { edgeType } : {}),
82
+ dir: dir !== undefined ? parseEdgeDir(dir, context) : "out",
83
+ max: field.requiredU32(map, "max", context)
84
+ };
85
+ }
86
+ export function encodeGraphStart(start) {
87
+ switch (start.kind) {
88
+ case "ids":
89
+ return new Map([["Ids", start.ids.map((id) => id.toBytes())]]);
90
+ case "match":
91
+ return new Map([["Match", encodeFilter(start.filter)]]);
92
+ case "nearest":
93
+ return new Map([
94
+ [
95
+ "Nearest",
96
+ new Map([
97
+ ["embedding", [...start.embedding]],
98
+ ["k", BigInt(start.k)]
99
+ ])
100
+ ]
101
+ ]);
102
+ }
103
+ }
104
+ export function decodeGraphStart(value, context) {
105
+ const [tag, inner] = singleVariantTag(value, context);
106
+ switch (tag) {
107
+ case "Ids": {
108
+ if (!Array.isArray(inner)) {
109
+ throw new CodecError(`expected an array in ${context}.Ids`, context, "start");
110
+ }
111
+ return {
112
+ kind: "ids",
113
+ ids: inner.map((item, index) => NodeId.fromBytes(expectBytes(item, `${context}.Ids[${String(index)}]`)))
114
+ };
115
+ }
116
+ case "Match":
117
+ return { kind: "match", filter: decodeFilter(inner, `${context}.Match`) };
118
+ case "Nearest": {
119
+ const map = expectMap(inner, `${context}.Nearest`);
120
+ return {
121
+ kind: "nearest",
122
+ embedding: field.requiredArray(map, "embedding", context, (item, index) => expectNumber(item, `${context}.Nearest.embedding[${String(index)}]`)),
123
+ k: field.requiredU32(map, "k", context)
124
+ };
125
+ }
126
+ default:
127
+ throw new CodecError(`\`${tag}\` is not a recognized graph start variant`, context, "start");
128
+ }
129
+ }
130
+ export function encodeGraphQuery(query) {
131
+ const map = new Map();
132
+ map.set("v", BigInt(GRAPH_OP_VERSION));
133
+ map.set("graph", query.graph);
134
+ map.set("start", encodeGraphStart(query.start));
135
+ if (query.traverse.length > 0)
136
+ map.set("traverse", query.traverse.map((hop) => encodeHop(hop)));
137
+ if (query.nodeFilter !== undefined)
138
+ map.set("node_filter", encodeFilter(query.nodeFilter));
139
+ if (query.edgeFilter !== undefined)
140
+ map.set("edge_filter", encodeFilter(query.edgeFilter));
141
+ if (query.return !== "nodes")
142
+ map.set("return_", query.return);
143
+ map.set("limit", BigInt(query.limit));
144
+ if (query.fork !== undefined)
145
+ map.set("fork", query.fork);
146
+ if (query.consistency !== "eventual")
147
+ map.set("consistency", consistencyToWord(query.consistency));
148
+ if (query.asOf !== undefined)
149
+ map.set("as_of", query.asOf);
150
+ if (query.conversation !== undefined)
151
+ map.set("conversation", query.conversation);
152
+ return map;
153
+ }
154
+ export function decodeGraphQuery(map, context) {
155
+ field.requiredU32(map, "v", context);
156
+ const nodeFilter = map.get("node_filter");
157
+ const edgeFilter = map.get("edge_filter");
158
+ const returnWord = field.optionalString(map, "return_", context);
159
+ const fork = field.optionalString(map, "fork", context);
160
+ const consistency = field.optionalString(map, "consistency", context);
161
+ const asOf = field.optionalU64(map, "as_of", context);
162
+ const conversation = field.optionalString(map, "conversation", context);
163
+ return {
164
+ graph: field.requiredString(map, "graph", context),
165
+ start: decodeGraphStart(field.requiredMap(map, "start", context), `${context}.start`),
166
+ traverse: field.optionalArray(map, "traverse", context, (item, index) => decodeHop(expectMap(item, `${context}.traverse[${String(index)}]`), `${context}.traverse[${String(index)}]`)),
167
+ ...(nodeFilter !== undefined
168
+ ? { nodeFilter: decodeFilter(nodeFilter, `${context}.node_filter`) }
169
+ : {}),
170
+ ...(edgeFilter !== undefined
171
+ ? { edgeFilter: decodeFilter(edgeFilter, `${context}.edge_filter`) }
172
+ : {}),
173
+ return: returnWord !== undefined ? parseGraphReturn(returnWord, context) : "nodes",
174
+ limit: field.requiredU32(map, "limit", context),
175
+ ...(fork !== undefined ? { fork } : {}),
176
+ consistency: consistency !== undefined ? parseConsistency(consistency, context) : "eventual",
177
+ ...(asOf !== undefined ? { asOf } : {}),
178
+ ...(conversation !== undefined ? { conversation } : {})
179
+ };
180
+ }
181
+ export function encodeGraphQueryFrame(query) {
182
+ return encodeNamed(encodeGraphQuery(query), { forceFloatNumbers: true });
183
+ }
184
+ export function encodeGraphNeighbors(neighbors) {
185
+ const map = new Map();
186
+ map.set("v", GRAPH_OP_VERSION);
187
+ map.set("graph", neighbors.graph);
188
+ map.set("node", neighbors.node.toBytes());
189
+ if (neighbors.dir !== "out")
190
+ map.set("dir", neighbors.dir);
191
+ if (neighbors.edgeType !== undefined)
192
+ map.set("edge_type", neighbors.edgeType);
193
+ map.set("depth", neighbors.depth);
194
+ map.set("limit", neighbors.limit);
195
+ if (neighbors.asOf !== undefined)
196
+ map.set("as_of", neighbors.asOf);
197
+ if (neighbors.conversation !== undefined)
198
+ map.set("conversation", neighbors.conversation);
199
+ return map;
200
+ }
201
+ export function decodeGraphNeighbors(map, context) {
202
+ const dirWord = field.optionalString(map, "dir", context);
203
+ const edgeType = field.optionalString(map, "edge_type", context);
204
+ const asOf = field.optionalU64(map, "as_of", context);
205
+ const conversation = field.optionalString(map, "conversation", context);
206
+ return {
207
+ graph: field.requiredString(map, "graph", context),
208
+ node: NodeId.fromBytes(field.requiredBytes(map, "node", context)),
209
+ dir: dirWord !== undefined ? parseEdgeDir(dirWord, context) : "out",
210
+ ...(edgeType !== undefined ? { edgeType } : {}),
211
+ depth: field.requiredU32(map, "depth", context),
212
+ limit: field.requiredU32(map, "limit", context),
213
+ ...(asOf !== undefined ? { asOf } : {}),
214
+ ...(conversation !== undefined ? { conversation } : {})
215
+ };
216
+ }
217
+ export function encodeSourceRef(source) {
218
+ switch (source.kind) {
219
+ case "message": {
220
+ const inner = new Map([
221
+ ["stream", BigInt(source.stream)],
222
+ ["topic", BigInt(source.topic)],
223
+ ["partition", BigInt(source.partition)],
224
+ ["offset", source.offset]
225
+ ]);
226
+ if (source.conversation !== undefined)
227
+ inner.set("conversation", source.conversation);
228
+ return new Map([["Message", inner]]);
229
+ }
230
+ case "kv":
231
+ return new Map([
232
+ [
233
+ "Kv",
234
+ new Map([
235
+ ["namespace", source.namespace],
236
+ ["key", source.key]
237
+ ])
238
+ ]
239
+ ]);
240
+ case "memory":
241
+ return new Map([["Memory", new Map([["id", source.id]])]]);
242
+ }
243
+ }
244
+ export function decodeSourceRef(value, context) {
245
+ const [tag, inner] = singleVariantTag(value, context);
246
+ switch (tag) {
247
+ case "Message": {
248
+ const innerMap = expectMap(inner, context);
249
+ const conversation = field.optionalString(innerMap, "conversation", context);
250
+ return {
251
+ kind: "message",
252
+ stream: field.requiredU32(innerMap, "stream", context),
253
+ topic: field.requiredU32(innerMap, "topic", context),
254
+ partition: field.requiredU32(innerMap, "partition", context),
255
+ offset: field.requiredU64(innerMap, "offset", context),
256
+ ...(conversation !== undefined ? { conversation } : {})
257
+ };
258
+ }
259
+ case "Kv": {
260
+ const innerMap = expectMap(inner, context);
261
+ return {
262
+ kind: "kv",
263
+ namespace: field.requiredString(innerMap, "namespace", context),
264
+ key: field.requiredString(innerMap, "key", context)
265
+ };
266
+ }
267
+ case "Memory": {
268
+ const innerMap = expectMap(inner, context);
269
+ return { kind: "memory", id: field.requiredString(innerMap, "id", context) };
270
+ }
271
+ default:
272
+ throw new CodecError(`\`${tag}\` is not a recognized source ref variant`, context, "source");
273
+ }
274
+ }
275
+ function encodeAttrs(attrs) {
276
+ return attrs.map(([key, value]) => [key, encodeValue(value)]);
277
+ }
278
+ function decodeAttrs(value, context) {
279
+ if (!Array.isArray(value)) {
280
+ throw new CodecError(`expected an array in ${context}`, context, "attrs");
281
+ }
282
+ return value.map((pair, index) => {
283
+ if (!Array.isArray(pair) || pair.length !== 2) {
284
+ throw new CodecError(`expected a [key, value] pair in ${context}[${String(index)}]`, context, "attrs");
285
+ }
286
+ const [key, raw] = pair;
287
+ if (typeof key !== "string") {
288
+ throw new CodecError(`attribute key in ${context}[${String(index)}] must be a string`, context, "attrs");
289
+ }
290
+ return [key, decodeValue(raw, `${context}[${String(index)}]`)];
291
+ });
292
+ }
293
+ export function graphNodeEntity(label, value) {
294
+ const id = NodeId.content(label, new TextEncoder().encode(value));
295
+ return { id, labels: [label], attrs: [["value", { kind: "string", value }]] };
296
+ }
297
+ export function encodeGraphNode(node) {
298
+ const map = new Map();
299
+ map.set("id", node.id.toBytes());
300
+ if (node.labels.length > 0)
301
+ map.set("labels", [...node.labels]);
302
+ if (node.attrs.length > 0)
303
+ map.set("attrs", encodeAttrs(node.attrs));
304
+ if (node.embedding !== undefined)
305
+ map.set("embedding", [...node.embedding]);
306
+ if (node.source !== undefined)
307
+ map.set("source", encodeSourceRef(node.source));
308
+ return map;
309
+ }
310
+ export function decodeGraphNode(map, context) {
311
+ const attrsValue = map.get("attrs");
312
+ const embedding = field.optionalArray(map, "embedding", context, (item, index) => expectNumber(item, `${context}.embedding[${String(index)}]`));
313
+ return {
314
+ id: NodeId.fromBytes(field.requiredBytes(map, "id", context)),
315
+ labels: field.optionalArray(map, "labels", context, (item, index) => expectString(item, `${context}.labels[${String(index)}]`)),
316
+ attrs: attrsValue !== undefined ? decodeAttrs(attrsValue, `${context}.attrs`) : [],
317
+ ...(embedding.length > 0 ? { embedding } : {}),
318
+ ...(map.has("source")
319
+ ? { source: decodeSourceRef(map.get("source"), `${context}.source`) }
320
+ : {})
321
+ };
322
+ }
323
+ export function encodeGraphNodeFrame(node) {
324
+ return encodeNamed(encodeGraphNode(node), { forceFloatNumbers: true });
325
+ }
326
+ function expectNumber(value, context) {
327
+ if (typeof value !== "number") {
328
+ throw new CodecError(`expected a number in ${context}`, context, "value");
329
+ }
330
+ return value;
331
+ }
332
+ function expectString(value, context) {
333
+ if (typeof value !== "string") {
334
+ throw new CodecError(`expected a string in ${context}`, context, "value");
335
+ }
336
+ return value;
337
+ }
338
+ export function graphEdgeRelate(from, edgeType, to) {
339
+ return {
340
+ id: EdgeId.content(from.id, edgeType, to.id),
341
+ from: from.id,
342
+ to: to.id,
343
+ edgeType,
344
+ weight: 1,
345
+ attrs: []
346
+ };
347
+ }
348
+ export function graphEdgeValidAt(edge, at) {
349
+ return ((edge.validFrom === undefined || at >= edge.validFrom) &&
350
+ (edge.validTo === undefined || at < edge.validTo));
351
+ }
352
+ export function encodeGraphEdge(edge) {
353
+ const map = new Map();
354
+ map.set("id", edge.id.toBytes());
355
+ map.set("from", edge.from.toBytes());
356
+ map.set("to", edge.to.toBytes());
357
+ map.set("edge_type", edge.edgeType);
358
+ map.set("weight", edge.weight);
359
+ if (edge.attrs.length > 0)
360
+ map.set("attrs", encodeAttrs(edge.attrs));
361
+ if (edge.validFrom !== undefined)
362
+ map.set("valid_from", edge.validFrom);
363
+ if (edge.validTo !== undefined)
364
+ map.set("valid_to", edge.validTo);
365
+ if (edge.source !== undefined)
366
+ map.set("source", encodeSourceRef(edge.source));
367
+ return map;
368
+ }
369
+ export function decodeGraphEdge(map, context) {
370
+ const attrsValue = map.get("attrs");
371
+ const validFrom = field.optionalU64(map, "valid_from", context);
372
+ const validTo = field.optionalU64(map, "valid_to", context);
373
+ return {
374
+ id: EdgeId.fromBytes(field.requiredBytes(map, "id", context)),
375
+ from: NodeId.fromBytes(field.requiredBytes(map, "from", context)),
376
+ to: NodeId.fromBytes(field.requiredBytes(map, "to", context)),
377
+ edgeType: field.requiredString(map, "edge_type", context),
378
+ weight: expectNumber(map.get("weight"), `${context}.weight`),
379
+ attrs: attrsValue !== undefined ? decodeAttrs(attrsValue, `${context}.attrs`) : [],
380
+ ...(validFrom !== undefined ? { validFrom } : {}),
381
+ ...(validTo !== undefined ? { validTo } : {}),
382
+ ...(map.has("source")
383
+ ? { source: decodeSourceRef(map.get("source"), `${context}.source`) }
384
+ : {})
385
+ };
386
+ }
387
+ export function encodeGraphEdgeFrame(edge) {
388
+ return encodeNamed(encodeGraphEdge(edge), { forceFloatNumbers: true });
389
+ }
390
+ export function encodePath(path) {
391
+ return new Map([
392
+ ["nodes", path.nodes.map((id) => id.toBytes())],
393
+ ["edges", path.edges.map((id) => id.toBytes())]
394
+ ]);
395
+ }
396
+ export function decodePath(map, context) {
397
+ return {
398
+ nodes: field.optionalArray(map, "nodes", context, (item, index) => NodeId.fromBytes(expectBytes(item, `${context}.nodes[${String(index)}]`))),
399
+ edges: field.optionalArray(map, "edges", context, (item, index) => EdgeId.fromBytes(expectBytes(item, `${context}.edges[${String(index)}]`)))
400
+ };
401
+ }
402
+ function expectBytes(value, context) {
403
+ if (!(value instanceof Uint8Array)) {
404
+ throw new CodecError(`expected bytes in ${context}`, context, "value");
405
+ }
406
+ return value;
407
+ }
408
+ export function encodeGraphResult(result) {
409
+ const map = new Map();
410
+ if (result.nodes.length > 0)
411
+ map.set("nodes", result.nodes.map((node) => encodeGraphNode(node)));
412
+ if (result.edges.length > 0)
413
+ map.set("edges", result.edges.map((edge) => encodeGraphEdge(edge)));
414
+ if (result.paths.length > 0)
415
+ map.set("paths", result.paths.map((path) => encodePath(path)));
416
+ return map;
417
+ }
418
+ export function decodeGraphResult(map, context) {
419
+ return {
420
+ nodes: field.optionalArray(map, "nodes", context, (item, index) => decodeGraphNode(expectMap(item, `${context}.nodes[${String(index)}]`), `${context}.nodes[${String(index)}]`)),
421
+ edges: field.optionalArray(map, "edges", context, (item, index) => decodeGraphEdge(expectMap(item, `${context}.edges[${String(index)}]`), `${context}.edges[${String(index)}]`)),
422
+ paths: field.optionalArray(map, "paths", context, (item, index) => decodePath(expectMap(item, `${context}.paths[${String(index)}]`), `${context}.paths[${String(index)}]`))
423
+ };
424
+ }
425
+ export function encodeGraphUpsert(upsert) {
426
+ const map = new Map();
427
+ map.set("v", BigInt(GRAPH_OP_VERSION));
428
+ map.set("graph", upsert.graph);
429
+ if (upsert.nodes.length > 0)
430
+ map.set("nodes", upsert.nodes.map((node) => encodeGraphNode(node)));
431
+ if (upsert.edges.length > 0)
432
+ map.set("edges", upsert.edges.map((edge) => encodeGraphEdge(edge)));
433
+ return map;
434
+ }
435
+ export function decodeGraphUpsert(map, context) {
436
+ return {
437
+ graph: field.requiredString(map, "graph", context),
438
+ nodes: field.optionalArray(map, "nodes", context, (item, index) => decodeGraphNode(expectMap(item, `${context}.nodes[${String(index)}]`), `${context}.nodes[${String(index)}]`)),
439
+ edges: field.optionalArray(map, "edges", context, (item, index) => decodeGraphEdge(expectMap(item, `${context}.edges[${String(index)}]`), `${context}.edges[${String(index)}]`))
440
+ };
441
+ }
442
+ export function encodeGraphUpsertFrame(upsert) {
443
+ return encodeNamed(encodeGraphUpsert(upsert), { forceFloatNumbers: true });
444
+ }
445
+ export function encodeGraphError(error) {
446
+ switch (error.kind) {
447
+ case "unsupported":
448
+ return new Map([["Unsupported", error.message]]);
449
+ case "unauthorized":
450
+ return new Map([["Unauthorized", error.message]]);
451
+ case "invalidName":
452
+ return new Map([["InvalidName", error.message]]);
453
+ case "notFound":
454
+ return new Map([["NotFound", error.message]]);
455
+ case "tooLarge":
456
+ return new Map([
457
+ [
458
+ "TooLarge",
459
+ new Map([
460
+ ["what", error.what],
461
+ ["size", BigInt(error.size)],
462
+ ["cap", BigInt(error.cap)]
463
+ ])
464
+ ]
465
+ ]);
466
+ case "backend":
467
+ return new Map([["Backend", error.message]]);
468
+ case "version":
469
+ return new Map([
470
+ [
471
+ "Version",
472
+ new Map([
473
+ ["expected", BigInt(error.expected)],
474
+ ["got", BigInt(error.got)]
475
+ ])
476
+ ]
477
+ ]);
478
+ case "unrecognized":
479
+ return new Map([[error.tag, error.value]]);
480
+ }
481
+ }
482
+ export function decodeGraphError(value, context) {
483
+ const [tag, inner] = singleVariantTag(value, context);
484
+ switch (tag) {
485
+ case "Unsupported":
486
+ return { kind: "unsupported", message: expectString(inner, context) };
487
+ case "Unauthorized":
488
+ return { kind: "unauthorized", message: expectString(inner, context) };
489
+ case "InvalidName":
490
+ return { kind: "invalidName", message: expectString(inner, context) };
491
+ case "NotFound":
492
+ return { kind: "notFound", message: expectString(inner, context) };
493
+ case "TooLarge": {
494
+ const tooLargeMap = expectMap(inner, context);
495
+ return {
496
+ kind: "tooLarge",
497
+ what: field.requiredString(tooLargeMap, "what", context),
498
+ size: field.requiredU32(tooLargeMap, "size", context),
499
+ cap: field.requiredU32(tooLargeMap, "cap", context)
500
+ };
501
+ }
502
+ case "Backend":
503
+ return { kind: "backend", message: expectString(inner, context) };
504
+ case "Version": {
505
+ const versionMap = expectMap(inner, context);
506
+ return {
507
+ kind: "version",
508
+ expected: field.requiredU32(versionMap, "expected", context),
509
+ got: field.requiredU32(versionMap, "got", context)
510
+ };
511
+ }
512
+ default:
513
+ return { kind: "unrecognized", tag, value: inner };
514
+ }
515
+ }
516
+ export function encodeGraphReply(reply) {
517
+ switch (reply.kind) {
518
+ case "ok":
519
+ return new Map([["Ok", encodeGraphResult(reply.result)]]);
520
+ case "err":
521
+ return new Map([["Err", encodeGraphError(reply.error)]]);
522
+ case "unrecognized":
523
+ return new Map([[reply.tag, reply.value]]);
524
+ }
525
+ }
526
+ export function decodeGraphReply(value, context) {
527
+ const [tag, inner] = singleVariantTag(value, context);
528
+ switch (tag) {
529
+ case "Ok":
530
+ return { kind: "ok", result: decodeGraphResult(expectMap(inner, context), context) };
531
+ case "Err":
532
+ return { kind: "err", error: decodeGraphError(inner, context) };
533
+ default:
534
+ return { kind: "unrecognized", tag, value: inner };
535
+ }
536
+ }
537
+ export function encodeGraphReplyFrame(reply) {
538
+ return encodeNamed(encodeGraphReply(reply), { forceFloatNumbers: true });
539
+ }
540
+ export function validateGraphName(name) {
541
+ if (name.length === 0) {
542
+ throw new InvalidError("graph name must not be empty");
543
+ }
544
+ const bytes = new TextEncoder().encode(name);
545
+ if (bytes.length > MAX_GRAPH_NAME_BYTES) {
546
+ throw new InvalidError(`graph name is ${String(bytes.length)}B, exceeds cap ${String(MAX_GRAPH_NAME_BYTES)}B`);
547
+ }
548
+ for (const byte of bytes) {
549
+ if (byte < 0x20 || byte === 0x7f) {
550
+ throw new InvalidError("graph name must not contain ASCII control characters");
551
+ }
552
+ }
553
+ }
554
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/wire/graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function contentId(segments: readonly Uint8Array[]): bigint;
2
+ //# sourceMappingURL=hashing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashing.d.ts","sourceRoot":"","sources":["../../src/wire/hashing.ts"],"names":[],"mappings":"AAiBA,wBAAgB,SAAS,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAIjE"}
@@ -0,0 +1,21 @@
1
+ const MASK_64 = (1n << 64n) - 1n;
2
+ const FNV_OFFSET = 0xcbf29ce484222325n;
3
+ const FNV_PRIME = 0x100000001b3n;
4
+ function fnv1a(salt, segments) {
5
+ let hash = FNV_OFFSET;
6
+ hash ^= BigInt(salt);
7
+ hash = (hash * FNV_PRIME) & MASK_64;
8
+ for (const segment of segments) {
9
+ for (const byte of segment) {
10
+ hash ^= BigInt(byte);
11
+ hash = (hash * FNV_PRIME) & MASK_64;
12
+ }
13
+ }
14
+ return hash;
15
+ }
16
+ export function contentId(segments) {
17
+ const high = fnv1a(0x4d, segments);
18
+ const low = fnv1a(0xc7, segments);
19
+ return (high << 64n) | low;
20
+ }
21
+ //# sourceMappingURL=hashing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashing.js","sourceRoot":"","sources":["../../src/wire/hashing.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAChC,MAAM,UAAU,GAAG,mBAAmB,CAAA;AACtC,MAAM,SAAS,GAAG,cAAc,CAAA;AAEhC,SAAS,KAAK,CAAC,IAAY,EAAE,QAA+B;IAC1D,IAAI,IAAI,GAAG,UAAU,CAAA;IACrB,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;IACpB,IAAI,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAA;IACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;YACpB,IAAI,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,OAAO,CAAA;QACrC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA+B;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACjC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAA;AAC5B,CAAC"}