spacetimedb 2.0.3 → 2.0.4

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 (81) hide show
  1. package/LICENSE.txt +2 -2
  2. package/dist/angular/index.cjs +3 -0
  3. package/dist/angular/index.cjs.map +1 -1
  4. package/dist/angular/index.mjs +3 -0
  5. package/dist/angular/index.mjs.map +1 -1
  6. package/dist/browser/angular/index.mjs +3 -0
  7. package/dist/browser/angular/index.mjs.map +1 -1
  8. package/dist/browser/react/index.mjs +3 -0
  9. package/dist/browser/react/index.mjs.map +1 -1
  10. package/dist/browser/svelte/index.mjs +3 -0
  11. package/dist/browser/svelte/index.mjs.map +1 -1
  12. package/dist/browser/vue/index.mjs +3 -0
  13. package/dist/browser/vue/index.mjs.map +1 -1
  14. package/dist/index.browser.mjs +126 -92
  15. package/dist/index.browser.mjs.map +1 -1
  16. package/dist/index.cjs +126 -92
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.mjs +126 -92
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/lib/binary_writer.d.ts +1 -0
  21. package/dist/lib/binary_writer.d.ts.map +1 -1
  22. package/dist/lib/indexes.d.ts +1 -1
  23. package/dist/lib/indexes.d.ts.map +1 -1
  24. package/dist/lib/query.d.ts +4 -2
  25. package/dist/lib/query.d.ts.map +1 -1
  26. package/dist/lib/schema.d.ts +2 -0
  27. package/dist/lib/schema.d.ts.map +1 -1
  28. package/dist/lib/table.d.ts +19 -1
  29. package/dist/lib/table.d.ts.map +1 -1
  30. package/dist/min/index.browser.mjs +1 -1
  31. package/dist/min/index.browser.mjs.map +1 -1
  32. package/dist/min/react/index.mjs +1 -1
  33. package/dist/min/react/index.mjs.map +1 -1
  34. package/dist/min/sdk/index.browser.mjs +1 -1
  35. package/dist/min/sdk/index.browser.mjs.map +1 -1
  36. package/dist/react/index.cjs +3 -0
  37. package/dist/react/index.cjs.map +1 -1
  38. package/dist/react/index.mjs +3 -0
  39. package/dist/react/index.mjs.map +1 -1
  40. package/dist/sdk/db_connection_impl.d.ts.map +1 -1
  41. package/dist/sdk/index.browser.mjs +126 -92
  42. package/dist/sdk/index.browser.mjs.map +1 -1
  43. package/dist/sdk/index.cjs +126 -92
  44. package/dist/sdk/index.cjs.map +1 -1
  45. package/dist/sdk/index.mjs +126 -92
  46. package/dist/sdk/index.mjs.map +1 -1
  47. package/dist/sdk/table_cache.d.ts.map +1 -1
  48. package/dist/sdk/websocket_decompress_adapter.d.ts +17 -7
  49. package/dist/sdk/websocket_decompress_adapter.d.ts.map +1 -1
  50. package/dist/sdk/websocket_test_adapter.d.ts +3 -2
  51. package/dist/sdk/websocket_test_adapter.d.ts.map +1 -1
  52. package/dist/server/index.mjs +65 -21
  53. package/dist/server/index.mjs.map +1 -1
  54. package/dist/svelte/index.cjs +3 -0
  55. package/dist/svelte/index.cjs.map +1 -1
  56. package/dist/svelte/index.mjs +3 -0
  57. package/dist/svelte/index.mjs.map +1 -1
  58. package/dist/tanstack/SpacetimeDBQueryClient.d.ts +1 -0
  59. package/dist/tanstack/SpacetimeDBQueryClient.d.ts.map +1 -1
  60. package/dist/tanstack/index.cjs +24 -0
  61. package/dist/tanstack/index.cjs.map +1 -1
  62. package/dist/tanstack/index.mjs +24 -0
  63. package/dist/tanstack/index.mjs.map +1 -1
  64. package/dist/vue/index.cjs +3 -0
  65. package/dist/vue/index.cjs.map +1 -1
  66. package/dist/vue/index.mjs +3 -0
  67. package/dist/vue/index.mjs.map +1 -1
  68. package/package.json +1 -1
  69. package/src/lib/binary_writer.ts +4 -0
  70. package/src/lib/indexes.ts +1 -1
  71. package/src/lib/query.ts +30 -6
  72. package/src/lib/schema.ts +66 -24
  73. package/src/lib/table.ts +41 -9
  74. package/src/sdk/db_connection_impl.ts +38 -43
  75. package/src/sdk/table_cache.ts +14 -11
  76. package/src/sdk/websocket_decompress_adapter.ts +42 -45
  77. package/src/sdk/websocket_test_adapter.ts +3 -2
  78. package/src/server/runtime.ts +7 -3
  79. package/src/server/schema.test-d.ts +37 -0
  80. package/src/server/view.test-d.ts +2 -0
  81. package/src/tanstack/SpacetimeDBQueryClient.ts +24 -0
