@shipfox/api-agent-access-dto 20.2.0 → 21.0.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.
@@ -0,0 +1,330 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_ACCESS_CONNECTION_NAME_MAX_BYTES, AGENT_ACCESS_TEXT_MAX_BYTES } from './paged-tools.js';
3
+ export const AGENT_ACCESS_SERIALIZED_JSON_MAX_BYTES = 16 * 1024;
4
+ export const AGENT_ACCESS_TRIGGER_DECISION_MAX_ITEMS = 50;
5
+ export const AGENT_ACCESS_TRIGGER_REPLAY_MAX_ITEMS = 20;
6
+ export const AGENT_ACCESS_FACET_MAX_ITEMS = 50;
7
+ export const AGENT_ACCESS_FACET_VALUE_MAX_BYTES = 256;
8
+ const idSchema = z.string().uuid();
9
+ const dateTimeSchema = z.string().datetime();
10
+ const utf8Encoder = new TextEncoder();
11
+ const utf8CappedString = (maxBytes)=>z.string().max(maxBytes).refine((value)=>utf8Encoder.encode(value).byteLength <= maxBytes, {
12
+ message: `String must contain at most ${maxBytes} UTF-8 bytes`
13
+ });
14
+ const textSchema = utf8CappedString(AGENT_ACCESS_TEXT_MAX_BYTES);
15
+ const shortTextSchema = utf8CappedString(AGENT_ACCESS_CONNECTION_NAME_MAX_BYTES);
16
+ const serializedJsonSchema = utf8CappedString(AGENT_ACCESS_SERIALIZED_JSON_MAX_BYTES).refine(isSerializedJson, {
17
+ message: 'String must contain valid serialized JSON'
18
+ });
19
+ export const getTriggerEventInputSchema = z.object({
20
+ event_id: idSchema
21
+ }).strict();
22
+ export const getTriggerEventFacetsInputSchema = z.object({}).strict();
23
+ const triggerOriginSchema = z.enum([
24
+ 'integration',
25
+ 'manual',
26
+ 'cron',
27
+ 'dev'
28
+ ]);
29
+ const triggerOutcomeSchema = z.enum([
30
+ 'received',
31
+ 'routed',
32
+ 'discarded',
33
+ 'failed',
34
+ 'errored'
35
+ ]);
36
+ const triggerDecisionOutcomeSchema = z.enum([
37
+ 'triggered',
38
+ 'filter-error',
39
+ 'dispatch-error'
40
+ ]);
41
+ const triggerDecisionSchema = z.object({
42
+ id: idSchema,
43
+ subscription_kind: z.enum([
44
+ 'trigger',
45
+ 'listener',
46
+ 'dev'
47
+ ]),
48
+ outcome: triggerDecisionOutcomeSchema,
49
+ reason: textSchema.nullable(),
50
+ workflow_definition_id: idSchema.nullable(),
51
+ project_id: idSchema.nullable(),
52
+ workflow_run_id: idSchema.nullable(),
53
+ job_id: idSchema.nullable()
54
+ }).strict();
55
+ const triggerReplaySchema = z.object({
56
+ id: idSchema,
57
+ workflow_run_id: idSchema.nullable(),
58
+ created_at: dateTimeSchema
59
+ }).strict();
60
+ export const getTriggerEventResultSchema = z.object({
61
+ id: idSchema,
62
+ origin: triggerOriginSchema,
63
+ provider: textSchema.nullable(),
64
+ source: textSchema,
65
+ event: textSchema,
66
+ outcome: triggerOutcomeSchema,
67
+ matched_count: z.number().int().nonnegative(),
68
+ connection_id: idSchema.nullable(),
69
+ connection_name: shortTextSchema.nullable(),
70
+ replay_of_event_id: idSchema.nullable(),
71
+ received_at: dateTimeSchema,
72
+ processed_at: dateTimeSchema.nullable(),
73
+ payload_preview: serializedJsonSchema,
74
+ payload_preview_truncated: z.literal(true).optional(),
75
+ payload_preview_total_bytes: z.number().int().nonnegative().optional(),
76
+ decisions: z.array(triggerDecisionSchema).max(AGENT_ACCESS_TRIGGER_DECISION_MAX_ITEMS),
77
+ decisions_truncated: z.literal(true).optional(),
78
+ decisions_total_count: z.number().int().nonnegative(),
79
+ replays: z.array(triggerReplaySchema).max(AGENT_ACCESS_TRIGGER_REPLAY_MAX_ITEMS),
80
+ replays_truncated: z.literal(true).optional(),
81
+ replays_total_count: z.number().int().nonnegative()
82
+ }).strict();
83
+ const facetSchema = z.object({
84
+ value: utf8CappedString(AGENT_ACCESS_FACET_VALUE_MAX_BYTES),
85
+ count: z.number().int().nonnegative()
86
+ }).strict();
87
+ export const getTriggerEventFacetsResultSchema = z.object({
88
+ sources: z.array(facetSchema).max(AGENT_ACCESS_FACET_MAX_ITEMS),
89
+ events: z.array(facetSchema).max(AGENT_ACCESS_FACET_MAX_ITEMS),
90
+ origins: z.array(facetSchema).max(AGENT_ACCESS_FACET_MAX_ITEMS)
91
+ }).strict();
92
+ const uuid = {
93
+ type: 'string',
94
+ format: 'uuid'
95
+ };
96
+ const dateTime = {
97
+ type: 'string',
98
+ format: 'date-time'
99
+ };
100
+ const text = {
101
+ type: 'string',
102
+ maxLength: AGENT_ACCESS_TEXT_MAX_BYTES
103
+ };
104
+ const shortText = {
105
+ type: 'string',
106
+ maxLength: AGENT_ACCESS_CONNECTION_NAME_MAX_BYTES
107
+ };
108
+ const serializedJson = {
109
+ type: 'string',
110
+ maxLength: AGENT_ACCESS_SERIALIZED_JSON_MAX_BYTES,
111
+ contentMediaType: 'application/json'
112
+ };
113
+ const nullable = (schema)=>({
114
+ anyOf: [
115
+ schema,
116
+ {
117
+ type: 'null'
118
+ }
119
+ ]
120
+ });
121
+ export const getTriggerEventInputJsonSchema = {
122
+ type: 'object',
123
+ properties: {
124
+ event_id: uuid
125
+ },
126
+ required: [
127
+ 'event_id'
128
+ ],
129
+ additionalProperties: false
130
+ };
131
+ function isSerializedJson(value) {
132
+ try {
133
+ JSON.parse(value);
134
+ return true;
135
+ } catch {
136
+ return false;
137
+ }
138
+ }
139
+ export const getTriggerEventFacetsInputJsonSchema = {
140
+ type: 'object',
141
+ properties: {},
142
+ additionalProperties: false
143
+ };
144
+ const triggerDecisionJsonSchema = {
145
+ type: 'object',
146
+ properties: {
147
+ id: uuid,
148
+ subscription_kind: {
149
+ type: 'string',
150
+ enum: [
151
+ 'trigger',
152
+ 'listener',
153
+ 'dev'
154
+ ]
155
+ },
156
+ outcome: {
157
+ type: 'string',
158
+ enum: [
159
+ 'triggered',
160
+ 'filter-error',
161
+ 'dispatch-error'
162
+ ]
163
+ },
164
+ reason: nullable(text),
165
+ workflow_definition_id: nullable(uuid),
166
+ project_id: nullable(uuid),
167
+ workflow_run_id: nullable(uuid),
168
+ job_id: nullable(uuid)
169
+ },
170
+ required: [
171
+ 'id',
172
+ 'subscription_kind',
173
+ 'outcome',
174
+ 'reason',
175
+ 'workflow_definition_id',
176
+ 'project_id',
177
+ 'workflow_run_id',
178
+ 'job_id'
179
+ ],
180
+ additionalProperties: false
181
+ };
182
+ const triggerReplayJsonSchema = {
183
+ type: 'object',
184
+ properties: {
185
+ id: uuid,
186
+ workflow_run_id: nullable(uuid),
187
+ created_at: dateTime
188
+ },
189
+ required: [
190
+ 'id',
191
+ 'workflow_run_id',
192
+ 'created_at'
193
+ ],
194
+ additionalProperties: false
195
+ };
196
+ export const getTriggerEventResultJsonSchema = {
197
+ type: 'object',
198
+ properties: {
199
+ id: uuid,
200
+ origin: {
201
+ type: 'string',
202
+ enum: [
203
+ 'integration',
204
+ 'manual',
205
+ 'cron',
206
+ 'dev'
207
+ ]
208
+ },
209
+ provider: nullable(text),
210
+ source: text,
211
+ event: text,
212
+ outcome: {
213
+ type: 'string',
214
+ enum: [
215
+ 'received',
216
+ 'routed',
217
+ 'discarded',
218
+ 'failed',
219
+ 'errored'
220
+ ]
221
+ },
222
+ matched_count: {
223
+ type: 'integer',
224
+ minimum: 0
225
+ },
226
+ connection_id: nullable(uuid),
227
+ connection_name: nullable(shortText),
228
+ replay_of_event_id: nullable(uuid),
229
+ received_at: dateTime,
230
+ processed_at: nullable(dateTime),
231
+ payload_preview: serializedJson,
232
+ payload_preview_truncated: {
233
+ const: true
234
+ },
235
+ payload_preview_total_bytes: {
236
+ type: 'integer',
237
+ minimum: 0
238
+ },
239
+ decisions: {
240
+ type: 'array',
241
+ maxItems: AGENT_ACCESS_TRIGGER_DECISION_MAX_ITEMS,
242
+ items: triggerDecisionJsonSchema
243
+ },
244
+ decisions_truncated: {
245
+ const: true
246
+ },
247
+ decisions_total_count: {
248
+ type: 'integer',
249
+ minimum: 0
250
+ },
251
+ replays: {
252
+ type: 'array',
253
+ maxItems: AGENT_ACCESS_TRIGGER_REPLAY_MAX_ITEMS,
254
+ items: triggerReplayJsonSchema
255
+ },
256
+ replays_truncated: {
257
+ const: true
258
+ },
259
+ replays_total_count: {
260
+ type: 'integer',
261
+ minimum: 0
262
+ }
263
+ },
264
+ required: [
265
+ 'id',
266
+ 'origin',
267
+ 'provider',
268
+ 'source',
269
+ 'event',
270
+ 'outcome',
271
+ 'matched_count',
272
+ 'connection_id',
273
+ 'connection_name',
274
+ 'replay_of_event_id',
275
+ 'received_at',
276
+ 'processed_at',
277
+ 'payload_preview',
278
+ 'decisions',
279
+ 'decisions_total_count',
280
+ 'replays',
281
+ 'replays_total_count'
282
+ ],
283
+ additionalProperties: false
284
+ };
285
+ const facetJsonSchema = {
286
+ type: 'object',
287
+ properties: {
288
+ value: {
289
+ type: 'string',
290
+ maxLength: AGENT_ACCESS_FACET_VALUE_MAX_BYTES
291
+ },
292
+ count: {
293
+ type: 'integer',
294
+ minimum: 0
295
+ }
296
+ },
297
+ required: [
298
+ 'value',
299
+ 'count'
300
+ ],
301
+ additionalProperties: false
302
+ };
303
+ export const getTriggerEventFacetsResultJsonSchema = {
304
+ type: 'object',
305
+ properties: {
306
+ sources: {
307
+ type: 'array',
308
+ maxItems: AGENT_ACCESS_FACET_MAX_ITEMS,
309
+ items: facetJsonSchema
310
+ },
311
+ events: {
312
+ type: 'array',
313
+ maxItems: AGENT_ACCESS_FACET_MAX_ITEMS,
314
+ items: facetJsonSchema
315
+ },
316
+ origins: {
317
+ type: 'array',
318
+ maxItems: AGENT_ACCESS_FACET_MAX_ITEMS,
319
+ items: facetJsonSchema
320
+ }
321
+ },
322
+ required: [
323
+ 'sources',
324
+ 'events',
325
+ 'origins'
326
+ ],
327
+ additionalProperties: false
328
+ };
329
+
330
+ //# sourceMappingURL=diagnostic-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schemas/diagnostic-tools.ts"],"sourcesContent":["import {z} from 'zod';\nimport type {AgentAccessObjectSchema} from './envelope.js';\nimport {\n AGENT_ACCESS_CONNECTION_NAME_MAX_BYTES,\n AGENT_ACCESS_TEXT_MAX_BYTES,\n} from './paged-tools.js';\n\nexport const AGENT_ACCESS_SERIALIZED_JSON_MAX_BYTES = 16 * 1024;\nexport const AGENT_ACCESS_TRIGGER_DECISION_MAX_ITEMS = 50;\nexport const AGENT_ACCESS_TRIGGER_REPLAY_MAX_ITEMS = 20;\nexport const AGENT_ACCESS_FACET_MAX_ITEMS = 50;\nexport const AGENT_ACCESS_FACET_VALUE_MAX_BYTES = 256;\n\nconst idSchema = z.string().uuid();\nconst dateTimeSchema = z.string().datetime();\nconst utf8Encoder = new TextEncoder();\n\nconst utf8CappedString = (maxBytes: number) =>\n z\n .string()\n .max(maxBytes)\n .refine((value) => utf8Encoder.encode(value).byteLength <= maxBytes, {\n message: `String must contain at most ${maxBytes} UTF-8 bytes`,\n });\n\nconst textSchema = utf8CappedString(AGENT_ACCESS_TEXT_MAX_BYTES);\nconst shortTextSchema = utf8CappedString(AGENT_ACCESS_CONNECTION_NAME_MAX_BYTES);\nconst serializedJsonSchema = utf8CappedString(AGENT_ACCESS_SERIALIZED_JSON_MAX_BYTES).refine(\n isSerializedJson,\n {message: 'String must contain valid serialized JSON'},\n);\n\nexport const getTriggerEventInputSchema = z.object({event_id: idSchema}).strict();\n\nexport const getTriggerEventFacetsInputSchema = z.object({}).strict();\n\nexport type GetTriggerEventInputDto = z.infer<typeof getTriggerEventInputSchema>;\nexport type GetTriggerEventFacetsInputDto = z.infer<typeof getTriggerEventFacetsInputSchema>;\n\nconst triggerOriginSchema = z.enum(['integration', 'manual', 'cron', 'dev']);\nconst triggerOutcomeSchema = z.enum(['received', 'routed', 'discarded', 'failed', 'errored']);\nconst triggerDecisionOutcomeSchema = z.enum(['triggered', 'filter-error', 'dispatch-error']);\nconst triggerDecisionSchema = z\n .object({\n id: idSchema,\n subscription_kind: z.enum(['trigger', 'listener', 'dev']),\n outcome: triggerDecisionOutcomeSchema,\n reason: textSchema.nullable(),\n workflow_definition_id: idSchema.nullable(),\n project_id: idSchema.nullable(),\n workflow_run_id: idSchema.nullable(),\n job_id: idSchema.nullable(),\n })\n .strict();\n\nconst triggerReplaySchema = z\n .object({\n id: idSchema,\n workflow_run_id: idSchema.nullable(),\n created_at: dateTimeSchema,\n })\n .strict();\n\nexport const getTriggerEventResultSchema = z\n .object({\n id: idSchema,\n origin: triggerOriginSchema,\n provider: textSchema.nullable(),\n source: textSchema,\n event: textSchema,\n outcome: triggerOutcomeSchema,\n matched_count: z.number().int().nonnegative(),\n connection_id: idSchema.nullable(),\n connection_name: shortTextSchema.nullable(),\n replay_of_event_id: idSchema.nullable(),\n received_at: dateTimeSchema,\n processed_at: dateTimeSchema.nullable(),\n payload_preview: serializedJsonSchema,\n payload_preview_truncated: z.literal(true).optional(),\n payload_preview_total_bytes: z.number().int().nonnegative().optional(),\n decisions: z.array(triggerDecisionSchema).max(AGENT_ACCESS_TRIGGER_DECISION_MAX_ITEMS),\n decisions_truncated: z.literal(true).optional(),\n decisions_total_count: z.number().int().nonnegative(),\n replays: z.array(triggerReplaySchema).max(AGENT_ACCESS_TRIGGER_REPLAY_MAX_ITEMS),\n replays_truncated: z.literal(true).optional(),\n replays_total_count: z.number().int().nonnegative(),\n })\n .strict();\n\nconst facetSchema = z\n .object({\n value: utf8CappedString(AGENT_ACCESS_FACET_VALUE_MAX_BYTES),\n count: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const getTriggerEventFacetsResultSchema = z\n .object({\n sources: z.array(facetSchema).max(AGENT_ACCESS_FACET_MAX_ITEMS),\n events: z.array(facetSchema).max(AGENT_ACCESS_FACET_MAX_ITEMS),\n origins: z.array(facetSchema).max(AGENT_ACCESS_FACET_MAX_ITEMS),\n })\n .strict();\n\nexport type GetTriggerEventResultDto = z.infer<typeof getTriggerEventResultSchema>;\nexport type GetTriggerEventFacetsResultDto = z.infer<typeof getTriggerEventFacetsResultSchema>;\n\nconst uuid = {type: 'string', format: 'uuid'} as const;\nconst dateTime = {type: 'string', format: 'date-time'} as const;\nconst text = {type: 'string', maxLength: AGENT_ACCESS_TEXT_MAX_BYTES} as const;\nconst shortText = {\n type: 'string',\n maxLength: AGENT_ACCESS_CONNECTION_NAME_MAX_BYTES,\n} as const;\nconst serializedJson = {\n type: 'string',\n maxLength: AGENT_ACCESS_SERIALIZED_JSON_MAX_BYTES,\n contentMediaType: 'application/json',\n} as const;\nconst nullable = (schema: Record<string, unknown>) => ({anyOf: [schema, {type: 'null'}]}) as const;\n\nexport const getTriggerEventInputJsonSchema = {\n type: 'object',\n properties: {event_id: uuid},\n required: ['event_id'],\n additionalProperties: false,\n} as const satisfies AgentAccessObjectSchema;\n\nfunction isSerializedJson(value: string): boolean {\n try {\n JSON.parse(value);\n return true;\n } catch {\n return false;\n }\n}\n\nexport const getTriggerEventFacetsInputJsonSchema = {\n type: 'object',\n properties: {},\n additionalProperties: false,\n} as const satisfies AgentAccessObjectSchema;\n\nconst triggerDecisionJsonSchema = {\n type: 'object',\n properties: {\n id: uuid,\n subscription_kind: {type: 'string', enum: ['trigger', 'listener', 'dev']},\n outcome: {type: 'string', enum: ['triggered', 'filter-error', 'dispatch-error']},\n reason: nullable(text),\n workflow_definition_id: nullable(uuid),\n project_id: nullable(uuid),\n workflow_run_id: nullable(uuid),\n job_id: nullable(uuid),\n },\n required: [\n 'id',\n 'subscription_kind',\n 'outcome',\n 'reason',\n 'workflow_definition_id',\n 'project_id',\n 'workflow_run_id',\n 'job_id',\n ],\n additionalProperties: false,\n} as const;\n\nconst triggerReplayJsonSchema = {\n type: 'object',\n properties: {\n id: uuid,\n workflow_run_id: nullable(uuid),\n created_at: dateTime,\n },\n required: ['id', 'workflow_run_id', 'created_at'],\n additionalProperties: false,\n} as const;\n\nexport const getTriggerEventResultJsonSchema = {\n type: 'object',\n properties: {\n id: uuid,\n origin: {type: 'string', enum: ['integration', 'manual', 'cron', 'dev']},\n provider: nullable(text),\n source: text,\n event: text,\n outcome: {type: 'string', enum: ['received', 'routed', 'discarded', 'failed', 'errored']},\n matched_count: {type: 'integer', minimum: 0},\n connection_id: nullable(uuid),\n connection_name: nullable(shortText),\n replay_of_event_id: nullable(uuid),\n received_at: dateTime,\n processed_at: nullable(dateTime),\n payload_preview: serializedJson,\n payload_preview_truncated: {const: true},\n payload_preview_total_bytes: {type: 'integer', minimum: 0},\n decisions: {\n type: 'array',\n maxItems: AGENT_ACCESS_TRIGGER_DECISION_MAX_ITEMS,\n items: triggerDecisionJsonSchema,\n },\n decisions_truncated: {const: true},\n decisions_total_count: {type: 'integer', minimum: 0},\n replays: {\n type: 'array',\n maxItems: AGENT_ACCESS_TRIGGER_REPLAY_MAX_ITEMS,\n items: triggerReplayJsonSchema,\n },\n replays_truncated: {const: true},\n replays_total_count: {type: 'integer', minimum: 0},\n },\n required: [\n 'id',\n 'origin',\n 'provider',\n 'source',\n 'event',\n 'outcome',\n 'matched_count',\n 'connection_id',\n 'connection_name',\n 'replay_of_event_id',\n 'received_at',\n 'processed_at',\n 'payload_preview',\n 'decisions',\n 'decisions_total_count',\n 'replays',\n 'replays_total_count',\n ],\n additionalProperties: false,\n} as const satisfies AgentAccessObjectSchema;\n\nconst facetJsonSchema = {\n type: 'object',\n properties: {\n value: {type: 'string', maxLength: AGENT_ACCESS_FACET_VALUE_MAX_BYTES},\n count: {type: 'integer', minimum: 0},\n },\n required: ['value', 'count'],\n additionalProperties: false,\n} as const;\n\nexport const getTriggerEventFacetsResultJsonSchema = {\n type: 'object',\n properties: {\n sources: {\n type: 'array',\n maxItems: AGENT_ACCESS_FACET_MAX_ITEMS,\n items: facetJsonSchema,\n },\n events: {\n type: 'array',\n maxItems: AGENT_ACCESS_FACET_MAX_ITEMS,\n items: facetJsonSchema,\n },\n origins: {\n type: 'array',\n maxItems: AGENT_ACCESS_FACET_MAX_ITEMS,\n items: facetJsonSchema,\n },\n },\n required: ['sources', 'events', 'origins'],\n additionalProperties: false,\n} as const satisfies AgentAccessObjectSchema;\n"],"names":["z","AGENT_ACCESS_CONNECTION_NAME_MAX_BYTES","AGENT_ACCESS_TEXT_MAX_BYTES","AGENT_ACCESS_SERIALIZED_JSON_MAX_BYTES","AGENT_ACCESS_TRIGGER_DECISION_MAX_ITEMS","AGENT_ACCESS_TRIGGER_REPLAY_MAX_ITEMS","AGENT_ACCESS_FACET_MAX_ITEMS","AGENT_ACCESS_FACET_VALUE_MAX_BYTES","idSchema","string","uuid","dateTimeSchema","datetime","utf8Encoder","TextEncoder","utf8CappedString","maxBytes","max","refine","value","encode","byteLength","message","textSchema","shortTextSchema","serializedJsonSchema","isSerializedJson","getTriggerEventInputSchema","object","event_id","strict","getTriggerEventFacetsInputSchema","triggerOriginSchema","enum","triggerOutcomeSchema","triggerDecisionOutcomeSchema","triggerDecisionSchema","id","subscription_kind","outcome","reason","nullable","workflow_definition_id","project_id","workflow_run_id","job_id","triggerReplaySchema","created_at","getTriggerEventResultSchema","origin","provider","source","event","matched_count","number","int","nonnegative","connection_id","connection_name","replay_of_event_id","received_at","processed_at","payload_preview","payload_preview_truncated","literal","optional","payload_preview_total_bytes","decisions","array","decisions_truncated","decisions_total_count","replays","replays_truncated","replays_total_count","facetSchema","count","getTriggerEventFacetsResultSchema","sources","events","origins","type","format","dateTime","text","maxLength","shortText","serializedJson","contentMediaType","schema","anyOf","getTriggerEventInputJsonSchema","properties","required","additionalProperties","JSON","parse","getTriggerEventFacetsInputJsonSchema","triggerDecisionJsonSchema","triggerReplayJsonSchema","getTriggerEventResultJsonSchema","minimum","const","maxItems","items","facetJsonSchema","getTriggerEventFacetsResultJsonSchema"],"mappings":"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"}