@jterrats/open-orchestra 0.5.1 → 0.5.3

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 (57) hide show
  1. package/dist/cli.js +10 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/command-manifest.js +4 -1
  4. package/dist/command-manifest.js.map +1 -1
  5. package/dist/commands.d.ts +2 -2
  6. package/dist/commands.js +8 -3
  7. package/dist/commands.js.map +1 -1
  8. package/dist/gemini-provider.d.ts +13 -0
  9. package/dist/gemini-provider.js +141 -0
  10. package/dist/gemini-provider.js.map +1 -0
  11. package/dist/lesson-assist.d.ts +19 -0
  12. package/dist/lesson-assist.js +70 -0
  13. package/dist/lesson-assist.js.map +1 -0
  14. package/dist/memory-status.d.ts +22 -0
  15. package/dist/memory-status.js +139 -0
  16. package/dist/memory-status.js.map +1 -0
  17. package/dist/model-providers.d.ts +2 -0
  18. package/dist/model-providers.js +8 -0
  19. package/dist/model-providers.js.map +1 -1
  20. package/dist/ollama-provider.d.ts +12 -0
  21. package/dist/ollama-provider.js +86 -0
  22. package/dist/ollama-provider.js.map +1 -0
  23. package/dist/planning-commands.d.ts +1 -0
  24. package/dist/planning-commands.js +9 -0
  25. package/dist/planning-commands.js.map +1 -1
  26. package/dist/prompt-registry-classifier.d.ts +3 -0
  27. package/dist/prompt-registry-classifier.js +83 -0
  28. package/dist/prompt-registry-classifier.js.map +1 -0
  29. package/dist/prompt-registry-update.d.ts +21 -0
  30. package/dist/prompt-registry-update.js +128 -0
  31. package/dist/prompt-registry-update.js.map +1 -0
  32. package/dist/prompt-registry-validation.d.ts +12 -0
  33. package/dist/prompt-registry-validation.js +104 -0
  34. package/dist/prompt-registry-validation.js.map +1 -0
  35. package/dist/prompt-registry.d.ts +1 -0
  36. package/dist/prompt-registry.js +2 -2
  37. package/dist/prompt-registry.js.map +1 -1
  38. package/dist/runtime-execution-adapters.js +16 -0
  39. package/dist/runtime-execution-adapters.js.map +1 -1
  40. package/dist/skills-commands.d.ts +2 -0
  41. package/dist/skills-commands.js +45 -1
  42. package/dist/skills-commands.js.map +1 -1
  43. package/dist/skills-memory.d.ts +6 -0
  44. package/dist/skills-memory.js +16 -0
  45. package/dist/skills-memory.js.map +1 -1
  46. package/dist/skills.d.ts +1 -1
  47. package/dist/skills.js +1 -1
  48. package/dist/skills.js.map +1 -1
  49. package/dist/types/runtime.d.ts +1 -1
  50. package/dist/workspace-artifacts.d.ts +6 -0
  51. package/dist/workspace-artifacts.js +31 -0
  52. package/dist/workspace-artifacts.js.map +1 -0
  53. package/dist/workspace-validator.d.ts +4 -1
  54. package/dist/workspace-validator.js +8 -20
  55. package/dist/workspace-validator.js.map +1 -1
  56. package/docs/runtime-llm-flow.md +18 -4
  57. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-registry-classifier.js","sourceRoot":"","sources":["../src/prompt-registry-classifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type PromptRegistryFileName } from "./prompt-registry.js";
