@hachej/boring-agent 0.1.90 → 0.1.92
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/{chunk-4PKGVPJA.js → chunk-2GBHYJVC.js} +27 -5
- package/dist/{chunk-BEFJNMKQ.js → chunk-CJ2BW2W2.js} +23 -8
- package/dist/{chunk-F7ZS27HE.js → chunk-IWBC6SF7.js} +93 -19
- package/dist/chunk-NITBKFG6.js +1246 -0
- package/dist/{chunk-JEDRQAR5.js → chunk-OFQ7J6SI.js} +8 -2
- package/dist/{chunk-5CYVBVP3.js → chunk-V3ZD3T3G.js} +4785 -2153
- package/dist/core/index.d.ts +5 -5
- package/dist/core/index.js +2 -2
- package/dist/{createHarness-UCCGMVQJ.js → createHarness-PMYRKDE4.js} +2 -2
- package/dist/errors-C38f6pol.d.ts +200 -0
- package/dist/front/index.d.ts +20 -4
- package/dist/front/index.js +172 -44
- package/dist/{harness-Rbkdpvse.d.ts → harness-Cc48o6uS.d.ts} +2 -2
- package/dist/{workspaceAgentDispatcher-50Uzuxhs.d.ts → lease-BqeCLGPL.d.ts} +266 -57
- package/dist/{protocol-CDA4bcP9.d.ts → middleware-CzW8n7B7.d.ts} +20 -2
- package/dist/piChatEvent-BsMp3MSo.d.ts +368 -0
- package/dist/{piChatSessionService-DDKPOj4x.d.ts → piChatSessionService-BrPqKrpY.d.ts} +5 -1
- package/dist/{sandbox-OEG_l9GE.d.ts → sandbox-DAD8cWQR.d.ts} +14 -1
- package/dist/server/agent-host/testing/gatewayConformance.d.ts +41 -0
- package/dist/server/agent-host/testing/gatewayConformance.js +465 -0
- package/dist/server/index.d.ts +451 -528
- package/dist/server/index.js +43 -9
- package/dist/server/worker/index.d.ts +2 -2
- package/dist/server/worker/index.js +7 -7
- package/dist/shared/index.d.ts +115 -41
- package/dist/shared/index.js +65 -282
- package/dist/types-uQozUhGt.d.ts +759 -0
- package/docs/ACCESSIBILITY.md +4 -5
- package/docs/API.md +3 -0
- package/docs/AUTHORING.md +68 -0
- package/docs/ERROR_CODES.md +27 -6
- package/docs/README.md +1 -0
- package/docs/runtime.md +3 -3
- package/package.json +22 -13
- package/dist/chunk-CFQQXJKK.js +0 -385
- package/dist/chunk-DGRKMMXO.js +0 -8
- package/dist/piChatEvent-CHgln6yx.d.ts +0 -367
package/dist/shared/index.js
CHANGED
|
@@ -1,33 +1,74 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AGENT_GATEWAY_ERROR_CODES,
|
|
3
|
+
AGENT_TASK_SCHEMA_VERSION,
|
|
4
|
+
ARTIFACT_LOCATOR_KINDS,
|
|
5
|
+
AgentConsumptionValidationError,
|
|
2
6
|
AgentDefinitionValidationError,
|
|
3
7
|
AgentDeploymentValidationError,
|
|
8
|
+
AgentGatewayError,
|
|
9
|
+
AgentGatewayErrorCode,
|
|
10
|
+
AgentMessageSchema,
|
|
11
|
+
AgentRefSchema,
|
|
12
|
+
AgentTaskSchema,
|
|
13
|
+
ArtifactLocatorSchema,
|
|
14
|
+
ArtifactRefSchema,
|
|
15
|
+
CREDENTIAL_ERROR_CODES,
|
|
16
|
+
ConfigSchema,
|
|
17
|
+
ConsumptionGuardsSchema,
|
|
18
|
+
CredentialResolutionError,
|
|
19
|
+
DEFAULT_AGENT_RUNTIME_CAPABILITIES,
|
|
20
|
+
EnvSchema,
|
|
4
21
|
InMemoryShareEntryStore,
|
|
5
22
|
OpaqueRefSchema,
|
|
6
23
|
OpaqueShareLocatorIdSchema,
|
|
7
|
-
|
|
24
|
+
PI_AGENT_RUNTIME_CAPABILITIES,
|
|
25
|
+
PROVIDER_CREDENTIAL_REF_VERSION,
|
|
26
|
+
PartSchema,
|
|
27
|
+
PrincipalRefSchema,
|
|
28
|
+
RuntimeModeSchema,
|
|
29
|
+
SANDBOX_CREDENTIAL_MAX_FIELDS_V1,
|
|
30
|
+
SANDBOX_CREDENTIAL_MAX_METADATA_BYTES_V1,
|
|
31
|
+
SANDBOX_CREDENTIAL_MAX_TOTAL_BYTES_V1,
|
|
8
32
|
Sha256DigestSchema,
|
|
9
33
|
ShareEntryErrorCode,
|
|
10
34
|
ShareEntryProvenanceSchema,
|
|
11
35
|
ShareEntryV1Schema,
|
|
12
36
|
ShareEntryValidationError,
|
|
37
|
+
TASK_STATES,
|
|
38
|
+
TaskStateSchema,
|
|
39
|
+
WorkspaceFileLocatorSchema,
|
|
40
|
+
agentRefEquals,
|
|
41
|
+
assertNoConsumptionCycle,
|
|
42
|
+
assertValidTransition,
|
|
43
|
+
assertWithinConsumptionDepth,
|
|
13
44
|
createAgentAssetDigest,
|
|
14
45
|
createAgentDefinitionDigest,
|
|
15
46
|
createAgentDeploymentDigest,
|
|
16
|
-
|
|
47
|
+
createCredentialConsumerBindingRegistryV1,
|
|
48
|
+
createNotImplementedSandboxCredentialPayloadResolverV1,
|
|
49
|
+
createProviderCredentialRefFactoryV1,
|
|
50
|
+
createProviderRegistryV1,
|
|
51
|
+
detectConsumptionCycle,
|
|
52
|
+
isValidTaskTransition,
|
|
53
|
+
isWithinConsumptionDepth,
|
|
54
|
+
parseAgentTaskEdgeCompat,
|
|
17
55
|
resolveShareEntry,
|
|
18
56
|
validateAgentDefinition,
|
|
19
57
|
validateAgentDeployment,
|
|
58
|
+
validateAgentTask,
|
|
59
|
+
validateConfig,
|
|
60
|
+
validateConsumptionGuards,
|
|
20
61
|
validateTool
|
|
21
|
-
} from "../chunk-
|
|
62
|
+
} from "../chunk-NITBKFG6.js";
|
|
63
|
+
import {
|
|
64
|
+
noopTelemetry,
|
|
65
|
+
safeCapture
|
|
66
|
+
} from "../chunk-AQBXNPMD.js";
|
|
22
67
|
import {
|
|
23
68
|
AGENT_NOT_IMPLEMENTED_UNTIL_T1,
|
|
24
69
|
AgentNotImplementedError,
|
|
25
70
|
sessionStreamPath
|
|
26
71
|
} from "../chunk-WSQ5QNIY.js";
|
|
27
|
-
import {
|
|
28
|
-
WORKSPACE_AGENT_PLUGINS_RELOADED_EVENT,
|
|
29
|
-
WORKSPACE_COMMAND_NOTIFY_EVENT
|
|
30
|
-
} from "../chunk-DGRKMMXO.js";
|
|
31
72
|
import {
|
|
32
73
|
BoringChatMessageSchema,
|
|
33
74
|
BoringChatPartSchema,
|
|
@@ -52,14 +93,12 @@ import {
|
|
|
52
93
|
StopReceiptSchema,
|
|
53
94
|
ThinkingLevelSchema,
|
|
54
95
|
ToolUiMetadataSchema,
|
|
96
|
+
WORKSPACE_AGENT_PLUGINS_RELOADED_EVENT,
|
|
97
|
+
WORKSPACE_COMMAND_NOTIFY_EVENT,
|
|
55
98
|
extractToolUiMetadata,
|
|
56
99
|
isToolUiMetadata,
|
|
57
100
|
sanitizeToolUiMetadata2 as sanitizeToolUiMetadata
|
|
58
|
-
} from "../chunk-
|
|
59
|
-
import {
|
|
60
|
-
noopTelemetry,
|
|
61
|
-
safeCapture
|
|
62
|
-
} from "../chunk-AQBXNPMD.js";
|
|
101
|
+
} from "../chunk-OFQ7J6SI.js";
|
|
63
102
|
import {
|
|
64
103
|
AgentConsumptionErrorCode,
|
|
65
104
|
AgentDefinitionErrorCode,
|
|
@@ -69,277 +108,9 @@ import {
|
|
|
69
108
|
ERROR_CODES,
|
|
70
109
|
ErrorCode,
|
|
71
110
|
ErrorLogFieldsSchema
|
|
72
|
-
} from "../chunk-
|
|
73
|
-
|
|
74
|
-
// src/shared/config-schema.ts
|
|
75
|
-
import { z } from "zod";
|
|
76
|
-
var RuntimeModeSchema = z.enum(["direct", "local", "vercel-sandbox"]);
|
|
77
|
-
var ConfigSchema = z.object({
|
|
78
|
-
workspaceRoot: z.string(),
|
|
79
|
-
workspaceId: z.string(),
|
|
80
|
-
port: z.number().int().positive(),
|
|
81
|
-
mode: RuntimeModeSchema,
|
|
82
|
-
model: z.string().optional(),
|
|
83
|
-
noOpen: z.boolean(),
|
|
84
|
-
noGitignore: z.boolean(),
|
|
85
|
-
dev: z.boolean(),
|
|
86
|
-
verbose: z.boolean()
|
|
87
|
-
});
|
|
88
|
-
var EnvSchema = z.object({
|
|
89
|
-
BORING_AGENT_MODE: RuntimeModeSchema.optional(),
|
|
90
|
-
BORING_AGENT_WORKSPACE_ROOT: z.string().optional(),
|
|
91
|
-
BORING_AGENT_PORT: z.coerce.number().int().positive().optional(),
|
|
92
|
-
BORING_AGENT_TEMPLATE_PATH: z.string().optional(),
|
|
93
|
-
BORING_AGENT_VERBOSE: z.enum(["0", "1"]).optional(),
|
|
94
|
-
BORING_AGENT_MODEL: z.string().optional(),
|
|
95
|
-
BORING_AGENT_DEFAULT_MODEL: z.string().optional(),
|
|
96
|
-
BORING_AGENT_DEFAULT_MODEL_PROVIDER: z.string().optional(),
|
|
97
|
-
BORING_AGENT_DEFAULT_MODEL_ID: z.string().optional(),
|
|
98
|
-
BORING_AGENT_INFOMANIAK_PROVIDER: z.string().optional(),
|
|
99
|
-
BORING_AGENT_INFOMANIAK_PRODUCT_ID: z.string().optional(),
|
|
100
|
-
BORING_AGENT_INFOMANIAK_BASE_URL: z.string().url().optional(),
|
|
101
|
-
BORING_AGENT_INFOMANIAK_MODEL: z.string().optional(),
|
|
102
|
-
BORING_AGENT_INFOMANIAK_MODEL_NAME: z.string().optional(),
|
|
103
|
-
BORING_AGENT_INFOMANIAK_API_KEY_ENV: z.string().optional(),
|
|
104
|
-
BORING_AGENT_INFOMANIAK_API_KEY: z.string().optional(),
|
|
105
|
-
BORING_AGENT_CUSTOM_MODEL_PROVIDER: z.string().optional(),
|
|
106
|
-
BORING_AGENT_CUSTOM_MODEL_ID: z.string().optional(),
|
|
107
|
-
BORING_AGENT_CUSTOM_MODEL_NAME: z.string().optional(),
|
|
108
|
-
BORING_AGENT_CUSTOM_MODEL_BASE_URL: z.string().url().optional(),
|
|
109
|
-
BORING_AGENT_CUSTOM_MODEL_API_KEY_ENV: z.string().optional(),
|
|
110
|
-
BORING_AGENT_CUSTOM_MODEL_API_KEY: z.string().optional(),
|
|
111
|
-
BORING_AGENT_CONFIG: z.string().optional(),
|
|
112
|
-
BORING_AGENT_DEV: z.enum(["0", "1"]).optional(),
|
|
113
|
-
BORING_AGENT_NO_OPEN: z.enum(["0", "1"]).optional(),
|
|
114
|
-
BORING_AGENT_NO_GITIGNORE: z.enum(["0", "1"]).optional(),
|
|
115
|
-
BORING_AGENT_SNAPSHOT_KEEP: z.coerce.number().int().nonnegative().optional(),
|
|
116
|
-
BORING_AGENT_PYTHON_PACKAGES: z.string().optional(),
|
|
117
|
-
VERCEL_OIDC_TOKEN: z.string().optional(),
|
|
118
|
-
VERCEL_ACCESS_TOKEN: z.string().optional(),
|
|
119
|
-
VERCEL_TOKEN: z.string().optional(),
|
|
120
|
-
VERCEL_TEAM_ID: z.string().optional(),
|
|
121
|
-
VERCEL_PROJECT_ID: z.string().optional(),
|
|
122
|
-
BORING_AGENT_VERCEL_SANDBOX_TIMEOUT_MS: z.coerce.number().int().positive().optional()
|
|
123
|
-
});
|
|
124
|
-
function validateConfig(config) {
|
|
125
|
-
return ConfigSchema.parse(config);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// src/shared/capabilities.ts
|
|
129
|
-
var DEFAULT_AGENT_RUNTIME_CAPABILITIES = {
|
|
130
|
-
nativeFollowUp: false,
|
|
131
|
-
aiSdkOwnsHistory: true
|
|
132
|
-
};
|
|
133
|
-
var PI_AGENT_RUNTIME_CAPABILITIES = {
|
|
134
|
-
nativeFollowUp: true,
|
|
135
|
-
aiSdkOwnsHistory: false
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
// src/shared/agent-consumption.ts
|
|
139
|
-
import { z as z2 } from "zod";
|
|
140
|
-
var nonEmptyString = z2.string().min(1);
|
|
141
|
-
function isOpaqueLocatorId(value) {
|
|
142
|
-
return value.trim() === value && !/[\0-\x1f\x7f]/.test(value) && !value.includes("/") && !value.includes("\\") && !value.includes(":") && value !== "." && value !== "..";
|
|
143
|
-
}
|
|
144
|
-
var OpaqueLocatorIdSchema = z2.string().min(1, "must be a non-empty opaque id").max(256, "must be at most 256 characters").refine(isOpaqueLocatorId, 'must be an opaque platform-owned id (no path separators, scheme, or "..")');
|
|
145
|
-
var TASK_STATES = [
|
|
146
|
-
"submitted",
|
|
147
|
-
"working",
|
|
148
|
-
"input-required",
|
|
149
|
-
"completed",
|
|
150
|
-
"failed",
|
|
151
|
-
"canceled",
|
|
152
|
-
"rejected"
|
|
153
|
-
];
|
|
154
|
-
var TaskStateSchema = z2.enum(TASK_STATES);
|
|
155
|
-
var TASK_TRANSITIONS = {
|
|
156
|
-
submitted: ["working", "rejected", "canceled"],
|
|
157
|
-
working: ["input-required", "completed", "failed", "canceled", "rejected"],
|
|
158
|
-
"input-required": ["working", "canceled"],
|
|
159
|
-
completed: [],
|
|
160
|
-
failed: [],
|
|
161
|
-
canceled: [],
|
|
162
|
-
rejected: []
|
|
163
|
-
};
|
|
164
|
-
function isValidTaskTransition(from, to) {
|
|
165
|
-
return TASK_TRANSITIONS[from].includes(to);
|
|
166
|
-
}
|
|
167
|
-
function assertValidTransition(from, to) {
|
|
168
|
-
if (!isValidTaskTransition(from, to)) {
|
|
169
|
-
throw new AgentConsumptionValidationError({
|
|
170
|
-
code: AgentConsumptionErrorCode.enum.AGENT_CONSUMPTION_INVALID_TRANSITION,
|
|
171
|
-
field: "state",
|
|
172
|
-
message: `invalid task state transition: '${from}' -> '${to}'`
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
var PrincipalRefSchema = z2.object({
|
|
177
|
-
userId: nonEmptyString,
|
|
178
|
-
workspaceId: nonEmptyString
|
|
179
|
-
}).strict();
|
|
180
|
-
var AgentRefSchema = z2.object({
|
|
181
|
-
agentId: nonEmptyString,
|
|
182
|
-
deploymentId: nonEmptyString.optional()
|
|
183
|
-
}).strict();
|
|
184
|
-
function agentRefEquals(a, b) {
|
|
185
|
-
return a.agentId === b.agentId && (a.deploymentId ?? null) === (b.deploymentId ?? null);
|
|
186
|
-
}
|
|
187
|
-
var ARTIFACT_LOCATOR_KINDS = ["workspace-file"];
|
|
188
|
-
var WorkspaceFileLocatorSchema = z2.object({
|
|
189
|
-
kind: z2.literal("workspace-file"),
|
|
190
|
-
workspaceId: OpaqueLocatorIdSchema,
|
|
191
|
-
fileId: OpaqueLocatorIdSchema,
|
|
192
|
-
digest: Sha256DigestSchema
|
|
193
|
-
}).strict();
|
|
194
|
-
var ArtifactLocatorSchema = z2.discriminatedUnion("kind", [WorkspaceFileLocatorSchema]);
|
|
195
|
-
var ArtifactRefSchema = z2.object({
|
|
196
|
-
artifactId: nonEmptyString,
|
|
197
|
-
name: z2.string().optional(),
|
|
198
|
-
mimeType: nonEmptyString,
|
|
199
|
-
locator: ArtifactLocatorSchema
|
|
200
|
-
}).strict();
|
|
201
|
-
var PartSchema = z2.discriminatedUnion("type", [
|
|
202
|
-
z2.object({ type: z2.literal("text"), text: z2.string() }).strict(),
|
|
203
|
-
z2.object({ type: z2.literal("file"), file: ArtifactRefSchema }).strict(),
|
|
204
|
-
z2.object({ type: z2.literal("data"), mimeType: nonEmptyString, data: z2.unknown() }).strict()
|
|
205
|
-
]);
|
|
206
|
-
var AgentMessageSchema = z2.object({
|
|
207
|
-
role: z2.enum(["consumer", "agent"]),
|
|
208
|
-
parts: z2.array(PartSchema),
|
|
209
|
-
ts: nonEmptyString
|
|
210
|
-
}).strict();
|
|
211
|
-
var AGENT_TASK_SCHEMA_VERSION = "2";
|
|
212
|
-
var AgentTaskSchema = z2.object({
|
|
213
|
-
id: nonEmptyString,
|
|
214
|
-
contextId: nonEmptyString,
|
|
215
|
-
state: TaskStateSchema,
|
|
216
|
-
messages: z2.array(AgentMessageSchema),
|
|
217
|
-
artifacts: z2.array(ArtifactRefSchema),
|
|
218
|
-
principal: PrincipalRefSchema,
|
|
219
|
-
actor: AgentRefSchema.optional(),
|
|
220
|
-
schemaVersion: z2.literal(AGENT_TASK_SCHEMA_VERSION),
|
|
221
|
-
createdAt: nonEmptyString,
|
|
222
|
-
updatedAt: nonEmptyString
|
|
223
|
-
}).strict();
|
|
224
|
-
function schemaMismatchIssues(issues) {
|
|
225
|
-
return issues.map((issue) => {
|
|
226
|
-
const field = formatPath(issue.path);
|
|
227
|
-
return {
|
|
228
|
-
code: AgentConsumptionErrorCode.enum.AGENT_CONSUMPTION_SCHEMA_MISMATCH,
|
|
229
|
-
field,
|
|
230
|
-
message: field === "<root>" ? issue.message : `${field} ${issue.message}`
|
|
231
|
-
};
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
function validateAgentTask(raw) {
|
|
235
|
-
const result = AgentTaskSchema.safeParse(raw);
|
|
236
|
-
if (!result.success) {
|
|
237
|
-
return { valid: false, issues: schemaMismatchIssues(result.error.issues) };
|
|
238
|
-
}
|
|
239
|
-
return { valid: true, value: result.data };
|
|
240
|
-
}
|
|
241
|
-
var AgentConsumptionValidationError = class extends SchemaValidationError {
|
|
242
|
-
constructor(issue) {
|
|
243
|
-
super(issue);
|
|
244
|
-
this.name = "AgentConsumptionValidationError";
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
var LegacyArtifactRefSchema = z2.object({
|
|
248
|
-
artifactId: nonEmptyString,
|
|
249
|
-
name: z2.string().optional(),
|
|
250
|
-
mimeType: nonEmptyString,
|
|
251
|
-
uri: nonEmptyString
|
|
252
|
-
}).strict();
|
|
253
|
-
var LegacyPartSchema = z2.discriminatedUnion("type", [
|
|
254
|
-
z2.object({ type: z2.literal("text"), text: z2.string() }).strict(),
|
|
255
|
-
z2.object({ type: z2.literal("file"), file: LegacyArtifactRefSchema }).strict(),
|
|
256
|
-
z2.object({ type: z2.literal("data"), mimeType: nonEmptyString, data: z2.unknown() }).strict()
|
|
257
|
-
]);
|
|
258
|
-
var LegacyAgentMessageSchema = z2.object({
|
|
259
|
-
role: z2.enum(["consumer", "agent"]),
|
|
260
|
-
parts: z2.array(LegacyPartSchema),
|
|
261
|
-
ts: nonEmptyString
|
|
262
|
-
}).strict();
|
|
263
|
-
var LegacyAgentTaskSchema = z2.object({
|
|
264
|
-
id: nonEmptyString,
|
|
265
|
-
contextId: nonEmptyString,
|
|
266
|
-
state: TaskStateSchema,
|
|
267
|
-
messages: z2.array(LegacyAgentMessageSchema),
|
|
268
|
-
artifacts: z2.array(LegacyArtifactRefSchema),
|
|
269
|
-
principal: PrincipalRefSchema,
|
|
270
|
-
actor: AgentRefSchema.optional(),
|
|
271
|
-
schemaVersion: z2.literal("1"),
|
|
272
|
-
createdAt: nonEmptyString,
|
|
273
|
-
updatedAt: nonEmptyString
|
|
274
|
-
}).strict();
|
|
275
|
-
function collectLegacyArtifactUris(raw) {
|
|
276
|
-
const uris = [];
|
|
277
|
-
for (const artifact of raw.artifacts) uris.push(artifact.uri);
|
|
278
|
-
for (const message of raw.messages) {
|
|
279
|
-
for (const part of message.parts) {
|
|
280
|
-
if (part.type === "file") uris.push(part.file.uri);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
return uris;
|
|
284
|
-
}
|
|
285
|
-
function parseAgentTaskEdgeCompat(raw) {
|
|
286
|
-
const v2 = AgentTaskSchema.safeParse(raw);
|
|
287
|
-
if (v2.success) return { valid: true, value: v2.data };
|
|
288
|
-
const legacy = LegacyAgentTaskSchema.safeParse(raw);
|
|
289
|
-
if (legacy.success) {
|
|
290
|
-
const uris = collectLegacyArtifactUris(legacy.data);
|
|
291
|
-
const issues = uris.length > 0 ? uris.map((uri, index) => ({
|
|
292
|
-
code: AgentConsumptionErrorCode.enum.AGENT_CONSUMPTION_LEGACY_ARTIFACT_REJECTED,
|
|
293
|
-
field: `artifacts[${index}].uri`,
|
|
294
|
-
message: `schemaVersion '1' artifact uri '${uri}' has no typed ArtifactLocator translation and is refused before any storage/network effect`
|
|
295
|
-
})) : [
|
|
296
|
-
{
|
|
297
|
-
code: AgentConsumptionErrorCode.enum.AGENT_CONSUMPTION_LEGACY_ARTIFACT_REJECTED,
|
|
298
|
-
field: "schemaVersion",
|
|
299
|
-
message: "schemaVersion '1' is no longer accepted; publish schemaVersion '2' with a typed ArtifactLocator"
|
|
300
|
-
}
|
|
301
|
-
];
|
|
302
|
-
return { valid: false, issues };
|
|
303
|
-
}
|
|
304
|
-
return { valid: false, issues: schemaMismatchIssues(v2.error.issues) };
|
|
305
|
-
}
|
|
306
|
-
var ConsumptionGuardsSchema = z2.object({
|
|
307
|
-
maxDepth: z2.number().int().positive(),
|
|
308
|
-
inputRequiredTimeoutMs: z2.number().int().positive()
|
|
309
|
-
}).strict();
|
|
310
|
-
function validateConsumptionGuards(raw) {
|
|
311
|
-
const result = ConsumptionGuardsSchema.safeParse(raw);
|
|
312
|
-
if (!result.success) {
|
|
313
|
-
return { valid: false, issues: schemaMismatchIssues(result.error.issues) };
|
|
314
|
-
}
|
|
315
|
-
return { valid: true, value: result.data };
|
|
316
|
-
}
|
|
317
|
-
function detectConsumptionCycle(chain, next) {
|
|
318
|
-
return chain.some((ref) => agentRefEquals(ref, next));
|
|
319
|
-
}
|
|
320
|
-
function assertNoConsumptionCycle(chain, next) {
|
|
321
|
-
if (detectConsumptionCycle(chain, next)) {
|
|
322
|
-
const label = next.deploymentId ? `${next.agentId}@${next.deploymentId}` : next.agentId;
|
|
323
|
-
throw new AgentConsumptionValidationError({
|
|
324
|
-
code: AgentConsumptionErrorCode.enum.AGENT_CONSUMPTION_CYCLE_DETECTED,
|
|
325
|
-
field: "actor",
|
|
326
|
-
message: `consumption cycle detected: agent '${label}' already present in the delegation chain`
|
|
327
|
-
});
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
function isWithinConsumptionDepth(chain, guards) {
|
|
331
|
-
return chain.length < guards.maxDepth;
|
|
332
|
-
}
|
|
333
|
-
function assertWithinConsumptionDepth(chain, guards) {
|
|
334
|
-
if (!isWithinConsumptionDepth(chain, guards)) {
|
|
335
|
-
throw new AgentConsumptionValidationError({
|
|
336
|
-
code: AgentConsumptionErrorCode.enum.AGENT_CONSUMPTION_DEPTH_EXCEEDED,
|
|
337
|
-
field: "depth",
|
|
338
|
-
message: `consumption depth exceeded: chain length ${chain.length} >= max depth ${guards.maxDepth}`
|
|
339
|
-
});
|
|
340
|
-
}
|
|
341
|
-
}
|
|
111
|
+
} from "../chunk-2GBHYJVC.js";
|
|
342
112
|
export {
|
|
113
|
+
AGENT_GATEWAY_ERROR_CODES,
|
|
343
114
|
AGENT_NOT_IMPLEMENTED_UNTIL_T1,
|
|
344
115
|
AGENT_TASK_SCHEMA_VERSION,
|
|
345
116
|
ARTIFACT_LOCATOR_KINDS,
|
|
@@ -349,6 +120,8 @@ export {
|
|
|
349
120
|
AgentDefinitionValidationError,
|
|
350
121
|
AgentDeploymentErrorCode,
|
|
351
122
|
AgentDeploymentValidationError,
|
|
123
|
+
AgentGatewayError,
|
|
124
|
+
AgentGatewayErrorCode,
|
|
352
125
|
AgentMessageSchema,
|
|
353
126
|
AgentNotImplementedError,
|
|
354
127
|
AgentRefSchema,
|
|
@@ -359,12 +132,14 @@ export {
|
|
|
359
132
|
ArtifactRefSchema,
|
|
360
133
|
BoringChatMessageSchema,
|
|
361
134
|
BoringChatPartSchema,
|
|
135
|
+
CREDENTIAL_ERROR_CODES,
|
|
362
136
|
ChatAttachmentPayloadSchema,
|
|
363
137
|
ChatErrorSchema,
|
|
364
138
|
ChatModelSelectionSchema,
|
|
365
139
|
CommandReceiptSchema,
|
|
366
140
|
ConfigSchema,
|
|
367
141
|
ConsumptionGuardsSchema,
|
|
142
|
+
CredentialResolutionError,
|
|
368
143
|
DEFAULT_AGENT_RUNTIME_CAPABILITIES,
|
|
369
144
|
ERROR_CODES,
|
|
370
145
|
EnvSchema,
|
|
@@ -377,6 +152,7 @@ export {
|
|
|
377
152
|
OpaqueRefSchema,
|
|
378
153
|
OpaqueShareLocatorIdSchema,
|
|
379
154
|
PI_AGENT_RUNTIME_CAPABILITIES,
|
|
155
|
+
PROVIDER_CREDENTIAL_REF_VERSION,
|
|
380
156
|
PartSchema,
|
|
381
157
|
PiChatEventSchema,
|
|
382
158
|
PiChatHeartbeatFrameSchema,
|
|
@@ -390,6 +166,9 @@ export {
|
|
|
390
166
|
QueueClearReceiptSchema,
|
|
391
167
|
QueuedUserMessageSchema,
|
|
392
168
|
RuntimeModeSchema,
|
|
169
|
+
SANDBOX_CREDENTIAL_MAX_FIELDS_V1,
|
|
170
|
+
SANDBOX_CREDENTIAL_MAX_METADATA_BYTES_V1,
|
|
171
|
+
SANDBOX_CREDENTIAL_MAX_TOTAL_BYTES_V1,
|
|
393
172
|
Sha256DigestSchema,
|
|
394
173
|
ShareEntryErrorCode,
|
|
395
174
|
ShareEntryProvenanceSchema,
|
|
@@ -411,6 +190,10 @@ export {
|
|
|
411
190
|
createAgentAssetDigest,
|
|
412
191
|
createAgentDefinitionDigest,
|
|
413
192
|
createAgentDeploymentDigest,
|
|
193
|
+
createCredentialConsumerBindingRegistryV1,
|
|
194
|
+
createNotImplementedSandboxCredentialPayloadResolverV1,
|
|
195
|
+
createProviderCredentialRefFactoryV1,
|
|
196
|
+
createProviderRegistryV1,
|
|
414
197
|
detectConsumptionCycle,
|
|
415
198
|
extractToolUiMetadata,
|
|
416
199
|
isToolUiMetadata,
|