agentfootprint 6.45.0 → 7.1.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.
Files changed (137) hide show
  1. package/AGENTS.md +4 -0
  2. package/CLAUDE.md +83 -618
  3. package/README.md +141 -167
  4. package/ai-instructions/claude-code/SKILL.md +11 -0
  5. package/dist/adapters/llm/BrowserOpenAIProvider.js +1 -1
  6. package/dist/adapters/llm/MockProvider.js +2 -1
  7. package/dist/adapters/llm/MockProvider.js.map +1 -1
  8. package/dist/core/agent/AgentBuilder.js +1 -1
  9. package/dist/core/agent/AgentBuilder.js.map +1 -1
  10. package/dist/debug/finders.js +29 -0
  11. package/dist/debug/finders.js.map +1 -0
  12. package/dist/debug.js +135 -0
  13. package/dist/debug.js.map +1 -0
  14. package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
  15. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +1 -1
  16. package/dist/esm/adapters/llm/MockProvider.d.ts +2 -1
  17. package/dist/esm/adapters/llm/MockProvider.js +2 -1
  18. package/dist/esm/adapters/llm/MockProvider.js.map +1 -1
  19. package/dist/esm/core/agent/AgentBuilder.js +1 -1
  20. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  21. package/dist/esm/debug/finders.d.ts +12 -0
  22. package/dist/esm/debug/finders.js +13 -0
  23. package/dist/esm/debug/finders.js.map +1 -0
  24. package/dist/esm/debug.d.ts +25 -0
  25. package/dist/esm/debug.js +54 -0
  26. package/dist/esm/debug.js.map +1 -0
  27. package/dist/esm/events.d.ts +18 -0
  28. package/dist/esm/events.js +22 -0
  29. package/dist/esm/events.js.map +1 -0
  30. package/dist/esm/index.d.ts +4 -24
  31. package/dist/esm/index.js +7 -54
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/lib/context-bisect/index.d.ts +1 -0
  34. package/dist/esm/lib/context-bisect/index.js +3 -0
  35. package/dist/esm/lib/context-bisect/index.js.map +1 -1
  36. package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.d.ts +52 -0
  37. package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.js +150 -0
  38. package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.js.map +1 -0
  39. package/dist/esm/lib/injection-engine/index.d.ts +1 -1
  40. package/dist/esm/lib/injection-engine/index.js +1 -1
  41. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  42. package/dist/esm/lib/injection-engine/skillGraph.d.ts +3 -2
  43. package/dist/esm/lib/injection-engine/skillGraph.js +3 -2
  44. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  45. package/dist/esm/lib/rag/defineRAG.d.ts +3 -3
  46. package/dist/esm/lib/rag/defineRAG.js +3 -3
  47. package/dist/esm/lib/rag/indexDocuments.d.ts +2 -1
  48. package/dist/esm/lib/rag/indexDocuments.js +2 -1
  49. package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
  50. package/dist/esm/lib/trace-toolpack/traceToolpack.d.ts +1 -0
  51. package/dist/esm/lib/trace-toolpack/traceToolpack.js +111 -0
  52. package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
  53. package/dist/esm/locales/index.d.ts +9 -0
  54. package/dist/esm/locales/index.js +7 -0
  55. package/dist/esm/locales/index.js.map +1 -1
  56. package/dist/esm/memory/causal/types.d.ts +13 -9
  57. package/dist/esm/memory/causal/types.js.map +1 -1
  58. package/dist/esm/memory/define.types.d.ts +5 -3
  59. package/dist/esm/memory/define.types.js +5 -3
  60. package/dist/esm/memory/define.types.js.map +1 -1
  61. package/dist/esm/observe.d.ts +1 -6
  62. package/dist/esm/observe.js +7 -36
  63. package/dist/esm/observe.js.map +1 -1
  64. package/dist/esm/providers.d.ts +2 -2
  65. package/dist/esm/providers.js +1 -1
  66. package/dist/esm/providers.js.map +1 -1
  67. package/dist/esm/status.d.ts +10 -4
  68. package/dist/esm/status.js +13 -4
  69. package/dist/esm/status.js.map +1 -1
  70. package/dist/esm/tool-providers/index.d.ts +1 -1
  71. package/dist/events.js +42 -0
  72. package/dist/events.js.map +1 -0
  73. package/dist/index.js +7 -121
  74. package/dist/index.js.map +1 -1
  75. package/dist/lib/context-bisect/index.js +5 -1
  76. package/dist/lib/context-bisect/index.js.map +1 -1
  77. package/dist/lib/context-bisect/sliceToBacktrackTrace.js +154 -0
  78. package/dist/lib/context-bisect/sliceToBacktrackTrace.js.map +1 -0
  79. package/dist/lib/injection-engine/index.js +2 -2
  80. package/dist/lib/injection-engine/index.js.map +1 -1
  81. package/dist/lib/injection-engine/skillGraph.js +5 -4
  82. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  83. package/dist/lib/rag/defineRAG.js +3 -3
  84. package/dist/lib/rag/indexDocuments.js +2 -1
  85. package/dist/lib/rag/indexDocuments.js.map +1 -1
  86. package/dist/lib/trace-toolpack/traceToolpack.js +111 -0
  87. package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
  88. package/dist/locales/index.js +2 -1
  89. package/dist/locales/index.js.map +1 -1
  90. package/dist/memory/causal/types.js.map +1 -1
  91. package/dist/memory/define.types.js +5 -3
  92. package/dist/memory/define.types.js.map +1 -1
  93. package/dist/observe.js +22 -115
  94. package/dist/observe.js.map +1 -1
  95. package/dist/providers.js +3 -1
  96. package/dist/providers.js.map +1 -1
  97. package/dist/status.js +13 -5
  98. package/dist/status.js.map +1 -1
  99. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +1 -1
  100. package/dist/types/adapters/llm/MockProvider.d.ts +2 -1
  101. package/dist/types/adapters/llm/MockProvider.d.ts.map +1 -1
  102. package/dist/types/debug/finders.d.ts +13 -0
  103. package/dist/types/debug/finders.d.ts.map +1 -0
  104. package/dist/types/debug.d.ts +26 -0
  105. package/dist/types/debug.d.ts.map +1 -0
  106. package/dist/types/events.d.ts +19 -0
  107. package/dist/types/events.d.ts.map +1 -0
  108. package/dist/types/index.d.ts +4 -24
  109. package/dist/types/index.d.ts.map +1 -1
  110. package/dist/types/lib/context-bisect/index.d.ts +1 -0
  111. package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
  112. package/dist/types/lib/context-bisect/sliceToBacktrackTrace.d.ts +53 -0
  113. package/dist/types/lib/context-bisect/sliceToBacktrackTrace.d.ts.map +1 -0
  114. package/dist/types/lib/injection-engine/index.d.ts +1 -1
  115. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  116. package/dist/types/lib/injection-engine/skillGraph.d.ts +3 -2
  117. package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
  118. package/dist/types/lib/rag/defineRAG.d.ts +3 -3
  119. package/dist/types/lib/rag/indexDocuments.d.ts +2 -1
  120. package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
  121. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts +1 -0
  122. package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
  123. package/dist/types/locales/index.d.ts +9 -0
  124. package/dist/types/locales/index.d.ts.map +1 -1
  125. package/dist/types/memory/causal/types.d.ts +13 -9
  126. package/dist/types/memory/causal/types.d.ts.map +1 -1
  127. package/dist/types/memory/define.types.d.ts +5 -3
  128. package/dist/types/memory/define.types.d.ts.map +1 -1
  129. package/dist/types/observe.d.ts +1 -6
  130. package/dist/types/observe.d.ts.map +1 -1
  131. package/dist/types/providers.d.ts +2 -2
  132. package/dist/types/providers.d.ts.map +1 -1
  133. package/dist/types/status.d.ts +10 -4
  134. package/dist/types/status.d.ts.map +1 -1
  135. package/dist/types/tool-providers/index.d.ts +1 -1
  136. package/dist/types/tool-providers/index.d.ts.map +1 -1
  137. package/package.json +62 -5
@@ -38,4 +38,4 @@ export { gatedTools } from './gatedTools.js';
38
38
  export { skillScopedTools } from './skillScopedTools.js';
39
39
  export type { ToolProvider, ToolDispatchContext, ToolGatePredicate } from './types.js';
40
40
  export { mcpClient, mockMcpClient } from '../lib/mcp/index.js';
