@secondlayer/shared 0.12.2 → 1.0.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/README.md +5 -7
- package/dist/src/constants.d.ts +2 -0
- package/dist/src/constants.js +24 -0
- package/dist/src/constants.js.map +10 -0
- package/dist/src/db/index.d.ts +3 -64
- package/dist/src/db/index.js +2 -2
- package/dist/src/db/index.js.map +2 -2
- package/dist/src/db/queries/accounts.d.ts +12 -52
- package/dist/src/db/queries/accounts.js +27 -2
- package/dist/src/db/queries/accounts.js.map +3 -3
- package/dist/src/db/queries/integrity.d.ts +2 -51
- package/dist/src/db/queries/marketplace.d.ts +2 -51
- package/dist/src/db/queries/projects.d.ts +2 -51
- package/dist/src/db/queries/subgraph-gaps.d.ts +2 -51
- package/dist/src/db/queries/subgraphs.d.ts +3 -51
- package/dist/src/db/queries/subgraphs.js +3 -1
- package/dist/src/db/queries/subgraphs.js.map +3 -3
- package/dist/src/db/queries/usage.d.ts +3 -56
- package/dist/src/db/queries/usage.js +1 -19
- package/dist/src/db/queries/usage.js.map +4 -4
- package/dist/src/db/queries/workflows.d.ts +7 -53
- package/dist/src/db/queries/workflows.js +130 -13
- package/dist/src/db/queries/workflows.js.map +5 -4
- package/dist/src/db/schema.d.ts +3 -64
- package/dist/src/errors.d.ts +19 -50
- package/dist/src/errors.js +28 -45
- package/dist/src/errors.js.map +3 -3
- package/dist/src/index.d.ts +25 -256
- package/dist/src/index.js +32 -234
- package/dist/src/index.js.map +7 -9
- package/dist/src/lib/plans.d.ts +0 -1
- package/dist/src/lib/plans.js +1 -2
- package/dist/src/lib/plans.js.map +3 -3
- package/dist/src/node/local-client.d.ts +2 -51
- package/dist/src/queue/listener.d.ts +1 -18
- package/dist/src/queue/listener.js +2 -12
- package/dist/src/queue/listener.js.map +3 -3
- package/dist/src/schemas/filters.d.ts +3 -3
- package/dist/src/schemas/filters.js +3 -3
- package/dist/src/schemas/filters.js.map +3 -3
- package/dist/src/schemas/index.d.ts +5 -100
- package/dist/src/schemas/index.js +4 -88
- package/dist/src/schemas/index.js.map +5 -6
- package/dist/src/schemas/subgraphs.d.ts +2 -0
- package/dist/src/schemas/subgraphs.js +2 -1
- package/dist/src/schemas/subgraphs.js.map +3 -3
- package/dist/src/schemas/workflows.d.ts +4 -0
- package/dist/src/schemas/workflows.js +5 -1
- package/dist/src/schemas/workflows.js.map +3 -3
- package/dist/src/types.d.ts +1 -53
- package/migrations/0030_workflow_source_code.ts +21 -0
- package/migrations/0031_subgraph_source_code.ts +18 -0
- package/migrations/0032_drop_streams_tables.ts +43 -0
- package/package.json +6 -14
- package/dist/src/db/queries/metrics.d.ts +0 -419
- package/dist/src/db/queries/metrics.js +0 -55
- package/dist/src/db/queries/metrics.js.map +0 -10
- package/dist/src/queue/index.d.ts +0 -50
- package/dist/src/queue/index.js +0 -184
- package/dist/src/queue/index.js.map +0 -12
- package/dist/src/queue/recovery.d.ts +0 -14
- package/dist/src/queue/recovery.js +0 -108
- package/dist/src/queue/recovery.js.map +0 -12
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/lib/plans.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"export interface PlanLimits {\n\
|
|
5
|
+
"export interface PlanLimits {\n\tsubgraphs: number;\n\tapiRequestsPerDay: number;\n\tdeliveriesPerMonth: number;\n\tstorageBytes: number;\n}\n\nexport const FREE_PLAN: PlanLimits = {\n\tsubgraphs: 2,\n\tapiRequestsPerDay: 1_000,\n\tdeliveriesPerMonth: 5_000,\n\tstorageBytes: 100 * 1024 * 1024,\n};\n\nexport function getPlanLimits(plan: string): PlanLimits {\n\tswitch (plan) {\n\t\tcase \"free\":\n\t\tdefault:\n\t\t\treturn FREE_PLAN;\n\t}\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAOO,IAAM,YAAwB;AAAA,EACpC,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,cAAc,MAAM,OAAO;AAC5B;AAEO,SAAS,aAAa,CAAC,MAA0B;AAAA,EACvD,QAAQ;AAAA,SACF;AAAA;AAAA,MAEJ,OAAO;AAAA;AAAA;",
|
|
8
|
+
"debugId": "073DFD0969A0C8D364756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -32,40 +32,6 @@ interface EventsTable {
|
|
|
32
32
|
data: unknown;
|
|
33
33
|
created_at: Generated<Date>;
|
|
34
34
|
}
|
|
35
|
-
interface StreamsTable {
|
|
36
|
-
id: Generated<string>;
|
|
37
|
-
name: string;
|
|
38
|
-
status: Generated<string>;
|
|
39
|
-
filters: unknown;
|
|
40
|
-
options: Generated<unknown>;
|
|
41
|
-
endpoint_url: string;
|
|
42
|
-
signing_secret: string | null;
|
|
43
|
-
api_key_id: string;
|
|
44
|
-
project_id: string | null;
|
|
45
|
-
created_at: Generated<Date>;
|
|
46
|
-
updated_at: Generated<Date>;
|
|
47
|
-
}
|
|
48
|
-
interface StreamMetricsTable {
|
|
49
|
-
stream_id: string;
|
|
50
|
-
last_triggered_at: Date | null;
|
|
51
|
-
last_triggered_block: number | null;
|
|
52
|
-
total_deliveries: Generated<number>;
|
|
53
|
-
failed_deliveries: Generated<number>;
|
|
54
|
-
error_message: string | null;
|
|
55
|
-
}
|
|
56
|
-
interface JobsTable {
|
|
57
|
-
id: Generated<string>;
|
|
58
|
-
stream_id: string;
|
|
59
|
-
block_height: number;
|
|
60
|
-
status: Generated<string>;
|
|
61
|
-
attempts: Generated<number>;
|
|
62
|
-
locked_at: Date | null;
|
|
63
|
-
locked_by: string | null;
|
|
64
|
-
error: string | null;
|
|
65
|
-
backfill: Generated<boolean>;
|
|
66
|
-
created_at: Generated<Date>;
|
|
67
|
-
completed_at: Date | null;
|
|
68
|
-
}
|
|
69
35
|
interface IndexProgressTable {
|
|
70
36
|
network: string;
|
|
71
37
|
last_indexed_block: Generated<number>;
|
|
@@ -73,19 +39,6 @@ interface IndexProgressTable {
|
|
|
73
39
|
highest_seen_block: Generated<number>;
|
|
74
40
|
updated_at: Generated<Date>;
|
|
75
41
|
}
|
|
76
|
-
interface DeliveriesTable {
|
|
77
|
-
id: Generated<string>;
|
|
78
|
-
stream_id: string;
|
|
79
|
-
job_id: string | null;
|
|
80
|
-
block_height: number;
|
|
81
|
-
status: string;
|
|
82
|
-
status_code: number | null;
|
|
83
|
-
response_time_ms: number | null;
|
|
84
|
-
attempts: Generated<number>;
|
|
85
|
-
error: string | null;
|
|
86
|
-
payload: unknown;
|
|
87
|
-
created_at: Generated<Date>;
|
|
88
|
-
}
|
|
89
42
|
interface SubgraphsTable {
|
|
90
43
|
id: Generated<string>;
|
|
91
44
|
name: string;
|
|
@@ -106,6 +59,7 @@ interface SubgraphsTable {
|
|
|
106
59
|
api_key_id: string | null;
|
|
107
60
|
account_id: string;
|
|
108
61
|
handler_code: string | null;
|
|
62
|
+
source_code: string | null;
|
|
109
63
|
project_id: string | null;
|
|
110
64
|
is_public: Generated<boolean>;
|
|
111
65
|
tags: Generated<string[]>;
|
|
@@ -304,6 +258,7 @@ interface WorkflowDefinitionsTable {
|
|
|
304
258
|
trigger_type: string;
|
|
305
259
|
trigger_config: unknown;
|
|
306
260
|
handler_path: string;
|
|
261
|
+
source_code: string | null;
|
|
307
262
|
retries_config: unknown | null;
|
|
308
263
|
timeout_ms: number | null;
|
|
309
264
|
api_key_id: string;
|
|
@@ -374,11 +329,7 @@ interface Database {
|
|
|
374
329
|
blocks: BlocksTable;
|
|
375
330
|
transactions: TransactionsTable;
|
|
376
331
|
events: EventsTable;
|
|
377
|
-
streams: StreamsTable;
|
|
378
|
-
stream_metrics: StreamMetricsTable;
|
|
379
|
-
jobs: JobsTable;
|
|
380
332
|
index_progress: IndexProgressTable;
|
|
381
|
-
deliveries: DeliveriesTable;
|
|
382
333
|
subgraphs: SubgraphsTable;
|
|
383
334
|
api_keys: ApiKeysTable;
|
|
384
335
|
accounts: AccountsTable;
|
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
declare const CHANNEL_NEW_JOB = "streams:new_job";
|
|
2
|
-
/**
|
|
3
|
-
* Listen for notifications on a channel
|
|
4
|
-
* Uses a dedicated connection for LISTEN
|
|
5
|
-
*/
|
|
6
1
|
declare function listen(channel: string, callback: (payload?: string) => void): Promise<() => Promise<void>>;
|
|
7
|
-
/**
|
|
8
|
-
* Send a notification on a channel
|
|
9
|
-
*/
|
|
10
2
|
declare function notify(channel: string, payload?: string): Promise<void>;
|
|
11
|
-
|
|
12
|
-
* Listen for new job notifications
|
|
13
|
-
* Convenience wrapper for the common use case
|
|
14
|
-
*/
|
|
15
|
-
declare function listenForJobs(callback: (payload?: string) => void): Promise<() => Promise<void>>;
|
|
16
|
-
/**
|
|
17
|
-
* Notify workers about new jobs
|
|
18
|
-
*/
|
|
19
|
-
declare function notifyNewJob(streamId?: string): Promise<void>;
|
|
20
|
-
export { notifyNewJob, notify, listenForJobs, listen, CHANNEL_NEW_JOB };
|
|
3
|
+
export { notify, listen };
|
|
@@ -16,7 +16,6 @@ var __export = (target, all) => {
|
|
|
16
16
|
|
|
17
17
|
// src/queue/listener.ts
|
|
18
18
|
import postgres from "postgres";
|
|
19
|
-
var CHANNEL_NEW_JOB = "streams:new_job";
|
|
20
19
|
async function listen(channel, callback) {
|
|
21
20
|
const connectionString = process.env.DATABASE_URL;
|
|
22
21
|
if (!connectionString) {
|
|
@@ -49,19 +48,10 @@ async function notify(channel, payload) {
|
|
|
49
48
|
await client.end();
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
|
-
async function listenForJobs(callback) {
|
|
53
|
-
return listen(CHANNEL_NEW_JOB, callback);
|
|
54
|
-
}
|
|
55
|
-
async function notifyNewJob(streamId) {
|
|
56
|
-
return notify(CHANNEL_NEW_JOB, streamId);
|
|
57
|
-
}
|
|
58
51
|
export {
|
|
59
|
-
notifyNewJob,
|
|
60
52
|
notify,
|
|
61
|
-
|
|
62
|
-
listen,
|
|
63
|
-
CHANNEL_NEW_JOB
|
|
53
|
+
listen
|
|
64
54
|
};
|
|
65
55
|
|
|
66
|
-
//# debugId=
|
|
56
|
+
//# debugId=BC1D53C4E8438D5E64756E2164756E21
|
|
67
57
|
//# sourceMappingURL=listener.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/queue/listener.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import postgres from \"postgres\";\n\
|
|
5
|
+
"import postgres from \"postgres\";\n\nexport async function listen(\n\tchannel: string,\n\tcallback: (payload?: string) => void,\n): Promise<() => Promise<void>> {\n\tconst connectionString = process.env.DATABASE_URL;\n\tif (!connectionString) {\n\t\tthrow new Error(\"DATABASE_URL is required\");\n\t}\n\n\tconst client = postgres(connectionString, {\n\t\tmax: 1,\n\t\tonnotice: () => {},\n\t});\n\n\tawait client.listen(channel, (payload) => {\n\t\tcallback(payload);\n\t});\n\n\treturn async () => {\n\t\tawait client.end();\n\t};\n}\n\nexport async function notify(channel: string, payload?: string): Promise<void> {\n\tconst connectionString = process.env.DATABASE_URL;\n\tif (!connectionString) {\n\t\tthrow new Error(\"DATABASE_URL is required\");\n\t}\n\n\tconst client = postgres(connectionString, { max: 1 });\n\n\ttry {\n\t\tif (payload) {\n\t\t\tawait client`SELECT pg_notify(${channel}, ${payload})`;\n\t\t} else {\n\t\t\tawait client`SELECT pg_notify(${channel}, '')`;\n\t\t}\n\t} finally {\n\t\tawait client.end();\n\t}\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAEA,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAEA,eAAsB,MAAM,CAC3B,SACA,UAC+B;AAAA,EAC/B,MAAM,mBAAmB,QAAQ,IAAI;AAAA,EACrC,IAAI,CAAC,kBAAkB;AAAA,IACtB,MAAM,IAAI,MAAM,0BAA0B;AAAA,EAC3C;AAAA,EAEA,MAAM,SAAS,SAAS,kBAAkB;AAAA,IACzC,KAAK;AAAA,IACL,UAAU,MAAM;AAAA,EACjB,CAAC;AAAA,EAED,MAAM,OAAO,OAAO,SAAS,CAAC,YAAY;AAAA,IACzC,SAAS,OAAO;AAAA,GAChB;AAAA,EAED,OAAO,YAAY;AAAA,IAClB,MAAM,OAAO,IAAI;AAAA;AAAA;AAInB,eAAsB,MAAM,CAAC,SAAiB,SAAiC;AAAA,EAC9E,MAAM,mBAAmB,QAAQ,IAAI;AAAA,EACrC,IAAI,CAAC,kBAAkB;AAAA,IACtB,MAAM,IAAI,MAAM,0BAA0B;AAAA,EAC3C;AAAA,EAEA,MAAM,SAAS,SAAS,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAAA,EAEpD,IAAI;AAAA,IACH,IAAI,SAAS;AAAA,MACZ,MAAM,0BAA0B,YAAY;AAAA,IAC7C,EAAO;AAAA,MACN,MAAM,0BAA0B;AAAA;AAAA,YAEhC;AAAA,IACD,MAAM,OAAO,IAAI;AAAA;AAAA;",
|
|
8
|
+
"debugId": "BC1D53C4E8438D5E64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -76,7 +76,7 @@ interface PrintEventFilter {
|
|
|
76
76
|
topic?: string;
|
|
77
77
|
contains?: string;
|
|
78
78
|
}
|
|
79
|
-
type
|
|
79
|
+
type EventFilter = StxTransferFilter | StxMintFilter | StxBurnFilter | StxLockFilter | FtTransferFilter | FtMintFilter | FtBurnFilter | NftTransferFilter | NftMintFilter | NftBurnFilter | ContractCallFilter | ContractDeployFilter | PrintEventFilter;
|
|
80
80
|
declare const StxTransferFilterSchema: z.ZodType<StxTransferFilter>;
|
|
81
81
|
declare const StxMintFilterSchema: z.ZodType<StxMintFilter>;
|
|
82
82
|
declare const StxBurnFilterSchema: z.ZodType<StxBurnFilter>;
|
|
@@ -90,5 +90,5 @@ declare const NftBurnFilterSchema: z.ZodType<NftBurnFilter>;
|
|
|
90
90
|
declare const ContractCallFilterSchema: z.ZodType<ContractCallFilter>;
|
|
91
91
|
declare const ContractDeployFilterSchema: z.ZodType<ContractDeployFilter>;
|
|
92
92
|
declare const PrintEventFilterSchema: z.ZodType<PrintEventFilter>;
|
|
93
|
-
declare const
|
|
94
|
-
export { StxTransferFilterSchema, StxTransferFilter, StxMintFilterSchema, StxMintFilter, StxLockFilterSchema, StxLockFilter, StxBurnFilterSchema, StxBurnFilter,
|
|
93
|
+
declare const EventFilterSchema: z.ZodType<EventFilter>;
|
|
94
|
+
export { StxTransferFilterSchema, StxTransferFilter, StxMintFilterSchema, StxMintFilter, StxLockFilterSchema, StxLockFilter, StxBurnFilterSchema, StxBurnFilter, PrintEventFilterSchema, PrintEventFilter, NftTransferFilterSchema, NftTransferFilter, NftMintFilterSchema, NftMintFilter, NftBurnFilterSchema, NftBurnFilter, FtTransferFilterSchema, FtTransferFilter, FtMintFilterSchema, FtMintFilter, FtBurnFilterSchema, FtBurnFilter, EventFilterSchema, EventFilter, ContractDeployFilterSchema, ContractDeployFilter, ContractCallFilterSchema, ContractCallFilter };
|
|
@@ -102,7 +102,7 @@ var PrintEventFilterSchema = z.object({
|
|
|
102
102
|
topic: z.string().optional(),
|
|
103
103
|
contains: z.string().optional()
|
|
104
104
|
});
|
|
105
|
-
var
|
|
105
|
+
var EventFilterSchema = z.discriminatedUnion("type", [
|
|
106
106
|
StxTransferFilterSchema,
|
|
107
107
|
StxMintFilterSchema,
|
|
108
108
|
StxBurnFilterSchema,
|
|
@@ -122,7 +122,6 @@ export {
|
|
|
122
122
|
StxMintFilterSchema,
|
|
123
123
|
StxLockFilterSchema,
|
|
124
124
|
StxBurnFilterSchema,
|
|
125
|
-
StreamFilterSchema,
|
|
126
125
|
PrintEventFilterSchema,
|
|
127
126
|
NftTransferFilterSchema,
|
|
128
127
|
NftMintFilterSchema,
|
|
@@ -130,9 +129,10 @@ export {
|
|
|
130
129
|
FtTransferFilterSchema,
|
|
131
130
|
FtMintFilterSchema,
|
|
132
131
|
FtBurnFilterSchema,
|
|
132
|
+
EventFilterSchema,
|
|
133
133
|
ContractDeployFilterSchema,
|
|
134
134
|
ContractCallFilterSchema
|
|
135
135
|
};
|
|
136
136
|
|
|
137
|
-
//# debugId=
|
|
137
|
+
//# debugId=DB823597308735A664756E2164756E21
|
|
138
138
|
//# sourceMappingURL=filters.js.map
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/schemas/filters.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { isValidAddress as _isValidAddress } from \"@secondlayer/stacks\";\nimport { z } from \"zod/v4\";\n\nconst isValidAddress = _isValidAddress as (addr: string) => boolean;\n\n/** Validate a Stacks principal (standard or contract, e.g. SP2J...ABC or SP2J...ABC.contract-name) */\nconst stacksPrincipal = z.string().refine((val) => {\n\tconst parts = val.split(\".\");\n\tif (parts.length > 2) return false;\n\treturn isValidAddress(parts[0]!);\n}, \"Invalid Stacks principal address\");\n\n// Base filter with common fields\nconst baseFilter = {\n\t// Optional: filter by sender\n\tsender: stacksPrincipal.optional(),\n\t// Optional: filter by recipient\n\trecipient: stacksPrincipal.optional(),\n};\n\n// Type exports — defined first so they can annotate schemas\nexport interface StxTransferFilter {\n\ttype: \"stx_transfer\";\n\tsender?: string;\n\trecipient?: string;\n\tminAmount?: number;\n\tmaxAmount?: number;\n}\n\nexport interface StxMintFilter {\n\ttype: \"stx_mint\";\n\trecipient?: string;\n\tminAmount?: number;\n}\n\nexport interface StxBurnFilter {\n\ttype: \"stx_burn\";\n\tsender?: string;\n\tminAmount?: number;\n}\n\nexport interface StxLockFilter {\n\ttype: \"stx_lock\";\n\tlockedAddress?: string;\n\tminAmount?: number;\n}\n\nexport interface FtTransferFilter {\n\ttype: \"ft_transfer\";\n\tsender?: string;\n\trecipient?: string;\n\tassetIdentifier?: string;\n\tminAmount?: number;\n}\n\nexport interface FtMintFilter {\n\ttype: \"ft_mint\";\n\trecipient?: string;\n\tassetIdentifier?: string;\n\tminAmount?: number;\n}\n\nexport interface FtBurnFilter {\n\ttype: \"ft_burn\";\n\tsender?: string;\n\tassetIdentifier?: string;\n\tminAmount?: number;\n}\n\nexport interface NftTransferFilter {\n\ttype: \"nft_transfer\";\n\tsender?: string;\n\trecipient?: string;\n\tassetIdentifier?: string;\n\ttokenId?: string;\n}\n\nexport interface NftMintFilter {\n\ttype: \"nft_mint\";\n\trecipient?: string;\n\tassetIdentifier?: string;\n\ttokenId?: string;\n}\n\nexport interface NftBurnFilter {\n\ttype: \"nft_burn\";\n\tsender?: string;\n\tassetIdentifier?: string;\n\ttokenId?: string;\n}\n\nexport interface ContractCallFilter {\n\ttype: \"contract_call\";\n\tcontractId?: string;\n\tfunctionName?: string;\n\tcaller?: string;\n}\n\nexport interface ContractDeployFilter {\n\ttype: \"contract_deploy\";\n\tdeployer?: string;\n\tcontractName?: string;\n}\n\nexport interface PrintEventFilter {\n\ttype: \"print_event\";\n\tcontractId?: string;\n\ttopic?: string;\n\tcontains?: string;\n}\n\nexport type
|
|
5
|
+
"import { isValidAddress as _isValidAddress } from \"@secondlayer/stacks\";\nimport { z } from \"zod/v4\";\n\nconst isValidAddress = _isValidAddress as (addr: string) => boolean;\n\n/** Validate a Stacks principal (standard or contract, e.g. SP2J...ABC or SP2J...ABC.contract-name) */\nconst stacksPrincipal = z.string().refine((val) => {\n\tconst parts = val.split(\".\");\n\tif (parts.length > 2) return false;\n\treturn isValidAddress(parts[0]!);\n}, \"Invalid Stacks principal address\");\n\n// Base filter with common fields\nconst baseFilter = {\n\t// Optional: filter by sender\n\tsender: stacksPrincipal.optional(),\n\t// Optional: filter by recipient\n\trecipient: stacksPrincipal.optional(),\n};\n\n// Type exports — defined first so they can annotate schemas\nexport interface StxTransferFilter {\n\ttype: \"stx_transfer\";\n\tsender?: string;\n\trecipient?: string;\n\tminAmount?: number;\n\tmaxAmount?: number;\n}\n\nexport interface StxMintFilter {\n\ttype: \"stx_mint\";\n\trecipient?: string;\n\tminAmount?: number;\n}\n\nexport interface StxBurnFilter {\n\ttype: \"stx_burn\";\n\tsender?: string;\n\tminAmount?: number;\n}\n\nexport interface StxLockFilter {\n\ttype: \"stx_lock\";\n\tlockedAddress?: string;\n\tminAmount?: number;\n}\n\nexport interface FtTransferFilter {\n\ttype: \"ft_transfer\";\n\tsender?: string;\n\trecipient?: string;\n\tassetIdentifier?: string;\n\tminAmount?: number;\n}\n\nexport interface FtMintFilter {\n\ttype: \"ft_mint\";\n\trecipient?: string;\n\tassetIdentifier?: string;\n\tminAmount?: number;\n}\n\nexport interface FtBurnFilter {\n\ttype: \"ft_burn\";\n\tsender?: string;\n\tassetIdentifier?: string;\n\tminAmount?: number;\n}\n\nexport interface NftTransferFilter {\n\ttype: \"nft_transfer\";\n\tsender?: string;\n\trecipient?: string;\n\tassetIdentifier?: string;\n\ttokenId?: string;\n}\n\nexport interface NftMintFilter {\n\ttype: \"nft_mint\";\n\trecipient?: string;\n\tassetIdentifier?: string;\n\ttokenId?: string;\n}\n\nexport interface NftBurnFilter {\n\ttype: \"nft_burn\";\n\tsender?: string;\n\tassetIdentifier?: string;\n\ttokenId?: string;\n}\n\nexport interface ContractCallFilter {\n\ttype: \"contract_call\";\n\tcontractId?: string;\n\tfunctionName?: string;\n\tcaller?: string;\n}\n\nexport interface ContractDeployFilter {\n\ttype: \"contract_deploy\";\n\tdeployer?: string;\n\tcontractName?: string;\n}\n\nexport interface PrintEventFilter {\n\ttype: \"print_event\";\n\tcontractId?: string;\n\ttopic?: string;\n\tcontains?: string;\n}\n\nexport type EventFilter =\n\t| StxTransferFilter\n\t| StxMintFilter\n\t| StxBurnFilter\n\t| StxLockFilter\n\t| FtTransferFilter\n\t| FtMintFilter\n\t| FtBurnFilter\n\t| NftTransferFilter\n\t| NftMintFilter\n\t| NftBurnFilter\n\t| ContractCallFilter\n\t| ContractDeployFilter\n\t| PrintEventFilter;\n\n// STX Transfer Filter\nexport const StxTransferFilterSchema: z.ZodType<StxTransferFilter> = z.object({\n\ttype: z.literal(\"stx_transfer\"),\n\t...baseFilter,\n\t// Optional: minimum amount in microSTX\n\tminAmount: z.coerce.number().int().positive().optional(),\n\t// Optional: maximum amount in microSTX\n\tmaxAmount: z.coerce.number().int().positive().optional(),\n});\n\n// STX Mint Filter\nexport const StxMintFilterSchema: z.ZodType<StxMintFilter> = z.object({\n\ttype: z.literal(\"stx_mint\"),\n\trecipient: stacksPrincipal.optional(),\n\tminAmount: z.coerce.number().int().positive().optional(),\n});\n\n// STX Burn Filter\nexport const StxBurnFilterSchema: z.ZodType<StxBurnFilter> = z.object({\n\ttype: z.literal(\"stx_burn\"),\n\tsender: stacksPrincipal.optional(),\n\tminAmount: z.coerce.number().int().positive().optional(),\n});\n\n// STX Lock Filter\nexport const StxLockFilterSchema: z.ZodType<StxLockFilter> = z.object({\n\ttype: z.literal(\"stx_lock\"),\n\tlockedAddress: stacksPrincipal.optional(),\n\tminAmount: z.coerce.number().int().positive().optional(),\n});\n\n// FT Transfer Filter\nexport const FtTransferFilterSchema: z.ZodType<FtTransferFilter> = z.object({\n\ttype: z.literal(\"ft_transfer\"),\n\t...baseFilter,\n\t// Contract that defines the token (e.g., SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-wstx)\n\tassetIdentifier: z.string().optional(),\n\tminAmount: z.coerce.number().int().positive().optional(),\n});\n\n// FT Mint Filter\nexport const FtMintFilterSchema: z.ZodType<FtMintFilter> = z.object({\n\ttype: z.literal(\"ft_mint\"),\n\trecipient: stacksPrincipal.optional(),\n\tassetIdentifier: z.string().optional(),\n\tminAmount: z.coerce.number().int().positive().optional(),\n});\n\n// FT Burn Filter\nexport const FtBurnFilterSchema: z.ZodType<FtBurnFilter> = z.object({\n\ttype: z.literal(\"ft_burn\"),\n\tsender: stacksPrincipal.optional(),\n\tassetIdentifier: z.string().optional(),\n\tminAmount: z.coerce.number().int().positive().optional(),\n});\n\n// NFT Transfer Filter\nexport const NftTransferFilterSchema: z.ZodType<NftTransferFilter> = z.object({\n\ttype: z.literal(\"nft_transfer\"),\n\t...baseFilter,\n\tassetIdentifier: z.string().optional(),\n\t// Optional: filter by specific token ID (Clarity value as hex)\n\ttokenId: z.string().optional(),\n});\n\n// NFT Mint Filter\nexport const NftMintFilterSchema: z.ZodType<NftMintFilter> = z.object({\n\ttype: z.literal(\"nft_mint\"),\n\trecipient: stacksPrincipal.optional(),\n\tassetIdentifier: z.string().optional(),\n\ttokenId: z.string().optional(),\n});\n\n// NFT Burn Filter\nexport const NftBurnFilterSchema: z.ZodType<NftBurnFilter> = z.object({\n\ttype: z.literal(\"nft_burn\"),\n\tsender: stacksPrincipal.optional(),\n\tassetIdentifier: z.string().optional(),\n\ttokenId: z.string().optional(),\n});\n\n// Contract Call Filter\nexport const ContractCallFilterSchema: z.ZodType<ContractCallFilter> = z.object(\n\t{\n\t\ttype: z.literal(\"contract_call\"),\n\t\t// Contract being called\n\t\tcontractId: stacksPrincipal.optional(),\n\t\t// Function name (supports wildcards with *)\n\t\tfunctionName: z.string().optional(),\n\t\t// Caller address\n\t\tcaller: stacksPrincipal.optional(),\n\t},\n);\n\n// Contract Deploy Filter\nexport const ContractDeployFilterSchema: z.ZodType<ContractDeployFilter> =\n\tz.object({\n\t\ttype: z.literal(\"contract_deploy\"),\n\t\t// Deployer address\n\t\tdeployer: stacksPrincipal.optional(),\n\t\t// Contract name pattern (supports wildcards)\n\t\tcontractName: z.string().optional(),\n\t});\n\n// Print Event Filter (smart contract events)\nexport const PrintEventFilterSchema: z.ZodType<PrintEventFilter> = z.object({\n\ttype: z.literal(\"print_event\"),\n\t// Contract emitting the event\n\tcontractId: stacksPrincipal.optional(),\n\t// Topic/name of the event\n\ttopic: z.string().optional(),\n\t// Search for substring in event data\n\tcontains: z.string().optional(),\n});\n\n// Union of all filter types\nexport const EventFilterSchema: z.ZodType<EventFilter> = z.discriminatedUnion(\n\t\"type\",\n\t[\n\t\tStxTransferFilterSchema as any,\n\t\tStxMintFilterSchema as any,\n\t\tStxBurnFilterSchema as any,\n\t\tStxLockFilterSchema as any,\n\t\tFtTransferFilterSchema as any,\n\t\tFtMintFilterSchema as any,\n\t\tFtBurnFilterSchema as any,\n\t\tNftTransferFilterSchema as any,\n\t\tNftMintFilterSchema as any,\n\t\tNftBurnFilterSchema as any,\n\t\tContractCallFilterSchema as any,\n\t\tContractDeployFilterSchema as any,\n\t\tPrintEventFilterSchema as any,\n\t],\n);\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA,2BAAS;AACT;AAEA,IAAM,iBAAiB;AAGvB,IAAM,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ;AAAA,EAClD,MAAM,QAAQ,IAAI,MAAM,GAAG;AAAA,EAC3B,IAAI,MAAM,SAAS;AAAA,IAAG,OAAO;AAAA,EAC7B,OAAO,eAAe,MAAM,EAAG;AAAA,GAC7B,kCAAkC;AAGrC,IAAM,aAAa;AAAA,EAElB,QAAQ,gBAAgB,SAAS;AAAA,EAEjC,WAAW,gBAAgB,SAAS;AACrC;AA6GO,IAAM,0BAAwD,EAAE,OAAO;AAAA,EAC7E,MAAM,EAAE,QAAQ,cAAc;AAAA,KAC3B;AAAA,EAEH,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAEvD,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACxD,CAAC;AAGM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACrE,MAAM,EAAE,QAAQ,UAAU;AAAA,EAC1B,WAAW,gBAAgB,SAAS;AAAA,EACpC,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACxD,CAAC;AAGM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACrE,MAAM,EAAE,QAAQ,UAAU;AAAA,EAC1B,QAAQ,gBAAgB,SAAS;AAAA,EACjC,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACxD,CAAC;AAGM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACrE,MAAM,EAAE,QAAQ,UAAU;AAAA,EAC1B,eAAe,gBAAgB,SAAS;AAAA,EACxC,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACxD,CAAC;AAGM,IAAM,yBAAsD,EAAE,OAAO;AAAA,EAC3E,MAAM,EAAE,QAAQ,aAAa;AAAA,KAC1B;AAAA,EAEH,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACxD,CAAC;AAGM,IAAM,qBAA8C,EAAE,OAAO;AAAA,EACnE,MAAM,EAAE,QAAQ,SAAS;AAAA,EACzB,WAAW,gBAAgB,SAAS;AAAA,EACpC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACxD,CAAC;AAGM,IAAM,qBAA8C,EAAE,OAAO;AAAA,EACnE,MAAM,EAAE,QAAQ,SAAS;AAAA,EACzB,QAAQ,gBAAgB,SAAS;AAAA,EACjC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AACxD,CAAC;AAGM,IAAM,0BAAwD,EAAE,OAAO;AAAA,EAC7E,MAAM,EAAE,QAAQ,cAAc;AAAA,KAC3B;AAAA,EACH,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EAErC,SAAS,EAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAGM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACrE,MAAM,EAAE,QAAQ,UAAU;AAAA,EAC1B,WAAW,gBAAgB,SAAS;AAAA,EACpC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,SAAS,EAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAGM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACrE,MAAM,EAAE,QAAQ,UAAU;AAAA,EAC1B,QAAQ,gBAAgB,SAAS;AAAA,EACjC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,SAAS,EAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAGM,IAAM,2BAA0D,EAAE,OACxE;AAAA,EACC,MAAM,EAAE,QAAQ,eAAe;AAAA,EAE/B,YAAY,gBAAgB,SAAS;AAAA,EAErC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAElC,QAAQ,gBAAgB,SAAS;AAClC,CACD;AAGO,IAAM,6BACZ,EAAE,OAAO;AAAA,EACR,MAAM,EAAE,QAAQ,iBAAiB;AAAA,EAEjC,UAAU,gBAAgB,SAAS;AAAA,EAEnC,cAAc,EAAE,OAAO,EAAE,SAAS;AACnC,CAAC;AAGK,IAAM,yBAAsD,EAAE,OAAO;AAAA,EAC3E,MAAM,EAAE,QAAQ,aAAa;AAAA,EAE7B,YAAY,gBAAgB,SAAS;AAAA,EAErC,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAE3B,UAAU,EAAE,OAAO,EAAE,SAAS;AAC/B,CAAC;AAGM,IAAM,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "DB823597308735A664756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -76,7 +76,7 @@ interface PrintEventFilter {
|
|
|
76
76
|
topic?: string;
|
|
77
77
|
contains?: string;
|
|
78
78
|
}
|
|
79
|
-
type
|
|
79
|
+
type EventFilter = StxTransferFilter | StxMintFilter | StxBurnFilter | StxLockFilter | FtTransferFilter | FtMintFilter | FtBurnFilter | NftTransferFilter | NftMintFilter | NftBurnFilter | ContractCallFilter | ContractDeployFilter | PrintEventFilter;
|
|
80
80
|
declare const StxTransferFilterSchema: z.ZodType<StxTransferFilter>;
|
|
81
81
|
declare const StxMintFilterSchema: z.ZodType<StxMintFilter>;
|
|
82
82
|
declare const StxBurnFilterSchema: z.ZodType<StxBurnFilter>;
|
|
@@ -90,7 +90,7 @@ declare const NftBurnFilterSchema: z.ZodType<NftBurnFilter>;
|
|
|
90
90
|
declare const ContractCallFilterSchema: z.ZodType<ContractCallFilter>;
|
|
91
91
|
declare const ContractDeployFilterSchema: z.ZodType<ContractDeployFilter>;
|
|
92
92
|
declare const PrintEventFilterSchema: z.ZodType<PrintEventFilter>;
|
|
93
|
-
declare const
|
|
93
|
+
declare const EventFilterSchema: z.ZodType<EventFilter>;
|
|
94
94
|
import { z as z2 } from "zod/v4";
|
|
95
95
|
interface PublishSubgraphRequest {
|
|
96
96
|
tags?: string[];
|
|
@@ -161,6 +161,8 @@ interface DeploySubgraphRequest {
|
|
|
161
161
|
sources: Record<string, Record<string, unknown>>;
|
|
162
162
|
schema: Record<string, unknown>;
|
|
163
163
|
handlerCode: string;
|
|
164
|
+
/** Original TypeScript source, persisted so chat can read/diff/edit later. */
|
|
165
|
+
sourceCode?: string;
|
|
164
166
|
/** @deprecated Use server auto-reindex on breaking changes instead */
|
|
165
167
|
reindex?: boolean;
|
|
166
168
|
}
|
|
@@ -266,101 +268,4 @@ interface SubgraphQueryParams {
|
|
|
266
268
|
fields?: string;
|
|
267
269
|
filters?: Record<string, string>;
|
|
268
270
|
}
|
|
269
|
-
|
|
270
|
-
interface StreamOptions {
|
|
271
|
-
decodeClarityValues: boolean;
|
|
272
|
-
includeRawTx: boolean;
|
|
273
|
-
includeBlockMetadata: boolean;
|
|
274
|
-
rateLimit: number;
|
|
275
|
-
timeoutMs: number;
|
|
276
|
-
maxRetries: number;
|
|
277
|
-
}
|
|
278
|
-
interface CreateStream {
|
|
279
|
-
name: string;
|
|
280
|
-
endpointUrl: string;
|
|
281
|
-
filters: StreamFilter[];
|
|
282
|
-
options?: StreamOptions;
|
|
283
|
-
startBlock?: number;
|
|
284
|
-
endBlock?: number;
|
|
285
|
-
}
|
|
286
|
-
interface UpdateStream {
|
|
287
|
-
name?: string;
|
|
288
|
-
endpointUrl?: string;
|
|
289
|
-
filters?: StreamFilter[];
|
|
290
|
-
options?: Partial<StreamOptions>;
|
|
291
|
-
}
|
|
292
|
-
interface DeliveryPayload {
|
|
293
|
-
streamId: string;
|
|
294
|
-
streamName: string;
|
|
295
|
-
block: {
|
|
296
|
-
height: number
|
|
297
|
-
hash: string
|
|
298
|
-
parentHash: string
|
|
299
|
-
burnBlockHeight: number
|
|
300
|
-
timestamp: number
|
|
301
|
-
};
|
|
302
|
-
matches: {
|
|
303
|
-
transactions: Array<{
|
|
304
|
-
txId: string
|
|
305
|
-
type: string
|
|
306
|
-
sender: string
|
|
307
|
-
status: string
|
|
308
|
-
contractId: string | null
|
|
309
|
-
functionName: string | null
|
|
310
|
-
rawTx?: string
|
|
311
|
-
}>
|
|
312
|
-
events: Array<{
|
|
313
|
-
txId: string
|
|
314
|
-
eventIndex: number
|
|
315
|
-
type: string
|
|
316
|
-
data?: any
|
|
317
|
-
}>
|
|
318
|
-
};
|
|
319
|
-
isBackfill: boolean;
|
|
320
|
-
deliveredAt: string;
|
|
321
|
-
}
|
|
322
|
-
interface StreamMetricsResponse {
|
|
323
|
-
totalDeliveries: number;
|
|
324
|
-
failedDeliveries: number;
|
|
325
|
-
lastTriggeredAt: string | null;
|
|
326
|
-
lastTriggeredBlock: number | null;
|
|
327
|
-
errorMessage: string | null;
|
|
328
|
-
}
|
|
329
|
-
interface StreamResponse {
|
|
330
|
-
id: string;
|
|
331
|
-
name: string;
|
|
332
|
-
status: "inactive" | "active" | "paused" | "failed";
|
|
333
|
-
endpointUrl: string;
|
|
334
|
-
filters: StreamFilter[];
|
|
335
|
-
options: StreamOptions;
|
|
336
|
-
totalDeliveries: number;
|
|
337
|
-
failedDeliveries: number;
|
|
338
|
-
lastTriggeredAt?: string | null;
|
|
339
|
-
lastTriggeredBlock?: number | null;
|
|
340
|
-
errorMessage?: string | null;
|
|
341
|
-
createdAt: string;
|
|
342
|
-
updatedAt: string;
|
|
343
|
-
}
|
|
344
|
-
declare const StreamOptionsSchema: z4.ZodType<StreamOptions>;
|
|
345
|
-
declare const CreateStreamSchema: z4.ZodType<CreateStream>;
|
|
346
|
-
declare const UpdateStreamSchema: z4.ZodType<UpdateStream>;
|
|
347
|
-
declare const DeliveryPayloadSchema: z4.ZodType<DeliveryPayload>;
|
|
348
|
-
declare const StreamMetricsSchema: z4.ZodType<StreamMetricsResponse>;
|
|
349
|
-
declare const StreamResponseSchema: z4.ZodType<StreamResponse>;
|
|
350
|
-
interface CreateStreamResponse {
|
|
351
|
-
stream: StreamResponse;
|
|
352
|
-
signingSecret: string;
|
|
353
|
-
}
|
|
354
|
-
interface ListStreamsResponse {
|
|
355
|
-
streams: StreamResponse[];
|
|
356
|
-
total: number;
|
|
357
|
-
}
|
|
358
|
-
interface BulkPauseResponse {
|
|
359
|
-
paused: number;
|
|
360
|
-
streams: StreamResponse[];
|
|
361
|
-
}
|
|
362
|
-
interface BulkResumeResponse {
|
|
363
|
-
resumed: number;
|
|
364
|
-
streams: StreamResponse[];
|
|
365
|
-
}
|
|
366
|
-
export { UpdateStreamSchema, UpdateStream, UpdateProfileRequestSchema, UpdateProfileRequest, SubgraphSyncInfo, SubgraphSummary, SubgraphQueryParams, SubgraphGapsResponse, SubgraphGapRange, SubgraphGapEntry, SubgraphDetail, StxTransferFilterSchema, StxTransferFilter, StxMintFilterSchema, StxMintFilter, StxLockFilterSchema, StxLockFilter, StxBurnFilterSchema, StxBurnFilter, StreamResponseSchema, StreamResponse, StreamOptionsSchema, StreamOptions, StreamMetricsSchema, StreamMetricsResponse, StreamFilterSchema, StreamFilter, ReindexResponse, PublishSubgraphRequestSchema, PublishSubgraphRequest, PrintEventFilterSchema, PrintEventFilter, NftTransferFilterSchema, NftTransferFilter, NftMintFilterSchema, NftMintFilter, NftBurnFilterSchema, NftBurnFilter, MarketplaceSubgraphSummary, MarketplaceSubgraphDetail, MarketplaceCreator, ListStreamsResponse, FtTransferFilterSchema, FtTransferFilter, FtMintFilterSchema, FtMintFilter, FtBurnFilterSchema, FtBurnFilter, ForkSubgraphRequestSchema, ForkSubgraphRequest, DeploySubgraphResponse, DeploySubgraphRequestSchema, DeploySubgraphRequest, DeliveryPayloadSchema, DeliveryPayload, CreatorProfile, CreateStreamSchema, CreateStreamResponse, CreateStream, ContractDeployFilterSchema, ContractDeployFilter, ContractCallFilterSchema, ContractCallFilter, BulkResumeResponse, BulkPauseResponse };
|
|
271
|
+
export { UpdateProfileRequestSchema, UpdateProfileRequest, SubgraphSyncInfo, SubgraphSummary, SubgraphQueryParams, SubgraphGapsResponse, SubgraphGapRange, SubgraphGapEntry, SubgraphDetail, StxTransferFilterSchema, StxTransferFilter, StxMintFilterSchema, StxMintFilter, StxLockFilterSchema, StxLockFilter, StxBurnFilterSchema, StxBurnFilter, ReindexResponse, PublishSubgraphRequestSchema, PublishSubgraphRequest, PrintEventFilterSchema, PrintEventFilter, NftTransferFilterSchema, NftTransferFilter, NftMintFilterSchema, NftMintFilter, NftBurnFilterSchema, NftBurnFilter, MarketplaceSubgraphSummary, MarketplaceSubgraphDetail, MarketplaceCreator, FtTransferFilterSchema, FtTransferFilter, FtMintFilterSchema, FtMintFilter, FtBurnFilterSchema, FtBurnFilter, ForkSubgraphRequestSchema, ForkSubgraphRequest, EventFilterSchema, EventFilter, DeploySubgraphResponse, DeploySubgraphRequestSchema, DeploySubgraphRequest, CreatorProfile, ContractDeployFilterSchema, ContractDeployFilter, ContractCallFilterSchema, ContractCallFilter };
|
|
@@ -102,7 +102,7 @@ var PrintEventFilterSchema = z.object({
|
|
|
102
102
|
topic: z.string().optional(),
|
|
103
103
|
contains: z.string().optional()
|
|
104
104
|
});
|
|
105
|
-
var
|
|
105
|
+
var EventFilterSchema = z.discriminatedUnion("type", [
|
|
106
106
|
StxTransferFilterSchema,
|
|
107
107
|
StxMintFilterSchema,
|
|
108
108
|
StxBurnFilterSchema,
|
|
@@ -143,98 +143,15 @@ var DeploySubgraphRequestSchema = z3.object({
|
|
|
143
143
|
sources: z3.record(z3.string(), z3.record(z3.string(), z3.unknown())).refine((s) => Object.keys(s).length > 0, "Must have at least one source"),
|
|
144
144
|
schema: z3.record(z3.string(), z3.unknown()),
|
|
145
145
|
handlerCode: z3.string().max(1048576, "handler code exceeds 1MB limit"),
|
|
146
|
+
sourceCode: z3.string().max(1048576, "source code exceeds 1MB limit").optional(),
|
|
146
147
|
reindex: z3.boolean().optional()
|
|
147
148
|
});
|
|
148
|
-
// src/schemas/stream.ts
|
|
149
|
-
import { z as z4 } from "zod/v4";
|
|
150
|
-
var streamOptionsShape = z4.object({
|
|
151
|
-
decodeClarityValues: z4.boolean().default(true),
|
|
152
|
-
includeRawTx: z4.boolean().default(false),
|
|
153
|
-
includeBlockMetadata: z4.boolean().default(true),
|
|
154
|
-
rateLimit: z4.number().int().positive().max(100).default(10),
|
|
155
|
-
timeoutMs: z4.number().int().positive().max(30000).default(1e4),
|
|
156
|
-
maxRetries: z4.number().int().min(0).max(10).default(3)
|
|
157
|
-
});
|
|
158
|
-
var StreamOptionsSchema = streamOptionsShape;
|
|
159
|
-
var CreateStreamSchema = z4.object({
|
|
160
|
-
name: z4.string().min(1).max(255),
|
|
161
|
-
endpointUrl: z4.string().url(),
|
|
162
|
-
filters: z4.array(StreamFilterSchema).min(1),
|
|
163
|
-
options: streamOptionsShape.optional(),
|
|
164
|
-
startBlock: z4.number().int().positive().optional(),
|
|
165
|
-
endBlock: z4.number().int().positive().optional()
|
|
166
|
-
});
|
|
167
|
-
var UpdateStreamSchema = z4.object({
|
|
168
|
-
name: z4.string().min(1).max(255).optional(),
|
|
169
|
-
endpointUrl: z4.string().url().optional(),
|
|
170
|
-
filters: z4.array(StreamFilterSchema).min(1).optional(),
|
|
171
|
-
options: streamOptionsShape.partial().optional()
|
|
172
|
-
}).refine((data) => Object.keys(data).length > 0, {
|
|
173
|
-
message: "At least one field must be provided for update"
|
|
174
|
-
});
|
|
175
|
-
var DeliveryPayloadSchema = z4.object({
|
|
176
|
-
streamId: z4.string().uuid(),
|
|
177
|
-
streamName: z4.string(),
|
|
178
|
-
block: z4.object({
|
|
179
|
-
height: z4.number(),
|
|
180
|
-
hash: z4.string(),
|
|
181
|
-
parentHash: z4.string(),
|
|
182
|
-
burnBlockHeight: z4.number(),
|
|
183
|
-
timestamp: z4.number()
|
|
184
|
-
}),
|
|
185
|
-
matches: z4.object({
|
|
186
|
-
transactions: z4.array(z4.object({
|
|
187
|
-
txId: z4.string(),
|
|
188
|
-
type: z4.string(),
|
|
189
|
-
sender: z4.string(),
|
|
190
|
-
status: z4.string(),
|
|
191
|
-
contractId: z4.string().nullable(),
|
|
192
|
-
functionName: z4.string().nullable(),
|
|
193
|
-
rawTx: z4.string().optional()
|
|
194
|
-
})),
|
|
195
|
-
events: z4.array(z4.object({
|
|
196
|
-
txId: z4.string(),
|
|
197
|
-
eventIndex: z4.number(),
|
|
198
|
-
type: z4.string(),
|
|
199
|
-
data: z4.any()
|
|
200
|
-
}))
|
|
201
|
-
}),
|
|
202
|
-
isBackfill: z4.boolean(),
|
|
203
|
-
deliveredAt: z4.string().datetime()
|
|
204
|
-
});
|
|
205
|
-
var StreamMetricsSchema = z4.object({
|
|
206
|
-
totalDeliveries: z4.number(),
|
|
207
|
-
failedDeliveries: z4.number(),
|
|
208
|
-
lastTriggeredAt: z4.string().datetime().nullable(),
|
|
209
|
-
lastTriggeredBlock: z4.number().nullable(),
|
|
210
|
-
errorMessage: z4.string().nullable()
|
|
211
|
-
});
|
|
212
|
-
var StreamResponseSchema = z4.object({
|
|
213
|
-
id: z4.string().uuid(),
|
|
214
|
-
name: z4.string(),
|
|
215
|
-
status: z4.enum(["inactive", "active", "paused", "failed"]),
|
|
216
|
-
endpointUrl: z4.string().url(),
|
|
217
|
-
filters: z4.array(StreamFilterSchema),
|
|
218
|
-
options: streamOptionsShape,
|
|
219
|
-
totalDeliveries: z4.number().int().default(0),
|
|
220
|
-
failedDeliveries: z4.number().int().default(0),
|
|
221
|
-
lastTriggeredAt: z4.string().datetime().nullable().optional(),
|
|
222
|
-
lastTriggeredBlock: z4.number().int().nullable().optional(),
|
|
223
|
-
errorMessage: z4.string().nullable().optional(),
|
|
224
|
-
createdAt: z4.string().datetime(),
|
|
225
|
-
updatedAt: z4.string().datetime()
|
|
226
|
-
});
|
|
227
149
|
export {
|
|
228
|
-
UpdateStreamSchema,
|
|
229
150
|
UpdateProfileRequestSchema,
|
|
230
151
|
StxTransferFilterSchema,
|
|
231
152
|
StxMintFilterSchema,
|
|
232
153
|
StxLockFilterSchema,
|
|
233
154
|
StxBurnFilterSchema,
|
|
234
|
-
StreamResponseSchema,
|
|
235
|
-
StreamOptionsSchema,
|
|
236
|
-
StreamMetricsSchema,
|
|
237
|
-
StreamFilterSchema,
|
|
238
155
|
PublishSubgraphRequestSchema,
|
|
239
156
|
PrintEventFilterSchema,
|
|
240
157
|
NftTransferFilterSchema,
|
|
@@ -244,12 +161,11 @@ export {
|
|
|
244
161
|
FtMintFilterSchema,
|
|
245
162
|
FtBurnFilterSchema,
|
|
246
163
|
ForkSubgraphRequestSchema,
|
|
164
|
+
EventFilterSchema,
|
|
247
165
|
DeploySubgraphRequestSchema,
|
|
248
|
-
DeliveryPayloadSchema,
|
|
249
|
-
CreateStreamSchema,
|
|
250
166
|
ContractDeployFilterSchema,
|
|
251
167
|
ContractCallFilterSchema
|
|
252
168
|
};
|
|
253
169
|
|
|
254
|
-
//# debugId=
|
|
170
|
+
//# debugId=5D7DE4BF80FFC83364756E2164756E21
|
|
255
171
|
//# sourceMappingURL=index.js.map
|