@waiaas/daemon 2.9.0 → 2.10.0-rc

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 (172) hide show
  1. package/dist/api/middleware/master-auth.d.ts +3 -0
  2. package/dist/api/middleware/master-auth.d.ts.map +1 -1
  3. package/dist/api/middleware/master-auth.js +14 -0
  4. package/dist/api/middleware/master-auth.js.map +1 -1
  5. package/dist/api/routes/admin.d.ts +4 -0
  6. package/dist/api/routes/admin.d.ts.map +1 -1
  7. package/dist/api/routes/admin.js +186 -1
  8. package/dist/api/routes/admin.js.map +1 -1
  9. package/dist/api/routes/audit-logs.d.ts +15 -0
  10. package/dist/api/routes/audit-logs.d.ts.map +1 -0
  11. package/dist/api/routes/audit-logs.js +119 -0
  12. package/dist/api/routes/audit-logs.js.map +1 -0
  13. package/dist/api/routes/index.d.ts +2 -1
  14. package/dist/api/routes/index.d.ts.map +1 -1
  15. package/dist/api/routes/index.js +2 -1
  16. package/dist/api/routes/index.js.map +1 -1
  17. package/dist/api/routes/openapi-schemas.d.ts +324 -6
  18. package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
  19. package/dist/api/routes/openapi-schemas.js +76 -0
  20. package/dist/api/routes/openapi-schemas.js.map +1 -1
  21. package/dist/api/routes/sessions.d.ts +2 -0
  22. package/dist/api/routes/sessions.d.ts.map +1 -1
  23. package/dist/api/routes/sessions.js +21 -0
  24. package/dist/api/routes/sessions.js.map +1 -1
  25. package/dist/api/routes/transactions.d.ts +2 -1
  26. package/dist/api/routes/transactions.d.ts.map +1 -1
  27. package/dist/api/routes/transactions.js +72 -1
  28. package/dist/api/routes/transactions.js.map +1 -1
  29. package/dist/api/routes/wallets.d.ts.map +1 -1
  30. package/dist/api/routes/wallets.js +25 -0
  31. package/dist/api/routes/wallets.js.map +1 -1
  32. package/dist/api/routes/webhooks.d.ts +17 -0
  33. package/dist/api/routes/webhooks.d.ts.map +1 -0
  34. package/dist/api/routes/webhooks.js +218 -0
  35. package/dist/api/routes/webhooks.js.map +1 -0
  36. package/dist/api/server.d.ts +27 -0
  37. package/dist/api/server.d.ts.map +1 -1
  38. package/dist/api/server.js +31 -5
  39. package/dist/api/server.js.map +1 -1
  40. package/dist/index.d.ts +3 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +2 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/infrastructure/backup/backup-format.d.ts +107 -0
  45. package/dist/infrastructure/backup/backup-format.d.ts.map +1 -0
  46. package/dist/infrastructure/backup/backup-format.js +134 -0
  47. package/dist/infrastructure/backup/backup-format.js.map +1 -0
  48. package/dist/infrastructure/backup/encrypted-backup-service.d.ts +56 -0
  49. package/dist/infrastructure/backup/encrypted-backup-service.d.ts.map +1 -0
  50. package/dist/infrastructure/backup/encrypted-backup-service.js +269 -0
  51. package/dist/infrastructure/backup/encrypted-backup-service.js.map +1 -0
  52. package/dist/infrastructure/backup/index.d.ts +3 -0
  53. package/dist/infrastructure/backup/index.d.ts.map +1 -1
  54. package/dist/infrastructure/backup/index.js +2 -0
  55. package/dist/infrastructure/backup/index.js.map +1 -1
  56. package/dist/infrastructure/config/loader.d.ts +23 -0
  57. package/dist/infrastructure/config/loader.d.ts.map +1 -1
  58. package/dist/infrastructure/config/loader.js +8 -0
  59. package/dist/infrastructure/config/loader.js.map +1 -1
  60. package/dist/infrastructure/database/audit-helper.d.ts +29 -0
  61. package/dist/infrastructure/database/audit-helper.d.ts.map +1 -0
  62. package/dist/infrastructure/database/audit-helper.js +30 -0
  63. package/dist/infrastructure/database/audit-helper.js.map +1 -0
  64. package/dist/infrastructure/database/index.d.ts +2 -0
  65. package/dist/infrastructure/database/index.d.ts.map +1 -1
  66. package/dist/infrastructure/database/index.js +1 -0
  67. package/dist/infrastructure/database/index.js.map +1 -1
  68. package/dist/infrastructure/database/migrate.d.ts +1 -1
  69. package/dist/infrastructure/database/migrate.d.ts.map +1 -1
  70. package/dist/infrastructure/database/migrate.js +83 -2
  71. package/dist/infrastructure/database/migrate.js.map +1 -1
  72. package/dist/infrastructure/database/schema.d.ts +343 -1
  73. package/dist/infrastructure/database/schema.d.ts.map +1 -1
  74. package/dist/infrastructure/database/schema.js +41 -1
  75. package/dist/infrastructure/database/schema.js.map +1 -1
  76. package/dist/infrastructure/metrics/in-memory-counter.d.ts +34 -0
  77. package/dist/infrastructure/metrics/in-memory-counter.d.ts.map +1 -0
  78. package/dist/infrastructure/metrics/in-memory-counter.js +88 -0
  79. package/dist/infrastructure/metrics/in-memory-counter.js.map +1 -0
  80. package/dist/infrastructure/settings/hot-reload.d.ts +1 -0
  81. package/dist/infrastructure/settings/hot-reload.d.ts.map +1 -1
  82. package/dist/infrastructure/settings/hot-reload.js +23 -2
  83. package/dist/infrastructure/settings/hot-reload.js.map +1 -1
  84. package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -1
  85. package/dist/infrastructure/settings/setting-keys.js +4 -0
  86. package/dist/infrastructure/settings/setting-keys.js.map +1 -1
  87. package/dist/infrastructure/telegram/telegram-bot-service.d.ts +2 -0
  88. package/dist/infrastructure/telegram/telegram-bot-service.d.ts.map +1 -1
  89. package/dist/infrastructure/telegram/telegram-bot-service.js +36 -19
  90. package/dist/infrastructure/telegram/telegram-bot-service.js.map +1 -1
  91. package/dist/lifecycle/daemon.d.ts +21 -1
  92. package/dist/lifecycle/daemon.d.ts.map +1 -1
  93. package/dist/lifecycle/daemon.js +131 -2
  94. package/dist/lifecycle/daemon.js.map +1 -1
  95. package/dist/pipeline/dry-run.d.ts +68 -0
  96. package/dist/pipeline/dry-run.d.ts.map +1 -0
  97. package/dist/pipeline/dry-run.js +426 -0
  98. package/dist/pipeline/dry-run.js.map +1 -0
  99. package/dist/pipeline/index.d.ts +1 -0
  100. package/dist/pipeline/index.d.ts.map +1 -1
  101. package/dist/pipeline/index.js +2 -0
  102. package/dist/pipeline/index.js.map +1 -1
  103. package/dist/pipeline/pipeline.d.ts +18 -1
  104. package/dist/pipeline/pipeline.d.ts.map +1 -1
  105. package/dist/pipeline/pipeline.js +38 -0
  106. package/dist/pipeline/pipeline.js.map +1 -1
  107. package/dist/pipeline/stages.d.ts +31 -1
  108. package/dist/pipeline/stages.d.ts.map +1 -1
  109. package/dist/pipeline/stages.js +120 -22
  110. package/dist/pipeline/stages.js.map +1 -1
  111. package/dist/services/admin-stats-service.d.ts +48 -0
  112. package/dist/services/admin-stats-service.d.ts.map +1 -0
  113. package/dist/services/admin-stats-service.js +182 -0
  114. package/dist/services/admin-stats-service.js.map +1 -0
  115. package/dist/services/autostop/autostop-service.d.ts +83 -0
  116. package/dist/services/autostop/autostop-service.d.ts.map +1 -0
  117. package/dist/services/autostop/autostop-service.js +252 -0
  118. package/dist/services/autostop/autostop-service.js.map +1 -0
  119. package/dist/services/autostop/index.d.ts +15 -0
  120. package/dist/services/autostop/index.d.ts.map +1 -0
  121. package/dist/services/autostop/index.js +11 -0
  122. package/dist/services/autostop/index.js.map +1 -0
  123. package/dist/services/autostop/rule-registry.d.ts +42 -0
  124. package/dist/services/autostop/rule-registry.d.ts.map +1 -0
  125. package/dist/services/autostop/rule-registry.js +54 -0
  126. package/dist/services/autostop/rule-registry.js.map +1 -0
  127. package/dist/services/autostop/rules/consecutive-failures.rule.d.ts +38 -0
  128. package/dist/services/autostop/rules/consecutive-failures.rule.d.ts.map +1 -0
  129. package/dist/services/autostop/rules/consecutive-failures.rule.js +75 -0
  130. package/dist/services/autostop/rules/consecutive-failures.rule.js.map +1 -0
  131. package/dist/services/autostop/rules/idle-timeout.rule.d.ts +43 -0
  132. package/dist/services/autostop/rules/idle-timeout.rule.d.ts.map +1 -0
  133. package/dist/services/autostop/rules/idle-timeout.rule.js +128 -0
  134. package/dist/services/autostop/rules/idle-timeout.rule.js.map +1 -0
  135. package/dist/services/autostop/rules/unusual-activity.rule.d.ts +33 -0
  136. package/dist/services/autostop/rules/unusual-activity.rule.d.ts.map +1 -0
  137. package/dist/services/autostop/rules/unusual-activity.rule.js +73 -0
  138. package/dist/services/autostop/rules/unusual-activity.rule.js.map +1 -0
  139. package/dist/services/autostop/types.d.ts +49 -0
  140. package/dist/services/autostop/types.d.ts.map +1 -0
  141. package/dist/services/autostop/types.js +10 -0
  142. package/dist/services/autostop/types.js.map +1 -0
  143. package/dist/services/autostop-rules.d.ts +11 -74
  144. package/dist/services/autostop-rules.d.ts.map +1 -1
  145. package/dist/services/autostop-rules.js +9 -169
  146. package/dist/services/autostop-rules.js.map +1 -1
  147. package/dist/services/autostop-service.d.ts +6 -77
  148. package/dist/services/autostop-service.d.ts.map +1 -1
  149. package/dist/services/autostop-service.js +5 -212
  150. package/dist/services/autostop-service.js.map +1 -1
  151. package/dist/services/kill-switch-service.d.ts.map +1 -1
  152. package/dist/services/kill-switch-service.js +36 -21
  153. package/dist/services/kill-switch-service.js.map +1 -1
  154. package/dist/services/signing-sdk/sign-response-handler.d.ts +3 -0
  155. package/dist/services/signing-sdk/sign-response-handler.d.ts.map +1 -1
  156. package/dist/services/signing-sdk/sign-response-handler.js +5 -0
  157. package/dist/services/signing-sdk/sign-response-handler.js.map +1 -1
  158. package/dist/services/webhook-delivery-queue.d.ts +53 -0
  159. package/dist/services/webhook-delivery-queue.d.ts.map +1 -0
  160. package/dist/services/webhook-delivery-queue.js +118 -0
  161. package/dist/services/webhook-delivery-queue.js.map +1 -0
  162. package/dist/services/webhook-service.d.ts +46 -0
  163. package/dist/services/webhook-service.d.ts.map +1 -0
  164. package/dist/services/webhook-service.js +160 -0
  165. package/dist/services/webhook-service.js.map +1 -0
  166. package/dist/workflow/approval-workflow.d.ts +2 -0
  167. package/dist/workflow/approval-workflow.d.ts.map +1 -1
  168. package/dist/workflow/approval-workflow.js +6 -1
  169. package/dist/workflow/approval-workflow.js.map +1 -1
  170. package/package.json +5 -5
  171. package/public/admin/assets/{index-CBU6NfOH.js → index-RagPnRU1.js} +2 -2
  172. package/public/admin/index.html +1 -1