41
- export type { McpClient, McpClientOptions, McpTransport, McpStdioTransport, McpHttpTransport, MockMcpClientOptions, MockMcpTool, } from '../lib/mcp/index.js';
41
+ export type { McpClient, McpClientOptions, McpSdkClient, McpTransport, McpStdioTransport, McpHttpTransport, MockMcpClientOptions, MockMcpTool, } from '../lib/mcp/index.js';
package/dist/events.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * agentfootprint/events — the typed event system.
4
+ *
5
+ * Every agentfootprint run emits a single, strongly-typed event stream:
6
+ * the registry (`EVENT_NAMES`, `AgentfootprintEventMap`, `AgentfootprintEvent`),
7
+ * the dispatcher (`EventDispatcher` + listener/wildcard types), the shared
8
+ * context/composition types, and the ~60 typed payload shapes (grouped
9
+ * under the `Payloads` namespace).
10
+ *
11
+ * This is observability infrastructure, not core agent API, so in v7 it
12
+ * lives on its own subpath — consistent with `/observe`, `/memory`, etc.
13
+ * Recorders (`agentfootprint/observe`) and viewer libraries consume it;
14
+ * the `Agent` builder wires it for you.
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
28
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.EventDispatcher = exports.ALL_EVENT_TYPES = exports.EVENT_NAMES = void 0;
32
+ // Shared event/context/composition types.
33
+ __exportStar(require("./events/types.js"), exports);
34
+ // Registry — the event-name set + the typed map/union/discriminant.
35
+ var registry_js_1 = require("./events/registry.js");
36
+ Object.defineProperty(exports, "EVENT_NAMES", { enumerable: true, get: function () { return registry_js_1.EVENT_NAMES; } });
37
+ Object.defineProperty(exports, "ALL_EVENT_TYPES", { enumerable: true, get: function () { return registry_js_1.ALL_EVENT_TYPES; } });
38
+ // Dispatcher — subscribe to the stream (`.on(type, listener)`), wildcard
39
+ // subscriptions, and the unsubscribe handle.
40
+ var dispatcher_js_1 = require("./events/dispatcher.js");
41
+ Object.defineProperty(exports, "EventDispatcher", { enumerable: true, get: function () { return dispatcher_js_1.EventDispatcher; } });
42
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;AAEH,0CAA0C;AAC1C,oDAAkC;AAQlC,oEAAoE;AACpE,oDAM8B;AAL5B,0GAAA,WAAW,OAAA;AACX,8GAAA,eAAe,OAAA;AAMjB,yEAAyE;AACzE,6CAA6C;AAC7C,wDASgC;AAR9B,gHAAA,eAAe,OAAA"}
package/dist/index.js CHANGED
@@ -21,9 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.SequenceBuilder = exports.Sequence = exports.formatToolContractCheckup = exports.toolContractCheckup = exports.warnIfInvalidToolName = exports.assertValidToolName = exports.defineTool = exports.flowchartAsTool = exports.RunCheckpointError = exports.buildDefaultInstruction = exports.applyOutputSchema = exports.OutputSchemaError = exports.AgentBuilder = exports.Agent = exports.buildAgentMessageApiChart = exports.buildMessageApiChart = exports.LLMCallBuilder = exports.LLMCall = exports.renderStatusLine = exports.selectStatus = exports.defaultStatusTemplates = exports.selectCommentaryKey = exports.renderCommentary = exports.extractCommentaryVars = exports.extractAgentName = exports.defaultCommentaryTemplates = exports.isPaused = exports.isPauseRequest = exports.askHuman = exports.pauseHere = exports.makeRunId = exports.RunnerBase = exports.typedEmit = exports.EmitBridge = exports.BASELINE_SOURCES = exports.ENGINEERED_SOURCES = exports.isBaselineSource = exports.isEngineeredSource = exports.contextEngineering = exports.parseSubflowPath = exports.buildEventMeta = exports.COMPOSITION_KEYS = exports.milestoneFor = exports.stageRole = exports.isInjectionKey = exports.injectionKeyForSlot = exports.INJECTION_KEYS = exports.EventDispatcher = exports.ALL_EVENT_TYPES = exports.EVENT_NAMES = void 0;
25
- exports.patternFactExtractor = exports.llmExtractor = exports.heuristicExtractor = exports.autoPipeline = exports.semanticPipeline = exports.narrativePipeline = exports.factPipeline = exports.ephemeralPipeline = exports.defaultPipeline = exports.skillToolNames = exports.checkSkillContracts = exports.checkSkillContract = exports.rankEntries = exports.embeddingScorer = exports.keywordScorer = exports.SKILL_GRAPH_METADATA_KEY = exports.decide = exports.skillGraph = exports.defineInjection = exports.defineFact = exports.defineSteering = exports.buildReadSkillTool = exports.buildListSkillsTool = exports.SkillRegistry = exports.resolveSurfaceMode = exports.defineSkill = exports.defineRelevanceHint = exports.defineInstruction = exports.projectActiveInjection = exports.buildInjectionEngineSubflow = exports.evaluateInjections = exports.encodeSSE = exports.SSEFormatter = exports.toSSE = exports.providerFromEnv = exports.createProvider = exports.BrowserAzureOpenAIProvider = exports.browserAzureOpenai = exports.BrowserOpenAIProvider = exports.browserOpenai = exports.BrowserAnthropicProvider = exports.browserAnthropic = exports.mock = exports.MockProvider = exports.LoopBuilder = exports.Loop = exports.ConditionalBuilder = exports.Conditional = exports.ParallelBuilder = exports.Parallel = void 0;
26
- exports.validateMessages = exports.composeMessages = exports.defaultThinkingMessages = exports.defaultCommentaryMessages = exports.PolicyHaltError = exports.PermissionPolicy = exports.skillScopedTools = exports.gatedTools = exports.staticTools = exports.mockMcpClient = exports.mcpClient = exports.indexDocuments = exports.defineRAG = exports.identityNamespace = exports.mockEmbedder = exports.InMemoryStore = exports.SNAPSHOT_PROJECTIONS = exports.MEMORY_TIMING = exports.MEMORY_STRATEGIES = exports.MEMORY_TYPES = exports.defineMemory = exports.llmFactExtractor = void 0;
24
+ exports.indexDocuments = exports.defineRAG = exports.providerFromEnv = exports.LoopBuilder = exports.Loop = exports.ConditionalBuilder = exports.Conditional = exports.ParallelBuilder = exports.Parallel = exports.SequenceBuilder = exports.Sequence = exports.formatToolContractCheckup = exports.toolContractCheckup = exports.warnIfInvalidToolName = exports.assertValidToolName = exports.defineTool = exports.flowchartAsTool = exports.RunCheckpointError = exports.applyOutputSchema = exports.OutputSchemaError = exports.AgentBuilder = exports.Agent = exports.buildAgentMessageApiChart = exports.LLMCallBuilder = exports.LLMCall = exports.selectCommentaryKey = exports.renderCommentary = exports.extractCommentaryVars = exports.extractAgentName = exports.defaultCommentaryTemplates = exports.isPaused = exports.isPauseRequest = exports.askHuman = exports.pauseHere = exports.makeRunId = exports.RunnerBase = exports.BASELINE_SOURCES = exports.ENGINEERED_SOURCES = exports.isBaselineSource = exports.isEngineeredSource = exports.contextEngineering = exports.COMPOSITION_KEYS = exports.milestoneFor = exports.stageRole = exports.isInjectionKey = exports.injectionKeyForSlot = exports.INJECTION_KEYS = void 0;
27
25
  // Side-effect imports — auto-register v2.6+ cache strategies in the
28
26
  // strategy registry. Without these, only the wildcard NoOp is
29
27
  // registered and `Agent.create({ provider: browserAnthropic({...}) })`
@@ -33,14 +31,6 @@ exports.validateMessages = exports.composeMessages = exports.defaultThinkingMess
33
31
  require("./cache/strategies/AnthropicCacheStrategy.js");
34
32
  require("./cache/strategies/OpenAICacheStrategy.js");
35
33
  require("./cache/strategies/BedrockCacheStrategy.js");
36
- // Events — registry, types, payloads
37
- __exportStar(require("./events/types.js"), exports);
38
- var registry_js_1 = require("./events/registry.js");
39
- Object.defineProperty(exports, "EVENT_NAMES", { enumerable: true, get: function () { return registry_js_1.EVENT_NAMES; } });
40
- Object.defineProperty(exports, "ALL_EVENT_TYPES", { enumerable: true, get: function () { return registry_js_1.ALL_EVENT_TYPES; } });
41
- // Dispatcher
42
- var dispatcher_js_1 = require("./events/dispatcher.js");
43
- Object.defineProperty(exports, "EventDispatcher", { enumerable: true, get: function () { return dispatcher_js_1.EventDispatcher; } });
44
34
  // Adapter interfaces (ports)
45
35
  __exportStar(require("./adapters/types.js"), exports);
46
36
  // Injection keys + recorder authoring helpers — needed by anyone writing
