@zenalexa/unicli 0.225.0 → 0.225.2
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 +5 -5
- package/README.md +3 -3
- package/README.zh-CN.md +3 -3
- package/dist/adapters/_electron/desktop-shared.d.ts.map +1 -1
- package/dist/adapters/_electron/desktop-shared.js +2 -1
- package/dist/adapters/_electron/desktop-shared.js.map +1 -1
- package/dist/adapters/_electron/shared.d.ts +6 -0
- package/dist/adapters/_electron/shared.d.ts.map +1 -1
- package/dist/adapters/_electron/shared.js +9 -0
- package/dist/adapters/_electron/shared.js.map +1 -1
- package/dist/adapters/antigravity/extra.js +4 -1
- package/dist/adapters/antigravity/extra.js.map +1 -1
- package/dist/adapters/chatwise/extra.js +4 -1
- package/dist/adapters/chatwise/extra.js.map +1 -1
- package/dist/adapters/codex/codex.js +3 -1
- package/dist/adapters/codex/codex.js.map +1 -1
- package/dist/adapters/codex/extra.js +4 -1
- package/dist/adapters/codex/extra.js.map +1 -1
- package/dist/adapters/codex/projects.d.ts.map +1 -1
- package/dist/adapters/codex/projects.js +3 -1
- package/dist/adapters/codex/projects.js.map +1 -1
- package/dist/adapters/cursor/cursor.js +6 -1
- package/dist/adapters/cursor/cursor.js.map +1 -1
- package/dist/adapters/discord-app/discord-app.js +10 -1
- package/dist/adapters/discord-app/discord-app.js.map +1 -1
- package/dist/adapters/notion-app/notion-app.js +11 -1
- package/dist/adapters/notion-app/notion-app.js.map +1 -1
- package/dist/adapters/spotify/api.js +36 -6
- package/dist/adapters/spotify/api.js.map +1 -1
- package/dist/adapters/xiaohongshu/browser-state.d.ts +2 -1
- package/dist/adapters/xiaohongshu/browser-state.d.ts.map +1 -1
- package/dist/adapters/xiaohongshu/browser-state.js +56 -2
- package/dist/adapters/xiaohongshu/browser-state.js.map +1 -1
- package/dist/adapters/xiaohongshu/feed.d.ts +24 -0
- package/dist/adapters/xiaohongshu/feed.d.ts.map +1 -0
- package/dist/adapters/xiaohongshu/feed.js +82 -0
- package/dist/adapters/xiaohongshu/feed.js.map +1 -0
- package/dist/browser/cdp-client.d.ts +5 -1
- package/dist/browser/cdp-client.d.ts.map +1 -1
- package/dist/browser/cdp-client.js +24 -16
- package/dist/browser/cdp-client.js.map +1 -1
- package/dist/browser/daemon.js +29 -7
- package/dist/browser/daemon.js.map +1 -1
- package/dist/browser/launcher.d.ts.map +1 -1
- package/dist/browser/launcher.js +22 -8
- package/dist/browser/launcher.js.map +1 -1
- package/dist/browser/local-profiles.d.ts +2 -0
- package/dist/browser/local-profiles.d.ts.map +1 -1
- package/dist/browser/local-profiles.js +42 -2
- package/dist/browser/local-profiles.js.map +1 -1
- package/dist/browser/page.d.ts +2 -2
- package/dist/browser/page.d.ts.map +1 -1
- package/dist/browser/page.js +2 -2
- package/dist/browser/page.js.map +1 -1
- package/dist/browser/protocol.d.ts +13 -1
- package/dist/browser/protocol.d.ts.map +1 -1
- package/dist/browser/protocol.js +5 -0
- package/dist/browser/protocol.js.map +1 -1
- package/dist/commands/browser/actions.d.ts.map +1 -1
- package/dist/commands/browser/actions.js +428 -5
- package/dist/commands/browser/actions.js.map +1 -1
- package/dist/commands/browser/index.d.ts.map +1 -1
- package/dist/commands/browser/index.js +26 -4
- package/dist/commands/browser/index.js.map +1 -1
- package/dist/commands/compute.js +12 -1
- package/dist/commands/compute.js.map +1 -1
- package/dist/commands/do.d.ts +15 -13
- package/dist/commands/do.d.ts.map +1 -1
- package/dist/commands/do.js +36 -21
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/schema.d.ts.map +1 -1
- package/dist/commands/schema.js +22 -0
- package/dist/commands/schema.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +14 -3
- package/dist/commands/search.js.map +1 -1
- package/dist/compute/contracts.d.ts +55 -0
- package/dist/compute/contracts.d.ts.map +1 -0
- package/dist/compute/contracts.js +487 -0
- package/dist/compute/contracts.js.map +1 -0
- package/dist/discovery/aliases.d.ts +8 -1
- package/dist/discovery/aliases.d.ts.map +1 -1
- package/dist/discovery/aliases.js +151 -20
- package/dist/discovery/aliases.js.map +1 -1
- package/dist/discovery/core-catalog.d.ts.map +1 -1
- package/dist/discovery/core-catalog.js +39 -67
- package/dist/discovery/core-catalog.js.map +1 -1
- package/dist/discovery/intents.d.ts +32 -4
- package/dist/discovery/intents.d.ts.map +1 -1
- package/dist/discovery/intents.js +192 -3
- package/dist/discovery/intents.js.map +1 -1
- package/dist/discovery/loader.d.ts.map +1 -1
- package/dist/discovery/loader.js +3 -0
- package/dist/discovery/loader.js.map +1 -1
- package/dist/discovery/macos-dynamic.d.ts +1 -0
- package/dist/discovery/macos-dynamic.d.ts.map +1 -1
- package/dist/discovery/macos-dynamic.js +20 -1
- package/dist/discovery/macos-dynamic.js.map +1 -1
- package/dist/discovery/search.d.ts.map +1 -1
- package/dist/discovery/search.js +21 -5
- package/dist/discovery/search.js.map +1 -1
- package/dist/engine/browser/evidence.d.ts +34 -1
- package/dist/engine/browser/evidence.d.ts.map +1 -1
- package/dist/engine/browser/evidence.js +141 -6
- package/dist/engine/browser/evidence.js.map +1 -1
- package/dist/engine/kernel/stages.d.ts.map +1 -1
- package/dist/engine/kernel/stages.js +14 -4
- package/dist/engine/kernel/stages.js.map +1 -1
- package/dist/engine/objective/catalog.d.ts +23 -0
- package/dist/engine/objective/catalog.d.ts.map +1 -0
- package/dist/engine/objective/catalog.js +42 -0
- package/dist/engine/objective/catalog.js.map +1 -0
- package/dist/engine/objective/delivery.d.ts +18 -0
- package/dist/engine/objective/delivery.d.ts.map +1 -0
- package/dist/engine/objective/delivery.js +64 -0
- package/dist/engine/objective/delivery.js.map +1 -0
- package/dist/engine/objective/index.d.ts +20 -0
- package/dist/engine/objective/index.d.ts.map +1 -0
- package/dist/engine/objective/index.js +20 -0
- package/dist/engine/objective/index.js.map +1 -0
- package/dist/engine/objective/media-playback.d.ts +17 -0
- package/dist/engine/objective/media-playback.d.ts.map +1 -0
- package/dist/engine/objective/media-playback.js +186 -0
- package/dist/engine/objective/media-playback.js.map +1 -0
- package/dist/engine/objective/output.d.ts +20 -0
- package/dist/engine/objective/output.d.ts.map +1 -0
- package/dist/engine/objective/output.js +88 -0
- package/dist/engine/objective/output.js.map +1 -0
- package/dist/engine/objective/planner.d.ts +17 -0
- package/dist/engine/objective/planner.d.ts.map +1 -0
- package/dist/engine/objective/planner.js +60 -0
- package/dist/engine/objective/planner.js.map +1 -0
- package/dist/engine/objective/types.d.ts +66 -0
- package/dist/engine/objective/types.d.ts.map +1 -0
- package/dist/engine/objective/types.js +16 -0
- package/dist/engine/objective/types.js.map +1 -0
- package/dist/engine/steps/browser-helpers.d.ts.map +1 -1
- package/dist/engine/steps/browser-helpers.js +34 -0
- 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 +2 -2
- package/dist/engine/steps/fetch-text.js.map +1 -1
- package/dist/engine/steps/fetch.d.ts +1 -0
- package/dist/engine/steps/fetch.d.ts.map +1 -1
- package/dist/engine/steps/fetch.js +24 -4
- package/dist/engine/steps/fetch.js.map +1 -1
- package/dist/fast-path/handlers/discovery.d.ts +5 -5
- package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
- package/dist/fast-path/handlers/discovery.js +61 -8
- package/dist/fast-path/handlers/discovery.js.map +1 -1
- package/dist/fast-path/render.d.ts +2 -0
- package/dist/fast-path/render.d.ts.map +1 -1
- package/dist/fast-path/render.js +9 -0
- package/dist/fast-path/render.js.map +1 -1
- package/dist/manifest-compact.txt +3 -2
- package/dist/manifest.json +215 -17
- package/dist/mcp/handler.d.ts +2 -16
- package/dist/mcp/handler.d.ts.map +1 -1
- package/dist/mcp/handler.js.map +1 -1
- package/dist/mcp/http-transport.d.ts +7 -1
- package/dist/mcp/http-transport.d.ts.map +1 -1
- package/dist/mcp/http-transport.js +20 -1
- package/dist/mcp/http-transport.js.map +1 -1
- package/dist/mcp/jsonrpc.d.ts +27 -0
- package/dist/mcp/jsonrpc.d.ts.map +1 -0
- package/dist/mcp/jsonrpc.js +12 -0
- package/dist/mcp/jsonrpc.js.map +1 -0
- package/dist/mcp/origin-guard.d.ts +26 -0
- package/dist/mcp/origin-guard.d.ts.map +1 -0
- package/dist/mcp/origin-guard.js +42 -0
- package/dist/mcp/origin-guard.js.map +1 -0
- package/dist/mcp/profiles/computer-use.d.ts.map +1 -1
- package/dist/mcp/profiles/computer-use.js +30 -270
- package/dist/mcp/profiles/computer-use.js.map +1 -1
- package/dist/mcp/streamable-http/session.d.ts +4 -22
- package/dist/mcp/streamable-http/session.d.ts.map +1 -1
- package/dist/mcp/streamable-http/session.js +4 -24
- package/dist/mcp/streamable-http/session.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +74 -54
- package/dist/mcp/tools.js.map +1 -1
- package/dist/output/envelope.d.ts +2 -0
- package/dist/output/envelope.d.ts.map +1 -1
- package/dist/output/envelope.js.map +1 -1
- package/dist/output/error-map.d.ts +14 -0
- package/dist/output/error-map.d.ts.map +1 -1
- package/dist/output/error-map.js +20 -0
- package/dist/output/error-map.js.map +1 -1
- package/dist/transport/cascade.d.ts.map +1 -1
- package/dist/transport/cascade.js +77 -5
- package/dist/transport/cascade.js.map +1 -1
- package/dist/transport/refs.d.ts +33 -1
- package/dist/transport/refs.d.ts.map +1 -1
- package/dist/transport/refs.js +40 -1
- package/dist/transport/refs.js.map +1 -1
- package/package.json +3 -1
- 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/_electron/desktop-shared.ts +5 -1
- package/src/adapters/_electron/shared.ts +15 -0
- package/src/adapters/antigravity/extra.ts +10 -1
- package/src/adapters/chatwise/extra.ts +10 -1
- package/src/adapters/codex/codex.ts +6 -0
- package/src/adapters/codex/extra.ts +10 -1
- package/src/adapters/codex/projects.ts +9 -1
- package/src/adapters/cursor/cursor.ts +9 -0
- package/src/adapters/defuddle/read.yaml +30 -0
- package/src/adapters/discord-app/discord-app.ts +16 -1
- package/src/adapters/jina/read.yaml +30 -0
- package/src/adapters/macos/brightness.yaml +6 -3
- package/src/adapters/macos/calendar-list.yaml +9 -11
- package/src/adapters/macos/calendar-today.yaml +1 -1
- package/src/adapters/macos/safari-url.yaml +8 -4
- package/src/adapters/maoyan/hot.yaml +1 -1
- package/src/adapters/markdown-new/read.yaml +50 -0
- package/src/adapters/notion-app/notion-app.ts +17 -1
- package/src/adapters/ollama-cloud/fetch.yaml +39 -0
- package/src/adapters/ollama-cloud/search.yaml +43 -0
- package/src/adapters/spotify/api.ts +54 -8
- package/src/adapters/weibo/trending.yaml +2 -0
- package/src/adapters/xiaohongshu/browser-state.ts +59 -2
- package/src/adapters/xiaohongshu/feed.ts +103 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/engine/objective/media-playback.ts
|
|
3
|
+
* @does Defines the media playback objective workflow and provider strategies.
|
|
4
|
+
* @needs src/engine/objective/types.ts
|
|
5
|
+
* @feeds src/engine/objective/planner.ts
|
|
6
|
+
* @breaks Broad keyword matching can misclassify travel or browser intents as music playback.
|
|
7
|
+
* @invariants Provider gaps are explicit; partial desktop paths never claim end-to-end playback.
|
|
8
|
+
* @side-effects none.
|
|
9
|
+
* @perf O(intent length + provider count).
|
|
10
|
+
* @concurrency pure and reentrant.
|
|
11
|
+
* @test tests/unit/objective-compiler.test.ts, tests/unit/commands/do.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-06-01
|
|
14
|
+
*/
|
|
15
|
+
const MEDIA_TRIGGERS = [
|
|
16
|
+
/我想听/u,
|
|
17
|
+
/想听/u,
|
|
18
|
+
/听一下/u,
|
|
19
|
+
/播放/u,
|
|
20
|
+
/放一下/u,
|
|
21
|
+
/\blisten\s+to\b/i,
|
|
22
|
+
/\bplay\b/i,
|
|
23
|
+
];
|
|
24
|
+
const PROVIDER_HINTS = [
|
|
25
|
+
{ provider: "spotify", pattern: /\bspotify\b/i },
|
|
26
|
+
{
|
|
27
|
+
provider: "netease-music",
|
|
28
|
+
pattern: /网易云|网易云音乐|\bnetease(?:\s+cloud)?(?:\s+music)?\b/i,
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
provider: "apple-music",
|
|
32
|
+
pattern: /apple\s+music|苹果音乐|\bMusic\.app\b/i,
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
export const mediaPlaybackWorkflow = {
|
|
36
|
+
id: "media.playback",
|
|
37
|
+
compile(intent) {
|
|
38
|
+
const normalizedIntent = normalizeIntent(intent);
|
|
39
|
+
const query = extractMediaPlaybackQuery(normalizedIntent);
|
|
40
|
+
if (!query)
|
|
41
|
+
return undefined;
|
|
42
|
+
const providers = prioritizeProviders(normalizedIntent);
|
|
43
|
+
const strategies = providers.map((provider, index) => mediaPlaybackStrategy(provider, query, index));
|
|
44
|
+
return {
|
|
45
|
+
objective: {
|
|
46
|
+
id: "media-playback",
|
|
47
|
+
kind: "media.playback",
|
|
48
|
+
goal: intent.trim(),
|
|
49
|
+
confidence: 0.92,
|
|
50
|
+
slots: {
|
|
51
|
+
query,
|
|
52
|
+
preferred_providers: providers,
|
|
53
|
+
},
|
|
54
|
+
evidence_gates: [
|
|
55
|
+
{ kind: "run_completed" },
|
|
56
|
+
{ kind: "required_evidence_type", evidence_type: "result-envelope" },
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
strategies,
|
|
60
|
+
capability_gaps: providerCapabilityGaps(strategies),
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
function normalizeIntent(intent) {
|
|
65
|
+
return intent.normalize("NFKC").trim().replace(/\s+/g, " ");
|
|
66
|
+
}
|
|
67
|
+
function extractMediaPlaybackQuery(intent) {
|
|
68
|
+
if (!MEDIA_TRIGGERS.some((trigger) => trigger.test(intent))) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
let query = intent
|
|
72
|
+
.replace(/^\s*(请|帮我|麻烦)?\s*(我想听|想听|听一下|播放|放一下)\s*/u, "")
|
|
73
|
+
.replace(/^\s*(please\s+)?(listen\s+to|play)\s+/i, "")
|
|
74
|
+
.replace(/\s+(on|in)\s+(spotify|apple\s+music|netease(?:\s+cloud)?(?:\s+music)?)\s*$/i, "")
|
|
75
|
+
.replace(/\s*(用|在)\s*(网易云音乐?|Spotify|spotify|Apple Music|苹果音乐)\s*$/u, "")
|
|
76
|
+
.trim();
|
|
77
|
+
query = stripPairedQuotes(query);
|
|
78
|
+
if (!query)
|
|
79
|
+
return undefined;
|
|
80
|
+
if (MEDIA_TRIGGERS.some((trigger) => trigger.test(query))) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
return query;
|
|
84
|
+
}
|
|
85
|
+
function stripPairedQuotes(value) {
|
|
86
|
+
return value
|
|
87
|
+
.replace(/^[`"'“”‘’]+/, "")
|
|
88
|
+
.replace(/[`"'“”‘’]+$/, "")
|
|
89
|
+
.trim();
|
|
90
|
+
}
|
|
91
|
+
function prioritizeProviders(intent) {
|
|
92
|
+
const all = ["spotify", "netease-music", "apple-music"];
|
|
93
|
+
const hinted = PROVIDER_HINTS.find((hint) => hint.pattern.test(intent));
|
|
94
|
+
if (!hinted)
|
|
95
|
+
return all;
|
|
96
|
+
return [
|
|
97
|
+
hinted.provider,
|
|
98
|
+
...all.filter((provider) => provider !== hinted.provider),
|
|
99
|
+
];
|
|
100
|
+
}
|
|
101
|
+
function mediaPlaybackStrategy(provider, query, index) {
|
|
102
|
+
if (provider === "spotify") {
|
|
103
|
+
return {
|
|
104
|
+
id: "spotify-api-play-track",
|
|
105
|
+
label: "Resolve and start Spotify playback through the native Web API",
|
|
106
|
+
provider,
|
|
107
|
+
substrate: "native-api",
|
|
108
|
+
status: "executable",
|
|
109
|
+
priority: 10 + index,
|
|
110
|
+
steps: [
|
|
111
|
+
{
|
|
112
|
+
command: "spotify.play-track",
|
|
113
|
+
args: { query },
|
|
114
|
+
purpose: "Search Spotify for the requested track and start playback",
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
verification: {
|
|
118
|
+
command: "spotify.status",
|
|
119
|
+
purpose: "Verify the current Spotify track after playback starts",
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
if (provider === "netease-music") {
|
|
124
|
+
return {
|
|
125
|
+
id: "netease-desktop-search-play",
|
|
126
|
+
label: "Use NetEase catalog search and desktop app control",
|
|
127
|
+
provider,
|
|
128
|
+
substrate: "desktop-cdp",
|
|
129
|
+
status: "partial",
|
|
130
|
+
priority: 10 + index,
|
|
131
|
+
steps: [
|
|
132
|
+
{
|
|
133
|
+
command: "netease-music.search",
|
|
134
|
+
args: { query, limit: 5 },
|
|
135
|
+
purpose: "Resolve candidate songs before controlling the desktop app",
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
command: "netease-music.open-app",
|
|
139
|
+
purpose: "Open the controllable Electron desktop app",
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
verification: {
|
|
143
|
+
command: "netease-music.status-app",
|
|
144
|
+
purpose: "Inspect visible playback state in the desktop app",
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
id: "apple-music-native-search-play",
|
|
150
|
+
label: "Use Apple Music native automation once search-and-play exists",
|
|
151
|
+
provider,
|
|
152
|
+
substrate: "desktop-ax",
|
|
153
|
+
status: "missing",
|
|
154
|
+
priority: 10 + index,
|
|
155
|
+
steps: [
|
|
156
|
+
{
|
|
157
|
+
command: "macos.music-control",
|
|
158
|
+
args: { action: "play" },
|
|
159
|
+
purpose: "Control existing Apple Music playback",
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
verification: {
|
|
163
|
+
command: "macos.music-now",
|
|
164
|
+
purpose: "Verify current Apple Music playback state",
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
function providerCapabilityGaps(strategies) {
|
|
169
|
+
const gaps = [];
|
|
170
|
+
if (strategies.some((strategy) => strategy.provider === "netease-music")) {
|
|
171
|
+
gaps.push({
|
|
172
|
+
provider: "netease-music",
|
|
173
|
+
missing: "netease-music.play-track",
|
|
174
|
+
reason: "NetEase has search and desktop controls, but no single verified search-result-to-playback operation.",
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
if (strategies.some((strategy) => strategy.provider === "apple-music")) {
|
|
178
|
+
gaps.push({
|
|
179
|
+
provider: "apple-music",
|
|
180
|
+
missing: "apple-music.play-track",
|
|
181
|
+
reason: "Apple Music has playback control and now-playing inspection, but no first-class query search and playback operation.",
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return gaps;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=media-playback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-playback.js","sourceRoot":"","sources":["../../../src/engine/objective/media-playback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/engine/objective/output.ts
|
|
3
|
+
* @does Builds agent-facing command candidates and next actions from objective plans.
|
|
4
|
+
* @needs src/engine/objective/catalog.ts, src/engine/objective/types.ts, src/output/envelope.ts
|
|
5
|
+
* @feeds src/commands/do.ts
|
|
6
|
+
* @breaks If next actions skip delivery.run, agents can bypass the real evidence loop.
|
|
7
|
+
* @invariants Delivery spec execution is offered before direct commands; partial paths are labeled as partial.
|
|
8
|
+
* @side-effects none.
|
|
9
|
+
* @perf O(strategy count).
|
|
10
|
+
* @concurrency pure and reentrant.
|
|
11
|
+
* @test tests/unit/commands/do.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-06-01
|
|
14
|
+
*/
|
|
15
|
+
import type { AgentNextAction } from "../../output/envelope.js";
|
|
16
|
+
import type { ObjectivePlan } from "./types.js";
|
|
17
|
+
export declare function buildObjectiveDoPayload(intent: string, plan: ObjectivePlan, fallbackSearchCandidates: unknown[]): Record<string, unknown>;
|
|
18
|
+
export declare function buildObjectiveNextActions(intent: string, plan: ObjectivePlan): AgentNextAction[];
|
|
19
|
+
export declare function buildObjectiveCatalogCandidates(plan: ObjectivePlan): Array<Record<string, unknown>>;
|
|
20
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/engine/objective/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,wBAAwB,EAAE,OAAO,EAAE,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,GAClB,eAAe,EAAE,CAqCnB;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,aAAa,GAClB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAehC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/engine/objective/output.ts
|
|
3
|
+
* @does Builds agent-facing command candidates and next actions from objective plans.
|
|
4
|
+
* @needs src/engine/objective/catalog.ts, src/engine/objective/types.ts, src/output/envelope.ts
|
|
5
|
+
* @feeds src/commands/do.ts
|
|
6
|
+
* @breaks If next actions skip delivery.run, agents can bypass the real evidence loop.
|
|
7
|
+
* @invariants Delivery spec execution is offered before direct commands; partial paths are labeled as partial.
|
|
8
|
+
* @side-effects none.
|
|
9
|
+
* @perf O(strategy count).
|
|
10
|
+
* @concurrency pure and reentrant.
|
|
11
|
+
* @test tests/unit/commands/do.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-06-01
|
|
14
|
+
*/
|
|
15
|
+
import { objectiveCommandToCli, parseObjectiveCommand } from "./catalog.js";
|
|
16
|
+
export function buildObjectiveDoPayload(intent, plan, fallbackSearchCandidates) {
|
|
17
|
+
return {
|
|
18
|
+
intent,
|
|
19
|
+
match: null,
|
|
20
|
+
objective_plan: plan,
|
|
21
|
+
catalog_candidates: buildObjectiveCatalogCandidates(plan),
|
|
22
|
+
fallback_search_candidates: fallbackSearchCandidates,
|
|
23
|
+
...(plan.delivery_spec_template
|
|
24
|
+
? { delivery_spec_template: plan.delivery_spec_template }
|
|
25
|
+
: {}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export function buildObjectiveNextActions(intent, plan) {
|
|
29
|
+
const actions = [];
|
|
30
|
+
if (plan.delivery_spec_template) {
|
|
31
|
+
actions.push({
|
|
32
|
+
command: "unicli delivery run <objective-delivery-spec.json>",
|
|
33
|
+
description: "Execute the included delivery_spec_template and record evidence before claiming success",
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const firstRunnable = [...plan.strategies]
|
|
37
|
+
.sort((left, right) => left.priority - right.priority)
|
|
38
|
+
.find((strategy) => strategy.status !== "missing" && strategy.steps[0]);
|
|
39
|
+
if (firstRunnable) {
|
|
40
|
+
const firstStep = firstRunnable.steps[0];
|
|
41
|
+
actions.push({
|
|
42
|
+
command: objectiveCommandToCli(firstStep.command),
|
|
43
|
+
description: firstRunnable.status === "executable"
|
|
44
|
+
? firstStep.purpose
|
|
45
|
+
: `${firstStep.purpose} (partial ${firstRunnable.provider} path)`,
|
|
46
|
+
...(firstStep.args
|
|
47
|
+
? { params: argsToNextActionParams(firstStep.args) }
|
|
48
|
+
: {}),
|
|
49
|
+
});
|
|
50
|
+
actions.push({
|
|
51
|
+
command: objectiveCommandToCli(firstRunnable.verification.command),
|
|
52
|
+
description: firstRunnable.verification.purpose,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
actions.push({
|
|
56
|
+
command: `unicli search "${intent}"`,
|
|
57
|
+
description: "Inspect command-level fallbacks if the objective plan is wrong",
|
|
58
|
+
});
|
|
59
|
+
return actions;
|
|
60
|
+
}
|
|
61
|
+
export function buildObjectiveCatalogCandidates(plan) {
|
|
62
|
+
return plan.strategies.map((strategy) => {
|
|
63
|
+
const firstStep = strategy.steps[0];
|
|
64
|
+
const command = firstStep?.command ?? strategy.verification.command;
|
|
65
|
+
const parsed = parseObjectiveCommand(command);
|
|
66
|
+
return {
|
|
67
|
+
site: parsed?.site ?? "unknown",
|
|
68
|
+
command: parsed?.command ?? command,
|
|
69
|
+
provider: strategy.provider,
|
|
70
|
+
substrate: strategy.substrate,
|
|
71
|
+
status: strategy.status,
|
|
72
|
+
description: strategy.label,
|
|
73
|
+
...(firstStep?.args ? { args: firstStep.args } : {}),
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function argsToNextActionParams(args) {
|
|
78
|
+
const params = {};
|
|
79
|
+
for (const [name, value] of Object.entries(args)) {
|
|
80
|
+
if (typeof value === "string" ||
|
|
81
|
+
typeof value === "number" ||
|
|
82
|
+
typeof value === "boolean") {
|
|
83
|
+
params[name] = { default: value };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return params;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/engine/objective/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/engine/objective/planner.ts
|
|
3
|
+
* @does Routes natural-language goals through objective workflows and validates their command refs.
|
|
4
|
+
* @needs src/engine/objective/catalog.ts, src/engine/objective/media-playback.ts, src/engine/objective/delivery.ts
|
|
5
|
+
* @feeds src/commands/do.ts and future objective execution surfaces.
|
|
6
|
+
* @breaks Unvalidated workflow strategies can produce non-executable delivery specs.
|
|
7
|
+
* @invariants All non-missing strategy commands must resolve in the live registry before delivery specs are emitted.
|
|
8
|
+
* @side-effects none.
|
|
9
|
+
* @perf O(workflow count * intent length + strategy command refs).
|
|
10
|
+
* @concurrency pure and reentrant after registry load.
|
|
11
|
+
* @test tests/unit/objective-compiler.test.ts, tests/unit/commands/do.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-06-01
|
|
14
|
+
*/
|
|
15
|
+
import type { ObjectiveCommandCatalog, ObjectivePlan } from "./types.js";
|
|
16
|
+
export declare function compileObjectivePlan(intent: string, catalog?: ObjectiveCommandCatalog): ObjectivePlan | undefined;
|
|
17
|
+
//# sourceMappingURL=planner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../src/engine/objective/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAEV,uBAAuB,EACvB,aAAa,EAKd,MAAM,YAAY,CAAC;AAMpB,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,uBAA0D,GAClE,aAAa,GAAG,SAAS,CAO3B"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/engine/objective/planner.ts
|
|
3
|
+
* @does Routes natural-language goals through objective workflows and validates their command refs.
|
|
4
|
+
* @needs src/engine/objective/catalog.ts, src/engine/objective/media-playback.ts, src/engine/objective/delivery.ts
|
|
5
|
+
* @feeds src/commands/do.ts and future objective execution surfaces.
|
|
6
|
+
* @breaks Unvalidated workflow strategies can produce non-executable delivery specs.
|
|
7
|
+
* @invariants All non-missing strategy commands must resolve in the live registry before delivery specs are emitted.
|
|
8
|
+
* @side-effects none.
|
|
9
|
+
* @perf O(workflow count * intent length + strategy command refs).
|
|
10
|
+
* @concurrency pure and reentrant after registry load.
|
|
11
|
+
* @test tests/unit/objective-compiler.test.ts, tests/unit/commands/do.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-06-01
|
|
14
|
+
*/
|
|
15
|
+
import { createRegistryObjectiveCatalog } from "./catalog.js";
|
|
16
|
+
import { buildObjectiveDeliverySpecTemplate } from "./delivery.js";
|
|
17
|
+
import { mediaPlaybackWorkflow } from "./media-playback.js";
|
|
18
|
+
const OBJECTIVE_WORKFLOWS = [
|
|
19
|
+
mediaPlaybackWorkflow,
|
|
20
|
+
];
|
|
21
|
+
export function compileObjectivePlan(intent, catalog = createRegistryObjectiveCatalog()) {
|
|
22
|
+
for (const workflow of OBJECTIVE_WORKFLOWS) {
|
|
23
|
+
const draft = workflow.compile(intent);
|
|
24
|
+
if (!draft)
|
|
25
|
+
continue;
|
|
26
|
+
return materializeObjectivePlan(draft, catalog);
|
|
27
|
+
}
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
function materializeObjectivePlan(draft, catalog) {
|
|
31
|
+
const validationGaps = [];
|
|
32
|
+
const strategies = draft.strategies.map((strategy) => validateStrategyCommands(strategy, catalog, validationGaps));
|
|
33
|
+
const plan = {
|
|
34
|
+
schema_version: "objective-plan.v1",
|
|
35
|
+
objective: draft.objective,
|
|
36
|
+
strategies,
|
|
37
|
+
capability_gaps: [...draft.capability_gaps, ...validationGaps],
|
|
38
|
+
};
|
|
39
|
+
const deliverySpec = buildObjectiveDeliverySpecTemplate(plan);
|
|
40
|
+
return deliverySpec
|
|
41
|
+
? { ...plan, delivery_spec_template: deliverySpec }
|
|
42
|
+
: plan;
|
|
43
|
+
}
|
|
44
|
+
function validateStrategyCommands(strategy, catalog, gaps) {
|
|
45
|
+
if (strategy.status === "missing")
|
|
46
|
+
return strategy;
|
|
47
|
+
const missingStep = strategyCommandRefs(strategy).find((step) => !catalog.hasCommand(step.command));
|
|
48
|
+
if (!missingStep)
|
|
49
|
+
return strategy;
|
|
50
|
+
gaps.push({
|
|
51
|
+
provider: strategy.provider,
|
|
52
|
+
missing: missingStep.command,
|
|
53
|
+
reason: `Objective strategy ${strategy.id} references an unregistered command: ${missingStep.command}.`,
|
|
54
|
+
});
|
|
55
|
+
return { ...strategy, status: "missing" };
|
|
56
|
+
}
|
|
57
|
+
function strategyCommandRefs(strategy) {
|
|
58
|
+
return [...strategy.steps, strategy.verification];
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=planner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/engine/objective/planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAW5D,MAAM,mBAAmB,GAAiC;IACxD,qBAAqB;CACtB,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,UAAmC,8BAA8B,EAAE;IAEnE,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,OAAO,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAA6B,EAC7B,OAAgC;IAEhC,MAAM,cAAc,GAA6B,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACnD,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAC5D,CAAC;IACF,MAAM,IAAI,GAAkB;QAC1B,cAAc,EAAE,mBAAmB;QACnC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU;QACV,eAAe,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,EAAE,GAAG,cAAc,CAAC;KAC/D,CAAC;IACF,MAAM,YAAY,GAAG,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,YAAY;QACjB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE;QACnD,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA2B,EAC3B,OAAgC,EAChC,IAA8B;IAE9B,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAEnD,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAC5C,CAAC;IACF,IAAI,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC;IAElC,IAAI,CAAC,IAAI,CAAC;QACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,MAAM,EAAE,sBAAsB,QAAQ,CAAC,EAAE,wCAAwC,WAAW,CAAC,OAAO,GAAG;KACxG,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAA2B;IACtD,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/engine/objective/types.ts
|
|
3
|
+
* @does Defines objective-level workflow contracts before command routing.
|
|
4
|
+
* @needs src/engine/delivery/types.ts, src/engine/delivery/spec.ts
|
|
5
|
+
* @feeds src/engine/objective/planner.ts, src/engine/objective/output.ts, src/commands/do.ts
|
|
6
|
+
* @breaks Weak objective contracts let stateful goals fall back to raw command search.
|
|
7
|
+
* @invariants Objective plans are plan-only and must expose capability gaps instead of pretending missing app control works.
|
|
8
|
+
* @side-effects none
|
|
9
|
+
* @perf type-only module.
|
|
10
|
+
* @concurrency type-only module.
|
|
11
|
+
* @test tests/unit/objective-compiler.test.ts, tests/unit/commands/do.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-06-01
|
|
14
|
+
*/
|
|
15
|
+
import type { DeliveryEvidenceGate } from "../delivery/types.js";
|
|
16
|
+
import type { DeliveryOperatorSpec } from "../delivery/spec.js";
|
|
17
|
+
export type ObjectiveKind = "media.playback";
|
|
18
|
+
export type ObjectiveStrategySubstrate = "native-api" | "desktop-cdp" | "desktop-ax" | "visual-fallback";
|
|
19
|
+
export type ObjectiveStrategyStatus = "executable" | "partial" | "missing";
|
|
20
|
+
export interface ObjectivePlan {
|
|
21
|
+
schema_version: "objective-plan.v1";
|
|
22
|
+
objective: {
|
|
23
|
+
id: string;
|
|
24
|
+
kind: ObjectiveKind;
|
|
25
|
+
goal: string;
|
|
26
|
+
confidence: number;
|
|
27
|
+
slots: Record<string, unknown>;
|
|
28
|
+
evidence_gates: DeliveryEvidenceGate[];
|
|
29
|
+
};
|
|
30
|
+
strategies: ObjectiveStrategy[];
|
|
31
|
+
capability_gaps: ObjectiveCapabilityGap[];
|
|
32
|
+
delivery_spec_template?: DeliveryOperatorSpec;
|
|
33
|
+
}
|
|
34
|
+
export interface ObjectiveStrategy {
|
|
35
|
+
id: string;
|
|
36
|
+
label: string;
|
|
37
|
+
provider: string;
|
|
38
|
+
substrate: ObjectiveStrategySubstrate;
|
|
39
|
+
status: ObjectiveStrategyStatus;
|
|
40
|
+
priority: number;
|
|
41
|
+
steps: ObjectiveStep[];
|
|
42
|
+
verification: ObjectiveStep;
|
|
43
|
+
}
|
|
44
|
+
export interface ObjectiveStep {
|
|
45
|
+
command: string;
|
|
46
|
+
args?: Record<string, unknown>;
|
|
47
|
+
purpose: string;
|
|
48
|
+
}
|
|
49
|
+
export interface ObjectiveCapabilityGap {
|
|
50
|
+
provider: string;
|
|
51
|
+
missing: string;
|
|
52
|
+
reason: string;
|
|
53
|
+
}
|
|
54
|
+
export interface ObjectiveCommandCatalog {
|
|
55
|
+
hasCommand(command: string): boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface ObjectiveWorkflowDraft {
|
|
58
|
+
objective: ObjectivePlan["objective"];
|
|
59
|
+
strategies: ObjectiveStrategy[];
|
|
60
|
+
capability_gaps: ObjectiveCapabilityGap[];
|
|
61
|
+
}
|
|
62
|
+
export interface ObjectiveWorkflow {
|
|
63
|
+
id: ObjectiveKind;
|
|
64
|
+
compile(intent: string): ObjectiveWorkflowDraft | undefined;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/objective/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAE7C,MAAM,MAAM,0BAA0B,GAClC,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,iBAAiB,CAAC;AAEtB,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,mBAAmB,CAAC;IACpC,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,cAAc,EAAE,oBAAoB,EAAE,CAAC;KACxC,CAAC;IACF,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,0BAA0B,CAAC;IACtC,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,eAAe,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,aAAa,CAAC;IAClB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;CAC7D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @owner src/engine/objective/types.ts
|
|
3
|
+
* @does Defines objective-level workflow contracts before command routing.
|
|
4
|
+
* @needs src/engine/delivery/types.ts, src/engine/delivery/spec.ts
|
|
5
|
+
* @feeds src/engine/objective/planner.ts, src/engine/objective/output.ts, src/commands/do.ts
|
|
6
|
+
* @breaks Weak objective contracts let stateful goals fall back to raw command search.
|
|
7
|
+
* @invariants Objective plans are plan-only and must expose capability gaps instead of pretending missing app control works.
|
|
8
|
+
* @side-effects none
|
|
9
|
+
* @perf type-only module.
|
|
10
|
+
* @concurrency type-only module.
|
|
11
|
+
* @test tests/unit/objective-compiler.test.ts, tests/unit/commands/do.test.ts
|
|
12
|
+
* @stability experimental
|
|
13
|
+
* @since 2026-06-01
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engine/objective/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-helpers.d.ts","sourceRoot":"","sources":["../../../src/engine/steps/browser-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAyBzD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"browser-helpers.d.ts","sourceRoot":"","sources":["../../../src/engine/steps/browser-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAyBzD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAoD5E;AAqFD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,KAAK,SAAO,EACZ,OAAO,SAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -35,6 +35,9 @@ export async function acquirePage(ctx) {
|
|
|
35
35
|
: await acquireConnectedDaemonPage();
|
|
36
36
|
if (daemonPage)
|
|
37
37
|
return daemonPage;
|
|
38
|
+
const userSessionPage = await acquireUserSessionCdpPage(ctx);
|
|
39
|
+
if (userSessionPage)
|
|
40
|
+
return userSessionPage;
|
|
38
41
|
}
|
|
39
42
|
else if (ctx.browserSession !== "cdp") {
|
|
40
43
|
const daemonPage = await acquireConnectedDaemonPage();
|
|
@@ -80,6 +83,37 @@ export async function acquirePage(ctx) {
|
|
|
80
83
|
throw new Error(`Cannot connect to Chrome. Run "unicli browser start" first. (${err instanceof Error ? err.message : String(err)})`);
|
|
81
84
|
}
|
|
82
85
|
}
|
|
86
|
+
async function acquireUserSessionCdpPage(ctx) {
|
|
87
|
+
const { automationUserDataDirForProfile, readUserDataDirDebugPort, resolvePreferredLocalBrowserProfile, } = await import("../../browser/local-profiles.js");
|
|
88
|
+
const profile = resolvePreferredLocalBrowserProfile();
|
|
89
|
+
if (!profile)
|
|
90
|
+
return null;
|
|
91
|
+
const { resolveCdpPort } = await import("../../browser/cdp-client.js");
|
|
92
|
+
const { BrowserPage: BP } = await import("../../browser/page.js");
|
|
93
|
+
const { injectStealth } = await import("../../browser/stealth.js");
|
|
94
|
+
const { findAvailableCDPPort, isCDPAvailable, launchChrome } = await import("../../browser/launcher.js");
|
|
95
|
+
const userDataDir = automationUserDataDirForProfile(profile);
|
|
96
|
+
const recorded = readUserDataDirDebugPort(userDataDir);
|
|
97
|
+
const livePort = recorded.state === "recorded" &&
|
|
98
|
+
typeof recorded.port === "number" &&
|
|
99
|
+
(await isCDPAvailable(recorded.port))
|
|
100
|
+
? recorded.port
|
|
101
|
+
: null;
|
|
102
|
+
const port = livePort ?? (await findAvailableCDPPort(resolveCdpPort()));
|
|
103
|
+
if (livePort === null) {
|
|
104
|
+
await launchChrome(port, {
|
|
105
|
+
...(profile.browser_path_exists
|
|
106
|
+
? { browserPath: profile.browser_path }
|
|
107
|
+
: {}),
|
|
108
|
+
userDataDir,
|
|
109
|
+
reuseExisting: false,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
const page = await BP.connect(port, { freshPage: true });
|
|
113
|
+
await injectStealth(page.sendCDP.bind(page));
|
|
114
|
+
await syncUserSessionCookies(page, ctx);
|
|
115
|
+
return page;
|
|
116
|
+
}
|
|
83
117
|
async function launchOptionsForContext(ctx) {
|
|
84
118
|
if (ctx.browserSession !== "user")
|
|
85
119
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-helpers.js","sourceRoot":"","sources":["../../../src/engine/steps/browser-helpers.ts"],"names":[],"mappings":"AAGA,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,OAAO,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAA2B,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,2HAA2H;QAC3H,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC/D,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,oHAAoH;QACpH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAoB;IACpD,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAE9B,IAAI,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;QAClC,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,GAAG;YAC7C,CAAC,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC;YAC/B,CAAC,CAAC,MAAM,0BAA0B,EAAE,CAAC;QACzC,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-helpers.js","sourceRoot":"","sources":["../../../src/engine/steps/browser-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-text.d.ts","sourceRoot":"","sources":["../../../src/engine/steps/fetch-text.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,gBAAgB,CAAC;AAUrE,OAAO,
|
|
1
|
+
{"version":3,"file":"fetch-text.d.ts","sourceRoot":"","sources":["../../../src/engine/steps/fetch-text.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,eAAe,EAAiB,MAAM,gBAAgB,CAAC;AAUrE,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAiIpB,wBAAsB,aAAa,CACjC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,WAAW,EACnB,SAAS,SAAK,GACb,OAAO,CAAC,eAAe,CAAC,CA4D1B"}
|
|
@@ -18,7 +18,7 @@ import { evalTemplate } from "../template.js";
|
|
|
18
18
|
import { getProxyAgent } from "../proxy.js";
|
|
19
19
|
import { assertRuntimeNetworkAllowed } from "../runtime-resource-guard.js";
|
|
20
20
|
import { parseSetCookiePairs, mergeCookieHeader, sameRegistrableHost, } from "../cookie-capture.js";
|
|
21
|
-
import { networkAccessForMethod, normalizeFetchAttempts, } from "./fetch.js";
|
|
21
|
+
import { networkAccessForMethod, normalizeFetchAttempts, resolveHeaderTemplates, } from "./fetch.js";
|
|
22
22
|
/** Append resolved `params` to a URL, preserving an existing query string. */
|
|
23
23
|
function withParams(url, config, ctx) {
|
|
24
24
|
if (!config.params)
|
|
@@ -120,7 +120,7 @@ export async function stepFetchText(ctx, config, stepIndex = -1) {
|
|
|
120
120
|
: [baseUrl];
|
|
121
121
|
const headers = {
|
|
122
122
|
"User-Agent": USER_AGENT,
|
|
123
|
-
...config.headers,
|
|
123
|
+
...resolveHeaderTemplates(config.headers, ctx),
|
|
124
124
|
};
|
|
125
125
|
if (ctx.cookieHeader) {
|
|
126
126
|
headers["Cookie"] = ctx.cookieHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-text.js","sourceRoot":"","sources":["../../../src/engine/steps/fetch-text.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fetch-text.js","sourceRoot":"","sources":["../../../src/engine/steps/fetch-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ export interface FetchConfig {
|
|
|
30
30
|
rotate_on_field?: string;
|
|
31
31
|
}
|
|
32
32
|
export declare function normalizeFetchAttempts(retry: number | undefined): number;
|
|
33
|
+
export declare function resolveHeaderTemplates(headers: Record<string, string> | undefined, ctx: PipelineContext): Record<string, string> | undefined;
|
|
33
34
|
export declare function stepFetch(ctx: PipelineContext, config: FetchConfig, stepIndex?: number): Promise<PipelineContext>;
|
|
34
35
|
export declare function networkAccessForMethod(method?: string): "read" | "write";
|
|
35
36
|
//# sourceMappingURL=fetch.d.ts.map
|