@@ -18,6 +18,7 @@ import { createHash } from 'node:crypto';
18
18
  import { WAIaaSError, getSingleNetwork, getNetworksForEnvironment, BUILTIN_PRESETS } from '@waiaas/core';
19
19
  import { wallets, sessions, sessionWallets, transactions } from '../../infrastructure/database/schema.js';
20
20
  import { generateId } from '../../infrastructure/database/id.js';
21
+ import { insertAuditLog } from '../../infrastructure/database/audit-helper.js';
21
22
  import { resolveOwnerState, OwnerLifecycleService } from '../../workflow/owner-state.js';
22
23
  import { PresetAutoSetupService } from '../../services/signing-sdk/preset-auto-setup.js';
23
24
  import { validateOwnerAddress } from '../middleware/address-validation.js';
@@ -326,6 +327,14 @@ export function walletCrudRoutes(deps) {
326
327
  createdAt: now,
327
328
  updatedAt: now,
328
329
  });
330
+ // Audit log: WALLET_CREATED
331
+ insertAuditLog(deps.sqlite, {
332
+ eventType: 'WALLET_CREATED',
333
+ actor: 'master',
334
+ walletId: id,
335
+ details: { chain: parsed.chain, environment, publicKey },
336
+ severity: 'info',
337
+ });
329
338
  // Auto-create session if requested (default: true)