@@ -1 +1 @@
1
- {"version":3,"file":"table_cache.d.ts","sourceRoot":"","sources":["../../src/sdk/table_cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table_cache.d.ts","sourceRoot":"","sources":["../../src/sdk/table_cache.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,22 @@
1
- export declare class WebsocketDecompressAdapter {
1
+ export interface WebsocketAdapter {
2
+ send(msg: Uint8Array): void;
3
+ close(): void;
4
+ set onclose(handler: (ev: CloseEvent) => void);
5
+ set onopen(handler: () => void);
6
+ set onmessage(handler: (msg: {
7
+ data: Uint8Array;
8
+ }) => void);
9
+ set onerror(handler: (msg: ErrorEvent) => void);
10
+ }
11
+ export declare class WebsocketDecompressAdapter implements WebsocketAdapter {
2
12
  #private;
3
- onclose?: (...ev: any[]) => void;
4
- onopen?: (...ev: any[]) => void;
5
- onmessage?: (msg: {
13
+ set onclose(handler: (ev: CloseEvent) => void);
14
+ set onopen(handler: () => void);
15
+ set onmessage(handler: (msg: {
6
16
  data: Uint8Array;
7
- }) => void;
8
- onerror?: (msg: ErrorEvent) => void;
9
- send(msg: any): void;
17
+ }) => void);
18
+ set onerror(handler: (msg: ErrorEvent) => void);
19
+ send(msg: Uint8Array): void;
10
20
  close(): void;
11
21
  constructor(ws: WebSocket);
12
22
  static createWebSocketFn({ url, nameOrAddress, wsProtocol, authToken, compression, lightMode, confirmedReads, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"websocket_decompress_adapter.d.ts","sourceRoot":"","sources":["../../src/sdk/websocket_decompress_adapter.ts"],"names":[],"mappings":"AAGA,qBAAa,0BAA0B;;IACrC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAqCpC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAIpB,KAAK,IAAI,IAAI;gBAID,EAAE,EAAE,SAAS;WAgBZ,iBAAiB,CAAC,EAC7B,GAAG,EACH,aAAa,EACb,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,cAAc,GACf,EAAE;QACD,GAAG,EAAE,GAAG,CAAC;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,0BAA0B,CAAC;CA2CxC"}
1
+ {"version":3,"file":"websocket_decompress_adapter.d.ts","sourceRoot":"","sources":["../../src/sdk/websocket_decompress_adapter.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5B,KAAK,IAAI,IAAI,CAAC;IAEd,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,EAAE;IAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;IAChC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,EAAE;IAC5D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,EAAE;CACjD;AAED,qBAAa,0BAA2B,YAAW,gBAAgB;;IACjE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,EAE5C;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,EAE7B;IACD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,EAKzD;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,EAE7C;IAuBD,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAI3B,KAAK,IAAI,IAAI;gBAID,EAAE,EAAE,SAAS;WAMZ,iBAAiB,CAAC,EAC7B,GAAG,EACH,aAAa,EACb,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,cAAc,GACf,EAAE;QACD,GAAG,EAAE,GAAG,CAAC;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,0BAA0B,CAAC;CA2CxC"}
@@ -1,7 +1,8 @@
1
1
  import { ClientMessage, ServerMessage } from './client_api/types';
2
- declare class WebsocketTestAdapter {
2
+ import type { WebsocketAdapter } from './websocket_decompress_adapter';
3
+ declare class WebsocketTestAdapter implements WebsocketAdapter {
3
4
  onclose: any;
4
- onopen: Function;
5
+ onopen: () => void;
5
6
  onmessage: any;
6
7
  onerror: any;
7
8
  messageQueue: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"websocket_test_adapter.d.ts","sourceRoot":"","sources":["../../src/sdk/websocket_test_adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,cAAM,oBAAoB;IACxB,OAAO,EAAE,GAAG,CAAC;IAEb,MAAM,EAAG,QAAQ,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IAEb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;;IAQhB,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAOxB,KAAK,IAAI,IAAI;IAKb,gBAAgB,IAAI,IAAI;IAIxB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAYpC,iBAAiB,CAAC,KAAK,EAAE;QAC7B,GAAG,EAAE,GAAG,CAAC;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGlC;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAC;AACrC,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"websocket_test_adapter.d.ts","sourceRoot":"","sources":["../../src/sdk/websocket_test_adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,cAAM,oBAAqB,YAAW,gBAAgB;IACpD,OAAO,EAAE,GAAG,CAAC;IAEb,MAAM,EAAG,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IAEb,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;;IAQhB,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAOxB,KAAK,IAAI,IAAI;IAKb,gBAAgB,IAAI,IAAI;IAIxB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAYpC,iBAAiB,CAAC,KAAK,EAAE;QAC7B,GAAG,EAAE,GAAG,CAAC;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAGlC;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAC;AACrC,eAAe,oBAAoB,CAAC"}
@@ -1411,6 +1411,9 @@ var BinaryWriter = class {
1411
1411
  constructor(init) {
1412
1412
  this.buffer = typeof init === "number" ? new ResizableBuffer(init) : init;
1413
1413
  }
1414
+ clear() {
1415
+ this.offset = 0;
1416
+ }
1414
1417
  reset(buffer) {
1415
1418
  this.buffer = buffer;
1416
1419
  this.offset = 0;
@@ -5034,6 +5037,31 @@ var ViewResultHeader = t.enum("ViewResultHeader", {
5034
5037
  // src/lib/schema.ts
5035
5038
  function tableToSchema(accName, schema2, tableDef) {
5036
5039
  const getColName = (i) => schema2.rowType.algebraicType.value.elements[i].name;
5040
+ const resolvedIndexes = tableDef.indexes.map(
5041
+ (idx) => {
5042
+ const accessorName = idx.accessorName;
5043
+ if (typeof accessorName !== "string" || accessorName.length === 0) {
5044
+ throw new TypeError(
5045
+ `Index '${idx.sourceName ?? "<unknown>"}' on table '${tableDef.sourceName}' is missing accessor name`
5046
+ );
5047
+ }
5048
+ const columnIds = idx.algorithm.tag === "Direct" ? [idx.algorithm.value] : idx.algorithm.value;
5049
+ const unique = tableDef.constraints.some(
5050
+ (c) => c.data.tag === "Unique" && c.data.value.columns.every((col) => columnIds.includes(col))
5051
+ );
5052
+ const algorithm = {
5053
+ BTree: "btree",
5054
+ Hash: "hash",
5055
+ Direct: "direct"
5056
+ }[idx.algorithm.tag];
5057
+ return {
5058
+ name: accessorName,
5059
+ unique,
5060
+ algorithm,
5061
+ columns: columnIds.map(getColName)
5062
+ };
5063
+ }
5064
+ );
5037
5065
  return {
5038
5066
  // For client,`schama.tableName` will always be there as canonical name.
5039
5067
  // For module, if explicit name is not provided via `name`, accessor name will
@@ -5043,26 +5071,16 @@ function tableToSchema(accName, schema2, tableDef) {
5043
5071
  columns: schema2.rowType.row,
5044
5072
  // typed as T[i]['rowType']['row'] under TablesToSchema<T>
5045
5073
  rowType: schema2.rowSpacetimeType,
5074
+ // Keep declarative indexes in their original shape for type-level consumers.
5075
+ indexes: schema2.idxs,
5046
5076
  constraints: tableDef.constraints.map((c) => ({
5047
5077
  name: c.sourceName,
5048
5078
  constraint: "unique",
5049
5079
  columns: c.data.value.columns.map(getColName)
5050
5080
  })),
5051
- // TODO: horrible horrible horrible. we smuggle this `Array<UntypedIndex>`
5052
- // by casting it to an `Array<IndexOpts>` as `TableToSchema` expects.
5053
- // This is then used in `TableCacheImpl.constructor` and who knows where else.
5054
- // We should stop lying about our types.
5055
- indexes: tableDef.indexes.map((idx) => {
5056
- const columnIds = idx.algorithm.tag === "Direct" ? [idx.algorithm.value] : idx.algorithm.value;
5057
- return {
5058
- name: idx.accessorName,
5059
- unique: tableDef.constraints.some(
5060
- (c) => c.data.value.columns.every((col) => columnIds.includes(col))
5061
- ),
5062
- algorithm: idx.algorithm.tag.toLowerCase(),
5063
- columns: columnIds.map(getColName)
5064
- };
5065
- }),
5081
+ // Expose resolved runtime indexes separately so runtime users don't have to
5082
+ // reinterpret `indexes` with unsafe casts.
5083
+ resolvedIndexes,
5066
5084
  tableDef,
5067
5085
  ...tableDef.isEvent ? { isEvent: true } : {}
5068
5086
  };
@@ -5342,6 +5360,14 @@ function table(opts, row, ..._) {
5342
5360
  }
5343
5361
  }
5344
5362
  for (const indexOpts of userIndexes ?? []) {
5363
+ const accessor = indexOpts.accessor;
5364
+ if (typeof accessor !== "string" || accessor.length === 0) {
5365
+ const tableLabel = name ?? "<unnamed>";
5366
+ const indexLabel = indexOpts.name ?? "<unnamed>";
5367
+ throw new TypeError(
5368
+ `Index '${indexLabel}' on table '${tableLabel}' must define a non-empty 'accessor'`
5369
+ );
5370
+ }
5345
5371
  let algorithm;
5346
5372
  switch (indexOpts.algorithm) {
5347
5373
  case "btree":
@@ -5362,7 +5388,7 @@ function table(opts, row, ..._) {
5362
5388
  }
5363
5389
  indexes.push({
5364
5390
  sourceName: void 0,
5365
- accessorName: indexOpts.accessor,
5391
+ accessorName: accessor,
5366
5392
  algorithm,
5367
5393
  canonicalName: indexOpts.name
5368
5394
  });
@@ -5412,7 +5438,9 @@ function table(opts, row, ..._) {
5412
5438
  isEvent
5413
5439
  };
5414
5440
  },
5415
- idxs: {},
5441
+ // Preserve the declared index options as runtime data so `tableToSchema`
5442
+ // can expose them without type-smuggling.
5443
+ idxs: userIndexes,
5416
5444
  constraints,
5417
5445
  schedule
5418
5446
  };
@@ -5474,7 +5502,7 @@ var FromBuilder = class _FromBuilder {
5474
5502
  }
5475
5503
  [QueryBrand] = true;
5476
5504
  where(predicate) {
5477
- const newCondition = predicate(this.table.cols);
5505
+ const newCondition = normalizePredicateExpr(predicate(this.table.cols));
5478
5506
  const nextWhere = this.whereClause ? this.whereClause.and(newCondition) : newCondition;
5479
5507
  return new _FromBuilder(this.table, nextWhere);
5480
5508
  }
@@ -5651,6 +5679,21 @@ function normalizeValue(val) {
5651
5679
  }
5652
5680
  return literal(val);
5653
5681
  }
5682
+ function normalizePredicateExpr(value) {
5683
+ if (value instanceof BooleanExpr) return value;
5684
+ if (typeof value === "boolean") {
5685
+ return new BooleanExpr({
5686
+ type: "eq",
5687
+ left: literal(value),
5688
+ right: literal(true)
5689
+ });
5690
+ }
5691
+ return new BooleanExpr({
5692
+ type: "eq",
5693
+ left: value,
5694
+ right: literal(true)
5695
+ });
5696
+ }
5654
5697
  var BooleanExpr = class _BooleanExpr {
5655
5698
  constructor(data) {
5656
5699
  this.data = data;
@@ -6599,6 +6642,7 @@ function makeTableView(typespace, table2) {
6599
6642
  tableMethods
6600
6643
  );
6601
6644
  for (const indexDef of table2.indexes) {
6645
+ const accessorName = indexDef.accessorName;
6602
6646
  const index_id = sys.index_id_from_name(indexDef.sourceName);
6603
6647
  let column_ids;
6604
6648
  let isHashIndex = false;
@@ -6844,10 +6888,10 @@ function makeTableView(typespace, table2) {
6844
6888
  }
6845
6889
  };
6846
6890
  }
6847
- if (Object.hasOwn(tableView, indexDef.accessorName)) {
6848
- freeze(Object.assign(tableView[indexDef.accessorName], index));
6891
+ if (Object.hasOwn(tableView, accessorName)) {
6892
+ freeze(Object.assign(tableView[accessorName], index));
6849
6893
  } else {
6850
- tableView[indexDef.accessorName] = freeze(index);
6894
+ tableView[accessorName] = freeze(index);
6851
6895
  }
6852
6896
  }
6853
6897
  return freeze(tableView);