@x-otto/interchange 0.1.0-alpha.6 → 0.1.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/context-fragment.d.ts +1 -1
- package/dist/index.d.ts +24 -0
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* CODE-STYLE.md §6b)。片段内容被截断只损失尾部信息,不改变已注入部分的可读性。
|
|
14
14
|
*/
|
|
15
15
|
/** system prompt 注入片段的类型化 id(与 SYSTEM_PROMPT_SECTIONS 的字段一一对应)。 */
|
|
16
|
-
type ContextFragmentId = 'toolGuidance' | 'skillLoopGuidance' | 'environment' | 'agentKnowledge' | 'memoryIndex' | 'skillCatalog' | 'lesson' | 'lessonRelevantHints' | 'memoryDelta' | 'todoReminder' | 'docSyncReminder' | 'internalize';
|
|
16
|
+
type ContextFragmentId = 'toolGuidance' | 'skillLoopGuidance' | 'environment' | 'agentKnowledge' | 'memoryIndex' | 'skillCatalog' | 'lesson' | 'lessonRelevantHints' | 'memoryDelta' | 'todoReminder' | 'docSyncReminder' | 'internalize' | 'pluginFailures';
|
|
17
17
|
/** 有界上下文片段:id + 内容。预算声明在 SYSTEM_PROMPT_SECTIONS(runtime 包)。 */
|
|
18
18
|
interface ContextFragment {
|
|
19
19
|
id: ContextFragmentId;
|
package/dist/index.d.ts
CHANGED
|
@@ -348,6 +348,18 @@ declare const SYSTEM_PROMPT_SECTIONS: {
|
|
|
348
348
|
readonly lane: "volatile";
|
|
349
349
|
readonly budgetBytes: 4000;
|
|
350
350
|
};
|
|
351
|
+
/**
|
|
352
|
+
* RFC-445 M2(A7):插件失败候选——宿主 onLoadError 桥构造的结构化失败摘要,
|
|
353
|
+
* 经 volatile systemTail 受控注入(对齐 RFC-327 §9.1 放宽条款)。时效性强
|
|
354
|
+
* (失败当下就该被下一轮感知)故排在内化之后、memory-delta 之前。**必须注册**:
|
|
355
|
+
* 不注册则 applySectionBudget 原样放行、4KB 硬顶失效。
|
|
356
|
+
*/
|
|
357
|
+
readonly pluginFailures: {
|
|
358
|
+
readonly name: "plugin-failures-injection";
|
|
359
|
+
readonly priority: 55;
|
|
360
|
+
readonly lane: "volatile";
|
|
361
|
+
readonly budgetBytes: 4000;
|
|
362
|
+
};
|
|
351
363
|
readonly memoryDelta: {
|
|
352
364
|
readonly name: "memory-delta-injection";
|
|
353
365
|
readonly priority: 60;
|
|
@@ -700,6 +712,18 @@ type AgentSessionEvent = {
|
|
|
700
712
|
outcome: 'retry' | 'terminate';
|
|
701
713
|
retryCount: number;
|
|
702
714
|
}
|
|
715
|
+
/**
|
|
716
|
+
* RFC-385 D1:首轮空转检出(一句短文本 + 零工具调用即 end_turn)——引擎注入软引导时的
|
|
717
|
+
* 用户提示信号。outcome=nudge(已注入引导重跑)/terminate(引导后仍空转、照常终止但不再
|
|
718
|
+
* 无声)。TUI 据此弹 toast(对齐 tool.call.mismatch.notice 纹理)。
|
|
719
|
+
*/
|
|
720
|
+
| {
|
|
721
|
+
type: 'turn.idle.notice';
|
|
722
|
+
sessionId: string;
|
|
723
|
+
turnIndex: number;
|
|
724
|
+
outcome: 'nudge' | 'terminate';
|
|
725
|
+
textChars: number;
|
|
726
|
+
}
|
|
703
727
|
/**
|
|
704
728
|
* RFC-204 D1/D2:会话累计成本超过软预算阈值——session 生命周期内至多一次(成本单调递增,
|
|
705
729
|
* 一旦超过恒超过,不像 per-prompt 预算需要重置)。不阻断,仅提醒。`totalCostUSD`/
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CONVERSATION_SUMMARY_PREFIX as e,getToolCallsByAssistantMessage as t,hasToolCalls as n}from"./message.js";import{boundFragment as r,contextFragmentBytes as i}from"./context-fragment.js";import{normalizeImageData as a,toAnthropicImageMime as o}from"./image.js";import{adjustDismissedSigil as s,applySigilCompletion as c,applySigilReplacement as l,evaluateSigilTrigger as u,extractSigilPrefix as d,isSigilDismissed as f,sigilOf as p}from"./input.js";function m(e){return!Array.isArray(e.input)||e.input.length===0?{state:`unknown`}:e.input.includes(`image`)?{state:`supported`,value:!0}:{state:`unsupported`}}function h(e){return m(e).state===`supported`}function g(e){return{vision:m(e)}}const _={toolGuidance:{name:`tool-guidance-injection`,priority:20,lane:`stable`,budgetBytes:2e4},skillLoopGuidance:{name:`skill-loop-guidance-injection`,priority:21,lane:`stable`,budgetBytes:2e3},environment:{name:`runtime:environment`,priority:25,lane:`stable`,budgetBytes:8e3},agentKnowledge:{name:`agent-knowledge-injection`,priority:35,lane:`stable`,budgetBytes:28e3},skillCatalog:{name:`skill-catalog-injection`,priority:38,lane:`stable`,budgetBytes:12e3},lessonRelevantHints:{name:`lesson-relevant-hints`,priority:41,lane:`volatile`,budgetBytes:4e3},internalize:{name:`internalize-skill-injection`,priority:42,lane:`volatile`,budgetBytes:4e3},memoryDelta:{name:`memory-delta-injection`,priority:60,lane:`volatile`,budgetBytes:8e3},todoReminder:{name:`todo-reminder-injection`,priority:62,lane:`volatile`,budgetBytes:4e3},docSyncReminder:{name:`doc-sync-reminder-injection`,priority:64,lane:`volatile`,budgetBytes:4e3}},v=Object.values(_),y=new Set;function b(e,t){let n=v.find(t=>t.name===e);return n?(Buffer.byteLength(t,`utf8`)>n.budgetBytes&&!y.has(e)&&(y.add(e),console.warn(`[system-prompt] section "${e}" truncated to ${n.budgetBytes} bytes (content ${Buffer.byteLength(t,`utf8`)} bytes) — check SYSTEM_PROMPT_SECTIONS budget vs content size`)),r({id:x(e),content:t},n.budgetBytes).content):t}function x(e){let t={"tool-guidance-injection":`toolGuidance`,"skill-loop-guidance-injection":`skillLoopGuidance`,"runtime:environment":`environment`,"agent-knowledge-injection":`agentKnowledge`,"runtime:memory-index":`memoryIndex`,"skill-catalog-injection":`skillCatalog`,"lesson-injection":`lesson`,"lesson-relevant-hints":`lessonRelevantHints`,"internalize-skill-injection":`internalize`,"memory-delta-injection":`memoryDelta`,"todo-reminder-injection":`todoReminder`,"doc-sync-reminder-injection":`docSyncReminder`}[e];if(t===void 0)throw Error(`applySectionBudget: unknown section name "${e}"`);return t}function S(e){return e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
1
|
+
import{CONVERSATION_SUMMARY_PREFIX as e,getToolCallsByAssistantMessage as t,hasToolCalls as n}from"./message.js";import{boundFragment as r,contextFragmentBytes as i}from"./context-fragment.js";import{normalizeImageData as a,toAnthropicImageMime as o}from"./image.js";import{adjustDismissedSigil as s,applySigilCompletion as c,applySigilReplacement as l,evaluateSigilTrigger as u,extractSigilPrefix as d,isSigilDismissed as f,sigilOf as p}from"./input.js";function m(e){return!Array.isArray(e.input)||e.input.length===0?{state:`unknown`}:e.input.includes(`image`)?{state:`supported`,value:!0}:{state:`unsupported`}}function h(e){return m(e).state===`supported`}function g(e){return{vision:m(e)}}const _={toolGuidance:{name:`tool-guidance-injection`,priority:20,lane:`stable`,budgetBytes:2e4},skillLoopGuidance:{name:`skill-loop-guidance-injection`,priority:21,lane:`stable`,budgetBytes:2e3},environment:{name:`runtime:environment`,priority:25,lane:`stable`,budgetBytes:8e3},agentKnowledge:{name:`agent-knowledge-injection`,priority:35,lane:`stable`,budgetBytes:28e3},skillCatalog:{name:`skill-catalog-injection`,priority:38,lane:`stable`,budgetBytes:12e3},lessonRelevantHints:{name:`lesson-relevant-hints`,priority:41,lane:`volatile`,budgetBytes:4e3},internalize:{name:`internalize-skill-injection`,priority:42,lane:`volatile`,budgetBytes:4e3},pluginFailures:{name:`plugin-failures-injection`,priority:55,lane:`volatile`,budgetBytes:4e3},memoryDelta:{name:`memory-delta-injection`,priority:60,lane:`volatile`,budgetBytes:8e3},todoReminder:{name:`todo-reminder-injection`,priority:62,lane:`volatile`,budgetBytes:4e3},docSyncReminder:{name:`doc-sync-reminder-injection`,priority:64,lane:`volatile`,budgetBytes:4e3}},v=Object.values(_),y=new Set;function b(e,t){let n=v.find(t=>t.name===e);return n?(Buffer.byteLength(t,`utf8`)>n.budgetBytes&&!y.has(e)&&(y.add(e),console.warn(`[system-prompt] section "${e}" truncated to ${n.budgetBytes} bytes (content ${Buffer.byteLength(t,`utf8`)} bytes) — check SYSTEM_PROMPT_SECTIONS budget vs content size`)),r({id:x(e),content:t},n.budgetBytes).content):t}function x(e){let t={"tool-guidance-injection":`toolGuidance`,"skill-loop-guidance-injection":`skillLoopGuidance`,"runtime:environment":`environment`,"agent-knowledge-injection":`agentKnowledge`,"runtime:memory-index":`memoryIndex`,"skill-catalog-injection":`skillCatalog`,"lesson-injection":`lesson`,"lesson-relevant-hints":`lessonRelevantHints`,"internalize-skill-injection":`internalize`,"plugin-failures-injection":`pluginFailures`,"memory-delta-injection":`memoryDelta`,"todo-reminder-injection":`todoReminder`,"doc-sync-reminder-injection":`docSyncReminder`}[e];if(t===void 0)throw Error(`applySectionBudget: unknown section name "${e}"`);return t}function S(e){return e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
2
|
`)}const C={"session.start":`durable`,"session.end":`durable`,"session.cleared":`durable`,"prompt.start":`durable`,"prompt.end":`durable`,"prompt.continued":`durable`,"turn.start":`durable`,"turn.end":`durable`,"tool.call.start":`durable`,"tool.call.end":`durable`,"messages.persist":`durable`,"compaction.start":`durable`,"compaction.end":`durable`,"memory.pruned":`durable`,error:`durable`,"stream.event":`live`,"streaming.start":`live`,"streaming.end":`live`,"agent.status":`live`,"steer.consumed":`live`,"run.paused":`live`,"run.resumed":`live`,"run.pause_requested":`live`,"run.pause_cancelled":`live`,"approval.required":`capability`,"approval.resolved":`capability`,"ask.user.required":`capability`,"ask.user.resolved":`capability`,"plan.approval.required":`capability`,"plan.approval.resolved":`capability`,"budget.notice":`capability`,"prompt.budget.notice":`capability`,"tool.call.mismatch.notice":`capability`,"image.degradation.notice":`capability`,"progress.stall.notice":`capability`,"compaction.reactive.notice":`capability`,"session.cost-budget-exceeded":`capability`,"session.crash-gap-detected":`capability`,"session.history-capped":`capability`,"session.write-lease-denied":`capability`,"session.write-lease-restored":`capability`};function w(e){return C[e]}export{e as CONVERSATION_SUMMARY_PREFIX,C as EVENT_DOMAIN,_ as SYSTEM_PROMPT_SECTIONS,v as SYSTEM_PROMPT_SECTION_ORDER,s as adjustDismissedSigil,b as applySectionBudget,c as applySigilCompletion,l as applySigilReplacement,r as boundFragment,g as collectModelCapabilityFacts,i as contextFragmentBytes,u as evaluateSigilTrigger,d as extractSigilPrefix,S as extractToolResultText,w as getEventDomain,t as getToolCallsByAssistantMessage,n as hasToolCalls,f as isSigilDismissed,m as modelImageCapability,h as modelSupportsImages,a as normalizeImageData,p as sigilOf,o as toAnthropicImageMime};
|