330
339
  let session = null;
331
340
  if (parsed.createSession && deps.jwtSecretManager) {
@@ -559,6 +568,14 @@ export function walletCrudRoutes(deps) {
559
568
  })
560
569
  .where(eq(wallets.id, walletId))
561
570
  .run();
571
+ // Audit log: WALLET_SUSPENDED (manual suspend)
572
+ insertAuditLog(deps.sqlite, {
573
+ eventType: 'WALLET_SUSPENDED',
574
+ actor: 'master',
575
+ walletId,
576
+ details: { reason, previousStatus: wallet.status, trigger: 'manual' },
577
+ severity: 'warning',
578
+ });
562
579
  return c.json({
563
580
  id: walletId,
564
581
  status: 'SUSPENDED',
@@ -678,6 +695,14 @@ export function walletCrudRoutes(deps) {
678
695
  deps.sqlite.prepare('UPDATE wallets SET owner_approval_method = ? WHERE id = ?').run(body.approval_method, walletId);
679
696
  }
680
697
  }
698
+ // Audit log: OWNER_REGISTERED
699
+ insertAuditLog(deps.sqlite, {
700
+ eventType: 'OWNER_REGISTERED',
701
+ actor: 'master',
702
+ walletId,
703
+ details: { ownerAddress: normalizedAddress, chain: wallet.chain },
704
+ severity: 'info',
705
+ });
681
706
  // Fire-and-forget: notify owner set
682
707
  void deps.notificationService?.notify('OWNER_SET', walletId, {
683
708
  ownerAddress: normalizedAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../src/api/routes/wallets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../src/api/routes/wallets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Webhook CRUD + logs routes: POST/GET/DELETE /v1/webhooks, GET /v1/webhooks/:id/logs
3
+ *
4
+ * Manages webhook subscriptions for outbound event delivery.
5
+ * Secret security model: generated as 64-char hex, stored as SHA-256 hash + AES-GCM encrypted,
6
+ * returned once on POST, never exposed on GET.
7
+ *
8
+ * @see .planning/milestones/v30.0-phases/307/DESIGN-SPEC.md (OPS-04 section 6)
9
+ */
10
+ import { OpenAPIHono } from '@hono/zod-openapi';
11
+ import type { Database as SQLiteDatabase } from 'better-sqlite3';
12
+ export interface WebhookRouteDeps {
13
+ sqlite: SQLiteDatabase;
14
+ masterPassword: string;
15
+ }
16
+ export declare function webhookRoutes(deps: WebhookRouteDeps): OpenAPIHono;
17
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/api/routes/webhooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAiBjE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AA0GD,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CAwJjE"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Webhook CRUD + logs routes: POST/GET/DELETE /v1/webhooks, GET /v1/webhooks/:id/logs
3
+ *
4
+ * Manages webhook subscriptions for outbound event delivery.
5
+ * Secret security model: generated as 64-char hex, stored as SHA-256 hash + AES-GCM encrypted,
6
+ * returned once on POST, never exposed on GET.
7
+ *
8
+ * @see .planning/milestones/v30.0-phases/307/DESIGN-SPEC.md (OPS-04 section 6)
9
+ */
10
+ import { randomBytes, createHash } from 'node:crypto';
11
+ import { OpenAPIHono, createRoute } from '@hono/zod-openapi';
12
+ import { z } from '@hono/zod-openapi';
13
+ import { CreateWebhookRequestSchema, WebhookResponseSchema, CreateWebhookResponseSchema, WebhookLogSchema, WebhookLogQuerySchema, WAIaaSError, } from '@waiaas/core';
14
+ import { encryptSettingValue } from '../../infrastructure/settings/settings-crypto.js';
15
+ import { generateId } from '../../infrastructure/database/id.js';
16
+ import { buildErrorResponses, openApiValidationHook } from './openapi-schemas.js';
17
+ // ---------------------------------------------------------------------------
18
+ // Route definitions
19
+ // ---------------------------------------------------------------------------
20
+ const postWebhookRoute = createRoute({
21
+ method: 'post',
22
+ path: '/webhooks',
23
+ tags: ['Webhooks'],
24
+ summary: 'Register a new webhook',
25
+ description: 'Creates a webhook subscription. Returns a 64-char hex secret (one-time only). The secret is stored encrypted and never returned again.',
26
+ request: {
27
+ body: {
28
+ content: {
29
+ 'application/json': {
30
+ schema: CreateWebhookRequestSchema,
31
+ },
32
+ },
33
+ },
34
+ },
35
+ responses: {
36
+ 201: {
37
+ description: 'Webhook created with secret (one-time)',
38
+ content: {
39
+ 'application/json': {
40
+ schema: CreateWebhookResponseSchema,
41
+ },
42
+ },
43
+ },
44
+ ...buildErrorResponses(['INVALID_MASTER_PASSWORD']),
45
+ },
46
+ });
47
+ const getWebhooksRoute = createRoute({
48
+ method: 'get',
49
+ path: '/webhooks',
50
+ tags: ['Webhooks'],
51
+ summary: 'List all webhooks',
52
+ description: 'Returns all registered webhooks. Secret is never exposed.',
53
+ responses: {
54
+ 200: {
55
+ description: 'Webhook list',
56
+ content: {
57
+ 'application/json': {
58
+ schema: z.object({
59
+ data: z.array(WebhookResponseSchema),
60
+ }),
61
+ },
62
+ },
63
+ },
64
+ ...buildErrorResponses(['INVALID_MASTER_PASSWORD']),
65
+ },
66
+ });
67
+ const deleteWebhookRoute = createRoute({
68
+ method: 'delete',
69
+ path: '/webhooks/{id}',
70
+ tags: ['Webhooks'],
71
+ summary: 'Delete a webhook',
72
+ description: 'Deletes a webhook and CASCADE-deletes associated delivery logs.',
73
+ request: {
74
+ params: z.object({
75
+ id: z.string().uuid(),
76
+ }),
77
+ },
78
+ responses: {
79
+ 204: {
80
+ description: 'Webhook deleted',
81
+ },
82
+ ...buildErrorResponses(['INVALID_MASTER_PASSWORD', 'WEBHOOK_NOT_FOUND']),
83
+ },
84
+ });
85
+ const getWebhookLogsRoute = createRoute({
86
+ method: 'get',
87
+ path: '/webhooks/{id}/logs',
88
+ tags: ['Webhooks'],
89
+ summary: 'Get webhook delivery logs',
90
+ description: 'Returns delivery log entries for a specific webhook, sorted by created_at DESC.',
91
+ request: {
92
+ params: z.object({
93
+ id: z.string().uuid(),
94
+ }),
95
+ query: WebhookLogQuerySchema,
96
+ },
97
+ responses: {
98
+ 200: {
99
+ description: 'Webhook delivery logs',
100
+ content: {
101
+ 'application/json': {
102
+ schema: z.object({
103
+ data: z.array(WebhookLogSchema),
104
+ }),
105
+ },
106
+ },
107
+ },
108
+ ...buildErrorResponses(['INVALID_MASTER_PASSWORD', 'WEBHOOK_NOT_FOUND']),
109
+ },
110
+ });
111
+ // ---------------------------------------------------------------------------
112
+ // Route handler
113
+ // ---------------------------------------------------------------------------
114
+ export function webhookRoutes(deps) {
115
+ const router = new OpenAPIHono({ defaultHook: openApiValidationHook });
116
+ // POST /v1/webhooks -- register
117
+ router.openapi(postWebhookRoute, (c) => {
118
+ const body = c.req.valid('json');
119
+ // Generate secret
120
+ const secret = randomBytes(32).toString('hex'); // 64-char hex
121
+ const secretHash = createHash('sha256').update(secret).digest('hex');
122
+ const secretEncrypted = encryptSettingValue(secret, deps.masterPassword);
123
+ const id = generateId();
124
+ const now = Math.floor(Date.now() / 1000);
125
+ const events = body.events ?? [];
126
+ const description = body.description ?? null;
127
+ deps.sqlite
128
+ .prepare(`INSERT INTO webhooks (id, url, secret_hash, secret_encrypted, events, description, enabled, created_at, updated_at)
129
+ VALUES (?, ?, ?, ?, ?, ?, 1, ?, ?)`)
130
+ .run(id, body.url, secretHash, secretEncrypted, JSON.stringify(events), description, now, now);
131
+ return c.json({
132
+ id,
133
+ url: body.url,
134
+ events: events,
135
+ description,
136
+ enabled: true,
137
+ secret,
138
+ createdAt: now,
139
+ updatedAt: now,
140
+ }, 201);
141
+ });
142
+ // GET /v1/webhooks -- list
143
+ router.openapi(getWebhooksRoute, (c) => {
144
+ const rows = deps.sqlite
145
+ .prepare('SELECT id, url, events, description, enabled, created_at, updated_at FROM webhooks ORDER BY created_at DESC')
146
+ .all();
147
+ const data = rows.map((row) => ({
148
+ id: row.id,
149
+ url: row.url,
150
+ events: JSON.parse(row.events),
151
+ description: row.description,
152
+ enabled: row.enabled === 1,
153
+ createdAt: row.created_at,
154
+ updatedAt: row.updated_at,
155
+ }));
156
+ return c.json({ data }, 200);
157
+ });
158
+ // DELETE /v1/webhooks/:id
159
+ router.openapi(deleteWebhookRoute, (c) => {
160
+ const { id } = c.req.valid('param');
161
+ // Check exists
162
+ const existing = deps.sqlite
163
+ .prepare('SELECT id FROM webhooks WHERE id = ?')
164
+ .get(id);
165
+ if (!existing) {
166
+ throw new WAIaaSError('WEBHOOK_NOT_FOUND');
167
+ }
168
+ // Enable foreign keys for CASCADE
169
+ deps.sqlite.exec('PRAGMA foreign_keys = ON');
170
+ deps.sqlite.prepare('DELETE FROM webhooks WHERE id = ?').run(id);
171
+ return c.body(null, 204);
172
+ });
173
+ // GET /v1/webhooks/:id/logs -- delivery logs
174
+ router.openapi(getWebhookLogsRoute, (c) => {
175
+ const { id } = c.req.valid('param');
176
+ const query = c.req.valid('query');
177
+ // Check webhook exists
178
+ const existing = deps.sqlite
179
+ .prepare('SELECT id FROM webhooks WHERE id = ?')
180
+ .get(id);
181
+ if (!existing) {
182
+ throw new WAIaaSError('WEBHOOK_NOT_FOUND');
183
+ }
184
+ // Build query with optional filters
185
+ const conditions = ['webhook_id = ?'];
186
+ const params = [id];
187
+ if (query.status) {
188
+ conditions.push('status = ?');
189
+ params.push(query.status);
190
+ }
191
+ if (query.event_type) {
192
+ conditions.push('event_type = ?');
193
+ params.push(query.event_type);
194
+ }
195
+ const limit = query.limit ?? 20;
196
+ params.push(limit);
197
+ const sql = `SELECT id, webhook_id, event_type, status, http_status, attempt, error, request_duration, created_at
198
+ FROM webhook_logs
199
+ WHERE ${conditions.join(' AND ')}
200
+ ORDER BY created_at DESC
201
+ LIMIT ?`;
202
+ const rows = deps.sqlite.prepare(sql).all(...params);
203
+ const data = rows.map((row) => ({
204
+ id: row.id,
205
+ webhookId: row.webhook_id,
206
+ eventType: row.event_type,
207
+ status: row.status,
208
+ httpStatus: row.http_status,
209
+ attempt: row.attempt,
210
+ error: row.error,
211
+ requestDuration: row.request_duration,
212
+ createdAt: row.created_at,
213
+ }));
214
+ return c.json({ data }, 200);
215
+ });
216
+ return router;
217
+ }
218
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/api/routes/webhooks.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,33 @@ export interface CreateAppDeps {
77
77
  incomingTxMonitorService?: {
78
78
  syncSubscriptions(): void | Promise<void>;
79
79
  };
80
+ /** Duck-typed to avoid circular import with EncryptedBackupService */
81
+ encryptedBackupService?: {
82
+ createBackup(password: string): Promise<{
83
+ path: string;
84
+ filename: string;
85
+ size: number;
86
+ created_at: string;
87
+ daemon_version: string;
88
+ schema_version: number;
89
+ file_count: number;
90
+ }>;
91
+ listBackups(): Array<{
92
+ path: string;
93
+ filename: string;
94
+ size: number;
95
+ created_at: string;
96
+ daemon_version: string;
97
+ schema_version: number;
98
+ file_count: number;
99
+ }>;
100
+ };
101
+ /** AdminStatsService for GET /admin/stats (STAT-01) */
102
+ adminStatsService?: import('../services/admin-stats-service.js').AdminStatsService;
103
+ /** AutoStopService for /admin/autostop routes (PLUG-03) */
104
+ autoStopService?: import('../services/autostop/autostop-service.js').AutoStopService;
105
+ /** InMemoryCounter for tx/rpc metrics (STAT-02) */
106
+ metricsCounter?: import('@waiaas/core').IMetricsCounter;
80
107
  }
81
108
  /**
82
109
  * Create a Hono app instance with all middleware and routes configured.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,8 @@ import { adminRoutes } from './routes/admin.js';
44
44
  import { createWalletAppsRoutes } from './routes/wallet-apps.js';
45
45
  import { tokenRegistryRoutes } from './routes/tokens.js';
46
46
  import { connectInfoRoutes } from './routes/connect-info.js';
47
+ import { auditLogRoutes } from './routes/audit-logs.js';
48
+ import { webhookRoutes } from './routes/webhooks.js';
47
49
  import { incomingRoutes } from './routes/incoming.js';
48
50
  import { createStakingRoutes } from './routes/staking.js';
49
51
  import { createDefiPositionRoutes } from './routes/defi-positions.js';
@@ -77,7 +79,7 @@ export function createApp(deps = {}) {
77
79
  app.onError(errorHandler);
78
80
  // Register route-level auth middleware on the app (before sub-routers)
79
81
  if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
80
- const masterAuth = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
82
+ const masterAuth = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef, sqlite: deps.sqlite });
81
83
  app.use('/v1/wallets', masterAuth);
82
84
  // /v1/policies: GET allows sessionAuth or masterAuth, others require masterAuth only
83
85
  app.use('/v1/policies', async (c, next) => {
@@ -109,7 +111,7 @@ export function createApp(deps = {}) {
109
111
  }
110
112
  // masterAuth for GET /v1/wallets/:id (wallet detail) -- skip sub-paths with own auth
111
113
  if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
112
- const masterAuthForWalletDetail = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
114
+ const masterAuthForWalletDetail = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef, sqlite: deps.sqlite });
113
115
  app.use('/v1/wallets/:id', async (c, next) => {
114
116
  // Skip sub-paths that have their own masterAuth registered below
115
117
  if (c.req.path.includes('/owner') || c.req.path.includes('/networks') || c.req.path.includes('/wc/')) {
@@ -121,13 +123,13 @@ export function createApp(deps = {}) {
121
123
  }
122
124
  // masterAuth for PUT /v1/wallets/:id/owner
123
125
  if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
124
- const masterAuthForOwner = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
126
+ const masterAuthForOwner = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef, sqlite: deps.sqlite });
125
127
  app.use('/v1/wallets/:id/owner', masterAuthForOwner);
126
128
  app.use('/v1/wallets/:id/networks', masterAuthForOwner);
127
129
  }
128
130
  // masterAuth for WalletConnect routes
129
131
  if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
130
- const masterAuthForWc = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
132
+ const masterAuthForWc = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef, sqlite: deps.sqlite });
131
133
  app.use('/v1/wallets/:id/wc/*', masterAuthForWc);
132
134
  }
133
135
  if (deps.jwtSecretManager && deps.db) {
@@ -192,7 +194,7 @@ export function createApp(deps = {}) {
192
194
  }
193
195
  // masterAuth for admin routes (except GET /admin/kill-switch which is public)
194
196
  if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
195
- const masterAuthForAdmin = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
197
+ const masterAuthForAdmin = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef, sqlite: deps.sqlite });
196
198
  app.use('/v1/admin/status', masterAuthForAdmin);
197
199
  app.use('/v1/admin/kill-switch', async (c, next) => {
198
200
  // POST requires masterAuth, GET is public
@@ -235,6 +237,17 @@ export function createApp(deps = {}) {
235
237
  app.use('/v1/admin/rpc-status', masterAuthForAdmin);
236
238
  app.use('/v1/admin/defi/*', masterAuthForAdmin);
237
239
  app.use('/v1/admin/master-password', masterAuthForAdmin);
240
+ // masterAuth for audit-logs query API (OPS-02)
241
+ app.use('/v1/audit-logs', masterAuthForAdmin);
242
+ // masterAuth for webhook CRUD API (OPS-04)
243
+ app.use('/v1/webhooks', masterAuthForAdmin);
244
+ app.use('/v1/webhooks/*', masterAuthForAdmin);
245
+ // masterAuth for admin stats + autostop rules API (STAT-01, PLUG-03)
246
+ app.use('/v1/admin/stats', masterAuthForAdmin);
247
+ app.use('/v1/admin/autostop/*', masterAuthForAdmin);
248
+ // masterAuth for encrypted backup API (OPS-03)
249
+ app.use('/v1/admin/backup', masterAuthForAdmin);
250
+ app.use('/v1/admin/backups', masterAuthForAdmin);
238
251
  // masterAuth for GET /v1/actions/providers (Admin UI reads provider list)
239
252
  app.use('/v1/actions/providers', async (c, next) => {
240
253
  if (c.req.method === 'GET') {
@@ -290,6 +303,7 @@ export function createApp(deps = {}) {
290
303
  if (deps.db && deps.jwtSecretManager && deps.config) {
291
304
  app.route('/v1', sessionRoutes({
292
305
  db: deps.db,
306
+ sqlite: deps.sqlite,
293
307
  jwtSecretManager: deps.jwtSecretManager,
294
308
  config: deps.config,
295
309
  notificationService: deps.notificationService,
@@ -364,6 +378,7 @@ export function createApp(deps = {}) {
364
378
  eventBus: deps.eventBus,
365
379
  wcSigningBridgeRef: deps.wcSigningBridgeRef,
366
380
  approvalChannelRouter: deps.approvalChannelRouter,
381
+ metricsCounter: deps.metricsCounter,
367
382
  }));
368
383
  }
369
384
  // Register action routes when registry + pipeline deps are available
@@ -470,6 +485,9 @@ export function createApp(deps = {}) {
470
485
  delayQueue: deps.delayQueue,
471
486
  approvalWorkflow: deps.approvalWorkflow,
472
487
  rpcPool: deps.adapterPool?.pool,
488
+ encryptedBackupService: deps.encryptedBackupService,
489
+ adminStatsService: deps.adminStatsService,
490
+ autoStopService: deps.autoStopService,
473
491
  }));
474
492
  // Register wallet apps routes (masterAuth via admin middleware)
475
493
  if (deps.sqlite) {
@@ -499,6 +517,14 @@ export function createApp(deps = {}) {
499
517
  app.route('/v1', ownerKsRouter);
500
518
  }
501
519
  }
520
+ // Register audit log query routes (masterAuth required)
521
+ if (deps.sqlite) {
522
+ app.route('/v1', auditLogRoutes({ sqlite: deps.sqlite }));
523
+ }
524
+ // Register webhook CRUD routes (masterAuth required)
525
+ if (deps.sqlite && effectiveMasterPassword) {
526
+ app.route('/v1', webhookRoutes({ sqlite: deps.sqlite, masterPassword: effectiveMasterPassword }));
527
+ }
502
528
  // Register token registry routes when DB is available
503
529
  if (deps.db && tokenRegistryService) {
504
530
  app.route('/v1', tokenRegistryRoutes({