@aui.io/apollo 0.1.40 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +133 -29
  2. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
  3. package/node_modules/@aui.io/apollo-cli/dist/src/index.js +0 -2
  4. package/node_modules/@aui.io/apollo-cli/dist/src/index.js.map +1 -1
  5. package/node_modules/@aui.io/apollo-cli/package.json +3 -3
  6. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.d.ts +11 -100
  7. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js +0 -17
  8. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js.map +1 -1
  9. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.d.ts +71 -0
  10. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js +17 -0
  11. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js.map +1 -1
  12. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.d.ts +12 -1
  13. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +8 -2
  14. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -1
  15. package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.d.ts +15 -0
  16. package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.js +121 -0
  17. package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.js.map +1 -0
  18. package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +2 -3
  19. package/node_modules/@aui.io/apollo-core/dist/src/index.js +0 -1
  20. package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
  21. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +55 -6
  22. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +189 -36
  23. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
  24. package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.d.ts +42 -0
  25. package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.js +106 -0
  26. package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.js.map +1 -0
  27. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.d.ts +5 -3
  28. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js +15 -6
  29. package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js.map +1 -1
  30. package/node_modules/@aui.io/apollo-core/package.json +1 -1
  31. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js +0 -28
  32. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js.map +1 -1
  33. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +0 -3
  34. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js.map +1 -1
  35. package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.d.ts +1 -3
  36. package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js +3 -3
  37. package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js.map +1 -1
  38. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +3 -82
  39. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
  40. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +0 -43
  41. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -1
  42. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +15 -159
  43. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -1
  44. package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.d.ts +1 -1
  45. package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js +0 -1
  46. package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js.map +1 -1
  47. package/node_modules/@aui.io/apollo-tui/package.json +2 -2
  48. package/package.json +4 -4
  49. package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.d.ts +0 -3
  50. package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.js +0 -124
  51. package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.js.map +0 -1
  52. package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.d.ts +0 -158
  53. package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.js +0 -481
  54. package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.js.map +0 -1
  55. package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.d.ts +0 -22
  56. package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.js +0 -99
  57. package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.js.map +0 -1
  58. package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.d.ts +0 -47
  59. package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.js +0 -284
  60. package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.js.map +0 -1
