@fuzdev/fuz_app 0.52.0 → 0.53.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.
Files changed (247) hide show
  1. package/dist/actions/CLAUDE.md +29 -9
  2. package/dist/actions/action_codegen.d.ts +10 -35
  3. package/dist/actions/action_codegen.d.ts.map +1 -1
  4. package/dist/actions/action_codegen.js +13 -42
  5. package/dist/actions/action_peer.d.ts.map +1 -1
  6. package/dist/actions/action_peer.js +0 -9
  7. package/dist/actions/action_registry.d.ts +0 -4
  8. package/dist/actions/action_registry.d.ts.map +1 -1
  9. package/dist/actions/action_registry.js +4 -10
  10. package/dist/actions/action_rpc.d.ts +16 -0
  11. package/dist/actions/action_rpc.d.ts.map +1 -1
  12. package/dist/actions/action_rpc.js +41 -20
  13. package/dist/actions/action_spec.d.ts +54 -5
  14. package/dist/actions/action_spec.d.ts.map +1 -1
  15. package/dist/actions/action_spec.js +21 -5
  16. package/dist/actions/frontend_rpc_client.d.ts +1 -9
  17. package/dist/actions/frontend_rpc_client.d.ts.map +1 -1
  18. package/dist/actions/frontend_rpc_client.js +1 -9
  19. package/dist/actions/register_action_ws.d.ts +16 -0
  20. package/dist/actions/register_action_ws.d.ts.map +1 -1
  21. package/dist/actions/register_action_ws.js +41 -1
  22. package/dist/actions/request_tracker.svelte.d.ts +10 -15
  23. package/dist/actions/request_tracker.svelte.d.ts.map +1 -1
  24. package/dist/actions/request_tracker.svelte.js +10 -15
  25. package/dist/actions/rpc_client.d.ts +0 -1
  26. package/dist/actions/rpc_client.d.ts.map +1 -1
  27. package/dist/actions/rpc_client.js +3 -17
  28. package/dist/actions/socket.svelte.d.ts +0 -1
  29. package/dist/actions/socket.svelte.d.ts.map +1 -1
  30. package/dist/actions/socket.svelte.js +0 -1
  31. package/dist/actions/transports.d.ts +4 -3
  32. package/dist/actions/transports.d.ts.map +1 -1
  33. package/dist/actions/transports.js +4 -13
  34. package/dist/actions/transports_ws_auth_guard.d.ts +0 -2
  35. package/dist/actions/transports_ws_auth_guard.d.ts.map +1 -1
  36. package/dist/actions/transports_ws_auth_guard.js +0 -2
  37. package/dist/actions/transports_ws_backend.d.ts.map +1 -1
  38. package/dist/actions/transports_ws_backend.js +0 -9
  39. package/dist/auth/CLAUDE.md +24 -14
  40. package/dist/auth/account_queries.d.ts +0 -3
  41. package/dist/auth/account_queries.d.ts.map +1 -1
  42. package/dist/auth/account_queries.js +0 -3
  43. package/dist/auth/admin_action_specs.d.ts +5 -0
  44. package/dist/auth/admin_action_specs.d.ts.map +1 -1
  45. package/dist/auth/admin_action_specs.js +5 -0
  46. package/dist/auth/api_token_queries.d.ts +0 -1
  47. package/dist/auth/api_token_queries.d.ts.map +1 -1
  48. package/dist/auth/api_token_queries.js +0 -1
  49. package/dist/auth/audit_log_queries.d.ts +0 -1
  50. package/dist/auth/audit_log_queries.d.ts.map +1 -1
  51. package/dist/auth/audit_log_queries.js +0 -1
  52. package/dist/auth/audit_log_routes.d.ts +2 -2
  53. package/dist/auth/audit_log_routes.js +2 -2
  54. package/dist/auth/invite_queries.d.ts +0 -1
  55. package/dist/auth/invite_queries.d.ts.map +1 -1
  56. package/dist/auth/invite_queries.js +0 -1
  57. package/dist/auth/permit_offer_action_specs.d.ts +1 -0
  58. package/dist/auth/permit_offer_action_specs.d.ts.map +1 -1
  59. package/dist/auth/permit_offer_action_specs.js +1 -0
  60. package/dist/auth/permit_offer_queries.d.ts +0 -1
  61. package/dist/auth/permit_offer_queries.d.ts.map +1 -1
  62. package/dist/auth/permit_offer_queries.js +0 -1
  63. package/dist/auth/permit_queries.d.ts +0 -1
  64. package/dist/auth/permit_queries.d.ts.map +1 -1
  65. package/dist/auth/permit_queries.js +0 -1
  66. package/dist/auth/session_lifecycle.d.ts +0 -1
  67. package/dist/auth/session_lifecycle.d.ts.map +1 -1
  68. package/dist/auth/session_lifecycle.js +0 -1
  69. package/dist/auth/session_middleware.d.ts +0 -4
  70. package/dist/auth/session_middleware.d.ts.map +1 -1
  71. package/dist/auth/session_middleware.js +0 -4
  72. package/dist/cli/config.d.ts +0 -3
  73. package/dist/cli/config.d.ts.map +1 -1
  74. package/dist/cli/config.js +0 -3
  75. package/dist/cli/daemon.d.ts +1 -1
  76. package/dist/cli/daemon.js +1 -1
  77. package/dist/db/create_db.d.ts +0 -1
  78. package/dist/db/create_db.d.ts.map +1 -1
  79. package/dist/db/create_db.js +0 -1
  80. package/dist/db/db.d.ts +0 -4
  81. package/dist/db/db.d.ts.map +1 -1
  82. package/dist/db/db.js +0 -4
  83. package/dist/db/db_pg.d.ts +2 -2
  84. package/dist/db/db_pg.js +2 -2
  85. package/dist/db/db_pglite.d.ts +1 -2
  86. package/dist/db/db_pglite.d.ts.map +1 -1
  87. package/dist/db/db_pglite.js +1 -2
  88. package/dist/db/migrate.d.ts +0 -1
  89. package/dist/db/migrate.d.ts.map +1 -1
  90. package/dist/db/migrate.js +0 -1
  91. package/dist/dev/setup.d.ts +0 -3
  92. package/dist/dev/setup.d.ts.map +1 -1
  93. package/dist/dev/setup.js +0 -3
  94. package/dist/env/load.d.ts +0 -2
  95. package/dist/env/load.d.ts.map +1 -1
  96. package/dist/env/load.js +0 -2
  97. package/dist/hono_context.d.ts +2 -5
  98. package/dist/hono_context.d.ts.map +1 -1
  99. package/dist/hono_context.js +2 -5
  100. package/dist/http/common_routes.d.ts +0 -8
  101. package/dist/http/common_routes.d.ts.map +1 -1
  102. package/dist/http/common_routes.js +0 -8
  103. package/dist/http/db_routes.d.ts +0 -3
  104. package/dist/http/db_routes.d.ts.map +1 -1
  105. package/dist/http/db_routes.js +0 -3
  106. package/dist/http/error_schemas.d.ts +12 -11
  107. package/dist/http/error_schemas.d.ts.map +1 -1
  108. package/dist/http/error_schemas.js +11 -7
  109. package/dist/http/jsonrpc_errors.d.ts +0 -6
  110. package/dist/http/jsonrpc_errors.d.ts.map +1 -1
  111. package/dist/http/jsonrpc_errors.js +0 -6
  112. package/dist/http/origin.d.ts +6 -13
  113. package/dist/http/origin.d.ts.map +1 -1
  114. package/dist/http/origin.js +7 -14
  115. package/dist/http/proxy.d.ts +1 -7
  116. package/dist/http/proxy.d.ts.map +1 -1
  117. package/dist/http/proxy.js +1 -7
  118. package/dist/http/route_spec.d.ts +13 -35
  119. package/dist/http/route_spec.d.ts.map +1 -1
  120. package/dist/http/route_spec.js +10 -22
  121. package/dist/http/schema_helpers.d.ts +0 -4
  122. package/dist/http/schema_helpers.d.ts.map +1 -1
  123. package/dist/http/schema_helpers.js +0 -4
  124. package/dist/http/surface.d.ts +2 -12
  125. package/dist/http/surface.d.ts.map +1 -1
  126. package/dist/http/surface.js +1 -12
  127. package/dist/rate_limiter.d.ts +16 -0
  128. package/dist/rate_limiter.d.ts.map +1 -1
  129. package/dist/rate_limiter.js +26 -0
  130. package/dist/realtime/sse.d.ts +0 -1
  131. package/dist/realtime/sse.d.ts.map +1 -1
  132. package/dist/realtime/sse.js +0 -1
  133. package/dist/realtime/subscriber_registry.d.ts +0 -3
  134. package/dist/realtime/subscriber_registry.d.ts.map +1 -1
  135. package/dist/realtime/subscriber_registry.js +0 -3
  136. package/dist/runtime/fs.d.ts +1 -4
  137. package/dist/runtime/fs.d.ts.map +1 -1
  138. package/dist/runtime/fs.js +1 -4
  139. package/dist/runtime/mock.d.ts +0 -3
  140. package/dist/runtime/mock.d.ts.map +1 -1
  141. package/dist/runtime/mock.js +0 -3
  142. package/dist/server/app_server.d.ts +27 -5
  143. package/dist/server/app_server.d.ts.map +1 -1
  144. package/dist/server/app_server.js +19 -7
  145. package/dist/server/startup.d.ts +0 -2
  146. package/dist/server/startup.d.ts.map +1 -1
  147. package/dist/server/startup.js +0 -2
  148. package/dist/server/static.d.ts +0 -1
  149. package/dist/server/static.d.ts.map +1 -1
  150. package/dist/server/static.js +0 -1
  151. package/dist/server/validate_nginx.d.ts +0 -3
  152. package/dist/server/validate_nginx.d.ts.map +1 -1
  153. package/dist/server/validate_nginx.js +0 -3
  154. package/dist/testing/CLAUDE.md +1 -1
  155. package/dist/testing/admin_integration.d.ts +0 -1
  156. package/dist/testing/admin_integration.d.ts.map +1 -1
  157. package/dist/testing/admin_integration.js +3 -6
  158. package/dist/testing/adversarial_404.d.ts +0 -2
  159. package/dist/testing/adversarial_404.d.ts.map +1 -1
  160. package/dist/testing/adversarial_404.js +0 -2
  161. package/dist/testing/adversarial_headers.d.ts +0 -1
  162. package/dist/testing/adversarial_headers.d.ts.map +1 -1
  163. package/dist/testing/adversarial_headers.js +0 -1
  164. package/dist/testing/adversarial_input.d.ts +0 -2
  165. package/dist/testing/adversarial_input.d.ts.map +1 -1
  166. package/dist/testing/adversarial_input.js +0 -2
  167. package/dist/testing/app_server.d.ts +22 -0
  168. package/dist/testing/app_server.d.ts.map +1 -1
  169. package/dist/testing/app_server.js +2 -4
  170. package/dist/testing/assertions.d.ts +0 -4
  171. package/dist/testing/assertions.d.ts.map +1 -1
  172. package/dist/testing/assertions.js +0 -4
  173. package/dist/testing/attack_surface.d.ts +0 -4
  174. package/dist/testing/attack_surface.d.ts.map +1 -1
  175. package/dist/testing/attack_surface.js +0 -4
  176. package/dist/testing/audit_completeness.d.ts +0 -1
  177. package/dist/testing/audit_completeness.d.ts.map +1 -1
  178. package/dist/testing/audit_completeness.js +0 -1
  179. package/dist/testing/auth_apps.d.ts +2 -10
  180. package/dist/testing/auth_apps.d.ts.map +1 -1
  181. package/dist/testing/auth_apps.js +2 -10
  182. package/dist/testing/data_exposure.d.ts +0 -11
  183. package/dist/testing/data_exposure.d.ts.map +1 -1
  184. package/dist/testing/data_exposure.js +0 -11
  185. package/dist/testing/db.d.ts +0 -6
  186. package/dist/testing/db.d.ts.map +1 -1
  187. package/dist/testing/db.js +0 -6
  188. package/dist/testing/error_coverage.d.ts +0 -14
  189. package/dist/testing/error_coverage.d.ts.map +1 -1
  190. package/dist/testing/error_coverage.js +0 -14
  191. package/dist/testing/integration.d.ts +0 -1
  192. package/dist/testing/integration.d.ts.map +1 -1
  193. package/dist/testing/integration.js +0 -1
  194. package/dist/testing/integration_helpers.d.ts +1 -36
  195. package/dist/testing/integration_helpers.d.ts.map +1 -1
  196. package/dist/testing/integration_helpers.js +1 -43
  197. package/dist/testing/middleware.d.ts +0 -10
  198. package/dist/testing/middleware.d.ts.map +1 -1
  199. package/dist/testing/middleware.js +0 -10
  200. package/dist/testing/mock_fs.d.ts +0 -2
  201. package/dist/testing/mock_fs.d.ts.map +1 -1
  202. package/dist/testing/mock_fs.js +0 -2
  203. package/dist/testing/rate_limiting.d.ts +0 -1
  204. package/dist/testing/rate_limiting.d.ts.map +1 -1
  205. package/dist/testing/rate_limiting.js +0 -1
  206. package/dist/testing/round_trip.d.ts +0 -2
  207. package/dist/testing/round_trip.d.ts.map +1 -1
  208. package/dist/testing/round_trip.js +0 -2
  209. package/dist/testing/rpc_attack_surface.d.ts +0 -2
  210. package/dist/testing/rpc_attack_surface.d.ts.map +1 -1
  211. package/dist/testing/rpc_attack_surface.js +0 -2
  212. package/dist/testing/rpc_helpers.d.ts +0 -6
  213. package/dist/testing/rpc_helpers.d.ts.map +1 -1
  214. package/dist/testing/rpc_helpers.js +0 -6
  215. package/dist/testing/rpc_round_trip.d.ts +0 -2
  216. package/dist/testing/rpc_round_trip.d.ts.map +1 -1
  217. package/dist/testing/rpc_round_trip.js +0 -2
  218. package/dist/testing/schema_generators.d.ts +0 -3
  219. package/dist/testing/schema_generators.d.ts.map +1 -1
  220. package/dist/testing/schema_generators.js +17 -3
  221. package/dist/testing/sse_round_trip.d.ts +0 -1
  222. package/dist/testing/sse_round_trip.d.ts.map +1 -1
  223. package/dist/testing/sse_round_trip.js +0 -1
  224. package/dist/testing/standard.d.ts +0 -2
  225. package/dist/testing/standard.d.ts.map +1 -1
  226. package/dist/testing/standard.js +0 -2
  227. package/dist/testing/stubs.d.ts +3 -5
  228. package/dist/testing/stubs.d.ts.map +1 -1
  229. package/dist/testing/stubs.js +5 -5
  230. package/dist/testing/surface_invariants.d.ts +0 -3
  231. package/dist/testing/surface_invariants.d.ts.map +1 -1
  232. package/dist/testing/surface_invariants.js +0 -3
  233. package/dist/ui/CLAUDE.md +1 -1
  234. package/dist/ui/audit_log_state.svelte.js +1 -1
  235. package/dist/ui/position_helpers.d.ts +0 -3
  236. package/dist/ui/position_helpers.d.ts.map +1 -1
  237. package/dist/ui/position_helpers.js +0 -3
  238. package/dist/ui/sidebar_state.svelte.d.ts +1 -2
  239. package/dist/ui/sidebar_state.svelte.d.ts.map +1 -1
  240. package/dist/ui/sidebar_state.svelte.js +1 -2
  241. package/dist/ui/ui_fetch.d.ts +1 -7
  242. package/dist/ui/ui_fetch.d.ts.map +1 -1
  243. package/dist/ui/ui_fetch.js +1 -7
  244. package/dist/ui/ui_format.d.ts +2 -14
  245. package/dist/ui/ui_format.d.ts.map +1 -1
  246. package/dist/ui/ui_format.js +2 -14
  247. package/package.json +2 -2
