@contractspec/lib.runtime-sandbox 0.12.0 → 0.14.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 (59) hide show
  1. package/dist/adapters/pglite/adapter.d.ts +27 -0
  2. package/dist/adapters/pglite/adapter.d.ts.map +1 -0
  3. package/dist/adapters/pglite/index.d.ts +2 -0
  4. package/dist/adapters/pglite/index.d.ts.map +1 -0
  5. package/dist/browser/index.js +2443 -0
  6. package/dist/index.d.ts +10 -8
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2436 -22
  9. package/dist/node/index.js +2438 -0
  10. package/dist/ports/database.port.d.ts +49 -53
  11. package/dist/ports/database.port.d.ts.map +1 -1
  12. package/dist/ports/index.d.ts +2 -0
  13. package/dist/ports/index.d.ts.map +1 -0
  14. package/dist/types/database.types.d.ts +21 -24
  15. package/dist/types/database.types.d.ts.map +1 -1
  16. package/dist/types/index.d.ts +2 -0
  17. package/dist/types/index.d.ts.map +1 -0
  18. package/dist/web/database/migrations.d.ts +8 -6
  19. package/dist/web/database/migrations.d.ts.map +1 -1
  20. package/dist/web/database/schema.d.ts +7297 -7302
  21. package/dist/web/database/schema.d.ts.map +1 -1
  22. package/dist/web/events/local-pubsub.d.ts +5 -7
  23. package/dist/web/events/local-pubsub.d.ts.map +1 -1
  24. package/dist/web/graphql/local-client.d.ts +13 -17
  25. package/dist/web/graphql/local-client.d.ts.map +1 -1
  26. package/dist/web/index.d.ts +7 -14
  27. package/dist/web/index.d.ts.map +1 -1
  28. package/dist/web/runtime/seeders/index.d.ts +19 -0
  29. package/dist/web/runtime/seeders/index.d.ts.map +1 -0
  30. package/dist/web/runtime/services.d.ts +51 -50
  31. package/dist/web/runtime/services.d.ts.map +1 -1
  32. package/dist/web/storage/indexeddb.d.ts +16 -19
  33. package/dist/web/storage/indexeddb.d.ts.map +1 -1
  34. package/dist/web/utils/id.d.ts +1 -4
  35. package/dist/web/utils/id.d.ts.map +1 -1
  36. package/package.json +18 -16
  37. package/dist/_virtual/_rolldown/runtime.js +0 -18
  38. package/dist/adapters/pglite/adapter.js +0 -97
  39. package/dist/adapters/pglite/adapter.js.map +0 -1
  40. package/dist/adapters/pglite/index.js +0 -3
  41. package/dist/index.js.map +0 -1
  42. package/dist/web/database/migrations.js +0 -746
  43. package/dist/web/database/migrations.js.map +0 -1
  44. package/dist/web/database/schema.js +0 -528
  45. package/dist/web/database/schema.js.map +0 -1
  46. package/dist/web/events/local-pubsub.js +0 -24
  47. package/dist/web/events/local-pubsub.js.map +0 -1
  48. package/dist/web/graphql/local-client.js +0 -536
  49. package/dist/web/graphql/local-client.js.map +0 -1
  50. package/dist/web/index.js +0 -68
  51. package/dist/web/index.js.map +0 -1
  52. package/dist/web/runtime/seeders/index.js +0 -358
  53. package/dist/web/runtime/seeders/index.js.map +0 -1
  54. package/dist/web/runtime/services.js +0 -80
  55. package/dist/web/runtime/services.js.map +0 -1
  56. package/dist/web/storage/indexeddb.js +0 -85
  57. package/dist/web/storage/indexeddb.js.map +0 -1
  58. package/dist/web/utils/id.js +0 -9
  59. package/dist/web/utils/id.js.map +0 -1
