@civitai/blocks-react 0.23.0 → 0.25.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.
- package/dist/hooks/useBuzzAccounts.d.ts +39 -0
- package/dist/hooks/useBuzzAccounts.d.ts.map +1 -0
- package/dist/hooks/useBuzzAccounts.js +57 -0
- package/dist/hooks/useBuzzAccounts.js.map +1 -0
- package/dist/hooks/useBuzzTransactions.d.ts +52 -0
- package/dist/hooks/useBuzzTransactions.d.ts.map +1 -0
- package/dist/hooks/useBuzzTransactions.js +77 -0
- package/dist/hooks/useBuzzTransactions.js.map +1 -0
- package/dist/hooks/useDailyCompensation.d.ts +44 -0
- package/dist/hooks/useDailyCompensation.d.ts.map +1 -0
- package/dist/hooks/useDailyCompensation.js +62 -0
- package/dist/hooks/useDailyCompensation.js.map +1 -0
- package/dist/hooks/useSharedStorage.d.ts +11 -0
- package/dist/hooks/useSharedStorage.d.ts.map +1 -1
- package/dist/hooks/useSharedStorage.js +6 -0
- package/dist/hooks/useSharedStorage.js.map +1 -1
- package/dist/hooks/useWildcardPack.d.ts +49 -0
- package/dist/hooks/useWildcardPack.d.ts.map +1 -0
- package/dist/hooks/useWildcardPack.js +81 -0
- package/dist/hooks/useWildcardPack.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/liveHost.d.ts.map +1 -1
- package/dist/internal/liveHost.js +63 -0
- package/dist/internal/liveHost.js.map +1 -1
- package/dist/internal/mockHost.d.ts +46 -2
- package/dist/internal/mockHost.d.ts.map +1 -1
- package/dist/internal/mockHost.js +244 -0
- package/dist/internal/mockHost.js.map +1 -1
- package/dist/internal/validate.d.ts +41 -0
- package/dist/internal/validate.d.ts.map +1 -1
- package/dist/internal/validate.js +189 -0
- package/dist/internal/validate.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { BlockBuzzAccount } from '@civitai/app-sdk/blocks';
|
|
2
|
+
/**
|
|
3
|
+
* What {@link useBuzzAccounts} returns.
|
|
4
|
+
*/
|
|
5
|
+
export interface UseBuzzAccounts {
|
|
6
|
+
/**
|
|
7
|
+
* The viewer's all-pool balances — the three spendable pools PLUS the creator
|
|
8
|
+
* payout pools (`creatorProgramBank`, `cashSettled`, …) the spendable-only
|
|
9
|
+
* {@link useBuzzBalance} omits. `null` until the first successful fetch.
|
|
10
|
+
*/
|
|
11
|
+
accounts: BlockBuzzAccount[] | null;
|
|
12
|
+
/** `true` while a fetch (initial or `refetch`) is in flight. */
|
|
13
|
+
loading: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The last fetch's failure — a host-reported error (anon viewer / missing
|
|
16
|
+
* `buzz:read:self` scope / host failure) or the transport timeout. Free-text.
|
|
17
|
+
* Cleared at the start of the next fetch.
|
|
18
|
+
*/
|
|
19
|
+
error: Error | null;
|
|
20
|
+
/** Re-request the balances. */
|
|
21
|
+
refetch: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Read the signed-in viewer's ALL-pool Buzz balances through the host-mediated
|
|
25
|
+
* `GET_BUZZ_ACCOUNTS` → `BUZZ_ACCOUNTS_RESULT` bridge. Token-bound: the host
|
|
26
|
+
* self-binds off the block token and reads via its `blocks.getMyBuzzAccounts`
|
|
27
|
+
* mutation (scope `buzz:read:self`). Unlike {@link useBuzzBalance} (the three
|
|
28
|
+
* spendable pools), this returns every pool in the block API's set — including
|
|
29
|
+
* the creator payout pools — as `{ accountType, balance }` rows.
|
|
30
|
+
*
|
|
31
|
+
* Fetches once on mount and exposes `refetch`. A host that never answers surfaces
|
|
32
|
+
* as an `error` after the transport timeout; late post-unmount responses are
|
|
33
|
+
* ignored.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const { accounts, loading, error } = useBuzzAccounts();
|
|
37
|
+
*/
|
|
38
|
+
export declare function useBuzzAccounts(): UseBuzzAccounts;
|
|
39
|
+
//# sourceMappingURL=useBuzzAccounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuzzAccounts.d.ts","sourceRoot":"","sources":["../../src/hooks/useBuzzAccounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IACpC,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,IAAI,eAAe,CA2CjD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { getTransport } from '../internal/singleton.js';
|
|
3
|
+
import { sendTypedRequest } from '../internal/transport.js';
|
|
4
|
+
/**
|
|
5
|
+
* Read the signed-in viewer's ALL-pool Buzz balances through the host-mediated
|
|
6
|
+
* `GET_BUZZ_ACCOUNTS` → `BUZZ_ACCOUNTS_RESULT` bridge. Token-bound: the host
|
|
7
|
+
* self-binds off the block token and reads via its `blocks.getMyBuzzAccounts`
|
|
8
|
+
* mutation (scope `buzz:read:self`). Unlike {@link useBuzzBalance} (the three
|
|
9
|
+
* spendable pools), this returns every pool in the block API's set — including
|
|
10
|
+
* the creator payout pools — as `{ accountType, balance }` rows.
|
|
11
|
+
*
|
|
12
|
+
* Fetches once on mount and exposes `refetch`. A host that never answers surfaces
|
|
13
|
+
* as an `error` after the transport timeout; late post-unmount responses are
|
|
14
|
+
* ignored.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const { accounts, loading, error } = useBuzzAccounts();
|
|
18
|
+
*/
|
|
19
|
+
export function useBuzzAccounts() {
|
|
20
|
+
const [accounts, setAccounts] = useState(null);
|
|
21
|
+
const [loading, setLoading] = useState(true);
|
|
22
|
+
const [error, setError] = useState(null);
|
|
23
|
+
const mountedRef = useRef(true);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
mountedRef.current = true;
|
|
26
|
+
return () => {
|
|
27
|
+
mountedRef.current = false;
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
const refetch = useCallback(() => {
|
|
31
|
+
setLoading(true);
|
|
32
|
+
setError(null);
|
|
33
|
+
sendTypedRequest(getTransport(), { type: 'GET_BUZZ_ACCOUNTS', payload: {} }, 'BUZZ_ACCOUNTS_RESULT')
|
|
34
|
+
.then((result) => {
|
|
35
|
+
if (!mountedRef.current)
|
|
36
|
+
return;
|
|
37
|
+
if (result.error || !result.result) {
|
|
38
|
+
setError(new Error(result.error ?? 'failed to fetch buzz accounts'));
|
|
39
|
+
setLoading(false);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
setAccounts(result.result.accounts);
|
|
43
|
+
setLoading(false);
|
|
44
|
+
})
|
|
45
|
+
.catch((err) => {
|
|
46
|
+
if (!mountedRef.current)
|
|
47
|
+
return;
|
|
48
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
49
|
+
setLoading(false);
|
|
50
|
+
});
|
|
51
|
+
}, []);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
refetch();
|
|
54
|
+
}, [refetch]);
|
|
55
|
+
return { accounts, loading, error, refetch };
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=useBuzzAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuzzAccounts.js","sourceRoot":"","sources":["../../src/hooks/useBuzzAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIjE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAwB5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,gBAAgB,CACd,YAAY,EAAE,EACd,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,EAC1C,sBAAsB,CACvB;aACE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO;YAChC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,+BAA+B,CAAC,CAAC,CAAC;gBACrE,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO;YAChC,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { BlockBuzzTransaction, BlockBuzzTransactionsParams } from '@civitai/app-sdk/blocks';
|
|
2
|
+
/**
|
|
3
|
+
* One Buzz-transaction row, REHYDRATED for block consumption: identical to the
|
|
4
|
+
* wire {@link BlockBuzzTransaction} except `date` is a `Date` (rehydrated from
|
|
5
|
+
* the ISO string / `Date` the host sends — see the DATE WIRE CAVEAT on
|
|
6
|
+
* `BlockBuzzTransaction`).
|
|
7
|
+
*/
|
|
8
|
+
export interface BuzzTransaction extends Omit<BlockBuzzTransaction, 'date'> {
|
|
9
|
+
date: Date;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* What {@link useBuzzTransactions} returns.
|
|
13
|
+
*/
|
|
14
|
+
export interface UseBuzzTransactions {
|
|
15
|
+
/** The current page's rows (newest-first), or `null` until the first successful fetch. */
|
|
16
|
+
transactions: BuzzTransaction[] | null;
|
|
17
|
+
/**
|
|
18
|
+
* The next-page cursor (ISO-8601), or `null` when there's no further page.
|
|
19
|
+
* Pass it back as `params.cursor` on a subsequent call to page forward.
|
|
20
|
+
*/
|
|
21
|
+
cursor: string | null;
|
|
22
|
+
/** `true` while a fetch (initial or `refetch`) is in flight. */
|
|
23
|
+
loading: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The last fetch's failure — a host-reported error (anon viewer / missing
|
|
26
|
+
* `buzz:read:self` scope / host failure) or the transport timeout. Free-text
|
|
27
|
+
* (the buzz bridge does not use a discriminated error enum). Cleared at the
|
|
28
|
+
* start of the next fetch.
|
|
29
|
+
*/
|
|
30
|
+
error: Error | null;
|
|
31
|
+
/** Re-request the current page. */
|
|
32
|
+
refetch: () => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Read the signed-in viewer's Buzz-transaction ledger through the host-mediated
|
|
36
|
+
* `GET_BUZZ_TRANSACTIONS` → `BUZZ_TRANSACTIONS_RESULT` bridge. Token-bound: the
|
|
37
|
+
* host self-binds the account off the block token and reads via its
|
|
38
|
+
* `blocks.getMyBuzzTransactions` mutation (scope `buzz:read:self`) — the block
|
|
39
|
+
* never touches the ledger API or credentials directly (same trust model as
|
|
40
|
+
* {@link useBuzzBalance}).
|
|
41
|
+
*
|
|
42
|
+
* Fetches on mount and whenever `params` change (by value), and exposes `refetch`.
|
|
43
|
+
* A host that never answers surfaces as an `error` after the transport's request
|
|
44
|
+
* timeout — the hook never hangs. Late responses that arrive after unmount are
|
|
45
|
+
* ignored. Transaction `date`s are rehydrated to `Date`; `cursor` is normalized
|
|
46
|
+
* to an ISO string for round-tripping.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* const { transactions, cursor, loading, error } = useBuzzTransactions({ type: 'Tip', limit: 20 });
|
|
50
|
+
*/
|
|
51
|
+
export declare function useBuzzTransactions(params?: BlockBuzzTransactionsParams): UseBuzzTransactions;
|
|
52
|
+
//# sourceMappingURL=useBuzzTransactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuzzTransactions.d.ts","sourceRoot":"","sources":["../../src/hooks/useBuzzTransactions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAKjG;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACzE,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0FAA0F;IAC1F,YAAY,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACvC;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,mCAAmC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAWD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,2BAA2B,GAAG,mBAAmB,CAqD7F"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { getTransport } from '../internal/singleton.js';
|
|
3
|
+
import { sendTypedRequest } from '../internal/transport.js';
|
|
4
|
+
/** Rehydrate the host's `date`/`cursor` (a `Date` instance OR an ISO string). */
|
|
5
|
+
function toDate(v) {
|
|
6
|
+
return v instanceof Date ? v : new Date(v);
|
|
7
|
+
}
|
|
8
|
+
function toIso(v) {
|
|
9
|
+
if (v === undefined || v === null)
|
|
10
|
+
return null;
|
|
11
|
+
return v instanceof Date ? v.toISOString() : String(v);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Read the signed-in viewer's Buzz-transaction ledger through the host-mediated
|
|
15
|
+
* `GET_BUZZ_TRANSACTIONS` → `BUZZ_TRANSACTIONS_RESULT` bridge. Token-bound: the
|
|
16
|
+
* host self-binds the account off the block token and reads via its
|
|
17
|
+
* `blocks.getMyBuzzTransactions` mutation (scope `buzz:read:self`) — the block
|
|
18
|
+
* never touches the ledger API or credentials directly (same trust model as
|
|
19
|
+
* {@link useBuzzBalance}).
|
|
20
|
+
*
|
|
21
|
+
* Fetches on mount and whenever `params` change (by value), and exposes `refetch`.
|
|
22
|
+
* A host that never answers surfaces as an `error` after the transport's request
|
|
23
|
+
* timeout — the hook never hangs. Late responses that arrive after unmount are
|
|
24
|
+
* ignored. Transaction `date`s are rehydrated to `Date`; `cursor` is normalized
|
|
25
|
+
* to an ISO string for round-tripping.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const { transactions, cursor, loading, error } = useBuzzTransactions({ type: 'Tip', limit: 20 });
|
|
29
|
+
*/
|
|
30
|
+
export function useBuzzTransactions(params) {
|
|
31
|
+
const [transactions, setTransactions] = useState(null);
|
|
32
|
+
const [cursor, setCursor] = useState(null);
|
|
33
|
+
const [loading, setLoading] = useState(true);
|
|
34
|
+
const [error, setError] = useState(null);
|
|
35
|
+
const mountedRef = useRef(true);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
mountedRef.current = true;
|
|
38
|
+
return () => {
|
|
39
|
+
mountedRef.current = false;
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
// Serialize the params to a stable key so `refetch`'s identity only changes
|
|
43
|
+
// when the params VALUE changes (not on every render's fresh object). The
|
|
44
|
+
// callback re-parses the key so it closes over NOTHING but the key.
|
|
45
|
+
const paramsKey = params ? JSON.stringify(params) : '';
|
|
46
|
+
const refetch = useCallback(() => {
|
|
47
|
+
setLoading(true);
|
|
48
|
+
setError(null);
|
|
49
|
+
const parsed = paramsKey ? JSON.parse(paramsKey) : undefined;
|
|
50
|
+
const payload = parsed ? { params: parsed } : {};
|
|
51
|
+
sendTypedRequest(getTransport(), { type: 'GET_BUZZ_TRANSACTIONS', payload }, 'BUZZ_TRANSACTIONS_RESULT')
|
|
52
|
+
.then((result) => {
|
|
53
|
+
if (!mountedRef.current)
|
|
54
|
+
return;
|
|
55
|
+
if (result.error || !result.result) {
|
|
56
|
+
setError(new Error(result.error ?? 'failed to fetch buzz transactions'));
|
|
57
|
+
setLoading(false);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const wire = result.result;
|
|
61
|
+
setTransactions(wire.transactions.map((t) => ({ ...t, date: toDate(t.date) })));
|
|
62
|
+
setCursor(toIso(wire.cursor));
|
|
63
|
+
setLoading(false);
|
|
64
|
+
})
|
|
65
|
+
.catch((err) => {
|
|
66
|
+
if (!mountedRef.current)
|
|
67
|
+
return;
|
|
68
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
69
|
+
setLoading(false);
|
|
70
|
+
});
|
|
71
|
+
}, [paramsKey]);
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
refetch();
|
|
74
|
+
}, [refetch]);
|
|
75
|
+
return { transactions, cursor, loading, error, refetch };
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=useBuzzTransactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBuzzTransactions.js","sourceRoot":"","sources":["../../src/hooks/useBuzzTransactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { BlockDailyCompensationParams, BlockDailyCompensationResource } from '@civitai/app-sdk/blocks';
|
|
2
|
+
/**
|
|
3
|
+
* What {@link useDailyCompensation} returns.
|
|
4
|
+
*/
|
|
5
|
+
export interface UseDailyCompensation {
|
|
6
|
+
/**
|
|
7
|
+
* Per-modelVersion generation-compensation rows for the month of the requested
|
|
8
|
+
* `date`, or `null` until the first successful fetch. `data`/`cashData`
|
|
9
|
+
* `createdAt` are `YYYY-MM-DD` day-strings (NOT rehydrated to `Date`).
|
|
10
|
+
*/
|
|
11
|
+
resources: BlockDailyCompensationResource[] | null;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the viewer has ANY published resource — `false` distinguishes "no
|
|
14
|
+
* published models" from "published models that earned nothing this month"
|
|
15
|
+
* (both give `resources: []`). `null` until the first successful fetch.
|
|
16
|
+
*/
|
|
17
|
+
hasPublishedResources: boolean | null;
|
|
18
|
+
/** `true` while a fetch (initial or `refetch`) is in flight. */
|
|
19
|
+
loading: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The last fetch's failure — a host-reported error (anon viewer / missing
|
|
22
|
+
* `buzz:read:self` scope / a ClickHouse blip surfaced as a retryable error) or
|
|
23
|
+
* the transport timeout. Free-text. Cleared at the start of the next fetch.
|
|
24
|
+
*/
|
|
25
|
+
error: Error | null;
|
|
26
|
+
/** Re-request the compensation for the current `params`. */
|
|
27
|
+
refetch: () => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Read the signed-in viewer's per-modelVersion generation compensation for the
|
|
31
|
+
* MONTH containing `params.date`, through the host-mediated
|
|
32
|
+
* `GET_DAILY_COMPENSATION` → `DAILY_COMPENSATION_RESULT` bridge. Token-bound: the
|
|
33
|
+
* host self-binds off the block token and reads via its
|
|
34
|
+
* `blocks.getMyDailyCompensation` mutation (scope `buzz:read:self`).
|
|
35
|
+
*
|
|
36
|
+
* Fetches on mount and whenever `params` change (by value), and exposes `refetch`.
|
|
37
|
+
* A host that never answers surfaces as an `error` after the transport timeout;
|
|
38
|
+
* late post-unmount responses are ignored.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* const { resources, hasPublishedResources } = useDailyCompensation({ date: '2026-07-01' });
|
|
42
|
+
*/
|
|
43
|
+
export declare function useDailyCompensation(params: BlockDailyCompensationParams): UseDailyCompensation;
|
|
44
|
+
//# sourceMappingURL=useDailyCompensation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDailyCompensation.d.ts","sourceRoot":"","sources":["../../src/hooks/useDailyCompensation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,8BAA8B,EAC/B,MAAM,yBAAyB,CAAC;AAKjC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,SAAS,EAAE,8BAA8B,EAAE,GAAG,IAAI,CAAC;IACnD;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,4BAA4B,GAAG,oBAAoB,CAkD/F"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { getTransport } from '../internal/singleton.js';
|
|
3
|
+
import { sendTypedRequest } from '../internal/transport.js';
|
|
4
|
+
/**
|
|
5
|
+
* Read the signed-in viewer's per-modelVersion generation compensation for the
|
|
6
|
+
* MONTH containing `params.date`, through the host-mediated
|
|
7
|
+
* `GET_DAILY_COMPENSATION` → `DAILY_COMPENSATION_RESULT` bridge. Token-bound: the
|
|
8
|
+
* host self-binds off the block token and reads via its
|
|
9
|
+
* `blocks.getMyDailyCompensation` mutation (scope `buzz:read:self`).
|
|
10
|
+
*
|
|
11
|
+
* Fetches on mount and whenever `params` change (by value), and exposes `refetch`.
|
|
12
|
+
* A host that never answers surfaces as an `error` after the transport timeout;
|
|
13
|
+
* late post-unmount responses are ignored.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const { resources, hasPublishedResources } = useDailyCompensation({ date: '2026-07-01' });
|
|
17
|
+
*/
|
|
18
|
+
export function useDailyCompensation(params) {
|
|
19
|
+
const [resources, setResources] = useState(null);
|
|
20
|
+
const [hasPublishedResources, setHasPublishedResources] = useState(null);
|
|
21
|
+
const [loading, setLoading] = useState(true);
|
|
22
|
+
const [error, setError] = useState(null);
|
|
23
|
+
const mountedRef = useRef(true);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
mountedRef.current = true;
|
|
26
|
+
return () => {
|
|
27
|
+
mountedRef.current = false;
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
// Stable params key so `refetch`'s identity only changes when the params VALUE
|
|
31
|
+
// changes; the callback re-parses it so it closes over nothing but the key.
|
|
32
|
+
const paramsKey = JSON.stringify(params);
|
|
33
|
+
const refetch = useCallback(() => {
|
|
34
|
+
setLoading(true);
|
|
35
|
+
setError(null);
|
|
36
|
+
const parsed = JSON.parse(paramsKey);
|
|
37
|
+
sendTypedRequest(getTransport(), { type: 'GET_DAILY_COMPENSATION', payload: { params: parsed } }, 'DAILY_COMPENSATION_RESULT')
|
|
38
|
+
.then((result) => {
|
|
39
|
+
if (!mountedRef.current)
|
|
40
|
+
return;
|
|
41
|
+
if (result.error || !result.result) {
|
|
42
|
+
setError(new Error(result.error ?? 'failed to fetch daily compensation'));
|
|
43
|
+
setLoading(false);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
setResources(result.result.resources);
|
|
47
|
+
setHasPublishedResources(result.result.hasPublishedResources);
|
|
48
|
+
setLoading(false);
|
|
49
|
+
})
|
|
50
|
+
.catch((err) => {
|
|
51
|
+
if (!mountedRef.current)
|
|
52
|
+
return;
|
|
53
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
54
|
+
setLoading(false);
|
|
55
|
+
});
|
|
56
|
+
}, [paramsKey]);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
refetch();
|
|
59
|
+
}, [refetch]);
|
|
60
|
+
return { resources, hasPublishedResources, loading, error, refetch };
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=useDailyCompensation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDailyCompensation.js","sourceRoot":"","sources":["../../src/hooks/useDailyCompensation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOjE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA8B5D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAoC;IACvE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA0C,IAAI,CAAC,CAAC;IAC1F,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IACzF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,+EAA+E;IAC/E,4EAA4E;IAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAiC,CAAC;QACrE,gBAAgB,CACd,YAAY,EAAE,EACd,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAC/D,2BAA2B,CAC5B;aACE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO;YAChC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,oCAAoC,CAAC,CAAC,CAAC;gBAC1E,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC9D,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,OAAO;YAChC,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACvE,CAAC"}
|
|
@@ -53,6 +53,17 @@ export interface UseSharedStorage {
|
|
|
53
53
|
append(value: SharedAppendValue): Promise<{
|
|
54
54
|
key: string;
|
|
55
55
|
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Update the viewer's OWN entry in place. Author-scoped: the host rejects when
|
|
58
|
+
* the viewer isn't the entry's author (`FORBIDDEN`) or the key is missing/hidden
|
|
59
|
+
* (`NOT_FOUND`). The `key` and the entry's vote/report totals are preserved —
|
|
60
|
+
* only the contributed `{ title, body?, data? }` value changes. `title`/`body`
|
|
61
|
+
* go through the same content belt as {@link append}; `data` is opaque.
|
|
62
|
+
* Resolves once the update lands; rejects with the host's `error` string on
|
|
63
|
+
* failure (or when the viewer is anonymous). Gated by the same
|
|
64
|
+
* `apps:storage:shared:write` scope as `append` — no new scope.
|
|
65
|
+
*/
|
|
66
|
+
update(key: string, value: SharedAppendValue): Promise<void>;
|
|
56
67
|
/**
|
|
57
68
|
* Cast (or re-affirm) this viewer's up-vote on an entry — idempotent, one
|
|
58
69
|
* vote per viewer. Resolves with the entry's vote total AFTER the vote.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useSharedStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useSharedStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useSharedStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D;;;;;;;;;OASG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAkGnD"}
|
|
@@ -71,6 +71,12 @@ export function useSharedStorage() {
|
|
|
71
71
|
throw new Error(result.error);
|
|
72
72
|
return { key: result.key };
|
|
73
73
|
},
|
|
74
|
+
async update(key, value) {
|
|
75
|
+
const result = await sendTypedRequest(transport, { type: 'SHARED_UPDATE', payload: { key, value } }, 'SHARED_UPDATE_RESULT');
|
|
76
|
+
if (!result.ok || result.error) {
|
|
77
|
+
throw new Error(result.error ?? 'shared update failed');
|
|
78
|
+
}
|
|
79
|
+
},
|
|
74
80
|
async vote(key) {
|
|
75
81
|
const result = await sendTypedRequest(transport, { type: 'SHARED_VOTE', payload: { key } }, 'SHARED_VOTE_RESULT');
|
|
76
82
|
if (result.error)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSharedStorage.js","sourceRoot":"","sources":["../../src/hooks/useSharedStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"useSharedStorage.js","sourceRoot":"","sources":["../../src/hooks/useSharedStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { BlockWildcardPack, BlockWildcardPackErrorCode } from '@civitai/app-sdk/blocks';
|
|
2
|
+
export type { BlockWildcardPack, BlockWildcardPackErrorCode };
|
|
3
|
+
/**
|
|
4
|
+
* A wildcard-pack import failure. Unlike the buzz bridges' free-text errors, the
|
|
5
|
+
* host returns a DISCRIMINATED code — this error carries it on `.code` so a block
|
|
6
|
+
* can branch on the exact reason (`busy` is retryable; `too-large`/`forbidden`/
|
|
7
|
+
* `not-found`/`parse-failed` are terminal). `.message` equals the code.
|
|
8
|
+
*/
|
|
9
|
+
export declare class WildcardPackError extends Error {
|
|
10
|
+
readonly code: BlockWildcardPackErrorCode;
|
|
11
|
+
constructor(code: BlockWildcardPackErrorCode);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* What {@link useWildcardPack} returns.
|
|
15
|
+
*/
|
|
16
|
+
export interface UseWildcardPack {
|
|
17
|
+
/** The parsed pack, or `null` until the first successful fetch. */
|
|
18
|
+
pack: BlockWildcardPack | null;
|
|
19
|
+
/** `true` while a fetch (initial or `refetch`) is in flight. */
|
|
20
|
+
loading: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The last fetch's failure as a {@link WildcardPackError} (`.code` is the
|
|
23
|
+
* discriminated reason), or a plain `Error` on a transport timeout. Cleared at
|
|
24
|
+
* the start of the next fetch.
|
|
25
|
+
*/
|
|
26
|
+
error: Error | null;
|
|
27
|
+
/** Re-request the pack. */
|
|
28
|
+
refetch: () => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Import a wildcard pack's parsed prompt lists by model-version id, through the
|
|
32
|
+
* host-mediated `GET_WILDCARD_PACK` → `WILDCARD_PACK_RESULT` bridge.
|
|
33
|
+
* TOKEN-INDEPENDENT (no block scope): the host resolves + fetches + unzips +
|
|
34
|
+
* parses the pack in the viewer's authenticated page session — enforcing every
|
|
35
|
+
* real download gate — and returns only the parsed JSON. The untrusted iframe
|
|
36
|
+
* never sees the session, the signed URL, or the raw bytes.
|
|
37
|
+
*
|
|
38
|
+
* Fetches on mount and whenever `modelVersionId` changes; exposes `refetch` (e.g.
|
|
39
|
+
* to retry a `busy` result). On failure `error` is a {@link WildcardPackError}
|
|
40
|
+
* whose `.code` is the discriminated reason. A non-positive `modelVersionId` is a
|
|
41
|
+
* no-op (nothing to fetch). A host that never answers surfaces as an `error`
|
|
42
|
+
* after the transport timeout; late post-unmount responses are ignored.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* const { pack, loading, error } = useWildcardPack(modelVersionId);
|
|
46
|
+
* if (error instanceof WildcardPackError && error.code === 'busy') return <RetryLater />;
|
|
47
|
+
*/
|
|
48
|
+
export declare function useWildcardPack(modelVersionId: number): UseWildcardPack;
|
|
49
|
+
//# sourceMappingURL=useWildcardPack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWildcardPack.d.ts","sourceRoot":"","sources":["../../src/hooks/useWildcardPack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAK7F,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,CAAC;AAE9D;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;gBAC9B,IAAI,EAAE,0BAA0B;CAK7C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,CAmDvE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { getTransport } from '../internal/singleton.js';
|
|
3
|
+
import { sendTypedRequest } from '../internal/transport.js';
|
|
4
|
+
/**
|
|
5
|
+
* A wildcard-pack import failure. Unlike the buzz bridges' free-text errors, the
|
|
6
|
+
* host returns a DISCRIMINATED code — this error carries it on `.code` so a block
|
|
7
|
+
* can branch on the exact reason (`busy` is retryable; `too-large`/`forbidden`/
|
|
8
|
+
* `not-found`/`parse-failed` are terminal). `.message` equals the code.
|
|
9
|
+
*/
|
|
10
|
+
export class WildcardPackError extends Error {
|
|
11
|
+
code;
|
|
12
|
+
constructor(code) {
|
|
13
|
+
super(code);
|
|
14
|
+
this.name = 'WildcardPackError';
|
|
15
|
+
this.code = code;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Import a wildcard pack's parsed prompt lists by model-version id, through the
|
|
20
|
+
* host-mediated `GET_WILDCARD_PACK` → `WILDCARD_PACK_RESULT` bridge.
|
|
21
|
+
* TOKEN-INDEPENDENT (no block scope): the host resolves + fetches + unzips +
|
|
22
|
+
* parses the pack in the viewer's authenticated page session — enforcing every
|
|
23
|
+
* real download gate — and returns only the parsed JSON. The untrusted iframe
|
|
24
|
+
* never sees the session, the signed URL, or the raw bytes.
|
|
25
|
+
*
|
|
26
|
+
* Fetches on mount and whenever `modelVersionId` changes; exposes `refetch` (e.g.
|
|
27
|
+
* to retry a `busy` result). On failure `error` is a {@link WildcardPackError}
|
|
28
|
+
* whose `.code` is the discriminated reason. A non-positive `modelVersionId` is a
|
|
29
|
+
* no-op (nothing to fetch). A host that never answers surfaces as an `error`
|
|
30
|
+
* after the transport timeout; late post-unmount responses are ignored.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const { pack, loading, error } = useWildcardPack(modelVersionId);
|
|
34
|
+
* if (error instanceof WildcardPackError && error.code === 'busy') return <RetryLater />;
|
|
35
|
+
*/
|
|
36
|
+
export function useWildcardPack(modelVersionId) {
|
|
37
|
+
const [pack, setPack] = useState(null);
|
|
38
|
+
const [loading, setLoading] = useState(true);
|
|
39
|
+
const [error, setError] = useState(null);
|
|
40
|
+
const mountedRef = useRef(true);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
mountedRef.current = true;
|
|
43
|
+
return () => {
|
|
44
|
+
mountedRef.current = false;
|
|
45
|
+
};
|
|
46
|
+
}, []);
|
|
47
|
+
const valid = Number.isInteger(modelVersionId) && modelVersionId > 0;
|
|
48
|
+
const refetch = useCallback(() => {
|
|
49
|
+
if (!valid) {
|
|
50
|
+
// Nothing to fetch — don't summon a host round-trip that would only time
|
|
51
|
+
// out (the host drops a non-positive modelVersionId).
|
|
52
|
+
setLoading(false);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
setLoading(true);
|
|
56
|
+
setError(null);
|
|
57
|
+
sendTypedRequest(getTransport(), { type: 'GET_WILDCARD_PACK', payload: { modelVersionId } }, 'WILDCARD_PACK_RESULT')
|
|
58
|
+
.then((result) => {
|
|
59
|
+
if (!mountedRef.current)
|
|
60
|
+
return;
|
|
61
|
+
if (result.error || !result.pack) {
|
|
62
|
+
setError(new WildcardPackError(result.error ?? 'parse-failed'));
|
|
63
|
+
setLoading(false);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
setPack(result.pack);
|
|
67
|
+
setLoading(false);
|
|
68
|
+
})
|
|
69
|
+
.catch((err) => {
|
|
70
|
+
if (!mountedRef.current)
|
|
71
|
+
return;
|
|
72
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
73
|
+
setLoading(false);
|
|
74
|
+
});
|
|
75
|
+
}, [valid, modelVersionId]);
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
refetch();
|
|
78
|
+
}, [refetch]);
|
|
79
|
+
return { pack, loading, error, refetch };
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=useWildcardPack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWildcardPack.js","sourceRoot":"","sources":["../../src/hooks/useWildcardPack.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,15 @@ export { useBlockResize } from './hooks/useBlockResize.js';
|
|
|
22
22
|
export { useBuzzPurchase } from './hooks/useBuzzPurchase.js';
|
|
23
23
|
export { useBuzzBalance } from './hooks/useBuzzBalance.js';
|
|
24
24
|
export type { BuzzBalance, UseBuzzBalance } from './hooks/useBuzzBalance.js';
|
|
25
|
+
export { useBuzzTransactions } from './hooks/useBuzzTransactions.js';
|
|
26
|
+
export type { BuzzTransaction, UseBuzzTransactions } from './hooks/useBuzzTransactions.js';
|
|
27
|
+
export { useBuzzAccounts } from './hooks/useBuzzAccounts.js';
|
|
28
|
+
export type { UseBuzzAccounts } from './hooks/useBuzzAccounts.js';
|
|
29
|
+
export { useDailyCompensation } from './hooks/useDailyCompensation.js';
|
|
30
|
+
export type { UseDailyCompensation } from './hooks/useDailyCompensation.js';
|
|
31
|
+
export { useWildcardPack, WildcardPackError } from './hooks/useWildcardPack.js';
|
|
32
|
+
export type { UseWildcardPack } from './hooks/useWildcardPack.js';
|
|
33
|
+
export type { BlockBuzzTransaction, BlockBuzzAccount, BlockDailyCompensationResource, BlockWildcardPack, BlockWildcardPackErrorCode, } from '@civitai/app-sdk/blocks';
|
|
25
34
|
export { useCheckpointPicker } from './hooks/useCheckpointPicker.js';
|
|
26
35
|
export { useResourcePicker } from './hooks/useResourcePicker.js';
|
|
27
36
|
export { useImageUpload } from './hooks/useImageUpload.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,10 @@ export { useBuzzWorkflow } from './hooks/useBuzzWorkflow.js';
|
|
|
19
19
|
export { useBlockResize } from './hooks/useBlockResize.js';
|
|
20
20
|
export { useBuzzPurchase } from './hooks/useBuzzPurchase.js';
|
|
21
21
|
export { useBuzzBalance } from './hooks/useBuzzBalance.js';
|
|
22
|
+
export { useBuzzTransactions } from './hooks/useBuzzTransactions.js';
|
|
23
|
+
export { useBuzzAccounts } from './hooks/useBuzzAccounts.js';
|
|
24
|
+
export { useDailyCompensation } from './hooks/useDailyCompensation.js';
|
|
25
|
+
export { useWildcardPack, WildcardPackError } from './hooks/useWildcardPack.js';
|
|
22
26
|
export { useCheckpointPicker } from './hooks/useCheckpointPicker.js';
|
|
23
27
|
export { useResourcePicker } from './hooks/useResourcePicker.js';
|
|
24
28
|
export { useImageUpload } from './hooks/useImageUpload.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAShF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveHost.d.ts","sourceRoot":"","sources":["../../src/internal/liveHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,UAAU,EAGhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAC;AACrF,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,oBAAoB,CAAC;AAK5B;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,wEAAwE;IACxE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChE,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,UAAU,CAAC;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACvD;AAQD;;;;;GAKG;AACH,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAgB/E;AAyHD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"liveHost.d.ts","sourceRoot":"","sources":["../../src/internal/liveHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AAEH,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,UAAU,EAGhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAC;AACrF,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,oBAAoB,CAAC;AAK5B;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,wEAAwE;IACxE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChE,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,UAAU,CAAC;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACvD;AAQD;;;;;GAKG;AACH,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAgB/E;AAyHD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAu7BjE"}
|