@sema-agent/client-core 0.111.0 → 0.112.1
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 +98 -0
- package/README.md +16 -7
- package/dist/agentSession/engineSessionBackgroundStop.js +2 -2
- package/dist/checkpointRowVerdict.d.ts +3 -0
- package/dist/checkpointRowVerdict.js +14 -1
- package/dist/consoleCaPin.d.ts +136 -0
- package/dist/consoleCaPin.js +827 -0
- package/dist/decideReceipt.d.ts +2 -1
- package/dist/deviceRebind.js +3 -3
- package/dist/effectiveFacts.d.ts +9 -0
- package/dist/effectiveFacts.js +33 -0
- package/dist/engineAddress.d.ts +1 -0
- package/dist/engineAddress.js +4 -1
- package/dist/engineCredentialRelease.d.ts +54 -0
- package/dist/engineCredentialRelease.js +146 -0
- package/dist/engineErrorCodes.d.ts +1 -0
- package/dist/engineErrorCodes.js +1 -0
- package/dist/engineHealthFacts.d.ts +0 -11
- package/dist/engineHealthFacts.js +0 -21
- package/dist/engineHealthProbeVerdict.d.ts +1 -0
- package/dist/engineHealthProbeVerdict.js +21 -13
- package/dist/engineUnavailable.d.ts +3 -2
- package/dist/engineUnavailable.js +16 -12
- package/dist/engineUrl.js +4 -2
- package/dist/gateFailureCodes.js +2 -2
- package/dist/generated/sdkFactTables.d.ts +1 -0
- package/dist/generated/sdkFactTables.js +13 -0
- package/dist/generated/settingsSchemaFns.d.ts +1 -0
- package/dist/generated/settingsSchemaFns.js +3 -0
- package/dist/generated/settingsSchemaHooksClassifier.js +38 -9
- package/dist/generated/settingsSchemaTables.d.ts +52 -0
- package/dist/generated/settingsSchemaTables.js +18 -0
- package/dist/generated/settingsSchemaTypes.d.ts +23 -13
- package/dist/generated/settingsSchemaUrlShape.d.ts +1 -0
- package/dist/generated/settingsSchemaUrlShape.js +17 -0
- package/dist/hitl/decisionRefusal.d.ts +4 -0
- package/dist/hitl/decisionRefusal.js +12 -2
- package/dist/hitl/hitlBridge.d.ts +1 -0
- package/dist/hitl/hitlBridge.js +17 -4
- package/dist/hitl/localAllowRedemption.d.ts +9 -6
- package/dist/hitl/localAllowRedemption.js +20 -0
- package/dist/hitl/parkOwnership.js +2 -1
- package/dist/hitl/parkResolver.js +7 -0
- package/dist/hitl/planReviewCard.d.ts +3 -2
- package/dist/hitl/planReviewCard.js +2 -0
- package/dist/hitl/planReviewWire.d.ts +4 -2
- package/dist/hitl/planReviewWire.js +134 -97
- package/dist/hitl/screenDecisionCards.js +3 -2
- package/dist/hitl/sessionPolicyWire.js +2 -2
- package/dist/hitl/standingRows.d.ts +4 -2
- package/dist/hitl/standingRows.js +10 -3
- package/dist/hooksReaderGenerations.js +1 -1
- package/dist/i18n/messages.en.d.ts +165 -0
- package/dist/i18n/messages.en.js +166 -1
- package/dist/i18n/messages.zh.js +177 -1
- package/dist/index.d.ts +30 -5
- package/dist/index.js +15 -2
- package/dist/liveModelCatalog.d.ts +4 -0
- package/dist/liveModelCatalog.js +10 -1
- package/dist/localConfig/documents.d.ts +61 -0
- package/dist/localConfig/documents.js +51 -0
- package/dist/localConfig/kernel.d.ts +149 -0
- package/dist/localConfig/kernel.js +597 -0
- package/dist/localConfig/mcp/edit.d.ts +161 -0
- package/dist/localConfig/mcp/edit.js +846 -0
- package/dist/localConfig/mcp/servers.d.ts +165 -0
- package/dist/localConfig/mcp/servers.js +776 -0
- package/dist/localConfig/mcp/views.d.ts +170 -0
- package/dist/localConfig/mcp/views.js +429 -0
- package/dist/localConfig/modelPool.d.ts +262 -0
- package/dist/localConfig/modelPool.js +1489 -0
- package/dist/localConfig/modelPoolWords.d.ts +13 -0
- package/dist/localConfig/modelPoolWords.js +20 -0
- package/dist/localConfig/receiptShape.d.ts +7 -0
- package/dist/localConfig/receiptShape.js +135 -0
- package/dist/localConfig/settingsWrite.d.ts +127 -0
- package/dist/localConfig/settingsWrite.js +237 -0
- package/dist/localConfig/skills.d.ts +124 -0
- package/dist/localConfig/skills.js +397 -0
- package/dist/localConfig/skillsWords.d.ts +10 -0
- package/dist/localConfig/skillsWords.js +5 -0
- package/dist/mcpProbeWire.js +2 -1
- package/dist/mcpWireCaps.js +1 -1
- package/dist/memoryVerbsWire.js +3 -2
- package/dist/model/onboardJudgement.d.ts +14 -4
- package/dist/model/onboardJudgement.js +91 -139
- package/dist/modelConfigGapNotice.d.ts +20 -0
- package/dist/modelConfigGapNotice.js +102 -0
- package/dist/modsKernelIdentity.js +2 -47
- package/dist/notifications.js +14 -12
- package/dist/ownKey.d.ts +1 -0
- package/dist/ownKey.js +40 -8
- package/dist/permissionsDeclaration.d.ts +2 -1
- package/dist/permissionsDeclaration.js +31 -17
- package/dist/planReviewOutcomeCause.d.ts +2 -0
- package/dist/planReviewOutcomeCause.js +12 -0
- package/dist/promptBlockedCopy.js +2 -2
- package/dist/resumeRefusalCopy.d.ts +3 -1
- package/dist/resumeRefusalCopy.js +12 -4
- package/dist/runLedgerSnapshot.js +3 -3
- package/dist/runPermissionModeSwitch.js +2 -3
- package/dist/seatContract.d.ts +154 -4
- package/dist/seatContract.js +228 -2
- package/dist/sessionIdSegment.d.ts +1 -0
- package/dist/sessionIdSegment.js +4 -1
- package/dist/sessionMemoryErase.js +2 -1
- package/dist/sha256Bytes.d.ts +1 -0
- package/dist/sha256Bytes.js +46 -0
- package/dist/skillOverrideChain.d.ts +83 -0
- package/dist/skillOverrideChain.js +378 -0
- package/dist/skillsWireCaps.d.ts +3 -0
- package/dist/skillsWireCaps.js +16 -1
- package/dist/turnFailurePresentation.js +4 -10
- package/docs/INTEGRATION-CLIENTS.md +680 -14
- package/package.json +3 -3
package/dist/i18n/messages.zh.js
CHANGED
|
@@ -211,6 +211,20 @@ const ZH = {
|
|
|
211
211
|
'onboard.plan.envNotObject': '设置文件里的 "env" 不是对象 —— 不改写它。',
|
|
212
212
|
'onboard.plan.envCatalogPresent': '引擎正按环境变量供模型 "{model}",目录里没有启用的模型;写下第一条目录模型会替换掉环境里的那几只。请先把它们放进目录。',
|
|
213
213
|
'onboard.input.keyInFields': '模型 ID / 根地址里含着 API 钥匙 —— 请检查这几栏。',
|
|
214
|
+
'model.pool.add.duplicate': '「{model}」在这一批里以同一个地址出现了两次 —— 只加一次。',
|
|
215
|
+
'model.pool.add.probeFailed': '供应商拒绝了「{model}」(钥匙、模型名或应答格式不对)—— 改好后再核对一次。',
|
|
216
|
+
'model.pool.add.probeUnverified': '「{model}」还没跟供应商核对过(或核对没做完)—— 请再核对一次,或按「未验证」保存。',
|
|
217
|
+
'model.pool.add.pinMoved': '保存「{name}」时模型列表被改了(它的名字或存的钥匙变了)—— 什么都没加。请再试一次。',
|
|
218
|
+
'model.pool.notFound': '模型列表里没有叫「{name}」的模型。',
|
|
219
|
+
'model.pool.importEnv.notYet': '引擎正在用环境设置里的「{model}」。本应用暂时还不能把环境模型复制进模型列表 —— 请先手动把它们加进来(地址和钥匙),再加别的。',
|
|
220
|
+
'model.pool.tier.badGroup': '档位组名要以字母或数字开头,只能用字母、数字、「.」「_」「-」。',
|
|
221
|
+
'model.pool.tier.noGroup': '没有叫「{group}」的档位组。',
|
|
222
|
+
'model.pool.tier.groupExists': '已经有叫「{group}」的档位组了。',
|
|
223
|
+
'model.pool.channel.badPick': '在本应用从那个来源读到的内容里找不到选中的档案或模型。',
|
|
224
|
+
'model.pool.discover.status': '拉模型列表的请求答了 HTTP {status}。',
|
|
225
|
+
'model.pool.discover.notList': '端点没有答一份模型列表。',
|
|
226
|
+
'model.pool.discover.timeout': '拉模型列表的请求超时了。',
|
|
227
|
+
'model.pool.discover.unreachable': '连不上端点:{cause}',
|
|
214
228
|
'onboard.refusal.input': '模型接入信息不全或形状不对 —— 什么都没保存。',
|
|
215
229
|
'onboard.refusal.probeFailed': '供应商没有接受这套配置 —— 什么都没保存。',
|
|
216
230
|
'onboard.refusal.probeUnverified': '查不了供应商,所以什么都没保存 —— 请重试,或按「未验证」保存。',
|
|
@@ -291,6 +305,7 @@ const ZH = {
|
|
|
291
305
|
'approval.rowUnresumable.askNotSurfaced': '这条待决行(任务 {taskId})这台引擎续不了,所以没有呈成可作答的卡:{sentence}',
|
|
292
306
|
'approval.park.stillParked': '{gate} 这道门没能作答:{reason} —— 这一跑仍停在这条审批上。',
|
|
293
307
|
'approval.park.refusedNotResumable': '{gate} 这道门没能作答:{reason} —— 这台引擎目前续不了这条审批;若这一跑仍停着,请取消它。',
|
|
308
|
+
'approval.park.newerWorker': '{gate} 这道门没能作答:{reason} —— 这一跑仍停在这条审批上,但{wayOut}。',
|
|
294
309
|
'approval.park.resume.card': '{gate} 这道门没能作答:{reason} —— 这一跑仍停在这条审批上:卡再次出现时在卡上决,或取消这一跑。',
|
|
295
310
|
'approval.park.resume.speak': '{gate} 这道门没能作答:{reason} —— 这一跑仍停在这条审批上:发一句话把这张卡重新打开,再在卡上决,或取消这一跑。',
|
|
296
311
|
'approval.park.argsFromModelCall': '这条待决审批的记录里没有将执行的工具入参,下面显示的是对话里模型的原始调用 —— 若它在那之后被改写过(例如被钩子),实际执行的会与所见不同。这张卡不接受编辑后批准:所见入参不是将执行的那一份',
|
|
@@ -433,6 +448,9 @@ const ZH = {
|
|
|
433
448
|
'resume.refusal.park.printHolds': '{head}{configMayReturn}parked 的那条 run 仍占着这个会话({code}):请取消它({cancel}),再把这项工作作为新任务重新提交。{blocked}',
|
|
434
449
|
'resume.refusal.park.interactiveEnded': '{head}引擎已结束那条 parked 的 run,所以这段对话空出来了:请把这项工作作为新消息重新发一次。',
|
|
435
450
|
'resume.refusal.park.interactiveBusy': '{head}{configMayReturn}parked 的那条 run 会一直占着这段对话,直到它被取消。',
|
|
451
|
+
'resume.refusal.park.whyNewerEngine': '它是由比这一版更新的引擎版本 parked 的',
|
|
452
|
+
'resume.refusal.park.interactiveNewerWorker': '{head}{configMayReturn}parked 的那条 run 仍占着这段对话,但{wayOut}。',
|
|
453
|
+
'resume.refusal.park.printNewerWorker': '{head}{configMayReturn}parked 的那条 run 仍占着这个会话({code}),但{wayOut}({cancel})。{blocked}',
|
|
436
454
|
'resume.refusal.park.blockedPrint': 'sema 不会自己把 run {run} 的卡放回屏幕:这一版引擎拒绝续跑它。请取消这条 run({cancel}),再把这项工作作为新任务重新提交。',
|
|
437
455
|
'resume.refusal.park.blockedInteractive': 'sema 不会自己把 run {run} 的卡放回屏幕:这一版引擎拒绝续跑它。要空出这段对话,请发一条消息 —— sema 随后会提出取消那条 run(若卡反而回来了,先作答),之后你就可以把这项工作作为新消息重新发一次。',
|
|
438
456
|
'session.selfHeal.wayOut.interactive': '运行 /clear,在全新会话里继续工作',
|
|
@@ -687,6 +705,21 @@ const ZH = {
|
|
|
687
705
|
'session.hostSettings.styleSafeMode': '安全模式已开启,设置里的输出风格不套用。',
|
|
688
706
|
'session.hostSettings.styleOversize': '你的输出风格这一次请求没有套用:加上内置的产品背景说明后超过了 {limit} 个字符的上限。请缩短风格正文后再用。',
|
|
689
707
|
'session.hostSettings.styleUnreadable': '输出风格的正文读不成文本,这一次请求不套用它。',
|
|
708
|
+
'session.hostSettings.allowKept.managed.inProgress.one': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是你账号的托管策略还没有收到(sema 会继续拉取;收到后 allow 规则就会生效)。请等它收到后再运行一次(deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
709
|
+
'session.hostSettings.allowKept.managed.inProgress.other': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是你账号的托管策略还没有收到(sema 会继续拉取;收到后 allow 规则就会生效)。请等它收到后再运行一次(deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
710
|
+
'session.hostSettings.allowKept.managed.failed.one': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是你账号的托管策略还没有收到(这一次运行不会再拉取;下一次运行会重试)。请再运行一次以重新拉取(deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
711
|
+
'session.hostSettings.allowKept.managed.failed.other': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是你账号的托管策略还没有收到(这一次运行不会再拉取;下一次运行会重试)。请再运行一次以重新拉取(deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
712
|
+
'session.hostSettings.allowKept.managed.unknown.one': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是你账号的托管策略还没有收到。请等它收到后再运行一次(deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
713
|
+
'session.hostSettings.allowKept.managed.unknown.other': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是你账号的托管策略还没有收到。请等它收到后再运行一次(deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
714
|
+
'session.hostSettings.allowKept.generic.one': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是{why};设置文件里的 allow 规则只有在设置读取没有任何问题时才会发出。请先修好报告的设置,再运行一次(这次读取里的 deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
715
|
+
'session.hostSettings.allowKept.generic.other': '这一次运行有 {held} 条 permissions.allow 规则没有发给引擎,原因是{why};设置文件里的 allow 规则只有在设置读取没有任何问题时才会发出。请先修好报告的设置,再运行一次(这次读取里的 deny 与 ask 规则,以及用 --allowedTools 给的规则,仍然照常发出)。',
|
|
716
|
+
'session.hostSettings.allowKept.why.problems': '设置读取报告了问题',
|
|
717
|
+
'session.hostSettings.allowKept.why.problemsWhere': '设置读取报告了问题({where})',
|
|
718
|
+
'session.hostSettings.allowKept.why.counted.one': '设置读取报告了 {count} 个问题',
|
|
719
|
+
'session.hostSettings.allowKept.why.counted.other': '设置读取报告了 {count} 个问题',
|
|
720
|
+
'session.hostSettings.allowKept.why.countedWhere.one': '设置读取报告了 {count} 个问题({where})',
|
|
721
|
+
'session.hostSettings.allowKept.why.countedWhere.other': '设置读取报告了 {count} 个问题({where})',
|
|
722
|
+
'session.hostSettings.allowKept.why.unreadable': '没法检查这一次设置读取是否健康',
|
|
690
723
|
'model.identity.lane.processEnv': '本客户端启动时的环境',
|
|
691
724
|
'model.identity.lane.settingsEnv': '本客户端的设置文件',
|
|
692
725
|
'model.identity.lane.modelCatalogFile': '本地模型目录文件',
|
|
@@ -698,6 +731,24 @@ const ZH = {
|
|
|
698
731
|
'model.identity.catalogAdoption.refused': '{lane}里列了模型,但据报引擎会把这份目录按现状整个拒掉,所以其中任何一个都当不了缺省模型',
|
|
699
732
|
'model.identity.catalogAdoption.notResolvable': '本机引擎没有配置可用来启动的模型名 —— {clause},而且引擎没有模型名就不会启动',
|
|
700
733
|
'model.identity.catalogAdoption.notResolvableWithPartial': '本机引擎没有配置可用来启动的模型名 —— {clause};另外{partial},而且引擎没有模型名就不会启动',
|
|
734
|
+
'model.configGap.head.model': '还没有配置模型',
|
|
735
|
+
'model.configGap.head.gatewayUrl': '没有配置模型网关地址',
|
|
736
|
+
'model.configGap.head.apiKey': '没有配置 API 钥匙',
|
|
737
|
+
'model.configGap.head.anthropicKey': '没有配置 Anthropic 钥匙(ANTHROPIC_API_KEY 或 ANTHROPIC_AUTH_TOKEN)',
|
|
738
|
+
'model.configGap.head.incomplete': '模型配置不完整',
|
|
739
|
+
'model.configGap.item.model': '模型名(MODEL_ID)',
|
|
740
|
+
'model.configGap.item.gatewayUrl': '网关地址(MODEL_GATEWAY_BASEURL)',
|
|
741
|
+
'model.configGap.item.apiKey': '钥匙(MODEL_API_KEY)',
|
|
742
|
+
'model.configGap.item.anthropicKey': '用于 Anthropic 的钥匙(ANTHROPIC_API_KEY 或 ANTHROPIC_AUTH_TOKEN)',
|
|
743
|
+
'model.configGap.lead.one': '{a}还没有配置',
|
|
744
|
+
'model.configGap.lead.two': '{a}和{b}都还没有配置',
|
|
745
|
+
'model.configGap.lead.three': '{a}、{b}和{c}都还没有配置',
|
|
746
|
+
'model.configGap.reason.noModel': '没有模型名,引擎就不会启动',
|
|
747
|
+
'model.configGap.reason.anthropicCatalog.one': '模型目录里唯一启用的条目走 anthropic 通道,所以引擎无法使用它',
|
|
748
|
+
'model.configGap.reason.anthropicCatalog.other': '模型目录里启用的 {count} 个条目都走 anthropic 通道,所以引擎一个也用不了',
|
|
749
|
+
'model.configGap.reason.gatewayCatalog.one': '模型目录里唯一启用的条目没有自己的根地址,所以引擎无法使用它',
|
|
750
|
+
'model.configGap.reason.gatewayCatalog.other': '模型目录里启用的 {count} 个条目都没有自己的根地址,所以引擎一个也用不了',
|
|
751
|
+
'model.configGap.detail.withReason': '{missing} —— {reason}',
|
|
701
752
|
'notice.injectionLane.sentence': '在这台引擎的 {lane} 车道上,工具跑在与引擎不同的机器上,所以随任务发送的{items}也在那里运行、而不是在本机 —— 依赖本机程序或凭据的会在那里失败',
|
|
702
753
|
'notice.injectionLane.item.stdioMcp': '本机 stdio MCP 服务器',
|
|
703
754
|
'notice.injectionLane.item.credentialedMcp': '使用本机凭据的 MCP 服务器',
|
|
@@ -1344,6 +1395,77 @@ const ZH = {
|
|
|
1344
1395
|
'config.mods.session.unarmed': '这个对话在当前引擎上运行过之后,这里会显示 mod',
|
|
1345
1396
|
'config.hooks.roster.unreadable': '读不出这个对话的 hooks 计划',
|
|
1346
1397
|
'config.hooks.roster.unarmed': '这个应用打开这个对话之后,这里会显示 hooks',
|
|
1398
|
+
'config.localConfig.refused.invalidRequest': '这次改动读不成有效的请求 —— 什么都没保存。',
|
|
1399
|
+
'config.localConfig.refused.scopeUnreadable': '配置文件读不出,所以没有覆盖它 —— 什么都没保存。',
|
|
1400
|
+
'config.localConfig.refused.scopeUnwritable': '这项设置不能存进那个文件 —— 存进去也不会生效。什么都没保存。',
|
|
1401
|
+
'config.localConfig.refused.untrustedFolder': '这个文件夹未被信任,它的设置文件带不了这项设置 —— 什么都没保存。',
|
|
1402
|
+
'config.localConfig.refused.policyDenied': '组织的托管设置不允许这次改动 —— 什么都没保存。',
|
|
1403
|
+
'config.localConfig.refused.notFound': '要改的那一项不存在 —— 什么都没保存。',
|
|
1404
|
+
'config.localConfig.refused.alreadyExists': '那一项已经存在 —— 什么都没保存。',
|
|
1405
|
+
'config.localConfig.refused.lockBusy': '另一个程序正在改这份配置 —— 什么都没保存。请稍后再试。',
|
|
1406
|
+
'config.localConfig.refused.lockFailed': '拿不到这份配置文件的写锁(权限或目录问题)—— 文件没有改动。',
|
|
1407
|
+
'config.localConfig.refused.changedDuringWrite': '保存时这份配置被别的程序改了 —— 什么都没保存。请再试一次。',
|
|
1408
|
+
'config.localConfig.refused.writeFailed': '配置文件写不进去 —— 文件没有改动。',
|
|
1409
|
+
'config.localConfig.refused.notWritten': '这次改动没有保存。',
|
|
1410
|
+
'config.localConfig.refused.skillLockedByHigherLayer': '更高优先级的配置定了这个技能的状态;这里改不了。',
|
|
1411
|
+
'config.localConfig.refused.skillManagedByPlugin': '插件技能随插件管理,不在这里改。',
|
|
1412
|
+
'config.localConfig.refused.skillLockedByAuthor': '这个技能自己的文件关掉了模型调用;它的状态在这里改不了。',
|
|
1413
|
+
'config.localConfig.refused.skillNameUnstorable': '设置里存不下这个技能的名字;给它的文件夹或文件改个名再来配置。',
|
|
1414
|
+
'config.localConfig.refused.entryInUse': '这个模型还在被使用(作缺省模型、被某个角色指着,或在旧档位设置里)—— 先把它们改指别的模型。什么都没保存。',
|
|
1415
|
+
'config.localConfig.refused.credentialUnpaired': '这个模型用它现有的钥匙或地址连不上 —— 什么都没保存。',
|
|
1416
|
+
'config.localConfig.refused.envCatalogPresent': '引擎正在用环境里设的模型;在这里加一条会让那几只退出使用。请先导入环境模型 —— 什么都没保存。',
|
|
1417
|
+
'config.localConfig.refused.probeFailed': '供应商表明这次改动里有模型配错了(钥匙、模型名或应答格式)—— 什么都没保存。',
|
|
1418
|
+
'config.localConfig.refused.probeUnverified': '这次改动里有模型还没跟供应商核对过(或核对没做完)—— 什么都没保存。请再核对一次,或按「未验证」保存。',
|
|
1419
|
+
'config.localConfig.unavailable.engineIsRemote': '正在用 Cloud 引擎 —— 本机配置对它不起作用。请先切回本机引擎。',
|
|
1420
|
+
'config.localConfig.unavailable.notSingleUser': '无法确认这台引擎只为你一个人服务,所以不对它使用本机配置。',
|
|
1421
|
+
'config.localConfig.unavailable.configHomeUnpinned': '应用还没有确定用哪个配置目录,所以本机配置既不显示也不修改。',
|
|
1422
|
+
'config.localConfig.unavailable.domainNotHosted': '这台设备上的应用暂时还不提供这类配置修改。',
|
|
1423
|
+
'config.localConfig.unknown.commitUnconfirmed': '不确定这次改动有没有保存 —— 请刷新核对。',
|
|
1424
|
+
'config.localConfig.unknown.reportUnreadable': '保存后应用的回答读不懂,不确定这次改动有没有保存 —— 请刷新核对。',
|
|
1425
|
+
'config.localConfig.applied.nextTurn': '已保存。从下一轮起生效。',
|
|
1426
|
+
'config.localConfig.applied.engineReload': '已保存。引擎下次重读配置时生效,通常在一分钟内。',
|
|
1427
|
+
'config.localConfig.applied.nextEngineStart': '已保存。本机引擎下次启动时生效。',
|
|
1428
|
+
'config.localConfig.applied.unchanged': '本来就是这样 —— 不需要改动。',
|
|
1429
|
+
'config.localConfig.preview.nextTurn': '还没保存。保存后从下一轮起生效。',
|
|
1430
|
+
'config.localConfig.preview.engineReload': '还没保存。保存后,引擎下次重读配置时生效。',
|
|
1431
|
+
'config.localConfig.preview.nextEngineStart': '还没保存。保存后,本机引擎下次启动时生效。',
|
|
1432
|
+
'config.localConfig.preview.unchanged': '本来就是这样 —— 保存也不会改动什么。',
|
|
1433
|
+
'config.localConfig.residue.orphanKeySlot': '留下了一个没有模型使用的钥匙槽;它不起作用。',
|
|
1434
|
+
'config.localConfig.residue.legacyTierGroupsLeft': '旧的档位设置还留在设置文件里;它们已不再被使用。',
|
|
1435
|
+
'config.localConfig.disclosure.decidedBy': '生效的设置来自{layer}。',
|
|
1436
|
+
'config.localConfig.disclosure.shadowed': '这项设置被{layer}盖住了,所以暂时不生效。',
|
|
1437
|
+
'config.localConfig.disclosure.tierGroupOverridden': '旧设置里有几个档位组与{layer}里已有的组重名;已保留{layer}里的,旧的没有拷过去。',
|
|
1438
|
+
'config.localConfig.disclosure.tierGroupOverriddenNamed': '旧设置里这几个档位组与{layer}里已有的组重名;已保留{layer}里的,旧的没有拷过去:{names}。',
|
|
1439
|
+
'config.localConfig.layer.userSettings': '你的用户设置',
|
|
1440
|
+
'config.localConfig.layer.projectSettings': '这个项目的共享设置',
|
|
1441
|
+
'config.localConfig.layer.localSettings': '这个项目的本地设置',
|
|
1442
|
+
'config.localConfig.layer.globalConfig': '应用的状态文件',
|
|
1443
|
+
'config.localConfig.layer.projectMcp': '这个项目的 MCP 服务器文件',
|
|
1444
|
+
'config.localConfig.layer.models': '模型目录',
|
|
1445
|
+
'config.localConfig.layer.deploymentMcp': '引擎的 MCP 服务器声明',
|
|
1446
|
+
'config.localConfig.layer.policySettings': '组织的托管设置',
|
|
1447
|
+
'config.localConfig.layer.other': '另一个设置文件',
|
|
1448
|
+
'config.localConfig.refused.nameUnusable': '这个服务器名不能用——没有保存。',
|
|
1449
|
+
'config.localConfig.refused.nameReserved': '这个服务器名被本应用自带的内置服务器占用——没有保存。',
|
|
1450
|
+
'config.localConfig.refused.mcpEntryInvalid': '这条服务器配置有会让它挂不上的问题——没有保存。',
|
|
1451
|
+
'config.localConfig.refused.ambiguousScope': '同名服务器配置在不止一处;请选定要改哪一处——没有保存。',
|
|
1452
|
+
'config.localConfig.refused.credentialsNeedReentry': '服务器的地址或命令改了,为它存的密钥要重新填写或删除——没有保存。',
|
|
1453
|
+
'config.localConfig.refused.baseConflict': '这台服务器的配置在显示之后被改过——没有保存。请刷新后再试。',
|
|
1454
|
+
'config.mcpServers.notice.shadowed': '{scope} 配置里的同名服务器优先于这一台。',
|
|
1455
|
+
'config.mcpServers.notice.endpointDiffers': '{scope} 配置里的同名服务器指向别处。',
|
|
1456
|
+
'config.mcpServers.notice.deploymentWins': '引擎所在部署自己声明了同名服务器;实际用的是部署那一台。',
|
|
1457
|
+
'config.mcpServers.notice.envMissing': '这些变量没有设置,原样保留:{names}。',
|
|
1458
|
+
'config.mcpServers.notice.narrowingWouldConflict': '其它位置({scopes})为这个名字声明了不同的工具清单;各处一致之前这台服务器不会挂载。',
|
|
1459
|
+
'config.mcpServers.withheld.narrowingConflict': '未挂载:配置这台服务器的几处对工具清单的声明不一致。',
|
|
1460
|
+
'config.mcpServers.withheld.narrowingInvalid': '未挂载:配置这台服务器的某一处把工具清单写坏了。',
|
|
1461
|
+
'config.mcpServers.withheld.layerUnreadable': '未挂载:一份能添加或限制 MCP 服务器的配置文件读不出,修好之前不挂载任何 MCP 服务器。',
|
|
1462
|
+
'config.mcpServers.withheld.policyLocked': '未挂载:组织的托管设置只允许它提供的 MCP 服务器。',
|
|
1463
|
+
'config.mcpServers.problem.nameReserved': '这个名字属于本应用自带的内置服务器。',
|
|
1464
|
+
'config.mcpServers.approvalsWithheld': '{layer} 里写的 MCP 批准不生效,因为这个文件夹未被信任。',
|
|
1465
|
+
'config.mcpServers.probe.removed': '无需测试:这次改动会删除这台服务器。',
|
|
1466
|
+
'config.mcpServers.probe.notActive': '无需测试:改动之后这台服务器不会处于启用状态。',
|
|
1467
|
+
'config.mcpServers.probe.envMissing': '未测试:这台服务器用到的部分变量没有设置。',
|
|
1468
|
+
'config.mcpServers.probe.editRefusal': '未测试:这次改动本身没有被接受。',
|
|
1347
1469
|
'follow.notFollowed.headRun': '这块屏已不再跟着 run {taskId}{reason}{ending}{exit}',
|
|
1348
1470
|
'follow.notFollowed.headTurn': '这块屏已不再跟着这一轮的 run{reason}{ending}{exit}',
|
|
1349
1471
|
'follow.notFollowed.reason.exhaustedDraining': ':服务它的那台引擎实例在它最后一条事件流关闭时正在下线,而这个客户端的重新附着次数已经用完。',
|
|
@@ -1375,7 +1497,9 @@ const ZH = {
|
|
|
1375
1497
|
'approval.planReview.decision.refused': '这次 {decision} 没有生效:引擎拒了它,什么都没改。',
|
|
1376
1498
|
'approval.planReview.decision.cardMissing': '批准一份计划需要附上呈出它的那张卡,这次批准没有附卡。',
|
|
1377
1499
|
'approval.planReview.decision.gateMoved': '这张卡上的计划已不是在等批的那份。',
|
|
1378
|
-
'approval.planReview.decision.gateUntrusted': '
|
|
1500
|
+
'approval.planReview.decision.gateUntrusted': '引擎认不出这道审阅门的编号(服务端那一行记录看起来坏了,请运维检查)。修好之前,在这里批准会被同样拒掉、什么都不改。拒绝或要求重新出计划将不带门编号提交:它不批准任何东西,但计划若在此期间已换,它会作用在那时在等的那份计划上,那份可能还没人看过。也可以取消这项任务。',
|
|
1501
|
+
'approval.planReview.decision.sentWithoutGateId': '这次回答发出时没带门编号。若它生效,作用的是它到达时引擎正在等的那份审阅,不一定是这张卡上的计划。',
|
|
1502
|
+
'approval.planReview.bridge.gateIdMissing': '批准或改写计划需要带上用户看过的那张审阅卡的门编号,这次决断没有带,所以什么都没发。请从审阅卡上决断(卡上带着门编号),或改为拒绝这份计划,或取消这项任务。',
|
|
1379
1503
|
'approval.planReview.option.askAgain.label': '不,要模型重新呈上计划',
|
|
1380
1504
|
'approval.planReview.option.askAgain.description': '不批准;要模型重新呈上计划',
|
|
1381
1505
|
'localEngine.behind.cliUpdate': '本机引擎(版本 {running})比这个 Sema({own})新,这个 Sema 不能在它上面开始新的工作。请先运行 `sema update`,再重新打开这个会话。',
|
|
@@ -1549,6 +1673,47 @@ const ZH = {
|
|
|
1549
1673
|
'localEngine.health.answer.ok': '应答了,状态为 "ok"',
|
|
1550
1674
|
'localEngine.health.answer.notOkHttp': '应答了 HTTP {http}',
|
|
1551
1675
|
'localEngine.health.answer.notOkStatus': '应答了 HTTP {http},但状态不是 "ok"',
|
|
1676
|
+
'centerTrust.refusal.badInput': '这道检查收到了读不出的入参;这是客户端的缺陷,不是你输入的问题。',
|
|
1677
|
+
'centerTrust.refusal.empty': '没有给出地址。',
|
|
1678
|
+
'centerTrust.refusal.tooLong': '地址太长(至多 {addressMax} 个字符,主机部分至多 {authorityMax} 个)。',
|
|
1679
|
+
'centerTrust.refusal.unsafeCharacter': '地址里有空白、控制字符或反斜杠。',
|
|
1680
|
+
'centerTrust.refusal.scheme': '地址必须写全:邀请链接以 `https://` 起头,中心地址以 `http://` 或 `https://` 起头。',
|
|
1681
|
+
'centerTrust.refusal.userinfo': '地址的主机前不许带用户名或密码。',
|
|
1682
|
+
'centerTrust.refusal.percentInHost': '地址的主机部分不许含百分号编码。',
|
|
1683
|
+
'centerTrust.refusal.unparseable': '地址不是能解析的 http(s) URL。',
|
|
1684
|
+
'centerTrust.refusal.query': '地址不许带查询串(`?`)。',
|
|
1685
|
+
'centerTrust.refusal.fragment': '地址不许带片段(`#`);只有邀请链接可以以 `#ca=` 指纹列表结尾。',
|
|
1686
|
+
'centerTrust.refusal.trailingDot': '主机名不许以点结尾。',
|
|
1687
|
+
'centerTrust.refusal.ipNotCanonical': 'IP 地址必须用标准写法(例如 `127.0.0.1`,不用缩写或十六进制写法)。',
|
|
1688
|
+
'centerTrust.refusal.plaintextRemote': '明文 `http://` 只许用于本机;远端中心必须用 `https://`。',
|
|
1689
|
+
'centerTrust.refusal.path': '地址路径不合规:邀请链接不带路径,中心地址的路径不许以 `//` 起头,也不许含 `.` 或 `..` 段。',
|
|
1690
|
+
'centerTrust.refusal.fingerprint': '指纹必须是 `sha256:` 后接 64 位十六进制数字(邀请链接里只收小写)。',
|
|
1691
|
+
'centerTrust.refusal.tooManyFingerprints': '至多给 {fingerprintsMax} 个指纹。',
|
|
1692
|
+
'centerTrust.refusal.prefix': '指纹必须以 `sha256:` 起头。',
|
|
1693
|
+
'centerTrust.refusal.parserUnavailable': '这个客户端在当前平台上读不了证书,所以钉不住中心的证书。',
|
|
1694
|
+
'centerTrust.refusal.bodyTooLarge': '中心的证书应答超过 {bodyMax} 字节。',
|
|
1695
|
+
'centerTrust.refusal.bodyNotJson': '中心的证书应答不是有效的 UTF-8 JSON。',
|
|
1696
|
+
'centerTrust.refusal.bodyShape': '中心的证书应答形状不对。',
|
|
1697
|
+
'centerTrust.refusal.servedCount': '中心必须给出 1 至 {servedMax} 张证书。',
|
|
1698
|
+
'centerTrust.refusal.certificateTooLarge': '中心给出的一张证书超过 {pemMax} 个字符。',
|
|
1699
|
+
'centerTrust.refusal.certificateNotCanonical': '中心给出的一张证书不是恰一张、标准 PEM 形(每行 64 字符、LF 换行)且 DER 长度规范的证书。',
|
|
1700
|
+
'centerTrust.refusal.certificateUnparseable': '中心给出的一张证书在本平台上读不出。',
|
|
1701
|
+
'centerTrust.refusal.servedDuplicate': '中心把同一张证书给了不止一次。',
|
|
1702
|
+
'centerTrust.refusal.namedNotServed': '你给的一个指纹与中心给出的证书都对不上。',
|
|
1703
|
+
'centerTrust.refusal.anchorNotSelfSigned': '你点名的一张证书不是自签的,不能作信任锚钉住。',
|
|
1704
|
+
'centerTrust.refusal.unconfiguredWithFingerprints': '你给了指纹,但中心说它没有配置证书颁发机构。',
|
|
1705
|
+
'centerTrust.refusal.cancelled': '取中心证书已取消。',
|
|
1706
|
+
'centerTrust.refusal.timedOut': '取中心证书超时(每次尝试至多等 {roundSec} 秒)。',
|
|
1707
|
+
'centerTrust.refusal.transportFailed': '连不上中心,取不到它的证书。',
|
|
1708
|
+
'centerTrust.refusal.contentType': '中心的证书应答不是 JSON(内容类型不对)。',
|
|
1709
|
+
'centerTrust.refusal.caUnavailable': '中心报告它的证书颁发机构暂时不可用。',
|
|
1710
|
+
'centerTrust.refusal.endpointMissing': '中心没有提供可钉的证书(可能是较旧的版本)。',
|
|
1711
|
+
'centerTrust.refusal.unexpectedStatus': '中心对证书请求给了意料之外的状态。',
|
|
1712
|
+
'centerTrust.refusal.retryAfterUnusable': '中心要求稍后再试但没给可用的等待时长,客户端已停止。',
|
|
1713
|
+
'centerTrust.refusal.retryAfterTooLong': '中心要求等待超过 {waitCapSec} 秒再试,客户端已停止;请稍后再试。',
|
|
1714
|
+
'centerTrust.refusal.retriesExhausted': '中心一直要求重试;客户端在 {attemptsMax} 次尝试后停止。',
|
|
1715
|
+
'centerTrust.refusal.budgetExhausted': '取中心证书用完了 {budgetSec} 秒的时间预算。',
|
|
1716
|
+
'centerTrust.refusal.unknown': '中心的证书核验没有通过。',
|
|
1552
1717
|
};
|
|
1553
1718
|
export const ZH_MESSAGES = Object.freeze(ZH);
|
|
1554
1719
|
export const TERM_SLOTS = Object.freeze({
|
|
@@ -1619,6 +1784,9 @@ export const TERM_SLOTS = Object.freeze({
|
|
|
1619
1784
|
'resume.refusal.park.printHolds': ['parked', 'run'],
|
|
1620
1785
|
'resume.refusal.park.interactiveEnded': ['parked', 'run'],
|
|
1621
1786
|
'resume.refusal.park.interactiveBusy': ['parked', 'run'],
|
|
1787
|
+
'resume.refusal.park.whyNewerEngine': ['parked'],
|
|
1788
|
+
'resume.refusal.park.interactiveNewerWorker': ['parked', 'run'],
|
|
1789
|
+
'resume.refusal.park.printNewerWorker': ['parked', 'run'],
|
|
1622
1790
|
'resume.refusal.park.blockedPrint': ['run'],
|
|
1623
1791
|
'resume.refusal.park.blockedInteractive': ['run'],
|
|
1624
1792
|
'approval.askPark.autoReopenBlocked.policyInteractive': ['run'],
|
|
@@ -1730,4 +1898,12 @@ export const TERM_SLOTS = Object.freeze({
|
|
|
1730
1898
|
'notice.failure.settings.safety': ['turn'],
|
|
1731
1899
|
'notice.wireRefusal.hostPosture.writeFace': ['bypassPermissions'],
|
|
1732
1900
|
'notice.wireRefusal.hostPosture.both': ['bypassPermissions'],
|
|
1901
|
+
'session.hostSettings.allowKept.managed.inProgress.one': ['permissions.allow', '--allowedTools'],
|
|
1902
|
+
'session.hostSettings.allowKept.managed.inProgress.other': ['permissions.allow', '--allowedTools'],
|
|
1903
|
+
'session.hostSettings.allowKept.managed.failed.one': ['permissions.allow', '--allowedTools'],
|
|
1904
|
+
'session.hostSettings.allowKept.managed.failed.other': ['permissions.allow', '--allowedTools'],
|
|
1905
|
+
'session.hostSettings.allowKept.managed.unknown.one': ['permissions.allow', '--allowedTools'],
|
|
1906
|
+
'session.hostSettings.allowKept.managed.unknown.other': ['permissions.allow', '--allowedTools'],
|
|
1907
|
+
'session.hostSettings.allowKept.generic.one': ['permissions.allow', '--allowedTools'],
|
|
1908
|
+
'session.hostSettings.allowKept.generic.other': ['permissions.allow', '--allowedTools'],
|
|
1733
1909
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -100,7 +100,6 @@ export * from './postureKnob.js';
|
|
|
100
100
|
export * from './engineIdentity.js';
|
|
101
101
|
export { readEngineHealthFacts } from './engineHealthFacts.js';
|
|
102
102
|
export { readModsDeploymentPackages, type ModsDeploymentPackagesReading } from './engineHealthFacts.js';
|
|
103
|
-
export { readEngineHealthStore, type EngineHealthStoreReading } from './engineHealthFacts.js';
|
|
104
103
|
export type { EngineHealthFacts, EngineHealthCenterFacts, EngineHealthAuthFacts, EngineHealthDrainingFacts, EngineHealthLeaseFacts, EngineHealthFirstAttachFacts, EngineHealthInflightFacts } from './engineHealthFacts.js';
|
|
105
104
|
export { localEngineAnchorOf, localEnginePlanDriftOf, judgeLocalEngine, localEngineLaneOf, localEngineVerdictSentence } from './localEngineJudge.js';
|
|
106
105
|
export type { LocalEngineAnchorReading, LocalEnginePlanFingerprint, LocalEnginePlanDrift, LocalEngineAnchorPidState, LocalEngineDataRootRelation, LocalEngineJudgeInput, LocalEngineRef, LocalEngineAnchoredProcess, LocalEngineVerdict, LocalEngineUpgradePath, } from './localEngineJudge.js';
|
|
@@ -151,6 +150,8 @@ export { preemptReceiptLine, type PreemptOutcome, type PreemptParkedStatus } fro
|
|
|
151
150
|
export { readSteerReceipt, type SteerReceiptReading } from './steerReceipt.js';
|
|
152
151
|
export * from './sseIdleTriage.js';
|
|
153
152
|
export * from './engineWireSdk.js';
|
|
153
|
+
export { engineCredentialReleaseVerdictOf, makeLocalEngineWireClient, ENGINE_CREDENTIAL_WITHHOLD_REASONS } from './engineCredentialRelease.js';
|
|
154
|
+
export type { LocalEngineIdentityVerdict, EngineCredentialTransport, EngineCredentialReleaseInput, EngineCredentialWithholdReason, EngineCredentialReleaseVerdict, LocalEngineWireClientConfig, LocalEngineWireClient, } from './engineCredentialRelease.js';
|
|
154
155
|
export * from './classifierVerdictWire.js';
|
|
155
156
|
export { stripSystemReminderBlocks, unwrapSystemReminder } from './systemReminderTag.js';
|
|
156
157
|
export { findSystemReminderOpenTag, type SystemReminderOpenTagSpan } from './systemReminderTag.js';
|
|
@@ -194,6 +195,7 @@ export * from './webSearchWireCaps.js';
|
|
|
194
195
|
export * from './liveModelCatalog.js';
|
|
195
196
|
export * from './modelBudgetRule.js';
|
|
196
197
|
export * from './modelIdentityResolvability.js';
|
|
198
|
+
export * from './modelConfigGapNotice.js';
|
|
197
199
|
export * from './sessionModelLatch.js';
|
|
198
200
|
export * from './modelSwitchFallback.js';
|
|
199
201
|
export * from './effortWire.js';
|
|
@@ -396,7 +398,7 @@ export * from './mcpStatusSupersetKeys.js';
|
|
|
396
398
|
export type { ErrorSupplementRole, ErrorSupplementReader } from './errorSupplementRoles.js';
|
|
397
399
|
export * from './hitl/persistedRulesWire.js';
|
|
398
400
|
export * from './hitl/localAllowRule.js';
|
|
399
|
-
export { LOCAL_ALLOW_NOT_REDEEMABLE_REASONS, LOCAL_ALLOW_UNKNOWN_CAUSES, LOCAL_ALLOW_REDEMPTION_REFUSALS, LOCAL_ALLOW_REDEMPTION_UNAVAILABLE_CAUSES, LOCAL_ALLOW_REDEMPTION_UNKNOWN_CAUSES, localAllowRedeemability, redeemReadOnlyRuleOffer, type LocalAllowNotRedeemableReason, type LocalAllowUnknownCause, type LocalAllowRedeemability, type LocalAllowOfferedFacts, type LocalAllowRedeemabilityInput, type LocalAllowRedemptionRefusal, type LocalAllowRedemptionUnavailableCause, type LocalAllowRedemptionUnknownCause, type LocalAllowRedemptionReceipt, type LocalAllowRedemptionFacade, type ReadOnlyRuleOfferRedemption, } from './hitl/localAllowRedemption.js';
|
|
401
|
+
export { LOCAL_ALLOW_NOT_REDEEMABLE_REASONS, LOCAL_ALLOW_UNKNOWN_CAUSES, LOCAL_ALLOW_REDEMPTION_REFUSALS, LOCAL_ALLOW_REDEMPTION_UNAVAILABLE_CAUSES, LOCAL_ALLOW_REDEMPTION_UNKNOWN_CAUSES, localAllowRedeemability, redeemReadOnlyRuleOffer, type LocalAllowNotRedeemableReason, type LocalAllowUnknownCause, type LocalAllowRedeemability, type LocalAllowOfferedFacts, type LocalAllowDeclaredFacts, type LocalAllowRedeemabilityInput, type LocalAllowRedemptionRefusal, type LocalAllowRedemptionUnavailableCause, type LocalAllowRedemptionUnknownCause, type LocalAllowRedemptionReceipt, type LocalAllowRedemptionFacade, type ReadOnlyRuleOfferRedemption, } from './hitl/localAllowRedemption.js';
|
|
400
402
|
export * from './hitl/sessionPolicyWire.js';
|
|
401
403
|
export * from './hitl/sessionPolicyDeliverable.js';
|
|
402
404
|
export { observedSessionRulesNamespaceForms } from './sessionRulesNamespaceFormsCapability.js';
|
|
@@ -409,7 +411,7 @@ export { hasLedgerPositionKey } from './hitl/gateLedger.js';
|
|
|
409
411
|
export { durableSeqOf } from './hitl/gateLedger.js';
|
|
410
412
|
export { MODE_ARBITRATION, automaticAnswerVerdict, mandatedApprovalDetailOf, crossBoundaryTaintOf, crossBoundaryTaintWayOutOf, permissionRequestHookScope, type CrossBoundaryTaintReading, type AutomaticAnswerLane, type AutomaticAnswerAskFace, type AutomaticAnswerFacts, type AutomaticAnswerRoad, type AutomaticAnswerUnknownWhy, type AutomaticAnswerVerdict, type PermissionRequestHookScope, } from './hitl/automaticAnswerVerdict.js';
|
|
411
413
|
export { standingRowsOf, type StandingRows, type StandingRowsWhy, type StandingRowWhy, type StandingPersistentRow, type StandingRowsHostFacts, rememberOfferable, localAllowRuleEnforceable, type RememberOffer, type RememberOfferable, type LocalAllowRuleEnforcement, } from './hitl/standingRows.js';
|
|
412
|
-
export { classifyDecisionRefusal, liveAskPendingReading, decisionRefusalClosesOut, undeliverableDecisionContent, decideRowUnrevivableNotice, decisionRefusalAskReading, readDecisionRefusalReading, type DecisionRefusalReading, type RefusalRouteContext, type DecisionRefusalAskReading, type DecisionRefusalStanding, type DecisionRefusalClassified, type DecisionRefusalConflict, type LiveAskPendingReading, type UndeliverableDecisionEnd, type UndeliverableDecisionFacts, } from './hitl/decisionRefusal.js';
|
|
414
|
+
export { classifyDecisionRefusal, liveAskPendingReading, decisionRefusalClosesOut, undeliverableDecisionContent, decideRowUnrevivableNotice, type DecisionRefusalWayOut, decisionRefusalAskReading, readDecisionRefusalReading, type DecisionRefusalReading, type RefusalRouteContext, type DecisionRefusalAskReading, type DecisionRefusalStanding, type DecisionRefusalClassified, type DecisionRefusalConflict, type LiveAskPendingReading, type UndeliverableDecisionEnd, type UndeliverableDecisionFacts, } from './hitl/decisionRefusal.js';
|
|
413
415
|
export { decisionGrantChangedContent } from './hitl/decisionConflict.js';
|
|
414
416
|
export { decideFailureNote } from './decideFailureNote.js';
|
|
415
417
|
export { decisionAnswerInvalidContent } from './hitl/decisionConflict.js';
|
|
@@ -460,8 +462,28 @@ export { devicesFaceOf, devicesWritesAllowed, devicesFaceDetail } from './device
|
|
|
460
462
|
export type { DevicesFace, DevicesFaceInput, DevicesFaceUnavailableWhy } from './devicesFace.js';
|
|
461
463
|
export { cloudLoginFailureOf, cloudLoginFailureText, engineTargetRefusalText, seatMcpReadingOf, watchEngineTarget } from './engineTargetSeat.js';
|
|
462
464
|
export type { CloudLoginFailureContext, EngineTargetReading, EngineTargetWatch } from './engineTargetSeat.js';
|
|
463
|
-
export { KEY_SLOT_PREFIX, keyEnvNameForEntry, onboardBaseUrlProblem, onboardRefusalText,
|
|
464
|
-
export type { OnboardJsonObject, OnboardPlanEntry, OnboardProbeBodyReader, OnboardProbeDeps, OnboardProbeFetch, OnboardProbeRequestInit, OnboardProbeResponse, OnboardProbeTarget, OnboardWritePlan, OnboardWritePlanInput, OnboardWriteVerdict, } from './model/onboardJudgement.js';
|
|
465
|
+
export { KEY_SLOT_PREFIX, keyEnvNameForEntry, onboardBaseUrlProblem, onboardRefusalText, onboardWriteVerdict, poolEntryNameOf, probeModelEndpoint, discoverEndpointModels, } from './model/onboardJudgement.js';
|
|
466
|
+
export type { OnboardJsonObject, OnboardPlanEntry, OnboardProbeBodyReader, OnboardProbeDeps, OnboardProbeFetch, OnboardProbeRequestInit, OnboardProbeResponse, OnboardProbeTarget, OnboardWritePlan, OnboardWritePlanInput, OnboardWriteVerdict, OnboardDiscoveryTarget, } from './model/onboardJudgement.js';
|
|
467
|
+
export { LOCAL_CONFIG_DOCUMENTS, globalStateFilePathOf } from './localConfig/documents.js';
|
|
468
|
+
export type { LocalConfigDocument, LocalConfigDocumentName, LocalConfigWritableDocumentName, GlobalStateFilePlace } from './localConfig/documents.js';
|
|
469
|
+
export { LOCAL_CONFIG_UNREADABLE_CAUSES, LOCAL_CONFIG_REFUSALS, LOCAL_CONFIG_NOT_WRITTEN_CAUSES, LOCAL_CONFIG_UNAVAILABLE_CAUSES, LOCAL_CONFIG_UNKNOWN_CAUSES, LOCAL_CONFIG_APPLIES_ON, LOCAL_CONFIG_RESIDUES, LOCAL_CONFIG_STEP_ROLES, LOCAL_CONFIG_WRITE_PRECONDITIONS, LOCAL_CONFIG_DISCLOSURE_KINDS, localConfigAccess, applyLocalConfigIntent, previewLocalConfigIntent, localConfigReceiptSentence, localConfigResidueSentence, localConfigDisclosureSentence, } from './localConfig/kernel.js';
|
|
470
|
+
export type { LocalConfigUnreadableCause, LocalConfigFileReading, LocalConfigFilesReading, LocalConfigRefusal, LocalConfigNotWrittenCause, LocalConfigUnavailableCause, LocalConfigUnknownCause, LocalConfigAppliesOn, LocalConfigResidue, LocalConfigStepRole, LocalConfigReceipt, LocalConfigPreview, LocalConfigWritePrecondition, LocalConfigDisclosureKind, LocalConfigDisclosure, LocalConfigHostFacts, LocalConfigAccessRequest, LocalConfigAccess, LocalConfigTransactStep, LocalConfigFileWrite, LocalConfigCommitReport, LocalConfigStorePort, LocalConfigStepInput, LocalConfigStepPlan, LocalConfigStep, LocalConfigIntent, } from './localConfig/kernel.js';
|
|
471
|
+
export { MODEL_POOL_EDIT_KINDS, MODEL_POOL_CHANNEL_SOURCES, MODEL_POOL_CREDENTIAL_KINDS, MODEL_POOL_COMPLETENESS, MODEL_POOL_MAX_BATCH, MODEL_POOL_PROBE_STATES, MODEL_POOL_DEFAULT_KEEP_REASONS, poolWritePlan, modelPoolIntentOf, editModelPoolWith, modelPoolViewOf, effectiveDefaultModelOf, defaultModelChoiceOf, modelPoolRowEditOf, channelProfilesOf, modelPoolEditOfSeat, onboardWritePlan, } from './localConfig/modelPool.js';
|
|
472
|
+
export type { ModelPoolEditKind, ModelPoolChannelSource, ModelPoolCredentialKind, ModelPoolCompleteness, ModelPoolProbeState, ModelPoolDefaultKeepReason, DefaultModelBatchRow, DefaultModelChoice, ModelPoolProbeReading, ModelPoolEntrySpec, ModelPoolChannelProfile, ModelPoolChannelData, ModelPoolModelRow, ModelPoolRoleRow, ModelPoolRowAction, ModelPoolEdit, ModelPoolProblem, ModelPoolPlannedEntry, ModelPoolPlan, EffectiveDefaultModel, EffectiveDefaultModelInput, ModelPoolIntentProbe, ModelPoolEditOutcome, ModelPoolViewEntry, ModelPoolViewTierGroup, ModelPoolProvider, ModelPoolView, ModelPoolReadings, } from './localConfig/modelPool.js';
|
|
473
|
+
export { LOCAL_CONFIG_WRITE_INTENTS, SETTINGS_WRITE_KEYS, settingsWritePlan, settingsWriteStep } from './localConfig/settingsWrite.js';
|
|
474
|
+
export type { LocalConfigWriteIntentRow, LocalConfigWriteIntent, SettingsWriteIntent, SettingsWriteEdit, SettingsWritePlanInput, SettingsWritePlan, SettingsWriteStepInput, } from './localConfig/settingsWrite.js';
|
|
475
|
+
export { MCP_SERVER_SCOPES, MCP_SERVER_ROW_STATES, MCP_SERVER_WITHHELD_CAUSES, mcpProjectChainOf, mcpPathWithinFence, expandMcpServerEntry, mcpServersReport } from './localConfig/mcp/servers.js';
|
|
476
|
+
export type { McpServerScope, McpServerFileReading, McpServerFilesReading, McpServerEnvFacts, McpServerHostFacts, McpSupplementarySlot, McpServerSupplementarySources, McpServerRowScope, McpServerRowState, McpServerWithheldCause, McpServerApprovedBy, McpServerSourceFile, McpServerProblem, McpServerRow, McpDeploymentRows, McpServersReport, McpExpansion, } from './localConfig/mcp/servers.js';
|
|
477
|
+
export { MCP_SERVER_EDIT_OPS, applyMcpServerEdit } from './localConfig/mcp/edit.js';
|
|
478
|
+
export type { McpSecretMapEdit, McpSecretKeep, McpServerEdit, McpServerEditOp, McpServerEditContext, McpServerRefusalDetail, McpServerRefusalWord, McpServerEditPlan, McpServerEditNotice, McpServerProbeTarget, McpServerEditOutcome, } from './localConfig/mcp/edit.js';
|
|
479
|
+
export { mcpServerReportView, mcpServerEditOutcomeView, mcpServerEditSentence, probeMcpServerEdit, checkMcpServerEditRequest, checkMcpServerReportView, checkMcpServerEditOutcomeView, checkMcpServerProbeView, } from './localConfig/mcp/views.js';
|
|
480
|
+
export type { McpArgView, McpSecretMemberView, McpServerEntryView, McpServerProblemView, McpServerRowView, McpServerReportView, McpServerRefusalDetailView, McpServerEditPlanView, McpServerEditNoticeView, McpServerEditOutcomeView, McpServerProbeView, McpViewCheck, McpApprovalWithheldView, McpImportedView, McpSkippedView, McpProbeServerRowView, } from './localConfig/mcp/views.js';
|
|
481
|
+
export { SKILL_OVERRIDE_STATES, SKILL_ORIGINS, SKILL_OVERRIDE_LAYERS, SKILL_OVERRIDE_DECIDERS, SKILL_OVERRIDE_LOCK_SOURCES, skillOverrideEffectiveOf, skillOverrideLockOf, } from './skillOverrideChain.js';
|
|
482
|
+
export type { SkillOverrideState, SkillOrigin, SkillOverrideLayer, SkillOverrideDecider, SkillOverrideLockSource, SkillSyncedName, SkillOverrideSubject, SkillOverrideLayers, SkillOverrideEffective, SkillOverrideLock, } from './skillOverrideChain.js';
|
|
483
|
+
export { SKILL_ROOT_LAYERS, SKILL_ROOT_KINDS, SKILLS_VIEW_EXCLUDED_REASONS, SKILLS_VIEW_LAYERS, SKILL_OVERRIDE_SCOPES } from './localConfig/skillsWords.js';
|
|
484
|
+
export type { SkillRootLayer, SkillRootKind, SkillsViewExcludedReason, SkillsViewLayer, SkillOverrideScope } from './localConfig/skillsWords.js';
|
|
485
|
+
export { skillRootsOf, skillsViewOf, skillsSetEditOf, skillsClearEditOf, skillOverrideWritePlan, skillCreatePlan, skillRemovePlan, } from './localConfig/skills.js';
|
|
486
|
+
export type { SkillRootHostFacts, SkillRoot, SkillRootsTable, SkillListing, SkillFrontmatter, SkillsViewEditable, SkillsViewEntryBase, SkillsViewAppliedEntry, SkillsViewExcludedEntry, SkillsViewEntry, SkillsView, SkillsEdit, SkillOverrideWriteContext, SkillOverrideWritePlan, SkillCreateIntent, SkillRemoveIntent, SkillFileEditPlan, } from './localConfig/skills.js';
|
|
465
487
|
export * from './agentSession/contract.js';
|
|
466
488
|
export * from './agentSession/backgroundView.js';
|
|
467
489
|
export { readAssistantInbox } from './assistantInbox.js';
|
|
@@ -469,6 +491,7 @@ export type { AssistantInboxVerb, AssistantInboxEntry, AssistantInboxReading, As
|
|
|
469
491
|
export { checkpointRowVerdictOf } from './checkpointRowVerdict.js';
|
|
470
492
|
export type { CheckpointRowVerdictReading } from './checkpointRowVerdict.js';
|
|
471
493
|
export { checkpointRowBarOf, checkpointRowBarSentence } from './checkpointRowVerdict.js';
|
|
494
|
+
export { decisionRefusalWayOutContent } from './checkpointRowVerdict.js';
|
|
472
495
|
export type { CheckpointRowBar } from './checkpointRowVerdict.js';
|
|
473
496
|
export { parkedUnresumableRowsOf, parkedUnresumableLine } from './hitl/parkedUnresumable.js';
|
|
474
497
|
export type { ParkedUnresumableRow } from './hitl/parkedUnresumable.js';
|
|
@@ -536,3 +559,5 @@ export type { SessionEngineRepointResult } from './sessionEngine.js';
|
|
|
536
559
|
export { PENDING_USER_ROW_ID_PREFIX, pendingUserRowIdOf, pendingUserRowUuidOf, isPendingUserRowId } from './pendingUserRow.js';
|
|
537
560
|
export { BUILTIN_OUTPUT_STYLES, builtinOutputStyleOf } from './builtinOutputStyles.js';
|
|
538
561
|
export type { BuiltinOutputStyle, BuiltinOutputStyleName } from './builtinOutputStyles.js';
|
|
562
|
+
export { CA_PIN_LIMITS, readCenterAddress, trustOriginOf, caFingerprintsOf, caFingerprintOfDer, caFingerprintDisplay, readCaBootstrapBody, caBootstrapOpen, caBootstrapStep, caPinRefusalSentence, } from './consoleCaPin.js';
|
|
563
|
+
export type { CenterAddressSeat, CenterAddressRefusal, CenterAddressReading, TrustOriginRefusal, TrustOriginReading, CaFingerprintsRefusal, CaFingerprintsReading, CaCertificateParser, CaCertificateFacts, CaBootstrapRequest, CaServedCertificate, CaBootstrapRefusal, CaBootstrapReading, CaBootstrapPhase, CaBootstrapStopReason, CaBootstrapStop, CaBootstrapDecision, CaBootstrapState, CaBootstrapEvent, CaBootstrapStep, CaPinRefusal, } from './consoleCaPin.js';
|
package/dist/index.js
CHANGED
|
@@ -84,7 +84,6 @@ export * from './postureKnob.js';
|
|
|
84
84
|
export * from './engineIdentity.js';
|
|
85
85
|
export { readEngineHealthFacts } from './engineHealthFacts.js';
|
|
86
86
|
export { readModsDeploymentPackages } from './engineHealthFacts.js';
|
|
87
|
-
export { readEngineHealthStore } from './engineHealthFacts.js';
|
|
88
87
|
export { localEngineAnchorOf, localEnginePlanDriftOf, judgeLocalEngine, localEngineLaneOf, localEngineVerdictSentence } from './localEngineJudge.js';
|
|
89
88
|
export { countClientRegistry, fleetBackgroundLiveOf, localEngineSelfOf, localEngineRegistryStatusOf, localEngineIdle, localEngineDemandOf, localEngineExitFate, localEngineExitFateSentence, } from './localEngineOccupancy.js';
|
|
90
89
|
export { LOCAL_ENGINE_SWAP_CAUSES, localEngineSwapAutoable, engineSwapCardOf, engineSwapCardText } from './localEngineSwapCard.js';
|
|
@@ -119,6 +118,7 @@ export { preemptReceiptLine } from './preemptWire.js';
|
|
|
119
118
|
export { readSteerReceipt } from './steerReceipt.js';
|
|
120
119
|
export * from './sseIdleTriage.js';
|
|
121
120
|
export * from './engineWireSdk.js';
|
|
121
|
+
export { engineCredentialReleaseVerdictOf, makeLocalEngineWireClient, ENGINE_CREDENTIAL_WITHHOLD_REASONS } from './engineCredentialRelease.js';
|
|
122
122
|
export * from './classifierVerdictWire.js';
|
|
123
123
|
export { stripSystemReminderBlocks, unwrapSystemReminder } from './systemReminderTag.js';
|
|
124
124
|
export { findSystemReminderOpenTag } from './systemReminderTag.js';
|
|
@@ -157,6 +157,7 @@ export * from './webSearchWireCaps.js';
|
|
|
157
157
|
export * from './liveModelCatalog.js';
|
|
158
158
|
export * from './modelBudgetRule.js';
|
|
159
159
|
export * from './modelIdentityResolvability.js';
|
|
160
|
+
export * from './modelConfigGapNotice.js';
|
|
160
161
|
export * from './sessionModelLatch.js';
|
|
161
162
|
export * from './modelSwitchFallback.js';
|
|
162
163
|
export * from './effortWire.js';
|
|
@@ -356,12 +357,23 @@ export { mcpToolTogglesToExcludeTools } from './mcpToolToggles.js';
|
|
|
356
357
|
export { readThinkingLatch, writeThinkingLatch, thinkingLatchView, thinkingLatchSentence, thinkingLatchRowWordOf, readSeatThinkingLatch } from './thinkingLatch.js';
|
|
357
358
|
export { devicesFaceOf, devicesWritesAllowed, devicesFaceDetail } from './devicesFace.js';
|
|
358
359
|
export { cloudLoginFailureOf, cloudLoginFailureText, engineTargetRefusalText, seatMcpReadingOf, watchEngineTarget } from './engineTargetSeat.js';
|
|
359
|
-
export { KEY_SLOT_PREFIX, keyEnvNameForEntry, onboardBaseUrlProblem, onboardRefusalText,
|
|
360
|
+
export { KEY_SLOT_PREFIX, keyEnvNameForEntry, onboardBaseUrlProblem, onboardRefusalText, onboardWriteVerdict, poolEntryNameOf, probeModelEndpoint, discoverEndpointModels, } from './model/onboardJudgement.js';
|
|
361
|
+
export { LOCAL_CONFIG_DOCUMENTS, globalStateFilePathOf } from './localConfig/documents.js';
|
|
362
|
+
export { LOCAL_CONFIG_UNREADABLE_CAUSES, LOCAL_CONFIG_REFUSALS, LOCAL_CONFIG_NOT_WRITTEN_CAUSES, LOCAL_CONFIG_UNAVAILABLE_CAUSES, LOCAL_CONFIG_UNKNOWN_CAUSES, LOCAL_CONFIG_APPLIES_ON, LOCAL_CONFIG_RESIDUES, LOCAL_CONFIG_STEP_ROLES, LOCAL_CONFIG_WRITE_PRECONDITIONS, LOCAL_CONFIG_DISCLOSURE_KINDS, localConfigAccess, applyLocalConfigIntent, previewLocalConfigIntent, localConfigReceiptSentence, localConfigResidueSentence, localConfigDisclosureSentence, } from './localConfig/kernel.js';
|
|
363
|
+
export { MODEL_POOL_EDIT_KINDS, MODEL_POOL_CHANNEL_SOURCES, MODEL_POOL_CREDENTIAL_KINDS, MODEL_POOL_COMPLETENESS, MODEL_POOL_MAX_BATCH, MODEL_POOL_PROBE_STATES, MODEL_POOL_DEFAULT_KEEP_REASONS, poolWritePlan, modelPoolIntentOf, editModelPoolWith, modelPoolViewOf, effectiveDefaultModelOf, defaultModelChoiceOf, modelPoolRowEditOf, channelProfilesOf, modelPoolEditOfSeat, onboardWritePlan, } from './localConfig/modelPool.js';
|
|
364
|
+
export { LOCAL_CONFIG_WRITE_INTENTS, SETTINGS_WRITE_KEYS, settingsWritePlan, settingsWriteStep } from './localConfig/settingsWrite.js';
|
|
365
|
+
export { MCP_SERVER_SCOPES, MCP_SERVER_ROW_STATES, MCP_SERVER_WITHHELD_CAUSES, mcpProjectChainOf, mcpPathWithinFence, expandMcpServerEntry, mcpServersReport } from './localConfig/mcp/servers.js';
|
|
366
|
+
export { MCP_SERVER_EDIT_OPS, applyMcpServerEdit } from './localConfig/mcp/edit.js';
|
|
367
|
+
export { mcpServerReportView, mcpServerEditOutcomeView, mcpServerEditSentence, probeMcpServerEdit, checkMcpServerEditRequest, checkMcpServerReportView, checkMcpServerEditOutcomeView, checkMcpServerProbeView, } from './localConfig/mcp/views.js';
|
|
368
|
+
export { SKILL_OVERRIDE_STATES, SKILL_ORIGINS, SKILL_OVERRIDE_LAYERS, SKILL_OVERRIDE_DECIDERS, SKILL_OVERRIDE_LOCK_SOURCES, skillOverrideEffectiveOf, skillOverrideLockOf, } from './skillOverrideChain.js';
|
|
369
|
+
export { SKILL_ROOT_LAYERS, SKILL_ROOT_KINDS, SKILLS_VIEW_EXCLUDED_REASONS, SKILLS_VIEW_LAYERS, SKILL_OVERRIDE_SCOPES } from './localConfig/skillsWords.js';
|
|
370
|
+
export { skillRootsOf, skillsViewOf, skillsSetEditOf, skillsClearEditOf, skillOverrideWritePlan, skillCreatePlan, skillRemovePlan, } from './localConfig/skills.js';
|
|
360
371
|
export * from './agentSession/contract.js';
|
|
361
372
|
export * from './agentSession/backgroundView.js';
|
|
362
373
|
export { readAssistantInbox } from './assistantInbox.js';
|
|
363
374
|
export { checkpointRowVerdictOf } from './checkpointRowVerdict.js';
|
|
364
375
|
export { checkpointRowBarOf, checkpointRowBarSentence } from './checkpointRowVerdict.js';
|
|
376
|
+
export { decisionRefusalWayOutContent } from './checkpointRowVerdict.js';
|
|
365
377
|
export { parkedUnresumableRowsOf, parkedUnresumableLine } from './hitl/parkedUnresumable.js';
|
|
366
378
|
export { checkpointRequirementsDamagedOf } from './checkpointRowVerdict.js';
|
|
367
379
|
export { READ_CREDENTIAL_NOT_ACCEPTED_NOTICE, isReadCredentialRefusal } from './readCredentialRefusal.js';
|
|
@@ -403,3 +415,4 @@ export { repointEngine, deviceHelloReadingOf, engineRepointVerdictOf, engineRepo
|
|
|
403
415
|
export { repointSessionEngine } from './sessionEngine.js';
|
|
404
416
|
export { PENDING_USER_ROW_ID_PREFIX, pendingUserRowIdOf, pendingUserRowUuidOf, isPendingUserRowId } from './pendingUserRow.js';
|
|
405
417
|
export { BUILTIN_OUTPUT_STYLES, builtinOutputStyleOf } from './builtinOutputStyles.js';
|
|
418
|
+
export { CA_PIN_LIMITS, readCenterAddress, trustOriginOf, caFingerprintsOf, caFingerprintOfDer, caFingerprintDisplay, readCaBootstrapBody, caBootstrapOpen, caBootstrapStep, caPinRefusalSentence, } from './consoleCaPin.js';
|
|
@@ -9,6 +9,7 @@ export interface LiveModelInfo {
|
|
|
9
9
|
routePairing?: string;
|
|
10
10
|
supportedEffortLevels?: string[];
|
|
11
11
|
contextWindow?: number;
|
|
12
|
+
contextWindowSource?: string;
|
|
12
13
|
maxOutputTokens?: number;
|
|
13
14
|
atMentionable?: boolean;
|
|
14
15
|
compat?: LiveModelCompat;
|
|
@@ -24,6 +25,7 @@ export interface LiveModelCatalog {
|
|
|
24
25
|
candidateRejected?: unknown;
|
|
25
26
|
modelPlane?: {} | null;
|
|
26
27
|
aliases?: {} | null;
|
|
28
|
+
unreadableRows?: number;
|
|
27
29
|
}
|
|
28
30
|
export declare function setLiveModelCatalog(next: LiveModelCatalog | null): void;
|
|
29
31
|
export declare function setLiveModelCatalogRefresher(fn: (() => Promise<LiveModelCatalog | null>) | null): void;
|
|
@@ -177,6 +179,7 @@ export interface LiveModelRowView {
|
|
|
177
179
|
readonly provider?: string;
|
|
178
180
|
readonly reasoning?: boolean;
|
|
179
181
|
readonly contextWindow?: number;
|
|
182
|
+
readonly contextWindowSource?: ContextWindowSource;
|
|
180
183
|
readonly maxOutputTokens?: number;
|
|
181
184
|
readonly isDefault: boolean;
|
|
182
185
|
readonly vision: ImageVision;
|
|
@@ -185,5 +188,6 @@ export interface LiveModelRowView {
|
|
|
185
188
|
readonly atMention: AtMentionReading;
|
|
186
189
|
readonly compat: ModelCompatReading;
|
|
187
190
|
}
|
|
191
|
+
export type ContextWindowSource = 'declared' | 'assumed' | 'unknown';
|
|
188
192
|
export declare function liveModelRowsOf(catalog?: LiveModelCatalog | null): readonly LiveModelRowView[] | null;
|
|
189
193
|
export {};
|
package/dist/liveModelCatalog.js
CHANGED
|
@@ -179,6 +179,9 @@ function droppedDisabledNamed(dropped, name) {
|
|
|
179
179
|
return dropped.entries.some((e) => e.identity !== undefined && e.identity.enabled === false && (e.identity.name === name || e.identity.id === name));
|
|
180
180
|
}
|
|
181
181
|
function catalogIncomplete(cat, rows, dropped) {
|
|
182
|
+
const carried = ownDataOf(cat, 'unreadableRows');
|
|
183
|
+
if (typeof carried === 'number' && Number.isFinite(carried) && carried > 0)
|
|
184
|
+
return true;
|
|
182
185
|
const models = ownDataOf(cat, 'models');
|
|
183
186
|
const n = Array.isArray(models) ? ownDataOf(models, 'length') : undefined;
|
|
184
187
|
if (typeof n === 'number' && Number.isSafeInteger(n) && n > rows.length)
|
|
@@ -588,6 +591,8 @@ export function readLiveModelCatalog(body) {
|
|
|
588
591
|
models.push(row);
|
|
589
592
|
}
|
|
590
593
|
const out = { models: Object.freeze(models) };
|
|
594
|
+
if (unreadableRows > 0)
|
|
595
|
+
out.unreadableRows = unreadableRows;
|
|
591
596
|
let defaultModelMalformed = false;
|
|
592
597
|
if (defaultModelKey.present && defaultModelKey.value !== undefined) {
|
|
593
598
|
const dm = liveDefaultModelCopy(defaultModelKey.value);
|
|
@@ -744,6 +749,10 @@ export function modelCompatOf(model, catalog = getLiveModelCatalog()) {
|
|
|
744
749
|
}
|
|
745
750
|
}
|
|
746
751
|
const positiveFinite = (v) => (typeof v === 'number' && Number.isFinite(v) && v > 0 ? v : undefined);
|
|
752
|
+
function contextWindowSourceOfRow(row) {
|
|
753
|
+
const v = ownDataOf(row, 'contextWindowSource');
|
|
754
|
+
return v === 'declared' || v === 'assumed' ? v : 'unknown';
|
|
755
|
+
}
|
|
747
756
|
export function liveModelRowsOf(catalog = getLiveModelCatalog()) {
|
|
748
757
|
try {
|
|
749
758
|
if (catalog === null || typeof catalog !== 'object' || Array.isArray(catalog))
|
|
@@ -769,7 +778,7 @@ export function liveModelRowsOf(catalog = getLiveModelCatalog()) {
|
|
|
769
778
|
...(id !== undefined ? { id } : {}),
|
|
770
779
|
...(provider !== undefined ? { provider } : {}),
|
|
771
780
|
...(reasoning !== 'unknown' ? { reasoning: reasoning === 'yes' } : {}),
|
|
772
|
-
...(contextWindow !== undefined ? { contextWindow } : {}),
|
|
781
|
+
...(contextWindow !== undefined ? { contextWindow, contextWindowSource: contextWindowSourceOfRow(row) } : {}),
|
|
773
782
|
...(maxOutputTokens !== undefined ? { maxOutputTokens } : {}),
|
|
774
783
|
isDefault: def.kind === 'listed' && def.name === name,
|
|
775
784
|
vision: imageVisionOf(name, catalog),
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export declare const LOCAL_CONFIG_DOCUMENTS: readonly [Readonly<{
|
|
2
|
+
readonly name: "userSettings";
|
|
3
|
+
readonly template: "{configHome}/settings.json";
|
|
4
|
+
readonly schema: "units";
|
|
5
|
+
readonly lockRank: "userSettings";
|
|
6
|
+
readonly heat: "hot";
|
|
7
|
+
}>, Readonly<{
|
|
8
|
+
readonly name: "projectSettings";
|
|
9
|
+
readonly template: "{project}/.sema/settings.json";
|
|
10
|
+
readonly schema: "units";
|
|
11
|
+
readonly lockRank: "projectSettings";
|
|
12
|
+
readonly heat: "cold";
|
|
13
|
+
}>, Readonly<{
|
|
14
|
+
readonly name: "localSettings";
|
|
15
|
+
readonly template: "{project}/.sema/settings.local.json";
|
|
16
|
+
readonly schema: "units";
|
|
17
|
+
readonly lockRank: "localSettings";
|
|
18
|
+
readonly heat: "hot";
|
|
19
|
+
}>, Readonly<{
|
|
20
|
+
readonly name: "globalConfig";
|
|
21
|
+
readonly template: "{configHome}/.sema{oauthSuffix}.json";
|
|
22
|
+
readonly schema: "requested";
|
|
23
|
+
readonly lockRank: "globalConfig";
|
|
24
|
+
readonly heat: "hot";
|
|
25
|
+
}>, Readonly<{
|
|
26
|
+
readonly name: "projectMcp";
|
|
27
|
+
readonly template: "{project}/.mcp.json";
|
|
28
|
+
readonly schema: "requested";
|
|
29
|
+
readonly lockRank: "projectMcp";
|
|
30
|
+
readonly heat: "cold";
|
|
31
|
+
}>, Readonly<{
|
|
32
|
+
readonly name: "models";
|
|
33
|
+
readonly template: "{configHome}/config.d/models.json";
|
|
34
|
+
readonly schema: "whole";
|
|
35
|
+
readonly lockRank: "models";
|
|
36
|
+
readonly heat: "cold";
|
|
37
|
+
}>, Readonly<{
|
|
38
|
+
readonly name: "deploymentMcp";
|
|
39
|
+
readonly template: "{configHome}/config.d/mcp.json";
|
|
40
|
+
readonly schema: "whole";
|
|
41
|
+
readonly lockRank: null;
|
|
42
|
+
readonly heat: "cold";
|
|
43
|
+
}>, Readonly<{
|
|
44
|
+
readonly name: "policySettings";
|
|
45
|
+
readonly template: "{managed}/managed-settings.json";
|
|
46
|
+
readonly schema: "units";
|
|
47
|
+
readonly lockRank: null;
|
|
48
|
+
readonly heat: "cold";
|
|
49
|
+
}>];
|
|
50
|
+
export type LocalConfigDocument = (typeof LOCAL_CONFIG_DOCUMENTS)[number];
|
|
51
|
+
export type LocalConfigDocumentName = LocalConfigDocument['name'];
|
|
52
|
+
export type LocalConfigWritableDocumentName = Extract<LocalConfigDocument, {
|
|
53
|
+
readonly lockRank: string;
|
|
54
|
+
}>['name'];
|
|
55
|
+
export declare function localConfigDocumentOf<V>(name: V): LocalConfigDocument | undefined;
|
|
56
|
+
export declare function isWritableLocalConfigDocument<V>(name: V): name is V & LocalConfigWritableDocumentName;
|
|
57
|
+
export interface GlobalStateFilePlace {
|
|
58
|
+
readonly configHome: string;
|
|
59
|
+
readonly oauthSuffix?: string;
|
|
60
|
+
}
|
|
61
|
+
export declare function globalStateFilePathOf(place: GlobalStateFilePlace): string | undefined;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export const LOCAL_CONFIG_DOCUMENTS = Object.freeze([
|
|
2
|
+
Object.freeze({ name: 'userSettings', template: '{configHome}/settings.json', schema: 'units', lockRank: 'userSettings', heat: 'hot' }),
|
|
3
|
+
Object.freeze({ name: 'projectSettings', template: '{project}/.sema/settings.json', schema: 'units', lockRank: 'projectSettings', heat: 'cold' }),
|
|
4
|
+
Object.freeze({ name: 'localSettings', template: '{project}/.sema/settings.local.json', schema: 'units', lockRank: 'localSettings', heat: 'hot' }),
|
|
5
|
+
Object.freeze({ name: 'globalConfig', template: '{configHome}/.sema{oauthSuffix}.json', schema: 'requested', lockRank: 'globalConfig', heat: 'hot' }),
|
|
6
|
+
Object.freeze({ name: 'projectMcp', template: '{project}/.mcp.json', schema: 'requested', lockRank: 'projectMcp', heat: 'cold' }),
|
|
7
|
+
Object.freeze({ name: 'models', template: '{configHome}/config.d/models.json', schema: 'whole', lockRank: 'models', heat: 'cold' }),
|
|
8
|
+
Object.freeze({ name: 'deploymentMcp', template: '{configHome}/config.d/mcp.json', schema: 'whole', lockRank: null, heat: 'cold' }),
|
|
9
|
+
Object.freeze({ name: 'policySettings', template: '{managed}/managed-settings.json', schema: 'units', lockRank: null, heat: 'cold' }),
|
|
10
|
+
]);
|
|
11
|
+
export function localConfigDocumentOf(name) {
|
|
12
|
+
if (typeof name !== 'string')
|
|
13
|
+
return undefined;
|
|
14
|
+
return LOCAL_CONFIG_DOCUMENTS.find((d) => d.name === name);
|
|
15
|
+
}
|
|
16
|
+
export function isWritableLocalConfigDocument(name) {
|
|
17
|
+
const row = localConfigDocumentOf(name);
|
|
18
|
+
return row !== undefined && row.lockRank !== null;
|
|
19
|
+
}
|
|
20
|
+
const OAUTH_SUFFIX_RE = /^(?:-[a-z0-9]+)*$/;
|
|
21
|
+
export function globalStateFilePathOf(place) {
|
|
22
|
+
try {
|
|
23
|
+
if (typeof place !== 'object' || place === null)
|
|
24
|
+
return undefined;
|
|
25
|
+
const homeDesc = Object.getOwnPropertyDescriptor(place, 'configHome');
|
|
26
|
+
const home = homeDesc !== undefined && Object.hasOwn(homeDesc, 'value') ? homeDesc.value : undefined;
|
|
27
|
+
if (typeof home !== 'string' || home.length === 0 || home.includes('\u0000'))
|
|
28
|
+
return undefined;
|
|
29
|
+
const suffixDesc = Object.getOwnPropertyDescriptor(place, 'oauthSuffix');
|
|
30
|
+
if (suffixDesc !== undefined && !Object.hasOwn(suffixDesc, 'value'))
|
|
31
|
+
return undefined;
|
|
32
|
+
const suffix = suffixDesc === undefined || suffixDesc.value === undefined ? '' : suffixDesc.value;
|
|
33
|
+
if (typeof suffix !== 'string' || !OAUTH_SUFFIX_RE.test(suffix))
|
|
34
|
+
return undefined;
|
|
35
|
+
const sep = home.includes('\\') && !home.includes('/') ? '\\' : '/';
|
|
36
|
+
const row = LOCAL_CONFIG_DOCUMENTS.find((d) => d.name === 'globalConfig');
|
|
37
|
+
if (row === undefined)
|
|
38
|
+
return undefined;
|
|
39
|
+
const slot = '{configHome}/';
|
|
40
|
+
if (!row.template.startsWith(slot))
|
|
41
|
+
return undefined;
|
|
42
|
+
const rest = row.template.slice(slot.length).replace('{oauthSuffix}', suffix);
|
|
43
|
+
let base = home;
|
|
44
|
+
while (base.length > 1 && (base.endsWith('/') || base.endsWith('\\')))
|
|
45
|
+
base = base.slice(0, -1);
|
|
46
|
+
return base === '/' || base === '\\' ? `${base}${rest}` : `${base}${sep}${rest}`;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|