@domino-sdk/relay 0.14.1 → 0.15.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.
@@ -1,5 +1,5 @@
1
- import { O as Observation, T as TrackerReader, D as DiscordMember, a as DiscordMessage, W as WalletConnection, S as SolanaBalance, o as observationTriggerSchema, B as Budget, A as AuthoringIdentity, I as IntegrationProvider, b as StreakPolicy } from './settings-CU2y-wUM.js';
2
- export { c as customSource, d as defineLeaderboard, e as defineReferral, f as defineTracker, g as discord, p as pointLedgers, s as settings, h as streak, x } from './settings-CU2y-wUM.js';
1
+ import { O as Observation, T as TrackerReader, D as DiscordMember, a as DiscordMessage, W as WalletConnection, S as SolanaBalance, o as observationTriggerSchema, B as Budget, A as AuthoringIdentity, I as IntegrationProvider, b as StreakPolicy } from './settings-e0nHA0JA.js';
2
+ export { c as customSource, d as defineLeaderboard, e as defineReferral, f as defineTracker, g as discord, p as pointLedgers, s as settings, h as streak, x } from './settings-e0nHA0JA.js';
3
3
  import { z } from 'zod';
4
4
  import { PhotoResult, rewardSchema, triggerSchema, QuestPresentation, QuizEvidence, Decision, TieredRewardDefinition } from './schema.js';
5
5
 
package/dist/browser.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { SubmitInput, ReviewListOptions, MemberListOptions, ReleaseInput, beginHandoverSchema } from './schema.js';
2
2
  import { SubmissionStore, createRelayClient, QuestView, QuestController, ProgressObservation, questExperienceSchema, ProgressObserver, ExchangeInput, PhotoSubmission, QuizSubmission, ClaimSubmission } from './index.js';
3
- import { r as referralAcceptSchema, L as LeaderboardQuery, w as walletChallengeInputSchema, i as walletProofSchema, j as AuthProvider } from './settings-CU2y-wUM.js';
3
+ import { r as referralAcceptSchema, L as LeaderboardQuery, w as walletChallengeInputSchema, i as walletProofSchema, j as AuthProvider } from './settings-e0nHA0JA.js';
4
4
  import * as zod from 'zod';
5
5
 
6
6
  /** Browser client with durable submission recovery; safe to construct during SSR. */
@@ -212,7 +212,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
212
212
  accounts: {
213
213
  id: string;
214
214
  program: string;
215
- kind: "milestone" | "fixed" | "bonus";
215
+ kind: "fixed" | "milestone" | "bonus";
216
216
  balance: string;
217
217
  earned: number;
218
218
  settled: number;
@@ -402,7 +402,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
402
402
  quest: string;
403
403
  member: string;
404
404
  evidence: string | null;
405
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
405
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
406
406
  reason: string | null;
407
407
  retries: number;
408
408
  generation: number;
@@ -445,7 +445,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
445
445
  } | null;
446
446
  release: string;
447
447
  interaction: "staff" | "quiz" | "photo" | "automatic" | "claim";
448
- lifecycle: "paused" | "active" | "archived";
448
+ lifecycle: "active" | "paused" | "archived";
449
449
  rewards: {
450
450
  label: string;
451
451
  }[];
@@ -487,7 +487,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
487
487
  quest: string;
488
488
  member: string;
489
489
  evidence: string | null;
490
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
490
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
491
491
  reason: string | null;
492
492
  retries: number;
493
493
  generation: number;
@@ -616,7 +616,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
616
616
  quest: string;
617
617
  member: string;
618
618
  evidence: string | null;
619
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
619
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
620
620
  reason: string | null;
621
621
  retries: number;
622
622
  generation: number;
@@ -659,7 +659,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
659
659
  } | null;
660
660
  release: string;
661
661
  interaction: "staff" | "quiz" | "photo" | "automatic" | "claim";
662
- lifecycle: "paused" | "active" | "archived";
662
+ lifecycle: "active" | "paused" | "archived";
663
663
  rewards: {
664
664
  label: string;
665
665
  }[];
@@ -784,7 +784,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
784
784
  quest: string;
785
785
  member: string;
786
786
  evidence: string | null;
787
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
787
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
788
788
  reason: string | null;
