hcifootprint 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +524 -0
- package/dist/atom/types.d.ts +618 -0
- package/dist/atom/types.d.ts.map +1 -0
- package/dist/atom/types.js +2 -0
- package/dist/atom/types.js.map +1 -0
- package/dist/graph/builder.d.ts +31 -0
- package/dist/graph/builder.d.ts.map +1 -0
- package/dist/graph/builder.js +165 -0
- package/dist/graph/builder.js.map +1 -0
- package/dist/graph/guards.d.ts +31 -0
- package/dist/graph/guards.d.ts.map +1 -0
- package/dist/graph/guards.js +94 -0
- package/dist/graph/guards.js.map +1 -0
- package/dist/graph/skill-deps.d.ts +20 -0
- package/dist/graph/skill-deps.d.ts.map +1 -0
- package/dist/graph/skill-deps.js +15 -0
- package/dist/graph/skill-deps.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp.d.ts +16 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +15 -0
- package/dist/mcp.js.map +1 -0
- package/dist/presence/presence.d.ts +50 -0
- package/dist/presence/presence.d.ts.map +1 -0
- package/dist/presence/presence.js +126 -0
- package/dist/presence/presence.js.map +1 -0
- package/dist/registry/registry.d.ts +53 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +76 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/serve/mcp-server.d.ts +40 -0
- package/dist/serve/mcp-server.d.ts.map +1 -0
- package/dist/serve/mcp-server.js +72 -0
- package/dist/serve/mcp-server.js.map +1 -0
- package/dist/serve/mcp.d.ts +12 -0
- package/dist/serve/mcp.d.ts.map +1 -0
- package/dist/serve/mcp.js +62 -0
- package/dist/serve/mcp.js.map +1 -0
- package/dist/serve/modes.d.ts +66 -0
- package/dist/serve/modes.d.ts.map +1 -0
- package/dist/serve/modes.js +347 -0
- package/dist/serve/modes.js.map +1 -0
- package/dist/testing/harness.d.ts +156 -0
- package/dist/testing/harness.d.ts.map +1 -0
- package/dist/testing/harness.js +416 -0
- package/dist/testing/harness.js.map +1 -0
- package/dist/testing/index.d.ts +35 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +32 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/lint.d.ts +20 -0
- package/dist/testing/lint.d.ts.map +1 -0
- package/dist/testing/lint.js +18 -0
- package/dist/testing/lint.js.map +1 -0
- package/dist/testing/model/check.d.ts +30 -0
- package/dist/testing/model/check.d.ts.map +1 -0
- package/dist/testing/model/check.js +89 -0
- package/dist/testing/model/check.js.map +1 -0
- package/dist/testing/model/lint.d.ts +54 -0
- package/dist/testing/model/lint.d.ts.map +1 -0
- package/dist/testing/model/lint.js +235 -0
- package/dist/testing/model/lint.js.map +1 -0
- package/dist/testing/model/satisfiable.d.ts +25 -0
- package/dist/testing/model/satisfiable.d.ts.map +1 -0
- package/dist/testing/model/satisfiable.js +101 -0
- package/dist/testing/model/satisfiable.js.map +1 -0
- package/dist/traverse/nav-session.d.ts +108 -0
- package/dist/traverse/nav-session.d.ts.map +1 -0
- package/dist/traverse/nav-session.js +637 -0
- package/dist/traverse/nav-session.js.map +1 -0
- package/dist/traverse/session.d.ts +239 -0
- package/dist/traverse/session.d.ts.map +1 -0
- package/dist/traverse/session.js +1305 -0
- package/dist/traverse/session.js.map +1 -0
- package/dist/tree/appmap.d.ts +8 -0
- package/dist/tree/appmap.d.ts.map +1 -0
- package/dist/tree/appmap.js +259 -0
- package/dist/tree/appmap.js.map +1 -0
- package/dist/tree/types.d.ts +151 -0
- package/dist/tree/types.d.ts.map +1 -0
- package/dist/tree/types.js +2 -0
- package/dist/tree/types.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/traverse/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NavigationGraph, NavigationGraphDef, NodePathsOf } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Compile a navigation graph. The `const` type parameter preserves the literal
|
|
4
|
+
* node names, so the returned graph's session methods (registerToolGroup,
|
|
5
|
+
* setVisible, show) accept ONLY real node paths — a typo is a compile error.
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildNavigationGraph<const Def extends NavigationGraphDef>(id: string, def: Def): NavigationGraph<NodePathsOf<Def>>;
|
|
8
|
+
//# sourceMappingURL=appmap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appmap.d.ts","sourceRoot":"","sources":["../../src/tree/appmap.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAA6B,MAAM,YAAY,CAAC;AAK9G;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,GAAG,SAAS,kBAAkB,EACvE,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,GAAG,GACP,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAiPnC"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* buildNavigationGraph() — the authoring surface: one object literal, validated and
|
|
3
|
+
* frozen in one call (no .build()).
|
|
4
|
+
*
|
|
5
|
+
* The compiler's two jobs:
|
|
6
|
+
* 1. ENFORCEMENT SPINE (same philosophy as skillGraph()): every referential
|
|
7
|
+
* or shape mistake dies loudly here, because the runtime fails them
|
|
8
|
+
* silently — typos in node paths, unknown goTo pages, guard-operator
|
|
9
|
+
* typos, ambiguous skill-step suffixes, narrowing conflicts.
|
|
10
|
+
* 2. FLAT PROJECTION: the tree compiles to a Session-compatible
|
|
11
|
+
* SkillGraphSpec (qualified dot-path ids, composed guards, on=[page]) so
|
|
12
|
+
* every existing layer — frames, brief, gap ledger, MCP emission, the
|
|
13
|
+
* footprint trace stack — works on tree graphs unchanged. NavSession adds
|
|
14
|
+
* the tree semantics ON TOP of that projection.
|
|
15
|
+
*/
|
|
16
|
+
import { detectSchema } from 'footprintjs';
|
|
17
|
+
import { SkillGraphValidationError, composeGuards, guardStateKeys, validateGuardShape } from '../graph/guards.js';
|
|
18
|
+
import { InteractionSession } from '../traverse/nav-session.js';
|
|
19
|
+
/** Segment names become path/registry/MCP identities — keep the delimiters out. */
|
|
20
|
+
const BAD_SEGMENT = /[.[\]#/|]/;
|
|
21
|
+
/**
|
|
22
|
+
* Compile a navigation graph. The `const` type parameter preserves the literal
|
|
23
|
+
* node names, so the returned graph's session methods (registerToolGroup,
|
|
24
|
+
* setVisible, show) accept ONLY real node paths — a typo is a compile error.
|
|
25
|
+
*/
|
|
26
|
+
export function buildNavigationGraph(id, def) {
|
|
27
|
+
if (!id || !id.trim())
|
|
28
|
+
throw new SkillGraphValidationError('buildNavigationGraph(id) requires a non-empty id.');
|
|
29
|
+
if (!def.pages || Object.keys(def.pages).length === 0) {
|
|
30
|
+
throw new SkillGraphValidationError(`buildNavigationGraph '${id}' has no pages — declare at least one.`);
|
|
31
|
+
}
|
|
32
|
+
// Null-prototype containers: membership checks and lookups must never see
|
|
33
|
+
// Object.prototype ('toString' as a skill step would otherwise resolve to a
|
|
34
|
+
// FUNCTION and pass), and a page literally named '__proto__' must be a key,
|
|
35
|
+
// not a prototype swap.
|
|
36
|
+
const nodes = Object.create(null);
|
|
37
|
+
const toolNodes = Object.create(null);
|
|
38
|
+
const affordances = Object.create(null);
|
|
39
|
+
const pages = Object.create(null);
|
|
40
|
+
// -- walk the tree ---------------------------------------------------------
|
|
41
|
+
for (const [pageId, pageDef] of Object.entries(def.pages)) {
|
|
42
|
+
checkSegment(`page '${pageId}'`, pageId);
|
|
43
|
+
pages[pageId] = { id: pageId, route: pageDef.route, description: pageDef.does };
|
|
44
|
+
walkNode(pageId, pageId, null, 'page', pageDef, []);
|
|
45
|
+
}
|
|
46
|
+
function walkNode(path, pageId, parent, kind, nodeDef, guardChain) {
|
|
47
|
+
if (nodeDef.when) {
|
|
48
|
+
rejectEmptyWhen(`node '${path}'`, nodeDef.when);
|
|
49
|
+
validateGuardShape(`node '${path}' when`, nodeDef.when);
|
|
50
|
+
}
|
|
51
|
+
if (nodeDef.repeats && kind === 'page') {
|
|
52
|
+
throw new SkillGraphValidationError(`page '${path}' cannot be repeats — repeat a container inside it.`);
|
|
53
|
+
}
|
|
54
|
+
if (nodeDef.instances && !nodeDef.repeats) {
|
|
55
|
+
throw new SkillGraphValidationError(`node '${path}' declares an instances source but is not repeats: true.`);
|
|
56
|
+
}
|
|
57
|
+
const chain = nodeDef.when ? [...guardChain, nodeDef.when] : guardChain;
|
|
58
|
+
const node = {
|
|
59
|
+
path,
|
|
60
|
+
id: path.split('.').pop(),
|
|
61
|
+
kind,
|
|
62
|
+
parent,
|
|
63
|
+
page: pageId,
|
|
64
|
+
children: [],
|
|
65
|
+
overlay: kind === 'modal' && nodeDef.blocks !== false,
|
|
66
|
+
repeats: nodeDef.repeats ?? false,
|
|
67
|
+
// Clone: the compiled node owns its guard bytes — deepFreeze below must
|
|
68
|
+
// never freeze (or alias) the AUTHOR's live object.
|
|
69
|
+
guard: nodeDef.when ? structuredClone(nodeDef.when) : undefined,
|
|
70
|
+
description: nodeDef.does,
|
|
71
|
+
instances: nodeDef.instances,
|
|
72
|
+
};
|
|
73
|
+
nodes[path] = node;
|
|
74
|
+
const childNames = new Set();
|
|
75
|
+
const buckets = [
|
|
76
|
+
['area', nodeDef.areas],
|
|
77
|
+
['tab', nodeDef.tabs],
|
|
78
|
+
['modal', nodeDef.modals],
|
|
79
|
+
];
|
|
80
|
+
for (const [childKind, bucket] of buckets) {
|
|
81
|
+
for (const [name, childDef] of Object.entries(bucket ?? {})) {
|
|
82
|
+
checkSegment(`node '${path}' child '${name}'`, name);
|
|
83
|
+
if (childNames.has(name)) {
|
|
84
|
+
throw new SkillGraphValidationError(`node '${path}' declares '${name}' twice (areas/tabs/modals share one namespace).`);
|
|
85
|
+
}
|
|
86
|
+
childNames.add(name);
|
|
87
|
+
const childPath = `${path}.${name}`;
|
|
88
|
+
node.children.push(childPath);
|
|
89
|
+
walkNode(childPath, pageId, path, childKind, childDef, chain);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
for (const [name, tool] of Object.entries(nodeDef.tools ?? {})) {
|
|
93
|
+
checkSegment(`tool '${name}' on '${path}'`, name);
|
|
94
|
+
if (childNames.has(name)) {
|
|
95
|
+
throw new SkillGraphValidationError(`'${path}.${name}' is both a container and a tool — give one of them another name.`);
|
|
96
|
+
}
|
|
97
|
+
const qualifiedId = `${path}.${name}`;
|
|
98
|
+
compileTool(qualifiedId, [path], pageId === path ? [pageId] : [pageId], tool, chain);
|
|
99
|
+
toolNodes[qualifiedId] = [path];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// -- root-level multi-attach tools ------------------------------------------
|
|
103
|
+
for (const [name, tool] of Object.entries(def.tools ?? {})) {
|
|
104
|
+
checkSegment(`root tool '${name}'`, name);
|
|
105
|
+
const on = Array.isArray(tool.on) ? [...tool.on] : [tool.on];
|
|
106
|
+
if (on.length === 0) {
|
|
107
|
+
throw new SkillGraphValidationError(`root tool '${name}' has on: [] — list at least one page.`);
|
|
108
|
+
}
|
|
109
|
+
for (const pageId of on) {
|
|
110
|
+
if (!Object.hasOwn(def.pages, pageId)) {
|
|
111
|
+
throw new SkillGraphValidationError(`root tool '${name}' is offered on unknown page '${pageId}'. Known pages: ${Object.keys(def.pages).join(', ')}.`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (Object.hasOwn(affordances, name) || Object.hasOwn(nodes, name)) {
|
|
115
|
+
throw new SkillGraphValidationError(`root tool '${name}' collides with an existing id.`);
|
|
116
|
+
}
|
|
117
|
+
compileTool(name, on, on, tool, []);
|
|
118
|
+
toolNodes[name] = on; // a root tool lives on each page it is offered on
|
|
119
|
+
}
|
|
120
|
+
function compileTool(qualifiedId, _nodePaths, onPages, tool, guardChain) {
|
|
121
|
+
if (qualifiedId === 'leave-skill' || qualifiedId.endsWith('.leave-skill')) {
|
|
122
|
+
throw new SkillGraphValidationError(`tool name 'leave-skill' is reserved — it is the synthetic escape tool served while a skill frame is open.`);
|
|
123
|
+
}
|
|
124
|
+
if (!tool.does || !tool.does.trim()) {
|
|
125
|
+
throw new SkillGraphValidationError(`tool '${qualifiedId}' needs a 'does' — it is the one authored string both the consumer and the LLM read.`);
|
|
126
|
+
}
|
|
127
|
+
if (tool.when) {
|
|
128
|
+
rejectEmptyWhen(`tool '${qualifiedId}'`, tool.when);
|
|
129
|
+
validateGuardShape(`tool '${qualifiedId}' when`, tool.when);
|
|
130
|
+
}
|
|
131
|
+
if (tool.goTo && !Object.hasOwn(def.pages, tool.goTo)) {
|
|
132
|
+
throw new SkillGraphValidationError(`tool '${qualifiedId}' goTo unknown page '${tool.goTo}'. Known pages: ${Object.keys(def.pages).join(', ')}.`);
|
|
133
|
+
}
|
|
134
|
+
if (tool.input !== undefined && detectSchema(tool.input) === 'none') {
|
|
135
|
+
throw new SkillGraphValidationError(`tool '${qualifiedId}' has an unrecognized input schema — pass a Zod schema, a JSON Schema object, ` +
|
|
136
|
+
`or a validator with .safeParse/.parse.`);
|
|
137
|
+
}
|
|
138
|
+
const guard = composeGuards(qualifiedId, [...guardChain, ...(tool.when ? [tool.when] : [])]);
|
|
139
|
+
const effect = tool.writes || tool.goTo
|
|
140
|
+
? { ...(tool.writes ? { writes: [...tool.writes] } : {}), ...(tool.goTo ? { navigatesTo: tool.goTo } : {}) }
|
|
141
|
+
: undefined;
|
|
142
|
+
affordances[qualifiedId] = deepFreeze({
|
|
143
|
+
id: qualifiedId,
|
|
144
|
+
on: [...onPages],
|
|
145
|
+
description: tool.does,
|
|
146
|
+
binding: tool.binding ? structuredClone(tool.binding) : undefined,
|
|
147
|
+
guard,
|
|
148
|
+
effect,
|
|
149
|
+
schema: tool.input,
|
|
150
|
+
highEffect: tool.confirm ?? false,
|
|
151
|
+
role: deriveRole(tool),
|
|
152
|
+
descriptionSource: 'declared',
|
|
153
|
+
}, new Set(['schema']));
|
|
154
|
+
}
|
|
155
|
+
// -- skills (qualified paths, unambiguous-suffix resolution) ----------------
|
|
156
|
+
const skills = Object.create(null);
|
|
157
|
+
for (const [skillId, skillDef] of Object.entries(def.skills ?? {})) {
|
|
158
|
+
// Skill ids feed MCP tool names — same character rules as path segments,
|
|
159
|
+
// or two distinct skills could sanitize to ONE colliding tool name.
|
|
160
|
+
checkSegment(`skill '${skillId}'`, skillId);
|
|
161
|
+
if (!skillDef.does || !skillDef.does.trim()) {
|
|
162
|
+
throw new SkillGraphValidationError(`skill '${skillId}' needs a 'does' (planner-facing text).`);
|
|
163
|
+
}
|
|
164
|
+
if (!skillDef.steps || skillDef.steps.length === 0) {
|
|
165
|
+
throw new SkillGraphValidationError(`skill '${skillId}' needs at least one step.`);
|
|
166
|
+
}
|
|
167
|
+
if (skillDef.when) {
|
|
168
|
+
rejectEmptyWhen(`skill '${skillId}'`, skillDef.when);
|
|
169
|
+
validateGuardShape(`skill '${skillId}' when`, skillDef.when);
|
|
170
|
+
}
|
|
171
|
+
const steps = skillDef.steps.map((step) => resolveStep(skillId, step));
|
|
172
|
+
skills[skillId] = deepFreeze({
|
|
173
|
+
id: skillId,
|
|
174
|
+
description: skillDef.does,
|
|
175
|
+
steps,
|
|
176
|
+
precondition: skillDef.when ? structuredClone(skillDef.when) : undefined,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
function resolveStep(skillId, step) {
|
|
180
|
+
if (Object.hasOwn(affordances, step))
|
|
181
|
+
return step;
|
|
182
|
+
const suffix = `.${step}`;
|
|
183
|
+
const candidates = Object.keys(affordances).filter((qid) => qid.endsWith(suffix));
|
|
184
|
+
if (candidates.length === 1)
|
|
185
|
+
return candidates[0];
|
|
186
|
+
if (candidates.length === 0) {
|
|
187
|
+
throw new SkillGraphValidationError(`skill '${skillId}' step '${step}' matches no tool. Known: ${Object.keys(affordances).join(', ')}.`);
|
|
188
|
+
}
|
|
189
|
+
throw new SkillGraphValidationError(`skill '${skillId}' step '${step}' is ambiguous — qualify it: ${candidates.join(' | ')}.`);
|
|
190
|
+
}
|
|
191
|
+
// -- freeze + assemble -------------------------------------------------------
|
|
192
|
+
for (const page of Object.values(pages))
|
|
193
|
+
Object.freeze(page);
|
|
194
|
+
for (const node of Object.values(nodes))
|
|
195
|
+
deepFreeze(node, new Set(['instances']));
|
|
196
|
+
for (const paths of Object.values(toolNodes))
|
|
197
|
+
Object.freeze(paths);
|
|
198
|
+
const spec = Object.freeze({
|
|
199
|
+
id,
|
|
200
|
+
description: def.does,
|
|
201
|
+
pages: Object.freeze(pages),
|
|
202
|
+
affordances: Object.freeze(affordances),
|
|
203
|
+
skills: Object.freeze(skills),
|
|
204
|
+
});
|
|
205
|
+
const map = {
|
|
206
|
+
id,
|
|
207
|
+
spec,
|
|
208
|
+
nodes: Object.freeze(nodes),
|
|
209
|
+
toolNodes: Object.freeze(toolNodes),
|
|
210
|
+
createSession: (opts) => new InteractionSession(map, opts),
|
|
211
|
+
// Tool guards already carry the COMPOSED ancestor chain, but a guard-bearing
|
|
212
|
+
// container with no static descendant tool contributes keys only via its own
|
|
213
|
+
// node.guard (composed into mount-declared tools at runtime) — so fold those in too.
|
|
214
|
+
requiredStateKeys: () => guardStateKeys([
|
|
215
|
+
...Object.values(spec.affordances).map((aff) => aff.guard),
|
|
216
|
+
...Object.values(spec.skills).map((skill) => skill.precondition),
|
|
217
|
+
...Object.values(nodes).map((node) => node.guard),
|
|
218
|
+
]),
|
|
219
|
+
};
|
|
220
|
+
// The runtime object is path-untyped; the `const Def` signature re-attaches
|
|
221
|
+
// the literal node-path union to what the caller sees.
|
|
222
|
+
return Object.freeze(map);
|
|
223
|
+
}
|
|
224
|
+
function deriveRole(tool) {
|
|
225
|
+
if (tool.role)
|
|
226
|
+
return tool.role;
|
|
227
|
+
if (tool.goTo)
|
|
228
|
+
return 'next';
|
|
229
|
+
return 'action';
|
|
230
|
+
}
|
|
231
|
+
function checkSegment(owner, name) {
|
|
232
|
+
if (!name || !name.trim())
|
|
233
|
+
throw new SkillGraphValidationError(`${owner}: empty name.`);
|
|
234
|
+
if (BAD_SEGMENT.test(name)) {
|
|
235
|
+
throw new SkillGraphValidationError(`${owner}: '${name}' contains a reserved character (. [ ] # / |) — names become path identities.`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function rejectEmptyWhen(owner, when) {
|
|
239
|
+
if (Object.keys(when).length === 0) {
|
|
240
|
+
throw new SkillGraphValidationError(`${owner} has an empty when {} — footprint's evaluator deliberately NEVER matches an empty ` +
|
|
241
|
+
`filter (anti-vacuous-truth). Omit 'when' entirely instead.`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Freeze an object and every plain nested object/array. `skipKeys` (live
|
|
246
|
+
* references like schema validators / instances selectors) applies at the ROOT
|
|
247
|
+
* level ONLY — a state key that happens to be NAMED 'schema' deep inside a
|
|
248
|
+
* guard still freezes.
|
|
249
|
+
*/
|
|
250
|
+
function deepFreeze(value, skipKeys) {
|
|
251
|
+
for (const [key, child] of Object.entries(value)) {
|
|
252
|
+
if (skipKeys?.has(key))
|
|
253
|
+
continue;
|
|
254
|
+
if (child && typeof child === 'object')
|
|
255
|
+
deepFreeze(child);
|
|
256
|
+
}
|
|
257
|
+
return Object.freeze(value);
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=appmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appmap.js","sourceRoot":"","sources":["../../src/tree/appmap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* D18 navigation-graph authoring types — the semantic container tree a
|
|
3
|
+
* consumer already holds in their head: pages → areas / tabs / modals → tools.
|
|
4
|
+
*
|
|
5
|
+
* The dual identity: the consumer authors a NAVIGATION graph in their own
|
|
6
|
+
* vocabulary; the agent consumes the derived SKILL graph. `does:` is one
|
|
7
|
+
* authored string with two readers — the consumer's intent label IS the
|
|
8
|
+
* agent's tool description (firewall by construction: it is a source-code
|
|
9
|
+
* literal, never runtime text).
|
|
10
|
+
*
|
|
11
|
+
* Exactly THREE authored semantics exist — everything else is descriptive:
|
|
12
|
+
* - `modals` — overlay masking (a shown modal suppresses sibling tools;
|
|
13
|
+
* `blocks: false` opts a popover out). Modals are NEVER assumed
|
|
14
|
+
* active: closed until registered/shown.
|
|
15
|
+
* - `tabs` — an exclusivity PRIOR ("at most one child shown"). NOT a
|
|
16
|
+
* statechart: no transitions, no initial, no history.
|
|
17
|
+
* - `repeats` — a template node with runtime instance keys (one parameterized
|
|
18
|
+
* tool for N cards, never N tools).
|
|
19
|
+
*/
|
|
20
|
+
import type { WhereFilter } from 'footprintjs';
|
|
21
|
+
import type { Binding, CanonicalRole, SkillGraphSpec } from '../atom/types.js';
|
|
22
|
+
import type { InteractionSession, InteractionSessionOptions } from '../traverse/nav-session.js';
|
|
23
|
+
/** A tool on a node. Only `does` is required — details may materialize at mount. */
|
|
24
|
+
export interface ToolDef {
|
|
25
|
+
/** AUTHORED intent, one string two readers (consumer label = agent tool description). */
|
|
26
|
+
does: string;
|
|
27
|
+
/** How to reach it on screen (optional — L0b actuation; handlers don't need it). */
|
|
28
|
+
binding?: Binding;
|
|
29
|
+
/** Availability guard over projected state (AND-composed with every ancestor `when`). */
|
|
30
|
+
when?: WhereFilter;
|
|
31
|
+
/** State keys this tool claims to change. */
|
|
32
|
+
writes?: string[];
|
|
33
|
+
/** Page this tool claims to navigate to (a top-level page id). */
|
|
34
|
+
goTo?: string;
|
|
35
|
+
/** Requires explicit confirmation (the high-effect gate). */
|
|
36
|
+
confirm?: boolean;
|
|
37
|
+
/** Payload contract: Zod, JSON Schema, or any .safeParse/.parse validator. */
|
|
38
|
+
input?: unknown;
|
|
39
|
+
role?: CanonicalRole;
|
|
40
|
+
}
|
|
41
|
+
/** A container node: areas coexist (AND), tabs exclude (at most one shown), modals overlay. */
|
|
42
|
+
export interface NodeDef {
|
|
43
|
+
/** Optional authored description of the container itself. */
|
|
44
|
+
does?: string;
|
|
45
|
+
/** Container guard: every descendant tool's guard is AND-narrowed by this. */
|
|
46
|
+
when?: WhereFilter;
|
|
47
|
+
areas?: Record<string, NodeDef>;
|
|
48
|
+
tabs?: Record<string, NodeDef>;
|
|
49
|
+
modals?: Record<string, ModalDef>;
|
|
50
|
+
/** Template container: instances carry runtime keys (order cards, product tiles). */
|
|
51
|
+
repeats?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* L2 existence source for a repeats container: the COMPLETE instance set,
|
|
54
|
+
* from projected state (order #57 exists while scrolled out of view).
|
|
55
|
+
* Without it, served instance lists fall back to the mounted window —
|
|
56
|
+
* honestly marked enumeration:'mounted-window'.
|
|
57
|
+
*/
|
|
58
|
+
instances?: (state: Record<string, unknown>) => string[];
|
|
59
|
+
tools?: Record<string, ToolDef>;
|
|
60
|
+
}
|
|
61
|
+
export interface ModalDef extends NodeDef {
|
|
62
|
+
/** Default true: a shown modal masks tools outside it. `false` = popover (coexists). */
|
|
63
|
+
blocks?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface PageNodeDef extends NodeDef {
|
|
66
|
+
route?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface SkillDef2 {
|
|
69
|
+
does: string;
|
|
70
|
+
/** Steps by qualified path ('checkout.confirm-order.place-order') or unambiguous suffix ('place-order'). */
|
|
71
|
+
steps: string[];
|
|
72
|
+
when?: WhereFilter;
|
|
73
|
+
}
|
|
74
|
+
export interface NavigationGraphDef {
|
|
75
|
+
does?: string;
|
|
76
|
+
pages: Record<string, PageNodeDef>;
|
|
77
|
+
/** Root-level multi-attach tools: offered on several PAGES at once. */
|
|
78
|
+
tools?: Record<string, ToolDef & {
|
|
79
|
+
on: string | string[];
|
|
80
|
+
}>;
|
|
81
|
+
skills?: Record<string, SkillDef2>;
|
|
82
|
+
}
|
|
83
|
+
type BucketPaths<Prefix extends string, B> = B extends Record<string, unknown> ? {
|
|
84
|
+
[K in keyof B & string]: `${Prefix}.${K}` | ChildPaths<`${Prefix}.${K}`, B[K]>;
|
|
85
|
+
}[keyof B & string] : never;
|
|
86
|
+
type ChildPaths<Prefix extends string, N> = (N extends {
|
|
87
|
+
areas: infer A;
|
|
88
|
+
} ? BucketPaths<Prefix, A> : never) | (N extends {
|
|
89
|
+
tabs: infer T;
|
|
90
|
+
} ? BucketPaths<Prefix, T> : never) | (N extends {
|
|
91
|
+
modals: infer M;
|
|
92
|
+
} ? BucketPaths<Prefix, M> : never);
|
|
93
|
+
/** The union of every declared node path in a NavigationGraphDef literal. */
|
|
94
|
+
export type NodePathsOf<Def> = Def extends {
|
|
95
|
+
pages: infer P;
|
|
96
|
+
} ? P extends Record<string, unknown> ? {
|
|
97
|
+
[K in keyof P & string]: K | ChildPaths<K, P[K]>;
|
|
98
|
+
}[keyof P & string] : string : string;
|
|
99
|
+
export type NodeKind = 'page' | 'area' | 'tab' | 'modal';
|
|
100
|
+
export interface MapNode {
|
|
101
|
+
/** Dot path — the node's identity ('checkout.confirm-order'). */
|
|
102
|
+
path: string;
|
|
103
|
+
/** Last path segment. */
|
|
104
|
+
id: string;
|
|
105
|
+
kind: NodeKind;
|
|
106
|
+
/** Parent path; null for pages. */
|
|
107
|
+
parent: string | null;
|
|
108
|
+
/** Owning page id (== path's first segment). */
|
|
109
|
+
page: string;
|
|
110
|
+
/** Child NODE paths (tools are not children — see AppMap.toolNodes). */
|
|
111
|
+
children: string[];
|
|
112
|
+
/** True for a blocking modal (kind 'modal' with blocks !== false). */
|
|
113
|
+
overlay: boolean;
|
|
114
|
+
repeats: boolean;
|
|
115
|
+
/** The node's OWN `when` (tool guards already carry the composed chain). */
|
|
116
|
+
guard?: WhereFilter;
|
|
117
|
+
description?: string;
|
|
118
|
+
instances?: (state: Record<string, unknown>) => string[];
|
|
119
|
+
}
|
|
120
|
+
export interface NavigationGraph<Paths extends string = string> {
|
|
121
|
+
id: string;
|
|
122
|
+
/**
|
|
123
|
+
* The flat projection: a Session-compatible SkillGraphSpec whose affordance
|
|
124
|
+
* ids are qualified dot paths and whose guards are the composed root→leaf
|
|
125
|
+
* chains. A plain Session runs on it unchanged; InteractionSession adds the tree.
|
|
126
|
+
*/
|
|
127
|
+
spec: SkillGraphSpec;
|
|
128
|
+
/** Every node by path — pages included. */
|
|
129
|
+
nodes: Record<string, MapNode>;
|
|
130
|
+
/** Qualified tool id → the node path(s) it lives on (root tools list their pages). */
|
|
131
|
+
toolNodes: Record<string, string[]>;
|
|
132
|
+
/** Create a live interaction session; `Paths` carries the typed node paths through. */
|
|
133
|
+
createSession(opts?: InteractionSessionOptions): InteractionSession<Paths>;
|
|
134
|
+
/**
|
|
135
|
+
* The sorted, deduped set of state keys every guard in this graph reads —
|
|
136
|
+
* across ALL tool `when`s, container-node `when`s, and skill preconditions,
|
|
137
|
+
* whether or not the node is currently mounted. Seed each of these in your
|
|
138
|
+
* state projector: a guard key ABSENT from projected state is NOT treated as
|
|
139
|
+
* false and hidden — it is served WITH the `guardUnevaluated` honesty marker
|
|
140
|
+
* (the edge is offered, the missing condition flagged as taken-on-faith), so
|
|
141
|
+
* an incompletely-seeded projector silently degrades honest availability into
|
|
142
|
+
* unevaluated-guess territory. Container `when`s are included because they
|
|
143
|
+
* AND-compose into every descendant tool's guard (at build, and into
|
|
144
|
+
* mount-declared tools at runtime), so a guard-bearing container must be
|
|
145
|
+
* seeded even before a tool lands under it. A projection covering this whole
|
|
146
|
+
* set is what lets guards actually decide rather than defer.
|
|
147
|
+
*/
|
|
148
|
+
requiredStateKeys(): string[];
|
|
149
|
+
}
|
|
150
|
+
export {};
|
|
151
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tree/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tree/types.ts"],"names":[],"mappings":""}
|