@continuumdao/continuum-node-sdk 1.2.13 → 1.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/core/agent/environment-variables.d.ts +11 -1
  2. package/dist/core/agent/environment-variables.d.ts.map +1 -1
  3. package/dist/core/agent/environment-variables.js +89 -5
  4. package/dist/core/agent/environment-variables.js.map +1 -1
  5. package/dist/core/agent/mcp-servers.d.ts +8 -4
  6. package/dist/core/agent/mcp-servers.d.ts.map +1 -1
  7. package/dist/core/agent/mcp-servers.js +138 -32
  8. package/dist/core/agent/mcp-servers.js.map +1 -1
  9. package/dist/core/agent/webhooks-catalog.d.ts +10 -0
  10. package/dist/core/agent/webhooks-catalog.d.ts.map +1 -0
  11. package/dist/core/agent/webhooks-catalog.js +19 -0
  12. package/dist/core/agent/webhooks-catalog.js.map +1 -0
  13. package/dist/core/agent/webhooks.d.ts +101 -0
  14. package/dist/core/agent/webhooks.d.ts.map +1 -0
  15. package/dist/core/agent/webhooks.js +359 -0
  16. package/dist/core/agent/webhooks.js.map +1 -0
  17. package/dist/core/keygen-id.d.ts.map +1 -1
  18. package/dist/core/keygen-id.js +8 -2
  19. package/dist/core/keygen-id.js.map +1 -1
  20. package/dist/core/keygen.d.ts.map +1 -1
  21. package/dist/core/keygen.js +31 -4
  22. package/dist/core/keygen.js.map +1 -1
  23. package/dist/core/mpc/join-multisign-request.d.ts +6 -0
  24. package/dist/core/mpc/join-multisign-request.d.ts.map +1 -0
  25. package/dist/core/mpc/join-multisign-request.js +19 -0
  26. package/dist/core/mpc/join-multisign-request.js.map +1 -0
  27. package/dist/core/mpc/schemas.d.ts +6 -0
  28. package/dist/core/mpc/schemas.d.ts.map +1 -1
  29. package/dist/core/mpc/schemas.js +20 -0
  30. package/dist/core/mpc/schemas.js.map +1 -1
  31. package/dist/core/mpc/sign-request-utils.d.ts.map +1 -1
  32. package/dist/core/mpc/sign-request-utils.js +7 -2
  33. package/dist/core/mpc/sign-request-utils.js.map +1 -1
  34. package/dist/core/registry/registry-lookup.d.ts +2 -0
  35. package/dist/core/registry/registry-lookup.d.ts.map +1 -1
  36. package/dist/core/registry/registry-lookup.js +5 -0
  37. package/dist/core/registry/registry-lookup.js.map +1 -1
  38. package/dist/evm/forge-broadcast.d.ts +8 -0
  39. package/dist/evm/forge-broadcast.d.ts.map +1 -1
  40. package/dist/evm/forge-broadcast.js +5 -5
  41. package/dist/evm/forge-broadcast.js.map +1 -1
  42. package/dist/evm/join-multisign.d.ts +15 -0
  43. package/dist/evm/join-multisign.d.ts.map +1 -0
  44. package/dist/evm/join-multisign.js +376 -0
  45. package/dist/evm/join-multisign.js.map +1 -0
  46. package/dist/index.d.ts +7 -5
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +7 -5
  49. package/dist/index.js.map +1 -1
  50. package/dist/mcp/agent-environment-variables.d.ts +4 -0
  51. package/dist/mcp/agent-environment-variables.d.ts.map +1 -0
  52. package/dist/mcp/agent-environment-variables.js +44 -0
  53. package/dist/mcp/agent-environment-variables.js.map +1 -0
  54. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
  55. package/dist/mcp/agent-mcp-servers.js +9 -9
  56. package/dist/mcp/agent-mcp-servers.js.map +1 -1
  57. package/dist/mcp/agent-webhooks.d.ts +4 -0
  58. package/dist/mcp/agent-webhooks.d.ts.map +1 -0
  59. package/dist/mcp/agent-webhooks.js +87 -0
  60. package/dist/mcp/agent-webhooks.js.map +1 -0
  61. package/dist/mcp/defi/aave-v4-input.d.ts +17 -0
  62. package/dist/mcp/defi/aave-v4-input.d.ts.map +1 -0
  63. package/dist/mcp/defi/aave-v4-input.js +363 -0
  64. package/dist/mcp/defi/aave-v4-input.js.map +1 -0
  65. package/dist/mcp/defi/catalog-adapter.d.ts +2 -14
  66. package/dist/mcp/defi/catalog-adapter.d.ts.map +1 -1
  67. package/dist/mcp/defi/catalog-adapter.js +2 -51
  68. package/dist/mcp/defi/catalog-adapter.js.map +1 -1
  69. package/dist/mcp/defi/curve-quote-input.d.ts +9 -0
  70. package/dist/mcp/defi/curve-quote-input.d.ts.map +1 -0
  71. package/dist/mcp/defi/curve-quote-input.js +64 -0
  72. package/dist/mcp/defi/curve-quote-input.js.map +1 -0
  73. package/dist/mcp/defi/discovery.d.ts.map +1 -1
  74. package/dist/mcp/defi/discovery.js +20 -10
  75. package/dist/mcp/defi/discovery.js.map +1 -1
  76. package/dist/mcp/defi/handler.d.ts +0 -8
  77. package/dist/mcp/defi/handler.d.ts.map +1 -1
  78. package/dist/mcp/defi/handler.js +95 -4
  79. package/dist/mcp/defi/handler.js.map +1 -1
  80. package/dist/mcp/defi/input-adapter.d.ts +1 -0
  81. package/dist/mcp/defi/input-adapter.d.ts.map +1 -1
  82. package/dist/mcp/defi/input-adapter.js +69 -38
  83. package/dist/mcp/defi/input-adapter.js.map +1 -1
  84. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  85. package/dist/mcp/defi/register-protocol-tools.js +59 -8
  86. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  87. package/dist/mcp/defi/tool-schemas.d.ts +19 -0
  88. package/dist/mcp/defi/tool-schemas.d.ts.map +1 -0
  89. package/dist/mcp/defi/tool-schemas.js +65 -0
  90. package/dist/mcp/defi/tool-schemas.js.map +1 -0
  91. package/dist/mcp/defi/uniswap-api-key.d.ts +3 -1
  92. package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
  93. package/dist/mcp/defi/uniswap-api-key.js +11 -2
  94. package/dist/mcp/defi/uniswap-api-key.js.map +1 -1
  95. package/dist/mcp/defi/uniswap-liquidity-input.d.ts +11 -0
  96. package/dist/mcp/defi/uniswap-liquidity-input.d.ts.map +1 -0
  97. package/dist/mcp/defi/uniswap-liquidity-input.js +179 -0
  98. package/dist/mcp/defi/uniswap-liquidity-input.js.map +1 -0
  99. package/dist/mcp/defi/uniswap-liquidity-registry.d.ts +31 -0
  100. package/dist/mcp/defi/uniswap-liquidity-registry.d.ts.map +1 -0
  101. package/dist/mcp/defi/uniswap-liquidity-registry.js +296 -0
  102. package/dist/mcp/defi/uniswap-liquidity-registry.js.map +1 -0
  103. package/dist/mcp/defi/uniswap-quote-input.d.ts +10 -0
  104. package/dist/mcp/defi/uniswap-quote-input.d.ts.map +1 -0
  105. package/dist/mcp/defi/uniswap-quote-input.js +96 -0
  106. package/dist/mcp/defi/uniswap-quote-input.js.map +1 -0
  107. package/dist/mcp/keygen.d.ts.map +1 -1
  108. package/dist/mcp/keygen.js +4 -4
  109. package/dist/mcp/keygen.js.map +1 -1
  110. package/dist/mcp/mpc.d.ts.map +1 -1
  111. package/dist/mcp/mpc.js +7 -1
  112. package/dist/mcp/mpc.js.map +1 -1
  113. package/dist/mcp/register.d.ts +1 -0
  114. package/dist/mcp/register.d.ts.map +1 -1
  115. package/dist/mcp/register.js +6 -0
  116. package/dist/mcp/register.js.map +1 -1
  117. package/dist/mcp/tool-utils.d.ts +7 -0
  118. package/dist/mcp/tool-utils.d.ts.map +1 -1
  119. package/dist/mcp/tool-utils.js +7 -0
  120. package/dist/mcp/tool-utils.js.map +1 -1
  121. package/dist/schemas/extended.d.ts +366 -40
  122. package/dist/schemas/extended.d.ts.map +1 -1
  123. package/dist/schemas/extended.js +202 -28
  124. package/dist/schemas/extended.js.map +1 -1
  125. package/package.json +3 -3
