@zenalexa/unicli 0.224.1 → 0.225.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/AGENTS.md +3 -3
- package/README.md +91 -91
- package/README.zh-CN.md +68 -68
- package/dist/adapters/xueqiu/extra.js +2 -2
- package/dist/adapters/xueqiu/extra.js.map +1 -1
- package/dist/browser/cdp-client.d.ts +10 -0
- package/dist/browser/cdp-client.d.ts.map +1 -1
- package/dist/browser/cdp-client.js +21 -0
- package/dist/browser/cdp-client.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/architecture.d.ts +3 -1
- package/dist/commands/architecture.d.ts.map +1 -1
- package/dist/commands/architecture.js +13 -5
- package/dist/commands/architecture.js.map +1 -1
- package/dist/commands/delivery.d.ts.map +1 -1
- package/dist/commands/delivery.js.map +1 -1
- package/dist/commands/describe.d.ts.map +1 -1
- package/dist/commands/describe.js +104 -9
- package/dist/commands/describe.js.map +1 -1
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/dispatch.js +3 -13
- package/dist/commands/dispatch.js.map +1 -1
- package/dist/commands/do.d.ts +2 -1
- package/dist/commands/do.d.ts.map +1 -1
- package/dist/commands/do.js +43 -4
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/social.d.ts.map +1 -1
- package/dist/commands/social.js +3 -13
- package/dist/commands/social.js.map +1 -1
- package/dist/core/architecture-tree.d.ts +26 -6
- package/dist/core/architecture-tree.d.ts.map +1 -1
- package/dist/core/architecture-tree.js +184 -40
- package/dist/core/architecture-tree.js.map +1 -1
- package/dist/core/capability-matrix.d.ts +63 -0
- package/dist/core/capability-matrix.d.ts.map +1 -0
- package/dist/core/capability-matrix.js +316 -0
- package/dist/core/capability-matrix.js.map +1 -0
- package/dist/core/command-contract-lint.d.ts.map +1 -1
- package/dist/core/command-contract-lint.js +3 -1
- package/dist/core/command-contract-lint.js.map +1 -1
- package/dist/core/command-contract.d.ts +10 -3
- package/dist/core/command-contract.d.ts.map +1 -1
- package/dist/core/command-contract.js +87 -5
- package/dist/core/command-contract.js.map +1 -1
- package/dist/discovery/core-catalog.d.ts +1 -0
- package/dist/discovery/core-catalog.d.ts.map +1 -1
- package/dist/discovery/core-catalog.js +22 -5
- package/dist/discovery/core-catalog.js.map +1 -1
- package/dist/engine/cascade.d.ts.map +1 -1
- package/dist/engine/cascade.js +21 -25
- package/dist/engine/cascade.js.map +1 -1
- package/dist/engine/chromium-cookies.d.ts +27 -0
- package/dist/engine/chromium-cookies.d.ts.map +1 -1
- package/dist/engine/chromium-cookies.js +53 -14
- package/dist/engine/chromium-cookies.js.map +1 -1
- package/dist/engine/cookie-capture.d.ts +30 -0
- package/dist/engine/cookie-capture.d.ts.map +1 -0
- package/dist/engine/cookie-capture.js +104 -0
- package/dist/engine/cookie-capture.js.map +1 -0
- package/dist/engine/cookie-extractor.d.ts.map +1 -1
- package/dist/engine/cookie-extractor.js +4 -12
- package/dist/engine/cookie-extractor.js.map +1 -1
- package/dist/engine/cookie-refresh.d.ts +59 -8
- package/dist/engine/cookie-refresh.d.ts.map +1 -1
- package/dist/engine/cookie-refresh.js +80 -58
- package/dist/engine/cookie-refresh.js.map +1 -1
- package/dist/engine/cookie-source.d.ts +110 -0
- package/dist/engine/cookie-source.d.ts.map +1 -0
- package/dist/engine/cookie-source.js +207 -0
- package/dist/engine/cookie-source.js.map +1 -0
- package/dist/engine/cookies.d.ts +37 -25
- package/dist/engine/cookies.d.ts.map +1 -1
- package/dist/engine/cookies.js +58 -157
- package/dist/engine/cookies.js.map +1 -1
- package/dist/engine/delivery/index.d.ts +2 -1
- package/dist/engine/delivery/index.d.ts.map +1 -1
- package/dist/engine/delivery/index.js +2 -1
- package/dist/engine/delivery/index.js.map +1 -1
- package/dist/engine/delivery/spec.d.ts +44 -0
- package/dist/engine/delivery/spec.d.ts.map +1 -0
- package/dist/engine/delivery/spec.js +82 -0
- package/dist/engine/delivery/spec.js.map +1 -0
- package/dist/engine/executor.d.ts +17 -6
- package/dist/engine/executor.d.ts.map +1 -1
- package/dist/engine/executor.js +131 -68
- package/dist/engine/executor.js.map +1 -1
- package/dist/engine/runtime.d.ts.map +1 -1
- package/dist/engine/runtime.js +9 -4
- package/dist/engine/runtime.js.map +1 -1
- package/dist/engine/step-observer.d.ts +62 -0
- package/dist/engine/step-observer.d.ts.map +1 -0
- package/dist/engine/step-observer.js +38 -0
- package/dist/engine/step-observer.js.map +1 -0
- package/dist/engine/steps/browser-helpers.d.ts.map +1 -1
- package/dist/engine/steps/browser-helpers.js +2 -8
- package/dist/engine/steps/browser-helpers.js.map +1 -1
- package/dist/engine/steps/fetch-text.d.ts.map +1 -1
- package/dist/engine/steps/fetch-text.js +106 -33
- package/dist/engine/steps/fetch-text.js.map +1 -1
- package/dist/engine/steps/fetch.d.ts +20 -0
- package/dist/engine/steps/fetch.d.ts.map +1 -1
- package/dist/engine/steps/fetch.js.map +1 -1
- package/dist/engine/steps/index.d.ts +2 -0
- package/dist/engine/steps/index.d.ts.map +1 -1
- package/dist/engine/steps/index.js +2 -0
- package/dist/engine/steps/index.js.map +1 -1
- package/dist/engine/steps/split-text.d.ts +26 -0
- package/dist/engine/steps/split-text.d.ts.map +1 -0
- package/dist/engine/steps/split-text.js +89 -0
- package/dist/engine/steps/split-text.js.map +1 -0
- package/dist/engine/steps/to-entries.d.ts +9 -0
- package/dist/engine/steps/to-entries.d.ts.map +1 -0
- package/dist/engine/steps/to-entries.js +27 -0
- package/dist/engine/steps/to-entries.js.map +1 -0
- package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
- package/dist/fast-path/handlers/discovery.js +7 -7
- package/dist/fast-path/handlers/discovery.js.map +1 -1
- package/dist/manifest-compact.txt +1 -1
- package/dist/manifest.json +142 -1
- package/dist/mcp/tools.js +1 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/output/auth-guidance.d.ts +17 -3
- package/dist/output/auth-guidance.d.ts.map +1 -1
- package/dist/output/auth-guidance.js +27 -3
- package/dist/output/auth-guidance.js.map +1 -1
- package/dist/output/error-map.d.ts.map +1 -1
- package/dist/output/error-map.js +4 -0
- package/dist/output/error-map.js.map +1 -1
- package/package.json +2 -2
- package/server.json +2 -2
- package/skills/unicli/SKILL.md +1 -1
- package/skills/unicli-claude-code/SKILL.md +1 -1
- package/skills/unicli-hermes/SKILL.md +1 -1
- package/src/adapters/12306/price.yaml +91 -0
- package/src/adapters/12306/stations.yaml +52 -0
- package/src/adapters/12306/trains.yaml +129 -0
- package/src/adapters/xueqiu/extra.ts +5 -2
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/core/capability-matrix.ts
|
|
3
|
+
* @does Builds live-catalog substrate and workflow readiness matrices for agent-to-computer control.
|
|
4
|
+
* @needs command inventory rows from src/core/architecture-tree.ts
|
|
5
|
+
* @feeds architecture tree/audit payloads and architecture regression tests.
|
|
6
|
+
* @breaks Misclassification overstates what Uni-CLI can control, especially visual or workflow coverage.
|
|
7
|
+
* @invariants Readiness is catalog-derived only; live verification must be represented as required next evidence, not implied success.
|
|
8
|
+
* @side-effects none
|
|
9
|
+
* @perf O(commands * surfaces + commands * workflows), bounded by catalog size.
|
|
10
|
+
* @concurrency pure and reentrant.
|
|
11
|
+
* @test tests/unit/core/capability-matrix.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-05-31
|
|
14
|
+
*/
|
|
15
|
+
export const CAPABILITY_SURFACES = [
|
|
16
|
+
"web",
|
|
17
|
+
"browser",
|
|
18
|
+
"desktop",
|
|
19
|
+
"system",
|
|
20
|
+
"protocol",
|
|
21
|
+
"bridge",
|
|
22
|
+
];
|
|
23
|
+
const MEDIA_SITES = new Set([
|
|
24
|
+
"spotify",
|
|
25
|
+
"netease-music",
|
|
26
|
+
"apple-podcasts",
|
|
27
|
+
"youtube",
|
|
28
|
+
"yt-dlp",
|
|
29
|
+
]);
|
|
30
|
+
const VIDEO_SITES = new Set([
|
|
31
|
+
"bilibili",
|
|
32
|
+
"youtube",
|
|
33
|
+
"tiktok",
|
|
34
|
+
"douyin",
|
|
35
|
+
"kuaishou",
|
|
36
|
+
"yt-dlp",
|
|
37
|
+
]);
|
|
38
|
+
const BROWSER_CONTROL_SITES = new Set(["browser", "operate", "chrome"]);
|
|
39
|
+
const PRODUCTIVITY_SITES = new Set([
|
|
40
|
+
"apple-notes",
|
|
41
|
+
"notion",
|
|
42
|
+
"todoist",
|
|
43
|
+
"linear",
|
|
44
|
+
"word",
|
|
45
|
+
"powerpoint",
|
|
46
|
+
"excel",
|
|
47
|
+
"obsidian",
|
|
48
|
+
"notebooklm",
|
|
49
|
+
]);
|
|
50
|
+
const DESTINATION_SITES = new Set([
|
|
51
|
+
"browser",
|
|
52
|
+
"operate",
|
|
53
|
+
"chrome",
|
|
54
|
+
"macos",
|
|
55
|
+
"google",
|
|
56
|
+
"brave",
|
|
57
|
+
"duckduckgo",
|
|
58
|
+
"baidu",
|
|
59
|
+
"ctrip",
|
|
60
|
+
"12306",
|
|
61
|
+
]);
|
|
62
|
+
const PROTOCOL_SITES = new Set([
|
|
63
|
+
"agents",
|
|
64
|
+
"architecture",
|
|
65
|
+
"delivery",
|
|
66
|
+
"mcp",
|
|
67
|
+
"operate",
|
|
68
|
+
"runs",
|
|
69
|
+
]);
|
|
70
|
+
const ACTION_COMMAND_TERMS = [
|
|
71
|
+
"click",
|
|
72
|
+
"type",
|
|
73
|
+
"press",
|
|
74
|
+
"scroll",
|
|
75
|
+
"open",
|
|
76
|
+
"launch",
|
|
77
|
+
"create",
|
|
78
|
+
"send",
|
|
79
|
+
"set",
|
|
80
|
+
"insert",
|
|
81
|
+
"move",
|
|
82
|
+
"copy",
|
|
83
|
+
"run",
|
|
84
|
+
"play",
|
|
85
|
+
"control",
|
|
86
|
+
];
|
|
87
|
+
const SEARCH_OR_DISCOVERY_TERMS = [
|
|
88
|
+
"search",
|
|
89
|
+
"trending",
|
|
90
|
+
"hot",
|
|
91
|
+
"ranking",
|
|
92
|
+
"top",
|
|
93
|
+
"shorts",
|
|
94
|
+
"playlist",
|
|
95
|
+
"feed",
|
|
96
|
+
"history",
|
|
97
|
+
"live",
|
|
98
|
+
];
|
|
99
|
+
const WORKFLOW_DEFINITIONS = [
|
|
100
|
+
{
|
|
101
|
+
id: "media-playback",
|
|
102
|
+
label: "Play or inspect media",
|
|
103
|
+
vehicle_assistant_analogy: "play a song or inspect current media state",
|
|
104
|
+
required_next_evidence: [
|
|
105
|
+
"run the selected media command",
|
|
106
|
+
"capture post-state or service response",
|
|
107
|
+
"record auth and permission posture",
|
|
108
|
+
],
|
|
109
|
+
gap: "no cataloged music/audio/media control path",
|
|
110
|
+
match: (entry) => MEDIA_SITES.has(entry.site) ||
|
|
111
|
+
includesAny(entry.command, ["music", "playlist", "podcast", "audio"]),
|
|
112
|
+
isActionCommand: (entry) => includesAny(entry.command, ["play", "control", "now-playing"]) ||
|
|
113
|
+
entry.safety_class !== "read",
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: "video-search",
|
|
117
|
+
label: "Search video platforms",
|
|
118
|
+
vehicle_assistant_analogy: "search Bilibili, YouTube, TikTok, or short video feeds",
|
|
119
|
+
required_next_evidence: [
|
|
120
|
+
"run the search/trending command",
|
|
121
|
+
"assert non-empty result envelope",
|
|
122
|
+
"record auth requirement when needed",
|
|
123
|
+
],
|
|
124
|
+
gap: "no cataloged video-platform search path",
|
|
125
|
+
match: (entry) => VIDEO_SITES.has(entry.site) &&
|
|
126
|
+
includesAny(entry.command, SEARCH_OR_DISCOVERY_TERMS),
|
|
127
|
+
isActionCommand: (entry) => includesAny(entry.command, SEARCH_OR_DISCOVERY_TERMS),
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: "browser-tab-control",
|
|
131
|
+
label: "Operate browser tabs",
|
|
132
|
+
vehicle_assistant_analogy: "navigate, inspect, and click inside the current browser",
|
|
133
|
+
required_next_evidence: [
|
|
134
|
+
"capture browser state before action",
|
|
135
|
+
"perform one browser operation",
|
|
136
|
+
"capture post-action evidence",
|
|
137
|
+
],
|
|
138
|
+
gap: "no cataloged browser tab control path",
|
|
139
|
+
match: (entry) => BROWSER_CONTROL_SITES.has(entry.site) ||
|
|
140
|
+
entry.uses_browser ||
|
|
141
|
+
entry.capabilities.some((capability) => capability.startsWith("cdp-browser.")),
|
|
142
|
+
isActionCommand: (entry) => includesAny(entry.command, [
|
|
143
|
+
"click",
|
|
144
|
+
"bind",
|
|
145
|
+
"state",
|
|
146
|
+
"evidence",
|
|
147
|
+
"extract",
|
|
148
|
+
]),
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
id: "installed-app-operation",
|
|
152
|
+
label: "Operate installed apps",
|
|
153
|
+
vehicle_assistant_analogy: "open apps, inspect UI, and dispatch local actions",
|
|
154
|
+
required_next_evidence: [
|
|
155
|
+
"run compute or desktop app discovery",
|
|
156
|
+
"resolve an accessibility or app ref",
|
|
157
|
+
"verify post-action app state",
|
|
158
|
+
],
|
|
159
|
+
gap: "no cataloged installed-app operation path",
|
|
160
|
+
match: (entry) => entry.is_local_computer_use ||
|
|
161
|
+
entry.target_surface === "desktop" ||
|
|
162
|
+
entry.adapter_type === "desktop",
|
|
163
|
+
isActionCommand: (entry) => entry.safety_class !== "read" ||
|
|
164
|
+
includesAny(entry.command, ACTION_COMMAND_TERMS),
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
id: "productivity-state",
|
|
168
|
+
label: "Read and write productivity state",
|
|
169
|
+
vehicle_assistant_analogy: "read notes/calendar/docs or create/update local productivity state",
|
|
170
|
+
required_next_evidence: [
|
|
171
|
+
"run read/list and one write-capable command when present",
|
|
172
|
+
"capture structured envelope",
|
|
173
|
+
"record local file/app permission posture",
|
|
174
|
+
],
|
|
175
|
+
gap: "no cataloged productivity state path",
|
|
176
|
+
match: (entry) => PRODUCTIVITY_SITES.has(entry.site) ||
|
|
177
|
+
includesAny(entry.command, ["notes", "calendar", "reminder", "mail"]),
|
|
178
|
+
isActionCommand: (entry) => entry.safety_class !== "read" ||
|
|
179
|
+
includesAny(entry.command, ["create", "send", "set", "insert"]),
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
id: "open-destination",
|
|
183
|
+
label: "Open or navigate to a destination",
|
|
184
|
+
vehicle_assistant_analogy: "navigate to a place; on a computer, open a URL, app, file, route, or travel destination",
|
|
185
|
+
required_next_evidence: [
|
|
186
|
+
"resolve the destination into a command and args",
|
|
187
|
+
"run with policy profile",
|
|
188
|
+
"capture URL/app/file/travel result evidence",
|
|
189
|
+
],
|
|
190
|
+
gap: "no cataloged destination/open/navigation path",
|
|
191
|
+
match: (entry) => DESTINATION_SITES.has(entry.site) &&
|
|
192
|
+
includesAny(entry.command, [
|
|
193
|
+
"open",
|
|
194
|
+
"navigate",
|
|
195
|
+
"url",
|
|
196
|
+
"route",
|
|
197
|
+
"travel",
|
|
198
|
+
"station",
|
|
199
|
+
"train",
|
|
200
|
+
"flight",
|
|
201
|
+
"search",
|
|
202
|
+
]),
|
|
203
|
+
isActionCommand: (entry) => includesAny(entry.command, ["open", "navigate"]) ||
|
|
204
|
+
entry.safety_class !== "read",
|
|
205
|
+
},
|
|
206
|
+
];
|
|
207
|
+
export function surfacesForCapabilityEntry(entry) {
|
|
208
|
+
const surfaces = new Set();
|
|
209
|
+
if (entry.target_surface === "web" || entry.adapter_type === "web-api") {
|
|
210
|
+
surfaces.add("web");
|
|
211
|
+
}
|
|
212
|
+
if (entry.target_surface === "desktop" || entry.adapter_type === "desktop") {
|
|
213
|
+
surfaces.add("desktop");
|
|
214
|
+
}
|
|
215
|
+
if (entry.target_surface === "system" || entry.site === "macos") {
|
|
216
|
+
surfaces.add("system");
|
|
217
|
+
}
|
|
218
|
+
if (entry.uses_browser ||
|
|
219
|
+
entry.adapter_type === "browser" ||
|
|
220
|
+
hasCapabilityPrefix(entry, "cdp-browser.") ||
|
|
221
|
+
hasCapabilityPrefix(entry, "mcp-browser.")) {
|
|
222
|
+
surfaces.add("browser");
|
|
223
|
+
}
|
|
224
|
+
if (entry.adapter_type === "bridge") {
|
|
225
|
+
surfaces.add("bridge");
|
|
226
|
+
}
|
|
227
|
+
if (entry.adapter_type === "service" ||
|
|
228
|
+
PROTOCOL_SITES.has(entry.site) ||
|
|
229
|
+
hasCapabilityPrefix(entry, "mcp.") ||
|
|
230
|
+
hasCapabilityPrefix(entry, "acp.")) {
|
|
231
|
+
surfaces.add("protocol");
|
|
232
|
+
}
|
|
233
|
+
return CAPABILITY_SURFACES.filter((surface) => surfaces.has(surface));
|
|
234
|
+
}
|
|
235
|
+
export function buildArchitectureCapabilityMatrix(entries) {
|
|
236
|
+
return CAPABILITY_SURFACES.map((surface) => {
|
|
237
|
+
const matchingEntries = entries.filter((entry) => surfacesForCapabilityEntry(entry).includes(surface));
|
|
238
|
+
const sourcePathPresent = matchingEntries.filter((entry) => entry.source_path !== undefined).length;
|
|
239
|
+
return {
|
|
240
|
+
surface,
|
|
241
|
+
command_count: matchingEntries.length,
|
|
242
|
+
adapter_commands: matchingEntries.filter((entry) => entry.source_kind === "adapter").length,
|
|
243
|
+
core_commands: matchingEntries.filter((entry) => entry.source_kind === "core").length,
|
|
244
|
+
write_commands: matchingEntries.filter((entry) => entry.safety_class !== "read").length,
|
|
245
|
+
auth_or_write_commands: matchingEntries.filter((entry) => entry.safety_class === "auth_read" ||
|
|
246
|
+
entry.safety_class === "write" ||
|
|
247
|
+
entry.safety_class === "destructive").length,
|
|
248
|
+
local_computer_use_commands: matchingEntries.filter((entry) => entry.is_local_computer_use).length,
|
|
249
|
+
source_path_coverage: {
|
|
250
|
+
present: sourcePathPresent,
|
|
251
|
+
missing: matchingEntries.length - sourcePathPresent,
|
|
252
|
+
},
|
|
253
|
+
representative_commands: representativeRefs(matchingEntries),
|
|
254
|
+
};
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
export function buildArchitectureWorkflowReadiness(entries) {
|
|
258
|
+
return WORKFLOW_DEFINITIONS.map((workflow) => {
|
|
259
|
+
const matchingEntries = entries
|
|
260
|
+
.filter((entry) => workflow.match(entry))
|
|
261
|
+
.sort((left, right) => left.ref.localeCompare(right.ref));
|
|
262
|
+
const actionEntries = matchingEntries.filter((entry) => (workflow.isActionCommand ?? defaultIsActionCommand)(entry));
|
|
263
|
+
const surfaces = Array.from(new Set(matchingEntries.flatMap((entry) => surfacesForCapabilityEntry(entry)))).sort((left, right) => surfaceRank(left) - surfaceRank(right));
|
|
264
|
+
const readiness = workflowReadiness(matchingEntries, actionEntries);
|
|
265
|
+
return {
|
|
266
|
+
id: workflow.id,
|
|
267
|
+
label: workflow.label,
|
|
268
|
+
vehicle_assistant_analogy: workflow.vehicle_assistant_analogy,
|
|
269
|
+
readiness,
|
|
270
|
+
command_count: matchingEntries.length,
|
|
271
|
+
action_command_count: actionEntries.length,
|
|
272
|
+
surfaces,
|
|
273
|
+
representative_commands: workflowRepresentativeRefs(matchingEntries, actionEntries),
|
|
274
|
+
required_next_evidence: workflow.required_next_evidence,
|
|
275
|
+
...(readiness === "gap" ? { gap: workflow.gap } : {}),
|
|
276
|
+
};
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
function workflowReadiness(matchingEntries, actionEntries) {
|
|
280
|
+
if (matchingEntries.length === 0)
|
|
281
|
+
return "gap";
|
|
282
|
+
if (actionEntries.length === 0)
|
|
283
|
+
return "partial";
|
|
284
|
+
return "cataloged";
|
|
285
|
+
}
|
|
286
|
+
function defaultIsActionCommand(entry) {
|
|
287
|
+
return (entry.safety_class !== "read" ||
|
|
288
|
+
includesAny(entry.command, ACTION_COMMAND_TERMS));
|
|
289
|
+
}
|
|
290
|
+
function representativeRefs(entries) {
|
|
291
|
+
return entries
|
|
292
|
+
.map((entry) => entry.ref)
|
|
293
|
+
.sort((left, right) => left.localeCompare(right))
|
|
294
|
+
.slice(0, 8);
|
|
295
|
+
}
|
|
296
|
+
function workflowRepresentativeRefs(matchingEntries, actionEntries) {
|
|
297
|
+
const seen = new Set();
|
|
298
|
+
const orderedEntries = [...actionEntries, ...matchingEntries].filter((entry) => {
|
|
299
|
+
if (seen.has(entry.ref))
|
|
300
|
+
return false;
|
|
301
|
+
seen.add(entry.ref);
|
|
302
|
+
return true;
|
|
303
|
+
});
|
|
304
|
+
return orderedEntries.map((entry) => entry.ref).slice(0, 8);
|
|
305
|
+
}
|
|
306
|
+
function hasCapabilityPrefix(entry, prefix) {
|
|
307
|
+
return entry.capabilities.some((capability) => capability.startsWith(prefix));
|
|
308
|
+
}
|
|
309
|
+
function includesAny(text, terms) {
|
|
310
|
+
const lowerText = text.toLowerCase();
|
|
311
|
+
return terms.some((term) => lowerText.includes(term));
|
|
312
|
+
}
|
|
313
|
+
function surfaceRank(surface) {
|
|
314
|
+
return CAPABILITY_SURFACES.indexOf(surface);
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=capability-matrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability-matrix.js","sourceRoot":"","sources":["../../src/core/capability-matrix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-contract-lint.d.ts","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,GACxB,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"command-contract-lint.d.ts","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,GACxB,wBAAwB,EAAE,CAsC5B"}
|
|
@@ -29,7 +29,9 @@ export function lintCommandContract(contract) {
|
|
|
29
29
|
message: `${label} has no target surface`,
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
if (contract.repair.
|
|
32
|
+
if (contract.repair.source_kind === "adapter" &&
|
|
33
|
+
(contract.repair.repair_command === undefined ||
|
|
34
|
+
contract.repair.repair_command.length === 0)) {
|
|
33
35
|
issues.push({
|
|
34
36
|
code: "missing_repair_command",
|
|
35
37
|
severity: "error",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-contract-lint.js","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,UAAU,mBAAmB,CACjC,QAAyB;IAEzB,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,6BAA6B;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,KAAK,+BAA+B;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,wBAAwB;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"command-contract-lint.js","sourceRoot":"","sources":["../../src/core/command-contract-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,UAAU,mBAAmB,CACjC,QAAyB;IAEzB,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,6BAA6B;SAC/C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,KAAK,+BAA+B;SACjD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,wBAAwB;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,IACE,QAAQ,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS;QACzC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS;YAC3C,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,EAC9C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,GAAG,KAAK,wBAAwB;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @owner Uni-CLI Core
|
|
3
|
-
* @does Projects adapter registry commands into the agent-native command contract.
|
|
4
|
-
* @needs AdapterManifest, AdapterCommand, operation policy metadata.
|
|
3
|
+
* @does Projects adapter and core registry commands into the agent-native command contract.
|
|
4
|
+
* @needs AdapterManifest, AdapterCommand, CoreDiscoveryCommand, operation policy metadata.
|
|
5
5
|
* @feeds describe, MCP, agent packs, benchmark generation, repair tooling.
|
|
6
6
|
* @breaks Missing source paths, schemas, safety metadata, or repair metadata.
|
|
7
7
|
*/
|
|
8
8
|
import { evaluateOperationPolicy, type OperationEffect, type OperationRisk } from "../engine/operation-policy.js";
|
|
9
9
|
import type { AdapterArg, AdapterCommand, AdapterManifest, Strategy, TargetSurface } from "../types.js";
|
|
10
|
+
import type { CoreDiscoveryCommand } from "../discovery/core-catalog.js";
|
|
10
11
|
export type CommandSafetyClass = "read" | "auth_read" | "write" | "destructive";
|
|
11
12
|
export interface CommandContractIdentity {
|
|
12
13
|
site: string;
|
|
@@ -63,8 +64,10 @@ export interface CommandContractEval {
|
|
|
63
64
|
health_status: "unknown" | "healthy" | "unhealthy" | "quarantined";
|
|
64
65
|
}
|
|
65
66
|
export interface CommandContractRepair {
|
|
67
|
+
source_kind: "adapter" | "core";
|
|
68
|
+
source_path?: string;
|
|
66
69
|
adapter_path?: string;
|
|
67
|
-
repair_command
|
|
70
|
+
repair_command?: string;
|
|
68
71
|
quarantined: boolean;
|
|
69
72
|
quarantine_reason?: string;
|
|
70
73
|
minimum_capability?: string;
|
|
@@ -96,5 +99,9 @@ export interface BuildCommandContractInput {
|
|
|
96
99
|
commandName: string;
|
|
97
100
|
command: AdapterCommand;
|
|
98
101
|
}
|
|
102
|
+
export interface BuildCoreCommandContractInput {
|
|
103
|
+
command: CoreDiscoveryCommand;
|
|
104
|
+
}
|
|
99
105
|
export declare function buildCommandContract(input: BuildCommandContractInput): CommandContract;
|
|
106
|
+
export declare function buildCoreCommandContract(input: BuildCoreCommandContractInput): CommandContract;
|
|
100
107
|
//# sourceMappingURL=command-contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-contract.d.ts","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,uBAAuB,EAEvB,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EAEf,QAAQ,EACR,aAAa,EACd,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"command-contract.d.ts","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @owner Uni-CLI Core
|
|
3
|
-
* @does Projects adapter registry commands into the agent-native command contract.
|
|
4
|
-
* @needs AdapterManifest, AdapterCommand, operation policy metadata.
|
|
3
|
+
* @does Projects adapter and core registry commands into the agent-native command contract.
|
|
4
|
+
* @needs AdapterManifest, AdapterCommand, CoreDiscoveryCommand, operation policy metadata.
|
|
5
5
|
* @feeds describe, MCP, agent packs, benchmark generation, repair tooling.
|
|
6
6
|
* @breaks Missing source paths, schemas, safety metadata, or repair metadata.
|
|
7
7
|
*/
|
|
@@ -35,12 +35,13 @@ function buildInputSchema(args) {
|
|
|
35
35
|
if (arg.choices !== undefined && arg.choices.length > 0) {
|
|
36
36
|
property.enum = arg.choices;
|
|
37
37
|
}
|
|
38
|
-
if (arg.format !== undefined)
|
|
38
|
+
if ("format" in arg && arg.format !== undefined) {
|
|
39
39
|
property.format = arg.format;
|
|
40
|
-
|
|
40
|
+
}
|
|
41
|
+
if ("x-unicli-kind" in arg && arg["x-unicli-kind"] !== undefined) {
|
|
41
42
|
property["x-unicli-kind"] = arg["x-unicli-kind"];
|
|
42
43
|
}
|
|
43
|
-
if (arg["x-unicli-accepts"] !== undefined) {
|
|
44
|
+
if ("x-unicli-accepts" in arg && arg["x-unicli-accepts"] !== undefined) {
|
|
44
45
|
property["x-unicli-accepts"] = arg["x-unicli-accepts"];
|
|
45
46
|
}
|
|
46
47
|
properties[arg.name] = property;
|
|
@@ -80,6 +81,12 @@ function tagsFor(adapter, command) {
|
|
|
80
81
|
function contractDisplayName(adapter, commandName) {
|
|
81
82
|
return `${adapter.displayName ?? adapter.name} ${commandName}`;
|
|
82
83
|
}
|
|
84
|
+
function coreCommandUsesBrowser(command) {
|
|
85
|
+
return command.type === "browser";
|
|
86
|
+
}
|
|
87
|
+
function tagsForCore(command) {
|
|
88
|
+
return Array.from(new Set(["core", command.type, command.category].filter(Boolean))).sort();
|
|
89
|
+
}
|
|
83
90
|
export function buildCommandContract(input) {
|
|
84
91
|
const { adapter, commandName, command } = input;
|
|
85
92
|
const args = command.adapterArgs ?? [];
|
|
@@ -155,6 +162,8 @@ export function buildCommandContract(input) {
|
|
|
155
162
|
health_status: quarantined ? "quarantined" : "unknown",
|
|
156
163
|
},
|
|
157
164
|
repair: {
|
|
165
|
+
source_kind: "adapter",
|
|
166
|
+
...(sourcePath ? { source_path: sourcePath } : {}),
|
|
158
167
|
...(sourcePath ? { adapter_path: sourcePath } : {}),
|
|
159
168
|
repair_command: repairCommand,
|
|
160
169
|
quarantined,
|
|
@@ -171,4 +180,77 @@ export function buildCommandContract(input) {
|
|
|
171
180
|
},
|
|
172
181
|
};
|
|
173
182
|
}
|
|
183
|
+
export function buildCoreCommandContract(input) {
|
|
184
|
+
const { command } = input;
|
|
185
|
+
const args = command.args ?? [];
|
|
186
|
+
const targetSurface = resolveOperationTargetSurface({
|
|
187
|
+
adapterType: command.type,
|
|
188
|
+
targetSurface: command.target_surface,
|
|
189
|
+
});
|
|
190
|
+
const browser = coreCommandUsesBrowser(command);
|
|
191
|
+
const policy = evaluateOperationPolicy({
|
|
192
|
+
site: command.site,
|
|
193
|
+
command: command.command,
|
|
194
|
+
description: command.description,
|
|
195
|
+
adapterType: command.type,
|
|
196
|
+
targetSurface,
|
|
197
|
+
strategy: "public",
|
|
198
|
+
browser,
|
|
199
|
+
args: [...args],
|
|
200
|
+
});
|
|
201
|
+
const sourcePath = command.source_path;
|
|
202
|
+
return {
|
|
203
|
+
schema_version: "command-contract.v1",
|
|
204
|
+
identity: {
|
|
205
|
+
site: command.site,
|
|
206
|
+
command: command.command,
|
|
207
|
+
display_name: `${command.site} ${command.command}`,
|
|
208
|
+
category: command.category,
|
|
209
|
+
tags: tagsForCore(command),
|
|
210
|
+
...(sourcePath ? { source_path: sourcePath } : {}),
|
|
211
|
+
},
|
|
212
|
+
description: command.description,
|
|
213
|
+
schemas: {
|
|
214
|
+
input: buildInputSchema(args),
|
|
215
|
+
},
|
|
216
|
+
effect: {
|
|
217
|
+
operation_effect: policy.effect,
|
|
218
|
+
risk: policy.risk,
|
|
219
|
+
safety_class: safetyClassFor({
|
|
220
|
+
effect: policy.effect,
|
|
221
|
+
authRequired: false,
|
|
222
|
+
}),
|
|
223
|
+
target_surface: targetSurface,
|
|
224
|
+
browser,
|
|
225
|
+
read_only: policy.effect === "read",
|
|
226
|
+
idempotent: policy.effect === "read",
|
|
227
|
+
open_world: policy.capability_scope.dimensions.network.access !== "none" ||
|
|
228
|
+
policy.capability_scope.dimensions.browser.access !== "none",
|
|
229
|
+
paginated: false,
|
|
230
|
+
},
|
|
231
|
+
auth: {
|
|
232
|
+
strategy: "public",
|
|
233
|
+
required: false,
|
|
234
|
+
},
|
|
235
|
+
governance: {
|
|
236
|
+
dimensions: policy.capability_scope.dimensions,
|
|
237
|
+
resources: policy.capability_scope.resources,
|
|
238
|
+
resource_summary: policy.capability_scope.resource_summary,
|
|
239
|
+
},
|
|
240
|
+
eval: {
|
|
241
|
+
fixture_status: "unknown",
|
|
242
|
+
live_status: "unknown",
|
|
243
|
+
health_status: "unknown",
|
|
244
|
+
},
|
|
245
|
+
repair: {
|
|
246
|
+
source_kind: "core",
|
|
247
|
+
...(sourcePath ? { source_path: sourcePath } : {}),
|
|
248
|
+
quarantined: false,
|
|
249
|
+
},
|
|
250
|
+
artifacts: {
|
|
251
|
+
produces_files: false,
|
|
252
|
+
validators: [],
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
}
|
|
174
256
|
//# sourceMappingURL=command-contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-contract.js","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,6BAA6B,GAG9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"command-contract.js","sourceRoot":"","sources":["../../src/core/command-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-catalog.d.ts","sourceRoot":"","sources":["../../src/discovery/core-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,IAAI,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"core-catalog.d.ts","sourceRoot":"","sources":["../../src/discovery/core-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AA2XD,wBAAgB,yBAAyB,IAAI,oBAAoB,EAAE,CAKlE;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,oBAAoB,GAAG,SAAS,CAKlC;AAED,wBAAgB,sBAAsB,IAAI,KAAK,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC,CAAC,CAwBD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGtE"}
|
|
@@ -5,6 +5,16 @@
|
|
|
5
5
|
* @feeds src/discovery/search.ts, src/fast-path/handlers/discovery.ts, src/mcp/handler.ts, src/cli.ts
|
|
6
6
|
* @breaks Missing core rows make built-in capabilities executable but undiscoverable through search/list/MCP.
|
|
7
7
|
*/
|
|
8
|
+
const CORE_COMMAND_SOURCE_PATHS = {
|
|
9
|
+
agents: "src/commands/agents.ts",
|
|
10
|
+
architecture: "src/commands/architecture.ts",
|
|
11
|
+
browser: "src/commands/browser/index.ts",
|
|
12
|
+
compute: "src/commands/compute.ts",
|
|
13
|
+
delivery: "src/commands/delivery.ts",
|
|
14
|
+
mcp: "src/commands/mcp.ts",
|
|
15
|
+
operate: "src/commands/operate.ts",
|
|
16
|
+
runs: "src/commands/runs.ts",
|
|
17
|
+
};
|
|
8
18
|
const COMPUTE_CAPTURE_ARGS = [
|
|
9
19
|
{
|
|
10
20
|
name: "app",
|
|
@@ -189,14 +199,14 @@ const CORE_DISCOVERY_COMMANDS = [
|
|
|
189
199
|
command: "tree",
|
|
190
200
|
category: "dev",
|
|
191
201
|
type: "service",
|
|
192
|
-
description: "Emit Uni-CLI's callable architecture tree for agents, including
|
|
202
|
+
description: "Emit Uni-CLI's callable computer-control architecture tree for agents, including operation contracts, control kernel, action substrates, evidence delivery, runtime exposure, internal authoring cycle, and verification roots.",
|
|
193
203
|
},
|
|
194
204
|
{
|
|
195
205
|
site: "architecture",
|
|
196
206
|
command: "audit",
|
|
197
207
|
category: "dev",
|
|
198
208
|
type: "service",
|
|
199
|
-
description: "Audit Uni-CLI
|
|
209
|
+
description: "Audit Uni-CLI computer-control readiness before restructuring, including command counts, local computer-use coverage, control stages, missing source paths, substrate identity boundaries, and full rewrite readiness.",
|
|
200
210
|
},
|
|
201
211
|
{
|
|
202
212
|
site: "compute",
|
|
@@ -334,14 +344,15 @@ const CORE_DISCOVERY_COMMANDS = [
|
|
|
334
344
|
},
|
|
335
345
|
];
|
|
336
346
|
export function listCoreDiscoveryCommands() {
|
|
337
|
-
return
|
|
347
|
+
return CORE_DISCOVERY_COMMANDS.map(withCoreSourcePath).sort((a, b) => a.site.localeCompare(b.site) || a.command.localeCompare(b.command));
|
|
338
348
|
}
|
|
339
349
|
export function getCoreDiscoveryCommand(site, command) {
|
|
340
|
-
|
|
350
|
+
const coreCommand = CORE_DISCOVERY_COMMANDS.find((candidate) => candidate.site === site && candidate.command === command);
|
|
351
|
+
return coreCommand ? withCoreSourcePath(coreCommand) : undefined;
|
|
341
352
|
}
|
|
342
353
|
export function listCoreDiscoverySites() {
|
|
343
354
|
const sites = new Map();
|
|
344
|
-
for (const command of CORE_DISCOVERY_COMMANDS) {
|
|
355
|
+
for (const command of CORE_DISCOVERY_COMMANDS.map(withCoreSourcePath)) {
|
|
345
356
|
const entry = sites.get(command.site) ?? {
|
|
346
357
|
category: command.category,
|
|
347
358
|
type: command.type,
|
|
@@ -363,4 +374,10 @@ export function coreDiscoveryCategory(site) {
|
|
|
363
374
|
return CORE_DISCOVERY_COMMANDS.find((command) => command.site === site)
|
|
364
375
|
?.category;
|
|
365
376
|
}
|
|
377
|
+
function withCoreSourcePath(command) {
|
|
378
|
+
return {
|
|
379
|
+
...command,
|
|
380
|
+
source_path: command.source_path ?? CORE_COMMAND_SOURCE_PATHS[command.site],
|
|
381
|
+
};
|
|
382
|
+
}
|
|
366
383
|
//# sourceMappingURL=core-catalog.js.map
|