789
789
  retries: number;
790
790
  generation: number;
@@ -827,7 +827,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
827
827
  } | null;
828
828
  release: string;
829
829
  interaction: "staff" | "quiz" | "photo" | "automatic" | "claim";
830
- lifecycle: "paused" | "active" | "archived";
830
+ lifecycle: "active" | "paused" | "archived";
831
831
  rewards: {
832
832
  label: string;
833
833
  }[];
@@ -955,7 +955,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
955
955
  quest: string;
956
956
  member: string;
957
957
  evidence: string | null;
958
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
958
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
959
959
  reason: string | null;
960
960
  retries: number;
961
961
  generation: number;
@@ -998,7 +998,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
998
998
  } | null;
999
999
  release: string;
1000
1000
  interaction: "staff" | "quiz" | "photo" | "automatic" | "claim";
1001
- lifecycle: "paused" | "active" | "archived";
1001
+ lifecycle: "active" | "paused" | "archived";
1002
1002
  rewards: {
1003
1003
  label: string;
1004
1004
  }[];
@@ -1187,7 +1187,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1187
1187
  quest: string;
1188
1188
  member: string;
1189
1189
  evidence: string | null;
1190
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
1190
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
1191
1191
  reason: string | null;
1192
1192
  retries: number;
1193
1193
  generation: number;
@@ -1316,7 +1316,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1316
1316
  quest: string;
1317
1317
  member: string;
1318
1318
  evidence: string | null;
1319
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
1319
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
1320
1320
  reason: string | null;
1321
1321
  retries: number;
1322
1322
  generation: number;
@@ -1477,7 +1477,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1477
1477
  provider: "discord";
1478
1478
  action: "grant-role";
1479
1479
  roleId: string;
1480
- status: "pending" | "delivered" | "failed";
1480
+ status: "failed" | "pending" | "delivered";
1481
1481
  attempts: number;
1482
1482
  nextAt: number;
1483
1483
  lastError: string | null;
@@ -1493,7 +1493,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1493
1493
  quest: string;
1494
1494
  member: string;
1495
1495
  evidence: string | null;
1496
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
1496
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
1497
1497
  reason: string | null;
1498
1498
  retries: number;
1499
1499
  generation: number;
@@ -1552,7 +1552,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1552
1552
  quest: string;
1553
1553
  member: string;
1554
1554
  evidence: string | null;
1555
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
1555
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
1556
1556
  reason: string | null;
1557
1557
  retries: number;
1558
1558
  generation: number;
@@ -1664,12 +1664,12 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1664
1664
  kind: "resource";
1665
1665
  default: string;