@@ -0,0 +1,101 @@
1
+ import type { NodeSdkConfig } from '../../config/schema.js';
2
+ import { AgentWebhookDetailSchema, AgentWebhookSummarySchema, GetWebhookQuerySchema, ListWebhooksDataSchema, WebhookRefInputSchema, type AddWebhookFromCatalogInput, type AddWebhookInput, type ManagementSigningMethod, type UpdateWebhookInput } from '../../schemas/extended.js';
3
+ import type { SdkResult } from '../result.js';
4
+ import { toSelectedSigningKey, type BuiltManagementPostRequest } from '../management-signer.js';
5
+ import { z } from 'zod';
6
+ export type AgentWebhookSummary = z.infer<typeof AgentWebhookSummarySchema>;
7
+ export type AgentWebhookDetail = z.infer<typeof AgentWebhookDetailSchema>;
8
+ export type ListWebhooksData = z.infer<typeof ListWebhooksDataSchema>;
9
+ export declare function normalizeWebhookName(raw: string): string;
10
+ export declare function validateWebhookName(name: string): string | null;
11
+ export declare function listWebhooks(config: NodeSdkConfig): Promise<SdkResult<ListWebhooksData>>;
12
+ export declare function getWebhook(config: NodeSdkConfig, query: z.infer<typeof GetWebhookQuerySchema>): Promise<SdkResult<{
13
+ webhook: AgentWebhookDetail;
14
+ inboundUrl?: string;
15
+ }>>;
16
+ export declare function buildAddWebhook(config: NodeSdkConfig, input: AddWebhookInput, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
17
+ export declare function addWebhook(config: NodeSdkConfig, input: AddWebhookInput, signing?: ManagementSigningMethod): Promise<SdkResult<{
18
+ webhook: AgentWebhookDetail;
19
+ secretEnvVar?: string;
20
+ inboundUrl?: string;
21
+ } & {
22
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
23
+ signingMessage: string;
24
+ }>>;
25
+ export declare function buildAddWebhookFromCatalog(config: NodeSdkConfig, input: AddWebhookFromCatalogInput, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
26
+ export declare function addWebhookFromCatalog(config: NodeSdkConfig, input: AddWebhookFromCatalogInput, signing?: ManagementSigningMethod): Promise<SdkResult<{
27
+ webhook: AgentWebhookDetail;
28
+ secretEnvVar?: string;
29
+ inboundUrl?: string;
30
+ } & {
31
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
32
+ signingMessage: string;
33
+ }>>;
34
+ export declare function buildUpdateWebhook(config: NodeSdkConfig, input: UpdateWebhookInput, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
35
+ export declare function updateWebhook(config: NodeSdkConfig, input: UpdateWebhookInput, signing?: ManagementSigningMethod): Promise<SdkResult<{
36
+ webhook: AgentWebhookDetail;
37
+ secretEnvVar?: string;
38
+ inboundUrl?: string;
39
+ } & {
40
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
41
+ signingMessage: string;
42
+ }>>;
43
+ export declare function buildActivateWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
44
+ export declare function activateWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<{
45
+ webhook: {
46
+ id: string;
47
+ name: string;
48
+ enabled: boolean;
49
+ type: "generic" | "github" | "gmail" | "proton" | "stripe" | "slack" | "telegram";
50
+ conversationId: string;
51
+ prompt: string;
52
+ inboundUrl?: string | undefined;
53
+ secretEnvVar?: string | undefined;
54
+ secretConfigured?: boolean | undefined;
55
+ telegramBotTokenEnvVar?: string | undefined;
56
+ telegramBotTokenConfigured?: boolean | undefined;
57
+ catalog?: boolean | undefined;
58
+ createdAt?: string | undefined;
59
+ updatedAt?: string | undefined;
60
+ lastTriggeredAt?: string | undefined;
61
+ };
62
+ } & {
63
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
64
+ signingMessage: string;
65
+ }>>;
66
+ export declare function buildDeactivateWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
67
+ export declare function deactivateWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<{
68
+ webhook: {
69
+ id: string;
70
+ name: string;
71
+ enabled: boolean;
72
+ type: "generic" | "github" | "gmail" | "proton" | "stripe" | "slack" | "telegram";
73
+ conversationId: string;
74
+ prompt: string;
75
+ inboundUrl?: string | undefined;
76
+ secretEnvVar?: string | undefined;
77
+ secretConfigured?: boolean | undefined;
78
+ telegramBotTokenEnvVar?: string | undefined;
79
+ telegramBotTokenConfigured?: boolean | undefined;
80
+ catalog?: boolean | undefined;
81
+ createdAt?: string | undefined;
82
+ updatedAt?: string | undefined;
83
+ lastTriggeredAt?: string | undefined;
84
+ };
85
+ } & {
86
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
87
+ signingMessage: string;
88
+ }>>;
89
+ export declare function buildRemoveWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
90
+ export declare function removeWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<{
91
+ message: string;
92
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
93
+ signingMessage: string;
94
+ }>>;
95
+ export declare function buildRunWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
96
+ export declare function runWebhook(config: NodeSdkConfig, input: z.infer<typeof WebhookRefInputSchema>, signing?: ManagementSigningMethod): Promise<SdkResult<{
97
+ status: 'started';
98
+ selectedSigningKey?: ReturnType<typeof toSelectedSigningKey>;
99
+ signingMessage: string;
100
+ }>>;
101
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/core/agent/webhooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,359 @@
1
+ import { buildManagementQueryPath, managementGet, managementPost, } from '../../api/management-api.js';
2
+ import { AGENT_WEBHOOK_API_PATHS, AddWebhookFromCatalogInputSchema, AddWebhookInputSchema, AgentWebhookDetailSchema, AgentWebhookSummarySchema, AgentWebhookCatalogItemSchema, DEFAULT_MANAGEMENT_SIGNING, GetWebhookQuerySchema, ListWebhooksDataSchema, UpdateWebhookInputSchema, WebhookRefInputSchema, } from '../../schemas/extended.js';
3
+ import { buildManagementPostRequest, managementSign, toSelectedSigningKey, } from '../management-signer.js';
4
+ const WEBHOOK_NAME_RE = /^[a-z][a-z0-9_-]*$/;
5
+ export function normalizeWebhookName(raw) {
6
+ return raw
7
+ .trim()
8
+ .toLowerCase()
9
+ .replace(/[^a-z0-9_-]/g, '-')
10
+ .replace(/^-+/, '')
11
+ .replace(/-+/g, '-');
12
+ }
13
+ export function validateWebhookName(name) {
14
+ const normalized = normalizeWebhookName(name);
15
+ if (!normalized) {
16
+ return 'Webhook name is required.';
17
+ }
18
+ if (normalized.length > 64) {
19
+ return 'Webhook name must be at most 64 characters.';
20
+ }
21
+ if (!WEBHOOK_NAME_RE.test(normalized)) {
22
+ return 'Webhook name must start with a-z and use only a-z, 0-9, hyphen, and underscore.';
23
+ }
24
+ return null;
25
+ }
26
+ function parseWebhookType(raw) {
27
+ const t = String(raw ?? 'generic').trim().toLowerCase();
28
+ if (t === 'github' ||
29
+ t === 'gmail' ||
30
+ t === 'proton' ||
31
+ t === 'stripe' ||
32
+ t === 'slack' ||
33
+ t === 'telegram') {
34
+ return t;
35
+ }
36
+ return 'generic';
37
+ }
38
+ function parseWebhookSummary(raw) {
39
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
40
+ return null;
41
+ }
42
+ const o = raw;
43
+ const parsed = AgentWebhookSummarySchema.safeParse({
44
+ id: String(o.id ?? o.Id ?? '').trim(),
45
+ name: String(o.name ?? o.Name ?? '').trim(),
46
+ enabled: Boolean(o.enabled ?? o.Enabled ?? false),
47
+ type: parseWebhookType(o.type ?? o.Type),
48
+ conversationId: String(o.conversationId ?? o.ConversationId ?? '').trim(),
49
+ inboundUrl: String(o.inboundUrl ?? o.InboundUrl ?? '').trim() || undefined,
50
+ secretEnvVar: String(o.secretEnvVar ?? o.SecretEnvVar ?? '').trim() || undefined,
51
+ secretConfigured: Boolean(o.secretConfigured ?? o.SecretConfigured ?? false),
52
+ telegramBotTokenEnvVar: String(o.telegramBotTokenEnvVar ?? o.TelegramBotTokenEnvVar ?? '').trim() ||
53
+ undefined,
54
+ telegramBotTokenConfigured: Boolean(o.telegramBotTokenConfigured ?? o.TelegramBotTokenConfigured ?? false),
55
+ catalog: Boolean(o.catalog ?? o.Catalog ?? false),
56
+ createdAt: String(o.createdAt ?? o.CreatedAt ?? '').trim() || undefined,
57
+ updatedAt: String(o.updatedAt ?? o.UpdatedAt ?? '').trim() || undefined,
58
+ lastTriggeredAt: String(o.lastTriggeredAt ?? o.LastTriggeredAt ?? '').trim() || undefined,
59
+ });
60
+ return parsed.success ? parsed.data : null;
61
+ }
62
+ function parseWebhookDetail(raw) {
63
+ const summary = parseWebhookSummary(raw);
64
+ if (!summary || !raw || typeof raw !== 'object' || Array.isArray(raw)) {
65
+ return null;
66
+ }
67
+ const o = raw;
68
+ const parsed = AgentWebhookDetailSchema.safeParse({
69
+ ...summary,
70
+ prompt: String(o.prompt ?? o.Prompt ?? '').trim(),
71
+ });
72
+ return parsed.success ? parsed.data : null;
73
+ }
74
+ export async function listWebhooks(config) {
75
+ const result = await managementGet(config, AGENT_WEBHOOK_API_PATHS.list);
76
+ if (!result.ok) {
77
+ return result;
78
+ }
79
+ const data = result.data && typeof result.data === 'object' && !Array.isArray(result.data)
80
+ ? result.data
81
+ : {};
82
+ const parseRows = (raw) => {
83
+ if (!Array.isArray(raw)) {
84
+ return [];
85
+ }
86
+ const out = [];
87
+ for (const item of raw) {
88
+ const row = parseWebhookSummary(item);
89
+ if (row) {
90
+ out.push(row);
91
+ }
92
+ }
93
+ return out;
94
+ };
95
+ const activeWebhooks = parseRows(data.activeWebhooks ?? data.ActiveWebhooks ?? data.webhooks ?? data.Webhooks);
96
+ const webhooks = parseRows(data.webhooks ?? data.Webhooks ?? activeWebhooks);
97
+ const catalogRaw = data.availableCatalog ?? data.AvailableCatalog;
98
+ const availableCatalog = Array.isArray(catalogRaw)
99
+ ? catalogRaw.flatMap(item => {
100
+ if (!item || typeof item !== 'object' || Array.isArray(item)) {
101
+ return [];
102
+ }
103
+ const o = item;
104
+ const parsed = AgentWebhookCatalogItemSchema.safeParse({
105
+ name: String(o.name ?? o.Name ?? '').trim(),
106
+ type: parseWebhookType(o.type ?? o.Type),
107
+ prompt: String(o.prompt ?? o.Prompt ?? '').trim() || undefined,
108
+ enabled: Boolean(o.enabled ?? o.Enabled ?? false),
109
+ });
110
+ return parsed.success ? [parsed.data] : [];
111
+ })
112
+ : [];
113
+ const payload = {
114
+ activeWebhooks: activeWebhooks.length > 0 ? activeWebhooks : webhooks,
115
+ availableCatalog,
116
+ webhooks: webhooks.length > 0 ? webhooks : activeWebhooks,
117
+ };
118
+ const validated = ListWebhooksDataSchema.safeParse(payload);
119
+ if (!validated.success) {
120
+ return { ok: false, reason: 'List webhooks response failed validation.' };
121
+ }
122
+ return { ok: true, data: validated.data };
123
+ }
124
+ export async function getWebhook(config, query) {
125
+ const parsedQuery = GetWebhookQuerySchema.safeParse(query);
126
+ if (!parsedQuery.success) {
127
+ return { ok: false, reason: 'Invalid get webhook query.' };
128
+ }
129
+ const path = buildManagementQueryPath(AGENT_WEBHOOK_API_PATHS.get, {
130
+ id: parsedQuery.data.id,
131
+ });
132
+ const result = await managementGet(config, path);
133
+ if (!result.ok) {
134
+ return result;
135
+ }
136
+ const data = result.data && typeof result.data === 'object' && !Array.isArray(result.data)
137
+ ? result.data
138
+ : {};
139
+ const webhook = parseWebhookDetail(data.webhook ?? data.Webhook);
140
+ if (!webhook) {
141
+ return { ok: false, reason: 'Webhook response failed validation.' };
142
+ }
143
+ const inboundUrl = String(data.inboundUrl ?? data.InboundUrl ?? webhook.inboundUrl ?? '').trim() ||
144
+ undefined;
145
+ return { ok: true, data: { webhook, inboundUrl } };
146
+ }
147
+ async function postWebhookMutation(config, built, signing, parseData, fallbackReason) {
148
+ if (!built.ok) {
149
+ return built;
150
+ }
151
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
152
+ if (!signed.ok) {
153
+ return signed;
154
+ }
155
+ const posted = await managementPost(config, built.data.path, signed.data);
156
+ if (!posted.ok) {
157
+ return posted;
158
+ }
159
+ const parsed = parseData(posted.data);
160
+ if (!parsed) {
161
+ return { ok: false, reason: fallbackReason };
162
+ }
163
+ return {
164
+ ok: true,
165
+ data: {
166
+ ...parsed,
167
+ selectedSigningKey: built.data.selectedSigningKey
168
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
169
+ : undefined,
170
+ signingMessage: built.data.canonicalJson,
171
+ },
172
+ };
173
+ }
174
+ function parseWebhookMutationResponse(raw) {
175
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
176
+ return null;
177
+ }
178
+ const o = raw;
179
+ const webhook = parseWebhookDetail(o.webhook ?? o.Webhook);
180
+ if (!webhook) {
181
+ return null;
182
+ }
183
+ return {
184
+ webhook,
185
+ secretEnvVar: String(o.secretEnvVar ?? o.SecretEnvVar ?? '').trim() || undefined,
186
+ inboundUrl: String(o.inboundUrl ?? o.InboundUrl ?? '').trim() || undefined,
187
+ };
188
+ }
189
+ export async function buildAddWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
190
+ const parsed = AddWebhookInputSchema.safeParse(input);
191
+ if (!parsed.success) {
192
+ return { ok: false, reason: 'Invalid add webhook input.' };
193
+ }
194
+ const nameErr = validateWebhookName(parsed.data.name);
195
+ if (nameErr) {
196
+ return { ok: false, reason: nameErr };
197
+ }
198
+ return buildManagementPostRequest(config, {
199
+ path: AGENT_WEBHOOK_API_PATHS.add,
200
+ buildRequestFields: () => ({
201
+ name: normalizeWebhookName(parsed.data.name),
202
+ type: parsed.data.type,
203
+ prompt: parsed.data.prompt.trim(),
204
+ ...(parsed.data.enabled !== undefined
205
+ ? { enabled: parsed.data.enabled }
206
+ : {}),
207
+ }),
208
+ }, signing);
209
+ }
210
+ export async function addWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
211
+ const built = await buildAddWebhook(config, input, signing);
212
+ return postWebhookMutation(config, built, signing, parseWebhookMutationResponse, 'Add webhook response failed validation.');
213
+ }
214
+ export async function buildAddWebhookFromCatalog(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
215
+ const parsed = AddWebhookFromCatalogInputSchema.safeParse(input);
216
+ if (!parsed.success) {
217
+ return { ok: false, reason: 'Invalid add webhook from catalog input.' };
218
+ }
219
+ const nameErr = validateWebhookName(parsed.data.name);
220
+ if (nameErr) {
221
+ return { ok: false, reason: nameErr };
222
+ }
223
+ return buildManagementPostRequest(config, {
224
+ path: AGENT_WEBHOOK_API_PATHS.addFromCatalog,
225
+ buildRequestFields: () => ({
226
+ name: normalizeWebhookName(parsed.data.name),
227
+ ...(parsed.data.enabled !== undefined
228
+ ? { enabled: parsed.data.enabled }
229
+ : {}),
230
+ }),
231
+ }, signing);
232
+ }
233
+ export async function addWebhookFromCatalog(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
234
+ const built = await buildAddWebhookFromCatalog(config, input, signing);
235
+ return postWebhookMutation(config, built, signing, parseWebhookMutationResponse, 'Add webhook from catalog response failed validation.');
236
+ }
237
+ export async function buildUpdateWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
238
+ const parsed = UpdateWebhookInputSchema.safeParse(input);
239
+ if (!parsed.success) {
240
+ return { ok: false, reason: 'Invalid update webhook input.' };
241
+ }
242
+ return buildManagementPostRequest(config, {
243
+ path: AGENT_WEBHOOK_API_PATHS.update,
244
+ buildRequestFields: () => ({
245
+ id: parsed.data.id.trim(),
246
+ ...(parsed.data.prompt !== undefined
247
+ ? { prompt: parsed.data.prompt.trim() }
248
+ : {}),
249
+ ...(parsed.data.type !== undefined ? { type: parsed.data.type } : {}),
250
+ }),
251
+ }, signing);
252
+ }
253
+ export async function updateWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
254
+ const built = await buildUpdateWebhook(config, input, signing);
255
+ return postWebhookMutation(config, built, signing, parseWebhookMutationResponse, 'Update webhook response failed validation.');
256
+ }
257
+ async function buildWebhookRefPost(config, path, input, signing) {
258
+ const parsed = WebhookRefInputSchema.safeParse(input);
259
+ if (!parsed.success) {
260
+ return { ok: false, reason: 'Invalid webhook reference input.' };
261
+ }
262
+ if (parsed.data.name) {
263
+ const nameErr = validateWebhookName(parsed.data.name);
264
+ if (nameErr) {
265
+ return { ok: false, reason: nameErr };
266
+ }
267
+ }
268
+ return buildManagementPostRequest(config, {
269
+ path,
270
+ buildRequestFields: () => ({
271
+ ...(parsed.data.id ? { id: parsed.data.id.trim() } : {}),
272
+ ...(parsed.data.name
273
+ ? { name: normalizeWebhookName(parsed.data.name) }
274
+ : {}),
275
+ }),
276
+ }, signing);
277
+ }
278
+ export async function buildActivateWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
279
+ return buildWebhookRefPost(config, AGENT_WEBHOOK_API_PATHS.activate, input, signing);
280
+ }
281
+ export async function activateWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
282
+ const built = await buildActivateWebhook(config, input, signing);
283
+ return postWebhookMutation(config, built, signing, raw => {
284
+ const webhook = parseWebhookDetail(raw);
285
+ return webhook ? { webhook } : null;
286
+ }, 'Activate webhook response failed validation.');
287
+ }
288
+ export async function buildDeactivateWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
289
+ return buildWebhookRefPost(config, AGENT_WEBHOOK_API_PATHS.deactivate, input, signing);
290
+ }
291
+ export async function deactivateWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
292
+ const built = await buildDeactivateWebhook(config, input, signing);
293
+ return postWebhookMutation(config, built, signing, raw => {
294
+ const webhook = parseWebhookDetail(raw);
295
+ return webhook ? { webhook } : null;
296
+ }, 'Deactivate webhook response failed validation.');
297
+ }
298
+ export async function buildRemoveWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
299
+ return buildWebhookRefPost(config, AGENT_WEBHOOK_API_PATHS.remove, input, signing);
300
+ }
301
+ export async function removeWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
302
+ const built = await buildRemoveWebhook(config, input, signing);
303
+ if (!built.ok) {
304
+ return built;
305
+ }
306
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
307
+ if (!signed.ok) {
308
+ return signed;
309
+ }
310
+ const posted = await managementPost(config, built.data.path, signed.data);
311
+ if (!posted.ok) {
312
+ return posted;
313
+ }
314
+ return {
315
+ ok: true,
316
+ data: {
317
+ message: 'Webhook removed',
318
+ selectedSigningKey: built.data.selectedSigningKey
319
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
320
+ : undefined,
321
+ signingMessage: built.data.canonicalJson,
322
+ },
323
+ };
324
+ }
325
+ export async function buildRunWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
326
+ return buildWebhookRefPost(config, AGENT_WEBHOOK_API_PATHS.run, input, signing);
327
+ }
328
+ export async function runWebhook(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
329
+ const built = await buildRunWebhook(config, input, signing);
330
+ if (!built.ok) {
331
+ return built;
332
+ }
333
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
334
+ if (!signed.ok) {
335
+ return signed;
336
+ }
337
+ const posted = await managementPost(config, built.data.path, signed.data);
338
+ if (!posted.ok) {
339
+ return posted;
340
+ }
341
+ const raw = posted.data && typeof posted.data === 'object' && !Array.isArray(posted.data)
342
+ ? posted.data
343
+ : {};
344
+ const status = String(raw.status ?? raw.Status ?? 'started').trim();
345
+ if (status !== 'started') {
346
+ return { ok: false, reason: 'Run webhook response failed validation.' };
347
+ }
348
+ return {
349
+ ok: true,
350
+ data: {
351
+ status: 'started',
352
+ selectedSigningKey: built.data.selectedSigningKey
353
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
354
+ : undefined,
355
+ signingMessage: built.data.canonicalJson,
356
+ },
357
+ };
358
+ }
359
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/core/agent/webhooks.ts"],"names":[],"mappings":"AACA,OAAO,EACN,wBAAwB,EACxB,aAAa,EACb,cAAc,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,uBAAuB,EACvB,gCAAgC,EAChC,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,GAKrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACN,0BAA0B,EAC1B,cAAc,EACd,oBAAoB,GAEpB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC/C,OAAO,GAAG;SACR,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC/C,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,2BAA2B,CAAC;IACpC,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC5B,OAAO,6CAA6C,CAAC;IACtD,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,iFAAiF,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IAGrC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxD,IACC,CAAC,KAAK,QAAQ;QACd,CAAC,KAAK,OAAO;QACb,CAAC,KAAK,QAAQ;QACd,CAAC,KAAK,QAAQ;QACd,CAAC,KAAK,OAAO;QACb,CAAC,KAAK,UAAU,EACf,CAAC;QACF,OAAO,CAAC,CAAC;IACV,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC;QAClD,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACrC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC3C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;QACjD,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;QACxC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACzE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;QAC1E,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;QAChF,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC5E,sBAAsB,EACrB,MAAM,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACzE,SAAS;QACV,0BAA0B,EAAE,OAAO,CAClC,CAAC,CAAC,0BAA0B,IAAI,CAAC,CAAC,0BAA0B,IAAI,KAAK,CACrE;QACD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;QACjD,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;QACvE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;QACvE,eAAe,EACd,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;KACzE,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY;IACvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC;QACjD,GAAG,OAAO;QACV,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KACjD,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAU,MAAM,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GACT,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5E,CAAC,CAAE,MAAM,CAAC,IAAgC;QAC1C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,CAAC,GAAY,EAAyB,EAAE;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAA0B,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,GAAG,EAAE,CAAC;gBACT,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACF,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,SAAS,CAC/B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAC5E,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC;IAClE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACjD,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,OAAO,EAAE,CAAC;YACX,CAAC;YACD,MAAM,CAAC,GAAG,IAA+B,CAAC;YAC1C,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC;gBACrD,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBAC3C,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;gBACxC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;gBAC9D,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;aACjD,CAAC,CAAC;YACJ,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACN,MAAM,OAAO,GAAG;QACf,cAAc,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ;QACrE,gBAAgB;QAChB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc;KACzD,CAAC;IACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,EAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,MAAqB,EACrB,KAA4C;IAI5C,MAAM,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,wBAAwB,CAAC,uBAAuB,CAAC,GAAG,EAAE;QAClE,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;KACvB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAU,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GACT,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5E,CAAC,CAAE,MAAM,CAAC,IAAgC;QAC1C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAC,CAAC;IACnE,CAAC;IACD,MAAM,UAAU,GACf,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC7E,SAAS,CAAC;IACX,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC,EAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,MAAqB,EACrB,KAA4C,EAC5C,OAAgC,EAChC,SAAqC,EACrC,cAAsB;IAStB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,MAAM,EACN,KAAK,CAAC,IAAI,CAAC,IAAI,EACf,MAAM,CAAC,IAAI,CACX,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAC,CAAC;IAC5C,CAAC;IACD,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,GAAG,MAAM;YACT,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB;gBAChD,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACrD,CAAC,CAAC,SAAS;YACZ,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;SACxC;KACD,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAY;IAKjD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO;QACN,OAAO;QACP,YAAY,EACX,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;QACnE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;KAC1E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAqB,EACrB,KAAsB,EACtB,UAAmC,0BAA0B;IAE7D,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAC,CAAC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;IACrC,CAAC;IACD,OAAO,0BAA0B,CAChC,MAAM,EACN;QACC,IAAI,EAAE,uBAAuB,CAAC,GAAG;QACjC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACtB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAC;gBAChC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;KACF,EACD,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,MAAqB,EACrB,KAAsB,EACtB,UAAmC,0BAA0B;IAE7D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,mBAAmB,CACzB,MAAM,EACN,KAAK,EACL,OAAO,EACP,4BAA4B,EAC5B,yCAAyC,CACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,MAAqB,EACrB,KAAiC,EACjC,UAAmC,0BAA0B;IAE7D,MAAM,MAAM,GAAG,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAC,CAAC;IACvE,CAAC;IACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;IACrC,CAAC;IACD,OAAO,0BAA0B,CAChC,MAAM,EACN;QACC,IAAI,EAAE,uBAAuB,CAAC,cAAc;QAC5C,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAC;gBAChC,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;KACF,EACD,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,MAAqB,EACrB,KAAiC,EACjC,UAAmC,0BAA0B;IAE7D,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,mBAAmB,CACzB,MAAM,EACN,KAAK,EACL,OAAO,EACP,4BAA4B,EAC5B,sDAAsD,CACtD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,MAAqB,EACrB,KAAyB,EACzB,UAAmC,0BAA0B;IAE7D,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAC,CAAC;IAC7D,CAAC;IACD,OAAO,0BAA0B,CAChC,MAAM,EACN;QACC,IAAI,EAAE,uBAAuB,CAAC,MAAM;QACpC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;YACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAC;gBACrC,CAAC,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;KACF,EACD,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAqB,EACrB,KAAyB,EACzB,UAAmC,0BAA0B;IAE7D,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,mBAAmB,CACzB,MAAM,EACN,KAAK,EACL,OAAO,EACP,4BAA4B,EAC5B,4CAA4C,CAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,MAAqB,EACrB,IAAY,EACZ,KAA4C,EAC5C,OAAgC;IAEhC,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;QACrC,CAAC;IACF,CAAC;IACD,OAAO,0BAA0B,CAChC,MAAM,EACN;QACC,IAAI;QACJ,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;gBACnB,CAAC,CAAC,EAAC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;gBAChD,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;KACF,EACD,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAE7D,OAAO,mBAAmB,CACzB,MAAM,EACN,uBAAuB,CAAC,QAAQ,EAChC,KAAK,EACL,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAE7D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjE,OAAO,mBAAmB,CACzB,MAAM,EACN,KAAK,EACL,OAAO,EACP,GAAG,CAAC,EAAE;QACL,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC,EACD,8CAA8C,CAC9C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAE7D,OAAO,mBAAmB,CACzB,MAAM,EACN,uBAAuB,CAAC,UAAU,EAClC,KAAK,EACL,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAE7D,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,mBAAmB,CACzB,MAAM,EACN,KAAK,EACL,OAAO,EACP,GAAG,CAAC,EAAE;QACL,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC,EACD,gDAAgD,CAChD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAE7D,OAAO,mBAAmB,CACzB,MAAM,EACN,uBAAuB,CAAC,MAAM,EAC9B,KAAK,EACL,OAAO,CACP,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAQ7D,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,MAAM,EACN,KAAK,CAAC,IAAI,CAAC,IAAI,EACf,MAAM,CAAC,IAAI,CACX,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,OAAO,EAAE,iBAAiB;YAC1B,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB;gBAChD,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACrD,CAAC,CAAC,SAAS;YACZ,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;SACxC;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAE7D,OAAO,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,MAAqB,EACrB,KAA4C,EAC5C,UAAmC,0BAA0B;IAQ7D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,MAAM,EACN,KAAK,CAAC,IAAI,CAAC,IAAI,EACf,MAAM,CAAC,IAAI,CACX,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GACR,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5E,CAAC,CAAE,MAAM,CAAC,IAAgC;QAC1C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAC,CAAC;IACvE,CAAC;IACD,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,MAAM,EAAE,SAAS;YACjB,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB;gBAChD,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACrD,CAAC,CAAC,SAAS;YACZ,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;SACxC;KACD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"keygen-id.d.ts","sourceRoot":"","sources":["../../src/core/keygen-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAO3C,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAqBvE;AAED,iFAAiF;AACjF,eAAO,MAAM,cAAc,aASzB,CAAC;AAEH,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAKpE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS/D"}
1
+ {"version":3,"file":"keygen-id.d.ts","sourceRoot":"","sources":["../../src/core/keygen-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAO3C,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAqBvE;AAED,iFAAiF;AACjF,eAAO,MAAM,cAAc,aASzB,CAAC;AAEH,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAKpE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAiB/D"}
@@ -40,9 +40,15 @@ export function parseKeyGenRequestId(raw) {
40
40
  }
41
41
  export function clarifyKeyGenLookupError(reason) {
42
42
  const lower = reason.toLowerCase();
43
- if (lower.includes('nil result') || lower.includes('keygen')) {
43
+ if (lower.includes('nil result') || lower.includes('not found')) {
44
+ return ('KeyGen result not found on this node (GET /getKeyGenResultById). Use the full request ID with the KeyGen prefix ' +
45
+ '(e.g. KeyGen20260523150955999f20926c7). The request may show success before this node stores the result; retry or open the KeyGen result in the node UI. ' +
46
+ 'Do not derive an EVM address from pubKey or pubkeyhex.');
47
+ }
48
+ if (lower.includes('keygen')) {
44
49
  return ('KeyGen request or result not found on this node. Use the full request ID with the KeyGen prefix ' +
45
- '(e.g. KeyGen20260523150955999f20926c7). If you only have the hex suffix, the SDK accepts it and adds KeyGen automatically.');
50
+ '(e.g. KeyGen20260523150955999f20926c7). If you only have the hex suffix, the SDK accepts it and adds KeyGen automatically. ' +
51
+ 'Do not derive an EVM address from pubKey or pubkeyhex.');
46
52
  }
47
53
  return reason;
48
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keygen-id.js","sourceRoot":"","sources":["../../src/core/keygen-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,wEAAwE;AACxE,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,wCAAwC,CAAC;AAErE,MAAM,UAAU,wBAAwB,CAAC,GAAW;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAC,CAAC;IAC9D,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC;IACtD,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,EAAC,CAAC;IAC7C,CAAC;IACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC/D,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,sBAAsB,OAAO,qGAAqG;SAC1I,CAAC;IACH,CAAC;IACD,OAAO;QACN,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,8BAA8B,OAAO,uFAAuF;KACpI,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CACL,mBAAmB,EACnB,mGAAmG,CACnG;KACA,QAAQ,CACR,2KAA2K,CAC3K,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;AAEhE,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAC,CAAC;IAC9D,CAAC;IACD,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,OAAO,CACN,kGAAkG;YAClG,4HAA4H,CAC5H,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"keygen-id.js","sourceRoot":"","sources":["../../src/core/keygen-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,wEAAwE;AACxE,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,wCAAwC,CAAC;AAErE,MAAM,UAAU,wBAAwB,CAAC,GAAW;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAC,CAAC;IAC9D,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC;IACtD,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,EAAC,CAAC;IAC7C,CAAC;IACD,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC/D,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,sBAAsB,OAAO,qGAAqG;SAC1I,CAAC;IACH,CAAC;IACD,OAAO;QACN,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,8BAA8B,OAAO,uFAAuF;KACpI,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CACL,mBAAmB,EACnB,mGAAmG,CACnG;KACA,QAAQ,CACR,2KAA2K,CAC3K,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;AAEhE,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAC,CAAC;IAC9D,CAAC;IACD,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjE,OAAO,CACN,kHAAkH;YAClH,2JAA2J;YAC3J,wDAAwD,CACxD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,CACN,kGAAkG;YAClG,6HAA6H;YAC7H,wDAAwD,CACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"keygen.d.ts","sourceRoot":"","sources":["../../src/core/keygen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keygen.d.ts","sourceRoot":"","sources":["../../src/core/keygen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAMvD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAEN,mBAAmB,EAGnB,8BAA8B,EAC9B,2BAA2B,EAC3B,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGN,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAwCrD,eAAO,MAAM,kBAAkB;;;;;;;EAO7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CActC;AAED,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CA0B5B;AAED,4GAA4G;AAC5G,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IACN,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC;CACb,EACD,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CA2BhD;AAED,uCAAuC;AACvC,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IACN,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC;CACb,EACD,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,SAAS,EAAE,QAAQ,CAAC;IACpB,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CAiCA;AAED,uCAAuC;AACvC,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAC,EAC5B,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CA2BhD;AAED,uCAAuC;AACvC,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAC,EAC5B,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CA6BA;AAED,sCAAsC;AACtC,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE;IACR,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACb,GACJ,OAAO,CACT,SAAS,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,EAAE,CAAC;IAChD,eAAe,EAAE,oBAAoB,EAAE,CAAC;CACxC,CAAC,CACF,CAuDA;AAED,0CAA0C;AAC1C,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,EAAE,EAAE,QAAQ,CAAA;CAAC,GACnB,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACb,CAAC,CACF,CAkCA;AAED,4CAA4C;AAC5C,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,EAAE,EAAE,QAAQ,CAAA;CAAC,GACnB,OAAO,CAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC,CAsB3D;AAuBD,iFAAiF;AACjF,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC,CAMjE;AAED,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EACrD,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAehD;AAED,+FAA+F;AAC/F,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EACrD,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAC7D,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CA8BA"}
@@ -7,6 +7,33 @@ import { buildManagementPostRequest, managementSign, toSelectedSigningKey, } fro
7
7
  import { nodeId } from './general.js';
8
8
  import { mpcAuthEnvelopeData } from './mpc/sign-request-utils.js';
9
9
  import { clarifyKeyGenLookupError, parseKeyGenRequestId } from './keygen-id.js';
10
+ const KEYGEN_RESULT_EMPTY_REASON = 'GET /getKeyGenResultById returned no result object. The KeyGen request may be success while this node has not stored the result yet; retry, check another group member node, or open the KeyGen result in the node UI. Do not derive ethereumaddress from pubKey or pubkeyhex.';
11
+ function unwrapKeyGenResultPayload(raw) {
12
+ let current = raw;
13
+ for (let depth = 0; depth < 4; depth++) {
14
+ const envelope = mpcAuthEnvelopeData(current);
15
+ if (envelope != null) {
16
+ current = envelope;
17
+ continue;
18
+ }
19
+ if (!current || typeof current !== 'object' || Array.isArray(current)) {
20
+ return null;
21
+ }
22
+ const row = current;
23
+ const nested = row.result ?? row.Result ?? row.keyGenResult ?? row.KeyGenResult;
24
+ if (nested && typeof nested === 'object' && !Array.isArray(nested)) {
25
+ current = nested;
26
+ continue;
27
+ }
28
+ if (pick(row, ['requestid', 'RequestId', 'id']) != null ||
29
+ pick(row, ['pubkeyhex', 'PubKeyHex']) != null ||
30
+ pick(row, ['ethereumaddress', 'EthereumAddress']) != null) {
31
+ return row;
32
+ }
33
+ return null;
34
+ }
35
+ return null;
36
+ }
10
37
  function resolveKeyGenRequestId(keyGenId) {
11
38
  return parseKeyGenRequestId(keyGenId);
12
39
  }
@@ -27,11 +54,11 @@ export async function fetchKeyGenResult(config, keyGenId) {
27
54
  if (!raw.ok) {
28
55
  return { ok: false, reason: clarifyKeyGenLookupError(raw.reason) };
29
56
  }
30
- const data = mpcAuthEnvelopeData(raw.data) ?? raw.data;
31
- if (!data || typeof data !== 'object' || Array.isArray(data)) {
32
- return { ok: false, reason: 'Invalid getKeyGenResultById response.' };
57
+ const row = unwrapKeyGenResultPayload(raw.data);
58
+ if (!row) {
59
+ return { ok: false, reason: KEYGEN_RESULT_EMPTY_REASON };
33
60
  }
34
- return { ok: true, data: data };
61
+ return { ok: true, data: row };
35
62
  }
36
63
  export async function fetchGlobalNonceByKeyGenId(config, keyGenId) {
37
64
  const resolved = resolveKeyGenRequestId(keyGenId);