@arkiv-network/sdk 0.8.1-dev.1 → 0.9.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +180 -61
  2. package/dist/chains/index.d.ts +17 -17
  3. package/dist/changeOwnership-Cy9gfyjN.d.cts +1160 -0
  4. package/dist/changeOwnership-Cy9gfyjN.d.cts.map +1 -0
  5. package/dist/changeOwnership-gXf-lBqI.d.ts +1160 -0
  6. package/dist/changeOwnership-gXf-lBqI.d.ts.map +1 -0
  7. package/dist/entity/index.cjs +4 -10
  8. package/dist/entity/index.d.cts +3 -3
  9. package/dist/entity/index.d.ts +3 -3
  10. package/dist/entity/index.js +3 -4
  11. package/dist/entity-BM1unrQf.cjs +41 -0
  12. package/dist/{entity-DJ0Gml9c.cjs → entity-BgaFJSaV.cjs} +4 -4
  13. package/dist/entity-CFAI1KyG.js +36 -0
  14. package/dist/entity-CFAI1KyG.js.map +1 -0
  15. package/dist/{entity-CniBgBSd.js → entity-CGqx_AU0.js} +4 -4
  16. package/dist/entity-CGqx_AU0.js.map +1 -0
  17. package/dist/{payload-AfUfSctb.d.ts → expirationTime-C7PZK49K.d.ts} +8 -37
  18. package/dist/expirationTime-C7PZK49K.d.ts.map +1 -0
  19. package/dist/expirationTime-CkIGNAg8.cjs +140 -0
  20. package/dist/{payload-D167BlJR.d.cts → expirationTime-DOB8V4B8.d.cts} +8 -37
  21. package/dist/expirationTime-DOB8V4B8.d.cts.map +1 -0
  22. package/dist/{expiry-Cgdb_dbq.js → expirationTime-UKPuA-LM.js} +62 -27
  23. package/dist/expirationTime-UKPuA-LM.js.map +1 -0
  24. package/dist/expiry-B48I-yTA.d.cts +40 -0
  25. package/dist/expiry-B48I-yTA.d.cts.map +1 -0
  26. package/dist/expiry-S2PUL8Hg.d.ts +40 -0
  27. package/dist/expiry-S2PUL8Hg.d.ts.map +1 -0
  28. package/dist/index-C-mMF5WZ.d.cts +735 -0
  29. package/dist/index-C-mMF5WZ.d.cts.map +1 -0
  30. package/dist/{index-BkqSnGJH.d.ts → index-C4zZqJ9S.d.ts} +5 -27
  31. package/dist/index-C4zZqJ9S.d.ts.map +1 -0
  32. package/dist/{index-CLhsFyVH.d.cts → index-CcVWYB6v.d.cts} +5 -27
  33. package/dist/index-CcVWYB6v.d.cts.map +1 -0
  34. package/dist/index-DCx2XC6S.d.ts +489 -0
  35. package/dist/index-DCx2XC6S.d.ts.map +1 -0
  36. package/dist/index-DLb7BfIw.d.ts +735 -0
  37. package/dist/index-DLb7BfIw.d.ts.map +1 -0
  38. package/dist/index-DzriOUm8.d.cts +489 -0
  39. package/dist/index-DzriOUm8.d.cts.map +1 -0
  40. package/dist/index.cjs +162 -146
  41. package/dist/index.d.cts +180 -133
  42. package/dist/index.d.cts.map +1 -1
  43. package/dist/index.d.ts +180 -133
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +93 -83
  46. package/dist/index.js.map +1 -1
  47. package/dist/params-BuIrJA9a.cjs +45 -0
  48. package/dist/params-DDJOnsNi.js +22 -0
  49. package/dist/params-DDJOnsNi.js.map +1 -0
  50. package/dist/query/index.cjs +9 -4
  51. package/dist/query/index.d.cts +6 -6
  52. package/dist/query/index.d.ts +6 -6
  53. package/dist/query/index.js +4 -5
  54. package/dist/query-D0KtuFh2.cjs +1625 -0
  55. package/dist/query-DpRDozmj.js +1417 -0
  56. package/dist/query-DpRDozmj.js.map +1 -0
  57. package/dist/schema/index.cjs +46 -0
  58. package/dist/schema/index.d.cts +2 -0
  59. package/dist/schema/index.d.ts +2 -0
  60. package/dist/schema/index.js +3 -0
  61. package/dist/{attr-BXTkpnoc.cjs → schema-B9AyXcgU.cjs} +513 -246
  62. package/dist/{attr-tmyREHtw.js → schema-DY4sqehl.js} +427 -244
  63. package/dist/schema-DY4sqehl.js.map +1 -0
  64. package/dist/types/index.cjs +1 -1
  65. package/dist/types/index.d.cts +5 -5
  66. package/dist/types/index.d.ts +5 -5
  67. package/dist/types/index.js +1 -1
  68. package/dist/utils/index.cjs +3 -5
  69. package/dist/utils/index.d.cts +3 -3
  70. package/dist/utils/index.d.ts +3 -3
  71. package/dist/utils/index.js +3 -3
  72. package/package.json +9 -12
  73. package/src/actions/public/getEntity.test.ts +69 -0
  74. package/src/actions/public/getEntity.ts +34 -20
  75. package/src/actions/public/predictEntityKeys.ts +8 -7
  76. package/src/actions/public/query.test.ts +58 -0
  77. package/src/actions/public/query.ts +41 -13
  78. package/src/actions/wallet/createEntity.ts +34 -63
  79. package/src/actions/wallet/executeBatch.test.ts +38 -0
  80. package/src/actions/wallet/executeBatch.ts +26 -9
  81. package/src/actions/wallet/extendEntity.ts +9 -8
  82. package/src/actions/wallet/patchEntity.ts +43 -52
  83. package/src/clients/createPublicClient.test.ts +10 -2
  84. package/src/clients/createWalletClient.ts +4 -1
  85. package/src/clients/decorators/arkivPublic.ts +123 -80
  86. package/src/clients/decorators/arkivWallet.ts +113 -65
  87. package/src/entity/create.test.ts +25 -21
  88. package/src/entity/expiry.ts +8 -6
  89. package/src/entity/flags.ts +1 -1
  90. package/src/entity/index.ts +2 -4
  91. package/src/entity/key.ts +3 -3
  92. package/src/entity/operations.ts +1 -1
  93. package/src/errors.ts +2 -11
  94. package/src/index.ts +18 -6
  95. package/src/query/builderBase.ts +166 -0
  96. package/src/query/countBuilder.test.ts +91 -0
  97. package/src/query/countBuilder.ts +67 -0
  98. package/src/query/engine.ts +9 -3
  99. package/src/query/errors.ts +24 -14
  100. package/src/query/expression.test.ts +129 -21
  101. package/src/query/expression.ts +323 -94
  102. package/src/query/index.ts +26 -4
  103. package/src/query/injection.test.ts +5 -11
  104. package/src/query/queryBuilder.test.ts +467 -58
  105. package/src/query/queryBuilder.ts +191 -98
  106. package/src/query/queryResult.ts +35 -9
  107. package/src/query/selection.test.ts +278 -24
  108. package/src/query/selection.ts +427 -86
  109. package/src/schema/attributes.test.ts +266 -0
  110. package/src/schema/attributes.ts +212 -0
  111. package/src/{attr → schema}/codec.test.ts +37 -5
  112. package/src/{attr → schema}/codec.ts +40 -11
  113. package/src/schema/column.ts +193 -0
  114. package/src/{attr → schema}/errors.ts +67 -10
  115. package/src/schema/index.ts +76 -0
  116. package/src/{attr → schema}/names.ts +4 -2
  117. package/src/schema/schema.test.ts +171 -0
  118. package/src/schema/schema.ts +250 -0
  119. package/src/{attr → schema}/types.ts +36 -30
  120. package/src/{attr → schema}/values.test.ts +62 -3
  121. package/src/{attr → schema}/values.ts +246 -65
  122. package/src/types/entity.test.ts +1 -44
  123. package/src/types/entity.ts +9 -55
  124. package/src/types/events.ts +1 -1
  125. package/src/types/index.ts +11 -4
  126. package/src/types/rpcSchema.ts +22 -16
  127. package/src/utils/arkivTransactions.test.ts +356 -116
  128. package/src/utils/arkivTransactions.ts +30 -38
  129. package/src/utils/entities.ts +10 -9
  130. package/src/utils/expirationTime.ts +5 -5
  131. package/src/utils/index.ts +0 -1
  132. package/src/utils/logger.test.ts +45 -0
  133. package/src/utils/logger.ts +5 -39
  134. package/src/utils/revert.test.ts +25 -0
  135. package/src/utils/revert.ts +28 -3
  136. package/dist/attr/index.cjs +0 -34
  137. package/dist/attr/index.d.cts +0 -2
  138. package/dist/attr/index.d.ts +0 -2
  139. package/dist/attr/index.js +0 -3
  140. package/dist/attr-tmyREHtw.js.map +0 -1
  141. package/dist/entity-B0t6sN7F.cjs +0 -71
  142. package/dist/entity-BIp_df9u.js +0 -67
  143. package/dist/entity-BIp_df9u.js.map +0 -1
  144. package/dist/entity-CniBgBSd.js.map +0 -1
  145. package/dist/expiry-BxOlvVWC.d.ts +0 -79
  146. package/dist/expiry-BxOlvVWC.d.ts.map +0 -1
  147. package/dist/expiry-CG9GhVXv.cjs +0 -135
  148. package/dist/expiry-Cgdb_dbq.js.map +0 -1
  149. package/dist/expiry-DRV29F1r.d.cts +0 -79
  150. package/dist/expiry-DRV29F1r.d.cts.map +0 -1
  151. package/dist/flags-DCD26uhe.cjs +0 -43
  152. package/dist/flags-DUT2gHEU.js +0 -33
  153. package/dist/flags-DUT2gHEU.js.map +0 -1
  154. package/dist/index-BkqSnGJH.d.ts.map +0 -1
  155. package/dist/index-C7fbakoI.d.cts +0 -278
  156. package/dist/index-C7fbakoI.d.cts.map +0 -1
  157. package/dist/index-CIcHPx2j.d.cts +0 -424
  158. package/dist/index-CIcHPx2j.d.cts.map +0 -1
  159. package/dist/index-CLhsFyVH.d.cts.map +0 -1
  160. package/dist/index-Cd2aaWme.d.ts +0 -424
  161. package/dist/index-Cd2aaWme.d.ts.map +0 -1
  162. package/dist/index-Cq6fa8AI.d.ts +0 -278
  163. package/dist/index-Cq6fa8AI.d.ts.map +0 -1
  164. package/dist/index-DaNeJUw8.d.ts +0 -955
  165. package/dist/index-DaNeJUw8.d.ts.map +0 -1
  166. package/dist/index-Dv16LO2s.d.cts +0 -955
  167. package/dist/index-Dv16LO2s.d.cts.map +0 -1
  168. package/dist/payload-AfUfSctb.d.ts.map +0 -1
  169. package/dist/payload-D167BlJR.d.cts.map +0 -1
  170. package/dist/payload-DE7wMztL.js +0 -92
  171. package/dist/payload-DE7wMztL.js.map +0 -1
  172. package/dist/payload-DqFweqiO.cjs +0 -108
  173. package/dist/query-9oojUdM7.cjs +0 -1128
  174. package/dist/query-Ber-lOJQ.js +0 -968
  175. package/dist/query-Ber-lOJQ.js.map +0 -1
  176. package/src/actions/public/getEntityCount.ts +0 -10
  177. package/src/attr/attributes.test.ts +0 -120
  178. package/src/attr/attributes.ts +0 -196
  179. package/src/attr/index.ts +0 -50
  180. package/src/types/mimeTypes.ts +0 -27
  181. package/src/utils/compression.test.ts +0 -32
  182. package/src/utils/compression.ts +0 -102
  183. package/src/utils/payload.ts +0 -36
  184. /package/src/{attr → schema}/decimal.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-C-mMF5WZ.d.cts","names":[],"sources":["../src/schema/types.ts","../src/schema/column.ts","../src/schema/values.ts","../src/schema/schema.ts","../src/schema/attributes.ts","../src/schema/decimal.ts","../src/schema/errors.ts","../src/schema/names.ts"],"sourcesContent":[],"mappings":"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"}
