@shipfox/api-agent-access-dto 21.1.0 → 21.2.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,250 @@
1
+ import { z } from 'zod';
2
+ import { AGENT_ACCESS_PAGE_LIMIT_MAX, AGENT_ACCESS_TEXT_MAX_BYTES } from './paged-tools.js';
3
+ import { dateTimeSchema, idSchema, utf8CappedString } from './primitives.js';
4
+ /** Default page size for one execution's listener-event history. */ export const AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_LIMIT = 25;
5
+ /** Maximum number of execution listener-event summaries in one page. */ export const AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX = AGENT_ACCESS_PAGE_LIMIT_MAX;
6
+ /** Maximum serialized UTF-8 size of one untrusted payload preview. */ export const AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PREVIEW_MAX_BYTES = 16 * 1024;
7
+ const textSchema = utf8CappedString(AGENT_ACCESS_TEXT_MAX_BYTES);
8
+ const payloadPreviewSchema = utf8CappedString(AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PREVIEW_MAX_BYTES).refine(isSerializedJson, {
9
+ message: 'Payload preview must be serialized JSON'
10
+ });
11
+ const executionTriggerEventDispositionSchema = z.enum([
12
+ 'fire',
13
+ 'resolve'
14
+ ]);
15
+ const executionTriggerEventOutcomeSchema = z.enum([
16
+ 'pending',
17
+ 'consumed',
18
+ 'honored',
19
+ 'rejected',
20
+ 'abandoned'
21
+ ]);
22
+ const executionTriggerEventOutcomeReasonSchema = z.enum([
23
+ 'payload_too_large',
24
+ 'until',
25
+ 'timeout',
26
+ 'max_executions',
27
+ 'cancelled'
28
+ ]).nullable();
29
+ const eventRefSchema = z.string().min(1);
30
+ const executionTriggerEventSummarySchema = z.object({
31
+ event_ref: eventRefSchema,
32
+ delivery_id: textSchema,
33
+ source: textSchema,
34
+ event: textSchema,
35
+ disposition: executionTriggerEventDispositionSchema,
36
+ outcome: executionTriggerEventOutcomeSchema,
37
+ outcome_reason: executionTriggerEventOutcomeReasonSchema,
38
+ received_at: dateTimeSchema,
39
+ stored_payload_bytes: z.number().int().nonnegative(),
40
+ normalized_event_bytes: z.number().int().nonnegative()
41
+ }).strict();
42
+ export const listExecutionTriggerEventsInputSchema = z.object({
43
+ job_id: idSchema,
44
+ execution_id: idSchema,
45
+ limit: z.number().int().min(1).max(AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX).default(AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_LIMIT),
46
+ cursor: z.string().min(1).optional()
47
+ }).strict();
48
+ export const getExecutionTriggerEventInputSchema = z.object({
49
+ job_id: idSchema,
50
+ execution_id: idSchema,
51
+ event_ref: eventRefSchema
52
+ }).strict();
53
+ export const listExecutionTriggerEventsResultSchema = z.object({
54
+ job_id: idSchema,
55
+ execution_id: idSchema,
56
+ trigger_events: z.array(executionTriggerEventSummarySchema).max(AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX),
57
+ next_cursor: z.string().nullable(),
58
+ total: z.number().int().nonnegative().optional()
59
+ }).strict();
60
+ export const getExecutionTriggerEventResultSchema = executionTriggerEventSummarySchema.extend({
61
+ /** Serialized JSON text. It is untrusted data, not a typed workflow value. */ payload_preview: payloadPreviewSchema.nullable(),
62
+ payload_preview_truncated: z.literal(true).optional(),
63
+ payload_preview_total_bytes: z.number().int().nonnegative().optional()
64
+ }).strict();
65
+ const uuid = {
66
+ type: 'string',
67
+ format: 'uuid'
68
+ };
69
+ const dateTime = {
70
+ type: 'string',
71
+ format: 'date-time'
72
+ };
73
+ const text = {
74
+ type: 'string',
75
+ maxLength: AGENT_ACCESS_TEXT_MAX_BYTES
76
+ };
77
+ const eventRef = {
78
+ type: 'string',
79
+ minLength: 1
80
+ };
81
+ const serializedJson = {
82
+ type: 'string',
83
+ maxLength: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PREVIEW_MAX_BYTES,
84
+ contentMediaType: 'application/json'
85
+ };
86
+ const nullable = (schema)=>({
87
+ anyOf: [
88
+ schema,
89
+ {
90
+ type: 'null'
91
+ }
92
+ ]
93
+ });
94
+ export const listExecutionTriggerEventsInputJsonSchema = {
95
+ type: 'object',
96
+ properties: {
97
+ job_id: uuid,
98
+ execution_id: uuid,
99
+ limit: {
100
+ type: 'integer',
101
+ minimum: 1,
102
+ maximum: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX,
103
+ default: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_LIMIT
104
+ },
105
+ cursor: {
106
+ type: 'string',
107
+ minLength: 1
108
+ }
109
+ },
110
+ required: [
111
+ 'job_id',
112
+ 'execution_id'
113
+ ],
114
+ additionalProperties: false
115
+ };
116
+ export const getExecutionTriggerEventInputJsonSchema = {
117
+ type: 'object',
118
+ properties: {
119
+ job_id: uuid,
120
+ execution_id: uuid,
121
+ event_ref: eventRef
122
+ },
123
+ required: [
124
+ 'job_id',
125
+ 'execution_id',
126
+ 'event_ref'
127
+ ],
128
+ additionalProperties: false
129
+ };
130
+ const executionTriggerEventSummaryJson = {
131
+ type: 'object',
132
+ properties: {
133
+ event_ref: eventRef,
134
+ delivery_id: text,
135
+ source: text,
136
+ event: text,
137
+ disposition: {
138
+ type: 'string',
139
+ enum: [
140
+ 'fire',
141
+ 'resolve'
142
+ ]
143
+ },
144
+ outcome: {
145
+ type: 'string',
146
+ enum: [
147
+ 'pending',
148
+ 'consumed',
149
+ 'honored',
150
+ 'rejected',
151
+ 'abandoned'
152
+ ]
153
+ },
154
+ outcome_reason: {
155
+ anyOf: [
156
+ {
157
+ type: 'string',
158
+ enum: [
159
+ 'payload_too_large',
160
+ 'until',
161
+ 'timeout',
162
+ 'max_executions',
163
+ 'cancelled'
164
+ ]
165
+ },
166
+ {
167
+ type: 'null'
168
+ }
169
+ ]
170
+ },
171
+ received_at: dateTime,
172
+ stored_payload_bytes: {
173
+ type: 'integer',
174
+ minimum: 0
175
+ },
176
+ normalized_event_bytes: {
177
+ type: 'integer',
178
+ minimum: 0
179
+ }
180
+ },
181
+ required: [
182
+ 'event_ref',
183
+ 'delivery_id',
184
+ 'source',
185
+ 'event',
186
+ 'disposition',
187
+ 'outcome',
188
+ 'outcome_reason',
189
+ 'received_at',
190
+ 'stored_payload_bytes',
191
+ 'normalized_event_bytes'
192
+ ],
193
+ additionalProperties: false
194
+ };
195
+ const executionTriggerEventDetailJson = {
196
+ ...executionTriggerEventSummaryJson,
197
+ properties: {
198
+ ...executionTriggerEventSummaryJson.properties,
199
+ payload_preview: nullable(serializedJson),
200
+ payload_preview_truncated: {
201
+ const: true
202
+ },
203
+ payload_preview_total_bytes: {
204
+ type: 'integer',
205
+ minimum: 0
206
+ }
207
+ },
208
+ required: [
209
+ ...executionTriggerEventSummaryJson.required,
210
+ 'payload_preview'
211
+ ]
212
+ };
213
+ export const listExecutionTriggerEventsResultJsonSchema = {
214
+ type: 'object',
215
+ properties: {
216
+ job_id: uuid,
217
+ execution_id: uuid,
218
+ trigger_events: {
219
+ type: 'array',
220
+ maxItems: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX,
221
+ items: executionTriggerEventSummaryJson
222
+ },
223
+ next_cursor: nullable({
224
+ type: 'string',
225
+ minLength: 1
226
+ }),
227
+ total: {
228
+ type: 'integer',
229
+ minimum: 0
230
+ }
231
+ },
232
+ required: [
233
+ 'job_id',
234
+ 'execution_id',
235
+ 'trigger_events',
236
+ 'next_cursor'
237
+ ],
238
+ additionalProperties: false
239
+ };
240
+ export const getExecutionTriggerEventResultJsonSchema = executionTriggerEventDetailJson;
241
+ function isSerializedJson(value) {
242
+ try {
243
+ JSON.parse(value);
244
+ return true;
245
+ } catch {
246
+ return false;
247
+ }
248
+ }
249
+
250
+ //# sourceMappingURL=workflow-execution-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schemas/workflow-execution-events.ts"],"sourcesContent":["import {z} from 'zod';\nimport type {AgentAccessObjectSchema} from './envelope.js';\nimport {AGENT_ACCESS_PAGE_LIMIT_MAX, AGENT_ACCESS_TEXT_MAX_BYTES} from './paged-tools.js';\nimport {dateTimeSchema, idSchema, utf8CappedString} from './primitives.js';\n\n/** Default page size for one execution's listener-event history. */\nexport const AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_LIMIT = 25;\n\n/** Maximum number of execution listener-event summaries in one page. */\nexport const AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX = AGENT_ACCESS_PAGE_LIMIT_MAX;\n\n/** Maximum serialized UTF-8 size of one untrusted payload preview. */\nexport const AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PREVIEW_MAX_BYTES = 16 * 1024;\n\nconst textSchema = utf8CappedString(AGENT_ACCESS_TEXT_MAX_BYTES);\nconst payloadPreviewSchema = utf8CappedString(\n AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PREVIEW_MAX_BYTES,\n).refine(isSerializedJson, {message: 'Payload preview must be serialized JSON'});\n\nconst executionTriggerEventDispositionSchema = z.enum(['fire', 'resolve']);\nconst executionTriggerEventOutcomeSchema = z.enum([\n 'pending',\n 'consumed',\n 'honored',\n 'rejected',\n 'abandoned',\n]);\nconst executionTriggerEventOutcomeReasonSchema = z\n .enum(['payload_too_large', 'until', 'timeout', 'max_executions', 'cancelled'])\n .nullable();\nconst eventRefSchema = z.string().min(1);\n\nconst executionTriggerEventSummarySchema = z\n .object({\n event_ref: eventRefSchema,\n delivery_id: textSchema,\n source: textSchema,\n event: textSchema,\n disposition: executionTriggerEventDispositionSchema,\n outcome: executionTriggerEventOutcomeSchema,\n outcome_reason: executionTriggerEventOutcomeReasonSchema,\n received_at: dateTimeSchema,\n stored_payload_bytes: z.number().int().nonnegative(),\n normalized_event_bytes: z.number().int().nonnegative(),\n })\n .strict();\n\nexport const listExecutionTriggerEventsInputSchema = z\n .object({\n job_id: idSchema,\n execution_id: idSchema,\n limit: z\n .number()\n .int()\n .min(1)\n .max(AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX)\n .default(AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_LIMIT),\n cursor: z.string().min(1).optional(),\n })\n .strict();\n\nexport const getExecutionTriggerEventInputSchema = z\n .object({\n job_id: idSchema,\n execution_id: idSchema,\n event_ref: eventRefSchema,\n })\n .strict();\n\nexport type ListExecutionTriggerEventsInputDto = z.output<\n typeof listExecutionTriggerEventsInputSchema\n>;\nexport type GetExecutionTriggerEventInputDto = z.output<typeof getExecutionTriggerEventInputSchema>;\n\nexport const listExecutionTriggerEventsResultSchema = z\n .object({\n job_id: idSchema,\n execution_id: idSchema,\n trigger_events: z\n .array(executionTriggerEventSummarySchema)\n .max(AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX),\n next_cursor: z.string().nullable(),\n total: z.number().int().nonnegative().optional(),\n })\n .strict();\n\nexport type ListExecutionTriggerEventsResultDto = z.infer<\n typeof listExecutionTriggerEventsResultSchema\n>;\n\nexport const getExecutionTriggerEventResultSchema = executionTriggerEventSummarySchema\n .extend({\n /** Serialized JSON text. It is untrusted data, not a typed workflow value. */\n payload_preview: payloadPreviewSchema.nullable(),\n payload_preview_truncated: z.literal(true).optional(),\n payload_preview_total_bytes: z.number().int().nonnegative().optional(),\n })\n .strict();\n\nexport type GetExecutionTriggerEventResultDto = z.infer<\n typeof getExecutionTriggerEventResultSchema\n>;\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 eventRef = {type: 'string', minLength: 1} as const;\nconst serializedJson = {\n type: 'string',\n maxLength: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PREVIEW_MAX_BYTES,\n contentMediaType: 'application/json',\n} as const;\nconst nullable = (schema: Record<string, unknown>) => ({anyOf: [schema, {type: 'null'}]}) as const;\n\nexport const listExecutionTriggerEventsInputJsonSchema = {\n type: 'object',\n properties: {\n job_id: uuid,\n execution_id: uuid,\n limit: {\n type: 'integer',\n minimum: 1,\n maximum: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX,\n default: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_LIMIT,\n },\n cursor: {type: 'string', minLength: 1},\n },\n required: ['job_id', 'execution_id'],\n additionalProperties: false,\n} as const satisfies AgentAccessObjectSchema;\n\nexport const getExecutionTriggerEventInputJsonSchema = {\n type: 'object',\n properties: {job_id: uuid, execution_id: uuid, event_ref: eventRef},\n required: ['job_id', 'execution_id', 'event_ref'],\n additionalProperties: false,\n} as const satisfies AgentAccessObjectSchema;\n\nconst executionTriggerEventSummaryJson = {\n type: 'object',\n properties: {\n event_ref: eventRef,\n delivery_id: text,\n source: text,\n event: text,\n disposition: {type: 'string', enum: ['fire', 'resolve']},\n outcome: {\n type: 'string',\n enum: ['pending', 'consumed', 'honored', 'rejected', 'abandoned'],\n },\n outcome_reason: {\n anyOf: [\n {\n type: 'string',\n enum: ['payload_too_large', 'until', 'timeout', 'max_executions', 'cancelled'],\n },\n {type: 'null'},\n ],\n },\n received_at: dateTime,\n stored_payload_bytes: {type: 'integer', minimum: 0},\n normalized_event_bytes: {type: 'integer', minimum: 0},\n },\n required: [\n 'event_ref',\n 'delivery_id',\n 'source',\n 'event',\n 'disposition',\n 'outcome',\n 'outcome_reason',\n 'received_at',\n 'stored_payload_bytes',\n 'normalized_event_bytes',\n ],\n additionalProperties: false,\n} as const;\n\nconst executionTriggerEventDetailJson = {\n ...executionTriggerEventSummaryJson,\n properties: {\n ...executionTriggerEventSummaryJson.properties,\n payload_preview: nullable(serializedJson),\n payload_preview_truncated: {const: true},\n payload_preview_total_bytes: {type: 'integer', minimum: 0},\n },\n required: [...executionTriggerEventSummaryJson.required, 'payload_preview'],\n} as const;\n\nexport const listExecutionTriggerEventsResultJsonSchema = {\n type: 'object',\n properties: {\n job_id: uuid,\n execution_id: uuid,\n trigger_events: {\n type: 'array',\n maxItems: AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX,\n items: executionTriggerEventSummaryJson,\n },\n next_cursor: nullable({type: 'string', minLength: 1}),\n total: {type: 'integer', minimum: 0},\n },\n required: ['job_id', 'execution_id', 'trigger_events', 'next_cursor'],\n additionalProperties: false,\n} as const satisfies AgentAccessObjectSchema;\n\nexport const getExecutionTriggerEventResultJsonSchema =\n executionTriggerEventDetailJson 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"],"names":["z","AGENT_ACCESS_PAGE_LIMIT_MAX","AGENT_ACCESS_TEXT_MAX_BYTES","dateTimeSchema","idSchema","utf8CappedString","AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_LIMIT","AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PAGE_MAX","AGENT_ACCESS_EXECUTION_TRIGGER_EVENT_PREVIEW_MAX_BYTES","textSchema","payloadPreviewSchema","refine","isSerializedJson","message","executionTriggerEventDispositionSchema","enum","executionTriggerEventOutcomeSchema","executionTriggerEventOutcomeReasonSchema","nullable","eventRefSchema","string","min","executionTriggerEventSummarySchema","object","event_ref","delivery_id","source","event","disposition","outcome","outcome_reason","received_at","stored_payload_bytes","number","int","nonnegative","normalized_event_bytes","strict","listExecutionTriggerEventsInputSchema","job_id","execution_id","limit","max","default","cursor","optional","getExecutionTriggerEventInputSchema","listExecutionTriggerEventsResultSchema","trigger_events","array","next_cursor","total","getExecutionTriggerEventResultSchema","extend","payload_preview","payload_preview_truncated","literal","payload_preview_total_bytes","uuid","type","format","dateTime","text","maxLength","eventRef","minLength","serializedJson","contentMediaType","schema","anyOf","listExecutionTriggerEventsInputJsonSchema","properties","minimum","maximum","required","additionalProperties","getExecutionTriggerEventInputJsonSchema","executionTriggerEventSummaryJson","executionTriggerEventDetailJson","const","listExecutionTriggerEventsResultJsonSchema","maxItems","items","getExecutionTriggerEventResultJsonSchema","value","JSON","parse"],"mappings":"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"}