1666
1666
  source: {
1667
+ provider: "domino";
1668
+ resource: "point-ledger";
1669
+ } | {
1667
1670
  provider: "discord";
1668
1671
  resource: "channel";
1669
1672
  types: ("text" | "announcement")[];
1670
- } | {
1671
- provider: "domino";
1672
- resource: "point-ledger";
1673
1673
  } | {
1674
1674
  provider: "discord";
1675
1675
  resource: "role";
@@ -1831,12 +1831,12 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1831
1831
  kind: "resource";
1832
1832
  default: string;
1833
1833
  source: {
1834
+ provider: "domino";
1835
+ resource: "point-ledger";
1836
+ } | {
1834
1837
  provider: "discord";
1835
1838
  resource: "channel";
1836
1839
  types: ("text" | "announcement")[];
1837
- } | {
1838
- provider: "domino";
1839
- resource: "point-ledger";
1840
1840
  } | {
1841
1841
  provider: "discord";
1842
1842
  resource: "role";
@@ -1997,12 +1997,12 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1997
1997
  kind: "resource";
1998
1998
  default: string;
1999
1999
  source: {
2000
+ provider: "domino";
2001
+ resource: "point-ledger";
2002
+ } | {
2000
2003
  provider: "discord";
2001
2004
  resource: "channel";
2002
2005
  types: ("text" | "announcement")[];
2003
- } | {
2004
- provider: "domino";
2005
- resource: "point-ledger";
2006
2006
  } | {
2007
2007
  provider: "discord";
2008
2008
  resource: "role";
@@ -2126,7 +2126,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2126
2126
  id: string;
2127
2127
  createdAt: number;
2128
2128
  legacy: boolean;
2129
- lifecycle: "paused" | "active" | "archived";
2129
+ lifecycle: "active" | "paused" | "archived";
2130
2130
  key?: string | undefined;
2131
2131
  origin?: {
2132
2132
  typeVersion: string;
@@ -2242,7 +2242,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2242
2242
  quest: string;
2243
2243
  member: string;
2244
2244
  evidence: string | null;
2245
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
2245
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
2246
2246
  reason: string | null;
2247
2247
  retries: number;
2248
2248
  generation: number;
@@ -2338,12 +2338,12 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2338
2338
  kind: "resource";
2339
2339
  default: string;
2340
2340
  source: {
2341
+ provider: "domino";
2342
+ resource: "point-ledger";
2343
+ } | {
2341
2344
  provider: "discord";
2342
2345
  resource: "channel";
2343
2346
  types: ("text" | "announcement")[];
2344
- } | {
2345
- provider: "domino";
2346
- resource: "point-ledger";
2347
2347
  } | {
2348
2348
  provider: "discord";
2349
2349
  resource: "role";
@@ -2467,7 +2467,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2467
2467
  id: string;
2468
2468
  createdAt: number;
2469
2469
  legacy: boolean;
2470
- lifecycle: "paused" | "active" | "archived";
2470
+ lifecycle: "active" | "paused" | "archived";
2471
2471
  key?: string | undefined;
2472
2472
  origin?: {
2473
2473
  typeVersion: string;
@@ -2533,12 +2533,12 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2533
2533
  kind: "resource";
2534
2534
  default: string;
2535
2535
  source: {
2536
+ provider: "domino";
2537
+ resource: "point-ledger";
2538
+ } | {
2536
2539
  provider: "discord";
2537
2540
  resource: "channel";
2538
2541
  types: ("text" | "announcement")[];
2539
- } | {
2540
- provider: "domino";
2541
- resource: "point-ledger";
2542
2542
  } | {
2543
2543
  provider: "discord";
2544
2544
  resource: "role";
@@ -2662,7 +2662,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2662
2662
  id: string;
2663
2663
  createdAt: number;
2664
2664
  legacy: boolean;
2665
- lifecycle: "paused" | "active" | "archived";
2665
+ lifecycle: "active" | "paused" | "archived";
2666
2666
  key?: string | undefined;
2667
2667
  origin?: {
2668
2668
  typeVersion: string;
@@ -2777,7 +2777,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2777
2777
  quest: string;
2778
2778
  member: string;
2779
2779
  evidence: string | null;
2780
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
2780
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
2781
2781
  reason: string | null;
2782
2782
  retries: number;
2783
2783
  generation: number;
@@ -3098,7 +3098,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
3098
3098
  quest: string;
3099
3099
  member: string;
3100
3100
  evidence: string | null;
3101
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
3101
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
3102
3102
  reason: string | null;
3103
3103
  retries: number;
3104
3104
  generation: number;
@@ -3145,7 +3145,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
3145
3145
  quest: string;
3146
3146
  member: string;
3147
3147
  evidence: string | null;
3148
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
3148
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
3149
3149
  reason: string | null;
3150
3150
  retries: number;
3151
3151
  generation: number;
@@ -3197,7 +3197,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
3197
3197
  quest: string;
3198
3198
  member: string;
3199
3199
  evidence: string | null;
3200
- status: "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review";
3200
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
3201
3201
  reason: string | null;
3202
3202
  retries: number;
3203
3203
  generation: number;
package/dist/browser.js CHANGED
@@ -1,62 +1,11 @@
1
1
  import {
2
- createRelayClient
3
- } from "./chunk-YZJOZL4V.js";
2
+ browserSubmissionStore,
3
+ createBrowserRelayClient
4
+ } from "./chunk-CQ5YSQQE.js";
5
+ import "./chunk-YZJOZL4V.js";
4
6
  import "./chunk-CJARNIVP.js";
5
7
  import "./chunk-I2CCMGN6.js";
6
8
  import "./chunk-FUQYKTOJ.js";
7
-
8
- // src/browser.ts
9
- function createBrowserRelayClient(options) {
10
- return createRelayClient({
11
- ...options,
12
- submissionStore: options.submissionStore ?? browserSubmissionStore()
13
- });
14
- }
15
- function browserSubmissionStore() {
16
- let database;
17
- function open() {
18
- if (!globalThis.indexedDB || !globalThis.navigator?.locks) {
19
- throw new Error(
20
- "This browser cannot safely save submissions. Use a browser with IndexedDB and Web Locks enabled."
21
- );
22
- }
23
- return database ??= new Promise((resolve, reject) => {
24
- const request = indexedDB.open("domino-relay-submissions", 1);
25
- request.onupgradeneeded = () => request.result.createObjectStore("submissions");
26
- request.onerror = () => reject(new Error("Could not open submission storage"));
27
- request.onsuccess = () => resolve(request.result);
28
- request.onblocked = () => reject(new Error("Close other Relay tabs and try again"));
29
- });
30
- }
31
- async function transact(key, value) {
32
- const db = await open();
33
- return new Promise((resolve, reject) => {
34
- const transaction = db.transaction(
35
- "submissions",
36
- value === void 0 ? "readonly" : "readwrite",
37
- { durability: "strict" }
38
- );
39
- const store = transaction.objectStore("submissions");
40
- const request = value === void 0 ? store.get(key) : store.put(value, key);
41
- transaction.oncomplete = () => resolve(request.result);
42
- transaction.onerror = transaction.onabort = () => reject(
43
- new Error(
44
- "Could not save submission progress. Resume the saved submission when browser storage is available."
45
- )
46
- );
47
- });
48
- }
49
- return {
50
- read: (key) => transact(key),
51
- write: async (key, value) => {
52
- await transact(key, value);
53
- },
54
- exclusive: async (key, task) => {
55
- await open();
56
- return navigator.locks.request(key, task);
57
- }
58
- };
59
- }
60
9
  export {
61
10
  browserSubmissionStore,
62
11
  createBrowserRelayClient
@@ -0,0 +1,61 @@
1
+ import {
2
+ createRelayClient
3
+ } from "./chunk-YZJOZL4V.js";
4
+
5
+ // src/browser.ts
6
+ function createBrowserRelayClient(options) {
7
+ return createRelayClient({
8
+ ...options,
9
+ submissionStore: options.submissionStore ?? browserSubmissionStore()
10
+ });
11
+ }
12
+ function browserSubmissionStore() {
13
+ let database;
14
+ function open() {
15
+ if (!globalThis.indexedDB || !globalThis.navigator?.locks) {
16
+ throw new Error(
17
+ "This browser cannot safely save submissions. Use a browser with IndexedDB and Web Locks enabled."
18
+ );
19
+ }
20
+ return database ??= new Promise((resolve, reject) => {
21
+ const request = indexedDB.open("domino-relay-submissions", 1);
22
+ request.onupgradeneeded = () => request.result.createObjectStore("submissions");
23
+ request.onerror = () => reject(new Error("Could not open submission storage"));
24
+ request.onsuccess = () => resolve(request.result);
25
+ request.onblocked = () => reject(new Error("Close other Relay tabs and try again"));
26
+ });
27
+ }
28
+ async function transact(key, value) {
29
+ const db = await open();
30
+ return new Promise((resolve, reject) => {
31
+ const transaction = db.transaction(
32
+ "submissions",
33
+ value === void 0 ? "readonly" : "readwrite",
34
+ { durability: "strict" }
35
+ );
36
+ const store = transaction.objectStore("submissions");
37
+ const request = value === void 0 ? store.get(key) : store.put(value, key);
38
+ transaction.oncomplete = () => resolve(request.result);
39
+ transaction.onerror = transaction.onabort = () => reject(
40
+ new Error(
41
+ "Could not save submission progress. Resume the saved submission when browser storage is available."
42
+ )
43
+ );
44
+ });
45
+ }
46
+ return {
47
+ read: (key) => transact(key),
48
+ write: async (key, value) => {
49
+ await transact(key, value);
50
+ },
51
+ exclusive: async (key, task) => {
52
+ await open();
53
+ return navigator.locks.request(key, task);
54
+ }
55
+ };
56
+ }
57
+
58
+ export {
59
+ createBrowserRelayClient,
60
+ browserSubmissionStore
61
+ };