agentfootprint 9.32.0 → 9.34.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 (112) hide show
  1. package/dist/adapters/hosting/firestoreSessions.js +813 -0
  2. package/dist/adapters/hosting/firestoreSessions.js.map +1 -0
  3. package/dist/core/agent/buildToolRegistry.js +1 -1
  4. package/dist/core/agent/buildToolRegistry.js.map +1 -1
  5. package/dist/core/agent/toolEffects.js +4 -10
  6. package/dist/core/agent/toolEffects.js.map +1 -1
  7. package/dist/core/slots/buildToolsSlot.js +2 -1
  8. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  9. package/dist/doors/skill-graph.js +109 -0
  10. package/dist/doors/skill-graph.js.map +1 -0
  11. package/dist/esm/adapters/hosting/firestoreSessions.d.ts +474 -0
  12. package/dist/esm/adapters/hosting/firestoreSessions.js +803 -0
  13. package/dist/esm/adapters/hosting/firestoreSessions.js.map +1 -0
  14. package/dist/esm/core/agent/buildToolRegistry.js +2 -2
  15. package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
  16. package/dist/esm/core/agent/toolEffects.d.ts +15 -7
  17. package/dist/esm/core/agent/toolEffects.js +2 -9
  18. package/dist/esm/core/agent/toolEffects.js.map +1 -1
  19. package/dist/esm/core/slots/buildToolsSlot.js +2 -1
  20. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  21. package/dist/esm/doors/skill-graph.d.ts +70 -0
  22. package/dist/esm/doors/skill-graph.js +77 -0
  23. package/dist/esm/doors/skill-graph.js.map +1 -0
  24. package/dist/esm/hosting-providers.d.ts +22 -0
  25. package/dist/esm/hosting-providers.js +27 -0
  26. package/dist/esm/hosting-providers.js.map +1 -1
  27. package/dist/esm/lib/injection-engine/devWarn.d.ts +47 -0
  28. package/dist/esm/lib/injection-engine/devWarn.js +57 -0
  29. package/dist/esm/lib/injection-engine/devWarn.js.map +1 -0
  30. package/dist/esm/lib/injection-engine/devWarnHost.d.ts +16 -0
  31. package/dist/esm/lib/injection-engine/devWarnHost.js +19 -0
  32. package/dist/esm/lib/injection-engine/devWarnHost.js.map +1 -0
  33. package/dist/esm/lib/injection-engine/hostContract.d.ts +211 -0
  34. package/dist/esm/lib/injection-engine/hostContract.js +37 -0
  35. package/dist/esm/lib/injection-engine/hostContract.js.map +1 -0
  36. package/dist/esm/lib/injection-engine/index.d.ts +7 -2
  37. package/dist/esm/lib/injection-engine/index.js +18 -2
  38. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  39. package/dist/esm/lib/injection-engine/skillGraph.d.ts +3 -2
  40. package/dist/esm/lib/injection-engine/skillGraph.js +7 -12
  41. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  42. package/dist/esm/lib/injection-engine/skillIntent.js +4 -7
  43. package/dist/esm/lib/injection-engine/skillIntent.js.map +1 -1
  44. package/dist/esm/lib/injection-engine/skillSteps.d.ts +18 -10
  45. package/dist/esm/lib/injection-engine/skillSteps.js +17 -12
  46. package/dist/esm/lib/injection-engine/skillSteps.js.map +1 -1
  47. package/dist/esm/lib/injection-engine/skillToolDescriptors.d.ts +119 -0
  48. package/dist/esm/lib/injection-engine/skillToolDescriptors.js +182 -0
  49. package/dist/esm/lib/injection-engine/skillToolDescriptors.js.map +1 -0
  50. package/dist/esm/lib/injection-engine/skillTools.d.ts +41 -79
  51. package/dist/esm/lib/injection-engine/skillTools.js +61 -137
  52. package/dist/esm/lib/injection-engine/skillTools.js.map +1 -1
  53. package/dist/esm/lib/injection-engine/toolOutcome.d.ts +30 -0
  54. package/dist/esm/lib/injection-engine/toolOutcome.js +31 -0
  55. package/dist/esm/lib/injection-engine/toolOutcome.js.map +1 -0
  56. package/dist/esm/lib/injection-engine/types.d.ts +38 -14
  57. package/dist/esm/lib/injection-engine/types.js.map +1 -1
  58. package/dist/hosting-providers.js +34 -1
  59. package/dist/hosting-providers.js.map +1 -1
  60. package/dist/lib/injection-engine/devWarn.js +63 -0
  61. package/dist/lib/injection-engine/devWarn.js.map +1 -0
  62. package/dist/lib/injection-engine/devWarnHost.js +21 -0
  63. package/dist/lib/injection-engine/devWarnHost.js.map +1 -0
  64. package/dist/lib/injection-engine/hostContract.js +38 -0
  65. package/dist/lib/injection-engine/hostContract.js.map +1 -0
  66. package/dist/lib/injection-engine/index.js +23 -2
  67. package/dist/lib/injection-engine/index.js.map +1 -1
  68. package/dist/lib/injection-engine/skillGraph.js +7 -12
  69. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  70. package/dist/lib/injection-engine/skillIntent.js +4 -7
  71. package/dist/lib/injection-engine/skillIntent.js.map +1 -1
  72. package/dist/lib/injection-engine/skillSteps.js +19 -14
  73. package/dist/lib/injection-engine/skillSteps.js.map +1 -1
  74. package/dist/lib/injection-engine/skillToolDescriptors.js +187 -0
  75. package/dist/lib/injection-engine/skillToolDescriptors.js.map +1 -0
  76. package/dist/lib/injection-engine/skillTools.js +63 -138
  77. package/dist/lib/injection-engine/skillTools.js.map +1 -1
  78. package/dist/lib/injection-engine/toolOutcome.js +34 -0
  79. package/dist/lib/injection-engine/toolOutcome.js.map +1 -0
  80. package/dist/lib/injection-engine/types.js.map +1 -1
  81. package/dist/types/adapters/hosting/firestoreSessions.d.ts +475 -0
  82. package/dist/types/adapters/hosting/firestoreSessions.d.ts.map +1 -0
  83. package/dist/types/core/agent/buildToolRegistry.d.ts.map +1 -1
  84. package/dist/types/core/agent/toolEffects.d.ts +15 -7
  85. package/dist/types/core/agent/toolEffects.d.ts.map +1 -1
  86. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  87. package/dist/types/doors/skill-graph.d.ts +71 -0
  88. package/dist/types/doors/skill-graph.d.ts.map +1 -0
  89. package/dist/types/hosting-providers.d.ts +22 -0
  90. package/dist/types/hosting-providers.d.ts.map +1 -1
  91. package/dist/types/lib/injection-engine/devWarn.d.ts +48 -0
  92. package/dist/types/lib/injection-engine/devWarn.d.ts.map +1 -0
  93. package/dist/types/lib/injection-engine/devWarnHost.d.ts +17 -0
  94. package/dist/types/lib/injection-engine/devWarnHost.d.ts.map +1 -0
  95. package/dist/types/lib/injection-engine/hostContract.d.ts +212 -0
  96. package/dist/types/lib/injection-engine/hostContract.d.ts.map +1 -0
  97. package/dist/types/lib/injection-engine/index.d.ts +7 -2
  98. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  99. package/dist/types/lib/injection-engine/skillGraph.d.ts +3 -2
  100. package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
  101. package/dist/types/lib/injection-engine/skillIntent.d.ts.map +1 -1
  102. package/dist/types/lib/injection-engine/skillSteps.d.ts +18 -10
  103. package/dist/types/lib/injection-engine/skillSteps.d.ts.map +1 -1
  104. package/dist/types/lib/injection-engine/skillToolDescriptors.d.ts +120 -0
  105. package/dist/types/lib/injection-engine/skillToolDescriptors.d.ts.map +1 -0
  106. package/dist/types/lib/injection-engine/skillTools.d.ts +41 -79
  107. package/dist/types/lib/injection-engine/skillTools.d.ts.map +1 -1
  108. package/dist/types/lib/injection-engine/toolOutcome.d.ts +31 -0
  109. package/dist/types/lib/injection-engine/toolOutcome.d.ts.map +1 -0
  110. package/dist/types/lib/injection-engine/types.d.ts +38 -14
  111. package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
  112. package/package.json +20 -2
