@sema-agent/client-core 0.107.0 → 0.108.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 +118 -0
- package/README.md +19 -14
- package/dist/adapter/activeRunSelfHeal.d.ts +2 -0
- package/dist/adapter/activeRunSelfHeal.js +20 -3
- package/dist/checkpointRowVerdict.d.ts +5 -0
- package/dist/checkpointRowVerdict.js +26 -0
- package/dist/cloudConfigWireCaps.d.ts +10 -0
- package/dist/cloudConfigWireCaps.js +33 -0
- package/dist/coreValuePorts.d.ts +17 -1
- package/dist/coreValuePorts.js +5 -0
- package/dist/decideReceipt.js +2 -1
- package/dist/engineErrorCodes.d.ts +5 -0
- package/dist/engineErrorCodes.js +5 -0
- package/dist/engineNoticeCodes.d.ts +19 -1
- package/dist/engineNoticeCodes.js +65 -3
- package/dist/engineTargetSeat.js +1 -0
- package/dist/errorSupplementRoles.js +2 -0
- package/dist/eventLeg.js +1 -1
- package/dist/executionLaneWords.js +2 -1
- package/dist/gateOutcome.d.ts +10 -1
- package/dist/gateOutcome.js +48 -1
- package/dist/generated/engineFactTables.d.ts +1 -0
- package/dist/generated/engineFactTables.js +5 -0
- package/dist/generated/engineNoticeTables.js +3 -0
- package/dist/generated/settingsSchemaFns.d.ts +4 -2
- package/dist/generated/settingsSchemaFns.js +9 -3
- package/dist/generated/settingsSchemaMcpRequestEntry.d.ts +1 -1
- package/dist/generated/settingsSchemaMcpRequestEntry.js +9 -18
- package/dist/generated/settingsSchemaReservedMemberName.d.ts +1 -0
- package/dist/generated/settingsSchemaReservedMemberName.js +7 -0
- package/dist/generated/settingsSchemaTables.d.ts +2 -0
- package/dist/generated/settingsSchemaTables.js +10 -0
- package/dist/generated/settingsSchemaWireName.d.ts +1 -0
- package/dist/generated/settingsSchemaWireName.js +8 -0
- package/dist/headlessReconnectWire.js +12 -7
- package/dist/hitl/approvalAskers.d.ts +13 -0
- package/dist/hitl/approvalAskers.js +79 -0
- package/dist/hitl/approvalResolution.d.ts +3 -0
- package/dist/hitl/approvalResolution.js +22 -4
- package/dist/hitl/approvalsFeed.js +3 -12
- package/dist/hitl/askParkRowRouting.js +5 -1
- package/dist/hitl/decisionRefusal.d.ts +1 -0
- package/dist/hitl/decisionRefusal.js +5 -2
- package/dist/hitl/decisionSend.js +2 -6
- package/dist/hitl/frameRouter.d.ts +3 -2
- package/dist/hitl/frameRouter.js +28 -6
- package/dist/hitl/gateLedger.d.ts +2 -0
- package/dist/hitl/gateLedger.js +3 -1
- package/dist/hitl/hitlBridge.js +2 -3
- package/dist/hitl/parkResolver.js +32 -23
- package/dist/hitl/parkRowBirthWait.d.ts +2 -0
- package/dist/hitl/parkRowBirthWait.js +8 -1
- package/dist/hitl/persistedRulesWire.d.ts +5 -1
- package/dist/hitl/persistedRulesWire.js +20 -4
- package/dist/hitl/planReviewWire.js +12 -16
- package/dist/hitl/policyDenyCause.d.ts +3 -0
- package/dist/hitl/policyDenyCause.js +16 -0
- package/dist/hitl/sessionPolicyDeliverable.js +1 -1
- package/dist/hitl/toolApprovalWire.d.ts +8 -2
- package/dist/hitl/toolApprovalWire.js +22 -3
- package/dist/hooksReaderGenerations.d.ts +1 -0
- package/dist/hooksReaderGenerations.js +12 -0
- package/dist/hooksWireCaps.js +8 -4
- package/dist/i18n/messages.en.d.ts +38 -1
- package/dist/i18n/messages.en.js +40 -3
- package/dist/i18n/messages.zh.js +45 -3
- package/dist/index.d.ts +6 -1
- package/dist/index.js +4 -1
- package/dist/liveModelCatalog.d.ts +4 -2
- package/dist/liveModelCatalog.js +164 -26
- package/dist/model/catalogDefault.d.ts +25 -0
- package/dist/model/catalogDefault.js +44 -0
- package/dist/permissionWireCaps.d.ts +1 -0
- package/dist/permissionWireCaps.js +11 -0
- package/dist/pluginHooksWire.d.ts +5 -3
- package/dist/pluginHooksWire.js +116 -7
- package/dist/queuedDelivery.d.ts +1 -0
- package/dist/queuedDelivery.js +12 -0
- package/dist/resultFrameKeys.js +4 -2
- package/dist/resumeRefusalCopy.js +15 -8
- package/dist/runPermissionModeSwitch.d.ts +2 -1
- package/dist/runPermissionModeSwitch.js +16 -6
- package/dist/seatContract.d.ts +63 -10
- package/dist/seatContract.js +164 -11
- package/dist/sessionEngine.d.ts +2 -1
- package/dist/sessionEngine.js +5 -0
- package/dist/settingsHooksSalvage.d.ts +5 -0
- package/dist/settingsHooksSalvage.js +54 -0
- package/dist/subagentContentStore.js +1 -1
- package/dist/supportFloor.js +2 -0
- package/dist/taskNotificationAdmission.d.ts +19 -0
- package/dist/taskNotificationAdmission.js +84 -0
- package/dist/toolResult.js +2 -1
- package/dist/webSearchWireCaps.js +9 -4
- package/dist/wireRefusalCopy.d.ts +2 -1
- package/dist/wireRefusalCopy.js +2 -2
- package/docs/INTEGRATION-CLIENTS.md +816 -14
- package/package.json +4 -4
|
@@ -115,6 +115,8 @@ declare const EN: {
|
|
|
115
115
|
'model.subagent.chainUnbound': string;
|
|
116
116
|
'model.subagent.bindingNotInCatalog': string;
|
|
117
117
|
'model.subagent.ambiguous': string;
|
|
118
|
+
'model.catalogDefault.refused.named': string;
|
|
119
|
+
'model.catalogDefault.refused.select': string;
|
|
118
120
|
'session.devices.laneAbsent': string;
|
|
119
121
|
'session.devices.laneUnreported': string;
|
|
120
122
|
'session.devices.verbsOff': string;
|
|
@@ -127,6 +129,7 @@ declare const EN: {
|
|
|
127
129
|
'session.engine.dispatch.scopeMismatch': string;
|
|
128
130
|
'session.engine.dispatch.scopeUnproven': string;
|
|
129
131
|
'session.engine.dispatch.unresolved': string;
|
|
132
|
+
'session.engine.dispatch.sessionAmbiguous': string;
|
|
130
133
|
'config.cloudLogin.accessDenied': string;
|
|
131
134
|
'config.cloudLogin.expiredToken': string;
|
|
132
135
|
'config.cloudLogin.invalidGrant': string;
|
|
@@ -141,6 +144,7 @@ declare const EN: {
|
|
|
141
144
|
'config.engineTarget.notConfigured': string;
|
|
142
145
|
'config.engineTarget.notSignedIn': string;
|
|
143
146
|
'config.engineTarget.probeFailed': string;
|
|
147
|
+
'config.engineTarget.cloudUnreachable': string;
|
|
144
148
|
'config.engineTarget.orgPolicy': string;
|
|
145
149
|
'config.engineTarget.urlRefused': string;
|
|
146
150
|
'config.engineTarget.loginFailed': string;
|
|
@@ -149,6 +153,7 @@ declare const EN: {
|
|
|
149
153
|
'config.engineTarget.serverBelowSupportFloor': string;
|
|
150
154
|
'config.engineTarget.input': string;
|
|
151
155
|
'config.engineTarget.unknown': string;
|
|
156
|
+
'config.webSearch.apiKeyWayOut': string;
|
|
152
157
|
'onboard.probe.endpointReachable': string;
|
|
153
158
|
'onboard.probe.modelSuggest': string;
|
|
154
159
|
'onboard.probe.redirected': string;
|
|
@@ -246,11 +251,20 @@ declare const EN: {
|
|
|
246
251
|
'approval.settle.cause.broadcastLost': string;
|
|
247
252
|
'approval.settle.cause.streamDisconnected': string;
|
|
248
253
|
'approval.settle.cause.undeliverable': string;
|
|
254
|
+
'approval.resolution.engineUnavailable': string;
|
|
249
255
|
'approval.decide.requiresBinding': string;
|
|
250
|
-
'approval.decide.unboundWayOut': string;
|
|
256
|
+
'approval.decide.unboundWayOut.armed': string;
|
|
257
|
+
'approval.decide.unboundWayOut.none': string;
|
|
258
|
+
'approval.decide.unboundWayOut.unknown': string;
|
|
259
|
+
'approval.rowUnresumable.lackingWayOut': string;
|
|
251
260
|
'approval.rowUnresumable.fallback': string;
|
|
252
261
|
'approval.rowUnresumable.askNotSurfaced': string;
|
|
253
262
|
'approval.park.stillParked': string;
|
|
263
|
+
'approval.park.refusedNotResumable': string;
|
|
264
|
+
'approval.policyDeny.denyRule': string;
|
|
265
|
+
'approval.policyDeny.dontAsk': string;
|
|
266
|
+
'approval.policyDeny.engineFloor': string;
|
|
267
|
+
'approval.policyDeny.tail': string;
|
|
254
268
|
'approval.decision.grantChanged': string;
|
|
255
269
|
'approval.decision.settledElsewhereContrary.deniedFirst': string;
|
|
256
270
|
'approval.decision.settledElsewhereContrary.approvedFirst': string;
|
|
@@ -331,6 +345,12 @@ declare const EN: {
|
|
|
331
345
|
'session.policy.withheld.namespaceCoveringUnconfirmed': string;
|
|
332
346
|
'session.fileHistoryLeg.notHonored': string;
|
|
333
347
|
'resume.refusal.placementMismatch': string;
|
|
348
|
+
'resume.refusal.untouched': string;
|
|
349
|
+
'resume.refusal.principalMismatch': string;
|
|
350
|
+
'resume.refusal.compositionMismatch': string;
|
|
351
|
+
'resume.refusal.parentConstraintMissing': string;
|
|
352
|
+
'resume.refusal.parentConstraintMismatch': string;
|
|
353
|
+
'resume.refusal.constraintUnprojectable': string;
|
|
334
354
|
'resume.refusal.preflightWaitable': string;
|
|
335
355
|
'resume.refusal.preflightNoWait': string;
|
|
336
356
|
'resume.refusal.policyBlock': string;
|
|
@@ -629,6 +649,8 @@ declare const EN: {
|
|
|
629
649
|
'notice.wayOut.switchModel': string;
|
|
630
650
|
'notice.wayOut.wait': string;
|
|
631
651
|
'notice.wayOut.fixRequest': string;
|
|
652
|
+
'notice.userInputUndrained.approvalFeedback.one': string;
|
|
653
|
+
'notice.userInputUndrained.approvalFeedback.other': string;
|
|
632
654
|
'notice.askUnresolvable.remedy.approver': string;
|
|
633
655
|
'notice.askUnresolvable.remedy.permissionMode': string;
|
|
634
656
|
'rules.refusal.sentence.one': string;
|
|
@@ -725,6 +747,8 @@ declare const EN: {
|
|
|
725
747
|
'session.permissionModeSwitch.refusedWithCode': string;
|
|
726
748
|
'session.permissionModeSwitch.unconfirmed': string;
|
|
727
749
|
'session.permissionModeSwitch.unavailable': string;
|
|
750
|
+
'session.permissionModeSwitch.unavailableRunStore': string;
|
|
751
|
+
'session.permissionModeSwitch.unavailableCheckpointStore': string;
|
|
728
752
|
'notice.capability.subject.userInvokedSkills': string;
|
|
729
753
|
'notice.capability.subject.skillToolLists': string;
|
|
730
754
|
'notice.capability.subject.permissionRulesWrite': string;
|
|
@@ -836,8 +860,11 @@ declare const EN: {
|
|
|
836
860
|
'model.tier.blurb.flash': string;
|
|
837
861
|
'model.tier.blurb.lite': string;
|
|
838
862
|
'model.catalog.candidateRejected': string;
|
|
863
|
+
'model.catalog.envServed': string;
|
|
839
864
|
'model.notServed.withDefault': string;
|
|
840
865
|
'model.notServed.noDefault': string;
|
|
866
|
+
'model.notMentionable.withDefault': string;
|
|
867
|
+
'model.notMentionable.noDefault': string;
|
|
841
868
|
'notice.failure.headline.connectionLostNotSent': string;
|
|
842
869
|
'notice.failure.headline.connectionLost': string;
|
|
843
870
|
'notice.failure.headline.timeout': string;
|
|
@@ -989,6 +1016,7 @@ declare const EN: {
|
|
|
989
1016
|
'notice.wireRefusal.hostPosture.unattributed': string;
|
|
990
1017
|
'notice.wireRefusal.autonomyLane': string;
|
|
991
1018
|
'notice.wireRefusal.sessionArchiveStamped': string;
|
|
1019
|
+
'notice.wireRefusal.sessionArchiveStamped.fork': string;
|
|
992
1020
|
'notice.wireRefusal.unsupportedRule': string;
|
|
993
1021
|
'notice.wireRefusal.unsupportedRule.other': string;
|
|
994
1022
|
'notice.wireRefusal.unsupportedRule.stored': string;
|
|
@@ -1057,6 +1085,15 @@ declare const EN: {
|
|
|
1057
1085
|
'rules.sessionPolicy.deployment.noOperator.removeReadStoreCorrupt': string;
|
|
1058
1086
|
'rules.sessionPolicy.deployment.noOperator.removeWriteStoreCorrupt': string;
|
|
1059
1087
|
'config.hooks.plan.reason.compactionLocalFallback': string;
|
|
1088
|
+
'config.hooks.plan.reason.keyNotRead': string;
|
|
1089
|
+
'config.hooks.plan.disableAllHooks': string;
|
|
1090
|
+
'config.hooks.plan.keyNotRead.oneKey': string;
|
|
1091
|
+
'config.hooks.plan.keyNotRead.manyKeys': string;
|
|
1092
|
+
'config.hooks.plan.keyNotRead.more': string;
|
|
1093
|
+
'config.hooks.plan.keyNotRead.withOnFailure': string;
|
|
1094
|
+
'config.hooks.plan.reason.sourceNotAuthored': string;
|
|
1095
|
+
'config.hooks.plan.sourceNotAuthored.oneKey': string;
|
|
1096
|
+
'config.hooks.plan.sourceNotAuthored.manyKeys': string;
|
|
1060
1097
|
'session.hooks.compactTransition.disclosure.engineOutcomeUnknown': string;
|
|
1061
1098
|
'session.hooks.compactTransition.disclosure.neitherRan': string;
|
|
1062
1099
|
'session.background.handedOff': string;
|
package/dist/i18n/messages.en.js
CHANGED
|
@@ -115,6 +115,8 @@ const EN = {
|
|
|
115
115
|
'model.subagent.chainUnbound': "Subagent model {word} is not bound on this engine (neither it nor any tier below it has a model) — the subagent will run on its parent's model.",
|
|
116
116
|
'model.subagent.bindingNotInCatalog': "Subagent model {word} is bound to a model that is not in this engine's model catalog — the subagent will run on its parent's model.",
|
|
117
117
|
'model.subagent.ambiguous': "Subagent model {word} matches more than one model name that differ only in case — spell it exactly; the subagent will run on its parent's model.",
|
|
118
|
+
'model.catalogDefault.refused.named': 'A task that names no model would be refused: the engine cannot resolve a default model from its model configuration (the settings default is {name}) · Set a default model the engine can run, or add or fix one',
|
|
119
|
+
'model.catalogDefault.refused.select': 'A task that names no model would be refused: the engine cannot resolve a default model from its model configuration (the settings default is a selection) · Change the selection, or add or fix a model the engine can run',
|
|
118
120
|
'session.devices.laneAbsent': 'This backend has no remote-control lane',
|
|
119
121
|
'session.devices.laneUnreported': "This backend doesn't report a remote-control lane",
|
|
120
122
|
'session.devices.verbsOff': "This backend's device lane is on, but its device-management verbs are off — devices can't be listed or changed here",
|
|
@@ -127,6 +129,7 @@ const EN = {
|
|
|
127
129
|
'session.engine.dispatch.scopeMismatch': "This session belongs to an engine in a different space from the one you're signed in to, so nothing was sent. Switch to that space, then try again.",
|
|
128
130
|
'session.engine.dispatch.scopeUnproven': "Your current sign-in can't be confirmed to reach this session's engine, so nothing was sent. Sign in to that engine's space (or connect to the engine directly), then try again.",
|
|
129
131
|
'session.engine.dispatch.unresolved': "This session's engine isn't known yet, so nothing was sent. Choose the engine for this session once, then try again.",
|
|
132
|
+
'session.engine.dispatch.sessionAmbiguous': 'This session is registered on two engines at once, so nothing was sent. Stop here and resolve which engine it belongs to first.',
|
|
130
133
|
'config.cloudLogin.accessDenied': 'Sign-in was declined.',
|
|
131
134
|
'config.cloudLogin.expiredToken': 'The sign-in code expired before it was approved — start again.',
|
|
132
135
|
'config.cloudLogin.invalidGrant': 'The Cloud sign-in can no longer be renewed — sign in again.',
|
|
@@ -141,6 +144,7 @@ const EN = {
|
|
|
141
144
|
'config.engineTarget.notConfigured': "Cloud isn't set up yet — sign in and connect a Cloud engine first.",
|
|
142
145
|
'config.engineTarget.notSignedIn': 'Sign in to Sema Cloud first (or paste an engine token under Advanced).',
|
|
143
146
|
'config.engineTarget.probeFailed': "The engine didn't pass the connection check. Nothing was saved.",
|
|
147
|
+
'config.engineTarget.cloudUnreachable': "The Cloud engine is set up, but it can't be reached right now — check your connection or the engine address, then try again.",
|
|
144
148
|
'config.engineTarget.orgPolicy': 'Your organization requires a different Cloud engine address.',
|
|
145
149
|
'config.engineTarget.urlRefused': "That engine address can't be used — it must be an http(s) address without credentials.",
|
|
146
150
|
'config.engineTarget.loginFailed': 'Sign-in failed.',
|
|
@@ -149,6 +153,7 @@ const EN = {
|
|
|
149
153
|
'config.engineTarget.serverBelowSupportFloor': 'This server reports version {version}, older than {floor} — the oldest server this client supports. Requests to it may be refused or not behave as described; connect to a server at {floor} or newer.',
|
|
150
154
|
'config.engineTarget.input': "The request wasn't in the expected shape, so nothing was changed.",
|
|
151
155
|
'config.engineTarget.unknown': "The engine switch didn't go through.",
|
|
156
|
+
'config.webSearch.apiKeyWayOut': 'If the key was copied with whitespace, a line break or an invisible character before or after it, remove that — the key is used exactly as written and is never trimmed for you.',
|
|
152
157
|
'onboard.probe.endpointReachable': '{method} {path} → {status} (endpoint reachable)',
|
|
153
158
|
'onboard.probe.modelSuggest': '{error} — listed similar id: "{near}"',
|
|
154
159
|
'onboard.probe.redirected': 'the endpoint redirected ({status}) to {where} — Sema does not forward your key across redirects; use the final URL as the base URL',
|
|
@@ -246,11 +251,20 @@ const EN = {
|
|
|
246
251
|
'approval.settle.cause.broadcastLost': 'it never reached any open connection',
|
|
247
252
|
'approval.settle.cause.streamDisconnected': 'the connection carrying this card dropped',
|
|
248
253
|
'approval.settle.cause.undeliverable': 'it could not be delivered to any approval surface',
|
|
254
|
+
'approval.resolution.engineUnavailable': 'The engine is temporarily unavailable — answer this once the engine is back.',
|
|
249
255
|
'approval.decide.requiresBinding': 'This decision was sent without the binding that ties it to the exact action on the approval card, so the engine refused it · Nothing was decided and the approval is still pending · Fetch the pending approvals again and decide from the card as it is listed now; if the listed card itself carries no binding, {wayOut}',
|
|
250
|
-
'approval.decide.unboundWayOut': 'it cannot be decided here — cancel the run or let the approval expire',
|
|
256
|
+
'approval.decide.unboundWayOut.armed': 'it cannot be decided here — cancel the run or let the approval expire',
|
|
257
|
+
'approval.decide.unboundWayOut.none': 'it cannot be decided here — cancel the run (this approval has no expiry timer)',
|
|
258
|
+
'approval.decide.unboundWayOut.unknown': 'it cannot be decided here — cancel the run',
|
|
259
|
+
'approval.rowUnresumable.lackingWayOut': 'it cannot be decided on this engine — a newer engine version can continue it: upgrade this engine and send your message again (or, if several engines are available, switch to a newer one), or cancel the run',
|
|
251
260
|
'approval.rowUnresumable.fallback': 'this engine does not report that it can continue this pending approval, so it was not shown as a card that can be approved; nothing was sent',
|
|
252
261
|
'approval.rowUnresumable.askNotSurfaced': 'the pending row (task {taskId}) cannot be continued by this engine, so it is not surfaced as a card that can be answered: {sentence}',
|
|
253
262
|
'approval.park.stillParked': '{gate} gate could not be answered: {reason} — the run is still parked on this approval.',
|
|
263
|
+
'approval.park.refusedNotResumable': '{gate} gate could not be answered: {reason} — this engine cannot resume this approval as things stand; cancel the run if it is still parked.',
|
|
264
|
+
'approval.policyDeny.denyRule': 'Permission for this tool use was denied by a deny rule in the permission settings. {tail}',
|
|
265
|
+
'approval.policyDeny.dontAsk': 'Permission for this tool use was denied: this session no longer asks for approval, so a call that would need approval is refused. {tail}',
|
|
266
|
+
'approval.policyDeny.engineFloor': 'Permission for this tool use was denied by a safeguard on the engine side that permission settings cannot override. {tail}',
|
|
267
|
+
'approval.policyDeny.tail': 'The action was NOT performed. Do not claim it succeeded, and do not retry it in this session — report the limitation to the user, or suggest an alternative.',
|
|
254
268
|
'approval.decision.grantChanged': 'The engine refused this approval because the skill grant it was bound to has changed since the card was shown · Nothing was decided and the request is still waiting, but approving it again will be refused the same way · Deny this request so the model can activate the skill again',
|
|
255
269
|
'approval.decision.settledElsewhereContrary.deniedFirst': 'This request was already answered elsewhere and denied, so your approval did not take effect.',
|
|
256
270
|
'approval.decision.settledElsewhereContrary.approvedFirst': 'This request was already answered elsewhere and approved, so your denial did not take effect.',
|
|
@@ -330,7 +344,13 @@ const EN = {
|
|
|
330
344
|
'session.projectMemory.withheld.unknown': 'Not sent with this request: the setting that stops project instruction files from being read was held back for a reason this version does not recognize.',
|
|
331
345
|
'session.policy.withheld.namespaceCoveringUnconfirmed': 'Not written to this session’s rule record: this rule names a server or agent peer as a whole, or a group of its tools by pattern, and the engine has not confirmed that this record reads such a rule as a group — an engine that matches the record by exact tool name would block none of those tools.',
|
|
332
346
|
'session.fileHistoryLeg.notHonored': 'The engine is still capturing file history for this session, though your settings asked it not to.',
|
|
333
|
-
'resume.refusal.placementMismatch': 'This resume named a different placement root than the one recorded when the work was parked ·
|
|
347
|
+
'resume.refusal.placementMismatch': 'This resume named a different placement root than the one recorded when the work was parked · {safe} · Retry with the recorded root, or omit the placement root to inherit it',
|
|
348
|
+
'resume.refusal.untouched': 'The engine refused it before consuming anything — the parked work is untouched',
|
|
349
|
+
'resume.refusal.principalMismatch': 'This resume named a different principal than the one recorded when the work was parked · {safe} · Retry with the recorded principal, or omit the principal to inherit it',
|
|
350
|
+
'resume.refusal.compositionMismatch': 'This request does not match the composition leg recorded for this parked work (a resume named a different leg, or a verification pause was voided on a card whose recorded leg is not a verification leg) · {safe} · On a resume, name the recorded leg or omit the leg to inherit it; a verification pause can only be voided on a card recorded under a verification leg',
|
|
351
|
+
'resume.refusal.parentConstraintMissing': "This parked work was suspended under policy constraints inherited from its parent tasks, and this resume did not re-supply them (resuming without them would silently drop the parents' gate) · {safe} · Retry with the parent policy chain re-supplied",
|
|
352
|
+
'resume.refusal.parentConstraintMismatch': 'The parent policy constraints supplied with this resume do not match the ones this work was parked under (a partial or different chain would run it under thinner or different parent rules) · {safe} · Retry with the full original parent chain',
|
|
353
|
+
'resume.refusal.constraintUnprojectable': 'This resume carried an edited approval, but the policy inherited from the parent tasks cannot be re-checked against an edit · {safe} · Decide it again without editing the input — an unedited approval is not affected by this refusal',
|
|
334
354
|
'resume.refusal.preflightWaitable': "The deployment's resume preflight refused this attempt · The refusal happened before the commit — your decision was not consumed · The engine supplied a wait, so this token stays redeemable once the obstacle clears",
|
|
335
355
|
'resume.refusal.preflightNoWait': "The deployment's resume preflight refused this attempt · The refusal happened before the commit — your decision was not consumed · The engine supplied no wait, so this refusal does not say whether the token stays redeemable",
|
|
336
356
|
'resume.refusal.policyBlock': "The engine refused to resume this parked work at its admission check (the engine reports that its admission policy changed since the work was first accepted) · {reason} · This refusal does not say whether anything was consumed before it or whether a retry would pass — check the task's current state before deciding again, and ask whoever operates this deployment if it keeps happening",
|
|
@@ -374,7 +394,7 @@ const EN = {
|
|
|
374
394
|
'resume.refusal.park.interactiveEnded': '{head} The engine ended that parked run, so this conversation is free: send the work again as a new message.',
|
|
375
395
|
'resume.refusal.park.interactiveBusy': '{head}{configMayReturn} The parked run keeps this conversation busy until it is cancelled.',
|
|
376
396
|
'resume.refusal.park.blockedPrint': 'sema will not put the card for run {run} back on screen by itself: this engine version refuses to resume it. Cancel the run ({cancel}) and submit the work again as a new task.',
|
|
377
|
-
'resume.refusal.park.blockedInteractive': 'sema will not put the card for run {run} back on screen by itself: this engine version refuses to resume it. To free this conversation, send a message
|
|
397
|
+
'resume.refusal.park.blockedInteractive': 'sema will not put the card for run {run} back on screen by itself: this engine version refuses to resume it. To free this conversation, send a message — sema then offers to cancel that run (if the card comes back instead, answer it first), after which you can send the work again as a new message.',
|
|
378
398
|
'session.selfHeal.wayOut.interactive': 'run /clear to keep working in a fresh session',
|
|
379
399
|
'session.selfHeal.freshSession.default': 'start a new session (drop --resume/--continue)',
|
|
380
400
|
'session.selfHeal.freshSession.defaultCapitalized': 'Start a new session (drop --resume/--continue)',
|
|
@@ -629,6 +649,8 @@ const EN = {
|
|
|
629
649
|
'notice.wayOut.switchModel': 'The model service cannot serve this request right now — try another model',
|
|
630
650
|
'notice.wayOut.wait': 'The model service is still working on this request — wait a moment, then try again',
|
|
631
651
|
'notice.wayOut.fixRequest': 'The model service refused this request — change the request before sending it again; sending it as it is will not help',
|
|
652
|
+
'notice.userInputUndrained.approvalFeedback.one': '{count} note you wrote when approving a tool call never reached the model and will not be delivered. Send it again if you still need it.',
|
|
653
|
+
'notice.userInputUndrained.approvalFeedback.other': '{count} notes you wrote when approving a tool call never reached the model and will not be delivered. Send them again if you still need them.',
|
|
632
654
|
'notice.askUnresolvable.remedy.approver': 'Way out: connect an approver who can answer requests like this one, or make the connected approver reachable, then try again',
|
|
633
655
|
'notice.askUnresolvable.remedy.permissionMode': 'Another way out, if this deployment allows it: the {mode} permission mode lets requests like this one through without anyone answering them, and each request let through this way is marked on the tool call it applied to',
|
|
634
656
|
'rules.refusal.sentence.one': 'permissions: 1 rule will not be enforced — {list}',
|
|
@@ -725,6 +747,8 @@ const EN = {
|
|
|
725
747
|
'session.permissionModeSwitch.refusedWithCode': 'The engine refused to switch the mode of this run ({status} {code}), so it keeps the mode it had.',
|
|
726
748
|
'session.permissionModeSwitch.unconfirmed': 'The switch was sent but no readable answer came back, so whether the mode changed is not known — switch again to be sure.',
|
|
727
749
|
'session.permissionModeSwitch.unavailable': 'Switching the mode of a running turn is not available here, so the mode was not changed.',
|
|
750
|
+
'session.permissionModeSwitch.unavailableRunStore': 'Switching the mode of a running turn needs this deployment to keep durable run records, and it does not, so the mode was not changed.',
|
|
751
|
+
'session.permissionModeSwitch.unavailableCheckpointStore': 'Switching the mode of a running turn needs this deployment to keep durable approval checkpoints, and it does not, so the mode was not changed.',
|
|
728
752
|
'notice.capability.subject.userInvokedSkills': 'user-invoked skills',
|
|
729
753
|
'notice.capability.subject.skillToolLists': 'skill tool lists',
|
|
730
754
|
'notice.capability.subject.permissionRulesWrite': 'permission-rule write entry',
|
|
@@ -836,8 +860,11 @@ const EN = {
|
|
|
836
860
|
'model.tier.blurb.flash': 'fast + cheap — titles, recaps, volume work',
|
|
837
861
|
'model.tier.blurb.lite': 'cheapest — bulk classification, simple lookups',
|
|
838
862
|
'model.catalog.candidateRejected': 'The deployment refused its most recent configuration change{which} and is still running on the configuration before it — models or settings added by that change are not in effect',
|
|
863
|
+
'model.catalog.envServed': 'The engine is currently serving models from its environment table; the catalog is not in effect ({stance})',
|
|
839
864
|
'model.notServed.withDefault': "The model {model} is not available in this engine's model catalog, so this session uses the engine's default model {default}",
|
|
840
865
|
'model.notServed.noDefault': "The model {model} is not available in this engine's model catalog, so this session leaves the choice of model to the engine",
|
|
866
|
+
'model.notMentionable.withDefault': "The model {model} is in this engine's model catalog, but this deployment's model allowlist does not allow selecting it, so this session uses the engine's default model {default}",
|
|
867
|
+
'model.notMentionable.noDefault': "The model {model} is in this engine's model catalog, but this deployment's model allowlist does not allow selecting it, so this session leaves the choice of model to the engine",
|
|
841
868
|
'notice.failure.headline.connectionLostNotSent': 'The engine is unreachable — your message did not run. Check that the engine is up, then send it again.',
|
|
842
869
|
'notice.failure.headline.connectionLost': 'The connection to the engine was lost — it is not known whether your message ran. Check the run’s status, or reattach to it, before sending it again.',
|
|
843
870
|
'notice.failure.headline.timeout': 'The event stream went silent — the run may still be going on the engine. Check its status before sending again.',
|
|
@@ -989,6 +1016,7 @@ const EN = {
|
|
|
989
1016
|
'notice.wireRefusal.hostPosture.unattributed': "The engine refused this request before anything ran: this deployment does not accept a setting in it that only a single-user deployment may use; the engine's own message names it · {notLocal}; send it again without that setting",
|
|
990
1017
|
'notice.wireRefusal.autonomyLane': 'The engine did not start this leader run: this deployment runs in plan-only autonomy, and a leader run has no way to have its plan reviewed, so nothing was started · Submit the work as a regular run instead, or ask whoever operates the engine to change its autonomy setting',
|
|
991
1018
|
'notice.wireRefusal.sessionArchiveStamped': "This session's stored archive still carries an owner stamp written by an earlier server version, so it cannot be forked or have its log replaced; nothing was written · Delete the session and push it again",
|
|
1019
|
+
'notice.wireRefusal.sessionArchiveStamped.fork': "This session's stored archive still carries an owner stamp written by an earlier server version, so it cannot be forked or have its log replaced; nothing was written · This conversation keeps running on its own history; to fork it, delete the session and push it again",
|
|
992
1020
|
'notice.wireRefusal.unsupportedRule': 'The engine refused this request, so none of it took effect: a rule in it is a form the engine does not support — {detail} · Remove or rewrite that rule (to stop a tool altogether, write its name alone), then send it again',
|
|
993
1021
|
'notice.wireRefusal.unsupportedRule.other': 'The engine refused this request, so none of it took effect: {count} rules in it are forms the engine does not support — {detail} · Remove or rewrite those rules (to stop a tool altogether, write its name alone), then send it again',
|
|
994
1022
|
'notice.wireRefusal.unsupportedRule.stored': 'The engine refused to continue this work: the request stored for it has a rule in it that is a form the engine does not support — {detail} · It cannot continue as stored. Remove or rewrite that rule (to stop a tool altogether, write its name alone), cancel the work if it is still suspended, then submit it again as a new request',
|
|
@@ -1057,6 +1085,15 @@ const EN = {
|
|
|
1057
1085
|
'rules.sessionPolicy.deployment.noOperator.removeReadStoreCorrupt': 'The engine could not establish which version this session’s rules are at, so nothing was changed. This deployment has no operator to look at the rule store — whoever runs it has to.',
|
|
1058
1086
|
'rules.sessionPolicy.deployment.noOperator.removeWriteStoreCorrupt': 'The engine could not establish which version this session’s rules are at and refused to stamp a new one, so nothing was changed. This deployment has no operator to look at the rule store — whoever runs it has to.',
|
|
1059
1087
|
'config.hooks.plan.reason.compactionLocalFallback': 'this compaction is summarized on this client because the engine session is unavailable, so the engine will not run it and this client runs it itself',
|
|
1088
|
+
'config.hooks.plan.reason.keyNotRead': 'the connected server does not read a key written on this hook (remove the key, or use a server that reads it)',
|
|
1089
|
+
'config.hooks.plan.disableAllHooks': 'All hooks are turned off by managed settings (disableAllHooks).',
|
|
1090
|
+
'config.hooks.plan.keyNotRead.oneKey': '{layer}: {hooks} will not run — the connected server does not read the key {coordinates}. Remove the key, or use a server that reads it.',
|
|
1091
|
+
'config.hooks.plan.keyNotRead.manyKeys': '{layer}: {hooks} will not run — the connected server does not read the keys {coordinates}. Remove those keys, or use a server that reads them.',
|
|
1092
|
+
'config.hooks.plan.keyNotRead.more': '{shown} and {rest} more',
|
|
1093
|
+
'config.hooks.plan.keyNotRead.withOnFailure': '{line} The connected server does not read onFailure, so a hook set to block when it fails will not block.',
|
|
1094
|
+
'config.hooks.plan.reason.sourceNotAuthored': 'the matcher group of this hook sets "source", which only this client sets (remove the key)',
|
|
1095
|
+
'config.hooks.plan.sourceNotAuthored.oneKey': '{layer}: {hooks} will not run — the key {coordinates} is set only by this client, not in settings. Remove the key.',
|
|
1096
|
+
'config.hooks.plan.sourceNotAuthored.manyKeys': '{layer}: {hooks} will not run — the keys {coordinates} are set only by this client, not in settings. Remove those keys.',
|
|
1060
1097
|
'session.hooks.compactTransition.disclosure.engineOutcomeUnknown': 'The compaction request had already been sent to the engine when the summary fell back to this client, so whether the engine ran the compaction hooks cannot be told here, and this client did not run them again.',
|
|
1061
1098
|
'session.hooks.compactTransition.disclosure.neitherRan': 'The compaction hooks did not run this time: the engine did not compact here and this client could not start its own summary. If the engine still compacts later it will run them then.',
|
|
1062
1099
|
'session.background.handedOff': "Moved to the background. You'll be told when it finishes.",
|
package/dist/i18n/messages.zh.js
CHANGED
|
@@ -115,6 +115,8 @@ const ZH = {
|
|
|
115
115
|
'model.subagent.chainUnbound': '子代理模型 {word} 在这台引擎上没有绑定(它和比它低的档位都没绑模型)—— 子代理将沿用父代理的模型。',
|
|
116
116
|
'model.subagent.bindingNotInCatalog': '子代理模型 {word} 绑定的模型不在这台引擎的模型目录里 —— 子代理将沿用父代理的模型。',
|
|
117
117
|
'model.subagent.ambiguous': '子代理模型 {word} 同时对上了几个只差大小写的模型名 —— 请照原样拼写;子代理将沿用父代理的模型。',
|
|
118
|
+
'model.catalogDefault.refused.named': '不点名模型的任务会被拒:引擎从它的模型配置里解析不出缺省模型(设置里的缺省是 {name}) · 设一个引擎跑得了的缺省模型,或添加 / 修好一个',
|
|
119
|
+
'model.catalogDefault.refused.select': '不点名模型的任务会被拒:引擎从它的模型配置里解析不出缺省模型(设置里的缺省是挑选条件) · 改挑选条件,或添加 / 修好一个引擎跑得了的模型',
|
|
118
120
|
'session.devices.laneAbsent': '这个后端没有远程控制车道',
|
|
119
121
|
'session.devices.laneUnreported': '这个后端没有报告远程控制车道',
|
|
120
122
|
'session.devices.verbsOff': '这个后端的设备车道开着,但设备管理动作关着 —— 这里列不出也改不了设备',
|
|
@@ -127,6 +129,7 @@ const ZH = {
|
|
|
127
129
|
'session.engine.dispatch.scopeMismatch': '这只会话属于另一个空间里的引擎,和你当前登录的空间不同,什么都没发。切到那个空间后再试一次。',
|
|
128
130
|
'session.engine.dispatch.scopeUnproven': '确认不了你当前的登录能到达这只会话所在的引擎,什么都没发。先登录那台引擎所在的空间(或直接连上那台引擎),再试一次。',
|
|
129
131
|
'session.engine.dispatch.unresolved': '这只会话所在的引擎还不知道,什么都没发。先为这只会话选一次引擎,再试一次。',
|
|
132
|
+
'session.engine.dispatch.sessionAmbiguous': '这个会话同时登记在两台引擎上,先停下不发 —— 请先确认它属于哪一台。',
|
|
130
133
|
'config.cloudLogin.accessDenied': '登录被拒绝了。',
|
|
131
134
|
'config.cloudLogin.expiredToken': '登录码在批准之前过期了 —— 请重新开始。',
|
|
132
135
|
'config.cloudLogin.invalidGrant': 'Cloud 登录已无法续期 —— 请重新登录。',
|
|
@@ -141,6 +144,7 @@ const ZH = {
|
|
|
141
144
|
'config.engineTarget.notConfigured': 'Cloud 还没配好 —— 先登录并连上一台 Cloud 引擎。',
|
|
142
145
|
'config.engineTarget.notSignedIn': '请先登录 Sema Cloud(或在高级选项里粘贴引擎令牌)。',
|
|
143
146
|
'config.engineTarget.probeFailed': '引擎没通过连接检查。什么都没保存。',
|
|
147
|
+
'config.engineTarget.cloudUnreachable': 'Cloud 引擎已配置,但此刻连不上 —— 请检查网络或引擎地址后重试。',
|
|
144
148
|
'config.engineTarget.orgPolicy': '你的组织要求使用另一个 Cloud 引擎地址。',
|
|
145
149
|
'config.engineTarget.urlRefused': '这个引擎地址不能用 —— 必须是不带凭据的 http(s) 地址。',
|
|
146
150
|
'config.engineTarget.loginFailed': '登录失败。',
|
|
@@ -149,6 +153,7 @@ const ZH = {
|
|
|
149
153
|
'config.engineTarget.serverBelowSupportFloor': '这台服务端自报版本 {version},低于本客户端支持的最低服务端版本 {floor}。发给它的请求可能被拒,或与这里描述的行为不一致;请连接 {floor} 或更新的服务端。',
|
|
150
154
|
'config.engineTarget.input': '请求的形状不对,什么都没改。',
|
|
151
155
|
'config.engineTarget.unknown': '引擎切换没有完成。',
|
|
156
|
+
'config.webSearch.apiKeyWayOut': '如果密钥复制时前后带了空白、换行或不可见字符,请去掉 —— 密钥按原样使用,不会替你去除首尾空白。',
|
|
152
157
|
'onboard.probe.endpointReachable': '{method} {path} → {status}(端点可达)',
|
|
153
158
|
'onboard.probe.modelSuggest': '{error} —— 列表里相近的 id:"{near}"',
|
|
154
159
|
'onboard.probe.redirected': '端点重定向了({status})到 {where} —— Sema 不会把你的钥匙跟着重定向带过去;请把最终地址填成根地址',
|
|
@@ -246,11 +251,20 @@ const ZH = {
|
|
|
246
251
|
'approval.settle.cause.broadcastLost': '它没有送达任何一个打开着的连接',
|
|
247
252
|
'approval.settle.cause.streamDisconnected': '承载这张卡的连接断了',
|
|
248
253
|
'approval.settle.cause.undeliverable': '它没能送达任何审批界面',
|
|
254
|
+
'approval.resolution.engineUnavailable': '引擎暂不可用 —— 待引擎回来再答。',
|
|
249
255
|
'approval.decide.requiresBinding': '这次决定没有带上把它绑到审批卡上那个具体动作的绑定,引擎拒绝了 · 什么都没有决定,这条审批仍在等待 · 请重新获取待决审批,按现在列出的那张卡再决定;如果列出的卡本身就没有绑定,{wayOut}',
|
|
250
|
-
'approval.decide.unboundWayOut': '这里决不了 —— 取消这次运行,或等这条审批过期',
|
|
256
|
+
'approval.decide.unboundWayOut.armed': '这里决不了 —— 取消这次运行,或等这条审批过期',
|
|
257
|
+
'approval.decide.unboundWayOut.none': '这里决不了 —— 取消这次运行(这条审批没有到期计时)',
|
|
258
|
+
'approval.decide.unboundWayOut.unknown': '这里决不了 —— 取消这次运行',
|
|
259
|
+
'approval.rowUnresumable.lackingWayOut': '这台引擎决不了 —— 更新版本的引擎可以续跑它:请升级这台引擎后再发一次消息(有多台引擎可选时,换到更新的那一台),或者取消这次运行',
|
|
251
260
|
'approval.rowUnresumable.fallback': '这台引擎没说它续得了这条待决审批,所以没有呈成可批的卡;什么都没发',
|
|
252
261
|
'approval.rowUnresumable.askNotSurfaced': '这条待决行(任务 {taskId})这台引擎续不了,所以没有呈成可作答的卡:{sentence}',
|
|
253
262
|
'approval.park.stillParked': '{gate} 这道门没能作答:{reason} —— 这一跑仍停在这条审批上。',
|
|
263
|
+
'approval.park.refusedNotResumable': '{gate} 这道门没能作答:{reason} —— 这台引擎目前续不了这条审批;若这一跑仍停着,请取消它。',
|
|
264
|
+
'approval.policyDeny.denyRule': '这次工具调用被权限设置里的拒绝规则拒绝了。{tail}',
|
|
265
|
+
'approval.policyDeny.dontAsk': '这次工具调用被拒绝了:本会话不再询问审批,凡需要审批的调用一律拒绝。{tail}',
|
|
266
|
+
'approval.policyDeny.engineFloor': '这次工具调用被引擎侧的保护规则拒绝了,权限设置无法覆盖。{tail}',
|
|
267
|
+
'approval.policyDeny.tail': '该操作没有执行。不要声称它已成功,也不要在本会话里重试 —— 请向用户说明这一限制,或建议别的做法。',
|
|
254
268
|
'approval.decision.grantChanged': '引擎拒收了这次批准:它绑定的技能授予在卡呈出之后已经变了 · 什么都没有决定,这一请求仍在等待,但再批一次会以同样的理由被拒 · 请拒绝这一请求,让模型重新激活那个技能',
|
|
255
269
|
'approval.decision.settledElsewhereContrary.deniedFirst': '这一请求已在别处被答复为拒绝,你的批准没有生效。',
|
|
256
270
|
'approval.decision.settledElsewhereContrary.approvedFirst': '这一请求已在别处被答复为批准,你的拒绝没有生效。',
|
|
@@ -330,7 +344,13 @@ const ZH = {
|
|
|
330
344
|
'session.projectMemory.withheld.unknown': '这次请求没有带上它:「别读项目指令文件」这项设置因为一个这个版本不认识的原因被扣下了。',
|
|
331
345
|
'session.policy.withheld.namespaceCoveringUnconfirmed': '没有写进这条会话的规则记录:这条规则点的是整个服务器或对端,或按模式点了它的一组工具,而引擎还没有确认这份记录会把这样的规则读成一组 —— 按精确工具名比对记录的引擎会一只都拦不住。',
|
|
332
346
|
'session.fileHistoryLeg.notHonored': '引擎仍在为这个会话捕获文件历史,尽管你的设置要求它别这么做。',
|
|
333
|
-
'resume.refusal.placementMismatch': '这次续跑指定的放置根,和这件工作 parked 时记下的不是同一个 ·
|
|
347
|
+
'resume.refusal.placementMismatch': '这次续跑指定的放置根,和这件工作 parked 时记下的不是同一个 · {safe} · 请用记下的那个根重试,或者省略放置根让它沿用记下的',
|
|
348
|
+
'resume.refusal.untouched': '引擎在消耗任何东西之前就拒了它 —— parked 的工作原封未动',
|
|
349
|
+
'resume.refusal.principalMismatch': '这次续跑指定的身份(principal),和这件工作 parked 时记下的不是同一个 · {safe} · 请用记下的那个身份重试,或者省略它让它沿用记下的',
|
|
350
|
+
'resume.refusal.compositionMismatch': '这次请求和这件工作 parked 时记下的编排段(composition leg)对不上(续跑指定了另一段,或在记录腿不是校验腿的卡上作废了校验暂停) · {safe} · 续跑时请用记下的那一段,或省略它让它沿用记下的;校验暂停只能在记录为校验腿的卡上作废',
|
|
351
|
+
'resume.refusal.parentConstraintMissing': '这件工作是在继承自上层任务的策略约束下 parked 的,而这次续跑没有重新提供它们(不带它们续跑会悄悄丢掉上层的门) · {safe} · 请重新提供上层策略链后重试',
|
|
352
|
+
'resume.refusal.parentConstraintMismatch': '这次续跑提供的上层策略约束,和这件工作 parked 时的对不上(链不全或不同,会让它在更薄或不同的上层规则下运行) · {safe} · 请用完整的原始上层策略链重试',
|
|
353
|
+
'resume.refusal.constraintUnprojectable': '这次续跑带了编辑过的批准,但继承自上层任务的策略无法对编辑后的入参重新核对 · {safe} · 请不要编辑入参,再决断一次(没编辑过的批准不受这次拒绝影响)',
|
|
334
354
|
'resume.refusal.preflightWaitable': '部署的续跑预检拒绝了这次尝试 · 拒绝发生在提交之前 —— 你的决断没有被消耗 · 引擎给了等待窗,所以障碍清除之后这个令牌仍可再赎',
|
|
335
355
|
'resume.refusal.preflightNoWait': '部署的续跑预检拒绝了这次尝试 · 拒绝发生在提交之前 —— 你的决断没有被消耗 · 引擎没给等待窗,所以这次拒绝没有说明这个令牌还能不能再赎',
|
|
336
356
|
'resume.refusal.policyBlock': '引擎在准入检查处拒绝续跑这件 parked 的工作(引擎说明,自这件工作最初被接受以来,它的准入策略变了) · {reason} · 这次拒绝没有说明在它之前有没有东西被消耗、重试是否会通过 —— 请先查看任务当前的状态再决断,如果它反复出现,请问运维这个部署的人',
|
|
@@ -374,7 +394,7 @@ const ZH = {
|
|
|
374
394
|
'resume.refusal.park.interactiveEnded': '{head}引擎已结束那条 parked 的 run,所以这段对话空出来了:请把这项工作作为新消息重新发一次。',
|
|
375
395
|
'resume.refusal.park.interactiveBusy': '{head}{configMayReturn}parked 的那条 run 会一直占着这段对话,直到它被取消。',
|
|
376
396
|
'resume.refusal.park.blockedPrint': 'sema 不会自己把 run {run} 的卡放回屏幕:这一版引擎拒绝续跑它。请取消这条 run({cancel}),再把这项工作作为新任务重新提交。',
|
|
377
|
-
'resume.refusal.park.blockedInteractive': 'sema 不会自己把 run {run}
|
|
397
|
+
'resume.refusal.park.blockedInteractive': 'sema 不会自己把 run {run} 的卡放回屏幕:这一版引擎拒绝续跑它。要空出这段对话,请发一条消息 —— sema 随后会提出取消那条 run(若卡反而回来了,先作答),之后你就可以把这项工作作为新消息重新发一次。',
|
|
378
398
|
'session.selfHeal.wayOut.interactive': '运行 /clear,在全新会话里继续工作',
|
|
379
399
|
'session.selfHeal.freshSession.default': '开一个新会话(去掉 --resume/--continue)',
|
|
380
400
|
'session.selfHeal.freshSession.defaultCapitalized': '开一个新会话(去掉 --resume/--continue)',
|
|
@@ -629,6 +649,8 @@ const ZH = {
|
|
|
629
649
|
'notice.wayOut.switchModel': '模型服务此刻无法处理这个请求 —— 请换一个模型试试',
|
|
630
650
|
'notice.wayOut.wait': '模型服务仍在处理这个请求 —— 请稍等片刻后重试',
|
|
631
651
|
'notice.wayOut.fixRequest': '模型服务拒绝了这个请求 —— 请修改请求后再发送;原样重发不会有变化',
|
|
652
|
+
'notice.userInputUndrained.approvalFeedback.one': '你在批准工具调用时写下的 {count} 条附言没有送达模型,也不会再投递。如果还需要,请再发一次。',
|
|
653
|
+
'notice.userInputUndrained.approvalFeedback.other': '你在批准工具调用时写下的 {count} 条附言没有送达模型,也不会再投递。如果还需要,请再发一次。',
|
|
632
654
|
'notice.askUnresolvable.remedy.approver': '出路:接一个能答这类请求的审批人,或让已接的审批人可达,然后重试',
|
|
633
655
|
'notice.askUnresolvable.remedy.permissionMode': '另一条出路(须本部署允许):{mode} 权限模式会不经人作答就放行这类请求,每一次这样放行都会标在它所放行的那次工具调用上',
|
|
634
656
|
'rules.refusal.sentence.one': '权限:有 1 条规则不会被执行 —— {list}',
|
|
@@ -725,6 +747,8 @@ const ZH = {
|
|
|
725
747
|
'session.permissionModeSwitch.refusedWithCode': '引擎拒绝切这条 run 的模式({status} {code}),它保持原来的模式。',
|
|
726
748
|
'session.permissionModeSwitch.unconfirmed': '切档请求已发出,但没有收到读得懂的答复,不知道模式变没变 —— 请再切一次以确认。',
|
|
727
749
|
'session.permissionModeSwitch.unavailable': '这里不能切正在跑的这一轮的模式,模式没有变。',
|
|
750
|
+
'session.permissionModeSwitch.unavailableRunStore': '切换正在跑的这一轮的模式,需要这个部署保存持久的 run 记录,而它没有,所以模式没有改变。',
|
|
751
|
+
'session.permissionModeSwitch.unavailableCheckpointStore': '切换正在跑的这一轮的模式,需要这个部署保存持久的审批检查点,而它没有,所以模式没有改变。',
|
|
728
752
|
'notice.capability.subject.userInvokedSkills': '用户点名的技能',
|
|
729
753
|
'notice.capability.subject.skillToolLists': '技能工具清单',
|
|
730
754
|
'notice.capability.subject.permissionRulesWrite': '权限规则写入口',
|
|
@@ -836,8 +860,11 @@ const ZH = {
|
|
|
836
860
|
'model.tier.blurb.flash': '又快又省 —— 标题、回顾、批量活儿',
|
|
837
861
|
'model.tier.blurb.lite': '最省 —— 批量分类、简单查询',
|
|
838
862
|
'model.catalog.candidateRejected': '部署拒绝了最近一次配置改动{which},仍在使用它之前的那份配置 —— 那次改动里新增的模型或设置没有生效',
|
|
863
|
+
'model.catalog.envServed': '引擎当前按环境变量表提供模型;目录没有生效({stance})',
|
|
839
864
|
'model.notServed.withDefault': '模型 {model} 在这台引擎的模型目录里不可用,所以本次会话改用引擎的缺省模型 {default}',
|
|
840
865
|
'model.notServed.noDefault': '模型 {model} 在这台引擎的模型目录里不可用,所以本次会话把模型的选择交给引擎',
|
|
866
|
+
'model.notMentionable.withDefault': '模型 {model} 在这台引擎的模型目录里,但这个部署的模型名单不允许选用它,所以本次会话改用引擎的缺省模型 {default}',
|
|
867
|
+
'model.notMentionable.noDefault': '模型 {model} 在这台引擎的模型目录里,但这个部署的模型名单不允许选用它,所以本次会话把模型的选择交给引擎',
|
|
841
868
|
'notice.failure.headline.connectionLostNotSent': '连不上引擎 —— 你的消息没有运行。请确认引擎已经启动,然后再发送一次。',
|
|
842
869
|
'notice.failure.headline.connectionLost': '与引擎的连接断了 —— 不知道你的消息是否已经运行。重新发送之前,请先查看这次 run 的状态,或者重新接上它。',
|
|
843
870
|
'notice.failure.headline.timeout': '事件流静默了 —— 这次 run 可能仍在引擎上运行。再次发送之前,请先查看它的状态。',
|
|
@@ -989,6 +1016,7 @@ const ZH = {
|
|
|
989
1016
|
'notice.wireRefusal.hostPosture.unattributed': '引擎在任何东西运行之前就拒绝了这个请求:这个部署不接受请求里只有单用户部署才能使用的某项设置;引擎自己的消息会点名它 · {notLocal};请去掉那项设置后重新发送',
|
|
990
1017
|
'notice.wireRefusal.autonomyLane': '引擎没有启动这次 leader 运行:这个部署运行在只做计划的自主档,而 leader 运行没有办法让它的计划被审阅,所以什么也没有启动 · 请改为作为普通运行提交这项工作,或请运维这台引擎的人更改它的自主设置',
|
|
991
1018
|
'notice.wireRefusal.sessionArchiveStamped': '这个会话存下的存档仍带着更早版本的服务端写下的属主戳,所以不能被 fork,也不能替换它的日志;什么都没有写入 · 请删除这个会话,然后重新推送',
|
|
1019
|
+
'notice.wireRefusal.sessionArchiveStamped.fork': '这个会话存下的存档仍带着更早版本的服务端写下的属主戳,所以不能被 fork,也不能替换它的日志;什么都没有写入 · 这段对话会按它自己的历史接着跑;要 fork 它,请删除这个会话,然后重新推送',
|
|
992
1020
|
'notice.wireRefusal.unsupportedRule': '引擎拒绝了这个请求,所以其中任何内容都没有生效:里面有一条规则是引擎不支持的写法 —— {detail} · 请删掉或改写那条规则(要整只拦下一个工具,请只写工具名),再重新发送',
|
|
993
1021
|
'notice.wireRefusal.unsupportedRule.other': '引擎拒绝了这个请求,所以其中任何内容都没有生效:里面有 {count} 条规则是引擎不支持的写法 —— {detail} · 请删掉或改写这些规则(要整只拦下一个工具,请只写工具名),再重新发送',
|
|
994
1022
|
'notice.wireRefusal.unsupportedRule.stored': '引擎拒绝继续这件工作:为它保存的请求里有一条规则是引擎不支持的写法 —— {detail} · 它无法按保存的样子继续。请删掉或改写那条规则(要整只拦下一个工具,请只写工具名);若这件工作仍停驻着,请先取消它,然后作为新请求重新提交',
|
|
@@ -1057,6 +1085,15 @@ const ZH = {
|
|
|
1057
1085
|
'rules.sessionPolicy.deployment.noOperator.removeReadStoreCorrupt': '引擎确认不了这个会话的规则当前在哪一版,所以没有改动任何内容。这台部署没有运维方可以查看规则库,要由运行它的人处理。',
|
|
1058
1086
|
'rules.sessionPolicy.deployment.noOperator.removeWriteStoreCorrupt': '引擎确认不了这个会话的规则当前在哪一版,拒绝盖新版本,所以没有改动任何内容。这台部署没有运维方可以查看规则库,要由运行它的人处理。',
|
|
1059
1087
|
'config.hooks.plan.reason.compactionLocalFallback': '这一次压缩的摘要因引擎会话不可用而在本客户端本地生成,引擎不会替它运行这只 hook,所以由本客户端自己运行',
|
|
1088
|
+
'config.hooks.plan.reason.keyNotRead': '所连服务端不读这只 hook 上写的某个键(删掉该键,或改用会读它的服务端)',
|
|
1089
|
+
'config.hooks.plan.disableAllHooks': '托管设置关闭了全部 hooks(disableAllHooks)。',
|
|
1090
|
+
'config.hooks.plan.keyNotRead.oneKey': '{layer}:{hooks} 不会运行 —— 所连服务端不读键 {coordinates}。删掉该键,或改用会读它的服务端。',
|
|
1091
|
+
'config.hooks.plan.keyNotRead.manyKeys': '{layer}:{hooks} 不会运行 —— 所连服务端不读这些键:{coordinates}。删掉这些键,或改用会读它们的服务端。',
|
|
1092
|
+
'config.hooks.plan.keyNotRead.more': '{shown} 等另 {rest} 处',
|
|
1093
|
+
'config.hooks.plan.keyNotRead.withOnFailure': '{line}所连服务端不读 onFailure:设成失败即阻断的 hook 失败时不会阻断。',
|
|
1094
|
+
'config.hooks.plan.reason.sourceNotAuthored': '这只 hook 所在的匹配器组写了 "source",这一键只由本客户端设置(删掉该键)',
|
|
1095
|
+
'config.hooks.plan.sourceNotAuthored.oneKey': '{layer}:{hooks} 不会运行 —— 键 {coordinates} 只由本客户端设置,不写在设置里。删掉该键。',
|
|
1096
|
+
'config.hooks.plan.sourceNotAuthored.manyKeys': '{layer}:{hooks} 不会运行 —— 这些键只由本客户端设置,不写在设置里:{coordinates}。删掉这些键。',
|
|
1060
1097
|
'session.hooks.compactTransition.disclosure.engineOutcomeUnknown': '摘要改走本客户端时,压缩请求已经发给了引擎,所以引擎有没有运行压缩 hook 这里判不了,本客户端也没有再运行一遍。',
|
|
1061
1098
|
'session.hooks.compactTransition.disclosure.neitherRan': '这一次压缩 hook 没有运行:引擎没有在这里压缩,本客户端的本地摘要也没能启动。引擎之后若仍会压缩,到时会运行它们。',
|
|
1062
1099
|
'session.background.handedOff': '已转到后台,结束时会告诉你。',
|
|
@@ -1161,6 +1198,11 @@ export const TERM_SLOTS = Object.freeze({
|
|
|
1161
1198
|
'session.inheritEnv.withheld.all': ['run'],
|
|
1162
1199
|
'session.inheritEnv.withheld.scrub': ['run'],
|
|
1163
1200
|
'resume.refusal.placementMismatch': ['parked'],
|
|
1201
|
+
'resume.refusal.untouched': ['parked'],
|
|
1202
|
+
'resume.refusal.principalMismatch': ['parked', 'principal'],
|
|
1203
|
+
'resume.refusal.compositionMismatch': ['parked', 'composition leg'],
|
|
1204
|
+
'resume.refusal.parentConstraintMissing': ['parked'],
|
|
1205
|
+
'resume.refusal.parentConstraintMismatch': ['parked'],
|
|
1164
1206
|
'resume.refusal.policyBlock': ['parked'],
|
|
1165
1207
|
'resume.refusal.contextUnavailable': ['run'],
|
|
1166
1208
|
'resume.refusal.contextThird.withRun': ['run'],
|
package/dist/index.d.ts
CHANGED
|
@@ -250,6 +250,8 @@ export { SUBMISSION_SURFACES, SUBMISSION_ORIGINS, SUBMISSION_TOOLS, SUBMISSION_K
|
|
|
250
250
|
export type { SubmissionIdentity, SubmissionIdentityInput, SubmissionSurface, SubmissionOrigin, SubmissionTools, SubmissionKind, SubmissionProvenance, } from './request/submissionIdentity.js';
|
|
251
251
|
export { taskNotificationOf, taskNotificationQueueCommand } from './notifications.js';
|
|
252
252
|
export type { TaskNotificationQueueCommand, PendingNotificationCommand } from './notifications.js';
|
|
253
|
+
export { taskNotificationAdmissionOf } from './taskNotificationAdmission.js';
|
|
254
|
+
export type { TaskNotificationAdmission, TaskNotificationAdmissionVerdict, TaskNotificationAdmissionWhy, TaskNotificationReadResult, TaskNotificationRunRecordView, } from './taskNotificationAdmission.js';
|
|
253
255
|
export { resultErrorCodeInTextOf } from './resultFrameKeys.js';
|
|
254
256
|
export { humanTurnRefusalSentence, humanTurnDegradedSentence, printImageVisionSentence } from './humanTurnSentences.js';
|
|
255
257
|
export type { HumanTurnInput, HumanTurnItem, HumanTurnAttachment, HumanTurnRider, HumanTurnMissing, HumanTurnCaps, HumanTurnEncoding, HumanTurnShare, HumanTurnSharePart, HumanTurnDegraded, HumanTurnDelivered, HumanTurnNotice, } from './humanTurn.js';
|
|
@@ -366,6 +368,7 @@ export { projectCrashConverged } from './hitl/crashConverged.js';
|
|
|
366
368
|
export type { ApprovalsListEnvelope, CrashConvergedOrphanState, CrashConvergedProjection, CrashConvergedRowReading } from './hitl/crashConverged.js';
|
|
367
369
|
export type { ApprovalQueueKindedRow, ApprovalQueueRow } from './hitl/crashConverged.js';
|
|
368
370
|
export { checkpointQueueRowSortOf, type CheckpointQueueRowSort } from './hitl/approvalQueueRow.js';
|
|
371
|
+
export { subagentSourceSessionOf } from './hitl/subagentSource.js';
|
|
369
372
|
export * from './hitl/crashConvergedNotice.js';
|
|
370
373
|
export { approvalCompleteParked } from './hitl/approvalCompleteParked.js';
|
|
371
374
|
export { approvalCompleteCauseOf } from './hitl/approvalEndingCause.js';
|
|
@@ -411,6 +414,8 @@ export { readAssistantInbox } from './assistantInbox.js';
|
|
|
411
414
|
export type { AssistantInboxVerb, AssistantInboxEntry, AssistantInboxReading, AssistantInboxUnavailableReason } from './assistantInbox.js';
|
|
412
415
|
export { checkpointRowVerdictOf } from './checkpointRowVerdict.js';
|
|
413
416
|
export type { CheckpointRowVerdictReading } from './checkpointRowVerdict.js';
|
|
417
|
+
export { checkpointRowBarOf, checkpointRowBarSentence } from './checkpointRowVerdict.js';
|
|
418
|
+
export type { CheckpointRowBar } from './checkpointRowVerdict.js';
|
|
414
419
|
export { checkpointRequirementsDamagedOf } from './checkpointRowVerdict.js';
|
|
415
420
|
export type { CheckpointRequirementsDamagedReading } from './checkpointRowVerdict.js';
|
|
416
421
|
export { READ_CREDENTIAL_NOT_ACCEPTED_NOTICE, isReadCredentialRefusal } from './readCredentialRefusal.js';
|
|
@@ -465,7 +470,7 @@ export { scenarioSkillsOf, observedScenarioSkillsCapability } from './scenarioSk
|
|
|
465
470
|
export type { ScenarioCardSkill, ScenarioSkillsCapabilityReading } from './scenarioSkills.js';
|
|
466
471
|
export { observedApprovalFrameFamilies, approvalFrameFamiliesDeclaration } from './approvalFrameFamilies.js';
|
|
467
472
|
export type { ApprovalFrameFamiliesReading, ApprovalFrameFamiliesDeclaration, ApprovalFrameFamiliesWithheld, ApprovalFrameFamiliesWithheldCause, } from './approvalFrameFamilies.js';
|
|
468
|
-
export { sessionEngineBindingFor, commitSessionEngine, readSessionEngine, sessionDispatchTarget } from './sessionEngine.js';
|
|
473
|
+
export { sessionEngineBindingFor, commitSessionEngine, readSessionEngine, sessionDispatchTarget, sessionDispatchRefusedFor } from './sessionEngine.js';
|
|
469
474
|
export type { SessionEngineKind, SessionEngineIdentityKind, SessionEngineBindingInput, SessionEngineRowInput, SessionEngineBindingFailure, SessionEngineSelfPresentation, SessionEngineDeclaredPresentation, SessionEngineAddressPresentation, SessionEngineBindingOk, SessionEngineSelfBinding, SessionEngineDeclaredBinding, SessionEngineAddressBinding, SessionEngineBinding, SessionEngineAssignment, SessionEngineView, SessionEngineSelfView, SessionEngineDeclaredView, SessionEngineAddressView, SessionEngineReading, SessionEngineBoundReading, SessionEngineSessionRef, SessionEngineCommitRequest, SessionEngineRecoverRequest, SessionEngineUnresolvedReason, SessionEngineCommitResult, SessionEngineCommitted, SessionEngineWiring, SessionDispatchRefusal, SessionDispatchDecision, SessionDispatchUrlTarget, SessionDispatchRefused, } from './sessionEngine.js';
|
|
470
475
|
export { foldSessionPlacement } from './deviceRebind.js';
|
|
471
476
|
export type { SessionPlacementView } from './deviceRebind.js';
|
package/dist/index.js
CHANGED
|
@@ -209,6 +209,7 @@ export { encodeHumanTurn, deliveredUuidsOf, imageSentOnUnknownVision, otherBodyB
|
|
|
209
209
|
export { batchCompatible, planQueuedDelivery, humanTurnCapsOf, humanTextForKeywordScan, selfHealSteerEligible } from './queuedDelivery.js';
|
|
210
210
|
export { SUBMISSION_SURFACES, SUBMISSION_ORIGINS, SUBMISSION_TOOLS, SUBMISSION_KINDS, submissionProvenanceOf, submissionIdentityOf, requestLaneOf, submissionOriginOf, } from './request/submissionIdentity.js';
|
|
211
211
|
export { taskNotificationOf, taskNotificationQueueCommand } from './notifications.js';
|
|
212
|
+
export { taskNotificationAdmissionOf } from './taskNotificationAdmission.js';
|
|
212
213
|
export { resultErrorCodeInTextOf } from './resultFrameKeys.js';
|
|
213
214
|
export { humanTurnRefusalSentence, humanTurnDegradedSentence, printImageVisionSentence } from './humanTurnSentences.js';
|
|
214
215
|
export { observedUserAttachmentSeat, projectUserAttachmentSeatCapability, userAttachmentSeatAdmits } from './userAttachmentSeat.js';
|
|
@@ -296,6 +297,7 @@ export { policyDenyReason } from './hitl/frameRouter.js';
|
|
|
296
297
|
export { readApprovalAllowRuleShadow, approvalAllowRuleShadowed, allowRuleShadowSentence, } from './hitl/allowRuleShadow.js';
|
|
297
298
|
export { projectCrashConverged } from './hitl/crashConverged.js';
|
|
298
299
|
export { checkpointQueueRowSortOf } from './hitl/approvalQueueRow.js';
|
|
300
|
+
export { subagentSourceSessionOf } from './hitl/subagentSource.js';
|
|
299
301
|
export * from './hitl/crashConvergedNotice.js';
|
|
300
302
|
export { approvalCompleteParked } from './hitl/approvalCompleteParked.js';
|
|
301
303
|
export { approvalCompleteCauseOf } from './hitl/approvalEndingCause.js';
|
|
@@ -323,6 +325,7 @@ export * from './agentSession/contract.js';
|
|
|
323
325
|
export * from './agentSession/backgroundView.js';
|
|
324
326
|
export { readAssistantInbox } from './assistantInbox.js';
|
|
325
327
|
export { checkpointRowVerdictOf } from './checkpointRowVerdict.js';
|
|
328
|
+
export { checkpointRowBarOf, checkpointRowBarSentence } from './checkpointRowVerdict.js';
|
|
326
329
|
export { checkpointRequirementsDamagedOf } from './checkpointRowVerdict.js';
|
|
327
330
|
export { READ_CREDENTIAL_NOT_ACCEPTED_NOTICE, isReadCredentialRefusal } from './readCredentialRefusal.js';
|
|
328
331
|
export { readEngineAgentRegistry, isEngineAgentRegistryListingSuperseded } from './agentSession/engineAgentRegistryRead.js';
|
|
@@ -358,5 +361,5 @@ export { PROJECT_MEMORY_WORDS, projectMemoryOf, observedProjectMemoryCapability,
|
|
|
358
361
|
export { sessionRulesChildrenReadLiveOf } from './sessionRulesChildrenReadLive.js';
|
|
359
362
|
export { scenarioSkillsOf, observedScenarioSkillsCapability } from './scenarioSkills.js';
|
|
360
363
|
export { observedApprovalFrameFamilies, approvalFrameFamiliesDeclaration } from './approvalFrameFamilies.js';
|
|
361
|
-
export { sessionEngineBindingFor, commitSessionEngine, readSessionEngine, sessionDispatchTarget } from './sessionEngine.js';
|
|
364
|
+
export { sessionEngineBindingFor, commitSessionEngine, readSessionEngine, sessionDispatchTarget, sessionDispatchRefusedFor } from './sessionEngine.js';
|
|
362
365
|
export { foldSessionPlacement } from './deviceRebind.js';
|
|
@@ -23,6 +23,7 @@ export interface LiveModelCatalog {
|
|
|
23
23
|
droppedEntries?: readonly LiveModelDroppedEntry[];
|
|
24
24
|
candidateRejected?: unknown;
|
|
25
25
|
modelPlane?: {} | null;
|
|
26
|
+
aliases?: {} | null;
|
|
26
27
|
}
|
|
27
28
|
export declare function setLiveModelCatalog(next: LiveModelCatalog | null): void;
|
|
28
29
|
export declare function setLiveModelCatalogRefresher(fn: (() => Promise<LiveModelCatalog | null>) | null): void;
|
|
@@ -51,12 +52,12 @@ export declare function effortLevelHonored(reading: EffortLevelsReading, level:
|
|
|
51
52
|
export declare function liveDefaultModelName(): string | null;
|
|
52
53
|
export type ModelAcceptanceReading = {
|
|
53
54
|
readonly verdict: 'accepted';
|
|
54
|
-
readonly why: 'listed';
|
|
55
|
+
readonly why: 'listed' | 'aliased';
|
|
55
56
|
readonly model: string;
|
|
56
57
|
readonly defaultModel?: string;
|
|
57
58
|
} | {
|
|
58
59
|
readonly verdict: 'refused';
|
|
59
|
-
readonly why: 'not_listed' | 'disabled';
|
|
60
|
+
readonly why: 'not_listed' | 'disabled' | 'not_at_mentionable';
|
|
60
61
|
readonly model: string;
|
|
61
62
|
readonly defaultModel?: string;
|
|
62
63
|
} | {
|
|
@@ -118,6 +119,7 @@ export type ModelPlaneReading = {
|
|
|
118
119
|
readonly kind: 'unreadable';
|
|
119
120
|
};
|
|
120
121
|
export declare function modelPlaneOf(catalog?: LiveModelCatalog | null): ModelPlaneReading;
|
|
122
|
+
export declare function modelPlaneSentence(reading: ModelPlaneReading, lang?: UiLanguage): string | undefined;
|
|
121
123
|
export declare function modelCandidateRejectedContent(reading: ModelCandidateRejectedReading, lang?: UiLanguage): string | undefined;
|
|
122
124
|
export interface RoutePairingVerdict {
|
|
123
125
|
verdict: 'ok' | 'broken' | 'unknown';
|