@opencomputer/blue 0.0.1

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 (41) hide show
  1. package/README.md +287 -0
  2. package/dist/auth/cli-auth.d.ts +30 -0
  3. package/dist/auth/cli-auth.js +206 -0
  4. package/dist/auth/cli-auth.js.map +1 -0
  5. package/dist/channels/slack-progress.d.ts +27 -0
  6. package/dist/channels/slack-progress.js +149 -0
  7. package/dist/channels/slack-progress.js.map +1 -0
  8. package/dist/cli/index.d.ts +2 -0
  9. package/dist/cli/index.js +790 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/core/agent.d.ts +10 -0
  12. package/dist/core/agent.js +112 -0
  13. package/dist/core/agent.js.map +1 -0
  14. package/dist/core/artifact.d.ts +7 -0
  15. package/dist/core/artifact.js +46 -0
  16. package/dist/core/artifact.js.map +1 -0
  17. package/dist/dev/local-control-plane.d.ts +11 -0
  18. package/dist/dev/local-control-plane.js +639 -0
  19. package/dist/dev/local-control-plane.js.map +1 -0
  20. package/dist/dev/manager.d.ts +35 -0
  21. package/dist/dev/manager.js +589 -0
  22. package/dist/dev/manager.js.map +1 -0
  23. package/dist/openrouter/auth.d.ts +2 -0
  24. package/dist/openrouter/auth.js +144 -0
  25. package/dist/openrouter/auth.js.map +1 -0
  26. package/dist/protocol.d.ts +187 -0
  27. package/dist/protocol.js +14 -0
  28. package/dist/protocol.js.map +1 -0
  29. package/dist/runtime/harness.d.ts +30 -0
  30. package/dist/runtime/harness.js +370 -0
  31. package/dist/runtime/harness.js.map +1 -0
  32. package/dist/runtime/local-runtime.d.ts +2 -0
  33. package/dist/runtime/local-runtime.js +161 -0
  34. package/dist/runtime/local-runtime.js.map +1 -0
  35. package/dist/sdk/client.d.ts +28 -0
  36. package/dist/sdk/client.js +131 -0
  37. package/dist/sdk/client.js.map +1 -0
  38. package/dist/sdk/index.d.ts +2 -0
  39. package/dist/sdk/index.js +3 -0
  40. package/dist/sdk/index.js.map +1 -0
  41. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface PreparedAgent {
2
+ name: string;
3
+ root: string;
4
+ runtimeDirectory: string;
5
+ compiled: boolean;
6
+ }
7
+ export declare function findAgentRoot(startDirectory?: string): Promise<string | undefined>;
8
+ export declare function prepareAgent(directory: string, outputDirectory?: string): Promise<PreparedAgent>;
9
+ export declare function initializeAgent(directory: string): Promise<string>;
10
+ export declare function addSlackChannel(directory?: string): Promise<string>;
@@ -0,0 +1,112 @@
1
+ import { access, cp, mkdir, readFile, rm, writeFile, } from "node:fs/promises";
2
+ import { basename, dirname, resolve } from "node:path";
3
+ async function exists(path) {
4
+ try {
5
+ await access(path);
6
+ return true;
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ }
12
+ export async function findAgentRoot(startDirectory = process.cwd()) {
13
+ let directory = resolve(startDirectory);
14
+ for (;;) {
15
+ if ((await exists(resolve(directory, "blue.config.ts"))) &&
16
+ (await exists(resolve(directory, "agent", "instructions.md")))) {
17
+ return directory;
18
+ }
19
+ const parent = dirname(directory);
20
+ if (parent === directory)
21
+ return undefined;
22
+ directory = parent;
23
+ }
24
+ }
25
+ export async function prepareAgent(directory, outputDirectory) {
26
+ const root = resolve(directory);
27
+ const agentDirectory = resolve(root, "agent");
28
+ const instructionsPath = resolve(agentDirectory, "instructions.md");
29
+ if (!(await exists(instructionsPath))) {
30
+ return {
31
+ name: basename(root),
32
+ root,
33
+ runtimeDirectory: root,
34
+ compiled: false,
35
+ };
36
+ }
37
+ const runtimeDirectory = outputDirectory === undefined
38
+ ? resolve(root, ".blue", "runtime")
39
+ : resolve(outputDirectory);
40
+ await rm(runtimeDirectory, { recursive: true, force: true });
41
+ await mkdir(runtimeDirectory, { recursive: true });
42
+ await writeFile(resolve(runtimeDirectory, "AGENTS.md"), await readFile(instructionsPath, "utf8"));
43
+ const skills = resolve(agentDirectory, "skills");
44
+ if (await exists(skills)) {
45
+ await mkdir(resolve(runtimeDirectory, ".opencode"), { recursive: true });
46
+ await cp(skills, resolve(runtimeDirectory, ".opencode", "skills"), {
47
+ recursive: true,
48
+ });
49
+ }
50
+ const workspace = resolve(agentDirectory, "sandbox", "workspace");
51
+ if (await exists(workspace)) {
52
+ await cp(workspace, runtimeDirectory, { recursive: true });
53
+ }
54
+ return {
55
+ name: basename(root),
56
+ root,
57
+ runtimeDirectory,
58
+ compiled: true,
59
+ };
60
+ }
61
+ export async function initializeAgent(directory) {
62
+ const root = resolve(directory);
63
+ if (await exists(root)) {
64
+ throw new Error(`Target already exists: ${root}`);
65
+ }
66
+ await mkdir(resolve(root, "agent", "tools"), { recursive: true });
67
+ await mkdir(resolve(root, "agent", "skills"), { recursive: true });
68
+ await mkdir(resolve(root, "agent", "channels"), { recursive: true });
69
+ await mkdir(resolve(root, "agent", "sandbox", "workspace"), {
70
+ recursive: true,
71
+ });
72
+ await mkdir(resolve(root, "evals"), { recursive: true });
73
+ await writeFile(resolve(root, "blue.config.ts"), `export default {
74
+ name: ${JSON.stringify(basename(root))},
75
+ runtime: "opencode",
76
+ region: "us-west-2",
77
+ };
78
+ `);
79
+ await writeFile(resolve(root, "agent", "agent.ts"), `export default {
80
+ model: process.env.BLUE_MODEL,
81
+ permissions: {
82
+ shell: "ask",
83
+ files: "allow",
84
+ },
85
+ };
86
+ `);
87
+ await writeFile(resolve(root, "agent", "instructions.md"), `# ${basename(root)}
88
+
89
+ You are a concise coding agent. Inspect the workspace before changing files.
90
+ `);
91
+ await writeFile(resolve(root, "agent", "sandbox", "workspace", "README.md"), `# Agent Workspace
92
+ `);
93
+ return root;
94
+ }
95
+ export async function addSlackChannel(directory = process.cwd()) {
96
+ const root = await findAgentRoot(directory);
97
+ if (!root) {
98
+ throw new Error("No Blue agent repository was found");
99
+ }
100
+ const path = resolve(root, "agent", "channels", "slack.ts");
101
+ if (await exists(path)) {
102
+ throw new Error(`Slack channel already exists: ${path}`);
103
+ }
104
+ await mkdir(dirname(path), { recursive: true });
105
+ await writeFile(path, `export default {
106
+ type: "slack",
107
+ events: ["app_mention"],
108
+ };
109
+ `);
110
+ return path;
111
+ }
112
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface BuiltAgentArtifact {
2
+ agentId: string;
3
+ body: Buffer;
4
+ digest: string;
5
+ elapsedMs: number;
6
+ }
7
+ export declare function buildAgentArtifact(agentDirectory: string): Promise<BuiltAgentArtifact>;
@@ -0,0 +1,46 @@
1
+ import { createHash } from "node:crypto";
2
+ import { readFile, readdir } from "node:fs/promises";
3
+ import { basename, relative, resolve } from "node:path";
4
+ import { prepareAgent } from "./agent.js";
5
+ async function collectFiles(root, directory = root) {
6
+ const entries = await readdir(directory, { withFileTypes: true });
7
+ const files = [];
8
+ for (const entry of entries.sort((left, right) => left.name.localeCompare(right.name))) {
9
+ const path = resolve(directory, entry.name);
10
+ if (entry.isDirectory()) {
11
+ files.push(...(await collectFiles(root, path)));
12
+ }
13
+ else if (entry.isFile()) {
14
+ files.push({
15
+ path: relative(root, path).split("\\").join("/"),
16
+ content: (await readFile(path)).toString("base64"),
17
+ });
18
+ }
19
+ else {
20
+ throw new Error(`Unsupported agent artifact entry: ${path}`);
21
+ }
22
+ }
23
+ return files;
24
+ }
25
+ export async function buildAgentArtifact(agentDirectory) {
26
+ const startedAt = performance.now();
27
+ const prepared = await prepareAgent(agentDirectory);
28
+ const body = Buffer.from(JSON.stringify({
29
+ version: 1,
30
+ files: await collectFiles(prepared.runtimeDirectory),
31
+ }));
32
+ const digest = createHash("sha256").update(body).digest("hex");
33
+ const agentId = basename(prepared.root)
34
+ .toLowerCase()
35
+ .replace(/[^a-z0-9-]+/g, "-")
36
+ .replace(/^-+|-+$/g, "");
37
+ if (!agentId)
38
+ throw new Error("Agent directory does not produce a valid ID");
39
+ return {
40
+ agentId,
41
+ body,
42
+ digest,
43
+ elapsedMs: Math.round(performance.now() - startedAt),
44
+ };
45
+ }
46
+ //# sourceMappingURL=artifact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/core/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO1C,KAAK,UAAU,YAAY,CACzB,IAAY,EACZ,SAAS,GAAG,IAAI;IAEhB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CACpC,EAAE,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChD,OAAO,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,cAAsB;IAEtB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CACtB,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,MAAM,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACrD,CAAC,CACH,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;SACpC,WAAW,EAAE;SACb,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;SAC5B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7E,OAAO;QACL,OAAO;QACP,IAAI;QACJ,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;KACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface LocalControlPlaneOptions {
2
+ port?: number;
3
+ statePath: string;
4
+ openRouterApiKey?: string;
5
+ model: string;
6
+ }
7
+ export interface LocalControlPlane {
8
+ url: string;
9
+ close(): Promise<void>;
10
+ }
11
+ export declare function startLocalControlPlane(options: LocalControlPlaneOptions): Promise<LocalControlPlane>;