@@ -10,8 +10,8 @@
10
10
  * declarations `skillGraph.ts` hands it; imports no engine machinery beyond
11
11
  * the injection-context type.
12
12
  */
13
- import { isDevMode } from 'footprintjs';
14
13
  import { validateIntentScores } from './intentScorer.js';
14
+ import { devWarn } from './devWarn.js';
15
15
  import { decideTier2 } from './routingPolicy.js';
16
16
  /** Build the plan. `describeFor` resolves a skill id to its description (the
17
17
  * incumbent's fallback intent text). */
@@ -44,12 +44,9 @@ export function buildTurnRoutingPlan(input) {
44
44
  return { id: e.id, ...(witness !== undefined && { witness }) };
45
45
  }
46
46
  catch (err) {
47
- if (isDevMode()) {
48
- // eslint-disable-next-line no-console
49
- console.warn(`agentfootprint skillGraph: entry "${e.id}" predicate threw during the ` +
50
- `turn-start cascade — treated as no-match. Predicates must be pure + total. ` +
51
- `${err instanceof Error ? err.message : String(err)}`);
52
- }
47
+ devWarn(`agentfootprint skillGraph: entry "${e.id}" predicate threw during the ` +
48
+ `turn-start cascade — treated as no-match. Predicates must be pure + total. ` +
49
+ `${err instanceof Error ? err.message : String(err)}`);
53
50
  }