@@ -1,47 +0,0 @@
1
- /**
2
- * Scenarios subview data layer — the checkout's evaluation suite
3
- * (`scenarios/scenarios.json`) merged with its last score
4
- * (`scenarios/scores.json`) into one navigable row list plus detail
5
- * blocks per row. Local-first and pure fs: remote sync stays with the
6
- * `scenarios-pull` / `scenarios-push` / `scores-pull` commands, so the
7
- * view itself works offline and re-reads instantly after a pull.
8
- */
9
- import { type LocalScenario, type LocalScores } from "@aui.io/apollo-core/services/scenarios.js";
10
- export interface ScenariosData {
11
- loadedAt: number;
12
- suite?: LocalScenario[] | undefined;
13
- scores?: LocalScores | undefined;
14
- /** Parse/validation failure reading either file — shown, not thrown. */
15
- error?: string | undefined;
16
- }
17
- /** Read both files; a broken one degrades to an error row, never a crash. */
18
- export declare function loadScenariosData(checkoutRoot: string): Promise<ScenariosData>;
19
- /** One paragraph of the detail pane; markdown renders rich when enabled. */
20
- export interface ScenarioBlock {
21
- heading?: string | undefined;
22
- text: string;
23
- markdown: boolean;
24
- }
25
- export interface ScenarioViewRow {
26
- /** Stable id — cursor restoration keys off it. */
27
- id: string;
28
- kind: "summary" | "scenario" | "action" | "note";
29
- label: string;
30
- note?: string | undefined;
31
- /** undefined = unscored (suite-only row). */
32
- status?: "pass" | "open" | undefined;
33
- /** Transcript ids — `t` (or the detail hint) jumps to the first. */
34
- sessionIds: string[];
35
- detailTitle: string;
36
- blocks: ScenarioBlock[];
37
- /** Slash command an action row dispatches. */
38
- command?: string | undefined;
39
- warn?: boolean;
40
- }
41
- /**
42
- * Flatten suite + scores into rows: the score summary first, then every
43
- * scenario (suite order, score-only codes appended), then action rows.
44
- */
45
- export declare function scenarioRows(data: ScenariosData | undefined): ScenarioViewRow[];
46
- /** One-line summary for the Author home card. */
47
- export declare function scenariosSummary(data: ScenariosData | undefined): string;
@@ -1,284 +0,0 @@
1
- /**
2
- * Scenarios subview data layer — the checkout's evaluation suite
3
- * (`scenarios/scenarios.json`) merged with its last score
4
- * (`scenarios/scores.json`) into one navigable row list plus detail
5
- * blocks per row. Local-first and pure fs: remote sync stays with the
6
- * `scenarios-pull` / `scenarios-push` / `scores-pull` commands, so the
7
- * view itself works offline and re-reads instantly after a pull.
8
- */
9
- import { readLocalScenarios, readLocalScores, REPORT_BLOCK_KEYS, } from "@aui.io/apollo-core/services/scenarios.js";
10
- /** Read both files; a broken one degrades to an error row, never a crash. */
11
- export async function loadScenariosData(checkoutRoot) {
12
- try {
13
- const [suite, scores] = await Promise.all([
14
- readLocalScenarios(checkoutRoot),
15
- readLocalScores(checkoutRoot),
16
- ]);
17
- return {
18
- loadedAt: Date.now(),
19
- suite: suite?.scenarios,
20
- scores,
21
- };
22
- }
23
- catch (error) {
24
- return {
25
- loadedAt: Date.now(),
26
- error: error instanceof Error ? error.message : String(error),
27
- };
28
- }
29
- }
30
- function totalsOf(scores) {
31
- const rows = scores.scenarios ?? [];
32
- const total = scores.total_scenarios ?? rows.length;
33
- const pass = scores.pass_scenarios ?? rows.filter((row) => row.status === "pass").length;
34
- return {
35
- total,
36
- pass,
37
- pct: scores.pass_percentage ??
38
- (total > 0 ? Math.round((pass / total) * 100) : 0),
39
- };
40
- }
41
- function attemptsOf(result) {
42
- if (result?.k === undefined)
43
- return "";
44
- return `${String(result.passed ?? 0)}/${String(result.k)}`;
45
- }
46
- function clip(text, max) {
47
- const oneLine = text.replaceAll(/\s+/g, " ").trim();
48
- return oneLine.length <= max ? oneLine : `${oneLine.slice(0, max - 1)}…`;
49
- }
50
- function summaryBlocks(scores) {
51
- const blocks = [];
52
- if (scores.summary) {
53
- blocks.push({ text: scores.summary, markdown: true });
54
- }
55
- if (scores.residuals) {
56
- blocks.push({ heading: "residuals", text: scores.residuals, markdown: true });
57
- }
58
- for (const key of REPORT_BLOCK_KEYS) {
59
- const text = scores[key];
60
- if (typeof text === "string" && text.trim()) {
61
- blocks.push({ heading: key, text, markdown: true });
62
- }
63
- }
64
- if (scores.session_ids && scores.session_ids.length > 0) {
65
- blocks.push({
66
- heading: "run transcripts",
67
- text: scores.session_ids.join("\n"),
68
- markdown: false,
69
- });
70
- }
71
- if (blocks.length === 0) {
72
- blocks.push({ text: "No report attached to this score.", markdown: false });
73
- }
74
- return blocks;
75
- }
76
- function scenarioBlocks(scenario, result) {
77
- const blocks = [];
78
- const goal = typeof scenario?.goal === "string" ? scenario.goal : "";
79
- const description = typeof scenario?.description === "string" ? scenario.description : "";
80
- if (goal)
81
- blocks.push({ heading: "goal", text: goal, markdown: true });
82
- if (description) {
83
- blocks.push({ heading: "description", text: description, markdown: true });
84
- }
85
- // Extra suite keys (beyond code/goal/description) stay visible — the
86
- // server preserves them verbatim, so authors do use them.
87
- const extras = Object.entries(scenario ?? {}).filter(([key, value]) => key !== "code" &&
88
- key !== "goal" &&
89
- key !== "description" &&
90
- value != null);
91
- if (extras.length > 0) {
92
- blocks.push({
93
- heading: "extra",
94
- text: extras
95
- .map(([key, value]) => `${key}: ${typeof value === "string" ? value : JSON.stringify(value)}`)
96
- .join("\n"),
97
- markdown: false,
98
- });
99
- }
100
- if (result) {
101
- const attempts = attemptsOf(result);
102
- blocks.push({
103
- heading: "result",
104
- text: `${result.status}${attempts ? ` · ${attempts} attempts passed` : ""}`,
105
- markdown: false,
106
- });
107
- if (result.comments) {
108
- blocks.push({ heading: "comments", text: result.comments, markdown: true });
109
- }
110
- if (result.session_ids && result.session_ids.length > 0) {
111
- blocks.push({
112
- heading: "transcripts",
113
- text: result.session_ids.join("\n"),
114
- markdown: false,
115
- });
116
- }
117
- }
118
- else {
119
- blocks.push({
120
- text: "Not scored yet — the scoring skill writes scores.json.",
121
- markdown: false,
122
- });
123
- }
124
- return blocks;
125
- }
126
- /**
127
- * Flatten suite + scores into rows: the score summary first, then every
128
- * scenario (suite order, score-only codes appended), then action rows.
129
- */
130
- export function scenarioRows(data) {
131
- if (!data) {
132
- return [
133
- {
134
- id: "loading",
135
- kind: "note",
136
- label: "loading scenarios…",
137
- sessionIds: [],
138
- detailTitle: "scenarios",
139
- blocks: [],
140
- },
141
- ];
142
- }
143
- if (data.error) {
144
- return [
145
- {
146
- id: "error",
147
- kind: "note",
148
- label: data.error,
149
- warn: true,
150
- sessionIds: [],
151
- detailTitle: "scenarios",
152
- blocks: [
153
- { text: data.error, markdown: false },
154
- {
155
- text: "Fix the JSON in scenarios/ (or re-pull) and press r.",
156
- markdown: false,
157
- },
158
- ],
159
- },
160
- ];
161
- }
162
- const rows = [];
163
- const suite = data.suite ?? [];
164
- const results = new Map((data.scores?.scenarios ?? []).map((row) => [row.scenario_code, row]));
165
- if (data.scores) {
166
- const totals = totalsOf(data.scores);
167
- rows.push({
168
- id: "summary",
169
- kind: "summary",
170
- label: "last score",
171
- note: `${String(totals.pass)}/${String(totals.total)} pass (${String(totals.pct)}%)`,
172
- sessionIds: data.scores.session_ids ?? [],
173
- detailTitle: "last score",
174
- blocks: summaryBlocks(data.scores),
175
- ...(totals.pass < totals.total ? { warn: true } : {}),
176
- });
177
- }
178
- for (const scenario of suite) {
179
- const result = results.get(scenario.code);
180
- const attempts = attemptsOf(result);
181
- const goal = typeof scenario.goal === "string" ? scenario.goal : "";
182
- rows.push({
183
- id: `s/${scenario.code}`,
184
- kind: "scenario",
185
- label: scenario.code,
186
- note: [attempts, goal ? clip(goal, 48) : ""]
187
- .filter(Boolean)
188
- .join(" · ") || undefined,
189
- status: result?.status,
190
- sessionIds: result?.session_ids ?? [],
191
- detailTitle: scenario.code,
192
- blocks: scenarioBlocks(scenario, result),
193
- });
194
- }
195
- // Scored codes missing from the local suite still render — a stale suite
196
- // must not hide grades.
197
- for (const [code, result] of results) {
198
- if (suite.some((scenario) => scenario.code === code))
199
- continue;
200
- rows.push({
201
- id: `s/${code}`,
202
- kind: "scenario",
203
- label: code,
204
- note: "not in the local suite",
205
- status: result.status,
206
- sessionIds: result.session_ids ?? [],
207
- detailTitle: code,
208
- blocks: scenarioBlocks(undefined, result),
209
- warn: true,
210
- });
211
- }
212
- if (suite.length === 0 && !data.scores) {
213
- rows.push({
214
- id: "empty",
215
- kind: "note",
216
- label: "no scenarios yet",
217
- note: "pull the suite, or scaffold a new one",
218
- sessionIds: [],
219
- detailTitle: "scenarios",
220
- blocks: [
221
- {
222
- text: "No scenarios/ files in this checkout. Pull the agent's suite, or scaffold an empty one and let a copilot fill it in.",
223
- markdown: false,
224
- },
225
- ],
226
- });
227
- }
228
- rows.push({
229
- id: "action/pull",
230
- kind: "action",
231
- label: "pull latest from remote",
232
- note: "suite + intent files",
233
- command: "scenarios-pull",
234
- sessionIds: [],
235
- detailTitle: "scenarios",
236
- blocks: [],
237
- }, {
238
- id: "action/scores",
239
- kind: "action",
240
- label: "pull newest score",
241
- note: "for the bound version",
242
- command: "scores-pull",
243
- sessionIds: [],
244
- detailTitle: "scenarios",
245
- blocks: [],
246
- }, suite.length > 0 || data.scores
247
- ? {
248
- id: "action/push",
249
- kind: "action",
250
- label: "push suite + scores",
251
- note: "new bundle version",
252
- command: "scenarios-push",
253
- sessionIds: [],
254
- detailTitle: "scenarios",
255
- blocks: [],
256
- }
257
- : {
258
- id: "action/generate",
259
- kind: "action",
260
- label: "scaffold scenarios/",
261
- note: "suite skeleton + intent/",
262
- command: "scenarios-generate",
263
- sessionIds: [],
264
- detailTitle: "scenarios",
265
- blocks: [],
266
- });
267
- return rows;
268
- }
269
- /** One-line summary for the Author home card. */
270
- export function scenariosSummary(data) {
271
- if (!data)
272
- return "s to inspect";
273
- if (data.error)
274
- return "unreadable — s to inspect";
275
- if (data.scores) {
276
- const totals = totalsOf(data.scores);
277
- return `${String(totals.pass)}/${String(totals.total)} pass (${String(totals.pct)}%)`;
278
- }
279
- if (data.suite && data.suite.length > 0) {
280
- return `${String(data.suite.length)} scenario(s) · unscored`;
281
- }
282
- return "none — s to start";
283
- }
284
- //# sourceMappingURL=scenarios.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../../src/author/scenarios.ts"],"names":[],"mappings":"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"}