@@ -109,7 +109,7 @@ type EntityEventName = (typeof ENTITY_EVENTS_ABI)[number]["name"];
109
109
  */
110
110
  type CreationFlags = {
111
111
  /**
112
- * The entity's attributes and payload can never be changed — only its expiry extended, its
112
+ * The entity's attributes can never be changed — only its expiry extended, its
113
113
  * ownership transferred, and the entity deleted.
114
114
  */
115
115
  readonly?: boolean;
@@ -125,25 +125,12 @@ type ResolvedCreationFlags = {
125
125
  permissionlessExtension: boolean;
126
126
  raw: number;
127
127
  };
128
- /**
129
- * Packs creation flags into the `creationFlags` byte.
130
- *
131
- * @throws {InvalidCreationFlagsError} If a value is not a boolean.
132
- */
133
- declare function encodeCreationFlags(flags?: CreationFlags): number;
134
- /**
135
- * Reads the `creationFlags` byte back.
136
- *
137
- * @param raw - The `creationFlags` byte.
138
- * @throws {InvalidCreationFlagsError} Malformed input
139
- */
140
- declare function decodeCreationFlags(raw: number): ResolvedCreationFlags;
141
128
  //#endregion
142
129
  //#region src/entity/key.d.ts
143
130
  /** The widest salt the `uint128` wire field carries. */
144
131
  declare const MAX_SALT: bigint;
145
132
  /**
146
- * Opts a create out of salting, as {@link CreateEntityParameters.salt}: the key is then derived
133
+ * Opts a create out of salting, as {@link CreateEntityOptions.salt}: the key is then derived
147
134
  * from the owner and its nonce alone, so anyone who knows both can work it out before the create
148
135
  * lands.
149
136
  */
@@ -153,7 +140,7 @@ declare const NO_SALT: unique symbol;
153
140
  */
154
141
  type SaltInput = bigint | typeof NO_SALT;
155
142
  /**
156
- * A cryptographically random 128-bit salt — what {@link CreateEntityParameters.salt} defaults to.
143
+ * A cryptographically random 128-bit salt — what {@link CreateEntityOptions.salt} defaults to.
157
144
  *
158
145
  * The salt exists for unpredictability, not uniqueness: the per-owner nonce already guarantees
159
146
  * distinct keys. Random bits mean only the creator can predict the key of an entity they are about
@@ -194,15 +181,6 @@ declare function predictEntityKey({
194
181
  * Max uint64 value
195
182
  */
196
183
  declare const MAX_EXPIRES_AT: bigint;
197
- /** The operation tags of the `execute` ABI's tagged union. */
198
- declare const OperationType: {
199
- readonly Create: 1;
200
- readonly Patch: 2;
201
- readonly ExtendExpiry: 3;
202
- readonly TransferOwnership: 4;
203
- readonly Delete: 5;
204
- };
205
- type OperationType = (typeof OperationType)[keyof typeof OperationType];
206
184
  //#endregion
207
- export { NoRandomSourceError as _, SaltInput as a, CreationFlags as c, encodeCreationFlags as d, ENTITY_EVENTS_ABI as f, InvalidSaltError as g, InvalidExpiryError as h, NO_SALT as i, ResolvedCreationFlags as l, InvalidCreationFlagsError as m, OperationType as n, predictEntityKey as o, EntityEventName as p, MAX_SALT as r, randomSalt as s, MAX_EXPIRES_AT as t, decodeCreationFlags as u };
208
- //# sourceMappingURL=index-BkqSnGJH.d.ts.map
185
+ export { predictEntityKey as a, ResolvedCreationFlags as c, InvalidCreationFlagsError as d, InvalidExpiryError as f, SaltInput as i, ENTITY_EVENTS_ABI as l, NoRandomSourceError as m, MAX_SALT as n, randomSalt as o, InvalidSaltError as p, NO_SALT as r, CreationFlags as s, MAX_EXPIRES_AT as t, EntityEventName as u };
186
+ //# sourceMappingURL=index-C4zZqJ9S.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-C4zZqJ9S.d.ts","names":[],"sources":["../src/entity/errors.ts","../src/entity/events.ts","../src/entity/flags.ts","../src/entity/key.ts","../src/entity/params.ts"],"sourcesContent":[],"mappings":";;;;cACa,kBAAA,SAA2B,KAAA;;AAAxC;AAQA;AAQa,cARA,yBAAA,SAAkC,KAAA,CAQJ;EAY9B,WAAA,CAAA,MAAA,EAAA,MAAoB;;;cAZpB,gBAAA,SAAyB,KAAA;ECXzB,WAAA,CAAA,IAAA,EAAA,OAMX;AAGF;;cDca,mBAAA,SAA4B,KAAA;;AEjBzC;;;;;;AFXA;AAQa,cCHA,iBDG0B,EAAA,SAAQ,CAAK;EAQvC,SAAA,IAAA,EAAA,eAAiB;EAYjB,SAAA,IAAA,EAAA,OAAoB;;;;ICvBpB,SAAA,OAMX,EAAA,IAAA;EAGU,CAAA,EAAA;;;;ECHA,CAAA,EAAA;IAcA,SAAA,IAAA,EAAA,QAAqB;;;;ICpBpB,SAA0B,IAAA,EAAA,eAAA;EAO1B,CAAA,CAAA;AAKb,CAAA,EAAA;EAWgB,SAAA,IAAU,EAAA,eAAA;EAkCV,SAAA,IAAA,EAAA,OAAgB;EAC9B,SAAA,MAAA,EAAA,SAAA,CAAA;IACA,SAAA,IAAA,EAAA,SAAA;IACA,SAAA,IAAA,EAAA,WAAA;IACA,SAAA,OAAA,EAAA,IAAA;EAGO,CAAA,EAAA;IAOD,SAAA,IAAA,EAAA,SAAA;IAGJ,SAAA,IAAA,EAAA,OAAA;IAAG,SAAA,OAAA,EAAA,IAAA;;;;EC7EM,SAAA,IAAA,EAAA,OAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KHYhC,eAAA,WAA0B;;;;;;ADdtC;AAQA;AAQA;AAYa,KEjBD,aAAA,GFiBqB;;;;ACvBjC;EASY,QAAA,CAAA,EAAA,OAAe;;;;ACH3B;EAcY,uBAAA,CAAqB,EAAA,OAAA;;;KAArB,qBAAA;ECpBC,QAAA,EAAA,OAA0B;EAO1B,uBAA2B,EAAA,OAAA;EAK5B,GAAA,EAAA,MAAA;AAWZ,CAAA;;;;cAvBa;AHLb;AAQA;AAQA;AAYA;;cGhBa;;AFPb;AASA;KEGY,SAAA,mBAA4B;;;ADNxC;AAcA;;;;ACpBA;AAOA;AAKY,iBAWI,UAAA,CAAA,CAXwB,EAAO,MAAA;;;;;;;;ACf/C;iBD4DgB,gBAAA;;;;;;;SAOP;;;;;;;QAOD;;;IAGJ;;;;;;AH/ES,cIEA,cJFmB,EAAQ,MAAK"}
@@ -109,7 +109,7 @@ type EntityEventName = (typeof ENTITY_EVENTS_ABI)[number]["name"];
109
109
  */
110
110
  type CreationFlags = {
111
111
  /**
112
- * The entity's attributes and payload can never be changed — only its expiry extended, its
112
+ * The entity's attributes can never be changed — only its expiry extended, its
113
113
  * ownership transferred, and the entity deleted.
114
114
  */
115
115
  readonly?: boolean;
@@ -125,25 +125,12 @@ type ResolvedCreationFlags = {
125
125
  permissionlessExtension: boolean;
126
126
  raw: number;
127
127
  };
128
- /**
129
- * Packs creation flags into the `creationFlags` byte.
130
- *
131
- * @throws {InvalidCreationFlagsError} If a value is not a boolean.
132
- */
133
- declare function encodeCreationFlags(flags?: CreationFlags): number;
134
- /**
135
- * Reads the `creationFlags` byte back.
136
- *
137
- * @param raw - The `creationFlags` byte.
138
- * @throws {InvalidCreationFlagsError} Malformed input
139
- */
140
- declare function decodeCreationFlags(raw: number): ResolvedCreationFlags;
141
128
  //#endregion
142
129
  //#region src/entity/key.d.ts
143
130
  /** The widest salt the `uint128` wire field carries. */
144
131
  declare const MAX_SALT: bigint;
145
132
  /**
146
- * Opts a create out of salting, as {@link CreateEntityParameters.salt}: the key is then derived
133
+ * Opts a create out of salting, as {@link CreateEntityOptions.salt}: the key is then derived
147
134
  * from the owner and its nonce alone, so anyone who knows both can work it out before the create
148
135
  * lands.
149
136
  */
@@ -153,7 +140,7 @@ declare const NO_SALT: unique symbol;
153
140
  */
154
141
  type SaltInput = bigint | typeof NO_SALT;
155
142
  /**
156
- * A cryptographically random 128-bit salt — what {@link CreateEntityParameters.salt} defaults to.
143
+ * A cryptographically random 128-bit salt — what {@link CreateEntityOptions.salt} defaults to.
157
144
  *
158
145
  * The salt exists for unpredictability, not uniqueness: the per-owner nonce already guarantees
159
146
  * distinct keys. Random bits mean only the creator can predict the key of an entity they are about
@@ -194,15 +181,6 @@ declare function predictEntityKey({
194
181
  * Max uint64 value
195
182
  */
196
183
  declare const MAX_EXPIRES_AT: bigint;
197
- /** The operation tags of the `execute` ABI's tagged union. */
198
- declare const OperationType: {
199
- readonly Create: 1;
200
- readonly Patch: 2;
201
- readonly ExtendExpiry: 3;
202
- readonly TransferOwnership: 4;
203
- readonly Delete: 5;
204
- };
205
- type OperationType = (typeof OperationType)[keyof typeof OperationType];
206
184
  //#endregion
207
- export { NoRandomSourceError as _, SaltInput as a, CreationFlags as c, encodeCreationFlags as d, ENTITY_EVENTS_ABI as f, InvalidSaltError as g, InvalidExpiryError as h, NO_SALT as i, ResolvedCreationFlags as l, InvalidCreationFlagsError as m, OperationType as n, predictEntityKey as o, EntityEventName as p, MAX_SALT as r, randomSalt as s, MAX_EXPIRES_AT as t, decodeCreationFlags as u };
208
- //# sourceMappingURL=index-CLhsFyVH.d.cts.map
185
+ export { predictEntityKey as a, ResolvedCreationFlags as c, InvalidCreationFlagsError as d, InvalidExpiryError as f, SaltInput as i, ENTITY_EVENTS_ABI as l, NoRandomSourceError as m, MAX_SALT as n, randomSalt as o, InvalidSaltError as p, NO_SALT as r, CreationFlags as s, MAX_EXPIRES_AT as t, EntityEventName as u };
186
+ //# sourceMappingURL=index-CcVWYB6v.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CcVWYB6v.d.cts","names":[],"sources":["../src/entity/errors.ts","../src/entity/events.ts","../src/entity/flags.ts","../src/entity/key.ts","../src/entity/params.ts"],"sourcesContent":[],"mappings":";;;;cACa,kBAAA,SAA2B,KAAA;;AAAxC;AAQA;AAQa,cARA,yBAAA,SAAkC,KAAA,CAQJ;EAY9B,WAAA,CAAA,MAAA,EAAA,MAAoB;;;cAZpB,gBAAA,SAAyB,KAAA;ECXzB,WAAA,CAAA,IAAA,EAAA,OAMX;AAGF;;cDca,mBAAA,SAA4B,KAAA;;AEjBzC;;;;;;AFXA;AAQa,cCHA,iBDG0B,EAAA,SAAQ,CAAK;EAQvC,SAAA,IAAA,EAAA,eAAiB;EAYjB,SAAA,IAAA,EAAA,OAAoB;;;;ICvBpB,SAAA,OAMX,EAAA,IAAA;EAGU,CAAA,EAAA;;;;ECHA,CAAA,EAAA;IAcA,SAAA,IAAA,EAAA,QAAqB;;;;ICpBpB,SAA0B,IAAA,EAAA,eAAA;EAO1B,CAAA,CAAA;AAKb,CAAA,EAAA;EAWgB,SAAA,IAAU,EAAA,eAAA;EAkCV,SAAA,IAAA,EAAA,OAAgB;EAC9B,SAAA,MAAA,EAAA,SAAA,CAAA;IACA,SAAA,IAAA,EAAA,SAAA;IACA,SAAA,IAAA,EAAA,WAAA;IACA,SAAA,OAAA,EAAA,IAAA;EAGO,CAAA,EAAA;IAOD,SAAA,IAAA,EAAA,SAAA;IAGJ,SAAA,IAAA,EAAA,OAAA;IAAG,SAAA,OAAA,EAAA,IAAA;;;;EC7EM,SAAA,IAAA,EAAA,OAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KHYhC,eAAA,WAA0B;;;;;;ADdtC;AAQA;AAQA;AAYa,KEjBD,aAAA,GFiBqB;;;;ACvBjC;EASY,QAAA,CAAA,EAAA,OAAe;;;;ACH3B;EAcY,uBAAA,CAAqB,EAAA,OAAA;;;KAArB,qBAAA;ECpBC,QAAA,EAAA,OAA0B;EAO1B,uBAA2B,EAAA,OAAA;EAK5B,GAAA,EAAA,MAAA;AAWZ,CAAA;;;;cAvBa;AHLb;AAQA;AAQA;AAYA;;cGhBa;;AFPb;AASA;KEGY,SAAA,mBAA4B;;;ADNxC;AAcA;;;;ACpBA;AAOA;AAKY,iBAWI,UAAA,CAAA,CAX+B,EAAA,MAAA;;;;;;;;ACf/C;iBD4DgB,gBAAA;;;;;;;SAOP;;;;;;;QAOD;;;IAGJ;;;;;;AH/ES,cIEA,cJFmB,EAAQ,MAAK"}
@@ -0,0 +1,489 @@
1
+ import { At as ArkivClient, F as ResultOf, J as Entity, Lt as RpcSelect, R as SelectArg, W as UnknownSelection, nt as Expression, ot as RefsOf, st as SchemaRef } from "./changeOwnership-gXf-lBqI.js";
2
+ import { O as Schema, _t as TypeTag, x as ColumnsOf } from "./index-DLb7BfIw.js";
3
+ import { Hex } from "viem";
4
+
5
+ //#region src/query/builderBase.d.ts
6
+ /** The expressions in a `where` call — passed one by one, or as one array. */
7
+ type WhereExpressions<E extends readonly (Expression | readonly Expression[])[]> = E[number] extends infer X ? (X extends readonly Expression[] ? X[number] : X) : never;
8
+ /**
9
+ * Human-readable messages for compile-time errors when a filter does not fit the schema.
10
+ */
11
+ type FilterProblem<R, S extends Schema> = R extends {
12
+ readonly name: infer N extends string;
13
+ readonly type: infer T extends string;
14
+ } ? R extends SchemaRef<S> ? never : N extends SchemaRef<S>["name"] ? `"${N}" has type ${Extract<SchemaRef<S>, {
15
+ name: N;
16
+ }>["type"]}, but is compared against a value of type ${T}` : N extends keyof ColumnsOf<S> ? ColumnsOf<S>[N]["type"] extends "bytes" ? `"${N}" is a bytes column, and bytes are never indexed, so it cannot be filtered on. Index a str, bytes32 or key derived from it instead` : `"${N}" is not indexed, so it cannot be filtered on. Declare it ${ColumnsOf<S>[N]["type"]}().indexed() to filter on it` : `"${N}" is not a column of this schema` : never;
17
+ /**
18
+ * `where`'s check that every filter fits the schema — `unknown` when it does, or when there is no
19
+ * schema, and otherwise an object whose one property is named after the problem. No expression has
20
+ * that property, so the compiler reports the sentence as the property it is missing.
21
+ */
22
+ type FilterCheck<E extends readonly (Expression | readonly Expression[])[], TSchema> = TSchema extends Schema ? [FilterProblem<RefsOf<WhereExpressions<E>>, TSchema>] extends [infer P extends string] ? [P] extends [never] ? unknown : { [K in P]: never } : unknown : unknown;
23
+ /**
24
+ * What every query builder shares: the client, the filters — `where`, `ownedBy`, `createdBy` and a
25
+ * named schema's tag — and the block to read at. `client.select()` and `client.count()` build on it,
26
+ * so the same filters always send the same query string, whichever of them runs it.
27
+ *
28
+ * Not constructed directly: create a builder with `client.select(...)` or `client.count()`.
29
+ *
30
+ * @typeParam TSchema - The schema named with `from()`, if any, which `where` is checked against.
31
+ */
32
+ declare abstract class QueryBuilderBase<TSchema extends Schema | undefined = undefined> {
33
+ protected readonly _client: ArkivClient;
34
+ protected _schema: Schema | undefined;
35
+ protected readonly _filters: Expression[];
36
+ protected _ownedBy: Expression | undefined;
37
+ protected _createdBy: Expression | undefined;
38
+ protected _atBlock: bigint | undefined;
39
+ constructor(client: ArkivClient);
40
+ /**
41
+ * This builder's state in a new builder of the same class, re-typed by the caller. Every field is
42
+ * carried over, so one a subclass adds is not dropped by `from()`; the filter list, which is
43
+ * mutated in place, is copied rather than shared.
44
+ *
45
+ * A copy, not `this` re-typed: a builder typed for one schema must never be the same object as
46
+ * one typed for another, or `base.from(Posts)` and `base.from(Users)` would share their state.
47
+ */
48
+ protected copy<B extends QueryBuilderBase<Schema | undefined>>(): B;
49
+ /**
50
+ * Adds filters. Everything passed here, and across repeated calls, must hold.
51
+ *
52
+ * After `from()`, every attribute a filter names must be an indexed column of the schema,
53
+ * compared against a value of its type — anything else is a compile error.
54
+ *
55
+ * @param expressions - The expressions, as separate arguments or one array.
56
+ *
57
+ * @example
58
+ * builder.where(eq("category", "docs"))
59
+ * builder.where(gte("level", i32(10)), lt("level", i32(20)))
60
+ * builder.where(or(eq("status", "open"), not(exists("closedAt"))))
61
+ */
62
+ where<const E extends readonly (Expression | readonly Expression[])[]>(...expressions: E & FilterCheck<E, TSchema>): this;
63
+ /**
64
+ * Restricts the query to entities this account owns — shorthand for
65
+ * `where(eq("$owner", addr(owner)))`. Calling it again replaces the filter.
66
+ *
67
+ * @example
68
+ * builder.ownedBy("0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045")
69
+ */
70
+ ownedBy(owner: Hex): this;
71
+ /**
72
+ * Restricts the query to entities this account created — shorthand for
73
+ * `where(eq("$creator", addr(creator)))`. Calling it again replaces the filter.
74
+ *
75
+ * The creator never changes; the owner does, so these differ after a transfer.
76
+ */
77
+ createdBy(creator: Hex): this;
78
+ /**
79
+ * Reads the state as of a given block rather than the head. The block must be within the range
80
+ * the node retains.
81
+ *
82
+ * @example
83
+ * builder.atBlock(1_297_000n)
84
+ */
85
+ atBlock(block: bigint): this;
86
+ /**
87
+ * The query string this builder will send — the same text the node parses: its filters,
88
+ * `ownedBy` and `createdBy`, and a named schema's tag, ANDed.
89
+ *
90
+ * @throws {InvalidPredicateError} If no filter has been added, or — after `from()` — a filter
91
+ * does not fit the schema. A named schema's own tag filter counts as a filter.
92
+ */
93
+ toString(): string;
94
+ }
95
+ //#endregion
96
+ //#region src/query/countBuilder.d.ts
97
+ /**
98
+ * Builds and runs a count: how many entities a query matches, without fetching any of them.
99
+ *
100
+ * It filters exactly as `client.select()` does — {@link from}, `where`, `ownedBy`, `createdBy` and
101
+ * `atBlock` are the same methods, from the same base — but has nothing to select and no pages, so
102
+ * {@link fetch} resolves to a `bigint`. Create one with `client.count()`.
103
+ *
104
+ * To show the total next to a page of rows, use `select(...).withCount()` instead, which counts in
105
+ * the same request.
106
+ *
107
+ * @typeParam TSchema - The schema named with {@link from}, if any.
108
+ *
109
+ * @example
110
+ * const total = await client.count().from(Posts).ownedBy(account.address).fetch()
111
+ */
112
+ declare class CountQueryBuilder<TSchema extends Schema | undefined = undefined> extends QueryBuilderBase<TSchema> {
113
+ /**
114
+ * Counts through a schema: `where` is checked against its indexed columns, and a named schema
115
+ * counts only entities tagged with its name — so it needs no other filter.
116
+ *
117
+ * Returns a new builder, carrying whatever this one already holds; this one is left as it was.
118
+ *
119
+ * @throws {SchemaDefinitionError} If `schema` was not built with `defineSchema`.
120
+ *
121
+ * @example
122
+ * client.count().from(Posts) // every post
123
+ */
124
+ from<S extends Schema>(schema: S): CountQueryBuilder<S>;
125
+ /**
126
+ * Runs the count.
127
+ *
128
+ * Counts every entity the filters match at the block, whether or not it fits the schema — what
129
+ * `select().from(schema)` leaves out of its pages is still counted.
130
+ *
131
+ * @throws {InvalidPredicateError} If no filter has been added, or a filter does not fit the
132
+ * schema.
133
+ * @throws {QueryError} If the node rejects the query.
134
+ * @throws If the node returns no count — it predates the count projection.
135
+ */
136
+ fetch(): Promise<bigint>;
137
+ }
138
+ //#endregion
139
+ //#region src/query/queryResult.d.ts
140
+ /** Fetches the page a cursor points at. */
141
+ type FetchPage<TEntity, TCount extends bigint | undefined> = (cursor: string) => Promise<QueryResult<TEntity, TCount>>;
142
+ /**
143
+ * One page of query results.
144
+ *
145
+ * A page is immutable: {@link next} returns the following page rather than mutating this one, so a
146
+ * page that has been read stays readable.
147
+ *
148
+ * @typeParam TEntity - The shape of each row, inferred from the selection by `client.select()`.
149
+ * @typeParam TCount - `bigint` when the query was built with `withCount()`, and `undefined` when it
150
+ * was not.
151
+ *
152
+ * @example
153
+ * let page = await client.select({ $key: true }).where(eq("category", "docs")).limit(100).fetch()
154
+ * while (page.hasNextPage()) {
155
+ * page = await page.next()
156
+ * }
157
+ */
158
+ declare class QueryResult<TEntity = Record<string, unknown>, TCount extends bigint | undefined = bigint | undefined> {
159
+ /** The rows on this page — flat, as the selection lays them out. */
160
+ readonly entities: readonly TEntity[];
161
+ /**
162
+ * The block this page was read at.
163
+ *
164
+ * Every page of one walk reads the same block — the cursor is bound to it — so results cannot
165
+ * shift under a paginating reader.
166
+ */
167
+ readonly blockNumber: bigint;
168
+ /** The cursor for the next page, or `undefined` when this was the last one. */
169
+ readonly cursor: string | undefined;
170
+ /**
171
+ * How many matching entities this page left out because they did not fit the schema — always
172
+ * `0` without a schema, or with `.from(schema, { onMismatch: "throw" })`.
173
+ *
174
+ * Counted per page, not per walk: `entities.length + skipped` is what the node returned for this
175
+ * page, so a short or empty page with a cursor is explained here rather than mistaken for the
176
+ * end of the results.
177
+ */
178
+ readonly skipped: number;
179
+ /**
180
+ * How many entities the query matches in all, regardless of the page size — a `bigint` when the
181
+ * query was built with `withCount()`, and `undefined` otherwise. Every page of one walk reads the
182
+ * same block, so every page carries the same count. It includes entities left out for not fitting
183
+ * the schema, which {@link skipped} reports per page.
184
+ */
185
+ readonly count: TCount;
186
+ private readonly fetchPage;
187
+ constructor(entities: readonly TEntity[], blockNumber: bigint, cursor: string | undefined, skipped: number, count: TCount, fetchPage: FetchPage<TEntity, TCount>);
188
+ /**
189
+ * Whether another page follows.
190
+ *
191
+ * The node omits the cursor once nothing remains, so this is an answer rather than the guess a
192
+ * short final page would be — a full last page is reported correctly.
193
+ */
194
+ hasNextPage(): boolean;
195
+ /**
196
+ * Fetches the next page.
197
+ *
198
+ * @throws {NoMoreResultsError} If this was the last page — check {@link hasNextPage} first.
199
+ * @throws {QueryError} If the node rejects the request; `kind === "cursor"` means the cursor
200
+ * expired and the walk has to start again.
201
+ */
202
+ next(): Promise<QueryResult<TEntity, TCount>>;
203
+ }
204
+ //#endregion
205
+ //#region src/query/queryBuilder.d.ts
206
+ /**
207
+ * `from(schema)`'s check that every selected key is an entity field or a column — `unknown` when
208
+ * it holds, and an object naming the offenders, which no schema satisfies, when it does not.
209
+ */
210
+ type SelectionCheck<TSelection, TSchema extends Schema> = [UnknownSelection<TSelection, TSchema>] extends [never] ? unknown : {
211
+ "selected names that are not columns of this schema": UnknownSelection<TSelection, TSchema>;
212
+ };
213
+ /**
214
+ * How a query through a schema treats a matching entity that does not fit the schema — one not
215
+ * tagged with a named schema's name, or missing a selected required column or holding one of
216
+ * another type. Columns the selection leaves out are not checked.
217
+ */
218
+ type FromOptions = {
219
+ /**
220
+ * `"skip"` (the default) leaves the entity out of the page — so a page can hold fewer rows than
221
+ * its limit, and a page whose every entity was skipped is empty while later pages still have rows.
222
+ * Each page reports how many it left out as {@link QueryResult.skipped}. Arkiv is public, so
223
+ * anyone can write an entity that matches a query but not the schema; skipping keeps one such
224
+ * entity from failing every read of the others. `"throw"` fails the fetch with a
225
+ * {@link SchemaMismatchError} instead.
226
+ */
227
+ onMismatch?: "throw" | "skip" | undefined;
228
+ };
229
+ /**
230
+ * Builds and runs a query.
231
+ *
232
+ * The selection is fixed when the builder is created and the filter is added by chaining, so the
233
+ * result type is known before a single predicate is written. Create one with `client.select(...)`
234
+ * rather than constructing it directly — that is what infers the result shape from the selection.
235
+ *
236
+ * The query returns flat rows: the selected entity fields and attributes side by side. Naming a
237
+ * schema with {@link from} changes what the selection means for nothing but the selected
238
+ * attributes — they come back typed and checked as the schema declares — and has `where` checked
239
+ * against it, so that filtering on a column the schema does not index, or comparing one against the
240
+ * wrong type, is a compile error. A named schema also restricts the query to entities tagged with
241
+ * its name, and leaves that tag out of the rows' `$attributes` and `$attributeSchema`.
242
+ *
243
+ * Every filter added with {@link where}, {@link ownedBy} and {@link createdBy} must hold; use
244
+ * {@link or} for alternatives inside one call.
245
+ *
246
+ * @typeParam TSelection - The selection, inferred by `client.select()`.
247
+ * @typeParam TSchema - The schema named with {@link from}, if any.
248
+ *
249
+ * @example
250
+ * import { createPublicClient } from "@arkiv-network/sdk"
251
+ * import { dec } from "@arkiv-network/sdk/schema"
252
+ * import { tiramisu } from "@arkiv-network/sdk/chains"
253
+ * import { and, eq, gt } from "@arkiv-network/sdk/query"
254
+ * import { http } from "viem"
255
+ *
256
+ * const client = createPublicClient({ chain: tiramisu, transport: http() })
257
+ *
258
+ * const page = await client
259
+ * .select({ $key: true, author: true, title: true })
260
+ * .from(Posts)
261
+ * .where(and(eq("category", "docs"), gt("score", dec("4.0"))))
262
+ * .limit(20)
263
+ * .fetch()
264
+ *
265
+ * for (const row of page.entities) console.log(row.$key, row.title.value)
266
+ */
267
+ declare class SelectQueryBuilder<TSelection = "*", TSchema extends Schema | undefined = undefined, TCount extends bigint | undefined = undefined> extends QueryBuilderBase<TSchema> {
268
+ private readonly _selection;
269
+ private _projection;
270
+ private _onMismatch;
271
+ private _limit;
272
+ private _cursor;
273
+ private _withCount;
274
+ /**
275
+ * @throws If the selection is not `"*"` or an object, asks for nothing, or names an attribute
276
+ * outside the name grammar.
277
+ */
278
+ constructor(client: ArkivClient, selection?: SelectArg);
279
+ /**
280
+ * Runs the query through a schema. The selection keeps its meaning and the rows their shape;
281
+ * each selected attribute becomes a column — typed as the schema declares, and checked against
282
+ * it — and `where` is checked against the schema's indexed columns.
283
+ *
284
+ * A named schema also filters: only entities tagged with its name match, so a query through it
285
+ * sees only entities written through it, and needs no other filter. The tag is how the query finds
286
+ * them rather than one of their attributes, so rows leave it out of `$attributes` and
287
+ * `$attributeSchema`. An unnamed schema types the query without filtering it — `where` alone
288
+ * decides which entities match.
289
+ *
290
+ * A matching entity that does not fit — a selected required column missing or of another type,
291
+ * or, for a named schema, a tag that does not match — is left out of the page, or fails the fetch
292
+ * with a {@link SchemaMismatchError} with `{ onMismatch: "throw" }`. Columns the selection leaves
293
+ * out are not checked.
294
+ *
295
+ * Returns a new builder, carrying whatever this one already holds; this one is left as it was.
296
+ *
297
+ * @param schema - The schema, built with `defineSchema`.
298
+ * @param options - How to treat entities that do not fit. {@link FromOptions}
299
+ * @throws {SchemaDefinitionError} If `schema` was not built with `defineSchema`.
300
+ * @throws If the selection names something that is neither an entity field nor a column.
301
+ *
302
+ * @example
303
+ * client.select({ $key: true, title: true }).from(Posts) // rows typed { $key; title }
304
+ * client.select().from(Posts) // every field and every column
305
+ * client.select().from(Posts, { onMismatch: "throw" }) // fail on entities that do not fit
306
+ */
307
+ from<S extends Schema>(schema: S & SelectionCheck<TSelection, S>, options?: FromOptions): SelectQueryBuilder<TSelection, S, TCount>;
308
+ /**
309
+ * Sets the page size, up to the node maximum of 100. Without it the node picks the page size.
310
+ *
311
+ * @example
312
+ * builder.limit(100)
313
+ */
314
+ limit(limit: number): this;
315
+ /**
316
+ * Starts from a cursor returned by an earlier page.
317
+ *
318
+ * Pagination normally goes through {@link QueryResult.next}, which carries the cursor for you;
319
+ * this is for resuming a walk in a later process. A cursor is bound to the query, block and
320
+ * selection it came from, so it must be used with an identically-built query.
321
+ */
322
+ cursor(cursor: string): this;
323
+ /**
324
+ * Also counts every entity the query matches, regardless of the page size. Each page then carries
325
+ * the total as {@link QueryResult.count}, typed `bigint`, so a paginated list can show it without
326
+ * a second query. To count without fetching rows, use `client.count()` instead.
327
+ *
328
+ * The node counts what the filters match. Through a schema, that includes entities the pages
329
+ * leave out for not fitting it, so the rows of a whole walk can add up to less than the count:
330
+ * the difference is the sum of every page's {@link QueryResult.skipped}.
331
+ *
332
+ * @throws If, when fetched, the node returns no count — it predates the count projection.
333
+ *
334
+ * Returns a new builder, carrying whatever this one already holds; this one is left as it was.
335
+ *
336
+ * @example
337
+ * const page = await builder.withCount().limit(20).fetch()
338
+ * page.count // every match, not just these 20
339
+ */
340
+ withCount(): SelectQueryBuilder<TSelection, TSchema, bigint>;
341
+ /**
342
+ * Runs the query and returns the first page.
343
+ *
344
+ * @throws {InvalidPredicateError} If no filter has been added, or a filter does not fit the
345
+ * schema.
346
+ * @throws If the {@link limit} is not an integer from 1 to 100.
347
+ * @throws {SchemaMismatchError} If, through a schema, a matching entity does not fit the selected
348
+ * columns or a named schema's tag, and `from()` was given `{ onMismatch: "throw" }`.
349
+ * @throws {QueryError} If the node rejects the query.
350
+ *
351
+ * @example
352
+ * const page = await client.select({ $key: true }).where(eq("category", "docs")).fetch()
353
+ * page.entities // this page
354
+ * await page.next() // the next one
355
+ */
356
+ fetch(): Promise<QueryResult<ResultOf<TSelection, TSchema>, TCount>>;
357
+ private fetchFirstPage;
358
+ /**
359
+ * Walks every page, yielding one row at a time.
360
+ *
361
+ * @example
362
+ * for await (const row of client.select({ $key: true }).where(eq("category", "docs"))) {
363
+ * console.log(row.$key)
364
+ * }
365
+ */
366
+ [Symbol.asyncIterator](): AsyncGenerator<ResultOf<TSelection, TSchema>>;
367
+ }
368
+ //#endregion
369
+ //#region src/query/engine.d.ts
370
+ declare const MAX_LIMIT = 100;
371
+ /** One `arkiv_query` call. */
372
+ type QueryRequest = {
373
+ /** The query expression, already rendered. */
374
+ query: string;
375
+ /** What to return. */
376
+ select: RpcSelect;
377
+ /** Page size, up to {@link MAX_LIMIT}. Defaults to the node's own page size. */
378
+ limit?: number | undefined;
379
+ /** Cursor from a previous page. */
380
+ cursor?: string | undefined;
381
+ /** Block height to read at. Defaults to the head. */
382
+ atBlock?: bigint | undefined;
383
+ /** Whether to also count every entity the query matches. */
384
+ count?: boolean | undefined;
385
+ };
386
+ /** One page of results. */
387
+ type QueryResponse = {
388
+ entities: Entity[];
389
+ /** The block the page was read at — the same for every page of a paginated query. */
390
+ blockNumber: bigint;
391
+ /** The cursor for the next page, or `undefined` when this was the last one. */
392
+ cursor: string | undefined;
393
+ /** How many entities the query matches, if the request asked to count them. */
394
+ count: bigint | undefined;
395
+ };
396
+ /**
397
+ * Runs one query and decodes the page it returns.
398
+ *
399
+ * @throws If `limit` is not an integer from 1 to {@link MAX_LIMIT}.
400
+ * @throws {QueryError} If the node rejects the query.
401
+ */
402
+ declare function runQuery(client: ArkivClient, request: QueryRequest): Promise<QueryResponse>;
403
+ //#endregion
404
+ //#region src/query/errors.d.ts
405
+ /**
406
+ * A predicate asked for an operator the query language does not define for that type.
407
+ *
408
+ * The operator × type matrix is part of the language, not a policy: a prefix test on a type other
409
+ * than `str` is a **type error** at the node (a {@link QueryError} of kind `"type"`), not
410
+ * an empty result. Catching it here turns a round trip and an RPC error code into a stack trace
411
+ * pointing at the call site.
412
+ *
413
+ * | | `=` `!=` `<` `<=` `>` `>=` `BETWEEN` | `STARTSWITH` |
414
+ * | --- | --- | --- |
415
+ * | `str` | yes | yes |
416
+ * | every other indexable type | yes | no |
417
+ */
418
+ declare class UnsupportedOperatorError extends Error {
419
+ /** The attribute the predicate names. */
420
+ readonly attributeName: string;
421
+ /** The operator, as it would have been written in the query. */
422
+ readonly operator: string;
423
+ /** The type of the value it was applied to. */
424
+ readonly tag: TypeTag;
425
+ constructor(attributeName: string, operator: string, tag: TypeTag, hint?: string);
426
+ }
427
+ /**
428
+ * A predicate or query could not be expressed in the query language for a reason other than its
429
+ * operator. The main causes:
430
+ *
431
+ * - a `$` name that is not a queryable system attribute — one returned in results but never
432
+ * indexed (`$createdAt`, `$updatedAt`, `$creationFlags`), or none at all;
433
+ * - a system attribute compared against the wrong type, or tested with `exists()` / `hasType()`,
434
+ * which on a system attribute would be constants;
435
+ * - a comparison against a `bytes` value, which is never indexed;
436
+ * - a `BETWEEN` whose bounds have different types;
437
+ * - a `hasType()` tag that is not an indexable type;
438
+ * - a combinator with nothing to combine;
439
+ * - a query with no filter at all — a named schema's tag counts as one;
440
+ * - through `.from(schema)`, a filter that does not fit the schema: a name that is not a column, a
441
+ * column that is not indexed, or a value of another type than the column's.
442
+ */
443
+ declare class InvalidPredicateError extends Error {
444
+ /** The attribute the predicate names, where there is one. */
445
+ readonly attributeName: string | undefined;
446
+ constructor(message: string, attributeName?: string);
447
+ }
448
+ /**
449
+ * What a node rejected a query for. Part of the frozen RPC surface, so it is safe to branch on —
450
+ * a `"cursor"` failure means start the query again, a `"block"` failure means the node no longer
451
+ * retains that height, and the rest mean the query itself needs fixing.
452
+ */
453
+ type QueryErrorKind = /** The query string does not parse. `data` locates it: `{ position, expected, got }`. */
454
+ "parse"
455
+ /** A predicate is well-formed but ill-typed — `STARTSWITH` on a type other than `str`, `BETWEEN` bounds of different types, an unknown tag. */ | "type"
456
+ /** A literal failed validation — an `i32` out of range, a bad EIP-55 checksum, more than 18 decimal places. */ | "literal"
457
+ /** A node budget was exceeded — query length, predicate count, nesting depth, bitmap operations. */ | "limits"
458
+ /** The cursor expired, is malformed, or belongs to a different query, block or selection. */ | "cursor"
459
+ /** `atBlock` is outside the range the node retains. */ | "block";
460
+ /**
461
+ * The node rejected a query.
462
+ *
463
+ * These codes are part of the frozen `arkiv_query` surface, so {@link kind} and {@link data} are
464
+ * stable enough to branch on — which the underlying JSON-RPC error is not, because the codes
465
+ * overlap Ethereum's own EIP-1474 numbering and get wrapped accordingly on the way up.
466
+ *
467
+ * @example
468
+ * try {
469
+ * await result.next()
470
+ * } catch (error) {
471
+ * if (error instanceof QueryError && error.kind === "cursor") {
472
+ * // The page is gone — start the query over.
473
+ * }
474
+ * }
475
+ */
476
+ declare class QueryError extends Error {
477
+ /** Which failure this is. */
478
+ readonly kind: QueryErrorKind;
479
+ /** The JSON-RPC error code. */
480
+ readonly code: number;
481
+ /** The machine-readable detail the node sent, if any — e.g. `{ position, expected, got }`. */
482
+ readonly data: unknown;
483
+ /** The query string that was rejected. */
484
+ readonly query: string;
485
+ constructor(kind: QueryErrorKind, code: number, query: string, data: unknown, detail?: string);
486
+ }
487
+ //#endregion
488
+ export { MAX_LIMIT as a, runQuery as c, QueryResult as d, CountQueryBuilder as f, UnsupportedOperatorError as i, FromOptions as l, QueryError as n, QueryRequest as o, QueryBuilderBase as p, QueryErrorKind as r, QueryResponse as s, InvalidPredicateError as t, SelectQueryBuilder as u };
489
+ //# sourceMappingURL=index-DCx2XC6S.d.ts.map