@secondlayer/shared 0.5.0 → 0.6.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/src/crypto/hmac.d.ts +1 -1
- package/dist/src/crypto/hmac.js.map +1 -1
- package/dist/src/db/index.d.ts +2 -2
- package/dist/src/db/queries/accounts.d.ts +2 -2
- package/dist/src/db/queries/integrity.d.ts +2 -2
- package/dist/src/db/queries/metrics.d.ts +2 -2
- package/dist/src/db/queries/subgraphs.d.ts +2 -2
- package/dist/src/db/queries/usage.d.ts +2 -2
- package/dist/src/db/schema.d.ts +2 -2
- package/dist/src/env.d.ts +1 -1
- package/dist/src/env.js +3 -3
- package/dist/src/env.js.map +3 -3
- package/dist/src/errors.d.ts +3 -3
- package/dist/src/errors.js +4 -4
- package/dist/src/errors.js.map +3 -3
- package/dist/src/index.d.ts +15 -15
- package/dist/src/index.js +16 -16
- package/dist/src/index.js.map +8 -8
- package/dist/src/logger.js +3 -3
- package/dist/src/logger.js.map +3 -3
- package/dist/src/node/hiro-client.js +4 -4
- package/dist/src/node/hiro-client.js.map +4 -4
- package/dist/src/node/hiro-pg-client.d.ts +21 -0
- package/dist/src/node/hiro-pg-client.js +439 -0
- package/dist/src/node/hiro-pg-client.js.map +10 -0
- package/dist/src/node/local-client.d.ts +2 -2
- package/dist/src/node/local-client.js.map +1 -1
- package/dist/src/schemas/filters.d.ts +1 -1
- package/dist/src/schemas/filters.js +2 -2
- package/dist/src/schemas/filters.js.map +2 -2
- package/dist/src/schemas/index.d.ts +10 -10
- package/dist/src/schemas/index.js +11 -11
- package/dist/src/schemas/index.js.map +5 -5
- package/dist/src/schemas/subgraphs.d.ts +1 -1
- package/dist/src/schemas/subgraphs.js +3 -3
- package/dist/src/schemas/subgraphs.js.map +3 -3
- package/dist/src/types.d.ts +2 -2
- package/migrations/0016_rename_webhook_to_endpoint.ts +12 -0
- package/package.json +7 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/crypto/hmac.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { createHmac, randomBytes } from \"crypto\";\n\n/**\n * Generate a random secret for
|
|
5
|
+
"import { createHmac, randomBytes } from \"crypto\";\n\n/**\n * Generate a random secret for delivery signing\n * Returns 32 bytes as a 64-character hex string\n */\nexport function generateSecret(): string {\n return randomBytes(32).toString(\"hex\");\n}\n\n/**\n * Sign a payload with HMAC-SHA256\n * Returns the signature as a hex string\n */\nexport function signPayload(payload: string, secret: string): string {\n const hmac = createHmac(\"sha256\", secret);\n hmac.update(payload);\n return hmac.digest(\"hex\");\n}\n\n/**\n * Verify an HMAC signature\n * Uses constant-time comparison to prevent timing attacks\n */\nexport function verifySignature(\n payload: string,\n signature: string,\n secret: string\n): boolean {\n const expectedSignature = signPayload(payload, secret);\n\n // Constant-time comparison\n if (signature.length !== expectedSignature.length) {\n return false;\n }\n\n let result = 0;\n for (let i = 0; i < signature.length; i++) {\n result |= signature.charCodeAt(i) ^ expectedSignature.charCodeAt(i);\n }\n\n return result === 0;\n}\n\n/**\n * Create a Stripe-style signature header\n * Format: t=timestamp,v1=signature\n */\nexport function createSignatureHeader(\n payload: string,\n secret: string,\n timestamp?: number\n): string {\n const ts = timestamp ?? Math.floor(Date.now() / 1000);\n const signedPayload = `${ts}.${payload}`;\n const signature = signPayload(signedPayload, secret);\n\n return `t=${ts},v1=${signature}`;\n}\n\n/**\n * Parse and verify a Stripe-style signature header\n * Returns true if valid, false otherwise\n */\nexport function verifySignatureHeader(\n payload: string,\n header: string,\n secret: string,\n toleranceSeconds = 300 // 5 minutes\n): boolean {\n // Parse header\n const parts = header.split(\",\");\n const timestamp = parts\n .find((p) => p.startsWith(\"t=\"))\n ?.slice(2);\n const signature = parts\n .find((p) => p.startsWith(\"v1=\"))\n ?.slice(3);\n\n if (!timestamp || !signature) {\n return false;\n }\n\n const ts = parseInt(timestamp, 10);\n if (isNaN(ts)) {\n return false;\n }\n\n // Check timestamp is within tolerance\n const now = Math.floor(Date.now() / 1000);\n if (Math.abs(now - ts) > toleranceSeconds) {\n return false;\n }\n\n // Verify signature\n const signedPayload = `${ts}.${payload}`;\n return verifySignature(signedPayload, signature, secret);\n}\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAMO,SAAS,cAAc,GAAW;AAAA,EACvC,OAAO,YAAY,EAAE,EAAE,SAAS,KAAK;AAAA;AAOhC,SAAS,WAAW,CAAC,SAAiB,QAAwB;AAAA,EACnE,MAAM,OAAO,WAAW,UAAU,MAAM;AAAA,EACxC,KAAK,OAAO,OAAO;AAAA,EACnB,OAAO,KAAK,OAAO,KAAK;AAAA;AAOnB,SAAS,eAAe,CAC7B,SACA,WACA,QACS;AAAA,EACT,MAAM,oBAAoB,YAAY,SAAS,MAAM;AAAA,EAGrD,IAAI,UAAU,WAAW,kBAAkB,QAAQ;AAAA,IACjD,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,SAAS;AAAA,EACb,SAAS,IAAI,EAAG,IAAI,UAAU,QAAQ,KAAK;AAAA,IACzC,UAAU,UAAU,WAAW,CAAC,IAAI,kBAAkB,WAAW,CAAC;AAAA,EACpE;AAAA,EAEA,OAAO,WAAW;AAAA;AAOb,SAAS,qBAAqB,CACnC,SACA,QACA,WACQ;AAAA,EACR,MAAM,KAAK,aAAa,KAAK,MAAM,KAAK,IAAI,IAAI,IAAI;AAAA,EACpD,MAAM,gBAAgB,GAAG,MAAM;AAAA,EAC/B,MAAM,YAAY,YAAY,eAAe,MAAM;AAAA,EAEnD,OAAO,KAAK,SAAS;AAAA;AAOhB,SAAS,qBAAqB,CACnC,SACA,QACA,QACA,mBAAmB,KACV;AAAA,EAET,MAAM,QAAQ,OAAO,MAAM,GAAG;AAAA,EAC9B,MAAM,YAAY,MACf,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,GAC7B,MAAM,CAAC;AAAA,EACX,MAAM,YAAY,MACf,KAAK,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,GAC9B,MAAM,CAAC;AAAA,EAEX,IAAI,CAAC,aAAa,CAAC,WAAW;AAAA,IAC5B,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,KAAK,SAAS,WAAW,EAAE;AAAA,EACjC,IAAI,MAAM,EAAE,GAAG;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EAGA,MAAM,MAAM,KAAK,MAAM,KAAK,IAAI,IAAI,IAAI;AAAA,EACxC,IAAI,KAAK,IAAI,MAAM,EAAE,IAAI,kBAAkB;AAAA,IACzC,OAAO;AAAA,EACT;AAAA,EAGA,MAAM,gBAAgB,GAAG,MAAM;AAAA,EAC/B,OAAO,gBAAgB,eAAe,WAAW,MAAM;AAAA;",
|
|
8
8
|
"debugId": "A51CF8494ADEA11C64756E2164756E21",
|
package/dist/src/db/index.d.ts
CHANGED
|
@@ -50,8 +50,8 @@ interface StreamsTable {
|
|
|
50
50
|
status: Generated<string>;
|
|
51
51
|
filters: unknown;
|
|
52
52
|
options: Generated<unknown>;
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
endpoint_url: string;
|
|
54
|
+
signing_secret: string | null;
|
|
55
55
|
api_key_id: string | null;
|
|
56
56
|
created_at: Generated<Date>;
|
|
57
57
|
updated_at: Generated<Date>;
|
|
@@ -36,8 +36,8 @@ interface StreamsTable {
|
|
|
36
36
|
status: Generated<string>;
|
|
37
37
|
filters: unknown;
|
|
38
38
|
options: Generated<unknown>;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
endpoint_url: string;
|
|
40
|
+
signing_secret: string | null;
|
|
41
41
|
api_key_id: string | null;
|
|
42
42
|
created_at: Generated<Date>;
|
|
43
43
|
updated_at: Generated<Date>;
|
|
@@ -36,8 +36,8 @@ interface StreamsTable {
|
|
|
36
36
|
status: Generated<string>;
|
|
37
37
|
filters: unknown;
|
|
38
38
|
options: Generated<unknown>;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
endpoint_url: string;
|
|
40
|
+
signing_secret: string | null;
|
|
41
41
|
api_key_id: string | null;
|
|
42
42
|
created_at: Generated<Date>;
|
|
43
43
|
updated_at: Generated<Date>;
|
|
@@ -36,8 +36,8 @@ interface StreamsTable {
|
|
|
36
36
|
status: Generated<string>;
|
|
37
37
|
filters: unknown;
|
|
38
38
|
options: Generated<unknown>;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
endpoint_url: string;
|
|
40
|
+
signing_secret: string | null;
|
|
41
41
|
api_key_id: string | null;
|
|
42
42
|
created_at: Generated<Date>;
|
|
43
43
|
updated_at: Generated<Date>;
|
|
@@ -36,8 +36,8 @@ interface StreamsTable {
|
|
|
36
36
|
status: Generated<string>;
|
|
37
37
|
filters: unknown;
|
|
38
38
|
options: Generated<unknown>;
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
endpoint_url: string;
|
|
40
|
+
signing_secret: string | null;
|
|
41
41
|
api_key_id: string | null;
|
|
42
42
|
created_at: Generated<Date>;
|
|
43
43
|
updated_at: Generated<Date>;
|
|
@@ -44,8 +44,8 @@ interface StreamsTable {
|
|
|
44
44
|
status: Generated<string>;
|
|
45
45
|
filters: unknown;
|
|
46
46
|
options: Generated<unknown>;
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
endpoint_url: string;
|
|
48
|
+
signing_secret: string | null;
|
|
49
49
|
api_key_id: string | null;
|
|
50
50
|
created_at: Generated<Date>;
|
|
51
51
|
updated_at: Generated<Date>;
|
package/dist/src/db/schema.d.ts
CHANGED
|
@@ -35,8 +35,8 @@ interface StreamsTable {
|
|
|
35
35
|
status: Generated<string>;
|
|
36
36
|
filters: unknown;
|
|
37
37
|
options: Generated<unknown>;
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
endpoint_url: string;
|
|
39
|
+
signing_secret: string | null;
|
|
40
40
|
api_key_id: string | null;
|
|
41
41
|
created_at: Generated<Date>;
|
|
42
42
|
updated_at: Generated<Date>;
|
package/dist/src/env.d.ts
CHANGED
package/dist/src/env.js
CHANGED
|
@@ -15,7 +15,7 @@ var __export = (target, all) => {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
// src/env.ts
|
|
18
|
-
import { z } from "zod";
|
|
18
|
+
import { z } from "zod/v4";
|
|
19
19
|
var networksSchema = z.string().transform((val) => {
|
|
20
20
|
const networks = val.split(",").map((n) => n.trim()).filter(Boolean);
|
|
21
21
|
const valid = ["mainnet", "testnet"];
|
|
@@ -41,7 +41,7 @@ function getEnv() {
|
|
|
41
41
|
const result = envSchema.safeParse(process.env);
|
|
42
42
|
if (!result.success) {
|
|
43
43
|
console.error("❌ Invalid environment configuration:");
|
|
44
|
-
console.error(result.error
|
|
44
|
+
console.error(z.treeifyError(result.error));
|
|
45
45
|
throw new Error("Invalid environment configuration");
|
|
46
46
|
}
|
|
47
47
|
let enabledNetworks;
|
|
@@ -60,5 +60,5 @@ export {
|
|
|
60
60
|
envSchema
|
|
61
61
|
};
|
|
62
62
|
|
|
63
|
-
//# debugId=
|
|
63
|
+
//# debugId=F91178E691D405D264756E2164756E21
|
|
64
64
|
//# sourceMappingURL=env.js.map
|
package/dist/src/env.js.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/env.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { z } from \"zod\";\n\n// Parse comma-separated networks\nconst networksSchema = z.string().transform((val) => {\n const networks = val.split(\",\").map((n) => n.trim()).filter(Boolean);\n const valid = [\"mainnet\", \"testnet\"];\n for (const n of networks) {\n if (!valid.includes(n)) {\n throw new Error(`Invalid network: ${n}. Must be one of: ${valid.join(\", \")}`);\n }\n }\n return networks as (\"mainnet\" | \"testnet\")[];\n});\n\ninterface EnvSchemaOutput {\n DATABASE_URL?: string;\n NETWORK?: \"mainnet\" | \"testnet\";\n NETWORKS?: (\"mainnet\" | \"testnet\")[];\n LOG_LEVEL: \"debug\" | \"info\" | \"warn\" | \"error\";\n NODE_ENV: \"development\" | \"production\" | \"test\";\n}\n\n// Cast needed: z.preprocess / z.default create different _input vs _output types\n// that z.ZodType<T> can't represent without explicit input type param\nconst envSchema: z.ZodType<EnvSchemaOutput> = z.object({\n DATABASE_URL: z.preprocess(\n (val) => (typeof val === \"string\" && val.length === 0) ? undefined : val,\n z.string().url().optional(),\n ),\n NETWORK: z.enum([\"mainnet\", \"testnet\"]).optional(),\n NETWORKS: networksSchema.optional(),\n LOG_LEVEL: z.enum([\"debug\", \"info\", \"warn\", \"error\"]).default(\"info\"),\n NODE_ENV: z.enum([\"development\", \"production\", \"test\"]).default(\"development\"),\n}) as unknown as z.ZodType<EnvSchemaOutput>;\n\nexport type Env = EnvSchemaOutput & {\n enabledNetworks: (\"mainnet\" | \"testnet\")[];\n};\n\nlet cachedEnv: Env | null = null;\n\nexport function getEnv(): Env {\n if (cachedEnv) {\n return cachedEnv;\n }\n\n const result = envSchema.safeParse(process.env);\n\n if (!result.success) {\n console.error(\"❌ Invalid environment configuration:\");\n console.error(result.error
|
|
5
|
+
"import { z } from \"zod/v4\";\n\n// Parse comma-separated networks\nconst networksSchema = z.string().transform((val) => {\n const networks = val.split(\",\").map((n) => n.trim()).filter(Boolean);\n const valid = [\"mainnet\", \"testnet\"];\n for (const n of networks) {\n if (!valid.includes(n)) {\n throw new Error(`Invalid network: ${n}. Must be one of: ${valid.join(\", \")}`);\n }\n }\n return networks as (\"mainnet\" | \"testnet\")[];\n});\n\ninterface EnvSchemaOutput {\n DATABASE_URL?: string;\n NETWORK?: \"mainnet\" | \"testnet\";\n NETWORKS?: (\"mainnet\" | \"testnet\")[];\n LOG_LEVEL: \"debug\" | \"info\" | \"warn\" | \"error\";\n NODE_ENV: \"development\" | \"production\" | \"test\";\n}\n\n// Cast needed: z.preprocess / z.default create different _input vs _output types\n// that z.ZodType<T> can't represent without explicit input type param\nconst envSchema: z.ZodType<EnvSchemaOutput> = z.object({\n DATABASE_URL: z.preprocess(\n (val) => (typeof val === \"string\" && val.length === 0) ? undefined : val,\n z.string().url().optional(),\n ),\n NETWORK: z.enum([\"mainnet\", \"testnet\"]).optional(),\n NETWORKS: networksSchema.optional(),\n LOG_LEVEL: z.enum([\"debug\", \"info\", \"warn\", \"error\"]).default(\"info\"),\n NODE_ENV: z.enum([\"development\", \"production\", \"test\"]).default(\"development\"),\n}) as unknown as z.ZodType<EnvSchemaOutput>;\n\nexport type Env = EnvSchemaOutput & {\n enabledNetworks: (\"mainnet\" | \"testnet\")[];\n};\n\nlet cachedEnv: Env | null = null;\n\nexport function getEnv(): Env {\n if (cachedEnv) {\n return cachedEnv;\n }\n\n const result = envSchema.safeParse(process.env);\n\n if (!result.success) {\n console.error(\"❌ Invalid environment configuration:\");\n console.error(z.treeifyError(result.error));\n throw new Error(\"Invalid environment configuration\");\n }\n\n // Compute enabled networks from NETWORKS or NETWORK\n let enabledNetworks: (\"mainnet\" | \"testnet\")[];\n if (result.data.NETWORKS && result.data.NETWORKS.length > 0) {\n enabledNetworks = result.data.NETWORKS;\n } else if (result.data.NETWORK) {\n enabledNetworks = [result.data.NETWORK];\n } else {\n enabledNetworks = [\"mainnet\"]; // Default\n }\n\n cachedEnv = { ...result.data, enabledNetworks };\n return cachedEnv;\n}\n\n// Export for testing\nexport { envSchema };\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAGA,IAAM,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ;AAAA,EACnD,MAAM,WAAW,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO;AAAA,EACnE,MAAM,QAAQ,CAAC,WAAW,SAAS;AAAA,EACnC,WAAW,KAAK,UAAU;AAAA,IACxB,IAAI,CAAC,MAAM,SAAS,CAAC,GAAG;AAAA,MACtB,MAAM,IAAI,MAAM,oBAAoB,sBAAsB,MAAM,KAAK,IAAI,GAAG;AAAA,IAC9E;AAAA,EACF;AAAA,EACA,OAAO;AAAA,CACR;AAYD,IAAM,YAAwC,EAAE,OAAO;AAAA,EACrD,cAAc,EAAE,WACd,CAAC,QAAS,OAAO,QAAQ,YAAY,IAAI,WAAW,IAAK,YAAY,KACrE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAC5B;AAAA,EACA,SAAS,EAAE,KAAK,CAAC,WAAW,SAAS,CAAC,EAAE,SAAS;AAAA,EACjD,UAAU,eAAe,SAAS;AAAA,EAClC,WAAW,EAAE,KAAK,CAAC,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE,QAAQ,MAAM;AAAA,EACpE,UAAU,EAAE,KAAK,CAAC,eAAe,cAAc,MAAM,CAAC,EAAE,QAAQ,aAAa;AAC/E,CAAC;AAMD,IAAI,YAAwB;AAErB,SAAS,MAAM,GAAQ;AAAA,EAC5B,IAAI,WAAW;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,UAAU,UAAU,QAAQ,GAAG;AAAA,EAE9C,IAAI,CAAC,OAAO,SAAS;AAAA,IACnB,QAAQ,MAAM,sCAAqC;AAAA,IACnD,QAAQ,MAAM,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAGA,IAAM,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ;AAAA,EACnD,MAAM,WAAW,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO;AAAA,EACnE,MAAM,QAAQ,CAAC,WAAW,SAAS;AAAA,EACnC,WAAW,KAAK,UAAU;AAAA,IACxB,IAAI,CAAC,MAAM,SAAS,CAAC,GAAG;AAAA,MACtB,MAAM,IAAI,MAAM,oBAAoB,sBAAsB,MAAM,KAAK,IAAI,GAAG;AAAA,IAC9E;AAAA,EACF;AAAA,EACA,OAAO;AAAA,CACR;AAYD,IAAM,YAAwC,EAAE,OAAO;AAAA,EACrD,cAAc,EAAE,WACd,CAAC,QAAS,OAAO,QAAQ,YAAY,IAAI,WAAW,IAAK,YAAY,KACrE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAC5B;AAAA,EACA,SAAS,EAAE,KAAK,CAAC,WAAW,SAAS,CAAC,EAAE,SAAS;AAAA,EACjD,UAAU,eAAe,SAAS;AAAA,EAClC,WAAW,EAAE,KAAK,CAAC,SAAS,QAAQ,QAAQ,OAAO,CAAC,EAAE,QAAQ,MAAM;AAAA,EACpE,UAAU,EAAE,KAAK,CAAC,eAAe,cAAc,MAAM,CAAC,EAAE,QAAQ,aAAa;AAC/E,CAAC;AAMD,IAAI,YAAwB;AAErB,SAAS,MAAM,GAAQ;AAAA,EAC5B,IAAI,WAAW;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,UAAU,UAAU,QAAQ,GAAG;AAAA,EAE9C,IAAI,CAAC,OAAO,SAAS;AAAA,IACnB,QAAQ,MAAM,sCAAqC;AAAA,IACnD,QAAQ,MAAM,EAAE,aAAa,OAAO,KAAK,CAAC;AAAA,IAC1C,MAAM,IAAI,MAAM,mCAAmC;AAAA,EACrD;AAAA,EAGA,IAAI;AAAA,EACJ,IAAI,OAAO,KAAK,YAAY,OAAO,KAAK,SAAS,SAAS,GAAG;AAAA,IAC3D,kBAAkB,OAAO,KAAK;AAAA,EAChC,EAAO,SAAI,OAAO,KAAK,SAAS;AAAA,IAC9B,kBAAkB,CAAC,OAAO,KAAK,OAAO;AAAA,EACxC,EAAO;AAAA,IACL,kBAAkB,CAAC,SAAS;AAAA;AAAA,EAG9B,YAAY,KAAK,OAAO,MAAM,gBAAgB;AAAA,EAC9C,OAAO;AAAA;",
|
|
8
|
+
"debugId": "F91178E691D405D264756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -32,9 +32,9 @@ declare class DatabaseError extends StreamsError {
|
|
|
32
32
|
constructor(message: string, cause?: unknown);
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Delivery error
|
|
36
36
|
*/
|
|
37
|
-
declare class
|
|
37
|
+
declare class DeliveryError extends StreamsError {
|
|
38
38
|
statusCode?: number;
|
|
39
39
|
constructor(message: string, statusCode?: number, cause?: unknown);
|
|
40
40
|
toJSON(): {
|
|
@@ -68,4 +68,4 @@ declare class ForbiddenError extends StreamsError {
|
|
|
68
68
|
* Safely extract error message from unknown error value
|
|
69
69
|
*/
|
|
70
70
|
declare function getErrorMessage(err: unknown): string;
|
|
71
|
-
export { getErrorMessage,
|
|
71
|
+
export { getErrorMessage, ValidationError, StreamsError, StreamNotFoundError, RateLimitError, ForbiddenError, FilterEvaluationError, DeliveryError, DatabaseError, AuthorizationError, AuthenticationError };
|
package/dist/src/errors.js
CHANGED
|
@@ -54,10 +54,10 @@ class DatabaseError extends StreamsError {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
class
|
|
57
|
+
class DeliveryError extends StreamsError {
|
|
58
58
|
statusCode;
|
|
59
59
|
constructor(message, statusCode, cause) {
|
|
60
|
-
super("
|
|
60
|
+
super("DELIVERY_ERROR", message, cause);
|
|
61
61
|
this.statusCode = statusCode;
|
|
62
62
|
}
|
|
63
63
|
toJSON() {
|
|
@@ -107,17 +107,17 @@ function getErrorMessage(err) {
|
|
|
107
107
|
}
|
|
108
108
|
export {
|
|
109
109
|
getErrorMessage,
|
|
110
|
-
WebhookDeliveryError,
|
|
111
110
|
ValidationError,
|
|
112
111
|
StreamsError,
|
|
113
112
|
StreamNotFoundError,
|
|
114
113
|
RateLimitError,
|
|
115
114
|
ForbiddenError,
|
|
116
115
|
FilterEvaluationError,
|
|
116
|
+
DeliveryError,
|
|
117
117
|
DatabaseError,
|
|
118
118
|
AuthorizationError,
|
|
119
119
|
AuthenticationError
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
-
//# debugId=
|
|
122
|
+
//# debugId=42FBAE7EC051820B64756E2164756E21
|
|
123
123
|
//# sourceMappingURL=errors.js.map
|
package/dist/src/errors.js.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/errors.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"/**\n * Base error class for all Stacks Streams errors\n */\nexport class StreamsError extends Error {\n public code: string;\n public override cause?: unknown;\n\n constructor(\n code: string,\n message: string,\n cause?: unknown\n ) {\n super(message);\n this.code = code;\n this.cause = cause;\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n\n toJSON(): { name: string; code: string; message: string; stack: string | undefined; cause: unknown } {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n stack: this.stack,\n cause: this.cause,\n };\n }\n}\n\n/**\n * Stream not found error\n */\nexport class StreamNotFoundError extends StreamsError {\n constructor(streamId: string) {\n super(\"STREAM_NOT_FOUND\", `Stream not found: ${streamId}`);\n }\n}\n\n/**\n * Validation error for invalid input\n */\nexport class ValidationError extends StreamsError {\n constructor(message: string, cause?: unknown) {\n super(\"VALIDATION_ERROR\", message, cause);\n }\n}\n\n/**\n * Database operation error\n */\nexport class DatabaseError extends StreamsError {\n constructor(message: string, cause?: unknown) {\n super(\"DATABASE_ERROR\", message, cause);\n }\n}\n\n/**\n *
|
|
5
|
+
"/**\n * Base error class for all Stacks Streams errors\n */\nexport class StreamsError extends Error {\n public code: string;\n public override cause?: unknown;\n\n constructor(\n code: string,\n message: string,\n cause?: unknown\n ) {\n super(message);\n this.code = code;\n this.cause = cause;\n this.name = this.constructor.name;\n Error.captureStackTrace?.(this, this.constructor);\n }\n\n toJSON(): { name: string; code: string; message: string; stack: string | undefined; cause: unknown } {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n stack: this.stack,\n cause: this.cause,\n };\n }\n}\n\n/**\n * Stream not found error\n */\nexport class StreamNotFoundError extends StreamsError {\n constructor(streamId: string) {\n super(\"STREAM_NOT_FOUND\", `Stream not found: ${streamId}`);\n }\n}\n\n/**\n * Validation error for invalid input\n */\nexport class ValidationError extends StreamsError {\n constructor(message: string, cause?: unknown) {\n super(\"VALIDATION_ERROR\", message, cause);\n }\n}\n\n/**\n * Database operation error\n */\nexport class DatabaseError extends StreamsError {\n constructor(message: string, cause?: unknown) {\n super(\"DATABASE_ERROR\", message, cause);\n }\n}\n\n/**\n * Delivery error\n */\nexport class DeliveryError extends StreamsError {\n constructor(\n message: string,\n public statusCode?: number,\n cause?: unknown\n ) {\n super(\"DELIVERY_ERROR\", message, cause);\n }\n\n override toJSON(): { name: string; code: string; message: string; stack: string | undefined; cause: unknown; statusCode: number | undefined } {\n const base = super.toJSON();\n return {\n name: base.name,\n code: base.code,\n message: base.message,\n stack: base.stack,\n cause: base.cause,\n statusCode: this.statusCode,\n };\n }\n}\n\n/**\n * Filter evaluation error\n */\nexport class FilterEvaluationError extends StreamsError {\n constructor(message: string, cause?: unknown) {\n super(\"FILTER_EVALUATION_ERROR\", message, cause);\n }\n}\n\nexport class AuthenticationError extends StreamsError {\n constructor(message: string) {\n super(\"AUTHENTICATION_ERROR\", message);\n }\n}\n\nexport class AuthorizationError extends StreamsError {\n constructor(message: string) {\n super(\"AUTHORIZATION_ERROR\", message);\n }\n}\n\nexport class RateLimitError extends StreamsError {\n constructor(message: string) {\n super(\"RATE_LIMIT_ERROR\", message);\n }\n}\n\nexport class ForbiddenError extends StreamsError {\n constructor(message = \"Forbidden\") {\n super(\"FORBIDDEN\", message);\n }\n}\n\n/**\n * Safely extract error message from unknown error value\n */\nexport function getErrorMessage(err: unknown): string {\n return err instanceof Error ? err.message : String(err);\n}\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAGO,MAAM,qBAAqB,MAAM;AAAA,EAC/B;AAAA,EACS;AAAA,EAEhB,WAAW,CACT,MACA,SACA,OACA;AAAA,IACA,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,QAAQ;AAAA,IACb,KAAK,OAAO,KAAK,YAAY;AAAA,IAC7B,MAAM,oBAAoB,MAAM,KAAK,WAAW;AAAA;AAAA,EAGlD,MAAM,GAA+F;AAAA,IACnG,OAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,IACd;AAAA;AAEJ;AAAA;AAKO,MAAM,4BAA4B,aAAa;AAAA,EACpD,WAAW,CAAC,UAAkB;AAAA,IAC5B,MAAM,oBAAoB,qBAAqB,UAAU;AAAA;AAE7D;AAAA;AAKO,MAAM,wBAAwB,aAAa;AAAA,EAChD,WAAW,CAAC,SAAiB,OAAiB;AAAA,IAC5C,MAAM,oBAAoB,SAAS,KAAK;AAAA;AAE5C;AAAA;AAKO,MAAM,sBAAsB,aAAa;AAAA,EAC9C,WAAW,CAAC,SAAiB,OAAiB;AAAA,IAC5C,MAAM,kBAAkB,SAAS,KAAK;AAAA;AAE1C;AAAA;AAKO,MAAM,
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAGO,MAAM,qBAAqB,MAAM;AAAA,EAC/B;AAAA,EACS;AAAA,EAEhB,WAAW,CACT,MACA,SACA,OACA;AAAA,IACA,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,QAAQ;AAAA,IACb,KAAK,OAAO,KAAK,YAAY;AAAA,IAC7B,MAAM,oBAAoB,MAAM,KAAK,WAAW;AAAA;AAAA,EAGlD,MAAM,GAA+F;AAAA,IACnG,OAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,IACd;AAAA;AAEJ;AAAA;AAKO,MAAM,4BAA4B,aAAa;AAAA,EACpD,WAAW,CAAC,UAAkB;AAAA,IAC5B,MAAM,oBAAoB,qBAAqB,UAAU;AAAA;AAE7D;AAAA;AAKO,MAAM,wBAAwB,aAAa;AAAA,EAChD,WAAW,CAAC,SAAiB,OAAiB;AAAA,IAC5C,MAAM,oBAAoB,SAAS,KAAK;AAAA;AAE5C;AAAA;AAKO,MAAM,sBAAsB,aAAa;AAAA,EAC9C,WAAW,CAAC,SAAiB,OAAiB;AAAA,IAC5C,MAAM,kBAAkB,SAAS,KAAK;AAAA;AAE1C;AAAA;AAKO,MAAM,sBAAsB,aAAa;AAAA,EAGrC;AAAA,EAFT,WAAW,CACT,SACO,YACP,OACA;AAAA,IACA,MAAM,kBAAkB,SAAS,KAAK;AAAA,IAH/B;AAAA;AAAA,EAMA,MAAM,GAA+H;AAAA,IAC5I,MAAM,OAAO,MAAM,OAAO;AAAA,IAC1B,OAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACZ,YAAY,KAAK;AAAA,IACnB;AAAA;AAEJ;AAAA;AAKO,MAAM,8BAA8B,aAAa;AAAA,EACtD,WAAW,CAAC,SAAiB,OAAiB;AAAA,IAC5C,MAAM,2BAA2B,SAAS,KAAK;AAAA;AAEnD;AAAA;AAEO,MAAM,4BAA4B,aAAa;AAAA,EACpD,WAAW,CAAC,SAAiB;AAAA,IAC3B,MAAM,wBAAwB,OAAO;AAAA;AAEzC;AAAA;AAEO,MAAM,2BAA2B,aAAa;AAAA,EACnD,WAAW,CAAC,SAAiB;AAAA,IAC3B,MAAM,uBAAuB,OAAO;AAAA;AAExC;AAAA;AAEO,MAAM,uBAAuB,aAAa;AAAA,EAC/C,WAAW,CAAC,SAAiB;AAAA,IAC3B,MAAM,oBAAoB,OAAO;AAAA;AAErC;AAAA;AAEO,MAAM,uBAAuB,aAAa;AAAA,EAC/C,WAAW,CAAC,UAAU,aAAa;AAAA,IACjC,MAAM,aAAa,OAAO;AAAA;AAE9B;AAKO,SAAS,eAAe,CAAC,KAAsB;AAAA,EACpD,OAAO,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA;",
|
|
8
|
+
"debugId": "42FBAE7EC051820B64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -35,8 +35,8 @@ interface StreamsTable {
|
|
|
35
35
|
status: Generated<string>;
|
|
36
36
|
filters: unknown;
|
|
37
37
|
options: Generated<unknown>;
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
endpoint_url: string;
|
|
39
|
+
signing_secret: string | null;
|
|
40
40
|
api_key_id: string | null;
|
|
41
41
|
created_at: Generated<Date>;
|
|
42
42
|
updated_at: Generated<Date>;
|
|
@@ -355,9 +355,9 @@ declare class DatabaseError extends StreamsError {
|
|
|
355
355
|
constructor(message: string, cause?: unknown);
|
|
356
356
|
}
|
|
357
357
|
/**
|
|
358
|
-
*
|
|
358
|
+
* Delivery error
|
|
359
359
|
*/
|
|
360
|
-
declare class
|
|
360
|
+
declare class DeliveryError extends StreamsError {
|
|
361
361
|
statusCode?: number;
|
|
362
362
|
constructor(message: string, statusCode?: number, cause?: unknown);
|
|
363
363
|
toJSON(): {
|
|
@@ -443,7 +443,7 @@ declare function stats(): Promise<QueueStats2>;
|
|
|
443
443
|
* Get worker ID for this process
|
|
444
444
|
*/
|
|
445
445
|
declare function getWorkerId(): string;
|
|
446
|
-
import { z as z2 } from "zod";
|
|
446
|
+
import { z as z2 } from "zod/v4";
|
|
447
447
|
interface StxTransferFilter {
|
|
448
448
|
type: "stx_transfer";
|
|
449
449
|
sender?: string;
|
|
@@ -536,7 +536,7 @@ declare const ContractCallFilterSchema: z2.ZodType<ContractCallFilter>;
|
|
|
536
536
|
declare const ContractDeployFilterSchema: z2.ZodType<ContractDeployFilter>;
|
|
537
537
|
declare const PrintEventFilterSchema: z2.ZodType<PrintEventFilter>;
|
|
538
538
|
declare const StreamFilterSchema: z2.ZodType<StreamFilter>;
|
|
539
|
-
import { z as z3 } from "zod";
|
|
539
|
+
import { z as z3 } from "zod/v4";
|
|
540
540
|
interface DeploySubgraphRequest {
|
|
541
541
|
name: string;
|
|
542
542
|
version?: string;
|
|
@@ -597,7 +597,7 @@ interface SubgraphQueryParams {
|
|
|
597
597
|
fields?: string;
|
|
598
598
|
filters?: Record<string, string>;
|
|
599
599
|
}
|
|
600
|
-
import { z as z4 } from "zod";
|
|
600
|
+
import { z as z4 } from "zod/v4";
|
|
601
601
|
interface StreamOptions {
|
|
602
602
|
decodeClarityValues: boolean;
|
|
603
603
|
includeRawTx: boolean;
|
|
@@ -608,7 +608,7 @@ interface StreamOptions {
|
|
|
608
608
|
}
|
|
609
609
|
interface CreateStream {
|
|
610
610
|
name: string;
|
|
611
|
-
|
|
611
|
+
endpointUrl: string;
|
|
612
612
|
filters: StreamFilter[];
|
|
613
613
|
options?: StreamOptions;
|
|
614
614
|
startBlock?: number;
|
|
@@ -616,11 +616,11 @@ interface CreateStream {
|
|
|
616
616
|
}
|
|
617
617
|
interface UpdateStream {
|
|
618
618
|
name?: string;
|
|
619
|
-
|
|
619
|
+
endpointUrl?: string;
|
|
620
620
|
filters?: StreamFilter[];
|
|
621
621
|
options?: Partial<StreamOptions>;
|
|
622
622
|
}
|
|
623
|
-
interface
|
|
623
|
+
interface DeliveryPayload {
|
|
624
624
|
streamId: string;
|
|
625
625
|
streamName: string;
|
|
626
626
|
block: {
|
|
@@ -661,7 +661,7 @@ interface StreamResponse {
|
|
|
661
661
|
id: string;
|
|
662
662
|
name: string;
|
|
663
663
|
status: "inactive" | "active" | "paused" | "failed";
|
|
664
|
-
|
|
664
|
+
endpointUrl: string;
|
|
665
665
|
filters: StreamFilter[];
|
|
666
666
|
options: StreamOptions;
|
|
667
667
|
totalDeliveries: number;
|
|
@@ -675,12 +675,12 @@ interface StreamResponse {
|
|
|
675
675
|
declare const StreamOptionsSchema: z4.ZodType<StreamOptions>;
|
|
676
676
|
declare const CreateStreamSchema: z4.ZodType<CreateStream>;
|
|
677
677
|
declare const UpdateStreamSchema: z4.ZodType<UpdateStream>;
|
|
678
|
-
declare const
|
|
678
|
+
declare const DeliveryPayloadSchema: z4.ZodType<DeliveryPayload>;
|
|
679
679
|
declare const StreamMetricsSchema: z4.ZodType<StreamMetricsResponse>;
|
|
680
680
|
declare const StreamResponseSchema: z4.ZodType<StreamResponse>;
|
|
681
681
|
interface CreateStreamResponse {
|
|
682
682
|
stream: StreamResponse;
|
|
683
|
-
|
|
683
|
+
signingSecret: string;
|
|
684
684
|
}
|
|
685
685
|
interface ListStreamsResponse {
|
|
686
686
|
streams: StreamResponse[];
|
|
@@ -698,7 +698,7 @@ declare namespace exports_hmac {
|
|
|
698
698
|
export { verifySignatureHeader, verifySignature, signPayload, generateSecret, createSignatureHeader };
|
|
699
699
|
}
|
|
700
700
|
/**
|
|
701
|
-
* Generate a random secret for
|
|
701
|
+
* Generate a random secret for delivery signing
|
|
702
702
|
* Returns 32 bytes as a 64-character hex string
|
|
703
703
|
*/
|
|
704
704
|
declare function generateSecret(): string;
|
|
@@ -722,4 +722,4 @@ declare function createSignatureHeader(payload: string, secret: string, timestam
|
|
|
722
722
|
* Returns true if valid, false otherwise
|
|
723
723
|
*/
|
|
724
724
|
declare function verifySignatureHeader(payload: string, header: string, secret: string, toleranceSeconds?: number): boolean;
|
|
725
|
-
export { sql, exports_queue as queue, parseJsonb, logger, jsonb, getRawClient, getErrorMessage, getEnv, getDb, exports_hmac as crypto, closeDb,
|
|
725
|
+
export { sql, exports_queue as queue, parseJsonb, logger, jsonb, getRawClient, getErrorMessage, getEnv, getDb, exports_hmac as crypto, closeDb, WaitlistTable, ValidationError, UsageSnapshotsTable, UsageSnapshot, UsageDailyTable, UsageDaily, UpdateTransaction, UpdateSubgraph, UpdateStreamSchema, UpdateStreamRow, UpdateStreamMetrics, UpdateStream, UpdateJob, UpdateIndexProgress, UpdateEvent, UpdateDelivery, UpdateBlock, UpdateApiKey, TransactionsTable, Transaction, SubgraphsTable, SubgraphTableSnapshotsTable, SubgraphSummary, SubgraphQueryParams, SubgraphProcessingStatsTable, SubgraphHealthSnapshotsTable, SubgraphHealthSnapshot, SubgraphDetail, Subgraph, StxTransferFilterSchema, StxTransferFilter, StxMintFilterSchema, StxMintFilter, StxLockFilterSchema, StxLockFilter, StxBurnFilterSchema, StxBurnFilter, StreamsTable, StreamsError, StreamResponseSchema, StreamResponse, StreamOptionsSchema, StreamOptions, StreamNotFoundError, StreamMetricsTable, StreamMetricsSchema, StreamMetricsResponse, StreamMetrics, StreamFilterSchema, StreamFilter, Stream, SessionsTable, Session, ReindexResponse, RateLimitError, QueueStats, PrintEventFilterSchema, PrintEventFilter, NftTransferFilterSchema, NftTransferFilter, NftMintFilterSchema, NftMintFilter, NftBurnFilterSchema, NftBurnFilter, MagicLinksTable, MagicLink, ListStreamsResponse, JobsTable, Job, InsertTransaction, InsertSubgraphHealthSnapshot, InsertSubgraph, InsertStreamMetrics, InsertStream, InsertSession, InsertMagicLink, InsertJob, InsertIndexProgress, InsertEvent, InsertDelivery, InsertBlock, InsertApiKey, InsertAccountInsight, InsertAccountAgentRun, InsertAccount, IndexProgressTable, IndexProgress, FtTransferFilterSchema, FtTransferFilter, FtMintFilterSchema, FtMintFilter, FtBurnFilterSchema, FtBurnFilter, ForbiddenError, FilterEvaluationError, EventsTable, Event, Env, DeploySubgraphResponse, DeploySubgraphRequestSchema, DeploySubgraphRequest, DeliveryPayloadSchema, DeliveryPayload, DeliveryError, Delivery, DeliveriesTable, DatabaseError, Database, CreateStreamSchema, CreateStreamResponse, CreateStream, ContractDeployFilterSchema, ContractDeployFilter, ContractCallFilterSchema, ContractCallFilter, BulkResumeResponse, BulkPauseResponse, BlocksTable, Block, AuthorizationError, AuthenticationError, ApiKeysTable, ApiKey, AccountsTable, AccountInsightsTable, AccountInsight, AccountAgentRunsTable, AccountAgentRun, Account };
|
package/dist/src/index.js
CHANGED
|
@@ -105,10 +105,10 @@ class DatabaseError extends StreamsError {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
class
|
|
108
|
+
class DeliveryError extends StreamsError {
|
|
109
109
|
statusCode;
|
|
110
110
|
constructor(message, statusCode, cause) {
|
|
111
|
-
super("
|
|
111
|
+
super("DELIVERY_ERROR", message, cause);
|
|
112
112
|
this.statusCode = statusCode;
|
|
113
113
|
}
|
|
114
114
|
toJSON() {
|
|
@@ -158,7 +158,7 @@ function getErrorMessage(err) {
|
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
// src/env.ts
|
|
161
|
-
import { z } from "zod";
|
|
161
|
+
import { z } from "zod/v4";
|
|
162
162
|
var networksSchema = z.string().transform((val) => {
|
|
163
163
|
const networks = val.split(",").map((n) => n.trim()).filter(Boolean);
|
|
164
164
|
const valid = ["mainnet", "testnet"];
|
|
@@ -184,7 +184,7 @@ function getEnv() {
|
|
|
184
184
|
const result = envSchema.safeParse(process.env);
|
|
185
185
|
if (!result.success) {
|
|
186
186
|
console.error("❌ Invalid environment configuration:");
|
|
187
|
-
console.error(result.error
|
|
187
|
+
console.error(z.treeifyError(result.error));
|
|
188
188
|
throw new Error("Invalid environment configuration");
|
|
189
189
|
}
|
|
190
190
|
let enabledNetworks;
|
|
@@ -371,7 +371,7 @@ function getWorkerId() {
|
|
|
371
371
|
return WORKER_ID;
|
|
372
372
|
}
|
|
373
373
|
// src/schemas/filters.ts
|
|
374
|
-
import { z as z2 } from "zod";
|
|
374
|
+
import { z as z2 } from "zod/v4";
|
|
375
375
|
import { isValidAddress as _isValidAddress } from "@secondlayer/stacks";
|
|
376
376
|
var isValidAddress = _isValidAddress;
|
|
377
377
|
var stacksPrincipal = z2.string().refine((val) => {
|
|
@@ -475,18 +475,18 @@ var StreamFilterSchema = z2.discriminatedUnion("type", [
|
|
|
475
475
|
]);
|
|
476
476
|
|
|
477
477
|
// src/schemas/subgraphs.ts
|
|
478
|
-
import { z as z3 } from "zod";
|
|
478
|
+
import { z as z3 } from "zod/v4";
|
|
479
479
|
var DeploySubgraphRequestSchema = z3.object({
|
|
480
480
|
name: z3.string().regex(/^[a-z0-9-]+$/, "lowercase alphanumeric + hyphens only").max(63),
|
|
481
481
|
version: z3.string().optional(),
|
|
482
482
|
description: z3.string().optional(),
|
|
483
483
|
sources: z3.array(z3.string()).min(1),
|
|
484
|
-
schema: z3.record(z3.unknown()),
|
|
484
|
+
schema: z3.record(z3.string(), z3.unknown()),
|
|
485
485
|
handlerCode: z3.string().max(1048576, "handler code exceeds 1MB limit"),
|
|
486
486
|
reindex: z3.boolean().optional()
|
|
487
487
|
});
|
|
488
488
|
// src/schemas/stream.ts
|
|
489
|
-
import { z as z4 } from "zod";
|
|
489
|
+
import { z as z4 } from "zod/v4";
|
|
490
490
|
var streamOptionsShape = z4.object({
|
|
491
491
|
decodeClarityValues: z4.boolean().default(true),
|
|
492
492
|
includeRawTx: z4.boolean().default(false),
|
|
@@ -498,19 +498,19 @@ var streamOptionsShape = z4.object({
|
|
|
498
498
|
var StreamOptionsSchema = streamOptionsShape;
|
|
499
499
|
var CreateStreamSchema = z4.object({
|
|
500
500
|
name: z4.string().min(1).max(255),
|
|
501
|
-
|
|
501
|
+
endpointUrl: z4.string().url(),
|
|
502
502
|
filters: z4.array(StreamFilterSchema).min(1),
|
|
503
|
-
options: streamOptionsShape.optional()
|
|
503
|
+
options: streamOptionsShape.optional(),
|
|
504
504
|
startBlock: z4.number().int().positive().optional(),
|
|
505
505
|
endBlock: z4.number().int().positive().optional()
|
|
506
506
|
});
|
|
507
507
|
var UpdateStreamSchema = z4.object({
|
|
508
508
|
name: z4.string().min(1).max(255).optional(),
|
|
509
|
-
|
|
509
|
+
endpointUrl: z4.string().url().optional(),
|
|
510
510
|
filters: z4.array(StreamFilterSchema).min(1).optional(),
|
|
511
511
|
options: streamOptionsShape.partial().optional()
|
|
512
512
|
}).refine((data) => Object.keys(data).length > 0, { message: "At least one field must be provided for update" });
|
|
513
|
-
var
|
|
513
|
+
var DeliveryPayloadSchema = z4.object({
|
|
514
514
|
streamId: z4.string().uuid(),
|
|
515
515
|
streamName: z4.string(),
|
|
516
516
|
block: z4.object({
|
|
@@ -551,7 +551,7 @@ var StreamResponseSchema = z4.object({
|
|
|
551
551
|
id: z4.string().uuid(),
|
|
552
552
|
name: z4.string(),
|
|
553
553
|
status: z4.enum(["inactive", "active", "paused", "failed"]),
|
|
554
|
-
|
|
554
|
+
endpointUrl: z4.string().url(),
|
|
555
555
|
filters: z4.array(StreamFilterSchema),
|
|
556
556
|
options: streamOptionsShape,
|
|
557
557
|
totalDeliveries: z4.number().int().default(0),
|
|
@@ -627,8 +627,6 @@ export {
|
|
|
627
627
|
getDb,
|
|
628
628
|
exports_hmac as crypto,
|
|
629
629
|
closeDb,
|
|
630
|
-
WebhookPayloadSchema,
|
|
631
|
-
WebhookDeliveryError,
|
|
632
630
|
ValidationError,
|
|
633
631
|
UpdateStreamSchema,
|
|
634
632
|
StxTransferFilterSchema,
|
|
@@ -652,6 +650,8 @@ export {
|
|
|
652
650
|
ForbiddenError,
|
|
653
651
|
FilterEvaluationError,
|
|
654
652
|
DeploySubgraphRequestSchema,
|
|
653
|
+
DeliveryPayloadSchema,
|
|
654
|
+
DeliveryError,
|
|
655
655
|
DatabaseError,
|
|
656
656
|
CreateStreamSchema,
|
|
657
657
|
ContractDeployFilterSchema,
|
|
@@ -660,5 +660,5 @@ export {
|
|
|
660
660
|
AuthenticationError
|
|
661
661
|
};
|
|
662
662
|
|
|
663
|
-
//# debugId=
|
|
663
|
+
//# debugId=D2BBFAFE2AAED10A64756E2164756E21
|
|
664
664
|
//# sourceMappingURL=index.js.map
|