@smplkit/sdk 3.0.33 → 3.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -57,6 +57,36 @@ interface ListEventsPage {
57
57
  /** Opaque cursor for the next page, or null if this is the last page. */
58
58
  nextCursor: string | null;
59
59
  }
60
+ interface ResourceType {
61
+ /** The resource_type slug. */
62
+ id: string;
63
+ createdAt: string;
64
+ }
65
+ interface ListResourceTypesParams {
66
+ pageSize?: number;
67
+ pageAfter?: string;
68
+ }
69
+ interface ListResourceTypesPage {
70
+ resourceTypes: ResourceType[];
71
+ /** Opaque cursor for the next page, or null if this is the last page. */
72
+ nextCursor: string | null;
73
+ }
74
+ interface Action {
75
+ /** The action slug. */
76
+ id: string;
77
+ createdAt: string;
78
+ }
79
+ interface ListActionsParams {
80
+ /** When set, returns only the actions seen with this resource_type. */
81
+ filterResourceType?: string;
82
+ pageSize?: number;
83
+ pageAfter?: string;
84
+ }
85
+ interface ActionListPage {
86
+ actions: Action[];
87
+ /** Opaque cursor for the next page, or null if this is the last page. */
88
+ nextCursor: string | null;
89
+ }
60
90
  interface HttpHeader {
61
91
  name: string;
62
92
  value: string;
@@ -91,7 +121,6 @@ interface Forwarder {
91
121
  transform: string | null;
92
122
  /** Header values are returned redacted on reads. */
93
123
  http: ForwarderHttp;
94
- data: Record<string, unknown>;
95
124
  createdAt: string | null;
96
125
  updatedAt: string | null;
97
126
  deletedAt: string | null;
@@ -104,7 +133,6 @@ interface CreateForwarderInput {
104
133
  enabled?: boolean;
105
134
  filter?: Record<string, unknown>;
106
135
  transform?: string;
107
- data?: Record<string, unknown>;
108
136
  }
109
137
  interface UpdateForwarderInput extends CreateForwarderInput {
110
138
  }
@@ -118,73 +146,31 @@ interface ListForwardersPage {
118
146
  forwarders: Forwarder[];
119
147
  nextCursor: string | null;
120
148
  }
121
- type ForwarderDeliveryStatus = "SUCCEEDED" | "FAILED" | "FILTERED_OUT" | "SKIPPED_DO_NOT_FORWARD";
122
- interface ForwarderDelivery {
123
- id: string;
124
- forwarderId: string;
125
- eventId: string;
126
- attemptNumber: number;
127
- status: ForwarderDeliveryStatus;
128
- request: Record<string, unknown> | null;
129
- responseStatus: number | null;
130
- responseBody: string | null;
131
- latencyMs: number | null;
132
- error: string | null;
133
- createdAt: string | null;
134
- }
135
- interface ListDeliveriesParams {
136
- status?: ForwarderDeliveryStatus;
137
- /** Range notation per ADR-014, e.g. `[2026-01-01T00:00:00Z,*)`. */
138
- createdAtRange?: string;
139
- eventId?: string;
140
- pageSize?: number;
141
- pageAfter?: string;
142
- }
143
- interface ListDeliveriesPage {
144
- deliveries: ForwarderDelivery[];
145
- nextCursor: string | null;
146
- }
147
- interface RetryFailedDeliveriesSummary {
148
- attempted: number;
149
- succeeded: number;
150
- failed: number;
151
- }
152
- interface TestForwarderRequest {
153
- url: string;
154
- method?: string;
155
- headers?: HttpHeader[];
156
- body?: string | null;
157
- successStatus?: string;
158
- /** Capped at 30s server-side. */
159
- timeoutMs?: number;
160
- }
161
- interface TestForwarderResult {
162
- succeeded: boolean;
163
- responseStatus: number | null;
164
- responseHeaders: Record<string, string>;
165
- responseBody: string;
166
- latencyMs: number | null;
167
- error: string | null;
168
- }
169
149
 
170
150
  /**
171
- * Audit namespace — `client.audit.events.{record,list,get}`.
151
+ * Audit namespace — runtime client.
152
+ *
153
+ * Public surface:
154
+ * client.audit.events.{record,list,get,flush}
155
+ * client.audit.resourceTypes.list(...)
156
+ * client.audit.actions.list(...)
157
+ *
158
+ * The runtime audit client owns event recording and read-side queries —
159
+ * fire-and-forget `record`, plus the audit-log list/get and the
160
+ * distinct-value listings that back the Activity tab filter dropdowns.
172
161
  *
173
- * ADR-047 §2.6. Writes are fire-and-forget by default: `record` enqueues the
174
- * event onto an in-memory bounded buffer and returns immediately. The buffer
175
- * worker flushes on a timer or when depth crosses a watermark, and retries
176
- * transient failures with exponential backoff. Reads are async and return
177
- * Promises that resolve to typed `AuditEvent` instances.
162
+ * Management-plane operations (SIEM forwarder CRUD) live on
163
+ * `SmplManagementClient` under `mgmt.audit.*`. ADR-047 §2.7.
178
164
  *
179
165
  * All HTTP work is delegated to the auto-generated openapi-fetch client
180
166
  * over `../generated/audit.d.ts` — the wrapper does not issue raw fetch
181
167
  * calls.
182
168
  */
183
169
 
184
- type AuditHttp = ReturnType<typeof createClient<paths>>;
170
+ type AuditHttp$1 = ReturnType<typeof createClient<paths>>;
185
171
  declare class EventsClient {
186
172
  /** @internal */
187
- readonly _http: AuditHttp;
173
+ readonly _http: AuditHttp$1;
188
174
  private readonly _buffer;
189
175
  constructor(opts: {
190
176
  apiKey: string;
@@ -209,56 +195,35 @@ declare class EventsClient {
209
195
  /** @internal */
210
196
  _close(): Promise<void>;
211
197
  }
212
- declare class DeliveryActionsClient {
213
- private readonly _http;
214
- constructor(_http: AuditHttp);
215
- /** Retry a single failed delivery. Records a new attempt row with
216
- * attempt_number = prior + 1; the prior row is unchanged. */
217
- retry(forwarderId: string, deliveryId: string): Promise<ForwarderDelivery>;
218
- }
219
- declare class DeliveriesClient {
220
- private readonly _http;
221
- readonly actions: DeliveryActionsClient;
222
- constructor(_http: AuditHttp);
223
- list(forwarderId: string, params?: ListDeliveriesParams): Promise<ListDeliveriesPage>;
224
- }
225
- declare class ForwarderActionsClient {
226
- private readonly _http;
227
- constructor(_http: AuditHttp);
228
- /** Retry every failed delivery for a forwarder. Returns a count summary. */
229
- retryFailedDeliveries(forwarderId: string): Promise<RetryFailedDeliveriesSummary>;
230
- }
231
- declare class ForwardersClient {
198
+ declare class ResourceTypesClient {
232
199
  private readonly _http;
233
- readonly deliveries: DeliveriesClient;
234
- readonly actions: ForwarderActionsClient;
235
- constructor(_http: AuditHttp);
236
- create(input: CreateForwarderInput): Promise<Forwarder>;
237
- list(params?: ListForwardersParams): Promise<ListForwardersPage>;
238
- get(forwarderId: string): Promise<Forwarder>;
239
- update(forwarderId: string, input: UpdateForwarderInput): Promise<Forwarder>;
240
- delete(forwarderId: string): Promise<void>;
200
+ constructor(_http: AuditHttp$1);
201
+ /**
202
+ * List the distinct `resource_type` slugs recorded for this account.
203
+ *
204
+ * Backed by a maintain-by-write side table (ADR-047 §2.5), so the
205
+ * response time is independent of event volume. Sorted alphabetically;
206
+ * cursor pagination via `pageAfter`.
207
+ */
208
+ list(params?: ListResourceTypesParams): Promise<ListResourceTypesPage>;
241
209
  }
242
- declare class TestForwarderActionsClient {
210
+ declare class ActionsClient {
243
211
  private readonly _http;
244
- constructor(_http: AuditHttp);
245
- /** Server-side proxy to a customer-supplied URL. SSRF-guarded; the
246
- * audit service rejects private/loopback/link-local addresses (incl.
247
- * the EC2 IMDS at 169.254.169.254) and ports outside the allowlist. */
248
- execute(input: TestForwarderRequest): Promise<TestForwarderResult>;
249
- }
250
- declare class TestForwarderClient {
251
- readonly actions: TestForwarderActionsClient;
252
- constructor(http: AuditHttp);
253
- }
254
- declare class FunctionsClient {
255
- readonly test_forwarder: TestForwarderClient;
256
- constructor(http: AuditHttp);
212
+ constructor(_http: AuditHttp$1);
213
+ /**
214
+ * List the distinct `action` slugs recorded for this account.
215
+ *
216
+ * Without `filterResourceType`, returns one row per distinct action.
217
+ * With `filterResourceType`, returns only the actions recorded with
218
+ * that resource_type, powering cascading-filter UIs (ADR-047 §2.5).
219
+ * Sorted alphabetically; cursor pagination via `pageAfter`.
220
+ */
221
+ list(params?: ListActionsParams): Promise<ActionListPage>;
257
222
  }
258
223
  declare class AuditClient {
259
224
  readonly events: EventsClient;
260
- readonly forwarders: ForwardersClient;
261
- readonly functions: FunctionsClient;
225
+ readonly resourceTypes: ResourceTypesClient;
226
+ readonly actions: ActionsClient;
262
227
  constructor(opts: {
263
228
  apiKey: string;
264
229
  baseUrl: string;
@@ -2804,6 +2769,44 @@ declare class LogGroupsClient {
2804
2769
  _updateGroup(group: LogGroup): Promise<LogGroup>;
2805
2770
  }
2806
2771
 
2772
+ /**
2773
+ * Smpl Audit management surface — `mgmt.audit.*`.
2774
+ *
2775
+ * Counterpart to the runtime `AuditClient`. The runtime client owns event
2776
+ * recording and read-side queries; this client owns SIEM forwarder CRUD:
2777
+ *
2778
+ * mgmt.audit.forwarders.{create,get,list,update,delete}
2779
+ *
2780
+ * New audit-management capabilities should be added here, not in
2781
+ * `src/audit/client.ts`.
2782
+ */
2783
+
2784
+ type AuditHttp = ReturnType<typeof createClient<paths>>;
2785
+ /** `mgmt.audit.forwarders.*` — CRUD for SIEM forwarders. */
2786
+ declare class ForwardersClient {
2787
+ private readonly _http;
2788
+ /** @internal */
2789
+ constructor(_http: AuditHttp);
2790
+ create(input: CreateForwarderInput): Promise<Forwarder>;
2791
+ list(params?: ListForwardersParams): Promise<ListForwardersPage>;
2792
+ get(forwarderId: string): Promise<Forwarder>;
2793
+ /**
2794
+ * Full-replace update. PUT semantics — every field is overwritten.
2795
+ *
2796
+ * Header values must be re-supplied as plaintext; the GET path
2797
+ * returns them in plaintext for exactly this round-trip.
2798
+ */
2799
+ update(forwarderId: string, input: UpdateForwarderInput): Promise<Forwarder>;
2800
+ delete(forwarderId: string): Promise<void>;
2801
+ }
2802
+ /** `mgmt.audit.*` — management surface for the audit service. */
2803
+ declare class ManagementAuditClient {
2804
+ /** SIEM forwarder CRUD. */
2805
+ readonly forwarders: ForwardersClient;
2806
+ /** @internal */
2807
+ constructor(http: AuditHttp);
2808
+ }
2809
+
2807
2810
  type AppHttp = ReturnType<typeof createClient<___generated_app_d_ts.paths>>;
2808
2811
  type ConfigHttp = ReturnType<typeof createClient<___generated_config_d_ts.paths>>;
2809
2812
  type FlagsHttp = ReturnType<typeof createClient<___generated_flags_d_ts.paths>>;
@@ -2959,6 +2962,8 @@ declare class SmplManagementClient {
2959
2962
  readonly loggers: LoggersClient;
2960
2963
  /** Log group CRUD. */
2961
2964
  readonly logGroups: LogGroupsClient;
2965
+ /** Audit SIEM forwarder CRUD. */
2966
+ readonly audit: ManagementAuditClient;
2962
2967
  /** @internal — shared HTTP transports (so SmplClient can alias them). */
2963
2968
  readonly _appHttp: AppHttp;
2964
2969
  /** @internal */
@@ -2976,6 +2981,7 @@ declare class SmplManagementClient {
2976
2981
  private _flagsRef;
2977
2982
  private _loggersRef;
2978
2983
  private _logGroupsRef;
2984
+ private _auditRef;
2979
2985
  private _appHttpRef;
2980
2986
  private _configHttpRef;
2981
2987
  private _flagsHttpRef;
@@ -3519,8 +3525,12 @@ declare class SmplConflictError extends SmplError {
3519
3525
  declare class SmplValidationError extends SmplError {
3520
3526
  constructor(message: string, statusCode?: number, responseBody?: string, errors?: ApiErrorDetail[]);
3521
3527
  }
3528
+ /** Raised when the server requires a higher plan tier (HTTP 402). */
3529
+ declare class SmplPaymentRequiredError extends SmplError {
3530
+ constructor(message: string, statusCode?: number, responseBody?: string, errors?: ApiErrorDetail[]);
3531
+ }
3522
3532
 
3523
3533
  /** @deprecated Use {@link ApiErrorDetail}. */
3524
3534
  type ApiErrorObject = ApiErrorDetail;
3525
3535
 
3526
- export { AccountSettings, AccountSettingsClient, type ApiErrorDetail, type ApiErrorObject, AuditClient, type AuditEvent, type ListEventsPage as AuditEventListPage, type ListEventsParams as AuditEventListParams, BooleanFlag, Color, Config, ConfigChangeEvent, ConfigClient, ConfigEnvironment, ConfigItem, Context, ContextType, ContextTypesClient, ContextsClient, type CreateEventInput as CreateAuditEventInput, Environment, EnvironmentClassification, EnvironmentsClient, Flag, FlagChangeEvent, FlagDeclaration, FlagEnvironment, FlagRule, FlagStats, FlagValue, FlagsClient, ItemType, JsonFlag, LiveConfigProxy, LogGroup, LogLevel, Logger, LoggerChangeEvent, LoggerEnvironment, LoggerSource, type LoggingAdapter, LoggingClient, NumberFlag, Op, PinoAdapter, type PinoAdapterConfig, Rule, SharedWebSocket, SmplClient, type SmplClientOptions, SmplConflictError, SmplConnectionError, SmplError, SmplManagementClient, type SmplManagementClientOptions, SmplNotFoundError, SmplTimeoutError, SmplValidationError, SmplConflictError as SmplkitConflictError, SmplConnectionError as SmplkitConnectionError, SmplError as SmplkitError, SmplNotFoundError as SmplkitNotFoundError, SmplTimeoutError as SmplkitTimeoutError, SmplValidationError as SmplkitValidationError, StringFlag, WinstonAdapter, type WinstonAdapterConfig };
3536
+ export { AccountSettings, AccountSettingsClient, type ApiErrorDetail, type ApiErrorObject, type Action as AuditAction, type ActionListPage as AuditActionListPage, AuditClient, type AuditEvent, type ListEventsPage as AuditEventListPage, type ListEventsParams as AuditEventListParams, ForwardersClient as AuditForwardersClient, type ListActionsParams as AuditListActionsParams, type ListResourceTypesParams as AuditListResourceTypesParams, type ResourceType as AuditResourceType, type ListResourceTypesPage as AuditResourceTypeListPage, BooleanFlag, Color, Config, ConfigChangeEvent, ConfigClient, ConfigEnvironment, ConfigItem, Context, ContextType, ContextTypesClient, ContextsClient, type CreateEventInput as CreateAuditEventInput, Environment, EnvironmentClassification, EnvironmentsClient, Flag, FlagChangeEvent, FlagDeclaration, FlagEnvironment, FlagRule, FlagStats, FlagValue, FlagsClient, ItemType, JsonFlag, LiveConfigProxy, LogGroup, LogLevel, Logger, LoggerChangeEvent, LoggerEnvironment, LoggerSource, type LoggingAdapter, LoggingClient, ManagementAuditClient, NumberFlag, Op, PinoAdapter, type PinoAdapterConfig, Rule, SharedWebSocket, SmplClient, type SmplClientOptions, SmplConflictError, SmplConnectionError, SmplError, SmplManagementClient, type SmplManagementClientOptions, SmplNotFoundError, SmplPaymentRequiredError, SmplTimeoutError, SmplValidationError, SmplConflictError as SmplkitConflictError, SmplConnectionError as SmplkitConnectionError, SmplError as SmplkitError, SmplNotFoundError as SmplkitNotFoundError, SmplPaymentRequiredError as SmplkitPaymentRequiredError, SmplTimeoutError as SmplkitTimeoutError, SmplValidationError as SmplkitValidationError, StringFlag, WinstonAdapter, type WinstonAdapterConfig };
package/dist/index.d.ts CHANGED
@@ -57,6 +57,36 @@ interface ListEventsPage {
57
57
  /** Opaque cursor for the next page, or null if this is the last page. */
58
58
  nextCursor: string | null;
59
59
  }
60
+ interface ResourceType {
61
+ /** The resource_type slug. */
62
+ id: string;
63
+ createdAt: string;
64
+ }
65
+ interface ListResourceTypesParams {
66
+ pageSize?: number;
67
+ pageAfter?: string;
68
+ }
69
+ interface ListResourceTypesPage {
70
+ resourceTypes: ResourceType[];
71
+ /** Opaque cursor for the next page, or null if this is the last page. */
72
+ nextCursor: string | null;
73
+ }
74
+ interface Action {
75
+ /** The action slug. */
76
+ id: string;
77
+ createdAt: string;
78
+ }
79
+ interface ListActionsParams {
80
+ /** When set, returns only the actions seen with this resource_type. */
81
+ filterResourceType?: string;
82
+ pageSize?: number;
83
+ pageAfter?: string;
84
+ }
85
+ interface ActionListPage {
86
+ actions: Action[];
87
+ /** Opaque cursor for the next page, or null if this is the last page. */
88
+ nextCursor: string | null;
89
+ }
60
90
  interface HttpHeader {
61
91
  name: string;
62
92
  value: string;
@@ -91,7 +121,6 @@ interface Forwarder {
91
121
  transform: string | null;
92
122
  /** Header values are returned redacted on reads. */
93
123
  http: ForwarderHttp;
94
- data: Record<string, unknown>;
95
124
  createdAt: string | null;
96
125
  updatedAt: string | null;
97
126
  deletedAt: string | null;
@@ -104,7 +133,6 @@ interface CreateForwarderInput {
104
133
  enabled?: boolean;
105
134
  filter?: Record<string, unknown>;
106
135
  transform?: string;
107
- data?: Record<string, unknown>;
108
136
  }
109
137
  interface UpdateForwarderInput extends CreateForwarderInput {
110
138
  }
@@ -118,73 +146,31 @@ interface ListForwardersPage {
118
146
  forwarders: Forwarder[];
119
147
  nextCursor: string | null;
120
148
  }
121
- type ForwarderDeliveryStatus = "SUCCEEDED" | "FAILED" | "FILTERED_OUT" | "SKIPPED_DO_NOT_FORWARD";
122
- interface ForwarderDelivery {
123
- id: string;
124
- forwarderId: string;
125
- eventId: string;
126
- attemptNumber: number;
127
- status: ForwarderDeliveryStatus;
128
- request: Record<string, unknown> | null;
129
- responseStatus: number | null;
130
- responseBody: string | null;
131
- latencyMs: number | null;
132
- error: string | null;
133
- createdAt: string | null;
134
- }
135
- interface ListDeliveriesParams {
136
- status?: ForwarderDeliveryStatus;
137
- /** Range notation per ADR-014, e.g. `[2026-01-01T00:00:00Z,*)`. */
138
- createdAtRange?: string;
139
- eventId?: string;
140
- pageSize?: number;
141
- pageAfter?: string;
142
- }
143
- interface ListDeliveriesPage {
144
- deliveries: ForwarderDelivery[];
145
- nextCursor: string | null;
146
- }
147
- interface RetryFailedDeliveriesSummary {
148
- attempted: number;
149
- succeeded: number;
150
- failed: number;
151
- }
152
- interface TestForwarderRequest {
153
- url: string;
154
- method?: string;
155
- headers?: HttpHeader[];
156
- body?: string | null;
157
- successStatus?: string;
158
- /** Capped at 30s server-side. */
159
- timeoutMs?: number;
160
- }
161
- interface TestForwarderResult {
162
- succeeded: boolean;
163
- responseStatus: number | null;
164
- responseHeaders: Record<string, string>;
165
- responseBody: string;
166
- latencyMs: number | null;
167
- error: string | null;
168
- }
169
149
 
170
150
  /**
171
- * Audit namespace — `client.audit.events.{record,list,get}`.
151
+ * Audit namespace — runtime client.
152
+ *
153
+ * Public surface:
154
+ * client.audit.events.{record,list,get,flush}
155
+ * client.audit.resourceTypes.list(...)
156
+ * client.audit.actions.list(...)
157
+ *
158
+ * The runtime audit client owns event recording and read-side queries —
159
+ * fire-and-forget `record`, plus the audit-log list/get and the
160
+ * distinct-value listings that back the Activity tab filter dropdowns.
172
161
  *
173
- * ADR-047 §2.6. Writes are fire-and-forget by default: `record` enqueues the
174
- * event onto an in-memory bounded buffer and returns immediately. The buffer
175
- * worker flushes on a timer or when depth crosses a watermark, and retries
176
- * transient failures with exponential backoff. Reads are async and return
177
- * Promises that resolve to typed `AuditEvent` instances.
162
+ * Management-plane operations (SIEM forwarder CRUD) live on
163
+ * `SmplManagementClient` under `mgmt.audit.*`. ADR-047 §2.7.
178
164
  *
179
165
  * All HTTP work is delegated to the auto-generated openapi-fetch client
180
166
  * over `../generated/audit.d.ts` — the wrapper does not issue raw fetch
181
167
  * calls.
182
168
  */
183
169
 
184
- type AuditHttp = ReturnType<typeof createClient<paths>>;
170
+ type AuditHttp$1 = ReturnType<typeof createClient<paths>>;
185
171
  declare class EventsClient {
186
172
  /** @internal */
187
- readonly _http: AuditHttp;
173
+ readonly _http: AuditHttp$1;
188
174
  private readonly _buffer;
189
175
  constructor(opts: {
190
176
  apiKey: string;
@@ -209,56 +195,35 @@ declare class EventsClient {
209
195
  /** @internal */
210
196
  _close(): Promise<void>;
211
197
  }
212
- declare class DeliveryActionsClient {
213
- private readonly _http;
214
- constructor(_http: AuditHttp);
215
- /** Retry a single failed delivery. Records a new attempt row with
216
- * attempt_number = prior + 1; the prior row is unchanged. */
217
- retry(forwarderId: string, deliveryId: string): Promise<ForwarderDelivery>;
218
- }
219
- declare class DeliveriesClient {
220
- private readonly _http;
221
- readonly actions: DeliveryActionsClient;
222
- constructor(_http: AuditHttp);
223
- list(forwarderId: string, params?: ListDeliveriesParams): Promise<ListDeliveriesPage>;
224
- }
225
- declare class ForwarderActionsClient {
226
- private readonly _http;
227
- constructor(_http: AuditHttp);
228
- /** Retry every failed delivery for a forwarder. Returns a count summary. */
229
- retryFailedDeliveries(forwarderId: string): Promise<RetryFailedDeliveriesSummary>;
230
- }
231
- declare class ForwardersClient {
198
+ declare class ResourceTypesClient {
232
199
  private readonly _http;
233
- readonly deliveries: DeliveriesClient;
234
- readonly actions: ForwarderActionsClient;
235
- constructor(_http: AuditHttp);
236
- create(input: CreateForwarderInput): Promise<Forwarder>;
237
- list(params?: ListForwardersParams): Promise<ListForwardersPage>;
238
- get(forwarderId: string): Promise<Forwarder>;
239
- update(forwarderId: string, input: UpdateForwarderInput): Promise<Forwarder>;
240
- delete(forwarderId: string): Promise<void>;
200
+ constructor(_http: AuditHttp$1);
201
+ /**
202
+ * List the distinct `resource_type` slugs recorded for this account.
203
+ *
204
+ * Backed by a maintain-by-write side table (ADR-047 §2.5), so the
205
+ * response time is independent of event volume. Sorted alphabetically;
206
+ * cursor pagination via `pageAfter`.
207
+ */
208
+ list(params?: ListResourceTypesParams): Promise<ListResourceTypesPage>;
241
209
  }
242
- declare class TestForwarderActionsClient {
210
+ declare class ActionsClient {
243
211
  private readonly _http;
244
- constructor(_http: AuditHttp);
245
- /** Server-side proxy to a customer-supplied URL. SSRF-guarded; the
246
- * audit service rejects private/loopback/link-local addresses (incl.
247
- * the EC2 IMDS at 169.254.169.254) and ports outside the allowlist. */
248
- execute(input: TestForwarderRequest): Promise<TestForwarderResult>;
249
- }
250
- declare class TestForwarderClient {
251
- readonly actions: TestForwarderActionsClient;
252
- constructor(http: AuditHttp);
253
- }
254
- declare class FunctionsClient {
255
- readonly test_forwarder: TestForwarderClient;
256
- constructor(http: AuditHttp);
212
+ constructor(_http: AuditHttp$1);
213
+ /**
214
+ * List the distinct `action` slugs recorded for this account.
215
+ *
216
+ * Without `filterResourceType`, returns one row per distinct action.
217
+ * With `filterResourceType`, returns only the actions recorded with
218
+ * that resource_type, powering cascading-filter UIs (ADR-047 §2.5).
219
+ * Sorted alphabetically; cursor pagination via `pageAfter`.
220
+ */
221
+ list(params?: ListActionsParams): Promise<ActionListPage>;
257
222
  }
258
223
  declare class AuditClient {
259
224
  readonly events: EventsClient;
260
- readonly forwarders: ForwardersClient;
261
- readonly functions: FunctionsClient;
225
+ readonly resourceTypes: ResourceTypesClient;
226
+ readonly actions: ActionsClient;
262
227
  constructor(opts: {
263
228
  apiKey: string;
264
229
  baseUrl: string;
@@ -2804,6 +2769,44 @@ declare class LogGroupsClient {
2804
2769
  _updateGroup(group: LogGroup): Promise<LogGroup>;
2805
2770
  }
2806
2771
 
2772
+ /**
2773
+ * Smpl Audit management surface — `mgmt.audit.*`.
2774
+ *
2775
+ * Counterpart to the runtime `AuditClient`. The runtime client owns event
2776
+ * recording and read-side queries; this client owns SIEM forwarder CRUD:
2777
+ *
2778
+ * mgmt.audit.forwarders.{create,get,list,update,delete}
2779
+ *
2780
+ * New audit-management capabilities should be added here, not in
2781
+ * `src/audit/client.ts`.
2782
+ */
2783
+
2784
+ type AuditHttp = ReturnType<typeof createClient<paths>>;
2785
+ /** `mgmt.audit.forwarders.*` — CRUD for SIEM forwarders. */
2786
+ declare class ForwardersClient {
2787
+ private readonly _http;
2788
+ /** @internal */
2789
+ constructor(_http: AuditHttp);
2790
+ create(input: CreateForwarderInput): Promise<Forwarder>;
2791
+ list(params?: ListForwardersParams): Promise<ListForwardersPage>;
2792
+ get(forwarderId: string): Promise<Forwarder>;
2793
+ /**
2794
+ * Full-replace update. PUT semantics — every field is overwritten.
2795
+ *
2796
+ * Header values must be re-supplied as plaintext; the GET path
2797
+ * returns them in plaintext for exactly this round-trip.
2798
+ */
2799
+ update(forwarderId: string, input: UpdateForwarderInput): Promise<Forwarder>;
2800
+ delete(forwarderId: string): Promise<void>;
2801
+ }
2802
+ /** `mgmt.audit.*` — management surface for the audit service. */
2803
+ declare class ManagementAuditClient {
2804
+ /** SIEM forwarder CRUD. */
2805
+ readonly forwarders: ForwardersClient;
2806
+ /** @internal */
2807
+ constructor(http: AuditHttp);
2808
+ }
2809
+
2807
2810
  type AppHttp = ReturnType<typeof createClient<___generated_app_d_ts.paths>>;
2808
2811
  type ConfigHttp = ReturnType<typeof createClient<___generated_config_d_ts.paths>>;
2809
2812
  type FlagsHttp = ReturnType<typeof createClient<___generated_flags_d_ts.paths>>;
@@ -2959,6 +2962,8 @@ declare class SmplManagementClient {
2959
2962
  readonly loggers: LoggersClient;
2960
2963
  /** Log group CRUD. */
2961
2964
  readonly logGroups: LogGroupsClient;
2965
+ /** Audit SIEM forwarder CRUD. */
2966
+ readonly audit: ManagementAuditClient;
2962
2967
  /** @internal — shared HTTP transports (so SmplClient can alias them). */
2963
2968
  readonly _appHttp: AppHttp;
2964
2969
  /** @internal */
@@ -2976,6 +2981,7 @@ declare class SmplManagementClient {
2976
2981
  private _flagsRef;
2977
2982
  private _loggersRef;
2978
2983
  private _logGroupsRef;
2984
+ private _auditRef;
2979
2985
  private _appHttpRef;
2980
2986
  private _configHttpRef;
2981
2987
  private _flagsHttpRef;
@@ -3519,8 +3525,12 @@ declare class SmplConflictError extends SmplError {
3519
3525
  declare class SmplValidationError extends SmplError {
3520
3526
  constructor(message: string, statusCode?: number, responseBody?: string, errors?: ApiErrorDetail[]);
3521
3527
  }
3528
+ /** Raised when the server requires a higher plan tier (HTTP 402). */
3529
+ declare class SmplPaymentRequiredError extends SmplError {
3530
+ constructor(message: string, statusCode?: number, responseBody?: string, errors?: ApiErrorDetail[]);
3531
+ }
3522
3532
 
3523
3533
  /** @deprecated Use {@link ApiErrorDetail}. */
3524
3534
  type ApiErrorObject = ApiErrorDetail;
3525
3535
 
3526
- export { AccountSettings, AccountSettingsClient, type ApiErrorDetail, type ApiErrorObject, AuditClient, type AuditEvent, type ListEventsPage as AuditEventListPage, type ListEventsParams as AuditEventListParams, BooleanFlag, Color, Config, ConfigChangeEvent, ConfigClient, ConfigEnvironment, ConfigItem, Context, ContextType, ContextTypesClient, ContextsClient, type CreateEventInput as CreateAuditEventInput, Environment, EnvironmentClassification, EnvironmentsClient, Flag, FlagChangeEvent, FlagDeclaration, FlagEnvironment, FlagRule, FlagStats, FlagValue, FlagsClient, ItemType, JsonFlag, LiveConfigProxy, LogGroup, LogLevel, Logger, LoggerChangeEvent, LoggerEnvironment, LoggerSource, type LoggingAdapter, LoggingClient, NumberFlag, Op, PinoAdapter, type PinoAdapterConfig, Rule, SharedWebSocket, SmplClient, type SmplClientOptions, SmplConflictError, SmplConnectionError, SmplError, SmplManagementClient, type SmplManagementClientOptions, SmplNotFoundError, SmplTimeoutError, SmplValidationError, SmplConflictError as SmplkitConflictError, SmplConnectionError as SmplkitConnectionError, SmplError as SmplkitError, SmplNotFoundError as SmplkitNotFoundError, SmplTimeoutError as SmplkitTimeoutError, SmplValidationError as SmplkitValidationError, StringFlag, WinstonAdapter, type WinstonAdapterConfig };
3536
+ export { AccountSettings, AccountSettingsClient, type ApiErrorDetail, type ApiErrorObject, type Action as AuditAction, type ActionListPage as AuditActionListPage, AuditClient, type AuditEvent, type ListEventsPage as AuditEventListPage, type ListEventsParams as AuditEventListParams, ForwardersClient as AuditForwardersClient, type ListActionsParams as AuditListActionsParams, type ListResourceTypesParams as AuditListResourceTypesParams, type ResourceType as AuditResourceType, type ListResourceTypesPage as AuditResourceTypeListPage, BooleanFlag, Color, Config, ConfigChangeEvent, ConfigClient, ConfigEnvironment, ConfigItem, Context, ContextType, ContextTypesClient, ContextsClient, type CreateEventInput as CreateAuditEventInput, Environment, EnvironmentClassification, EnvironmentsClient, Flag, FlagChangeEvent, FlagDeclaration, FlagEnvironment, FlagRule, FlagStats, FlagValue, FlagsClient, ItemType, JsonFlag, LiveConfigProxy, LogGroup, LogLevel, Logger, LoggerChangeEvent, LoggerEnvironment, LoggerSource, type LoggingAdapter, LoggingClient, ManagementAuditClient, NumberFlag, Op, PinoAdapter, type PinoAdapterConfig, Rule, SharedWebSocket, SmplClient, type SmplClientOptions, SmplConflictError, SmplConnectionError, SmplError, SmplManagementClient, type SmplManagementClientOptions, SmplNotFoundError, SmplPaymentRequiredError, SmplTimeoutError, SmplValidationError, SmplConflictError as SmplkitConflictError, SmplConnectionError as SmplkitConnectionError, SmplError as SmplkitError, SmplNotFoundError as SmplkitNotFoundError, SmplPaymentRequiredError as SmplkitPaymentRequiredError, SmplTimeoutError as SmplkitTimeoutError, SmplValidationError as SmplkitValidationError, StringFlag, WinstonAdapter, type WinstonAdapterConfig };