2
+ export interface PromptRegistryEntryInput {
3
+ root?: string;
4
+ artifact: string;
5
+ task: string;
6
+ role: string;
7
+ prompt: string;
8
+ paths?: string[];
9
+ decisions?: string[];
10
+ evidence?: string[];
11
+ register?: PromptRegistryFileName;
12
+ date?: string;
13
+ }
14
+ export interface PromptRegistryUpdateResult {
15
+ file: string;
16
+ artifact: string;
17
+ created: boolean;
18
+ iterations: number;
19
+ redacted: boolean;
20
+ }
21
+ export declare function updatePromptRegistryEntry(input: PromptRegistryEntryInput): Promise<PromptRegistryUpdateResult>;
@@ -0,0 +1,128 @@
1
+ import path from "node:path";
2
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
3
+ import { exists } from "./fs-utils.js";
4
+ import { buildPromptRegistryFile, PROMPT_REGISTRY_DIR, PROMPT_REGISTRY_FOOTER, } from "./prompt-registry.js";
5
+ import { inferPromptRegistryFile } from "./prompt-registry-classifier.js";
6
+ import { redactTelemetryData } from "./telemetry-redaction.js";
7
+ export async function updatePromptRegistryEntry(input) {
8
+ const root = input.root ?? process.cwd();
9
+ const register = input.register ?? inferPromptRegistryFile(input.paths ?? []);
10
+ const registryRoot = path.join(root, PROMPT_REGISTRY_DIR);
11
+ await mkdir(registryRoot, { recursive: true });
12
+ const filePath = path.join(registryRoot, register);
13
+ if (!(await exists(filePath))) {
14
+ await writeFile(filePath, buildPromptRegistryFile(register), "utf8");
15
+ }
16
+ const current = await readFile(filePath, "utf8");
17
+ const prompt = summarizeAndRedactPrompt(input.prompt);
18
+ const date = input.date ?? new Date().toISOString().slice(0, 10);
19
+ const existing = findPromptEntry(current, input.artifact);
20
+ const created = existing === null;
21
+ const iterations = created ? 1 : existing.iterations + 1;
22
+ const entry = buildPromptRegistryEntry({
23
+ artifact: input.artifact,
24
+ created: existing?.created ?? date,
25
+ updated: date,
26
+ iterations,
27
+ task: input.task,
28
+ role: input.role,
29
+ paths: input.paths ?? [],
30
+ decisions: normalizeList(input.decisions, "Prompt registry update recorded."),
31
+ evidence: normalizeList(input.evidence, "Pending verification evidence."),
32
+ prompt: prompt.value,
33
+ });
34
+ const next = created
35
+ ? appendPromptRegistryEntry(current, entry)
36
+ : replacePromptRegistryEntry(current, existing.start, existing.end, entry);
37
+ await writeFile(filePath, next, "utf8");
38
+ return {
39
+ file: path.join(PROMPT_REGISTRY_DIR, register),
40
+ artifact: input.artifact,
41
+ created,
42
+ iterations,
43
+ redacted: prompt.redacted,
44
+ };
45
+ }
46
+ function buildPromptRegistryEntry({ artifact, created, updated, iterations, task, role, paths, decisions, evidence, prompt, }) {
47
+ return [
48
+ `## ${artifact}`,
49
+ `- **Created:** ${created}`,
50
+ `- **Updated:** ${updated}`,
51
+ `- **Iterations:** ${iterations}`,
52
+ `- **Task:** ${task}`,
53
+ `- **Role:** ${role}`,
54
+ ...(paths.length > 0 ? [`- **Paths:** ${paths.join(", ")}`] : []),
55
+ "",
56
+ "### Key decisions",
57
+ ...decisions.map((item) => `- ${item}`),
58
+ "",
59
+ "### Evidence",
60
+ ...evidence.map((item) => `- ${item}`),
61
+ "",
62
+ "### Prompt",
63
+ "````",
64
+ prompt,
65
+ "````",
66
+ "---",
67
+ "",
68
+ ].join("\n");
69
+ }
70
+ function appendPromptRegistryEntry(content, entry) {
71
+ if (content.includes(PROMPT_REGISTRY_FOOTER)) {
72
+ const [beforeFooter, afterFooter = ""] = content.split(PROMPT_REGISTRY_FOOTER);
73
+ return `${beforeFooter}${PROMPT_REGISTRY_FOOTER}\n${entry}${afterFooter.trimStart()}`;
74
+ }
75
+ return `${content.trimEnd()}\n\n${PROMPT_REGISTRY_FOOTER}\n${entry}`;
76
+ }
77
+ function replacePromptRegistryEntry(content, start, end, entry) {
78
+ return `${content.slice(0, start)}${entry}${content.slice(end)}`;
79
+ }
80
+ function findPromptEntry(content, artifact) {
81
+ const maintainedIndex = content.indexOf(PROMPT_REGISTRY_FOOTER);
82
+ const searchStart = maintainedIndex === -1
83
+ ? 0
84
+ : maintainedIndex + PROMPT_REGISTRY_FOOTER.length;
85
+ const heading = new RegExp(`^##\\s+${escapeRegExp(artifact)}\\s*$`, "m");
86
+ const match = heading.exec(content.slice(searchStart));
87
+ if (!match || match.index === undefined)
88
+ return null;
89
+ const start = searchStart + match.index;
90
+ const nextMatch = /^##\s+/m.exec(content.slice(start + match[0].length));
91
+ const end = nextMatch
92
+ ? start + match[0].length + nextMatch.index
93
+ : content.length;
94
+ const entry = content.slice(start, end);
95
+ return {
96
+ start,
97
+ end,
98
+ created: fieldValue(entry, "Created") ?? new Date().toISOString().slice(0, 10),
99
+ iterations: Number(fieldValue(entry, "Iterations") ?? "0") || 0,
100
+ };
101
+ }
102
+ function fieldValue(entry, label) {
103
+ const pattern = new RegExp(`^- \\*\\*${escapeRegExp(label)}:\\*\\*\\s+(.+)$`, "m");
104
+ return pattern.exec(entry)?.[1]?.trim();
105
+ }
106
+ function normalizeList(value, fallback) {
107
+ const items = (value ?? []).map((item) => item.trim()).filter(Boolean);
108
+ return items.length > 0 ? items : [fallback];
109
+ }
110
+ function summarizeAndRedactPrompt(prompt) {
111
+ const compact = prompt.replace(/\s+/g, " ").trim();
112
+ const limited = compact.length > 500
113
+ ? `${compact.slice(0, 497)}...`
114
+ : compact || "Prompt summary not provided.";
115
+ const result = redactTelemetryData(limited);
116
+ const value = result.value.replace(/(secret|token|password)=\S+/gi, "$1=[REDACTED]");
117
+ return {
118
+ value,
119
+ redacted: result.report.redactedFields.length > 0 ||
120
+ result.report.blockedFields.length > 0 ||
121
+ limited !== compact ||
122
+ value !== result.value,
123
+ };
124
+ }
125
+ function escapeRegExp(value) {
126
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
127
+ }
128
+ //# sourceMappingURL=prompt-registry-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-registry-update.js","sourceRoot":"","sources":["../src/prompt-registry-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type PromptRegistryFileName } from "./prompt-registry.js";
2
+ export interface PromptRegistryValidationOptions {
3
+ strict?: boolean;
4
+ bypassRationale?: string;
5
+ }
6
+ export interface PromptRegistryValidationIssue {
7
+ severity: "error" | "warning";
8
+ path: string;
9
+ register: PromptRegistryFileName;
10
+ message: string;
11
+ }
12
+ export declare function validatePromptRegistryCoverage(root: string, options?: PromptRegistryValidationOptions): Promise<PromptRegistryValidationIssue[]>;
@@ -0,0 +1,104 @@
1
+ import { execFile } from "node:child_process";
2
+ import { readdir, readFile } from "node:fs/promises";
3
+ import path from "node:path";
4
+ import { promisify } from "node:util";
5
+ import { PROMPT_REGISTRY_DIR, PROMPT_REGISTRY_FOOTER, } from "./prompt-registry.js";
6
+ import { inferPromptRegistryFile } from "./prompt-registry-classifier.js";
7
+ import { exists } from "./fs-utils.js";
8
+ const execFileAsync = promisify(execFile);
9
+ const RELEVANT_PREFIXES = [
10
+ ".github/",
11
+ "docs/",
12
+ "e2e/",
13
+ "rules/",
14
+ "scripts/",
15
+ "site/",
16
+ "src/",
17
+ "test/",
18
+ ];
19
+ const RELEVANT_FILES = new Set([
20
+ "AGENTS.md",
21
+ "CHANGELOG.md",
22
+ "README.md",
23
+ "package.json",
24
+ ]);
25
+ export async function validatePromptRegistryCoverage(root, options = {}) {
26
+ const changedPaths = relevantChangedPaths(await readGitChangedPaths(root));
27
+ if (changedPaths.length === 0 || options.bypassRationale) {
28
+ return [];
29
+ }
30
+ const entries = await readPromptRegistryEntries(root);
31
+ return changedPaths.flatMap((changedPath) => {
32
+ const register = inferPromptRegistryFile([changedPath]);
33
+ const registerEntries = entries.get(register) ?? [];
34
+ if (hasCoverage(registerEntries, changedPath))
35
+ return [];
36
+ const severity = options.strict ? "error" : "warning";
37
+ return [
38
+ {
39
+ severity,
40
+ path: changedPath,
41
+ register,
42
+ message: `prompt registry missing for ${changedPath}; update ${PROMPT_REGISTRY_DIR}/${register} or rerun with --prompt-registry-bypass-rationale <text>`,
43
+ },
44
+ ];
45
+ });
46
+ }
47
+ async function readGitChangedPaths(root) {
48
+ try {
49
+ const { stdout } = await execFileAsync("git", ["status", "--porcelain", "--untracked-files=all"], { cwd: root });
50
+ return stdout
51
+ .split("\n")
52
+ .map((line) => parsePorcelainPath(line))
53
+ .filter((item) => Boolean(item));
54
+ }
55
+ catch (error) {
56
+ void error;
57
+ return [];
58
+ }
59
+ }
60
+ function parsePorcelainPath(line) {
61
+ if (line.trim() === "")
62
+ return undefined;
63
+ const rawPath = line.slice(3).trim();
64
+ const renamedPath = rawPath.includes(" -> ")
65
+ ? rawPath.split(" -> ").at(-1)
66
+ : rawPath;
67
+ return renamedPath?.replace(/^"|"$/g, "");
68
+ }
69
+ function relevantChangedPaths(paths) {
70
+ return Array.from(new Set(paths
71
+ .filter((item) => !isIgnoredPath(item))
72
+ .filter((item) => RELEVANT_FILES.has(item) ||
73
+ RELEVANT_PREFIXES.some((prefix) => item.startsWith(prefix))))).sort();
74
+ }
75
+ function isIgnoredPath(item) {
76
+ return (item === "package-lock.json" ||
77
+ item === "yarn.lock" ||
78
+ item === "pnpm-lock.yaml" ||
79
+ item.startsWith(".agent-workflow/") ||
80
+ item.startsWith(PROMPT_REGISTRY_DIR) ||
81
+ item.startsWith("dist/") ||
82
+ item.startsWith("node_modules/") ||
83
+ item.endsWith(".map"));
84
+ }
85
+ async function readPromptRegistryEntries(root) {
86
+ const registryRoot = path.join(root, PROMPT_REGISTRY_DIR);
87
+ if (!(await exists(registryRoot)))
88
+ return new Map();
89
+ const files = (await readdir(registryRoot)).filter((file) => file.endsWith(".md"));
90
+ const entries = new Map();
91
+ for (const file of files) {
92
+ const content = await readFile(path.join(registryRoot, file), "utf8");
93
+ const maintained = content.split(PROMPT_REGISTRY_FOOTER)[1] ?? "";
94
+ entries.set(file, maintained
95
+ .split(/\n(?=##\s+)/)
96
+ .map((entry) => entry.trim())
97
+ .filter(Boolean));
98
+ }
99
+ return entries;
100
+ }
101
+ function hasCoverage(entries, changedPath) {
102
+ return entries.some((entry) => entry.includes(changedPath));
103
+ }
104
+ //# sourceMappingURL=prompt-registry-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-registry-validation.js","sourceRoot":"","sources":["../src/prompt-registry-validation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare const PROMPT_REGISTRY_DIR = ".generated-prompts";
2
+ export declare const PROMPT_REGISTRY_FOOTER = "<!-- Entries below this line are maintained by agents -->";
2
3
  declare const REGISTER_FILES: {
3
4
  readonly "code.md": {
4
5
  readonly title: "Code Generation Prompts";
@@ -3,7 +3,7 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
3
3
  import { exists } from "./fs-utils.js";
4
4
  export const PROMPT_REGISTRY_DIR = ".generated-prompts";
5
5
  const VERSION_COMMENT = "<!-- open-orchestra: prompt-registry-v1 -->";
6
- const FOOTER = "<!-- Entries below this line are maintained by agents -->";
6
+ export const PROMPT_REGISTRY_FOOTER = "<!-- Entries below this line are maintained by agents -->";
7
7
  const REGISTER_FILES = {
8
8
  "code.md": {
9
9
  title: "Code Generation Prompts",
@@ -136,7 +136,7 @@ export function buildPromptRegistryFile(name) {
136
136
  "---",
137
137
  "```",
138
138
  "",
139
- FOOTER,
139
+ PROMPT_REGISTRY_FOOTER,
140
140
  "",
141
141
  ].join("\n");
142
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-registry.js","sourceRoot":"","sources":["../src/prompt-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-registry.js","sourceRoot":"","sources":["../src/prompt-registry.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAExD,MAAM,eAAe,GAAG,6CAA6C,CAAC;AACtE,MAAM,CAAC,MAAM,sBAAsB,GACjC,2DAA2D,CAAC;AAE9D,MAAM,cAAc,GAAG;IACrB,SAAS,EAAE;QACT,KAAK,EAAE,yBAAyB;QAChC,MAAM,EACJ,0EAA0E;QAC5E,KAAK,EAAE;YACL,uEAAuE;YACvE,yFAAyF;YACzF,6FAA6F;SAC9F;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EACJ,6FAA6F;QAC/F,KAAK,EAAE;YACL,gDAAgD;YAChD,kGAAkG;YAClG,iGAAiG;SAClG;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,4BAA4B;QACnC,MAAM,EACJ,mFAAmF;QACrF,KAAK,EAAE;YACL,6FAA6F;YAC7F,6FAA6F;YAC7F,oFAAoF;SACrF;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,2BAA2B;QAClC,MAAM,EACJ,4FAA4F;QAC9F,KAAK,EAAE;YACL,wDAAwD;YACxD,kGAAkG;YAClG,uFAAuF;SACxF;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,kCAAkC;QACzC,MAAM,EACJ,gGAAgG;QAClG,KAAK,EAAE;YACL,+FAA+F;YAC/F,8FAA8F;YAC9F,oGAAoG;SACrG;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EACJ,8EAA8E;QAChF,KAAK,EAAE;YACL,2EAA2E;YAC3E,uFAAuF;YACvF,kGAAkG;SACnG;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,iBAAiB;QACxB,MAAM,EACJ,wFAAwF;QAC1F,KAAK,EAAE;YACL,sDAAsD;YACtD,qFAAqF;YACrF,+FAA+F;SAChG;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,0CAA0C;QACjD,MAAM,EACJ,gGAAgG;QAClG,KAAK,EAAE;YACL,6FAA6F;YAC7F,mGAAmG;YACnG,mFAAmF;SACpF;KACF;CACO,CAAC;AASX,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAA8B,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAA4B;IAClE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO;QACL,eAAe;QACf,KAAK,IAAI,CAAC,KAAK,EAAE;QACjB,EAAE;QACF,yBAAyB,IAAI,CAAC,MAAM,GAAG;QACvC,sFAAsF;QACtF,6GAA6G;QAC7G,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,2DAA2D;QAC3D,EAAE;QACF,gDAAgD,mBAAmB,MAAM;QACzE,sDAAsD;QACtD,gGAAgG;QAChG,0HAA0H;QAC1H,EAAE;QACF,0DAA0D;QAC1D,EAAE;QACF,0DAA0D;QAC1D,qDAAqD;QACrD,2FAA2F;QAC3F,mFAAmF;QACnF,kGAAkG;QAClG,EAAE;QACF,UAAU;QACV,EAAE;QACF,KAAK;QACL,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,aAAa;QACb,mBAAmB;QACnB,2BAA2B;QAC3B,2BAA2B;QAC3B,qBAAqB;QACrB,qCAAqC;QACrC,gEAAgE;QAChE,EAAE;QACF,mBAAmB;QACnB,sEAAsE;QACtE,EAAE;QACF,cAAc;QACd,gEAAgE;QAChE,EAAE;QACF,YAAY;QACZ,MAAM;QACN,6EAA6E;QAC7E,MAAM;QACN,KAAK;QACL,KAAK;QACL,EAAE;QACF,sBAAsB;QACtB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EACpB,KAAK,GAAG,KAAK,GACd,GAAG,EAAE;IACJ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,CAAC,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,IAA4B;IAE5B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC"}
@@ -59,6 +59,22 @@ export const runtimeExecutionAdapters = [
59
59
  directProviderApiAllowed: false,
60
60
  guidance: "Render a task brief or delegation packet for Codex to execute locally without vendor API keys in Orchestra.",
61
61
  },
62
+ {
63
+ id: "opencode-cli",
64
+ target: "generic",
65
+ label: "OpenCode CLI",
66
+ kind: "cli",
67
+ summary: "Use an authenticated OpenCode CLI session and its configured provider credentials.",
68
+ execution: runtimeExecutionCapabilities({ resumeSession: false }),
69
+ subagents: runtimeSubagentCapabilities({
70
+ runtimeNative: false,
71
+ parallel: false,
72
+ forkedContext: false,
73
+ }),
74
+ briefOnlyFallback: true,
75
+ directProviderApiAllowed: false,
76
+ guidance: "Render a generic task brief for opencode. Provider keys stay in opencode auth/config, not in Orchestra runtime packets.",
77
+ },
62
78
  {
63
79
  id: "cursor-cli",
64
80
  target: "cursor",
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-execution-adapters.js","sourceRoot":"","sources":["../src/runtime-execution-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-execution-adapters.js","sourceRoot":"","sources":["../src/runtime-execution-adapters.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,10 @@ export declare function skillsValidateCommand(options: CliOptions, io: CliIo): P
3
3
  export declare function sourcesListCommand(options: CliOptions, io: CliIo): Promise<void>;
4
4
  export declare function lessonsListCommand(options: CliOptions, io: CliIo): Promise<void>;
5
5
  export declare function lessonsAddCommand(options: CliOptions, io: CliIo): Promise<void>;
6
+ export declare function lessonsAssistCommand(options: CliOptions, io: CliIo): Promise<void>;
6
7
  export declare function lessonsPromoteCommand(options: CliOptions, io: CliIo): Promise<void>;
7
8
  export declare function lessonsDeleteCommand(options: CliOptions, io: CliIo): Promise<void>;
9
+ export declare function promptsUpdateCommand(options: CliOptions, io: CliIo): Promise<void>;
8
10
  export declare function skillsListCommand(options: CliOptions, io: CliIo): Promise<void>;
9
11
  export declare function skillsPlanCommand(options: CliOptions, io: CliIo): Promise<void>;
10
12
  export declare function skillsRenderCommand(options: CliOptions, io: CliIo): Promise<void>;
@@ -1,6 +1,8 @@
1
1
  import { requireArg } from "./args.js";
2
2
  import { parseCsv, parsePromotionTarget, parseSkillRenderTarget, removeUndefined, stringOption, } from "./command-utils.js";
3
- import { addAgentLesson, deleteAgentLesson, listAgentLessons, listSkills, planSkillsForTask, promoteAgentLessons, readSourceOfTruth, recordSkillPlan, recordSkillRender, renderSkills, validateSkills, } from "./skills.js";
3
+ import { parsePromptRegistryFileName } from "./prompt-registry-classifier.js";
4
+ import { updatePromptRegistryEntry } from "./prompt-registry-update.js";
5
+ import { addAgentLesson, assistAgentLesson, deleteAgentLesson, listAgentLessons, listSkills, planSkillsForTask, promoteAgentLessons, readSourceOfTruth, recordSkillPlan, recordSkillRender, renderSkills, validateSkills, } from "./skills.js";
4
6
  export async function skillsValidateCommand(options, io) {
5
7
  const report = await validateSkills();
6
8
  if (options.json) {
@@ -63,6 +65,29 @@ export async function lessonsAddCommand(options, io) {
63
65
  }
64
66
  io.log(`Recorded lesson ${lesson.errorSignature}`);
65
67
  }
68
+ export async function lessonsAssistCommand(options, io) {
69
+ const result = await assistAgentLesson(removeUndefined({
70
+ taskId: stringOption(options.task),
71
+ role: stringOption(options.role),
72
+ operation: requireArg(options, "operation"),
73
+ failedAction: requireArg(options, "failed-action"),
74
+ error: stringOption(options.error),
75
+ errorSignature: stringOption(options["error-signature"]),
76
+ rootCause: requireArg(options, "root-cause"),
77
+ fix: requireArg(options, "fix"),
78
+ prevention: requireArg(options, "prevention"),
79
+ appliesTo: parseCsv(options["applies-to"]),
80
+ verifiedBy: parseCsv(options["verified-by"]),
81
+ }));
82
+ if (options.json) {
83
+ io.log(JSON.stringify(result, null, 2));
84
+ return;
85
+ }
86
+ io.log(`Recorded assisted lesson ${result.lesson.errorSignature}`);
87
+ if (result.redacted) {
88
+ io.log("Sensitive values were redacted before recording.");
89
+ }
90
+ }
66
91
  export async function lessonsPromoteCommand(options, io) {
67
92
  const result = await promoteAgentLessons(removeUndefined({
68
93
  to: parsePromotionTarget(stringOption(options.to) ?? "doc"),
@@ -83,6 +108,25 @@ export async function lessonsDeleteCommand(options, io) {
83
108
  }
84
109
  io.log(`Deleted lesson ${result.id}`);
85
110
  }
111
+ export async function promptsUpdateCommand(options, io) {
112
+ const result = await updatePromptRegistryEntry(removeUndefined({
113
+ artifact: requireArg(options, "artifact"),
114
+ task: requireArg(options, "task"),
115
+ role: requireArg(options, "role"),
116
+ prompt: requireArg(options, "prompt"),
117
+ paths: parseCsv(options.paths),
118
+ decisions: parseCsv(options.decisions),
119
+ evidence: parseCsv(options.evidence),
120
+ register: stringOption(options.register)
121
+ ? parsePromptRegistryFileName(stringOption(options.register) ?? "")
122
+ : undefined,
123
+ }));
124
+ if (options.json) {
125
+ io.log(JSON.stringify(result, null, 2));
126
+ return;
127
+ }
128
+ io.log(`${result.created ? "Created" : "Updated"} ${result.file}#${result.artifact} (${result.iterations} iteration${result.iterations === 1 ? "" : "s"})`);
129
+ }
86
130
  export async function skillsListCommand(options, io) {
87
131
  const skills = listSkills();
88
132
  if (options.json) {
@@ -1 +1 @@
1
- {"version":3,"file":"skills-commands.js","sourceRoot":"","sources":["../src/skills-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-commands.js","sourceRoot":"","sources":["../src/skills-commands.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
+ import { type AssistedAgentLessonInput } from "./lesson-assist.js";
1
2
  import type { AgentLesson, AgentLessonInput } from "./types.js";
3
+ export interface AssistedAgentLessonResult {
4
+ lesson: AgentLesson;
5
+ redacted: boolean;
6
+ }
2
7
  export declare function readAgentLessons(root?: string): Promise<string[]>;
3
8
  export declare function readSourceOfTruth(root?: string): Promise<unknown[]>;
4
9
  export declare function addAgentLesson(input: AgentLessonInput, root?: string): Promise<AgentLesson>;
10
+ export declare function assistAgentLesson(input: AssistedAgentLessonInput, root?: string): Promise<AssistedAgentLessonResult>;
5
11
  export declare function listAgentLessons(root?: string): Promise<AgentLesson[]>;
6
12
  export declare function deleteAgentLesson(id: string, root?: string): Promise<{
7
13
  deleted: true;
@@ -5,6 +5,7 @@ import { removeUndefined } from "./command-utils.js";
5
5
  import { FILES } from "./constants.js";
6
6
  import { exists, readJson, resolveWorkflowPath, writeJson, } from "./fs-utils.js";
7
7
  import { appendEvent, writeArtifact } from "./workspace.js";
8
+ import { createAssistedAgentLessonDraft, } from "./lesson-assist.js";
8
9
  export async function readAgentLessons(root = process.cwd()) {
9
10
  const lessonsPath = resolveWorkflowPath(root, FILES.agentLessons);
10
11
  if (!(await exists(lessonsPath))) {
@@ -33,6 +34,21 @@ export async function addAgentLesson(input, root = process.cwd()) {
33
34
  }));
34
35
  return lesson;
35
36
  }
37
+ export async function assistAgentLesson(input, root = process.cwd()) {
38
+ const lessonInput = createAssistedAgentLessonDraft(input);
39
+ const lesson = await addAgentLesson(lessonInput.value, root);
40
+ await appendEvent(root, removeUndefined({
41
+ type: "LESSON_ASSISTED",
42
+ taskId: lesson.taskId,
43
+ actor: lesson.actor,
44
+ summary: `Assisted lesson captured: ${lesson.errorSignature}`,
45
+ metadata: {
46
+ operation: lesson.operation,
47
+ redacted: lessonInput.redacted,
48
+ },
49
+ }));
50
+ return { lesson, redacted: lessonInput.redacted };
51
+ }
36
52
  export async function listAgentLessons(root = process.cwd()) {
37
53
  const lines = await readAgentLessons(root);
38
54
  return lines.map((line) => normalizeAgentLesson(JSON.parse(line)));
@@ -1 +1 @@
1
- {"version":3,"file":"skills-memory.js","sourceRoot":"","sources":["../src/skills-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-memory.js","sourceRoot":"","sources":["../src/skills-memory.ts"],"names":[],"mappings":"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"}
package/dist/skills.d.ts CHANGED
@@ -3,4 +3,4 @@ export { planSkillsForTask } from "./skills-planning.js";
3
3
  export { renderSkills } from "./skills-render.js";
4
4
  export { validateSkills } from "./skills-validation.js";
5
5
  export { recordSkillPlan, recordSkillRender } from "./skills-events.js";
6
- export { addAgentLesson, deleteAgentLesson, listAgentLessons, promoteAgentLessons, readAgentLessons, readSourceOfTruth, writeSourceOfTruth, } from "./skills-memory.js";
6
+ export { addAgentLesson, assistAgentLesson, deleteAgentLesson, listAgentLessons, promoteAgentLessons, readAgentLessons, readSourceOfTruth, writeSourceOfTruth, } from "./skills-memory.js";
package/dist/skills.js CHANGED
@@ -3,5 +3,5 @@ export { planSkillsForTask } from "./skills-planning.js";
3
3
  export { renderSkills } from "./skills-render.js";
4
4
  export { validateSkills } from "./skills-validation.js";
5
5
  export { recordSkillPlan, recordSkillRender } from "./skills-events.js";
6
- export { addAgentLesson, deleteAgentLesson, listAgentLessons, promoteAgentLessons, readAgentLessons, readSourceOfTruth, writeSourceOfTruth, } from "./skills-memory.js";
6
+ export { addAgentLesson, assistAgentLesson, deleteAgentLesson, listAgentLessons, promoteAgentLessons, readAgentLessons, readSourceOfTruth, writeSourceOfTruth, } from "./skills-memory.js";
7
7
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { ContextBudgetMetadata } from "./context.js";
2
2
  import type { SkillRenderTarget } from "./skills.js";
3
3
  export type RuntimeAdapterKind = "llm" | "ide" | "cli";
4
- export type RuntimeExecutionId = "claude-cli" | "codex-cli" | "cursor-cli" | "vscode-agent" | "windsurf-agent" | "generic-runtime";
4
+ export type RuntimeExecutionId = "claude-cli" | "codex-cli" | "opencode-cli" | "cursor-cli" | "vscode-agent" | "windsurf-agent" | "generic-runtime";
5
5
  export type RuntimeDelegationMode = "runtime-native" | "brief-only";
6
6
  export interface RuntimeAdapter {
7
7
  target: SkillRenderTarget;
@@ -0,0 +1,6 @@
1
+ import type { EventEntry } from "./types.js";
2
+ export interface ArtifactValidationIssue {
3
+ artifact: string;
4
+ message: string;
5
+ }
6
+ export declare function validateEventArtifacts(root: string, event: EventEntry, line: number): Promise<ArtifactValidationIssue[]>;