@@ -13,10 +13,7 @@ import { ROLE_ADMIN } from '../auth/role_schema.js';
13
13
  *
14
14
  * Supports both exact matches and parameterized paths (`:param` segments).
15
15
  *
16
- * @param specs - route specs to search
17
- * @param method - HTTP method
18
16
  * @param path - request path (exact or with concrete param values)
19
- * @returns matching route spec, or `undefined`
20
17
  */
21
18
  export const find_route_spec = (specs, method, path) => {
22
19
  // exact match first
@@ -57,14 +54,7 @@ export const REST_AUTH_ROUTE_SUFFIXES = [
57
54
  * method name (e.g. `/sessions/revoke-all`) fails loudly at the call site
58
55
  * instead of silently returning `undefined`.
59
56
  *
60
- * @param specs - route specs to search
61
- * @param suffix - REST auth path suffix
62
- * @param method - HTTP method
63
- * @returns matching route spec, or `undefined`
64
- * @throws Error if `suffix` is not in `REST_AUTH_ROUTE_SUFFIXES` — surfaces
65
- * accidental use of a post-RPC-migration method name (e.g.
66
- * `/sessions/revoke-all`) at the call site rather than silently returning
67
- * `undefined`.
57
+ * @throws Error if `suffix` is not in `REST_AUTH_ROUTE_SUFFIXES`.
68
58
  */
69
59
  export const find_auth_route = (specs, suffix, method) => {
70
60
  if (!REST_AUTH_ROUTE_SUFFIXES.includes(suffix)) {
@@ -78,10 +68,6 @@ export const find_auth_route = (specs, suffix, method) => {
78
68
  * For 2xx responses, validates against `spec.output`.
79
69
  * For error responses, validates against the merged error schema for that status code.
80
70
  *
81
- * @param route_specs - route specs for schema lookup
82
- * @param method - HTTP method of the request
83
- * @param path - path of the request
84
- * @param response - the Response to validate
85
71
  * @throws Error if no route spec matches `method` + `path`, if the response
86
72
  * body fails to parse against the declared output / error schema, or if the
87
73
  * response is non-JSON despite a declared schema for that status.
@@ -132,22 +118,11 @@ export const assert_response_matches_spec = async (route_specs, method, path, re
132
118
  };
133
119
  /**
134
120
  * Create an expired test cookie — validly signed but with an expiry timestamp in 1970.
135
- *
136
- * @param keyring - keyring for signing
137
- * @param session_options - session config
138
- * @returns signed cookie value with long-past expiry
139
121
  */
140
122
  export const create_expired_test_cookie = async (keyring, session_options) => {
141
123
  // now_seconds=1 puts the expiry at 1 + max_age seconds past epoch — still in 1970
142
124
  return create_session_cookie_value(keyring, 'expired_test_token', session_options, 1);
143
125
  };
144
- /**
145
- * Assert that a 429 response includes a valid `Retry-After` header
146
- * matching the JSON body's `retry_after` field.
147
- *
148
- * @param response - the 429 response
149
- * @param body - parsed JSON body with `retry_after` field
150
- */
151
126
  /**
152
127
  * Known safe fields that may appear in any error response.
153
128
  *
@@ -181,10 +156,7 @@ const LEAKY_FIELD_PATTERNS = [
181
156
  *
182
157
  * Error schemas use `z.looseObject` (intentional — multiple producers), but
183
158
  * test responses should be checked for fields that could leak information.
184
- * Flags any field not in the known-safe set so callers can decide whether to
185
- * fail or log.
186
159
  *
187
- * @param body - parsed error response JSON
188
160
  * @returns array of unexpected field names (empty = clean)
189
161
  */
190
162
  export const check_error_response_fields = (body) => {
@@ -202,7 +174,6 @@ export const check_error_response_fields = (body) => {
202
174
  * Checks both field names and string values for patterns indicating
203
175
  * stack traces, SQL, or internal paths.
204
176
  *
205
- * @param body - parsed error response JSON
206
177
  * @param context - description for error messages
207
178
  */
208
179
  export const assert_no_error_info_leakage = (body, context) => {
@@ -221,9 +192,6 @@ export const assert_no_error_info_leakage = (body, context) => {
221
192
  /**
222
193
  * Assert that a 429 response includes a valid `Retry-After` header
223
194
  * matching the JSON body's `retry_after` field.
224
- *
225
- * @param response - the 429 response
226
- * @param body - parsed JSON body with `retry_after` field
227
195
  */
228
196
  export const assert_rate_limit_retry_after_header = (response, body) => {
229
197
  const header = response.headers.get('Retry-After');
@@ -241,9 +209,6 @@ export const ADMIN_ONLY_FIELD_BLOCKLIST = ['updated_by', 'created_by'];
241
209
  * Recursively collect all key names from a parsed JSON value.
242
210
  *
243
211
  * Walks objects and arrays to find every property name at any nesting depth.
244
- *
245
- * @param value - parsed JSON value
246
- * @returns set of all key names found
247
212
  */
248
213
  export const collect_json_keys_recursive = (value) => {
249
214
  const keys = new Set();
@@ -266,8 +231,6 @@ export const collect_json_keys_recursive = (value) => {
266
231
  /**
267
232
  * Assert that a parsed JSON body contains no fields from the given blocklist.
268
233
  *
269
- * @param body - parsed response JSON
270
- * @param blocklist - field names to check for
271
234
  * @param context - description for error messages
272
235
  */
273
236
  export const assert_no_sensitive_fields_in_json = (body, blocklist, context) => {
@@ -285,11 +248,6 @@ export const assert_no_sensitive_fields_in_json = (body, blocklist, context) =>
285
248
  * - `role: admin` — the admin account's session cookie
286
249
  * - `role: <other>` — the test app's bootstrapped keeper session
287
250
  * - `keeper` — the test app's daemon token
288
- *
289
- * @param spec - route spec to inspect
290
- * @param test_app - the assembled test app (for bootstrapped credentials)
291
- * @param authed_account - an account with no roles (for `authenticated` auth)
292
- * @param admin_account - an account with `admin` role (for role-gated routes)
293
251
  */
294
252
  export const pick_auth_headers = (spec, test_app, authed_account, admin_account) => {
295
253
  switch (spec.auth.type) {
@@ -63,7 +63,6 @@ export interface BearerAuthMocks {
63
63
  * `query_account_by_id`, `query_actor_by_account`, and `query_permit_find_active_for_actor`
64
64
  * so each test case controls return values independently.
65
65
  *
66
- * @param tc - the test config providing mock return values
67
66
  * @returns mocks bundle with spy references
68
67
  * @mutates module-level `vi.mock` registrations for `api_token_queries`,
69
68
  * `account_queries`, and `permit_queries` — each call resets and re-binds
@@ -77,10 +76,6 @@ export declare const TEST_CLIENT_IP = "127.0.0.1";
77
76
  *
78
77
  * The route handler at `/api/test` returns the resolved context in the response body,
79
78
  * enabling assertions on `REQUEST_CONTEXT_KEY` and `CREDENTIAL_TYPE_KEY`.
80
- *
81
- * @param tc - the test config providing mock behavior
82
- * @param ip_rate_limiter - optional rate limiter (null to disable)
83
- * @returns the app and mocks bundle
84
79
  */
85
80
  export declare const create_bearer_auth_test_app: (tc: BearerAuthTestOptions, ip_rate_limiter?: RateLimiter | null) => {
86
81
  app: Hono;
@@ -90,10 +85,6 @@ export declare const create_bearer_auth_test_app: (tc: BearerAuthTestOptions, ip
90
85
  * Run a table of bearer auth middleware test cases.
91
86
  *
92
87
  * Generates one `test()` per case inside a `describe()` block.
93
- *
94
- * @param suite_name - the describe block name
95
- * @param cases - the test case table
96
- * @param ip_rate_limiter - optional rate limiter shared across cases
97
88
  */
98
89
  export declare const describe_bearer_auth_cases: (suite_name: string, cases: Array<BearerAuthTestCase>, ip_rate_limiter?: RateLimiter | null) => void;
99
90
  /** Path used by the echo route in `create_test_middleware_stack_app`. */
@@ -123,7 +114,6 @@ export interface TestMiddlewareStackApp {
123
114
  * All DB queries return undefined (no real database needed).
124
115
  * The echo route at `TEST_MIDDLEWARE_PATH` returns `{ok, client_ip, has_context}`.
125
116
  *
126
- * @param options - middleware stack configuration
127
117
  * @returns the app and mock spies (reconfigure via `mockImplementation` for valid-token paths)
128
118
  * @mutates module-level `vi.mock` registrations for the four bearer-auth query
129
119
  * modules — each call resets the spies before wiring the stack.
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/middleware.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,6 @@ const STUB_DEPS = { db: {} };
41
41
  * `query_account_by_id`, `query_actor_by_account`, and `query_permit_find_active_for_actor`
42
42
  * so each test case controls return values independently.
43
43
  *
44
- * @param tc - the test config providing mock return values
45
44
  * @returns mocks bundle with spy references
46
45
  * @mutates module-level `vi.mock` registrations for `api_token_queries`,
47
46
  * `account_queries`, and `permit_queries` — each call resets and re-binds
@@ -73,10 +72,6 @@ export const TEST_CLIENT_IP = '127.0.0.1';
73
72
  *
74
73
  * The route handler at `/api/test` returns the resolved context in the response body,
75
74
  * enabling assertions on `REQUEST_CONTEXT_KEY` and `CREDENTIAL_TYPE_KEY`.
76
- *
77
- * @param tc - the test config providing mock behavior
78
- * @param ip_rate_limiter - optional rate limiter (null to disable)
79
- * @returns the app and mocks bundle
80
75
  */
81
76
  export const create_bearer_auth_test_app = (tc, ip_rate_limiter = null) => {
82
77
  const mocks = create_bearer_auth_mocks(tc);
@@ -118,10 +113,6 @@ export const create_bearer_auth_test_app = (tc, ip_rate_limiter = null) => {
118
113
  * Run a table of bearer auth middleware test cases.
119
114
  *
120
115
  * Generates one `test()` per case inside a `describe()` block.
121
- *
122
- * @param suite_name - the describe block name
123
- * @param cases - the test case table
124
- * @param ip_rate_limiter - optional rate limiter shared across cases
125
116
  */
126
117
  export const describe_bearer_auth_cases = (suite_name, cases, ip_rate_limiter = null) => {
127
118
  describe(suite_name, () => {
@@ -177,7 +168,6 @@ export const TEST_MIDDLEWARE_PATH = '/api/test';
177
168
  * All DB queries return undefined (no real database needed).
178
169
  * The echo route at `TEST_MIDDLEWARE_PATH` returns `{ok, client_ip, has_context}`.
179
170
  *
180
- * @param options - middleware stack configuration
181
171
  * @returns the app and mock spies (reconfigure via `mockImplementation` for valid-token paths)
182
172
  * @mutates module-level `vi.mock` registrations for the four bearer-auth query
183
173
  * modules — each call resets the spies before wiring the stack.
@@ -14,8 +14,6 @@ export interface MockFs {
14
14
  *
15
15
  * `read_file` throws an `ENOENT`-tagged error for missing paths so callers
16
16
  * can exercise the same "file doesn't exist" code path as `node:fs`.
17
- *
18
- * @param initial_files - starting contents keyed by absolute path
19
17
  */
20
18
  export declare const create_mock_fs: (initial_files?: Record<string, string>) => MockFs;
21
19
  //# sourceMappingURL=mock_fs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock_fs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/mock_fs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,MAAM;IACtB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,gBAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAAG,MAuB3E,CAAC"}
1
+ {"version":3,"file":"mock_fs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/mock_fs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,MAAM;IACtB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,gBAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,KAAG,MAuB3E,CAAC"}
@@ -9,8 +9,6 @@
9
9
  *
10
10
  * `read_file` throws an `ENOENT`-tagged error for missing paths so callers
11
11
  * can exercise the same "file doesn't exist" code path as `node:fs`.
12
- *
13
- * @param initial_files - starting contents keyed by absolute path
14
12
  */
15
13
  export const create_mock_fs = (initial_files = {}) => {
16
14
  const files = { ...initial_files };
@@ -53,7 +53,6 @@ export interface RateLimitingTestOptions {
53
53
  * Each test group asserts that required routes exist, failing with a descriptive
54
54
  * message if the consumer's route specs are misconfigured.
55
55
  *
56
- * @param options - session config and route factory
57
56
  * @throws Error at setup time when `options.rpc_endpoints` is empty — the
58
57
  * bearer-auth rate-limit test probes via the `account_verify` RPC action,
59
58
  * so the suite hard-fails via `require_rpc_endpoint_path`.
@@ -1 +1 @@
1
- {"version":3,"file":"rate_limiting.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rate_limiting.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAiB7B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EAAkB,KAAK,eAAe,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAIN,KAAK,SAAS,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,4BAA4B,GAAI,SAAS,uBAAuB,KAAG,IA8P/E,CAAC"}
1
+ {"version":3,"file":"rate_limiting.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rate_limiting.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAiB7B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EAAkB,KAAK,eAAe,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAIN,KAAK,SAAS,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,aAAa,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,4BAA4B,GAAI,SAAS,uBAAuB,KAAG,IA8P/E,CAAC"}
@@ -35,7 +35,6 @@ import { account_verify_action_spec } from '../auth/account_action_specs.js';
35
35
  * Each test group asserts that required routes exist, failing with a descriptive
36
36
  * message if the consumer's route specs are misconfigured.
37
37
  *
38
- * @param options - session config and route factory
39
38
  * @throws Error at setup time when `options.rpc_endpoints` is empty — the
40
39
  * bearer-auth rate-limit test probes via the `account_verify` RPC action,
41
40
  * so the suite hard-fails via `require_rpc_endpoint_path`.
@@ -30,8 +30,6 @@ export interface RoundTripTestOptions {
30
30
  * SSE routes are skipped (Content-Type `text/event-stream`).
31
31
  * Routes returning non-2xx with valid input are still validated against
32
32
  * their declared error schemas.
33
- *
34
- * @param options - round-trip test configuration
35
33
  */
36
34
  export declare const describe_round_trip_validation: (options: RoundTripTestOptions) => void;
37
35
  //# sourceMappingURL=round_trip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,SAAS,CAAC;AAQ9D,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACpC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CACpB,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,iBAAiB,GAAG,oBAAoB,CAAC,CAC5E,CAAC;IACF,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,kDAAkD;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,8BAA8B,GAAI,SAAS,oBAAoB,KAAG,IA6F9E,CAAC"}
1
+ {"version":3,"file":"round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,SAAS,CAAC;AAQ9D,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACpC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CACpB,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,iBAAiB,GAAG,oBAAoB,CAAC,CAC5E,CAAC;IACF,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,kDAAkD;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,8BAA8B,GAAI,SAAS,oBAAoB,KAAG,IA6F9E,CAAC"}
@@ -29,8 +29,6 @@ import { create_stub_app_server_context } from './stubs.js';
29
29
  * SSE routes are skipped (Content-Type `text/event-stream`).
30
30
  * Routes returning non-2xx with valid input are still validated against
31
31
  * their declared error schemas.
32
- *
33
- * @param options - round-trip test configuration
34
32
  */
35
33
  export const describe_round_trip_validation = (options) => {
36
34
  const skip_set = new Set(options.skip_routes);
@@ -16,8 +16,6 @@ export interface RpcAttackSurfaceOptions {
16
16
  * 3. Adversarial params — schema-invalid params per method
17
17
  *
18
18
  * Skips silently when `surface.rpc_endpoints` is empty.
19
- *
20
- * @param options - the test configuration
21
19
  */
22
20
  export declare const describe_rpc_attack_surface_tests: (options: RpcAttackSurfaceOptions) => void;
23
21
  //# sourceMappingURL=rpc_attack_surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc_attack_surface.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rpc_attack_surface.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAkB7B,OAAO,KAAK,EAA6C,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAoBnG,uDAAuD;AACvD,MAAM,WAAW,uBAAuB;IACvC,+FAA+F;IAC/F,KAAK,EAAE,MAAM,cAAc,CAAC;IAC5B,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACrB;AAodD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iCAAiC,GAAI,SAAS,uBAAuB,KAAG,IAOpF,CAAC"}
1
+ {"version":3,"file":"rpc_attack_surface.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rpc_attack_surface.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAkB7B,OAAO,KAAK,EAA6C,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAoBnG,uDAAuD;AACvD,MAAM,WAAW,uBAAuB;IACvC,+FAA+F;IAC/F,KAAK,EAAE,MAAM,cAAc,CAAC;IAC5B,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACrB;AAodD;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,GAAI,SAAS,uBAAuB,KAAG,IAOpF,CAAC"}
@@ -383,8 +383,6 @@ const format_auth = (auth) => {
383
383
  * 3. Adversarial params — schema-invalid params per method
384
384
  *
385
385
  * Skips silently when `surface.rpc_endpoints` is empty.
386
- *
387
- * @param options - the test configuration
388
386
  */
389
387
  export const describe_rpc_attack_surface_tests = (options) => {
390
388
  const { surface } = options.build();
@@ -42,7 +42,6 @@ export declare const resolve_rpc_endpoints_for_setup: (rpc_endpoints: RpcEndpoin
42
42
  /**
43
43
  * Create a `RequestInit` for a JSON-RPC POST request.
44
44
  *
45
- * @param method - JSON-RPC method name
46
45
  * @param params - params (omit for parameterless methods; `null` is also
47
46
  * stripped for ergonomic call sites — JSON-RPC 2.0 §4.2
48
47
  * forbids `"params": null` on the wire, and `create_rpc_endpoint`
@@ -51,17 +50,14 @@ export declare const resolve_rpc_endpoints_for_setup: (rpc_endpoints: RpcEndpoin
51
50
  * envelope (e.g. asserting envelope-level rejection) should
52
51
  * build the body inline rather than route through this helper.
53
52
  * @param id - request id (default `'test'`)
54
- * @returns a `RequestInit` with the JSON-RPC envelope as body
55
53
  */
56
54
  export declare const create_rpc_post_init: (method: string, params?: unknown, id?: string | number) => RequestInit;
57
55
  /**
58
56
  * Build a GET URL with JSON-RPC query parameters.
59
57
  *
60
58
  * @param endpoint_path - the RPC endpoint path (e.g., `/api/rpc`)
61
- * @param method - JSON-RPC method name
62
59
  * @param params - params (omit for parameterless methods)
63
60
  * @param id - request id (default `'test'`)
64
- * @returns the full URL with query string
65
61
  */
66
62
  export declare const create_rpc_get_url: (endpoint_path: string, method: string, params?: unknown, id?: string | number) => string;
67
63
  /**
@@ -70,7 +66,6 @@ export declare const create_rpc_get_url: (endpoint_path: string, method: string,
70
66
  * Validates the structure matches `JsonrpcErrorResponse` and optionally
71
67
  * checks the error code.
72
68
  *
73
- * @param body - parsed response body
74
69
  * @param expected_code - optional error code to assert
75
70
  */
76
71
  export declare const assert_jsonrpc_error_response: (body: unknown, expected_code?: JsonrpcErrorCode) => void;
@@ -81,7 +76,6 @@ export declare const assert_jsonrpc_error_response: (body: unknown, expected_cod
81
76
  * is provided, also validates the `result` field against the declared
82
77
  * output schema — matching the REST round-trip's `assert_response_matches_spec`.
83
78
  *
84
- * @param body - parsed response body
85
79
  * @param output_schema - optional Zod schema to validate the `result` field against
86
80
  */
87
81
  export declare const assert_jsonrpc_success_response: (body: unknown, output_schema?: z.ZodType) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc_helpers.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rpc_helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc_helpers.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rpc_helpers.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,6 @@ export const resolve_rpc_endpoints_for_setup = (rpc_endpoints, session_options)
57
57
  /**
58
58
  * Create a `RequestInit` for a JSON-RPC POST request.
59
59
  *
60
- * @param method - JSON-RPC method name
61
60
  * @param params - params (omit for parameterless methods; `null` is also
62
61
  * stripped for ergonomic call sites — JSON-RPC 2.0 §4.2
63
62
  * forbids `"params": null` on the wire, and `create_rpc_endpoint`
@@ -66,7 +65,6 @@ export const resolve_rpc_endpoints_for_setup = (rpc_endpoints, session_options)
66
65
  * envelope (e.g. asserting envelope-level rejection) should
67
66
  * build the body inline rather than route through this helper.
68
67
  * @param id - request id (default `'test'`)
69
- * @returns a `RequestInit` with the JSON-RPC envelope as body
70
68
  */
71
69
  export const create_rpc_post_init = (method, params, id = 'test') => {
72
70
  const envelope = { jsonrpc: JSONRPC_VERSION, method, id };
@@ -82,10 +80,8 @@ export const create_rpc_post_init = (method, params, id = 'test') => {
82
80
  * Build a GET URL with JSON-RPC query parameters.
83
81
  *
84
82
  * @param endpoint_path - the RPC endpoint path (e.g., `/api/rpc`)
85
- * @param method - JSON-RPC method name
86
83
  * @param params - params (omit for parameterless methods)
87
84
  * @param id - request id (default `'test'`)
88
- * @returns the full URL with query string
89
85
  */
90
86
  export const create_rpc_get_url = (endpoint_path, method, params, id = 'test') => {
91
87
  const search = new URLSearchParams({ method, id: String(id) });
@@ -100,7 +96,6 @@ export const create_rpc_get_url = (endpoint_path, method, params, id = 'test') =
100
96
  * Validates the structure matches `JsonrpcErrorResponse` and optionally
101
97
  * checks the error code.
102
98
  *
103
- * @param body - parsed response body
104
99
  * @param expected_code - optional error code to assert
105
100
  */
106
101
  export const assert_jsonrpc_error_response = (body, expected_code) => {
@@ -117,7 +112,6 @@ export const assert_jsonrpc_error_response = (body, expected_code) => {
117
112
  * is provided, also validates the `result` field against the declared
118
113
  * output schema — matching the REST round-trip's `assert_response_matches_spec`.
119
114
  *
120
- * @param body - parsed response body
121
115
  * @param output_schema - optional Zod schema to validate the `result` field against
122
116
  */
123
117
  export const assert_jsonrpc_success_response = (body, output_schema) => {
@@ -45,8 +45,6 @@ export interface RpcRoundTripTestOptions {
45
45
  * Error responses (from missing DB state, etc.) are expected and validated
46
46
  * as well-formed JSON-RPC errors. Successful responses are validated against
47
47
  * `action.spec.output`.
48
- *
49
- * @param options - round-trip test configuration
50
48
  */
51
49
  export declare const describe_rpc_round_trip_tests: (options: RpcRoundTripTestOptions) => void;
52
50
  //# sourceMappingURL=rpc_round_trip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc_round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rpc_round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAe7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAEN,KAAK,eAAe,EAGpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,SAAS,CAAC;AAM9D,OAAO,EAMN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,mDAAmD;AACnD,MAAM,WAAW,uBAAuB;IACvC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE;;;;;;;;;;OAUG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,oDAAoD;IACpD,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AA2BD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,GAAI,SAAS,uBAAuB,KAAG,IA8IhF,CAAC"}
1
+ {"version":3,"file":"rpc_round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/rpc_round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAe7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAEN,KAAK,eAAe,EAGpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,SAAS,CAAC;AAM9D,OAAO,EAMN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,mDAAmD;AACnD,MAAM,WAAW,uBAAuB;IACvC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE;;;;;;;;;;OAUG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,oDAAoD;IACpD,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AA2BD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,6BAA6B,GAAI,SAAS,uBAAuB,KAAG,IA8IhF,CAAC"}
@@ -49,8 +49,6 @@ const pick_rpc_auth_headers = (method, test_app, authed_account, admin_account)
49
49
  * Error responses (from missing DB state, etc.) are expected and validated
50
50
  * as well-formed JSON-RPC errors. Successful responses are validated against
51
51
  * `action.spec.output`.
52
- *
53
- * @param options - round-trip test configuration
54
52
  */
55
53
  export const describe_rpc_round_trip_tests = (options) => {
56
54
  const skip_set = new Set(options.skip_methods);
@@ -25,9 +25,6 @@ export declare const resolve_valid_path: (path: string, params_schema?: z.ZodObj
25
25
  /**
26
26
  * Generate a valid request body for a route's input schema.
27
27
  *
28
- * Returns `undefined` for null schemas or schemas that can't be unwrapped to objects.
29
- *
30
- * @param input_schema - the route's input Zod schema
31
28
  * @returns a generated body that passes `safeParse`, or `undefined` for null /
32
29
  * non-object schemas
33
30
  * @throws Error if the generated body fails `input_schema.safeParse` — catches
@@ -1 +1 @@
1
- {"version":3,"file":"schema_generators.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/schema_generators.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAKN,KAAK,YAAY,EACjB,MAAM,yBAAyB,CAAC;AAIjC;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,CAAC,CAAC,OAAO,KAAG,MAAM,GAAG,IAShE,CAAC;AA+FF,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,GAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,OAAO,KAAG,OAkDnF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,gBAAgB,CAAC,CAAC,SAAS,KAAG,MAa9E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAC/B,cAAc,CAAC,CAAC,OAAO,KACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAkB5B,CAAC"}
1
+ {"version":3,"file":"schema_generators.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/schema_generators.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AAEH,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EAKN,KAAK,YAAY,EACjB,MAAM,yBAAyB,CAAC;AAIjC;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,CAAC,CAAC,OAAO,KAAG,MAAM,GAAG,IAShE,CAAC;AA+FF,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,GAAI,OAAO,YAAY,EAAE,cAAc,CAAC,CAAC,OAAO,KAAG,OAmEnF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,gBAAgB,CAAC,CAAC,SAAS,KAAG,MAa9E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC/B,cAAc,CAAC,CAAC,OAAO,KACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAkB5B,CAAC"}
@@ -165,6 +165,23 @@ export const generate_valid_value = (field, field_schema) => {
165
165
  }
166
166
  case 'null':
167
167
  return null;
168
+ case 'union': {
169
+ // Pick the first variant and recurse. Works for both `z.union` and
170
+ // `z.discriminatedUnion` — Zod 4 represents both as `def.type ===
171
+ // 'union'` with a `def.options` array. Picking `options[0]` is a
172
+ // pragmatic default; consumers needing a specific branch can pass
173
+ // an override via the relevant test helper.
174
+ const def = zod_unwrap_def(field_schema);
175
+ const first = def.options?.[0];
176
+ if (first) {
177
+ const inner_field = {
178
+ ...field,
179
+ base_type: zod_get_base_type(first),
180
+ };
181
+ return generate_valid_value(inner_field, first);
182
+ }
183
+ return 'test_value';
184
+ }
168
185
  case 'enum': {
169
186
  const enum_def = zod_unwrap_def(field_schema);
170
187
  if ('entries' in enum_def) {
@@ -206,9 +223,6 @@ export const resolve_valid_path = (path, params_schema) => {
206
223
  /**
207
224
  * Generate a valid request body for a route's input schema.
208
225
  *
209
- * Returns `undefined` for null schemas or schemas that can't be unwrapped to objects.
210
- *
211
- * @param input_schema - the route's input Zod schema
212
226
  * @returns a generated body that passes `safeParse`, or `undefined` for null /
213
227
  * non-object schemas
214
228
  * @throws Error if the generated body fails `input_schema.safeParse` — catches
@@ -74,7 +74,6 @@ export interface SseRouteTestOptions {
74
74
  * connected comment, fires the trigger, validates the resulting payload,
75
75
  * then asserts close-on-revoke (unless opted out).
76
76
  *
77
- * @param options - SSE test configuration
78
77
  * @throws Error at setup time when `options.rpc_endpoints` is empty — the
79
78
  * close-on-revoke assertion dispatches `account_session_revoke_all` via
80
79
  * RPC. Hard-fails via `require_rpc_endpoint_path`.
@@ -1 +1 @@
1
- {"version":3,"file":"sse_round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/sse_round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAmB7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAwB,KAAK,SAAS,EAAuB,MAAM,oBAAoB,CAAC;AAE/F,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAEN,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,SAAS,CAAC;AAE9D,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAM1B,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAChC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IACnC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD;;;;;;;;;;;;;OAaG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC,8BAA8B;IAC9B,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CAChC;AAyHD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,mBAAmB,KAAG,IA2HvE,CAAC"}
1
+ {"version":3,"file":"sse_round_trip.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/sse_round_trip.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAmB7B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAwB,KAAK,SAAS,EAAuB,MAAM,oBAAoB,CAAC;AAE/F,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAEN,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAwB,KAAK,SAAS,EAAC,MAAM,SAAS,CAAC;AAE9D,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,kBAAkB,CAAC;AAM1B,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAChC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IACnC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,qEAAqE;IACrE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD;;;;;;;;;;;;;OAaG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC,8BAA8B;IAC9B,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CAChC;AAyHD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,mBAAmB,KAAG,IA2HvE,CAAC"}
@@ -126,7 +126,6 @@ const parse_and_validate_sse_payload = (frame, event_specs, route_path) => {
126
126
  * connected comment, fires the trigger, validates the resulting payload,
127
127
  * then asserts close-on-revoke (unless opted out).
128
128
  *
129
- * @param options - SSE test configuration
130
129
  * @throws Error at setup time when `options.rpc_endpoints` is empty — the
131
130
  * close-on-revoke assertion dispatches `account_session_revoke_all` via
132
131
  * RPC. Hard-fails via `require_rpc_endpoint_path`.
@@ -55,8 +55,6 @@ export interface StandardTestOptions {
55
55
  * Run both standard integration and admin integration test suites.
56
56
  *
57
57
  * Admin tests are only included when `roles` is provided.
58
- *
59
- * @param options - session config, route factory, RPC endpoints, and optional role schema
60
58
  */
61
59
  export declare const describe_standard_tests: (options: StandardTestOptions) => void;
62
60
  //# sourceMappingURL=standard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"standard.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/standard.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CACpB,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,iBAAiB,GAAG,oBAAoB,CAAC,CAC5E,CAAC;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,mBAAmB,KAAG,IAStE,CAAC"}
1
+ {"version":3,"file":"standard.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/standard.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAGvC,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,4CAA4C;IAC5C,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CACpB,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,iBAAiB,GAAG,oBAAoB,CAAC,CAC5E,CAAC;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,uBAAuB,CAAC;IACvC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,mBAAmB,KAAG,IAStE,CAAC"}
@@ -5,8 +5,6 @@ import { describe_standard_admin_integration_tests } from './admin_integration.j
5
5
  * Run both standard integration and admin integration test suites.
6
6
  *
7
7
  * Admin tests are only included when `roles` is provided.
8
- *
9
- * @param options - session config, route factory, RPC endpoints, and optional role schema
10
8
  */
11
9
  export const describe_standard_tests = (options) => {
12
10
  describe_standard_integration_tests(options);
@@ -21,8 +21,8 @@ import type { EventSpec } from '../realtime/sse.js';
21
21
  * surfaces the stub's identity in console output rather than silent `"{}"`.
22
22
  *
23
23
  * @param label - descriptive name for error messages (e.g. `'keyring'`, `'db'`)
24
- * @throws Error on any non-internal property access (`get` trap), labeled with
25
- * the stub name and the offending property.
24
+ * @throws Error on any non-internal property access, labeled with the stub
25
+ * name and the offending property.
26
26
  */
27
27
  export declare const create_throwing_stub: <T = any>(label: string) => T;
28
28
  /**
@@ -54,9 +54,7 @@ export declare const stub_mw: (_c: any, next: any) => Promise<void>;
54
54
  /** Stub `AppDeps` for auth surface tests — throws on any method access. */
55
55
  export declare const stub_app_deps: AppDeps;
56
56
  /**
57
- * Create no-op app deps for auth surface testing.
58
- *
59
- * @returns an `AppDeps`-shaped object with no-op deps
57
+ * Create no-op `AppDeps` for auth surface testing.
60
58
  */
61
59
  export declare const create_stub_app_deps: () => AppDeps;
62
60
  /** Create the API middleware stub array matching `create_auth_middleware_specs` output. */
@@ -1 +1 @@
1
- {"version":3,"file":"stubs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/stubs.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,EAAE,EAAC,MAAM,aAAa,CAAC;AAC/B,OAAO,EAAqB,KAAK,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGzE,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAKlD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,GAAG,GAAG,EAAE,OAAO,MAAM,KAAG,CAqBtD,CAAC;AAET;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,QAAQ,MAAM,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,CAOxF,CAAC;AAET,iEAAiE;AACjE,eAAO,MAAM,IAAI,EAAE,GAAkC,CAAC;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,QAAO,EAI/B,CAAC;AAEJ,gDAAgD;AAChD,eAAO,MAAM,YAAY,QAAO,QAAgC,CAAC;AAEjE,2CAA2C;AAC3C,eAAO,MAAM,OAAO,GAAU,IAAI,GAAG,EAAE,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAAW,CAAC;AAI3E,2EAA2E;AAC3E,eAAO,MAAM,aAAa,EAAE,OAS3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAO,OAStC,CAAC;AAEH,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,GAAI,UAAU;IACpD,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B,KAAG,KAAK,CAAC,cAAc,CAqBvB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,GAC1C,iBAAiB,cAAc,CAAC,MAAM,CAAC,KACrC,gBAmBF,CAAC;AAEF,kDAAkD;AAClD,MAAM,WAAW,+BAA+B;IAC/C,6DAA6D;IAC7D,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,qFAAqF;IACrF,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,oEAAoE;IACpE,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7F,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/E,0DAA0D;IAC1D,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,GACxC,SAAS,+BAA+B,KACtC,cA2CF,CAAC"}
1
+ {"version":3,"file":"stubs.d.ts","sourceRoot":"../src/lib/","sources":["../../src/lib/testing/stubs.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAa7B,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,EAAE,EAAC,MAAM,aAAa,CAAC;AAC/B,OAAO,EAAqB,KAAK,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGzE,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAKlD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,GAAG,GAAG,EAAE,OAAO,MAAM,KAAG,CAqBtD,CAAC;AAET;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,QAAQ,MAAM,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,CAOxF,CAAC;AAET,iEAAiE;AACjE,eAAO,MAAM,IAAI,EAAE,GAAkC,CAAC;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,QAAO,EAI/B,CAAC;AAEJ,gDAAgD;AAChD,eAAO,MAAM,YAAY,QAAO,QAAgC,CAAC;AAEjE,2CAA2C;AAC3C,eAAO,MAAM,OAAO,GAAU,IAAI,GAAG,EAAE,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAAW,CAAC;AAI3E,2EAA2E;AAC3E,eAAO,MAAM,aAAa,EAAE,OAS3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAO,OAStC,CAAC;AAEH,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,GAAI,UAAU;IACpD,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC/B,KAAG,KAAK,CAAC,cAAc,CAqBvB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,GAC1C,iBAAiB,cAAc,CAAC,MAAM,CAAC,KACrC,gBAqBF,CAAC;AAEF,kDAAkD;AAClD,MAAM,WAAW,+BAA+B;IAC/C,6DAA6D;IAC7D,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,qFAAqF;IACrF,kBAAkB,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,oEAAoE;IACpE,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7F,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/E,0DAA0D;IAC1D,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,GACxC,SAAS,+BAA+B,KACtC,cA2CF,CAAC"}
@@ -29,8 +29,8 @@ import { BaseServerEnv } from '../server/env.js';
29
29
  * surfaces the stub's identity in console output rather than silent `"{}"`.
30
30
  *
31
31
  * @param label - descriptive name for error messages (e.g. `'keyring'`, `'db'`)
32
- * @throws Error on any non-internal property access (`get` trap), labeled with
33
- * the stub name and the offending property.
32
+ * @throws Error on any non-internal property access, labeled with the stub
33
+ * name and the offending property.
34
34
  */
35
35
  export const create_throwing_stub = (label) => new Proxy({}, {
36
36
  get: (_target, prop) => {
@@ -100,9 +100,7 @@ export const stub_app_deps = {
100
100
  on_audit_event: () => { }, // eslint-disable-line @typescript-eslint/no-empty-function
101
101
  };
102
102
  /**
103
- * Create no-op app deps for auth surface testing.
104
- *
105
- * @returns an `AppDeps`-shaped object with no-op deps
103
+ * Create no-op `AppDeps` for auth surface testing.
106
104
  */
107
105
  export const create_stub_app_deps = () => ({
108
106
  stat: async () => null,
@@ -161,6 +159,8 @@ export const create_stub_app_server_context = (session_options) => {
161
159
  ip_rate_limiter: null,
162
160
  login_account_rate_limiter: null,
163
161
  signup_account_rate_limiter: null,
162
+ action_ip_rate_limiter: null,
163
+ action_account_rate_limiter: null,
164
164
  app_settings: { open_signup: false, updated_at: null, updated_by: null },
165
165
  audit_sse: null,
166
166
  };