spacetimedb 2.1.0 → 2.2.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 (110) hide show
  1. package/LICENSE.txt +2 -2
  2. package/dist/angular/index.cjs +7 -2
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.mjs +7 -2
  5. package/dist/angular/index.mjs.map +1 -1
  6. package/dist/browser/angular/index.mjs +7 -2
  7. package/dist/browser/angular/index.mjs.map +1 -1
  8. package/dist/browser/react/index.mjs +57 -6
  9. package/dist/browser/react/index.mjs.map +1 -1
  10. package/dist/browser/svelte/index.mjs +7 -2
  11. package/dist/browser/svelte/index.mjs.map +1 -1
  12. package/dist/browser/vue/index.mjs +7 -2
  13. package/dist/browser/vue/index.mjs.map +1 -1
  14. package/dist/index.browser.mjs +459 -138
  15. package/dist/index.browser.mjs.map +1 -1
  16. package/dist/index.cjs +459 -138
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.mjs +459 -138
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/lib/binary_reader.d.ts +1 -1
  21. package/dist/lib/binary_reader.d.ts.map +1 -1
  22. package/dist/lib/binary_writer.d.ts +2 -1
  23. package/dist/lib/binary_writer.d.ts.map +1 -1
  24. package/dist/lib/filter.d.ts +2 -1
  25. package/dist/lib/filter.d.ts.map +1 -1
  26. package/dist/lib/table.d.ts +6 -0
  27. package/dist/lib/table.d.ts.map +1 -1
  28. package/dist/min/index.browser.mjs +1 -1
  29. package/dist/min/index.browser.mjs.map +1 -1
  30. package/dist/min/react/index.mjs +1 -1
  31. package/dist/min/react/index.mjs.map +1 -1
  32. package/dist/min/sdk/index.browser.mjs +1 -1
  33. package/dist/min/sdk/index.browser.mjs.map +1 -1
  34. package/dist/react/index.cjs +57 -5
  35. package/dist/react/index.cjs.map +1 -1
  36. package/dist/react/index.d.ts +1 -0
  37. package/dist/react/index.d.ts.map +1 -1
  38. package/dist/react/index.mjs +57 -6
  39. package/dist/react/index.mjs.map +1 -1
  40. package/dist/react/useProcedure.d.ts +4 -0
  41. package/dist/react/useProcedure.d.ts.map +1 -0
  42. package/dist/react/useTable.d.ts +2 -0
  43. package/dist/react/useTable.d.ts.map +1 -1
  44. package/dist/sdk/db_connection_builder.d.ts +3 -3
  45. package/dist/sdk/db_connection_builder.d.ts.map +1 -1
  46. package/dist/sdk/db_connection_impl.d.ts +3 -3
  47. package/dist/sdk/db_connection_impl.d.ts.map +1 -1
  48. package/dist/sdk/decompress.d.ts +1 -1
  49. package/dist/sdk/decompress.d.ts.map +1 -1
  50. package/dist/sdk/index.browser.mjs +459 -138
  51. package/dist/sdk/index.browser.mjs.map +1 -1
  52. package/dist/sdk/index.cjs +459 -138
  53. package/dist/sdk/index.cjs.map +1 -1
  54. package/dist/sdk/index.mjs +459 -138
  55. package/dist/sdk/index.mjs.map +1 -1
  56. package/dist/sdk/table_cache.d.ts +1 -0
  57. package/dist/sdk/table_cache.d.ts.map +1 -1
  58. package/dist/sdk/type_utils.d.ts +4 -1
  59. package/dist/sdk/type_utils.d.ts.map +1 -1
  60. package/dist/sdk/websocket_decompress_adapter.d.ts +5 -21
  61. package/dist/sdk/websocket_decompress_adapter.d.ts.map +1 -1
  62. package/dist/sdk/websocket_protocols.d.ts +6 -0
  63. package/dist/sdk/websocket_protocols.d.ts.map +1 -0
  64. package/dist/sdk/websocket_test_adapter.d.ts +14 -18
  65. package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
  66. package/dist/sdk/websocket_v3_frames.d.ts +9 -0
  67. package/dist/sdk/websocket_v3_frames.d.ts.map +1 -0
  68. package/dist/sdk/ws.d.ts +26 -1
  69. package/dist/sdk/ws.d.ts.map +1 -1
  70. package/dist/server/http_internal.d.ts.map +1 -1
  71. package/dist/server/index.d.ts +1 -1
  72. package/dist/server/index.d.ts.map +1 -1
  73. package/dist/server/index.mjs +53 -6
  74. package/dist/server/index.mjs.map +1 -1
  75. package/dist/server/runtime.d.ts +29 -2
  76. package/dist/server/runtime.d.ts.map +1 -1
  77. package/dist/svelte/index.cjs +7 -2
  78. package/dist/svelte/index.cjs.map +1 -1
  79. package/dist/svelte/index.mjs +7 -2
  80. package/dist/svelte/index.mjs.map +1 -1
  81. package/dist/tanstack/index.cjs +7 -2
  82. package/dist/tanstack/index.cjs.map +1 -1
  83. package/dist/tanstack/index.mjs +7 -2
  84. package/dist/tanstack/index.mjs.map +1 -1
  85. package/dist/vue/index.cjs +7 -2
  86. package/dist/vue/index.cjs.map +1 -1
  87. package/dist/vue/index.mjs +7 -2
  88. package/dist/vue/index.mjs.map +1 -1
  89. package/package.json +2 -2
  90. package/src/lib/binary_reader.ts +5 -2
  91. package/src/lib/binary_writer.ts +7 -1
  92. package/src/lib/filter.ts +12 -1
  93. package/src/lib/table.ts +9 -1
  94. package/src/react/index.ts +1 -0
  95. package/src/react/useProcedure.ts +60 -0
  96. package/src/react/useTable.ts +17 -2
  97. package/src/sdk/db_connection_builder.ts +16 -7
  98. package/src/sdk/db_connection_impl.ts +404 -89
  99. package/src/sdk/decompress.ts +7 -23
  100. package/src/sdk/table_cache.ts +5 -5
  101. package/src/sdk/type_utils.ts +10 -1
  102. package/src/sdk/websocket_decompress_adapter.ts +15 -77
  103. package/src/sdk/websocket_protocols.ts +25 -0
  104. package/src/sdk/websocket_test_adapter.ts +65 -29
  105. package/src/sdk/websocket_v3_frames.ts +126 -0
  106. package/src/sdk/ws.ts +81 -3
  107. package/src/server/http_internal.ts +10 -1
  108. package/src/server/index.ts +1 -1
  109. package/src/server/runtime.ts +39 -1
  110. package/src/server/sys.d.ts +4 -0