@@ -1,85 +0,0 @@
1
- //#region src/web/storage/indexeddb.ts
2
- const DEFAULT_DB_NAME = "contractspec-runtime";
3
- const DEFAULT_STORE = "kv";
4
- const FALLBACK_STORE = /* @__PURE__ */ new Map();
5
- var LocalStorageService = class {
6
- dbPromise;
7
- constructor(options = {}) {
8
- this.options = options;
9
- }
10
- async init() {
11
- await this.getDb();
12
- }
13
- async get(key, fallback) {
14
- const db = await this.getDb();
15
- if (!db) return FALLBACK_STORE.get(key) ?? fallback;
16
- return new Promise((resolve, reject) => {
17
- const request = db.transaction(this.storeName, "readonly").objectStore(this.storeName).get(key);
18
- request.onsuccess = () => {
19
- resolve(request.result ?? fallback);
20
- };
21
- request.onerror = () => reject(request.error);
22
- });
23
- }
24
- async set(key, value) {
25
- const db = await this.getDb();
26
- if (!db) {
27
- FALLBACK_STORE.set(key, value);
28
- return;
29
- }
30
- await new Promise((resolve, reject) => {
31
- const request = db.transaction(this.storeName, "readwrite").objectStore(this.storeName).put(value, key);
32
- request.onsuccess = () => resolve();
33
- request.onerror = () => reject(request.error);
34
- });
35
- }
36
- async delete(key) {
37
- const db = await this.getDb();
38
- if (!db) {
39
- FALLBACK_STORE.delete(key);
40
- return;
41
- }
42
- await new Promise((resolve, reject) => {
43
- const request = db.transaction(this.storeName, "readwrite").objectStore(this.storeName).delete(key);
44
- request.onsuccess = () => resolve();
45
- request.onerror = () => reject(request.error);
46
- });
47
- }
48
- async clear() {
49
- const db = await this.getDb();
50
- if (!db) {
51
- FALLBACK_STORE.clear();
52
- return;
53
- }
54
- await new Promise((resolve, reject) => {
55
- const request = db.transaction(this.storeName, "readwrite").objectStore(this.storeName).clear();
56
- request.onsuccess = () => resolve();
57
- request.onerror = () => reject(request.error);
58
- });
59
- }
60
- get storeName() {
61
- return this.options.storeName ?? DEFAULT_STORE;
62
- }
63
- async getDb() {
64
- if (typeof indexedDB === "undefined") return null;
65
- if (!this.dbPromise) this.dbPromise = this.openDb();
66
- return this.dbPromise;
67
- }
68
- openDb() {
69
- return new Promise((resolve, reject) => {
70
- const request = indexedDB.open(this.options.dbName ?? DEFAULT_DB_NAME, this.options.version ?? 1);
71
- request.onerror = () => reject(request.error);
72
- request.onsuccess = () => {
73
- resolve(request.result);
74
- };
75
- request.onupgradeneeded = () => {
76
- const db = request.result;
77
- if (!db.objectStoreNames.contains(this.storeName)) db.createObjectStore(this.storeName);
78
- };
79
- });
80
- }
81
- };
82
-
83
- //#endregion
84
- export { LocalStorageService };
85
- //# sourceMappingURL=indexeddb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexeddb.js","names":[],"sources":["../../../src/web/storage/indexeddb.ts"],"sourcesContent":["export interface LocalStorageOptions {\n dbName?: string;\n storeName?: string;\n version?: number;\n}\n\nconst DEFAULT_DB_NAME = 'contractspec-runtime';\nconst DEFAULT_STORE = 'kv';\nconst FALLBACK_STORE = new Map<string, unknown>();\n\nexport class LocalStorageService {\n private dbPromise?: Promise<IDBDatabase | null>;\n\n constructor(private readonly options: LocalStorageOptions = {}) {}\n\n async init(): Promise<void> {\n await this.getDb();\n }\n\n async get<TValue = unknown>(\n key: string,\n fallback?: TValue\n ): Promise<TValue | undefined> {\n const db = await this.getDb();\n if (!db) {\n return (FALLBACK_STORE.get(key) as TValue | undefined) ?? fallback;\n }\n return new Promise((resolve, reject) => {\n const tx = db.transaction(this.storeName, 'readonly');\n const store = tx.objectStore(this.storeName);\n const request = store.get(key);\n request.onsuccess = () => {\n resolve((request.result as TValue | undefined) ?? fallback);\n };\n request.onerror = () => reject(request.error);\n });\n }\n\n async set<TValue = unknown>(key: string, value: TValue): Promise<void> {\n const db = await this.getDb();\n if (!db) {\n FALLBACK_STORE.set(key, value);\n return;\n }\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(this.storeName, 'readwrite');\n const store = tx.objectStore(this.storeName);\n const request = store.put(value, key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject(request.error);\n });\n }\n\n async delete(key: string): Promise<void> {\n const db = await this.getDb();\n if (!db) {\n FALLBACK_STORE.delete(key);\n return;\n }\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(this.storeName, 'readwrite');\n const store = tx.objectStore(this.storeName);\n const request = store.delete(key);\n request.onsuccess = () => resolve();\n request.onerror = () => reject(request.error);\n });\n }\n\n async clear(): Promise<void> {\n const db = await this.getDb();\n if (!db) {\n FALLBACK_STORE.clear();\n return;\n }\n await new Promise<void>((resolve, reject) => {\n const tx = db.transaction(this.storeName, 'readwrite');\n const store = tx.objectStore(this.storeName);\n const request = store.clear();\n request.onsuccess = () => resolve();\n request.onerror = () => reject(request.error);\n });\n }\n\n private get storeName() {\n return this.options.storeName ?? DEFAULT_STORE;\n }\n\n private async getDb(): Promise<IDBDatabase | null> {\n if (typeof indexedDB === 'undefined') {\n return null;\n }\n if (!this.dbPromise) {\n this.dbPromise = this.openDb();\n }\n return this.dbPromise;\n }\n\n private openDb(): Promise<IDBDatabase> {\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(\n this.options.dbName ?? DEFAULT_DB_NAME,\n this.options.version ?? 1\n );\n request.onerror = () => reject(request.error);\n request.onsuccess = () => {\n resolve(request.result);\n };\n request.onupgradeneeded = () => {\n const db = request.result;\n if (!db.objectStoreNames.contains(this.storeName)) {\n db.createObjectStore(this.storeName);\n }\n };\n });\n }\n}\n"],"mappings":";AAMA,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;AACtB,MAAM,iCAAiB,IAAI,KAAsB;AAEjD,IAAa,sBAAb,MAAiC;CAC/B,AAAQ;CAER,YAAY,AAAiB,UAA+B,EAAE,EAAE;EAAnC;;CAE7B,MAAM,OAAsB;AAC1B,QAAM,KAAK,OAAO;;CAGpB,MAAM,IACJ,KACA,UAC6B;EAC7B,MAAM,KAAK,MAAM,KAAK,OAAO;AAC7B,MAAI,CAAC,GACH,QAAQ,eAAe,IAAI,IAAI,IAA2B;AAE5D,SAAO,IAAI,SAAS,SAAS,WAAW;GAGtC,MAAM,UAFK,GAAG,YAAY,KAAK,WAAW,WAAW,CACpC,YAAY,KAAK,UAAU,CACtB,IAAI,IAAI;AAC9B,WAAQ,kBAAkB;AACxB,YAAS,QAAQ,UAAiC,SAAS;;AAE7D,WAAQ,gBAAgB,OAAO,QAAQ,MAAM;IAC7C;;CAGJ,MAAM,IAAsB,KAAa,OAA8B;EACrE,MAAM,KAAK,MAAM,KAAK,OAAO;AAC7B,MAAI,CAAC,IAAI;AACP,kBAAe,IAAI,KAAK,MAAM;AAC9B;;AAEF,QAAM,IAAI,SAAe,SAAS,WAAW;GAG3C,MAAM,UAFK,GAAG,YAAY,KAAK,WAAW,YAAY,CACrC,YAAY,KAAK,UAAU,CACtB,IAAI,OAAO,IAAI;AACrC,WAAQ,kBAAkB,SAAS;AACnC,WAAQ,gBAAgB,OAAO,QAAQ,MAAM;IAC7C;;CAGJ,MAAM,OAAO,KAA4B;EACvC,MAAM,KAAK,MAAM,KAAK,OAAO;AAC7B,MAAI,CAAC,IAAI;AACP,kBAAe,OAAO,IAAI;AAC1B;;AAEF,QAAM,IAAI,SAAe,SAAS,WAAW;GAG3C,MAAM,UAFK,GAAG,YAAY,KAAK,WAAW,YAAY,CACrC,YAAY,KAAK,UAAU,CACtB,OAAO,IAAI;AACjC,WAAQ,kBAAkB,SAAS;AACnC,WAAQ,gBAAgB,OAAO,QAAQ,MAAM;IAC7C;;CAGJ,MAAM,QAAuB;EAC3B,MAAM,KAAK,MAAM,KAAK,OAAO;AAC7B,MAAI,CAAC,IAAI;AACP,kBAAe,OAAO;AACtB;;AAEF,QAAM,IAAI,SAAe,SAAS,WAAW;GAG3C,MAAM,UAFK,GAAG,YAAY,KAAK,WAAW,YAAY,CACrC,YAAY,KAAK,UAAU,CACtB,OAAO;AAC7B,WAAQ,kBAAkB,SAAS;AACnC,WAAQ,gBAAgB,OAAO,QAAQ,MAAM;IAC7C;;CAGJ,IAAY,YAAY;AACtB,SAAO,KAAK,QAAQ,aAAa;;CAGnC,MAAc,QAAqC;AACjD,MAAI,OAAO,cAAc,YACvB,QAAO;AAET,MAAI,CAAC,KAAK,UACR,MAAK,YAAY,KAAK,QAAQ;AAEhC,SAAO,KAAK;;CAGd,AAAQ,SAA+B;AACrC,SAAO,IAAI,SAAS,SAAS,WAAW;GACtC,MAAM,UAAU,UAAU,KACxB,KAAK,QAAQ,UAAU,iBACvB,KAAK,QAAQ,WAAW,EACzB;AACD,WAAQ,gBAAgB,OAAO,QAAQ,MAAM;AAC7C,WAAQ,kBAAkB;AACxB,YAAQ,QAAQ,OAAO;;AAEzB,WAAQ,wBAAwB;IAC9B,MAAM,KAAK,QAAQ;AACnB,QAAI,CAAC,GAAG,iBAAiB,SAAS,KAAK,UAAU,CAC/C,IAAG,kBAAkB,KAAK,UAAU;;IAGxC"}
@@ -1,9 +0,0 @@
1
- //#region src/web/utils/id.ts
2
- function generateId(prefix) {
3
- const base = typeof crypto !== "undefined" && "randomUUID" in crypto ? crypto.randomUUID() : Math.random().toString(36).slice(2, 10);
4
- return prefix ? `${prefix}_${base}` : base;
5
- }
6
-
7
- //#endregion
8
- export { generateId };
9
- //# sourceMappingURL=id.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id.js","names":[],"sources":["../../../src/web/utils/id.ts"],"sourcesContent":["export function generateId(prefix?: string): string {\n const base =\n typeof crypto !== 'undefined' && 'randomUUID' in crypto\n ? crypto.randomUUID()\n : Math.random().toString(36).slice(2, 10);\n return prefix ? `${prefix}_${base}` : base;\n}\n"],"mappings":";AAAA,SAAgB,WAAW,QAAyB;CAClD,MAAM,OACJ,OAAO,WAAW,eAAe,gBAAgB,SAC7C,OAAO,YAAY,GACnB,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG;AAC7C,QAAO,SAAS,GAAG,OAAO,GAAG,SAAS"}