@@ -66,10 +56,6 @@ Object.defineProperty(exports, "milestoneFor", { enumerable: true, get: function
66
56
  // import; downstream code should never need them.
67
57
  var types_js_1 = require("./recorders/core/types.js");
68
58
  Object.defineProperty(exports, "COMPOSITION_KEYS", { enumerable: true, get: function () { return types_js_1.COMPOSITION_KEYS; } });
69
- // Bridge helper
70
- var eventMeta_js_1 = require("./bridge/eventMeta.js");
71
- Object.defineProperty(exports, "buildEventMeta", { enumerable: true, get: function () { return eventMeta_js_1.buildEventMeta; } });
72
- Object.defineProperty(exports, "parseSubflowPath", { enumerable: true, get: function () { return eventMeta_js_1.parseSubflowPath; } });
73
59
  // Context-engineering + emit primitives.
74
60
  //
75
61
  // The observability recorder FACTORIES (ContextRecorder, streamRecorder,
@@ -85,10 +71,6 @@ Object.defineProperty(exports, "isEngineeredSource", { enumerable: true, get: fu
85
71
  Object.defineProperty(exports, "isBaselineSource", { enumerable: true, get: function () { return contextEngineering_js_1.isBaselineSource; } });
86
72
  Object.defineProperty(exports, "ENGINEERED_SOURCES", { enumerable: true, get: function () { return contextEngineering_js_1.ENGINEERED_SOURCES; } });
87
73
  Object.defineProperty(exports, "BASELINE_SOURCES", { enumerable: true, get: function () { return contextEngineering_js_1.BASELINE_SOURCES; } });
88
- var EmitBridge_js_1 = require("./recorders/core/EmitBridge.js");
89
- Object.defineProperty(exports, "EmitBridge", { enumerable: true, get: function () { return EmitBridge_js_1.EmitBridge; } });
90
- var typedEmit_js_1 = require("./recorders/core/typedEmit.js");
91
- Object.defineProperty(exports, "typedEmit", { enumerable: true, get: function () { return typedEmit_js_1.typedEmit; } });
92
74
  var RunnerBase_js_1 = require("./core/RunnerBase.js");
93
75
  Object.defineProperty(exports, "RunnerBase", { enumerable: true, get: function () { return RunnerBase_js_1.RunnerBase; } });
94
76
  Object.defineProperty(exports, "makeRunId", { enumerable: true, get: function () { return RunnerBase_js_1.makeRunId; } });
@@ -107,6 +89,9 @@ Object.defineProperty(exports, "isPaused", { enumerable: true, get: function ()
107
89
  // shape; viewers (Lens, CLI tail, log file) consume this surface.
108
90
  var commentaryTemplates_js_1 = require("./recorders/observability/commentary/commentaryTemplates.js");
109
91
  Object.defineProperty(exports, "defaultCommentaryTemplates", { enumerable: true, get: function () { return commentaryTemplates_js_1.defaultCommentaryTemplates; } });
92
+ // Commentary engine helpers — advanced surface consumed by viewer
93
+ // libraries (agentfootprint-lens) to render run narration. Not the
94
+ // everyday API, but de-facto public: keep exported.
110
95
  Object.defineProperty(exports, "extractAgentName", { enumerable: true, get: function () { return commentaryTemplates_js_1.extractAgentName; } });
111
96
  Object.defineProperty(exports, "extractCommentaryVars", { enumerable: true, get: function () { return commentaryTemplates_js_1.extractCommentaryVars; } });
112
97
  Object.defineProperty(exports, "renderCommentary", { enumerable: true, get: function () { return commentaryTemplates_js_1.renderCommentary; } });
@@ -119,19 +104,10 @@ Object.defineProperty(exports, "selectCommentaryKey", { enumerable: true, get: f
119
104
  // supported, missing keys ignored) but a different vocabulary —
120
105
  // first-person status, mid-call only. Per-tool keys (`tool.<toolName>`)
121
106
  // win over the generic `tool` key.
122
- var statusTemplates_js_1 = require("./recorders/observability/status/statusTemplates.js");
123
- Object.defineProperty(exports, "defaultStatusTemplates", { enumerable: true, get: function () { return statusTemplates_js_1.defaultStatusTemplates; } });
124
- Object.defineProperty(exports, "selectStatus", { enumerable: true, get: function () { return statusTemplates_js_1.selectStatus; } });
125
- Object.defineProperty(exports, "renderStatusLine", { enumerable: true, get: function () { return statusTemplates_js_1.renderStatusLine; } });
126
107
  // Primitives (core/)
127
108
  var LLMCall_js_1 = require("./core/LLMCall.js");
128
109
  Object.defineProperty(exports, "LLMCall", { enumerable: true, get: function () { return LLMCall_js_1.LLMCall; } });
129
110
  Object.defineProperty(exports, "LLMCallBuilder", { enumerable: true, get: function () { return LLMCall_js_1.LLMCallBuilder; } });
130
- // messageAPI merge-tree proof chart (LLM-only) — Context-selector → slot
131
- // subflows → messageAPI assembly stage → Call-LLM. The locked shape that
132
- // will later serve both Static and Dynamic agents. See buildMessageApiChart.
133
- var buildMessageApiChart_js_1 = require("./core/agent/buildMessageApiChart.js");
134
- Object.defineProperty(exports, "buildMessageApiChart", { enumerable: true, get: function () { return buildMessageApiChart_js_1.buildMessageApiChart; } });
135
111
  // Agent (ReAct) form of the merge-tree — Context root selector → two-stage
136
112
  // convergence: [sf-message-api (system-prompt+messages → messageAPI), sf-tools]
137
113
  // → Call-LLM → route → [tool-exec → loop] / final. tools + the loop are the
@@ -144,7 +120,6 @@ Object.defineProperty(exports, "AgentBuilder", { enumerable: true, get: function
144
120
  var outputSchema_js_1 = require("./core/outputSchema.js");
145
121
  Object.defineProperty(exports, "OutputSchemaError", { enumerable: true, get: function () { return outputSchema_js_1.OutputSchemaError; } });
146
122
  Object.defineProperty(exports, "applyOutputSchema", { enumerable: true, get: function () { return outputSchema_js_1.applyOutputSchema; } });
147
- Object.defineProperty(exports, "buildDefaultInstruction", { enumerable: true, get: function () { return outputSchema_js_1.buildDefaultInstruction; } });
148
123
  var runCheckpoint_js_1 = require("./core/runCheckpoint.js");
149
124
  Object.defineProperty(exports, "RunCheckpointError", { enumerable: true, get: function () { return runCheckpoint_js_1.RunCheckpointError; } });
150
125
  var flowchartAsTool_js_1 = require("./core/flowchartAsTool.js");
@@ -192,56 +167,11 @@ Object.defineProperty(exports, "LoopBuilder", { enumerable: true, get: function
192
167
  //
193
168
  // import { AnthropicProvider } from 'agentfootprint'; // ❌ not exported
194
169
  // import { AnthropicProvider } from 'agentfootprint/llm-providers'; // ✓ canonical
195
- var MockProvider_js_1 = require("./adapters/llm/MockProvider.js");
196
- Object.defineProperty(exports, "MockProvider", { enumerable: true, get: function () { return MockProvider_js_1.MockProvider; } });
197
- Object.defineProperty(exports, "mock", { enumerable: true, get: function () { return MockProvider_js_1.mock; } });
198
- var BrowserAnthropicProvider_js_1 = require("./adapters/llm/BrowserAnthropicProvider.js");
199
- Object.defineProperty(exports, "browserAnthropic", { enumerable: true, get: function () { return BrowserAnthropicProvider_js_1.browserAnthropic; } });
200
- Object.defineProperty(exports, "BrowserAnthropicProvider", { enumerable: true, get: function () { return BrowserAnthropicProvider_js_1.BrowserAnthropicProvider; } });
201
- var BrowserOpenAIProvider_js_1 = require("./adapters/llm/BrowserOpenAIProvider.js");
202
- Object.defineProperty(exports, "browserOpenai", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.browserOpenai; } });
203
- Object.defineProperty(exports, "BrowserOpenAIProvider", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.BrowserOpenAIProvider; } });
204
- Object.defineProperty(exports, "browserAzureOpenai", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.browserAzureOpenai; } });
205
- Object.defineProperty(exports, "BrowserAzureOpenAIProvider", { enumerable: true, get: function () { return BrowserOpenAIProvider_js_1.BrowserAzureOpenAIProvider; } });
206
170
  var createProvider_js_1 = require("./adapters/llm/createProvider.js");
207
- Object.defineProperty(exports, "createProvider", { enumerable: true, get: function () { return createProvider_js_1.createProvider; } });
208
171
  Object.defineProperty(exports, "providerFromEnv", { enumerable: true, get: function () { return createProvider_js_1.providerFromEnv; } });
209
172
  // Streaming helpers — agent events → SSE for browser delivery.
210
- var stream_js_1 = require("./stream.js");
211
- Object.defineProperty(exports, "toSSE", { enumerable: true, get: function () { return stream_js_1.toSSE; } });
212
- Object.defineProperty(exports, "SSEFormatter", { enumerable: true, get: function () { return stream_js_1.SSEFormatter; } });
213
- Object.defineProperty(exports, "encodeSSE", { enumerable: true, get: function () { return stream_js_1.encodeSSE; } });
214
173
  // Injection Engine — the unifying primitive of context engineering.
215
174
  // One Injection type, four sugar factories, one engine subflow.
216
- var index_js_1 = require("./lib/injection-engine/index.js");
217
- // Engine
218
- Object.defineProperty(exports, "evaluateInjections", { enumerable: true, get: function () { return index_js_1.evaluateInjections; } });
219
- Object.defineProperty(exports, "buildInjectionEngineSubflow", { enumerable: true, get: function () { return index_js_1.buildInjectionEngineSubflow; } });
220
- Object.defineProperty(exports, "projectActiveInjection", { enumerable: true, get: function () { return index_js_1.projectActiveInjection; } });
221
- // Sugar factories — one per injection flavor
222
- Object.defineProperty(exports, "defineInstruction", { enumerable: true, get: function () { return index_js_1.defineInstruction; } });
223
- Object.defineProperty(exports, "defineRelevanceHint", { enumerable: true, get: function () { return index_js_1.defineRelevanceHint; } });
224
- Object.defineProperty(exports, "defineSkill", { enumerable: true, get: function () { return index_js_1.defineSkill; } });
225
- Object.defineProperty(exports, "resolveSurfaceMode", { enumerable: true, get: function () { return index_js_1.resolveSurfaceMode; } });
226
- Object.defineProperty(exports, "SkillRegistry", { enumerable: true, get: function () { return index_js_1.SkillRegistry; } });
227
- Object.defineProperty(exports, "buildListSkillsTool", { enumerable: true, get: function () { return index_js_1.buildListSkillsTool; } });
228
- Object.defineProperty(exports, "buildReadSkillTool", { enumerable: true, get: function () { return index_js_1.buildReadSkillTool; } });
229
- Object.defineProperty(exports, "defineSteering", { enumerable: true, get: function () { return index_js_1.defineSteering; } });
230
- Object.defineProperty(exports, "defineFact", { enumerable: true, get: function () { return index_js_1.defineFact; } });
231
- // Unified factory (type-discriminant over the four named factories above)
232
- Object.defineProperty(exports, "defineInjection", { enumerable: true, get: function () { return index_js_1.defineInjection; } });
233
- // Declarative skill graph (proposal 002)
234
- Object.defineProperty(exports, "skillGraph", { enumerable: true, get: function () { return index_js_1.skillGraph; } });
235
- Object.defineProperty(exports, "decide", { enumerable: true, get: function () { return index_js_1.decide; } });
236
- Object.defineProperty(exports, "SKILL_GRAPH_METADATA_KEY", { enumerable: true, get: function () { return index_js_1.SKILL_GRAPH_METADATA_KEY; } });
237
- // Pluggable entry-relevance scorer strategy + built-ins (keyword / embedding)
238
- Object.defineProperty(exports, "keywordScorer", { enumerable: true, get: function () { return index_js_1.keywordScorer; } });
239
- Object.defineProperty(exports, "embeddingScorer", { enumerable: true, get: function () { return index_js_1.embeddingScorer; } });
240
- Object.defineProperty(exports, "rankEntries", { enumerable: true, get: function () { return index_js_1.rankEntries; } });
241
- // Proposal 009 Tier 1 — skill-body ↔ tool-contract consistency check
242
- Object.defineProperty(exports, "checkSkillContract", { enumerable: true, get: function () { return index_js_1.checkSkillContract; } });
243
- Object.defineProperty(exports, "checkSkillContracts", { enumerable: true, get: function () { return index_js_1.checkSkillContracts; } });
244
- Object.defineProperty(exports, "skillToolNames", { enumerable: true, get: function () { return index_js_1.skillToolNames; } });
245
175
  // Patterns — factory functions composing primitives + core-flow into
246
176
  // well-known agent patterns from the research literature.
247
177
  __exportStar(require("./patterns/index.js"), exports);
@@ -250,69 +180,25 @@ __exportStar(require("./patterns/index.js"), exports);
250
180
  // the most-used factories; the full subsystem (including types that
251
181
  // would collide with adapter types like MemoryStore) is reachable via
252
182
  // the `agentfootprint/memory` subpath import.
253
- var index_js_2 = require("./memory/pipeline/index.js");
254
- // Pipelines
255
- Object.defineProperty(exports, "defaultPipeline", { enumerable: true, get: function () { return index_js_2.defaultPipeline; } });
256
- Object.defineProperty(exports, "ephemeralPipeline", { enumerable: true, get: function () { return index_js_2.ephemeralPipeline; } });
257
- Object.defineProperty(exports, "factPipeline", { enumerable: true, get: function () { return index_js_2.factPipeline; } });
258
- Object.defineProperty(exports, "narrativePipeline", { enumerable: true, get: function () { return index_js_2.narrativePipeline; } });
259
- Object.defineProperty(exports, "semanticPipeline", { enumerable: true, get: function () { return index_js_2.semanticPipeline; } });
260
- Object.defineProperty(exports, "autoPipeline", { enumerable: true, get: function () { return index_js_2.autoPipeline; } });
261
- var index_js_3 = require("./memory/beats/index.js");
262
- // Beat extractors
263
- Object.defineProperty(exports, "heuristicExtractor", { enumerable: true, get: function () { return index_js_3.heuristicExtractor; } });
264
- Object.defineProperty(exports, "llmExtractor", { enumerable: true, get: function () { return index_js_3.llmExtractor; } });
265
- var index_js_4 = require("./memory/facts/index.js");
266
- // Fact extractors
267
- Object.defineProperty(exports, "patternFactExtractor", { enumerable: true, get: function () { return index_js_4.patternFactExtractor; } });
268
- Object.defineProperty(exports, "llmFactExtractor", { enumerable: true, get: function () { return index_js_4.llmFactExtractor; } });
269
- var index_js_5 = require("./memory/index.js");
270
- // Layered memory API — consumer-facing factory + const-objects
271
- Object.defineProperty(exports, "defineMemory", { enumerable: true, get: function () { return index_js_5.defineMemory; } });
272
- Object.defineProperty(exports, "MEMORY_TYPES", { enumerable: true, get: function () { return index_js_5.MEMORY_TYPES; } });
273
- Object.defineProperty(exports, "MEMORY_STRATEGIES", { enumerable: true, get: function () { return index_js_5.MEMORY_STRATEGIES; } });
274
- Object.defineProperty(exports, "MEMORY_TIMING", { enumerable: true, get: function () { return index_js_5.MEMORY_TIMING; } });
275
- Object.defineProperty(exports, "SNAPSHOT_PROJECTIONS", { enumerable: true, get: function () { return index_js_5.SNAPSHOT_PROJECTIONS; } });
276
- // Reference implementations + helpers consumers reach for daily.
277
- // Real-backend adapters (Redis, Postgres, Pinecone, ...) ship as
278
- // separate subpath exports.
279
- Object.defineProperty(exports, "InMemoryStore", { enumerable: true, get: function () { return index_js_5.InMemoryStore; } });
280
- Object.defineProperty(exports, "mockEmbedder", { enumerable: true, get: function () { return index_js_5.mockEmbedder; } });
281
- Object.defineProperty(exports, "identityNamespace", { enumerable: true, get: function () { return index_js_5.identityNamespace; } });
282
183
  // RAG — retrieval-augmented generation as a context-engineering flavor.
283
184
  // Thin sugar over `defineMemory({ type: SEMANTIC, strategy: TOP_K })`
284
185
  // plus the `indexDocuments` helper for seeding the corpus at startup.
285
- var index_js_6 = require("./lib/rag/index.js");
286
- Object.defineProperty(exports, "defineRAG", { enumerable: true, get: function () { return index_js_6.defineRAG; } });
287
- Object.defineProperty(exports, "indexDocuments", { enumerable: true, get: function () { return index_js_6.indexDocuments; } });
186
+ var index_js_1 = require("./lib/rag/index.js");
187
+ Object.defineProperty(exports, "defineRAG", { enumerable: true, get: function () { return index_js_1.defineRAG; } });
188
+ Object.defineProperty(exports, "indexDocuments", { enumerable: true, get: function () { return index_js_1.indexDocuments; } });
288
189
  // MCP — Model Context Protocol client. Connect to MCP servers and
289
190
  // expose their tools as agentfootprint Tool[] for `agent.tools(...)`.
290
191
  // `@modelcontextprotocol/sdk` is a lazy-required peer-dep (no runtime
291
192
  // cost when MCP isn't used).
292
- var index_js_7 = require("./lib/mcp/index.js");
293
- Object.defineProperty(exports, "mcpClient", { enumerable: true, get: function () { return index_js_7.mcpClient; } });
294
- Object.defineProperty(exports, "mockMcpClient", { enumerable: true, get: function () { return index_js_7.mockMcpClient; } });
295
193
  // Tool dispatch primitives (v2.5+). New `agentfootprint/tool-providers`
296
194
  // subpath bundles tool sources (mcpClient / mockMcpClient) with tool
297
195
  // dispatch primitives (staticTools / gatedTools) so consumers find
298
196
  // "everything tool-related" in one place. Top-level barrel re-exports
299
197
  // the dispatch primitives too — `mcpClient` already re-exports above.
300
- var index_js_8 = require("./tool-providers/index.js");
301
- Object.defineProperty(exports, "staticTools", { enumerable: true, get: function () { return index_js_8.staticTools; } });
302
- Object.defineProperty(exports, "gatedTools", { enumerable: true, get: function () { return index_js_8.gatedTools; } });
303
- Object.defineProperty(exports, "skillScopedTools", { enumerable: true, get: function () { return index_js_8.skillScopedTools; } });
304
198
  // Cross-cutting authorization (v2.5+). `agentfootprint/security` is the
305
199
  // dedicated subpath; the root barrel also re-exports `PermissionPolicy`
306
200
  // so existing v2.4 consumers find it at the top level.
307
- var index_js_9 = require("./security/index.js");
308
- Object.defineProperty(exports, "PermissionPolicy", { enumerable: true, get: function () { return index_js_9.PermissionPolicy; } });
309
- Object.defineProperty(exports, "PolicyHaltError", { enumerable: true, get: function () { return index_js_9.PolicyHaltError; } });
310
201
  // Message Catalog Pattern (v2.5+). `agentfootprint/locales` is the
311
202
  // dedicated subpath; the root barrel also re-exports the helpers so
312
203
  // existing v2.4 consumers find them at the top level.
313
- var index_js_10 = require("./locales/index.js");
314
- Object.defineProperty(exports, "defaultCommentaryMessages", { enumerable: true, get: function () { return index_js_10.defaultCommentaryMessages; } });
315
- Object.defineProperty(exports, "defaultThinkingMessages", { enumerable: true, get: function () { return index_js_10.defaultThinkingMessages; } });
316
- Object.defineProperty(exports, "composeMessages", { enumerable: true, get: function () { return index_js_10.composeMessages; } });
317
- Object.defineProperty(exports, "validateMessages", { enumerable: true, get: function () { return index_js_10.validateMessages; } });
318
204
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;AAEH,oEAAoE;AACpE,8DAA8D;AAC9D,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,sDAAsD;AACtD,wDAAsD;AACtD,qDAAmD;AACnD,sDAAoD;AAsCpD,qCAAqC;AACrC,oDAAkC;AAMlC,oDAM8B;AAL5B,0GAAA,WAAW,OAAA;AACX,8GAAA,eAAe,OAAA;AAMjB,aAAa;AACb,wDASgC;AAR9B,gHAAA,eAAe,OAAA;AAUjB,6BAA6B;AAC7B,sDAAoC;AAEpC,yEAAyE;AACzE,uDAAuD;AACvD,mDAkB0B;AAjBxB,gHAAA,cAAc,OAAA;AACd,qHAAA,mBAAmB,OAAA;AACnB,gHAAA,cAAc,OAAA;AAEd,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,gBAAgB;AAChB,2GAAA,SAAS,OAAA;AAET,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAC7D,8GAAA,YAAY,OAAA;AAId,oEAAoE;AACpE,yEAAyE;AACzE,wEAAwE;AACxE,qEAAqE;AACrE,kDAAkD;AAClD,sDAOmC;AANjC,4GAAA,gBAAgB,OAAA;AAQlB,gBAAgB;AAChB,sDAA0F;AAAjF,8GAAA,cAAc,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAEzC,yCAAyC;AACzC,EAAE;AACF,yEAAyE;AACzE,kEAAkE;AAClE,oEAAoE;AACpE,qEAAqE;AACrE,2EAA2E;AAC3E,8EAA8E;AAC9E,0DAA0D;AAC1D,gFAUgD;AAT9C,2HAAA,kBAAkB,OAAA;AAClB,2HAAA,kBAAkB,OAAA;AAClB,yHAAA,gBAAgB,OAAA;AAChB,2HAAA,kBAAkB,OAAA;AAClB,yHAAA,gBAAgB,OAAA;AAMlB,gEAAoF;AAA3E,2GAAA,UAAU,OAAA;AACnB,8DAA0D;AAAjD,yGAAA,SAAS,OAAA;AAIlB,sDAA6D;AAApD,2GAAA,UAAU,OAAA;AAAE,0GAAA,SAAS,OAAA;AAO9B,sEAAsE;AACtE,wEAAwE;AACxE,iEAAiE;AACjE,sEAAsE;AACtE,uEAAuE;AACvE,4CAMyB;AALvB,qGAAA,SAAS,OAAA;AACT,oGAAA,QAAQ,OAAA;AACR,0GAAA,cAAc,OAAA;AACd,oGAAA,QAAQ,OAAA;AAcV,qEAAqE;AACrE,kEAAkE;AAClE,kEAAkE;AAClE,sGAQqE;AAPnE,oIAAA,0BAA0B,OAAA;AAC1B,0HAAA,gBAAgB,OAAA;AAChB,+HAAA,qBAAqB,OAAA;AACrB,0HAAA,gBAAgB,OAAA;AAChB,6HAAA,mBAAmB,OAAA;AAKrB,gEAAgE;AAChE,sEAAsE;AACtE,uDAAuD;AACvD,sEAAsE;AACtE,+DAA+D;AAC/D,gEAAgE;AAChE,wEAAwE;AACxE,mCAAmC;AACnC,0FAQ6D;AAP3D,4HAAA,sBAAsB,OAAA;AACtB,kHAAA,YAAY,OAAA;AACZ,sHAAA,gBAAgB,OAAA;AAOlB,qBAAqB;AACrB,gDAM2B;AALzB,qGAAA,OAAO,OAAA;AACP,4GAAA,cAAc,OAAA;AAMhB,yEAAyE;AACzE,yEAAyE;AACzE,6EAA6E;AAC7E,gFAG8C;AAF5C,+HAAA,oBAAoB,OAAA;AAItB,2EAA2E;AAC3E,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,0FAGmD;AAFjD,yIAAA,yBAAyB,OAAA;AAG3B,4CAOyB;AANvB,iGAAA,KAAK,OAAA;AACL,wGAAA,YAAY,OAAA;AAuBd,0DAMgC;AAL9B,oHAAA,iBAAiB,OAAA;AACjB,oHAAA,iBAAiB,OAAA;AACjB,0HAAA,uBAAuB,OAAA;AAKzB,4DAAsF;AAA7E,sHAAA,kBAAkB,OAAA;AAC3B,gEAKmC;AAJjC,qHAAA,eAAe,OAAA;AAWjB,4CAAyF;AAAhF,sGAAA,UAAU,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAC/D,0DAOgC;AAN9B,sHAAA,mBAAmB,OAAA;AACnB,4HAAA,yBAAyB,OAAA;AAO3B,iEAAiE;AACjE,yDAAyD;AACzD,kEAAkE;AAClE,6DAA6D;AAC7D,wEAAwE;AACxE,kEAAkE;AAClE,2DAA2D;AAC3D,sEAAsE;AAEtE,4BAA4B;AAC5B,uDAMiC;AAL/B,uGAAA,QAAQ,OAAA;AACR,8GAAA,eAAe,OAAA;AAKjB,uDAWiC;AAV/B,uGAAA,QAAQ,OAAA;AACR,8GAAA,eAAe,OAAA;AAUjB,6DAOoC;AANlC,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAMpB,+CAO6B;AAN3B,+FAAA,IAAI,OAAA;AACJ,sGAAA,WAAW,OAAA;AAOb,2BAA2B;AAC3B,8EAA8E;AAC9E,wEAAwE;AACxE,mEAAmE;AACnE,qEAAqE;AACrE,EAAE;AACF,kEAAkE;AAClE,qEAAqE;AACrE,wEAAwE;AACxE,gEAAgE;AAChE,gEAAgE;AAChE,6CAA6C;AAC7C,EAAE;AACF,2FAA2F;AAC3F,wFAAwF;AACxF,kEAKwC;AAJtC,+GAAA,YAAY,OAAA;AACZ,uGAAA,IAAI,OAAA;AAIN,0FAIoD;AAHlD,+HAAA,gBAAgB,OAAA;AAChB,uIAAA,wBAAwB,OAAA;AAG1B,oFAOiD;AAN/C,yHAAA,aAAa,OAAA;AACb,iIAAA,qBAAqB,OAAA;AAErB,8HAAA,kBAAkB,OAAA;AAClB,sIAAA,0BAA0B,OAAA;AAG5B,sEAM0C;AALxC,mHAAA,cAAc,OAAA;AACd,oHAAA,eAAe,OAAA;AAMjB,+DAA+D;AAC/D,yCAAgF;AAAvE,kGAAA,KAAK,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAEvC,oEAAoE;AACpE,gEAAgE;AAChE,4DAuEyC;AAhEvC,SAAS;AACT,8GAAA,kBAAkB,OAAA;AAClB,uHAAA,2BAA2B,OAAA;AAC3B,kHAAA,sBAAsB,OAAA;AAGtB,6CAA6C;AAC7C,6GAAA,iBAAiB,OAAA;AAEjB,+GAAA,mBAAmB,OAAA;AAEnB,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AAEb,+GAAA,mBAAmB,OAAA;AACnB,8GAAA,kBAAkB,OAAA;AAMlB,0GAAA,cAAc,OAAA;AAEd,sGAAA,UAAU,OAAA;AAEV,0EAA0E;AAC1E,2GAAA,eAAe,OAAA;AAGf,yCAAyC;AACzC,sGAAA,UAAU,OAAA;AACV,kGAAA,MAAM,OAAA;AACN,oHAAA,wBAAwB,OAAA;AAoBxB,8EAA8E;AAC9E,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AACf,uGAAA,WAAW,OAAA;AAIX,qEAAqE;AACrE,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AAGhB,qEAAqE;AACrE,0DAA0D;AAC1D,sDAAoC;AAEpC,uEAAuE;AACvE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,8CAA8C;AAC9C,uDAQoC;AAPlC,YAAY;AACZ,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AACjB,wGAAA,YAAY,OAAA;AACZ,6GAAA,iBAAiB,OAAA;AACjB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEd,oDAIiC;AAH/B,kBAAkB;AAClB,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AAEd,oDAIiC;AAH/B,kBAAkB;AAClB,gHAAA,oBAAoB,OAAA;AACpB,4GAAA,gBAAgB,OAAA;AAElB,8CAsB2B;AArBzB,+DAA+D;AAC/D,wGAAA,YAAY,OAAA;AACZ,wGAAA,YAAY,OAAA;AACZ,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,gHAAA,oBAAoB,OAAA;AAQpB,iEAAiE;AACjE,iEAAiE;AACjE,4BAA4B;AAC5B,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA;AACZ,6GAAA,iBAAiB,OAAA;AAKnB,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,+CAM4B;AAL1B,qGAAA,SAAS,OAAA;AAET,0GAAA,cAAc,OAAA;AAKhB,kEAAkE;AAClE,sEAAsE;AACtE,sEAAsE;AACtE,6BAA6B;AAC7B,+CAW4B;AAV1B,qGAAA,SAAS,OAAA;AACT,yGAAA,aAAa,OAAA;AAWf,wEAAwE;AACxE,qEAAqE;AACrE,mEAAmE;AACnE,sEAAsE;AACtE,sEAAsE;AACtE,sDAOmC;AANjC,uGAAA,WAAW,OAAA;AACX,sGAAA,UAAU,OAAA;AACV,4GAAA,gBAAgB,OAAA;AAMlB,wEAAwE;AACxE,wEAAwE;AACxE,uDAAuD;AACvD,gDAM6B;AAL3B,4GAAA,gBAAgB,OAAA;AAChB,2GAAA,eAAe,OAAA;AAMjB,mEAAmE;AACnE,oEAAoE;AACpE,sDAAsD;AACtD,gDAM4B;AAL1B,sHAAA,yBAAyB,OAAA;AACzB,oHAAA,uBAAuB,OAAA;AACvB,4GAAA,eAAe,OAAA;AACf,6GAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@
19
19
  * may change before GA.
20
20
  */
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.CONTEXT_BISECT_DEFAULTS = exports.bisectCulprits = exports.findLoopHeads = exports.bucketByAnchors = exports.assembleTrajectory = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.DEFAULT_RECENCY_DECAY = exports.shortlistEarlyCulprits = exports.MIN_LOOPS_SAVED = exports.classifySuspect = exports.assignCostVerdicts = exports.verdictFor = exports.runAblationProbe = exports.probeFlipped = exports.median = exports.defaultOutcomeComparator = exports.costStatsFrom = exports.applyAblations = exports.ablationForSuspect = exports.toBacktrackTrace = exports.suspectLabel = exports.localizeContextBug = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.defaultSuspectClassifier = exports.runRestorationProbe = exports.findDroppedContext = exports.stepOutputText = exports.llmEdgeWeigher = void 0;
22
+ exports.CONTEXT_BISECT_DEFAULTS = exports.bisectCulprits = exports.findLoopHeads = exports.bucketByAnchors = exports.assembleTrajectory = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.DEFAULT_RECENCY_DECAY = exports.shortlistEarlyCulprits = exports.MIN_LOOPS_SAVED = exports.classifySuspect = exports.assignCostVerdicts = exports.verdictFor = exports.runAblationProbe = exports.probeFlipped = exports.median = exports.defaultOutcomeComparator = exports.costStatsFrom = exports.applyAblations = exports.ablationForSuspect = exports.sliceToBacktrackTrace = exports.toBacktrackTrace = exports.suspectLabel = exports.localizeContextBug = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.defaultSuspectClassifier = exports.runRestorationProbe = exports.findDroppedContext = exports.stepOutputText = exports.llmEdgeWeigher = void 0;
23
23
  var llmEdgeWeigher_js_1 = require("./llmEdgeWeigher.js");
24
24
  Object.defineProperty(exports, "llmEdgeWeigher", { enumerable: true, get: function () { return llmEdgeWeigher_js_1.llmEdgeWeigher; } });
25
25
  Object.defineProperty(exports, "stepOutputText", { enumerable: true, get: function () { return llmEdgeWeigher_js_1.stepOutputText; } });
@@ -36,6 +36,10 @@ Object.defineProperty(exports, "localizeContextBug", { enumerable: true, get: fu
36
36
  Object.defineProperty(exports, "suspectLabel", { enumerable: true, get: function () { return localize_js_1.suspectLabel; } });
37
37
  var toBacktrackTrace_js_1 = require("./toBacktrackTrace.js");
38
38
  Object.defineProperty(exports, "toBacktrackTrace", { enumerable: true, get: function () { return toBacktrackTrace_js_1.toBacktrackTrace; } });
39
+ // sliceToBacktrackTrace — the STRUCTURAL sibling: a footprintjs variable
40
+ // slice (sliceToJSON) on the same atui board, honestly weaker chips.
41
+ var sliceToBacktrackTrace_js_1 = require("./sliceToBacktrackTrace.js");
42
+ Object.defineProperty(exports, "sliceToBacktrackTrace", { enumerable: true, get: function () { return sliceToBacktrackTrace_js_1.sliceToBacktrackTrace; } });
39
43
  var ablation_js_1 = require("./ablation.js");
40
44
  Object.defineProperty(exports, "ablationForSuspect", { enumerable: true, get: function () { return ablation_js_1.ablationForSuspect; } });
41
45
  Object.defineProperty(exports, "applyAblations", { enumerable: true, get: function () { return ablation_js_1.applyAblations; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAEH,yDAM6B;AAL3B,mHAAA,cAAc,OAAA;AACd,mHAAA,cAAc,OAAA;AAMhB,oFAAoF;AACpF,yDAK6B;AAJ3B,uHAAA,kBAAkB,OAAA;AAKpB,mDAK0B;AAJxB,qHAAA,mBAAmB,OAAA;AAMrB,6CAUuB;AATrB,uHAAA,wBAAwB,OAAA;AACxB,qHAAA,sBAAsB,OAAA;AACtB,mHAAA,oBAAoB,OAAA;AACpB,iHAAA,kBAAkB,OAAA;AAClB,2GAAA,YAAY,OAAA;AAOd,6DAQ+B;AAP7B,uHAAA,gBAAgB,OAAA;AASlB,6CAWuB;AAVrB,iHAAA,kBAAkB,OAAA;AAClB,6GAAA,cAAc,OAAA;AACd,4GAAA,aAAa,OAAA;AACb,uHAAA,wBAAwB,OAAA;AACxB,qGAAA,MAAM,OAAA;AACN,2GAAA,YAAY,OAAA;AACZ,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AAKZ,8EAA8E;AAC9E,qCAAiF;AAAxE,6GAAA,kBAAkB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,0GAAA,eAAe,OAAA;AAE7D,gGAAgG;AAChG,mDAM0B;AALxB,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AAMvB,qGAAqG;AACrG,qDAQ2B;AAPzB,6GAAA,UAAU,OAAA;AACV,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AAOvB,4EAA4E;AAC5E,6CAA6C;AAC7C,iDAUyB;AATvB,mHAAA,kBAAkB,OAAA;AAClB,gHAAA,eAAe,OAAA;AACf,8GAAA,aAAa,OAAA;AASf,yCAKqB;AAJnB,2GAAA,cAAc,OAAA;AAMhB,uCA2BoB;AA1BlB,mHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAEH,yDAM6B;AAL3B,mHAAA,cAAc,OAAA;AACd,mHAAA,cAAc,OAAA;AAMhB,oFAAoF;AACpF,yDAK6B;AAJ3B,uHAAA,kBAAkB,OAAA;AAKpB,mDAK0B;AAJxB,qHAAA,mBAAmB,OAAA;AAMrB,6CAUuB;AATrB,uHAAA,wBAAwB,OAAA;AACxB,qHAAA,sBAAsB,OAAA;AACtB,mHAAA,oBAAoB,OAAA;AACpB,iHAAA,kBAAkB,OAAA;AAClB,2GAAA,YAAY,OAAA;AAOd,6DAQ+B;AAP7B,uHAAA,gBAAgB,OAAA;AAQlB,yEAAyE;AACzE,qEAAqE;AACrE,uEAAsG;AAA7F,iIAAA,qBAAqB,OAAA;AAE9B,6CAWuB;AAVrB,iHAAA,kBAAkB,OAAA;AAClB,6GAAA,cAAc,OAAA;AACd,4GAAA,aAAa,OAAA;AACb,uHAAA,wBAAwB,OAAA;AACxB,qGAAA,MAAM,OAAA;AACN,2GAAA,YAAY,OAAA;AACZ,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AAKZ,8EAA8E;AAC9E,qCAAiF;AAAxE,6GAAA,kBAAkB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,0GAAA,eAAe,OAAA;AAE7D,gGAAgG;AAChG,mDAM0B;AALxB,wHAAA,sBAAsB,OAAA;AACtB,uHAAA,qBAAqB,OAAA;AAMvB,qGAAqG;AACrG,qDAQ2B;AAPzB,6GAAA,UAAU,OAAA;AACV,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AAOvB,4EAA4E;AAC5E,6CAA6C;AAC7C,iDAUyB;AATvB,mHAAA,kBAAkB,OAAA;AAClB,gHAAA,eAAe,OAAA;AACf,8GAAA,aAAa,OAAA;AASf,yCAKqB;AAJnB,2GAAA,cAAc,OAAA;AAMhB,uCA2BoB;AA1BlB,mHAAA,uBAAuB,OAAA"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ /**
3
+ * sliceToBacktrackTrace — serialize a footprintjs VARIABLE SLICE
4
+ * (`sliceToJSON(sliceForKey(...))` from `footprintjs/trace`) into the
5
+ * BacktrackTrace shape agentThinkingUI's <BacktrackView>/<BacktrackOverlay>
6
+ * renders.
7
+ *
8
+ * The sibling of {@link toBacktrackTrace}: that one maps a LOCALIZER REPORT
9
+ * (scored suspects, ablation verdicts); this one maps a STRUCTURAL SLICE —
10
+ * the exact dependency chain behind one variable, with no influence claims
11
+ * at all. Same board, honestly weaker chips:
12
+ *
13
+ * - `mode` is ALWAYS 'correlational' — a slice is exact STRUCTURE, but it
14
+ * never tested influence; the default modeLabel says exactly that.
15
+ * - every card is `upperBound: true` (the UI's hatched meter + star): the
16
+ * score is 1/(1+depth) — hop PROXIMITY, a deterministic layout aid, not
17
+ * evidence. The honesty lines state the formula so nobody reads it as
18
+ * influence.
19
+ * - slice honesty rides along verbatim: reads-coverage warning
20
+ * (readTracking off), truncation, per-node incomplete-sources counts,
21
+ * and honest ABSENCE — a missing slice renders an empty board whose
22
+ * honesty lines say why ('never written' → initial state / frozen args /
23
+ * closure), never a fabricated suspect.
24
+ *
25
+ * Pure mapping, no UI dependency, framework-agnostic JSON on both sides —
26
+ * the human and the LLM triage the SAME artifact (the parity loop: an agent
27
+ * emits this, a person confirms or overrides on the board).
28
+ */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.sliceToBacktrackTrace = void 0;
31
+ /** The structural-honesty lines every slice board carries. */
32
+ const SLICE_CLAIMS_LINES = [
33
+ 'scores are hop proximity (1/(1+depth)) — a layout aid, not influence; every card is a path-only upper bound.',
34
+ 'this board shows exact dependency STRUCTURE; only ablation verdicts make causal claims.',
35
+ ];
36
+ /**
37
+ * Shortest hop chain root → node over the slice's id-referenced edges
38
+ * (BFS; edges point child→parent, i.e. away from the root).
39
+ */
40
+ function pathTo(json, targetId) {
41
+ if (!json.edges || !json.writerId || targetId === json.writerId)
42
+ return undefined;
43
+ const prev = new Map();
44
+ const queue = [json.writerId];
45
+ const seen = new Set(queue);
46
+ while (queue.length > 0) {
47
+ const cur = queue.shift();
48
+ if (cur === targetId)
49
+ break;
50
+ for (const e of json.edges) {
51
+ if (e.from !== cur || seen.has(e.to))
52
+ continue;
53
+ seen.add(e.to);
54
+ prev.set(e.to, { from: e.from, key: e.key, kind: e.kind });
55
+ queue.push(e.to);
56
+ }
57
+ }
58
+ if (!prev.has(targetId))
59
+ return undefined;
60
+ const hops = [];
61
+ let cur = targetId;
62
+ while (cur !== json.writerId) {
63
+ const p = prev.get(cur);
64
+ hops.unshift({ key: p.key ?? '', kind: p.kind, via: `${p.from} ← ${cur}` });
65
+ cur = p.from;
66
+ }
67
+ return hops.length > 1 ? hops : undefined;
68
+ }
69
+ /**
70
+ * Serialize a variable slice for agentThinkingUI's BacktrackView. See the
71
+ * module doc — structural honesty is the whole design.
72
+ */
73
+ function sliceToBacktrackTrace(json, opts) {
74
+ const max = opts.maxSuspects ?? 6;
75
+ const claim = opts.claim ?? `Why is '${json.key}' what it is?`;
76
+ const honesty = [];
77
+ if (json.missing === 'never-written') {
78
+ honesty.push(`⚠ '${json.key}' was never written in this run — the value came from initial state, frozen run input (args), or a closure; the commit log cannot see those.`);
79
+ }
80
+ else if (json.missing === 'empty-log') {
81
+ honesty.push('⚠ the commit log is empty — nothing executed.');
82
+ }
83
+ if (json.readsCoverage && json.readsCoverage.steps > 1 && json.readsCoverage.stepsWithReads === 0) {
84
+ honesty.push('⚠ reads were not recorded (readTracking off) — upstream dependencies are unknowable, NOT absent.');
85
+ }
86
+ if (json.truncated) {
87
+ honesty.push(`⚠ slice truncated (${[json.truncated.byDepth && 'depth', json.truncated.byNodes && 'node budget']
88
+ .filter(Boolean)
89
+ .join(' + ')}) — older causes exist beyond this horizon.`);
90
+ }
91
+ // Honest absence: an empty board whose honesty says why.
92
+ if (!json.writerId || !json.nodes) {
93
+ return {
94
+ claim,
95
+ mode: 'correlational',
96
+ modeLabel: opts.modeLabel ?? 'no slice — see honesty',
97
+ agent: opts.agent,
98
+ model: opts.model,
99
+ answer: opts.answer,
100
+ decidedAt: { id: json.key, label: `'${json.key}' (no recorded writer)`, kind: opts.decidedAtKind ?? 'rule' },
101
+ suspects: [],
102
+ honesty: [...honesty, ...SLICE_CLAIMS_LINES],
103
+ };
104
+ }
105
+ const writer = json.nodes[json.writerId];
106
+ let incompleteCount = 0;
107
+ // Non-root nodes in their BFS insertion order (sliceToJSON preserves it).
108
+ const entries = Object.entries(json.nodes).filter(([id]) => id !== json.writerId);
109
+ const cards = entries.map(([id, node], i) => {
110
+ if (node.incompleteSources && node.incompleteSources.length > 0)
111
+ incompleteCount++;
112
+ const inboundEdge = json.edges?.find((e) => e.to === id);
113
+ return {
114
+ kind: 'stage',
115
+ name: node.stageName,
116
+ score: Number((1 / (1 + node.depth)).toFixed(2)),
117
+ rank: i + 1,
118
+ upperBound: true,
119
+ edge: inboundEdge
120
+ ? { key: inboundEdge.key, weight: inboundEdge.weight, kind: inboundEdge.kind }
121
+ : undefined,
122
+ path: pathTo(json, id),
123
+ bornAt: { id, label: node.stageName, via: 'stage commit' },
124
+ };
125
+ });
126
+ if (incompleteCount > 0) {
127
+ honesty.push(`⚠ ${incompleteCount} step${incompleteCount === 1 ? '' : 's'} in the chain also consumed untracked inputs (args/env/silent reads) — the slice may be incomplete there.`);
128
+ }
129
+ const selected = cards.slice(0, max);
130
+ const dropped = cards.slice(max);
131
+ const folded = dropped.length > 0
132
+ ? `${dropped.length} more step${dropped.length === 1 ? '' : 's'} folded — ` +
133
+ dropped.map((c) => `#${c.rank} ${c.bornAt.id}`).join(' · ') +
134
+ ' — every id drillable with the trace toolpack'
135
+ : undefined;
136
+ return {
137
+ claim,
138
+ mode: 'correlational',
139
+ modeLabel: opts.modeLabel ?? 'exact dependency chain — structural, not ablation-tested',
140
+ agent: opts.agent,
141
+ model: opts.model,
142
+ answer: opts.answer,
143
+ decidedAt: {
144
+ id: json.writerId,
145
+ label: writer?.stageName,
146
+ kind: opts.decidedAtKind ?? 'rule',
147
+ },
148
+ suspects: selected,
149
+ folded,
150
+ honesty: [...honesty, ...SLICE_CLAIMS_LINES],
151
+ };
152
+ }
153
+ exports.sliceToBacktrackTrace = sliceToBacktrackTrace;
154
+ //# sourceMappingURL=sliceToBacktrackTrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sliceToBacktrackTrace.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/sliceToBacktrackTrace.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * factories. See `README.md` in this folder for the full concept.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.skillToolNames = exports.checkSkillContracts = exports.checkSkillContract = exports.rankEntries = exports.embeddingScorer = exports.keywordScorer = exports.SKILL_GRAPH_METADATA_KEY = exports.decide = exports.skillGraph = exports.defineInjection = exports.defineFact = exports.defineSteering = exports.buildReadSkillTool = exports.buildListSkillsTool = exports.SkillRegistry = exports.resolveSurfaceMode = exports.defineSkill = exports.defineRelevanceHint = exports.defineInstruction = exports.buildInjectionEngineSubflow = exports.evaluateInjections = exports.projectActiveInjection = void 0;
10
+ exports.skillToolNames = exports.checkSkillContracts = exports.checkSkillContract = exports.rankEntries = exports.embeddingScorer = exports.keywordScorer = exports.SKILL_GRAPH_METADATA_KEY = exports.decideSkill = exports.skillGraph = exports.defineInjection = exports.defineFact = exports.defineSteering = exports.buildReadSkillTool = exports.buildListSkillsTool = exports.SkillRegistry = exports.resolveSurfaceMode = exports.defineSkill = exports.defineRelevanceHint = exports.defineInstruction = exports.buildInjectionEngineSubflow = exports.evaluateInjections = exports.projectActiveInjection = void 0;
11
11
  // POJO projection — used by slot subflows + advanced consumers
12
12
  var types_js_1 = require("./types.js");
13
13
  Object.defineProperty(exports, "projectActiveInjection", { enumerable: true, get: function () { return types_js_1.projectActiveInjection; } });
@@ -46,7 +46,7 @@ Object.defineProperty(exports, "defineInjection", { enumerable: true, get: funct
46
46
  // graph-derived triggers + a drawable topology. Sugar over the trigger model.
47
47
  var skillGraph_js_1 = require("./skillGraph.js");
48
48
  Object.defineProperty(exports, "skillGraph", { enumerable: true, get: function () { return skillGraph_js_1.skillGraph; } });
49
- Object.defineProperty(exports, "decide", { enumerable: true, get: function () { return skillGraph_js_1.decide; } });
49
+ Object.defineProperty(exports, "decideSkill", { enumerable: true, get: function () { return skillGraph_js_1.decideSkill; } });
50
50
  Object.defineProperty(exports, "SKILL_GRAPH_METADATA_KEY", { enumerable: true, get: function () { return skillGraph_js_1.SKILL_GRAPH_METADATA_KEY; } });
51
51
  var entryScorer_js_1 = require("./entryScorer.js");
52
52
  Object.defineProperty(exports, "keywordScorer", { enumerable: true, get: function () { return entryScorer_js_1.keywordScorer; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAYH,+DAA+D;AAC/D,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,SAAS;AACT,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,mFAG0C;AAFxC,6IAAA,2BAA2B,OAAA;AAI7B,gFAAgF;AAChF,yEAAoG;AAA3F,yHAAA,iBAAiB,OAAA;AAC1B,6EAAoG;AAA3F,6HAAA,mBAAmB,OAAA;AAE5B,6DAOoC;AANlC,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAOpB,uDAA8E;AAArE,iHAAA,aAAa,OAAA;AAEtB,wEAAwE;AACxE,sEAAsE;AACtE,iEAAiE;AACjE,+BAA+B;AAC/B,iDAA8F;AAArF,oHAAA,mBAAmB,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAEhD,mEAA2F;AAAlF,mHAAA,cAAc,OAAA;AAEvB,2DAA+E;AAAtE,2GAAA,UAAU,OAAA;AAEnB,6EAA6E;AAC7E,0EAA0E;AAC1E,qDAAqD;AACrD,qEAIwC;AAHtC,qHAAA,eAAe,OAAA;AAKjB,4EAA4E;AAC5E,8EAA8E;AAC9E,iDAuByB;AAtBvB,2GAAA,UAAU,OAAA;AACV,uGAAA,MAAM,OAAA;AACN,yHAAA,wBAAwB,OAAA;AAqB1B,mDAO0B;AANxB,+GAAA,aAAa,OAAA;AACb,iHAAA,eAAe,OAAA;AACf,6GAAA,WAAW,OAAA;AAKb,uDAA6F;AAApF,sHAAA,kBAAkB,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAAE,kHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/injection-engine/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAYH,+DAA+D;AAC/D,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,SAAS;AACT,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,mFAG0C;AAFxC,6IAAA,2BAA2B,OAAA;AAI7B,gFAAgF;AAChF,yEAAoG;AAA3F,yHAAA,iBAAiB,OAAA;AAC1B,6EAAoG;AAA3F,6HAAA,mBAAmB,OAAA;AAE5B,6DAOoC;AANlC,6GAAA,WAAW,OAAA;AACX,oHAAA,kBAAkB,OAAA;AAOpB,uDAA8E;AAArE,iHAAA,aAAa,OAAA;AAEtB,wEAAwE;AACxE,sEAAsE;AACtE,iEAAiE;AACjE,+BAA+B;AAC/B,iDAA8F;AAArF,oHAAA,mBAAmB,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAEhD,mEAA2F;AAAlF,mHAAA,cAAc,OAAA;AAEvB,2DAA+E;AAAtE,2GAAA,UAAU,OAAA;AAEnB,6EAA6E;AAC7E,0EAA0E;AAC1E,qDAAqD;AACrD,qEAIwC;AAHtC,qHAAA,eAAe,OAAA;AAKjB,4EAA4E;AAC5E,8EAA8E;AAC9E,iDAuByB;AAtBvB,2GAAA,UAAU,OAAA;AACV,4GAAA,WAAW,OAAA;AACX,yHAAA,wBAAwB,OAAA;AAqB1B,mDAO0B;AANxB,+GAAA,aAAa,OAAA;AACb,iHAAA,eAAe,OAAA;AACf,6GAAA,WAAW,OAAA;AAKb,uDAA6F;AAApF,sHAAA,kBAAkB,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAAE,kHAAA,cAAc,OAAA"}
@@ -29,17 +29,18 @@
29
29
  * model-reachable set by graph position) remains deferred — see proposal 002.
30
30
  */
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.skillGraph = exports.SKILL_GRAPH_METADATA_KEY = exports.decide = void 0;
32
+ exports.skillGraph = exports.SKILL_GRAPH_METADATA_KEY = exports.decideSkill = void 0;
33
33
  const footprintjs_1 = require("footprintjs");
34
34
  const entryScorer_js_1 = require("./entryScorer.js");
35
35
  const skillGraphCheckup_js_1 = require("./skillGraphCheckup.js");
36
36
  const skillContract_js_1 = require("./skillContract.js");
37
37
  /** Build a decision node. Leaves are skills (an `Injection`); internal nodes are
38
- * other `decide(...)` results. */
39
- function decide(predicate, whenTrue, whenFalse, label) {
38
+ * other `decideSkill(...)` results. (Renamed from `decide` in v7 to avoid
39
+ * colliding with footprintjs's `decide()`.) */
40
+ function decideSkill(predicate, whenTrue, whenFalse, label) {
40
41
  return { kind: 'decision', predicate, whenTrue, whenFalse, label };
41
42
  }
42
- exports.decide = decide;
43
+ exports.decideSkill = decideSkill;
43
44
  function isDecisionNode(n) {
44
45
  return n.kind === 'decision';
45
46
  }