@@ -1,5 +1,5 @@
1
1
  import * as _syscalls2_0 from 'spacetime:sys@2.0';
2
- import type { ModuleHooks } from 'spacetime:sys@2.0';
2
+ import type { ModuleHooks, u128, u16, u256, u32 } from 'spacetime:sys@2.0';
3
3
  import { ConnectionId } from '../lib/connection_id';
4
4
  import { Identity } from '../lib/identity';
5
5
  import { Timestamp } from '../lib/timestamp';
@@ -9,7 +9,34 @@ import { type UntypedSchemaDef } from '../lib/schema';
9
9
  import type { DbView } from './db_view';
10
10
  import { type Random } from './rng';
11
11
  import type { SchemaInner } from './schema';
12
- export declare const sys: typeof _syscalls2_0;
12
+ export declare const sys: {
13
+ datastore_clear(table_id: u32): u64;
14
+ register_hooks(hooks: ModuleHooks): any;
15
+ table_id_from_name(name: string): u32;
16
+ index_id_from_name(name: string): u32;
17
+ datastore_table_row_count(table_id: u32): _syscalls2_0.u64;
18
+ datastore_table_scan_bsatn(table_id: u32): u32;
19
+ datastore_index_scan_range_bsatn(index_id: u32, buf: ArrayBuffer, prefix_len: u32, prefix_elems: u16, rstart_len: u32, rend_len: u32): u32;
20
+ row_iter_bsatn_advance(iter: u32, buffer: ArrayBuffer): u32;
21
+ row_iter_bsatn_close(iter: u32): void;
22
+ datastore_insert_bsatn(table_id: u32, row: ArrayBuffer, row_len: u32): u32;
23
+ datastore_update_bsatn(table_id: u32, index_id: u32, row: ArrayBuffer, row_len: u32): u32;
24
+ datastore_delete_by_index_scan_range_bsatn(index_id: u32, buf: ArrayBuffer, prefix_len: u32, prefix_elems: u16, rstart_len: u32, rend_len: u32): u32;
25
+ datastore_delete_all_by_eq_bsatn(table_id: u32, relation: ArrayBuffer, relation_len: u32): u32;
26
+ volatile_nonatomic_schedule_immediate(reducer_name: string, args: Uint8Array): void;
27
+ console_log(level: _syscalls2_0.u8, message: string): void;
28
+ console_timer_start(name: string): u32;
29
+ console_timer_end(span_id: u32): void;
30
+ identity(): u256;
31
+ get_jwt_payload(connection_id: u128): Uint8Array;
32
+ procedure_http_request(request: Uint8Array, body: Uint8Array | string): [response: Uint8Array, body: Uint8Array];
33
+ procedure_start_mut_tx(): bigint;
34
+ procedure_commit_mut_tx(): any;
35
+ procedure_abort_mut_tx(): any;
36
+ datastore_index_scan_point_bsatn(index_id: u32, point: ArrayBuffer, point_len: u32): u32;
37
+ datastore_delete_by_index_scan_point_bsatn(index_id: u32, point: ArrayBuffer, point_len: u32): u32;
38
+ moduleHooks: typeof _syscalls2_0.moduleHooks;
39
+ };
13
40
  export declare function parseJsonObject(json: string): JsonObject;