54
51
  }
55
52
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"skillIntent.js","sourceRoot":"","sources":["../../../../src/lib/injection-engine/skillIntent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillIntent.js","sourceRoot":"","sources":["../../../../src/lib/injection-engine/skillIntent.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@
38
38
  * `[]` = the feature is on and no procedure is active; the key is absent
39
39
  * entirely on agents with no stepped skill (zero-cost-when-unused).
40
40
  */
41
- import type { Tool } from '../../core/tools.js';
41
+ import type { SkillToolDescriptor } from './hostContract.js';
42
42
  import type { Injection } from './types.js';
43
43
  /** One step of a declared procedure. */
44
44
  export interface SkillStep {
@@ -160,16 +160,24 @@ export declare function rekeyStepPointer(args: {
160
160
  readonly stepPlanFor: StepPlanFor;
161
161
  }): StepPointerCarrier;
162
162
  /**
163
- * Build the `skip_step` tool. Auto-attached to the dispatch registry when
164
- * ≥1 registered skill declares steps (the `read_skill` auto-attach seam) —
165
- * always dispatchable, but OFFERED (schema in the request) only while a
166
- * stepped tenure is active and unfinished. Its execute returns a
167
- * placeholder; the tool-calls stage overwrites the model-visible result
168
- * with the authoritative sentence, exactly as the skill-graph gate
169
- * overwrites `read_skill` refusals — bookkeeping lives where the batch
170
- * order lives.
163
+ * DESCRIBE the `skip_step` tool — name, schema, and the placeholder result.
164
+ *
165
+ * A description, not a tool: this module owns every sentence the model reads
166
+ * about a procedure, and that includes this one, but building the framework's
167
+ * tool object would mean importing the framework's tool factory into the
168
+ * grammar. `skillTools.ts#buildSkipStepTool` does the wrapping (9.34.0).
169
+ *
170
+ * The tool is auto-attached to the dispatch registry when ≥1 registered skill
171
+ * declares steps (the `read_skill` auto-attach seam) — always dispatchable,
172
+ * but OFFERED (schema in the request) only while a stepped tenure is active
173
+ * and unfinished. Its execute returns a placeholder; the tool-calls stage
174
+ * overwrites the model-visible result with the authoritative sentence,
175
+ * exactly as the skill-graph gate overwrites `read_skill` refusals —
176
+ * bookkeeping lives where the batch order lives.
171
177
  */
172
- export declare function buildSkipStepTool(): Tool;
178
+ export declare function skipStepDescriptor(): SkillToolDescriptor<{
179
+ reason: string;
180
+ }, string>;
173
181
  /** `[Step 3 of 6 — <note>] ` — prefixed onto the current step's tool
174
182
  * description in the offer (a rebuilt schema copy, substituted by name). */
175
183
  export declare function stepBannerPrefix(ptr: StepPointer, step: SkillStep): string;
@@ -38,7 +38,6 @@
38
38
  * `[]` = the feature is on and no procedure is active; the key is absent
39
39
  * entirely on agents with no stepped skill (zero-cost-when-unused).
40
40
  */
41
- import { defineTool } from '../../core/tools.js';
42
41
  import { assertArtifactVocabulary } from './skillVocabulary.js';
43
42
  /** The integrity tool's reserved name. Auto-attached (dispatchable) when
44
43
  * ≥1 registered skill declares steps; OFFERED only while a stepped tenure
@@ -168,17 +167,23 @@ export function rekeyStepPointer(args) {
168
167
  }
169
168
  // ─── The skip_step integrity tool ─────────────────────────────────────
170
169
  /**
171
- * Build the `skip_step` tool. Auto-attached to the dispatch registry when
172
- * ≥1 registered skill declares steps (the `read_skill` auto-attach seam) —
173
- * always dispatchable, but OFFERED (schema in the request) only while a
174
- * stepped tenure is active and unfinished. Its execute returns a
175
- * placeholder; the tool-calls stage overwrites the model-visible result
176
- * with the authoritative sentence, exactly as the skill-graph gate
177
- * overwrites `read_skill` refusals — bookkeeping lives where the batch
178
- * order lives.
170
+ * DESCRIBE the `skip_step` tool — name, schema, and the placeholder result.
171
+ *
172
+ * A description, not a tool: this module owns every sentence the model reads
173
+ * about a procedure, and that includes this one, but building the framework's
174
+ * tool object would mean importing the framework's tool factory into the
175
+ * grammar. `skillTools.ts#buildSkipStepTool` does the wrapping (9.34.0).
176
+ *
177
+ * The tool is auto-attached to the dispatch registry when ≥1 registered skill
178
+ * declares steps (the `read_skill` auto-attach seam) — always dispatchable,
179
+ * but OFFERED (schema in the request) only while a stepped tenure is active
180
+ * and unfinished. Its execute returns a placeholder; the tool-calls stage
181
+ * overwrites the model-visible result with the authoritative sentence,
182
+ * exactly as the skill-graph gate overwrites `read_skill` refusals —
183
+ * bookkeeping lives where the batch order lives.
179
184
  */
180
- export function buildSkipStepTool() {
181
- return defineTool({
185
+ export function skipStepDescriptor() {
186
+ return {
182
187
  name: SKIP_STEP_TOOL_NAME,
183
188
  description: 'Skip the current step of the active skill procedure, with the reason on the record. ' +
184
189
  'Use it when the step cannot or should not run for this input.',
@@ -196,7 +201,7 @@ export function buildSkipStepTool() {
196
201
  execute: () => 'skip_step noted. (Raw placeholder — the agent loop replaces this result with the ' +
197
202
  'authoritative step record; reading it verbatim means the runner that dispatched ' +
198
203
  'skip_step does not track step procedures.)',
199
- });
204
+ };
200
205
  }
201
206
  // ─── Every sentence the model reads ───────────────────────────────────
202
207
  /** `[Step 3 of 6 — <note>] ` — prefixed onto the current step's tool
@@ -1 +1 @@
1
- {"version":3,"file":"skillSteps.js","sourceRoot":"","sources":["../../../../src/lib/injection-engine/skillSteps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillSteps.js","sourceRoot":"","sources":["../../../../src/lib/injection-engine/skillSteps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * skillToolDescriptors — the graph DESCRIBING the tools it needs (9.34.0).
3
+ *
4
+ * `read_skill` is not an ordinary tool. It is how the model asks to move the
5
+ * skill-graph cursor: its enum is the catalog, its description is the offer
6
+ * (what is reachable from here, what will be refused, what this turn's menu
7
+ * proposes), and its result is what the model reads about the skill it just
8
+ * activated. Every one of those sentences is the GRAPH's to write.
9
+ *
10
+ * What the graph must NOT do is construct a framework's tool object. That is
11
+ * why this module produces {@link SkillToolDescriptor} POJOs — name,
12
+ * description, input schema, a pure `execute` — and `skillTools.ts` (the host
13
+ * adapter) is the one line that turns each into an agentfootprint `Tool` with
14
+ * `defineTool`. A host on another framework calls the same functions and
15
+ * wraps the result in its own tool type instead.
16
+ *
17
+ * ONE catalog, ONE grammar: the Agent's auto-attach path, `SkillRegistry`
18
+ * and any foreign host all read the descriptions from here, so they cannot
19
+ * drift the way a second hand-written `read_skill` would.
20
+ *
21
+ * Zone: PURE CORE. Pinned by
22
+ * `test/lib/injection-engine/skill-graph-fence.test.ts`.
23
+ */
24
+ import type { SkillToolDescriptor } from './hostContract.js';
25
+ import type { Injection } from './types.js';
26
+ /**
27
+ * What the gate will ACTUALLY grant right now — the ids `read_skill` should be
28
+ * offering, as opposed to the ids it can dispatch (8.5.0).
29
+ *
30
+ * Without this the tool enumerated every registered skill while the skill-graph gate
31
+ * admitted only `reachableSkills(cursor) ∪ open`, so a route target the cursor cannot
32
+ * reach was advertised on every iteration and refused on every call. The model was
33
+ * being asked to choose from a menu the library knew it would reject.
34
+ */
35
+ export interface ReadSkillOffer {
36
+ /**
37
+ * Ids the gate will grant from the current cursor. Omit when there is no
38
+ * graph — then the description is the plain catalog it has always been,
39
+ * minus anything {@link ReadSkillOffer.hiddenIds} removes.
40
+ */
41
+ readonly grantable?: readonly string[];
42
+ /** Say the rest are refusable rather than hiding them. Hiding a skill it can see
43
+ * in `list_skills` (and in the enum) would just move the confusion; naming the
44
+ * boundary lets the model route around it in one step instead of guessing. */
45
+ readonly showRefusable?: boolean;
46
+ /**
47
+ * Ids removed from the description ENTIRELY — not listed as reachable, not
48
+ * listed as refusable, not named at all (9.11.0).
49
+ *
50
+ * The opposite treatment from the graph's `shut` set above, and deliberately
51
+ * so. A graph refusal is about WHERE THE CURSOR IS: the skill exists for this
52
+ * caller, it is simply not reachable from here, so naming it lets the model
53
+ * route to it in one step. A hidden skill is about WHO IS ASKING: no cursor
54
+ * move makes it available, and naming it would tell a role about a capability
55
+ * it will never be allowed to use — leaking the shape of somebody else's
56
+ * permissions into this model's prompt.
57
+ *
58
+ * The ENUM keeps the full catalog either way (see below). Narrowing it would
59
+ * turn a policy refusal into a generic schema error, and the model would
60
+ * never read the policy's own message.
61
+ */
62
+ readonly hiddenIds?: readonly string[];
63
+ /**
64
+ * Turn-start MENU (SG-C): when set, the description LEADS with these
65
+ * candidates (id + one-line description; advisory relevance %s beside
66
+ * near-tie candidates), names the cursor, and states STAY as a first-class
67
+ * option ("answer without calling read_skill to stay in '<cursor>'").
68
+ *
69
+ * Set only while the turn's menu verdict is outstanding (turn start, before
70
+ * any accepted pick) — the tools slot reads it off the SAME verdict the
71
+ * record carries, so the offer can never drift from `turn_routed.offered`.
72
+ * The enum stays the full catalog (the 8.5.0 law below — narrowing it would
73
+ * retire four honesty mechanisms), and {@link ReadSkillOffer.hiddenIds}
74
+ * filters menu rows exactly as it filters every other list: a role-hidden
75
+ * skill is never NAMED, menu or no menu.
76
+ */
77
+ readonly menu?: {
78
+ readonly candidates: ReadonlyArray<{
79
+ readonly id: string;
80
+ readonly relevance?: number;
81
+ }>;
82
+ /** Names the cursor the STAY sentence refers to ("you are in billing"). */
83
+ readonly cursorId?: string;
84
+ /** STAY spelled out as a first-class option (mid-conversation menus). */
85
+ readonly stay?: boolean;
86
+ };
87
+ }
88
+ /**
89
+ * Describe the `list_skills` tool — a no-arg tool that returns the registered
90
+ * skills as `{ id, description }[]`. Lets the LLM discover skills without
91
+ * paying the prompt-token cost of embedding the catalog into every system
92
+ * prompt.
93
+ *
94
+ * Pairs with {@link readSkillDescriptor} (which actually activates a skill by
95
+ * id). Returns `undefined` when there are no skills — a tool offering an
96
+ * empty catalog is noise.
97
+ */
98
+ export declare function listSkillsDescriptor(skills: readonly Injection[]): SkillToolDescriptor<Record<string, never>, string> | undefined;
99
+ /**
100
+ * Describe the `read_skill` tool — THE cursor door. The LLM picks WHICH skill
101
+ * via the `id` argument; the host's loop is what turns an accepted pick into a
102
+ * cursor move (see `SkillGraphHost`, obligations 2 and 3).
103
+ *
104
+ * `execute` returns a confirmation string, or the skill body verbatim for the
105
+ * `'tool-only'` / `'both'` surface modes (recency-first delivery). The actual
106
+ * bookkeeping — appending the requested id to the activated set, gating it
107
+ * against `reachableSkills`, publishing the accepted pick — is the HOST's,
108
+ * because only the host sees the tool call.
109
+ *
110
+ * Pass `offer` to scope the DESCRIPTION to what the graph's gate will actually
111
+ * grant from the current cursor (8.5.0); the enum stays the full catalog
112
+ * either way. Omit it and the description is byte-identical to the plain
113
+ * catalog it has always been.
114
+ *
115
+ * Returns `undefined` when there are no skills.
116
+ */
117
+ export declare function readSkillDescriptor(skills: readonly Injection[], offer?: ReadSkillOffer): SkillToolDescriptor<{
118
+ id: string;
119
+ }, string> | undefined;
@@ -0,0 +1,182 @@
1
+ /**
2
+ * skillToolDescriptors — the graph DESCRIBING the tools it needs (9.34.0).
3
+ *
4
+ * `read_skill` is not an ordinary tool. It is how the model asks to move the
5
+ * skill-graph cursor: its enum is the catalog, its description is the offer
6
+ * (what is reachable from here, what will be refused, what this turn's menu
7
+ * proposes), and its result is what the model reads about the skill it just
8
+ * activated. Every one of those sentences is the GRAPH's to write.
9
+ *
10
+ * What the graph must NOT do is construct a framework's tool object. That is
11
+ * why this module produces {@link SkillToolDescriptor} POJOs — name,
12
+ * description, input schema, a pure `execute` — and `skillTools.ts` (the host
13
+ * adapter) is the one line that turns each into an agentfootprint `Tool` with
14
+ * `defineTool`. A host on another framework calls the same functions and
15
+ * wraps the result in its own tool type instead.
16
+ *
17
+ * ONE catalog, ONE grammar: the Agent's auto-attach path, `SkillRegistry`
18
+ * and any foreign host all read the descriptions from here, so they cannot
19
+ * drift the way a second hand-written `read_skill` would.
20
+ *
21
+ * Zone: PURE CORE. Pinned by
22
+ * `test/lib/injection-engine/skill-graph-fence.test.ts`.
23
+ */
24
+ /** Compose the tool description: one catalog, or the offer split in two. */
25
+ function describeOffer(allSkills, line, fullCatalog, offer) {
26
+ const tail = `Pass the skill's id. The skill's body becomes part of the system prompt and any ` +
27
+ `gated tools become available on the next call.`;
28
+ if (!offer) {
29
+ return `Activate a skill for the next iteration. Available skills:\n${fullCatalog}\n\n${tail}`;
30
+ }
31
+ // Hidden first, so nothing below can name one — the menu, the graph split,
32
+ // the "not reachable" list and the plain catalog all read from this.
33
+ const hidden = new Set(offer.hiddenIds ?? []);
34
+ const skills = hidden.size > 0 ? allSkills.filter((s) => !hidden.has(s.id)) : allSkills;
35
+ // The turn-start MENU leads (SG-C) — rendered from the turn verdict, ids
36
+ // resolved against the (hidden-filtered) catalog so an id this description
37
+ // may not name, or one that is not a skill here, is silently skipped rather
38
+ // than fabricated into a row.
39
+ const byId = new Map(skills.map((s) => [s.id, s]));
40
+ const menuRows = (offer.menu?.candidates ?? [])
41
+ .filter((c) => byId.has(c.id))
42
+ .map((c) => {
43
+ const pct = c.relevance !== undefined ? ` (relevance ~${Math.round(c.relevance * 100)}%)` : '';
44
+ return `${line(byId.get(c.id))}${pct}`;
45
+ });
46
+ const menuLead = offer.menu !== undefined && menuRows.length > 0
47
+ ? `This turn needs a routing choice — no declared rule or intent decisively matched. ` +
48
+ `Closest candidates (advisory; an offline scorer ranked them and cannot see the ` +
49
+ `conversation):\n${menuRows.join('\n')}\n` +
50
+ (offer.menu.stay === true && offer.menu.cursorId !== undefined
51
+ ? `You are in '${offer.menu.cursorId}'. Staying is a first-class option: answer ` +
52
+ `WITHOUT calling read_skill to stay in '${offer.menu.cursorId}'.\n\n`
53
+ : `Answering WITHOUT calling read_skill is also allowed.\n\n`)
54
+ : '';
55
+ if (offer.grantable === undefined) {
56
+ // No graph — the plain catalog, filtered. A role with nothing left is told
57
+ // plainly rather than handed an empty list to interpret.
58
+ return skills.length === 0
59
+ ? `Activate a skill for the next iteration. No skills are available to you — ` +
60
+ `answer without one, or say what you are unable to do.\n\n${tail}`
61
+ : `${menuLead}Activate a skill for the next iteration. Available skills:\n${skills
62
+ .map(line)
63
+ .join('\n')}\n\n${tail}`;
64
+ }
65
+ const grantable = new Set(offer.grantable);
66
+ const open = skills.filter((s) => grantable.has(s.id));
67
+ const shut = skills.filter((s) => !grantable.has(s.id));
68
+ const parts = [
69
+ open.length > 0
70
+ ? `Reachable from here:\n${open.map(line).join('\n')}`
71
+ : 'Nothing is reachable from here — answer with the skill you are in, or finish.',
72
+ ];
73
+ if (offer.showRefusable !== false && shut.length > 0) {
74
+ parts.push(`Not reachable from here (read_skill for these will be refused):\n${shut
75
+ .map(line)
76
+ .join('\n')}`);
77
+ }
78
+ return `${menuLead}Activate a skill for the next iteration.\n\n${parts.join('\n\n')}\n\n${tail}`;
79
+ }
80
+ /**
81
+ * Describe the `list_skills` tool — a no-arg tool that returns the registered
82
+ * skills as `{ id, description }[]`. Lets the LLM discover skills without
83
+ * paying the prompt-token cost of embedding the catalog into every system
84
+ * prompt.
85
+ *
86
+ * Pairs with {@link readSkillDescriptor} (which actually activates a skill by
87
+ * id). Returns `undefined` when there are no skills — a tool offering an
88
+ * empty catalog is noise.
89
+ */
90
+ export function listSkillsDescriptor(skills) {
91
+ if (skills.length === 0)
92
+ return undefined;
93
+ // Capture a stable snapshot — the registry/agent calls this at
94
+ // build time, so the tool reflects the catalog as of registration.
95
+ const catalog = skills.map((s) => ({
96
+ id: s.id,
97
+ description: s.description ?? '(no description)',
98
+ }));
99
+ return {
100
+ name: 'list_skills',
101
+ description: 'List all available skills with their ids and descriptions. ' +
102
+ 'Use this to discover what skills exist before calling read_skill.',
103
+ inputSchema: { type: 'object', properties: {}, additionalProperties: false },
104
+ execute: () => {
105
+ // Return as a JSON-serialized string so the LLM can parse easily.
106
+ return JSON.stringify(catalog, null, 2);
107
+ },
108
+ };
109
+ }
110
+ /**
111
+ * Describe the `read_skill` tool — THE cursor door. The LLM picks WHICH skill
112
+ * via the `id` argument; the host's loop is what turns an accepted pick into a
113
+ * cursor move (see `SkillGraphHost`, obligations 2 and 3).
114
+ *
115
+ * `execute` returns a confirmation string, or the skill body verbatim for the
116
+ * `'tool-only'` / `'both'` surface modes (recency-first delivery). The actual
117
+ * bookkeeping — appending the requested id to the activated set, gating it
118
+ * against `reachableSkills`, publishing the accepted pick — is the HOST's,
119
+ * because only the host sees the tool call.
120
+ *
121
+ * Pass `offer` to scope the DESCRIPTION to what the graph's gate will actually
122
+ * grant from the current cursor (8.5.0); the enum stays the full catalog
123
+ * either way. Omit it and the description is byte-identical to the plain
124
+ * catalog it has always been.
125
+ *
126
+ * Returns `undefined` when there are no skills.
127
+ */
128
+ export function readSkillDescriptor(skills, offer) {
129
+ if (skills.length === 0)
130
+ return undefined;
131
+ const skillIds = skills.map((s) => s.id);
132
+ const line = (s) => ` - ${s.id}: ${s.description ?? '(no description)'}`;
133
+ const skillCatalog = skills.map(line).join('\n');
134
+ const byId = new Map();
135
+ for (const s of skills) {
136
+ const meta = s.metadata;
137
+ byId.set(s.id, {
138
+ body: s.inject.systemPrompt ?? '',
139
+ surfaceMode: meta?.surfaceMode ?? 'auto',
140
+ });
141
+ }
142
+ return {
143
+ name: 'read_skill',
144
+ description: describeOffer(skills, line, skillCatalog, offer),
145
+ inputSchema: {
146
+ type: 'object',
147
+ properties: {
148
+ id: {
149
+ type: 'string',
150
+ // The FULL catalog, always — deliberately NOT narrowed to the reachable
151
+ // set (8.5.0). `toolArgValidation` defaults to `'enforce'` and runs BEFORE
152
+ // the skill-graph gate, rejecting an off-enum id with a generic schema
153
+ // error and `error = true`, which the gate then skips. Narrowing this
154
+ // would silently retire the gate's teaching refusal, the
155
+ // `agentfootprint.skill.rejected` event, `routeRecorder`'s rejection hops
156
+ // and the rejected-cap governor's only input — four honesty mechanisms
157
+ // traded for one. The OFFER is narrowed in the description instead, which
158
+ // is what the model actually reads to choose.
159
+ enum: skillIds,
160
+ description: 'The skill id to activate.',
161
+ },
162
+ },
163
+ required: ['id'],
164
+ },
165
+ execute: ({ id }) => {
166
+ const entry = byId.get(id);
167
+ if (!entry) {
168
+ return `Unknown skill '${id}'. Available: ${skillIds.join(', ')}`;
169
+ }
170
+ // Block C — per-mode tool-result dispatch:
171
+ // - 'tool-only' / 'both' → return body verbatim (recency-first
172
+ // delivery; LLM sees it as the most recent tool result).
173
+ // - 'system-prompt' / 'auto' / unspecified → return confirmation
174
+ // only; body lands via system slot on the next iteration.
175
+ if ((entry.surfaceMode === 'tool-only' || entry.surfaceMode === 'both') && entry.body) {
176
+ return entry.body;
177
+ }
178
+ return `Skill '${id}' activated for the next iteration.`;
179
+ },
180
+ };
181
+ }
182
+ //# sourceMappingURL=skillToolDescriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillToolDescriptors.js","sourceRoot":"","sources":["../../../../src/lib/injection-engine/skillToolDescriptors.ts"],"names":[],"mappings":"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"}