@jterrats/open-orchestra 0.1.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 +151 -0
- package/CLAUDE.md +157 -0
- package/README.md +60 -0
- package/bin/orchestra.js +8 -0
- package/dist/args.d.ts +3 -0
- package/dist/args.js +30 -0
- package/dist/args.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +190 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +44 -0
- package/dist/commands.js +883 -0
- package/dist/commands.js.map +1 -0
- package/dist/constants.d.ts +15 -0
- package/dist/constants.js +69 -0
- package/dist/constants.js.map +1 -0
- package/dist/defaults.d.ts +72 -0
- package/dist/defaults.js +694 -0
- package/dist/defaults.js.map +1 -0
- package/dist/fs-utils.d.ts +8 -0
- package/dist/fs-utils.js +35 -0
- package/dist/fs-utils.js.map +1 -0
- package/dist/model-providers.d.ts +19 -0
- package/dist/model-providers.js +78 -0
- package/dist/model-providers.js.map +1 -0
- package/dist/types.d.ts +550 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +10 -0
- package/dist/validation.js +163 -0
- package/dist/validation.js.map +1 -0
- package/dist/web-api.d.ts +16 -0
- package/dist/web-api.js +220 -0
- package/dist/web-api.js.map +1 -0
- package/dist/web-chart-contracts.d.ts +13 -0
- package/dist/web-chart-contracts.js +13 -0
- package/dist/web-chart-contracts.js.map +1 -0
- package/dist/web-console.d.ts +1 -0
- package/dist/web-console.js +232 -0
- package/dist/web-console.js.map +1 -0
- package/dist/web-evidence.d.ts +25 -0
- package/dist/web-evidence.js +67 -0
- package/dist/web-evidence.js.map +1 -0
- package/dist/web-playwright.d.ts +3 -0
- package/dist/web-playwright.js +14 -0
- package/dist/web-playwright.js.map +1 -0
- package/dist/web-roles.d.ts +33 -0
- package/dist/web-roles.js +70 -0
- package/dist/web-roles.js.map +1 -0
- package/dist/workflow-gates.d.ts +7 -0
- package/dist/workflow-gates.js +291 -0
- package/dist/workflow-gates.js.map +1 -0
- package/dist/workflow-services.d.ts +56 -0
- package/dist/workflow-services.js +1240 -0
- package/dist/workflow-services.js.map +1 -0
- package/dist/workspace-validator.d.ts +6 -0
- package/dist/workspace-validator.js +189 -0
- package/dist/workspace-validator.js.map +1 -0
- package/dist/workspace.d.ts +10 -0
- package/dist/workspace.js +72 -0
- package/dist/workspace.js.map +1 -0
- package/docs/multi-agent-orchestrator-backlog.md +445 -0
- package/docs/multi-agent-orchestrator-sprint-1.md +433 -0
- package/docs/orchestra-mvp.md +176 -0
- package/package.json +63 -0
- package/rules/agent-collaboration.mdc +58 -0
- package/rules/agent-roles.mdc +105 -0
- package/rules/ai-assisted-development.mdc +31 -0
- package/rules/api-design.mdc +31 -0
- package/rules/architecture-decisions.mdc +27 -0
- package/rules/code-review-engineering.mdc +34 -0
- package/rules/concurrency-async.mdc +32 -0
- package/rules/configuration-management.mdc +31 -0
- package/rules/data-modeling-domain.mdc +31 -0
- package/rules/delivery-quality-gates.mdc +40 -0
- package/rules/dependency-management.mdc +31 -0
- package/rules/devops-tooling.mdc +55 -0
- package/rules/documentation-standards.mdc +26 -0
- package/rules/dry-clean-code.mdc +30 -0
- package/rules/error-handling.mdc +28 -0
- package/rules/frontend-engineering.mdc +32 -0
- package/rules/git-discipline.mdc +39 -0
- package/rules/infra-data-encryption.mdc +81 -0
- package/rules/performance-reliability.mdc +32 -0
- package/rules/readiness-done.mdc +32 -0
- package/rules/release-rollback.mdc +32 -0
- package/rules/rule-composition.mdc +28 -0
- package/rules/security-guardrails.mdc +37 -0
- package/rules/solid-architecture.mdc +32 -0
- package/rules/static-analysis-githooks.mdc +32 -0
- package/rules/testing-discipline.mdc +42 -0
- package/rules/ux-ui-product-experience.mdc +51 -0
- package/rules/work-intake-sequencing.mdc +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function exists(filePath: string): Promise<boolean>;
|
|
2
|
+
export declare function ensureDir(dirPath: string): Promise<void>;
|
|
3
|
+
export declare function readJson<T>(filePath: string, fallback: T): Promise<T>;
|
|
4
|
+
export declare function writeJson(filePath: string, value: unknown, { overwrite }?: {
|
|
5
|
+
overwrite?: boolean | undefined;
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
export declare function appendJsonLine(filePath: string, value: unknown): Promise<void>;
|
|
8
|
+
export declare function resolveWorkflowPath(root: string, ...segments: string[]): string;
|
package/dist/fs-utils.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { access, mkdir, readFile, writeFile, appendFile, } from "node:fs/promises";
|
|
2
|
+
import { constants as fsConstants } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
export async function exists(filePath) {
|
|
5
|
+
try {
|
|
6
|
+
await access(filePath, fsConstants.F_OK);
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export async function ensureDir(dirPath) {
|
|
14
|
+
await mkdir(dirPath, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
export async function readJson(filePath, fallback) {
|
|
17
|
+
if (!(await exists(filePath))) {
|
|
18
|
+
return fallback;
|
|
19
|
+
}
|
|
20
|
+
const content = await readFile(filePath, "utf8");
|
|
21
|
+
return JSON.parse(content);
|
|
22
|
+
}
|
|
23
|
+
export async function writeJson(filePath, value, { overwrite = true } = {}) {
|
|
24
|
+
if (!overwrite && (await exists(filePath))) {
|
|
25
|
+
throw new Error(`${filePath} already exists`);
|
|
26
|
+
}
|
|
27
|
+
await writeFile(filePath, `${JSON.stringify(value, null, 2)}\n`, "utf8");
|
|
28
|
+
}
|
|
29
|
+
export async function appendJsonLine(filePath, value) {
|
|
30
|
+
await appendFile(filePath, `${JSON.stringify(value)}\n`, "utf8");
|
|
31
|
+
}
|
|
32
|
+
export function resolveWorkflowPath(root, ...segments) {
|
|
33
|
+
return path.join(root, ".agent-workflow", ...segments);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=fs-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAI,QAAgB,EAAE,QAAW;IAC7D,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,KAAc,EACd,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE;IAEzB,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,iBAAiB,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,KAAc;IAEd,MAAM,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,GAAG,QAAkB;IAErB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ConfiguredProviderSummary, ModelProvider, ModelProviderCapabilities, ModelRequest, ModelResponse, WorkflowConfig } from "./types.js";
|
|
2
|
+
export declare class InMemoryModelProviderRegistry {
|
|
3
|
+
private readonly providers;
|
|
4
|
+
register(provider: ModelProvider): void;
|
|
5
|
+
get(providerId: string): ModelProvider;
|
|
6
|
+
list(): ModelProvider[];
|
|
7
|
+
}
|
|
8
|
+
export declare class FakeModelProvider implements ModelProvider {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly capabilities: ModelProviderCapabilities;
|
|
11
|
+
private readonly shouldFail;
|
|
12
|
+
constructor({ id, capabilities, shouldFail, }?: {
|
|
13
|
+
id?: string;
|
|
14
|
+
capabilities?: ModelProviderCapabilities;
|
|
15
|
+
shouldFail?: boolean;
|
|
16
|
+
});
|
|
17
|
+
complete(request: ModelRequest): Promise<ModelResponse>;
|
|
18
|
+
}
|
|
19
|
+
export declare function summarizeConfiguredProviders(config: WorkflowConfig): ConfiguredProviderSummary[];
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const defaultCapabilities = {
|
|
2
|
+
streaming: false,
|
|
3
|
+
tools: false,
|
|
4
|
+
vision: false,
|
|
5
|
+
jsonMode: false,
|
|
6
|
+
maxContextTokens: 0,
|
|
7
|
+
timeoutMs: 30000,
|
|
8
|
+
};
|
|
9
|
+
export class InMemoryModelProviderRegistry {
|
|
10
|
+
providers = new Map();
|
|
11
|
+
register(provider) {
|
|
12
|
+
if (this.providers.has(provider.id)) {
|
|
13
|
+
throw new Error(`provider already registered: ${provider.id}`);
|
|
14
|
+
}
|
|
15
|
+
this.providers.set(provider.id, provider);
|
|
16
|
+
}
|
|
17
|
+
get(providerId) {
|
|
18
|
+
const provider = this.providers.get(providerId);
|
|
19
|
+
if (!provider) {
|
|
20
|
+
throw new Error(`unknown provider: ${providerId}`);
|
|
21
|
+
}
|
|
22
|
+
return provider;
|
|
23
|
+
}
|
|
24
|
+
list() {
|
|
25
|
+
return [...this.providers.values()];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class FakeModelProvider {
|
|
29
|
+
id;
|
|
30
|
+
capabilities;
|
|
31
|
+
shouldFail;
|
|
32
|
+
constructor({ id = "fake", capabilities = defaultCapabilities, shouldFail = false, } = {}) {
|
|
33
|
+
this.id = id;
|
|
34
|
+
this.capabilities = capabilities;
|
|
35
|
+
this.shouldFail = shouldFail;
|
|
36
|
+
}
|
|
37
|
+
async complete(request) {
|
|
38
|
+
if (this.shouldFail) {
|
|
39
|
+
throw new Error(`fake provider failed: ${this.id}`);
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
id: "fake-response",
|
|
43
|
+
provider: this.id,
|
|
44
|
+
model: request.model,
|
|
45
|
+
content: request.messages.map((message) => message.content).join("\n"),
|
|
46
|
+
usage: {
|
|
47
|
+
inputTokens: request.messages.length,
|
|
48
|
+
outputTokens: 1,
|
|
49
|
+
},
|
|
50
|
+
finishReason: "stop",
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export function summarizeConfiguredProviders(config) {
|
|
55
|
+
const defaults = config.providers.defaults;
|
|
56
|
+
const summaries = [];
|
|
57
|
+
if (defaults) {
|
|
58
|
+
summaries.push(toSummary("defaults", defaults));
|
|
59
|
+
}
|
|
60
|
+
for (const [role, routing] of Object.entries(config.providers.byRole ?? {})) {
|
|
61
|
+
summaries.push(toSummary(`role:${role}`, routing));
|
|
62
|
+
}
|
|
63
|
+
return summaries;
|
|
64
|
+
}
|
|
65
|
+
function toSummary(scope, routing) {
|
|
66
|
+
return {
|
|
67
|
+
scope,
|
|
68
|
+
provider: routing.provider ?? "none",
|
|
69
|
+
model: routing.model ?? "not-configured",
|
|
70
|
+
fallbacks: routing.fallbacks ?? [],
|
|
71
|
+
maxTokens: routing.maxTokens ?? 0,
|
|
72
|
+
maxCostUsd: routing.maxCostUsd ?? 0,
|
|
73
|
+
timeoutMs: routing.timeoutMs ?? 30000,
|
|
74
|
+
retries: routing.retries ?? 0,
|
|
75
|
+
requiredCapabilities: routing.requiredCapabilities ?? [],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=model-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-providers.js","sourceRoot":"","sources":["../src/model-providers.ts"],"names":[],"mappings":"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"}
|