14
41
  export declare const ReducerCtxImpl: {
15
42
  new <SchemaDef extends UntypedSchemaDef>(sender: Identity, timestamp: Timestamp, connectionId: ConnectionId | null, dbView: DbView<any>): {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAWnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,eAAO,MAAM,GAAG,qBAAe,CAAC;AAEhC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAexD;AAsHD,eAAO,MAAM,cAAc;SACzB,SAAS,SAAS,gBAAgB,UAaxB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI,UACzB,MAAM,CAAC,GAAG,CAAC;gCAbV,QAAQ,GAAG,SAAS;;;;;;mCAEjB;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;8BAClC,MAAM,GAAG,SAAS;gBACnB,QAAQ;mBACL,SAAS;sBACN,YAAY,GAAG,IAAI;YAC7B,MAAM,CAAC,SAAS,CAAC;;;;;;;;QA4CrB;;WAEG;qBACU,IAAI;QAKjB;;;WAGG;qBACU,IAAI;;IAzCjB,8DAA8D;cAExD,YAAY,gBAAa,UACrB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI;CAyCpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,EACD,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAG,CAE3C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,QAAQ,WAAW,KAAG,WACnB,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAY3E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAWnC,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,eAAO,MAAM,GAAG;oCA0DmB,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA1DgB,CAAC;AAExD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAexD;AAsHD,eAAO,MAAM,cAAc;SACzB,SAAS,SAAS,gBAAgB,UAaxB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI,UACzB,MAAM,CAAC,GAAG,CAAC;gCAbV,QAAQ,GAAG,SAAS;;;;;;mCAEjB;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS;8BAClC,MAAM,GAAG,SAAS;gBACnB,QAAQ;mBACL,SAAS;sBACN,YAAY,GAAG,IAAI;YAC7B,MAAM,CAAC,SAAS,CAAC;;;;;;;;QA4CrB;;WAEG;qBACU,IAAI;QAKjB;;;WAGG;qBACU,IAAI;;IAzCjB,8DAA8D;cAExD,YAAY,gBAAa,UACrB,QAAQ,aACL,SAAS,gBACN,YAAY,GAAG,IAAI;CAyCpC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,SAAS,GAAG,EAAE,EAClB,CAAC,EACD,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,KAAG,CAE3C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,QAAQ,WAAW,KAAG,WACnB,CAAC"}
@@ -433,8 +433,8 @@ var BinaryReader = class {
433
433
  this.view = input instanceof DataView ? input : new DataView(input.buffer, input.byteOffset, input.byteLength);
434
434
  this.offset = 0;
435
435
  }
436
- reset(view) {
437
- this.view = view;
436
+ reset(input) {
437
+ this.view = input instanceof DataView ? input : new DataView(input.buffer, input.byteOffset, input.byteLength);
438
438
  this.offset = 0;
439
439
  }
440
440
  get remaining() {
@@ -626,6 +626,11 @@ var BinaryWriter = class {
626
626
  this.view.setUint8(this.offset, value);
627
627
  this.offset += 1;
628
628
  }
629
+ writeBytes(value) {
630
+ this.expandBuffer(value.length);
631
+ new Uint8Array(this.buffer.buffer, this.offset, value.length).set(value);
632
+ this.offset += value.length;
633
+ }
629
634
  writeI8(value) {
630
635
  this.expandBuffer(1);
631
636
  this.view.setInt8(this.offset, value);