@sema-agent/client-core 0.112.0 → 0.113.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.
- package/CHANGELOG.md +153 -0
- package/README.md +37 -24
- package/dist/adapt/arms.js +7 -1
- package/dist/adapt/textStream.d.ts +2 -0
- package/dist/adapt/textStream.js +27 -1
- package/dist/adapter/activeRunSelfHeal.d.ts +7 -5
- package/dist/adapter/activeRunSelfHeal.js +38 -66
- package/dist/adapter/downstream/eventToSdkMessage.js +4 -0
- package/dist/adapter/downstream/terminalToSdkResult.d.ts +8 -0
- package/dist/adapter/downstream/terminalToSdkResult.js +36 -1
- package/dist/adapter/runStream.d.ts +2 -12
- package/dist/adapter/runStream.js +46 -19
- package/dist/agentSession/engineAgentRegistryRead.js +2 -1
- package/dist/agentSession/engineSessionBackgroundStop.js +2 -2
- package/dist/attachmentOutcome.d.ts +35 -0
- package/dist/attachmentOutcome.js +192 -0
- package/dist/attachmentPathPlan.d.ts +67 -0
- package/dist/attachmentPathPlan.js +203 -0
- package/dist/attachmentRoute.d.ts +9 -1
- package/dist/attachmentRoute.js +23 -2
- package/dist/declared/supportFloorDeclared.d.ts +1 -1
- package/dist/declared/supportFloorDeclared.js +1 -0
- package/dist/deviceRebind.js +2 -3
- package/dist/displayUntrusted.js +126 -19
- package/dist/engineAddress.d.ts +1 -1
- package/dist/engineAddress.js +9 -6
- package/dist/engineErrorCodes.d.ts +3 -0
- package/dist/engineErrorCodes.js +4 -0
- package/dist/engineNoticeCodes.d.ts +34 -4
- package/dist/engineNoticeCodes.js +133 -6
- package/dist/engineUnavailable.d.ts +4 -2
- package/dist/engineUnavailable.js +99 -17
- package/dist/fleet/fleetLedger.d.ts +9 -3
- package/dist/fleet/fleetLedger.js +112 -16
- package/dist/fleet/fleetProjection.d.ts +5 -0
- package/dist/fleet/fleetProjection.js +9 -1
- package/dist/gateVocabulary.d.ts +7 -0
- package/dist/gateVocabulary.js +40 -14
- package/dist/generated/engineFactTables.d.ts +4 -2
- package/dist/generated/engineFactTables.js +198 -2
- package/dist/generated/engineNoticeTables.js +56 -8
- package/dist/generated/settingsSchemaFns.d.ts +7 -0
- package/dist/generated/settingsSchemaFns.js +11 -0
- package/dist/generated/settingsSchemaHash.d.ts +1 -0
- package/dist/generated/settingsSchemaHash.js +58 -0
- package/dist/generated/settingsSchemaOwnKeyRead.js +6 -1
- package/dist/generated/settingsSchemaTables.d.ts +3 -2
- package/dist/generated/settingsSchemaTables.js +14 -0
- package/dist/generated/settingsSchemaTightenVerdict.d.ts +1 -0
- package/dist/generated/settingsSchemaTightenVerdict.js +125 -0
- package/dist/headlessPermissionModeWire.d.ts +7 -2
- package/dist/headlessPermissionModeWire.js +77 -8
- package/dist/hitl/approvalDecisionDoor.d.ts +24 -0
- package/dist/hitl/approvalDecisionDoor.js +77 -0
- package/dist/hitl/approvalDelivery.d.ts +6 -0
- package/dist/hitl/approvalDelivery.js +57 -7
- package/dist/hitl/approvalResolution.d.ts +6 -3
- package/dist/hitl/approvalResolution.js +24 -2
- package/dist/hitl/approvalsFeed.js +1 -1
- package/dist/hitl/automaticAnswerVerdict.d.ts +1 -1
- package/dist/hitl/decisionSend.d.ts +7 -4
- package/dist/hitl/decisionSend.js +90 -41
- package/dist/hitl/frameRouter.d.ts +3 -3
- package/dist/hitl/frameRouter.js +5 -0
- package/dist/hitl/hitlBridge.d.ts +1 -0
- package/dist/hitl/hitlBridge.js +17 -4
- package/dist/hitl/hitlHostSurface.d.ts +3 -2
- package/dist/hitl/hitlHostSurface.js +5 -3
- package/dist/hitl/legacyApprovalShapes.d.ts +142 -0
- package/dist/hitl/legacyApprovalShapes.js +1 -0
- package/dist/hitl/livePendingAsk.d.ts +4 -4
- package/dist/hitl/livePendingAsk.js +5 -3
- package/dist/hitl/parkResolver.js +1 -1
- package/dist/hitl/persistedRulesWire.js +2 -2
- package/dist/hitl/planReviewCard.d.ts +4 -2
- package/dist/hitl/planReviewCard.js +66 -1
- package/dist/hitl/planReviewWire.d.ts +34 -2
- package/dist/hitl/planReviewWire.js +326 -150
- package/dist/hitl/sessionPolicyWire.js +16 -7
- package/dist/hitl/subagentSource.d.ts +1 -0
- package/dist/hitl/subagentSource.js +11 -0
- package/dist/hitl/toolApprovalWire.d.ts +34 -10
- package/dist/hitl/toolApprovalWire.js +182 -33
- package/dist/hookMatcherVerdict.d.ts +2 -1
- package/dist/hookMatcherVerdict.js +3 -2
- package/dist/hooksReaderGenerations.d.ts +8 -0
- package/dist/hooksReaderGenerations.js +49 -0
- package/dist/hooksWireCaps.js +43 -18
- package/dist/hostSettingsSource.d.ts +1 -1
- package/dist/hostSettingsSource.js +2 -2
- package/dist/hostTurnSettings.d.ts +2 -2
- package/dist/hostTurnSettings.js +87 -47
- package/dist/humanTurn.d.ts +2 -1
- package/dist/humanTurn.js +44 -13
- package/dist/humanTurnRead.d.ts +7 -0
- package/dist/humanTurnRead.js +23 -14
- package/dist/humanTurnSentences.js +3 -0
- package/dist/i18n/messages.en.d.ts +93 -5
- package/dist/i18n/messages.en.js +100 -12
- package/dist/i18n/messages.zh.js +110 -15
- package/dist/index.d.ts +29 -15
- package/dist/index.js +17 -9
- package/dist/liveModelCatalog.js +1 -0
- package/dist/liveQuestionStore.d.ts +2 -0
- package/dist/liveQuestionStore.js +7 -2
- package/dist/localConfig/kernel.d.ts +2 -1
- package/dist/localConfig/kernel.js +12 -18
- package/dist/localConfig/mcp/edit.js +25 -27
- package/dist/localConfig/mcp/servers.js +5 -8
- package/dist/localConfig/modelPool.d.ts +6 -1
- package/dist/localConfig/modelPool.js +104 -27
- package/dist/localConfig/modelPoolWords.d.ts +2 -0
- package/dist/localConfig/modelPoolWords.js +1 -0
- package/dist/localConfig/settingsWrite.js +1 -14
- package/dist/localConfig/skills.js +9 -16
- package/dist/localEngineSpawn.d.ts +29 -1
- package/dist/localEngineSpawn.js +62 -1
- package/dist/mcpLiveness.d.ts +1 -1
- package/dist/mcpProbeWire.js +2 -2
- package/dist/mcpReconnect.js +2 -2
- package/dist/model/catalogLoader.js +3 -17
- package/dist/model/onboardJudgement.d.ts +8 -0
- package/dist/model/onboardJudgement.js +8 -3
- package/dist/model/onboardSteps.d.ts +19 -0
- package/dist/model/onboardSteps.js +76 -0
- package/dist/notifications.js +20 -12
- package/dist/ownKey.d.ts +4 -0
- package/dist/ownKey.js +61 -0
- package/dist/pathShape.d.ts +14 -0
- package/dist/pathShape.js +44 -0
- package/dist/planReviewCardFacts.d.ts +3 -0
- package/dist/planReviewCardFacts.js +20 -3
- package/dist/planReviewOutcomeCause.d.ts +2 -0
- package/dist/planReviewOutcomeCause.js +12 -0
- package/dist/pluginHooksWire.d.ts +20 -8
- package/dist/pluginHooksWire.js +204 -86
- package/dist/prepareRefusal.d.ts +2 -0
- package/dist/prepareRefusal.js +11 -1
- package/dist/request/taskRequest.js +3 -1
- package/dist/resultFrameKeys.d.ts +1 -0
- package/dist/resultFrameKeys.js +3 -0
- package/dist/resumeRefusalCopy.js +3 -1
- package/dist/retryStatus.d.ts +11 -1
- package/dist/retryStatus.js +15 -4
- package/dist/runTerminal.d.ts +1 -0
- package/dist/runTerminal.js +15 -1
- package/dist/sdkWireTransit.d.ts +1 -1
- package/dist/seatContract.d.ts +12 -3
- package/dist/seatContract.js +24 -13
- package/dist/sessionEngine.js +1 -1
- package/dist/sessionHooksRoster.js +8 -6
- package/dist/sessionIdSegment.d.ts +0 -1
- package/dist/sessionIdSegment.js +1 -3
- package/dist/sessionMemoryErase.js +2 -2
- package/dist/sessionMemoryStatus.js +2 -1
- package/dist/sessionOccupant.d.ts +29 -0
- package/dist/sessionOccupant.js +78 -0
- package/dist/settingsHooksSalvage.d.ts +4 -1
- package/dist/settingsHooksSalvage.js +22 -9
- package/dist/skillOverrideChain.d.ts +3 -0
- package/dist/skillOverrideChain.js +31 -4
- package/dist/skillsWireCaps.d.ts +16 -2
- package/dist/skillsWireCaps.js +47 -20
- package/dist/subagent/agentStateDetail.js +32 -8
- package/dist/subagent/engineCompactWire.js +48 -36
- package/dist/subagent/engineDelegatedPrompt.d.ts +3 -2
- package/dist/subagent/engineDelegatedPrompt.js +65 -28
- package/dist/subagentEditOutcomes.d.ts +9 -0
- package/dist/subagentEditOutcomes.js +43 -0
- package/dist/supportFloor.d.ts +2 -1
- package/dist/supportFloor.js +1 -1
- package/dist/toolResult.js +4 -2
- package/dist/toolRoster.d.ts +1 -0
- package/dist/toolRoster.js +1 -0
- package/dist/usageAnalytics.js +2 -1
- package/dist/userAttachmentEnvelope.d.ts +11 -0
- package/dist/userAttachmentEnvelope.js +7 -2
- package/dist/userAttachmentSeat.d.ts +7 -1
- package/dist/userAttachmentSeat.js +44 -7
- package/dist/wiringInstructionsAttribution.js +8 -2
- package/docs/INTEGRATION-CLIENTS.md +1654 -16
- package/package.json +5 -5
package/dist/humanTurn.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CORE_IMAGE_ADMISSION_HARD_IMAGE_BASE64_CHARS, CORE_MAX_PENDING_STEER_CHARS, CORE_USER_ATTACHMENT_LABEL_MAX } from './generated/engineFactTables.js';
|
|
2
|
-
import { mintEnvelopeOf, mintReferenceOf, seatTextOf } from './userAttachmentEnvelope.js';
|
|
2
|
+
import { mintEnvelopeOf, mintPathPointerOf, mintReferenceOf, seatTextOf } from './userAttachmentEnvelope.js';
|
|
3
3
|
import { readEncodingShares, readHumanTurnInput } from './humanTurnRead.js';
|
|
4
4
|
import { putOwnKey } from './ownKey.js';
|
|
5
5
|
import { msg, renderMessage } from './i18n/translate.js';
|
|
@@ -76,11 +76,11 @@ function steerRefusal(text) {
|
|
|
76
76
|
return 'too_long';
|
|
77
77
|
return undefined;
|
|
78
78
|
}
|
|
79
|
-
function textOf(p) {
|
|
79
|
+
function textOf(p, pointers) {
|
|
80
80
|
if (p.form === 'reference')
|
|
81
81
|
return mintReferenceOf(p.a.d);
|
|
82
82
|
if (p.form === 'seat')
|
|
83
|
-
return '';
|
|
83
|
+
return pointers && p.a.d.kind === 'path' ? mintPathPointerOf(p.a.d) : '';
|
|
84
84
|
return mintEnvelopeOf(p.a.d, p.seated ? 'attached' : 'not-attached');
|
|
85
85
|
}
|
|
86
86
|
const digits = (n) => String(n).length;
|
|
@@ -100,10 +100,14 @@ function seatEntryOf(a, maxRenderedTextChars) {
|
|
|
100
100
|
return undefined;
|
|
101
101
|
return a.d.kind === 'text' ? { name, text, startLine } : { name, text };
|
|
102
102
|
}
|
|
103
|
-
function compose(items, placements) {
|
|
104
|
-
const perItem = items.map((it, i) => [...placements.filter((p) => p.item === i).map(textOf), it.text].filter((s) => s.length > 0).join('\n\n'));
|
|
103
|
+
function compose(items, placements, pointers = false) {
|
|
104
|
+
const perItem = items.map((it, i) => [...placements.filter((p) => p.item === i).map((p) => textOf(p, pointers)), it.text].filter((s) => s.length > 0).join('\n\n'));
|
|
105
105
|
return perItem.filter((s) => s.length > 0).join('\n');
|
|
106
106
|
}
|
|
107
|
+
function composeObjective(items, placements) {
|
|
108
|
+
const text = compose(items, placements);
|
|
109
|
+
return text.trim() === '' && placements.some((p) => p.form === 'seat' && p.a.d.kind === 'path') ? compose(items, placements, true) : text;
|
|
110
|
+
}
|
|
107
111
|
function seatedImages(items, pastedWhy, placements) {
|
|
108
112
|
const out = [];
|
|
109
113
|
items.forEach((it, i) => {
|
|
@@ -127,6 +131,9 @@ const ENCODER_WHY_LIST = [
|
|
|
127
131
|
'seat_total',
|
|
128
132
|
'lane_has_no_image_seat',
|
|
129
133
|
'lane_has_no_attachment_id_seat',
|
|
134
|
+
'lane_has_no_path_seat',
|
|
135
|
+
'path_not_admitted',
|
|
136
|
+
'path_seat_count',
|
|
130
137
|
];
|
|
131
138
|
const encoderWhysExhaustive = true;
|
|
132
139
|
void encoderWhysExhaustive;
|
|
@@ -146,7 +153,7 @@ function records(lane, items, pastedWhy, placements) {
|
|
|
146
153
|
for (const p of placements) {
|
|
147
154
|
if (p.item !== i)
|
|
148
155
|
continue;
|
|
149
|
-
push(i, p.form !== 'reference' ? { kind: 'attachment_ref', ref: p.a.uuid, status: 'full' } : { kind: 'attachment_ref', ref: p.a.uuid, status: 'none', why: lane === 'objective' ? 'body_budget' : 'steer_admission' });
|
|
156
|
+
push(i, p.form !== 'reference' ? { kind: 'attachment_ref', ref: p.a.uuid, status: 'full' } : { kind: 'attachment_ref', ref: p.a.uuid, status: 'none', why: p.refWhy ?? (lane === 'objective' ? 'body_budget' : 'steer_admission') });
|
|
150
157
|
if (p.a.pixels !== undefined) {
|
|
151
158
|
if (lane === 'steer')
|
|
152
159
|
push(i, { kind: 'image', ref: p.a.uuid, status: 'none', why: 'lane_has_no_image_seat' });
|
|
@@ -238,7 +245,7 @@ function encodeObjective(v) {
|
|
|
238
245
|
const placements = [];
|
|
239
246
|
items.forEach((it, i) => {
|
|
240
247
|
for (const a of it.attachments) {
|
|
241
|
-
const p = { item: i, a, form: 'content', seated: false, seatWhy: undefined, entry: undefined };
|
|
248
|
+
const p = { item: i, a, form: 'content', seated: false, seatWhy: undefined, entry: undefined, refWhy: undefined };
|
|
242
249
|
if (a.pixels !== undefined) {
|
|
243
250
|
if (v.vision === 'no')
|
|
244
251
|
p.seatWhy = 'vision_no';
|
|
@@ -250,10 +257,29 @@ function encodeObjective(v) {
|
|
|
250
257
|
placements.push(p);
|
|
251
258
|
}
|
|
252
259
|
});
|
|
260
|
+
let pathSeated = 0;
|
|
261
|
+
for (const p of placements) {
|
|
262
|
+
const d = p.a.d;
|
|
263
|
+
if (d.kind !== 'path')
|
|
264
|
+
continue;
|
|
265
|
+
if (v.pathSeats === undefined) {
|
|
266
|
+
p.form = 'reference';
|
|
267
|
+
p.refWhy = 'path_not_admitted';
|
|
268
|
+
}
|
|
269
|
+
else if (pathSeated >= v.pathSeats) {
|
|
270
|
+
p.form = 'reference';
|
|
271
|
+
p.refWhy = 'path_seat_count';
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
p.form = 'seat';
|
|
275
|
+
p.entry = d.entry;
|
|
276
|
+
pathSeated += 1;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
253
279
|
if (v.seat !== undefined) {
|
|
254
280
|
let n = 0;
|
|
255
281
|
for (const p of placements) {
|
|
256
|
-
if (n >= v.seat.maxEntries)
|
|
282
|
+
if (pathSeated + n >= v.seat.maxEntries)
|
|
257
283
|
break;
|
|
258
284
|
const entry = seatEntryOf(p.a, v.seat.maxRenderedTextChars);
|
|
259
285
|
if (entry === undefined)
|
|
@@ -264,7 +290,7 @@ function encodeObjective(v) {
|
|
|
264
290
|
}
|
|
265
291
|
if (n > 0 && compose(items, placements).trim() === '') {
|
|
266
292
|
for (const p of placements) {
|
|
267
|
-
if (p.form === 'seat') {
|
|
293
|
+
if (p.form === 'seat' && p.a.d.kind !== 'path') {
|
|
268
294
|
p.form = 'content';
|
|
269
295
|
p.entry = undefined;
|
|
270
296
|
}
|
|
@@ -273,7 +299,7 @@ function encodeObjective(v) {
|
|
|
273
299
|
}
|
|
274
300
|
const ids = items.flatMap((it) => it.attachmentIds);
|
|
275
301
|
for (;;) {
|
|
276
|
-
const text =
|
|
302
|
+
const text = composeObjective(items, placements);
|
|
277
303
|
const images = seatedImages(items, pastedWhy, placements);
|
|
278
304
|
const seated = placements.filter((p) => p.form === 'seat');
|
|
279
305
|
const entries = seated.map((p) => p.entry);
|
|
@@ -298,6 +324,8 @@ function encodeObjective(v) {
|
|
|
298
324
|
placements.forEach((p, k) => {
|
|
299
325
|
if (p.form === 'reference')
|
|
300
326
|
return;
|
|
327
|
+
if (p.a.d.kind === 'path')
|
|
328
|
+
return;
|
|
301
329
|
if (p.form === 'seat') {
|
|
302
330
|
const cost = jsonBytes(p.entry) + 1;
|
|
303
331
|
if (cost >= pickCost) {
|
|
@@ -306,7 +334,7 @@ function encodeObjective(v) {
|
|
|
306
334
|
}
|
|
307
335
|
return;
|
|
308
336
|
}
|
|
309
|
-
const cost = jsonBytes(textOf(p)) + (p.seated && p.a.pixels !== undefined ? jsonBytes({ data: p.a.pixels.data, mimeType: p.a.pixels.mimeType }) : 0);
|
|
337
|
+
const cost = jsonBytes(textOf(p, false)) + (p.seated && p.a.pixels !== undefined ? jsonBytes({ data: p.a.pixels.data, mimeType: p.a.pixels.mimeType }) : 0);
|
|
310
338
|
if (cost >= pickCost) {
|
|
311
339
|
pick = k;
|
|
312
340
|
pickCost = cost;
|
|
@@ -321,8 +349,11 @@ function encodeSteer(v) {
|
|
|
321
349
|
const { items } = v;
|
|
322
350
|
const placements = [];
|
|
323
351
|
items.forEach((it, i) => {
|
|
324
|
-
for (const a of it.attachments)
|
|
325
|
-
placements.push(
|
|
352
|
+
for (const a of it.attachments) {
|
|
353
|
+
placements.push(a.d.kind === 'path'
|
|
354
|
+
? { item: i, a, form: 'reference', seated: false, seatWhy: undefined, entry: undefined, refWhy: 'lane_has_no_path_seat' }
|
|
355
|
+
: { item: i, a, form: 'content', seated: false, seatWhy: undefined, entry: undefined, refWhy: undefined });
|
|
356
|
+
}
|
|
326
357
|
});
|
|
327
358
|
let text = compose(items, placements);
|
|
328
359
|
let refusal = steerRefusal(text);
|
package/dist/humanTurnRead.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { UserAttachmentDescriptor, UserAttachmentMcpResourcePart, UserAttac
|
|
|
3
3
|
import type { HumanTurnAttachment, HumanTurnEncoding, HumanTurnInput, HumanTurnMissing } from './humanTurn.js';
|
|
4
4
|
import type { ImageVision } from './liveModelCatalog.js';
|
|
5
5
|
import { type UserAttachmentSeatLimits } from './userAttachmentSeat.js';
|
|
6
|
+
import { type UserAttachmentPathEntry } from './attachmentPathPlan.js';
|
|
6
7
|
export interface CellView {
|
|
7
8
|
cellType: string | undefined;
|
|
8
9
|
source: string | undefined;
|
|
@@ -70,6 +71,11 @@ export type DescriptorView = {
|
|
|
70
71
|
name: string;
|
|
71
72
|
parts: UserAttachmentMcpResourcePart[];
|
|
72
73
|
truncated: boolean;
|
|
74
|
+
} | {
|
|
75
|
+
kind: 'path';
|
|
76
|
+
name: string;
|
|
77
|
+
path: string;
|
|
78
|
+
entry: UserAttachmentPathEntry;
|
|
73
79
|
};
|
|
74
80
|
export declare function readDescriptor(x: UserAttachmentDescriptor | HumanTurnAttachment['descriptor'], imageDelivery: 'required' | 'ignored'): DescriptorView | undefined;
|
|
75
81
|
type Reason = Exclude<Extract<HumanTurnEncoding, {
|
|
@@ -106,6 +112,7 @@ export interface InputView {
|
|
|
106
112
|
lane: 'objective' | 'steer';
|
|
107
113
|
vision: ImageVision;
|
|
108
114
|
seat: UserAttachmentSeatLimits | undefined;
|
|
115
|
+
pathSeats: number | undefined;
|
|
109
116
|
otherBodyBytes: number;
|
|
110
117
|
items: ItemView[];
|
|
111
118
|
}
|
package/dist/humanTurnRead.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { appendOwnElement } from './ownKey.js';
|
|
2
2
|
import { userAttachmentSeatAdmits } from './userAttachmentSeat.js';
|
|
3
|
+
import { pathEntryOf, presentSeatLimitsOf } from './attachmentPathPlan.js';
|
|
3
4
|
const descriptorKindsAligned = true;
|
|
4
5
|
void descriptorKindsAligned;
|
|
5
6
|
const MALFORMED = Object.freeze({});
|
|
@@ -171,6 +172,13 @@ function readDescriptorAny(x, imageDelivery) {
|
|
|
171
172
|
bad();
|
|
172
173
|
return { kind, server: str(ownData(o, 'server')), uri: str(ownData(o, 'uri')), name: name(), parts: ownArray(ownData(o, 'parts')).map(readMcpPart), truncated: truncated };
|
|
173
174
|
}
|
|
175
|
+
case 'path': {
|
|
176
|
+
const verdict = pathEntryOf(o);
|
|
177
|
+
if ('why' in verdict)
|
|
178
|
+
bad();
|
|
179
|
+
const entry = verdict.entry;
|
|
180
|
+
return { kind, name: name(), path: entry.path, entry };
|
|
181
|
+
}
|
|
174
182
|
default:
|
|
175
183
|
return undefined;
|
|
176
184
|
}
|
|
@@ -270,23 +278,24 @@ function readItem(x) {
|
|
|
270
278
|
}),
|
|
271
279
|
};
|
|
272
280
|
}
|
|
273
|
-
function
|
|
281
|
+
function seatOf(caps, lane) {
|
|
274
282
|
try {
|
|
275
283
|
const reading = ownData(caps, 'userAttachments');
|
|
276
284
|
if (reading === undefined)
|
|
277
|
-
return undefined;
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
const
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
285
|
+
return { content: undefined, pathSeats: undefined };
|
|
286
|
+
const scenario = ownData(caps, 'scenario');
|
|
287
|
+
const limits = presentSeatLimitsOf(reading);
|
|
288
|
+
if (limits === undefined)
|
|
289
|
+
return { content: undefined, pathSeats: undefined };
|
|
290
|
+
const card = scenario === undefined ? {} : { scenario: scenario };
|
|
291
|
+
const seat = reading;
|
|
292
|
+
return {
|
|
293
|
+
content: userAttachmentSeatAdmits(seat, { supply: 'content_text', lane: 'objective', ...card }) === 'yes' ? limits : undefined,
|
|
294
|
+
pathSeats: userAttachmentSeatAdmits(seat, { supply: 'path', lane, ...card }) === 'yes' ? limits.maxEntries : undefined,
|
|
295
|
+
};
|
|
287
296
|
}
|
|
288
297
|
catch {
|
|
289
|
-
return undefined;
|
|
298
|
+
return { content: undefined, pathSeats: undefined };
|
|
290
299
|
}
|
|
291
300
|
}
|
|
292
301
|
function readInputAny(x) {
|
|
@@ -302,7 +311,7 @@ function readInputAny(x) {
|
|
|
302
311
|
const vision = ownData(caps, 'vision');
|
|
303
312
|
if (vision !== undefined && vision !== 'yes' && vision !== 'no' && vision !== 'unknown')
|
|
304
313
|
reject('malformed_input');
|
|
305
|
-
const seat =
|
|
314
|
+
const { content: seat, pathSeats } = seatOf(caps, lane);
|
|
306
315
|
let otherBodyBytes = 0;
|
|
307
316
|
if (lane === 'objective') {
|
|
308
317
|
const ob = ownData(o, 'otherBodyBytes');
|
|
@@ -348,7 +357,7 @@ function readInputAny(x) {
|
|
|
348
357
|
}
|
|
349
358
|
if (items.every((it) => it.text.length === 0 && it.images.length === 0 && it.attachments.length === 0 && it.attachmentIds.length === 0))
|
|
350
359
|
reject('empty');
|
|
351
|
-
return { lane: lane, vision: vision ?? 'unknown', seat, otherBodyBytes, items };
|
|
360
|
+
return { lane: lane, vision: vision ?? 'unknown', seat, pathSeats, otherBodyBytes, items };
|
|
352
361
|
}
|
|
353
362
|
export function readHumanTurnInput(input) {
|
|
354
363
|
try {
|
|
@@ -36,6 +36,9 @@ const DEGRADED_KEYS = {
|
|
|
36
36
|
steer_admission: ['session.humanTurn.degraded.steerAdmission.one', 'session.humanTurn.degraded.steerAdmission.other'],
|
|
37
37
|
lane_has_no_image_seat: ['session.humanTurn.degraded.noImageSeat.one', 'session.humanTurn.degraded.noImageSeat.other'],
|
|
38
38
|
lane_has_no_attachment_id_seat: ['session.humanTurn.degraded.noAttachmentIdSeat.one', 'session.humanTurn.degraded.noAttachmentIdSeat.other'],
|
|
39
|
+
lane_has_no_path_seat: ['session.humanTurn.degraded.noPathSeat.one', 'session.humanTurn.degraded.noPathSeat.other'],
|
|
40
|
+
path_not_admitted: ['session.humanTurn.degraded.pathNotAdmitted.one', 'session.humanTurn.degraded.pathNotAdmitted.other'],
|
|
41
|
+
path_seat_count: ['session.humanTurn.degraded.pathSeatCount.one', 'session.humanTurn.degraded.pathSeatCount.other'],
|
|
39
42
|
};
|
|
40
43
|
function modelFragment(modelName, lang) {
|
|
41
44
|
return typeof modelName === 'string' && modelName.length > 0 ? renderMessage(msg('session.humanTurn.modelFragment', { model: modelName }), lang) : '';
|
|
@@ -317,6 +317,12 @@ declare const EN: {
|
|
|
317
317
|
'approval.policyDeny.tail': string;
|
|
318
318
|
'approval.decision.grantChanged': string;
|
|
319
319
|
'approval.decision.answerInvalid': string;
|
|
320
|
+
'approval.routeMissing.line': string;
|
|
321
|
+
'approval.notSent.noVerb': string;
|
|
322
|
+
'approval.notSent.cardUnreadable': string;
|
|
323
|
+
'approval.notSent.noVerbOldServer': string;
|
|
324
|
+
'approval.decision.notSentOldServer': string;
|
|
325
|
+
'approval.decision.notSentNewerAddress': string;
|
|
320
326
|
'approval.editRefusal.stem': string;
|
|
321
327
|
'approval.editRefusal.line': string;
|
|
322
328
|
'approval.editRefusal.parkReason': string;
|
|
@@ -406,6 +412,8 @@ declare const EN: {
|
|
|
406
412
|
'resume.refusal.parentConstraintMissing': string;
|
|
407
413
|
'resume.refusal.parentConstraintMismatch': string;
|
|
408
414
|
'resume.refusal.constraintUnprojectable': string;
|
|
415
|
+
'resume.refusal.isolationScopeMismatch': string;
|
|
416
|
+
'resume.refusal.agentDefinitionMismatch': string;
|
|
409
417
|
'resume.refusal.preflightWaitable': string;
|
|
410
418
|
'resume.refusal.preflightNoWait': string;
|
|
411
419
|
'resume.refusal.policyBlock': string;
|
|
@@ -455,7 +463,6 @@ declare const EN: {
|
|
|
455
463
|
'resume.refusal.park.blockedInteractive': string;
|
|
456
464
|
'session.selfHeal.wayOut.interactive': string;
|
|
457
465
|
'session.selfHeal.freshSession.default': string;
|
|
458
|
-
'session.selfHeal.freshSession.defaultCapitalized': string;
|
|
459
466
|
'session.selfHeal.gate.kind': string;
|
|
460
467
|
'session.selfHeal.gate.generic': string;
|
|
461
468
|
'session.selfHeal.handle.run': string;
|
|
@@ -474,6 +481,8 @@ declare const EN: {
|
|
|
474
481
|
'session.selfHeal.injected.steerRejected': string;
|
|
475
482
|
'session.selfHeal.injected.decisionInFlight': string;
|
|
476
483
|
'session.selfHeal.injected.dismissedPlan': string;
|
|
484
|
+
'session.selfHeal.injected.planReopenConversationLeft': string;
|
|
485
|
+
'session.selfHeal.injected.planReopenConversationUnconfirmed': string;
|
|
477
486
|
'session.selfHeal.injected.queuedOn': string;
|
|
478
487
|
'session.selfHeal.injected.queuedShown': string;
|
|
479
488
|
'session.selfHeal.injected.queuedInFlight': string;
|
|
@@ -512,6 +521,8 @@ declare const EN: {
|
|
|
512
521
|
'session.selfHeal.row.planReopenFailed.dismissed': string;
|
|
513
522
|
'session.selfHeal.row.planReopenFailed.withKeep': string;
|
|
514
523
|
'session.selfHeal.row.planReopenFailed.noKeep': string;
|
|
524
|
+
'session.selfHeal.row.planReopenFailed.conversationLeft': string;
|
|
525
|
+
'session.selfHeal.row.planReopenFailed.conversationUnconfirmed': string;
|
|
515
526
|
'session.selfHeal.row.steered.textOnly': string;
|
|
516
527
|
'session.selfHeal.row.steered.tail.following': string;
|
|
517
528
|
'session.selfHeal.row.steered.tail.watch': string;
|
|
@@ -572,9 +583,12 @@ declare const EN: {
|
|
|
572
583
|
'session.selfHeal.endRun.engineInteractive.noId': string;
|
|
573
584
|
'session.selfHeal.wakeOn.engine': string;
|
|
574
585
|
'session.selfHeal.wakeOn.host': string;
|
|
575
|
-
'session.
|
|
576
|
-
'session.
|
|
577
|
-
'session.
|
|
586
|
+
'session.busy.running': string;
|
|
587
|
+
'session.busy.parked': string;
|
|
588
|
+
'session.busy.parkedDecide': string;
|
|
589
|
+
'session.busy.unreadable': string;
|
|
590
|
+
'session.busy.released': string;
|
|
591
|
+
'session.busy.freshSession.interactive': string;
|
|
578
592
|
'approval.deniedBy.policy': string;
|
|
579
593
|
'approval.deniedBy.hook': string;
|
|
580
594
|
'approval.deniedBy.org': string;
|
|
@@ -596,11 +610,22 @@ declare const EN: {
|
|
|
596
610
|
'approval.origin.hook': string;
|
|
597
611
|
'approval.origin.askRule': string;
|
|
598
612
|
'approval.origin.denialLimitFallback': string;
|
|
613
|
+
'approval.origin.integrityGuard': string;
|
|
599
614
|
'approval.origin.shellGateTighten': string;
|
|
600
615
|
'approval.origin.safetyTighten': string;
|
|
601
616
|
'approval.origin.policy': string;
|
|
602
617
|
'approval.origin.unknownWithWord': string;
|
|
603
618
|
'approval.origin.unknownNoWord': string;
|
|
619
|
+
'approval.originHeadline.ancestorMarked': string;
|
|
620
|
+
'approval.originHeadline.orgUnavailable': string;
|
|
621
|
+
'approval.originHeadline.orgRule': string;
|
|
622
|
+
'approval.originHeadline.ruleStoreUnavailable': string;
|
|
623
|
+
'approval.originHeadline.hook': string;
|
|
624
|
+
'approval.originHeadline.denialLimitFallback': string;
|
|
625
|
+
'approval.originHeadline.shellGateTighten': string;
|
|
626
|
+
'approval.originHeadline.safetyTighten': string;
|
|
627
|
+
'approval.originHeadline.integrityGuard': string;
|
|
628
|
+
'approval.originHeadline.unknown': string;
|
|
604
629
|
'approval.ruleOffer.absence.allowOutranked': string;
|
|
605
630
|
'approval.ruleOffer.absence.askRuleMatched': string;
|
|
606
631
|
'approval.ruleOffer.absence.askRuleMatchedDeploymentList': string;
|
|
@@ -862,8 +887,21 @@ declare const EN: {
|
|
|
862
887
|
'notice.classifier.denialLimit.tail': string;
|
|
863
888
|
'notice.task.lateApproval': string;
|
|
864
889
|
'notice.task.haltUnconsumed': string;
|
|
890
|
+
'notice.turnInterrupted.extensionAbort': string;
|
|
891
|
+
'notice.turnInterrupted.extensionAbortNamed': string;
|
|
865
892
|
'notice.steering.parkedInputBlocked': string;
|
|
866
893
|
'notice.model.capabilityDowngraded.image': string;
|
|
894
|
+
'notice.rewind.boundaryUnrecorded.notSaved': string;
|
|
895
|
+
'notice.rewind.boundaryUnrecorded.timedOut': string;
|
|
896
|
+
'notice.rewind.boundaryUnrecorded.tail': string;
|
|
897
|
+
'notice.inheritEnv.declaredLate': string;
|
|
898
|
+
'notice.mods.stopEnded.point.run': string;
|
|
899
|
+
'notice.mods.stopEnded.point.agent': string;
|
|
900
|
+
'notice.mods.stopEnded.point.other': string;
|
|
901
|
+
'notice.mods.stopEnded.lead.named': string;
|
|
902
|
+
'notice.mods.stopEnded.lead.anon': string;
|
|
903
|
+
'notice.mods.stopEnded.reason': string;
|
|
904
|
+
'notice.mods.stopEnded.tail': string;
|
|
867
905
|
'rules.refusal.sentence.one': string;
|
|
868
906
|
'rules.refusal.sentence.other': string;
|
|
869
907
|
'rules.refusal.item': string;
|
|
@@ -909,6 +947,8 @@ declare const EN: {
|
|
|
909
947
|
'config.hooks.httpPolicy.urlListMalformed': string;
|
|
910
948
|
'config.hooks.httpPolicy.envListMalformed': string;
|
|
911
949
|
'config.hooks.httpPolicy.layerUnreadable': string;
|
|
950
|
+
'config.hooks.layerWithheld.degraded': string;
|
|
951
|
+
'config.hooks.plan.reason.layerDegraded': string;
|
|
912
952
|
'config.hooks.layerWithheld.trust': string;
|
|
913
953
|
'config.taskRequest.memoryOff.settingsSectionNotObject': string;
|
|
914
954
|
'config.taskRequest.memoryOff.enabledNotBoolean': string;
|
|
@@ -1198,6 +1238,12 @@ declare const EN: {
|
|
|
1198
1238
|
'session.humanTurn.degraded.noImageSeat.other': string;
|
|
1199
1239
|
'session.humanTurn.degraded.noAttachmentIdSeat.one': string;
|
|
1200
1240
|
'session.humanTurn.degraded.noAttachmentIdSeat.other': string;
|
|
1241
|
+
'session.humanTurn.degraded.noPathSeat.one': string;
|
|
1242
|
+
'session.humanTurn.degraded.noPathSeat.other': string;
|
|
1243
|
+
'session.humanTurn.degraded.pathNotAdmitted.one': string;
|
|
1244
|
+
'session.humanTurn.degraded.pathNotAdmitted.other': string;
|
|
1245
|
+
'session.humanTurn.degraded.pathSeatCount.one': string;
|
|
1246
|
+
'session.humanTurn.degraded.pathSeatCount.other': string;
|
|
1201
1247
|
'session.humanTurn.printVision.no': string;
|
|
1202
1248
|
'session.humanTurn.printVision.unknown': string;
|
|
1203
1249
|
'config.scenarioRefusal.source.ruling': string;
|
|
@@ -1272,6 +1318,7 @@ declare const EN: {
|
|
|
1272
1318
|
'notice.wireRefusal.unsupportedRule.stored.other': string;
|
|
1273
1319
|
'notice.prepareRefusal.draftKept': string;
|
|
1274
1320
|
'notice.prepareRefusal.mcpServerNameCollision': string;
|
|
1321
|
+
'notice.prepareRefusal.userAttachmentPath': string;
|
|
1275
1322
|
'notice.retry.source.unifiedHeader': string;
|
|
1276
1323
|
'notice.retry.source.providerCode': string;
|
|
1277
1324
|
'notice.retry.source.status': string;
|
|
@@ -1322,7 +1369,7 @@ declare const EN: {
|
|
|
1322
1369
|
'doctor.wiring.fleetTranscripts.noPromise': string;
|
|
1323
1370
|
'doctor.wiring.fleetTranscripts.unknownTier': string;
|
|
1324
1371
|
'config.attachments.refusal.credentialShapedWord': string;
|
|
1325
|
-
'session.subagent.delegatedPrompt.absence.
|
|
1372
|
+
'session.subagent.delegatedPrompt.absence.anchorUnreported': string;
|
|
1326
1373
|
'session.subagent.delegatedPrompt.absence.notInStore': string;
|
|
1327
1374
|
'session.subagent.delegatedPrompt.absence.forbidden': string;
|
|
1328
1375
|
'session.subagent.delegatedPrompt.absence.promptAbsent': string;
|
|
@@ -1346,6 +1393,7 @@ declare const EN: {
|
|
|
1346
1393
|
'config.hooks.plan.keyNotRead.manyKeys': string;
|
|
1347
1394
|
'config.hooks.plan.keyNotRead.more': string;
|
|
1348
1395
|
'config.hooks.plan.keyNotRead.withOnFailure': string;
|
|
1396
|
+
'config.hooks.plan.keyNotRead.readerFieldsUnreadable': string;
|
|
1349
1397
|
'config.hooks.plan.reason.sourceNotAuthored': string;
|
|
1350
1398
|
'config.hooks.plan.sourceNotAuthored.oneKey': string;
|
|
1351
1399
|
'config.hooks.plan.sourceNotAuthored.manyKeys': string;
|
|
@@ -1435,6 +1483,7 @@ declare const EN: {
|
|
|
1435
1483
|
'config.localConfig.disclosure.decidedBy': string;
|
|
1436
1484
|
'config.localConfig.disclosure.shadowed': string;
|
|
1437
1485
|
'config.localConfig.disclosure.tierGroupOverridden': string;
|
|
1486
|
+
'config.localConfig.disclosure.shadowUnknown': string;
|
|
1438
1487
|
'config.localConfig.disclosure.tierGroupOverriddenNamed': string;
|
|
1439
1488
|
'config.localConfig.layer.userSettings': string;
|
|
1440
1489
|
'config.localConfig.layer.projectSettings': string;
|
|
@@ -1487,6 +1536,9 @@ declare const EN: {
|
|
|
1487
1536
|
'approval.planReview.note.tooLarge': string;
|
|
1488
1537
|
'approval.planReview.note.notCarried': string;
|
|
1489
1538
|
'approval.planReview.note.unknown': string;
|
|
1539
|
+
'approval.planReview.heading.plain': string;
|
|
1540
|
+
'approval.planReview.heading.gate': string;
|
|
1541
|
+
'approval.planReview.heading.replaces': string;
|
|
1490
1542
|
'approval.planReview.askAgain.shown': string;
|
|
1491
1543
|
'approval.planReview.askAgain.marked': string;
|
|
1492
1544
|
'approval.planReview.askAgain.tooLarge': string;
|
|
@@ -1498,6 +1550,19 @@ declare const EN: {
|
|
|
1498
1550
|
'approval.planReview.decision.cardMissing': string;
|
|
1499
1551
|
'approval.planReview.decision.gateMoved': string;
|
|
1500
1552
|
'approval.planReview.decision.gateUntrusted': string;
|
|
1553
|
+
'approval.planReview.decision.sentWithoutGateId': string;
|
|
1554
|
+
'approval.planReview.bridge.gateIdMissing': string;
|
|
1555
|
+
'approval.planReview.notice.what.approve': string;
|
|
1556
|
+
'approval.planReview.notice.what.reject': string;
|
|
1557
|
+
'approval.planReview.notice.what.askAgain': string;
|
|
1558
|
+
'approval.planReview.notice.what.unknown': string;
|
|
1559
|
+
'approval.planReview.notice.notSent': string;
|
|
1560
|
+
'approval.planReview.notice.refused': string;
|
|
1561
|
+
'approval.planReview.notice.stillParked': string;
|
|
1562
|
+
'approval.planReview.notice.storedForm': string;
|
|
1563
|
+
'approval.planReview.notice.unconfirmed': string;
|
|
1564
|
+
'approval.planReview.notice.wayOut': string;
|
|
1565
|
+
'approval.planReview.notice.cardOnScreen': string;
|
|
1501
1566
|
'approval.planReview.option.askAgain.label': string;
|
|
1502
1567
|
'approval.planReview.option.askAgain.description': string;
|
|
1503
1568
|
'localEngine.behind.cliUpdate': string;
|
|
@@ -1536,6 +1601,8 @@ declare const EN: {
|
|
|
1536
1601
|
'localEngine.settingsLayer.unspecified': string;
|
|
1537
1602
|
'localEngine.bootRefusal': string;
|
|
1538
1603
|
'localEngine.firstShare': string;
|
|
1604
|
+
'localEngine.bindNotAcknowledged': string;
|
|
1605
|
+
'localEngine.bindAcknowledged': string;
|
|
1539
1606
|
'localEngine.phase.starting': string;
|
|
1540
1607
|
'localEngine.phase.dormant': string;
|
|
1541
1608
|
'localEngine.phase.draining': string;
|
|
@@ -1627,6 +1694,7 @@ declare const EN: {
|
|
|
1627
1694
|
'engine.bootRefusal.withWaysOut': string;
|
|
1628
1695
|
'engine.bootRefusal.withFix': string;
|
|
1629
1696
|
'engine.bootRefusal.waysOut': string;
|
|
1697
|
+
'engine.bootRefusal.waysOutFour': string;
|
|
1630
1698
|
'engine.bootRefusal.who.sema': string;
|
|
1631
1699
|
'engine.bootRefusal.who.semaAtLeast': string;
|
|
1632
1700
|
'engine.bootRefusal.who.app': string;
|
|
@@ -1647,6 +1715,10 @@ declare const EN: {
|
|
|
1647
1715
|
'engine.bootRefusal.folder.default': string;
|
|
1648
1716
|
'engine.bootRefusal.repair': string;
|
|
1649
1717
|
'engine.bootRefusal.repairDeployment': string;
|
|
1718
|
+
'engine.bootRefusal.release.atLeast': string;
|
|
1719
|
+
'engine.bootRefusal.release.any': string;
|
|
1720
|
+
'engine.bootRefusal.migration': string;
|
|
1721
|
+
'engine.bootRefusal.migrationDeployment': string;
|
|
1650
1722
|
'session.devices.repoint.done': string;
|
|
1651
1723
|
'session.devices.repoint.unverified': string;
|
|
1652
1724
|
'session.devices.repoint.undetermined': string;
|
|
@@ -1660,12 +1732,28 @@ declare const EN: {
|
|
|
1660
1732
|
'session.devices.repoint.refused.targetOccupied': string;
|
|
1661
1733
|
'session.devices.repoint.refused.unarmed': string;
|
|
1662
1734
|
'session.devices.repoint.refused.rosterUnbound': string;
|
|
1735
|
+
'attachments.outcome.attached.row': string;
|
|
1736
|
+
'attachments.outcome.partial.row': string;
|
|
1737
|
+
'attachments.outcome.notAttached.row': string;
|
|
1738
|
+
'attachments.outcome.notAttachedDeclined.row': string;
|
|
1739
|
+
'attachments.outcome.refused.row': string;
|
|
1740
|
+
'attachments.outcome.refusedNamed.row': string;
|
|
1741
|
+
'attachments.outcome.unknown.row': string;
|
|
1663
1742
|
'attachments.withheld.toolsElsewhere.row': string;
|
|
1664
1743
|
'attachments.withheld.toolsLocationUnconfirmed.row': string;
|
|
1665
1744
|
'attachments.withheld.toolsElsewhere.model': string;
|
|
1666
1745
|
'attachments.withheld.toolsLocationUnconfirmed.model': string;
|
|
1667
1746
|
'attachments.localCopy.model': string;
|
|
1747
|
+
'attachments.pathOverflow.seatCount.row': string;
|
|
1748
|
+
'attachments.pathOverflow.linesInvalid.row': string;
|
|
1749
|
+
'attachments.pathOverflow.pathInvalid.row': string;
|
|
1750
|
+
'attachments.pathPointer.model': string;
|
|
1668
1751
|
'session.compaction.canceled': string;
|
|
1752
|
+
'session.compaction.notRunning.willRetry': string;
|
|
1753
|
+
'session.compaction.notRunning.final': string;
|
|
1754
|
+
'session.subagent.editOutcomes.allApplied.one': string;
|
|
1755
|
+
'session.subagent.editOutcomes.allApplied.other': string;
|
|
1756
|
+
'session.subagent.editOutcomes.mixed': string;
|
|
1669
1757
|
'localEngine.health.answer.unansweredTimeout': string;
|
|
1670
1758
|
'localEngine.health.answer.unansweredNetwork': string;
|
|
1671
1759
|
'localEngine.health.answer.ok': string;
|