@openreef/cli 0.1.1 → 0.3.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/README.md +14 -7
- package/dist/commands/install.d.ts +14 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +612 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +5 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +81 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/logs.d.ts +8 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +118 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/repair.d.ts +10 -0
- package/dist/commands/repair.d.ts.map +1 -0
- package/dist/commands/repair.js +328 -0
- package/dist/commands/repair.js.map +1 -0
- package/dist/commands/status.d.ts +8 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +181 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/uninstall.d.ts +9 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +166 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +12 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +518 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/core/agents-md-generator.d.ts +3 -0
- package/dist/core/agents-md-generator.d.ts.map +1 -0
- package/dist/core/agents-md-generator.js +24 -0
- package/dist/core/agents-md-generator.js.map +1 -0
- package/dist/core/config-patcher.d.ts +32 -0
- package/dist/core/config-patcher.d.ts.map +1 -0
- package/dist/core/config-patcher.js +156 -0
- package/dist/core/config-patcher.js.map +1 -0
- package/dist/core/device-identity.d.ts +37 -0
- package/dist/core/device-identity.d.ts.map +1 -0
- package/dist/core/device-identity.js +135 -0
- package/dist/core/device-identity.js.map +1 -0
- package/dist/core/gateway-client.d.ts +98 -0
- package/dist/core/gateway-client.d.ts.map +1 -0
- package/dist/core/gateway-client.js +238 -0
- package/dist/core/gateway-client.js.map +1 -0
- package/dist/core/log-reader.d.ts +28 -0
- package/dist/core/log-reader.d.ts.map +1 -0
- package/dist/core/log-reader.js +69 -0
- package/dist/core/log-reader.js.map +1 -0
- package/dist/core/migration-planner.d.ts +37 -0
- package/dist/core/migration-planner.d.ts.map +1 -0
- package/dist/core/migration-planner.js +160 -0
- package/dist/core/migration-planner.js.map +1 -0
- package/dist/core/openclaw-paths.d.ts +23 -0
- package/dist/core/openclaw-paths.d.ts.map +1 -0
- package/dist/core/openclaw-paths.js +189 -0
- package/dist/core/openclaw-paths.js.map +1 -0
- package/dist/core/state-differ.d.ts +15 -0
- package/dist/core/state-differ.d.ts.map +1 -0
- package/dist/core/state-differ.js +135 -0
- package/dist/core/state-differ.js.map +1 -0
- package/dist/core/state-manager.d.ts +7 -0
- package/dist/core/state-manager.d.ts.map +1 -0
- package/dist/core/state-manager.js +61 -0
- package/dist/core/state-manager.js.map +1 -0
- package/dist/core/variable-resolver.d.ts +1 -0
- package/dist/core/variable-resolver.d.ts.map +1 -1
- package/dist/core/variable-resolver.js +21 -10
- package/dist/core/variable-resolver.js.map +1 -1
- package/dist/index.js +133 -1
- package/dist/index.js.map +1 -1
- package/dist/types/state.d.ts +55 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/state.js +2 -0
- package/dist/types/state.js.map +1 -0
- package/dist/utils/identifiers.d.ts +18 -0
- package/dist/utils/identifiers.d.ts.map +1 -0
- package/dist/utils/identifiers.js +50 -0
- package/dist/utils/identifiers.js.map +1 -0
- package/package.json +6 -3
- package/template/reef.json +6 -6
package/dist/index.js
CHANGED
|
@@ -4,11 +4,18 @@ import { inspect } from './commands/inspect.js';
|
|
|
4
4
|
import { validate } from './commands/validate.js';
|
|
5
5
|
import { init } from './commands/init.js';
|
|
6
6
|
import { pack } from './commands/pack.js';
|
|
7
|
+
import { install } from './commands/install.js';
|
|
8
|
+
import { uninstall } from './commands/uninstall.js';
|
|
9
|
+
import { list } from './commands/list.js';
|
|
10
|
+
import { status } from './commands/status.js';
|
|
11
|
+
import { repair } from './commands/repair.js';
|
|
12
|
+
import { update } from './commands/update.js';
|
|
13
|
+
import { logs } from './commands/logs.js';
|
|
7
14
|
const program = new Command();
|
|
8
15
|
program
|
|
9
16
|
.name('reef')
|
|
10
17
|
.description('OpenReef CLI — package and deploy multi-agent formations')
|
|
11
|
-
.version('0.
|
|
18
|
+
.version('0.3.0');
|
|
12
19
|
program
|
|
13
20
|
.command('init [name]')
|
|
14
21
|
.description('Scaffold a new formation from the bundled template')
|
|
@@ -65,5 +72,130 @@ program
|
|
|
65
72
|
process.exit(1);
|
|
66
73
|
}
|
|
67
74
|
});
|
|
75
|
+
program
|
|
76
|
+
.command('install <path>')
|
|
77
|
+
.description('Deploy a formation to OpenClaw')
|
|
78
|
+
.option('--set <key=value...>', 'Set variable values')
|
|
79
|
+
.option('--namespace <ns>', 'Override namespace (default: manifest.namespace)')
|
|
80
|
+
.option('--force', 'Remove existing resources and recreate')
|
|
81
|
+
.option('--merge', 'Update files only, preserve agent config')
|
|
82
|
+
.option('--yes', 'Skip confirmation prompts')
|
|
83
|
+
.option('--no-env', 'Skip loading .env file')
|
|
84
|
+
.option('--dry-run', 'Preview changes without applying them')
|
|
85
|
+
.option('--gateway-url <url>', 'Gateway WebSocket URL')
|
|
86
|
+
.option('--gateway-token <token>', 'Gateway auth token')
|
|
87
|
+
.option('--gateway-password <password>', 'Gateway auth password')
|
|
88
|
+
.action(async (path, options) => {
|
|
89
|
+
try {
|
|
90
|
+
await install(path, options);
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
console.error(err instanceof Error ? err.message : err);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
program
|
|
98
|
+
.command('uninstall <identifier>')
|
|
99
|
+
.description('Remove an installed formation (namespace/name or name)')
|
|
100
|
+
.option('--yes', 'Skip confirmation')
|
|
101
|
+
.option('--dry-run', 'Preview changes without applying them')
|
|
102
|
+
.option('--gateway-url <url>', 'Gateway WebSocket URL')
|
|
103
|
+
.option('--gateway-token <token>', 'Gateway auth token')
|
|
104
|
+
.option('--gateway-password <password>', 'Gateway auth password')
|
|
105
|
+
.action(async (identifier, options) => {
|
|
106
|
+
try {
|
|
107
|
+
await uninstall(identifier, options);
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
console.error(err instanceof Error ? err.message : err);
|
|
111
|
+
process.exit(1);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
program
|
|
115
|
+
.command('update <path>')
|
|
116
|
+
.description('Update an installed formation from a new manifest')
|
|
117
|
+
.option('--set <key=value...>', 'Set variable values')
|
|
118
|
+
.option('--namespace <ns>', 'Override namespace')
|
|
119
|
+
.option('--yes', 'Skip confirmation')
|
|
120
|
+
.option('--no-env', 'Skip loading .env file')
|
|
121
|
+
.option('--dry-run', 'Preview changes without applying them')
|
|
122
|
+
.option('--gateway-url <url>', 'Gateway WebSocket URL')
|
|
123
|
+
.option('--gateway-token <token>', 'Gateway auth token')
|
|
124
|
+
.option('--gateway-password <password>', 'Gateway auth password')
|
|
125
|
+
.action(async (path, options) => {
|
|
126
|
+
try {
|
|
127
|
+
await update(path, options);
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
console.error(err instanceof Error ? err.message : err);
|
|
131
|
+
process.exit(1);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
program
|
|
135
|
+
.command('repair <identifier>')
|
|
136
|
+
.description('Detect and fix discrepancies in an installed formation')
|
|
137
|
+
.option('--source <path>', 'Formation source for file re-deployment')
|
|
138
|
+
.option('--yes', 'Skip confirmation')
|
|
139
|
+
.option('--dry-run', 'Preview changes without applying them')
|
|
140
|
+
.option('--gateway-url <url>', 'Gateway WebSocket URL')
|
|
141
|
+
.option('--gateway-token <token>', 'Gateway auth token')
|
|
142
|
+
.option('--gateway-password <password>', 'Gateway auth password')
|
|
143
|
+
.action(async (identifier, options) => {
|
|
144
|
+
try {
|
|
145
|
+
await repair(identifier, options);
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
console.error(err instanceof Error ? err.message : err);
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
program
|
|
153
|
+
.command('logs <identifier>')
|
|
154
|
+
.description('View session logs for a formation')
|
|
155
|
+
.option('--agent <slug>', 'Filter by agent slug or ID')
|
|
156
|
+
.option('--lines <n>', 'Number of lines to show', '50')
|
|
157
|
+
.option('--follow', 'Follow log output (tail -f)')
|
|
158
|
+
.option('--path <path>', 'Read from a specific log file')
|
|
159
|
+
.action(async (identifier, options) => {
|
|
160
|
+
try {
|
|
161
|
+
await logs(identifier, {
|
|
162
|
+
...options,
|
|
163
|
+
lines: parseInt(options.lines, 10),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
catch (err) {
|
|
167
|
+
console.error(err instanceof Error ? err.message : err);
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
program
|
|
172
|
+
.command('list')
|
|
173
|
+
.description('List installed formations')
|
|
174
|
+
.option('--json', 'Output as JSON')
|
|
175
|
+
.action(async (options) => {
|
|
176
|
+
try {
|
|
177
|
+
await list(options);
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
console.error(err instanceof Error ? err.message : err);
|
|
181
|
+
process.exit(1);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
program
|
|
185
|
+
.command('status <identifier>')
|
|
186
|
+
.description('Show status of an installed formation (namespace/name or name)')
|
|
187
|
+
.option('--json', 'Output as JSON')
|
|
188
|
+
.option('--gateway-url <url>', 'Gateway WebSocket URL')
|
|
189
|
+
.option('--gateway-token <token>', 'Gateway auth token')
|
|
190
|
+
.option('--gateway-password <password>', 'Gateway auth password')
|
|
191
|
+
.action(async (identifier, options) => {
|
|
192
|
+
try {
|
|
193
|
+
await status(identifier, options);
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
console.error(err instanceof Error ? err.message : err);
|
|
197
|
+
process.exit(1);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
68
200
|
program.parse();
|
|
69
201
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface FormationState {
|
|
2
|
+
name: string;
|
|
3
|
+
version: string;
|
|
4
|
+
namespace: string;
|
|
5
|
+
installedAt: string;
|
|
6
|
+
agents: Record<string, AgentState>;
|
|
7
|
+
bindings: OpenClawBinding[];
|
|
8
|
+
cronJobs: CronJobState[];
|
|
9
|
+
variables: Record<string, string>;
|
|
10
|
+
fileHashes: Record<string, string>;
|
|
11
|
+
agentToAgent?: {
|
|
12
|
+
wasEnabled: boolean;
|
|
13
|
+
allowAdded: boolean;
|
|
14
|
+
};
|
|
15
|
+
sourcePath?: string;
|
|
16
|
+
updatedAt?: string;
|
|
17
|
+
agentToAgentEdges?: Record<string, string[]>;
|
|
18
|
+
}
|
|
19
|
+
export interface AgentState {
|
|
20
|
+
id: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
workspace: string;
|
|
23
|
+
files: string[];
|
|
24
|
+
model?: string | {
|
|
25
|
+
primary?: string;
|
|
26
|
+
fallbacks?: string[];
|
|
27
|
+
};
|
|
28
|
+
configTools?: Record<string, unknown>;
|
|
29
|
+
configSandbox?: Record<string, unknown>;
|
|
30
|
+
configIdentity?: Record<string, unknown>;
|
|
31
|
+
configSkills?: string[];
|
|
32
|
+
}
|
|
33
|
+
export interface CronJobState {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
agentSlug: string;
|
|
37
|
+
schedule?: string;
|
|
38
|
+
timezone?: string;
|
|
39
|
+
prompt?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface OpenClawBinding {
|
|
42
|
+
agentId: string;
|
|
43
|
+
match: {
|
|
44
|
+
channel: string;
|
|
45
|
+
accountId?: string;
|
|
46
|
+
peer?: {
|
|
47
|
+
kind: string;
|
|
48
|
+
id: string;
|
|
49
|
+
};
|
|
50
|
+
guildId?: string;
|
|
51
|
+
teamId?: string;
|
|
52
|
+
roles?: string[];
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACpC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FormationState } from '../types/state.js';
|
|
2
|
+
export declare class FormationNotFoundError extends Error {
|
|
3
|
+
constructor(identifier: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class AmbiguousFormationError extends Error {
|
|
6
|
+
matches: FormationState[];
|
|
7
|
+
constructor(name: string, matches: FormationState[]);
|
|
8
|
+
}
|
|
9
|
+
export declare function parseIdentifier(identifier: string): {
|
|
10
|
+
namespace?: string;
|
|
11
|
+
name: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Resolve an identifier (namespace/name or bare name) to a FormationState.
|
|
15
|
+
* Throws FormationNotFoundError if no match, AmbiguousFormationError if >1 match.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveFormationState(identifier: string, env?: NodeJS.ProcessEnv): Promise<FormationState>;
|
|
18
|
+
//# sourceMappingURL=identifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../../src/utils/identifiers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,OAAO,EAAE,cAAc,EAAE,CAAC;gBACd,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE;CAKpD;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAStC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,cAAc,CAAC,CAuBzB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { loadState, listStates } from '../core/state-manager.js';
|
|
2
|
+
export class FormationNotFoundError extends Error {
|
|
3
|
+
constructor(identifier) {
|
|
4
|
+
super(`Formation "${identifier}" not found.`);
|
|
5
|
+
this.name = 'FormationNotFoundError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class AmbiguousFormationError extends Error {
|
|
9
|
+
matches;
|
|
10
|
+
constructor(name, matches) {
|
|
11
|
+
super(`Multiple formations named "${name}" found.`);
|
|
12
|
+
this.name = 'AmbiguousFormationError';
|
|
13
|
+
this.matches = matches;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function parseIdentifier(identifier) {
|
|
17
|
+
const slash = identifier.indexOf('/');
|
|
18
|
+
if (slash !== -1) {
|
|
19
|
+
return {
|
|
20
|
+
namespace: identifier.slice(0, slash),
|
|
21
|
+
name: identifier.slice(slash + 1),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return { name: identifier };
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Resolve an identifier (namespace/name or bare name) to a FormationState.
|
|
28
|
+
* Throws FormationNotFoundError if no match, AmbiguousFormationError if >1 match.
|
|
29
|
+
*/
|
|
30
|
+
export async function resolveFormationState(identifier, env) {
|
|
31
|
+
const parsed = parseIdentifier(identifier);
|
|
32
|
+
if (parsed.namespace) {
|
|
33
|
+
const state = await loadState(parsed.namespace, parsed.name, env);
|
|
34
|
+
if (!state) {
|
|
35
|
+
throw new FormationNotFoundError(identifier);
|
|
36
|
+
}
|
|
37
|
+
return state;
|
|
38
|
+
}
|
|
39
|
+
// Search all states for unique match by name
|
|
40
|
+
const allStates = await listStates(env);
|
|
41
|
+
const matches = allStates.filter((s) => s.name === parsed.name);
|
|
42
|
+
if (matches.length === 0) {
|
|
43
|
+
throw new FormationNotFoundError(parsed.name);
|
|
44
|
+
}
|
|
45
|
+
if (matches.length > 1) {
|
|
46
|
+
throw new AmbiguousFormationError(parsed.name, matches);
|
|
47
|
+
}
|
|
48
|
+
return matches[0];
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=identifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/utils/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGjE,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAkB;QAC5B,KAAK,CAAC,cAAc,UAAU,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,OAAO,CAAmB;IAC1B,YAAY,IAAY,EAAE,OAAyB;QACjD,KAAK,CAAC,8BAA8B,IAAI,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAC7B,UAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YACrC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB,EAClB,GAAuB;IAEvB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openreef/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "CLI toolchain for OpenReef formations — package and deploy multi-agent teams",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -22,17 +22,20 @@
|
|
|
22
22
|
"smoke": "npm run build && reef validate ./template && reef init smoke-test --yes && reef validate ./smoke-test && reef pack ./smoke-test"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
+
"@inquirer/prompts": "^8.2.1",
|
|
25
26
|
"ajv": "^8.18.0",
|
|
26
27
|
"ajv-formats": "^3.0.1",
|
|
27
28
|
"chalk": "^5.6.2",
|
|
28
29
|
"commander": "^14.0.3",
|
|
29
30
|
"dotenv": "^17.3.1",
|
|
30
|
-
"
|
|
31
|
+
"json5": "^2.2.3",
|
|
31
32
|
"ora": "^9.3.0",
|
|
32
|
-
"tar": "^7.5.7"
|
|
33
|
+
"tar": "^7.5.7",
|
|
34
|
+
"ws": "^8.19.0"
|
|
33
35
|
},
|
|
34
36
|
"devDependencies": {
|
|
35
37
|
"@types/node": "^22.0.0",
|
|
38
|
+
"@types/ws": "^8.18.1",
|
|
36
39
|
"json-schema-to-ts": "^3.1.1",
|
|
37
40
|
"typescript": "^5.9.3",
|
|
38
41
|
"vitest": "^4.0.18"
|
package/template/reef.json
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"author": "TODO: Your name or organization",
|
|
8
8
|
"namespace": "my-formation",
|
|
9
9
|
"variables": {
|
|
10
|
-
"
|
|
10
|
+
"ANTHROPIC_API_KEY": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"description": "
|
|
12
|
+
"description": "Anthropic API key for LLM calls",
|
|
13
13
|
"required": true,
|
|
14
14
|
"sensitive": true
|
|
15
15
|
},
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"source": "agents/manager",
|
|
27
27
|
"description": "Coordinates the team, delegates tasks, and synthesizes results",
|
|
28
28
|
"role": "coordinator",
|
|
29
|
-
"model": "
|
|
29
|
+
"model": "anthropic/claude-opus-4-6",
|
|
30
30
|
"tools": {
|
|
31
31
|
"allow": ["web-search", "file-read"]
|
|
32
32
|
},
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"source": "agents/researcher",
|
|
40
40
|
"description": "Conducts deep research on assigned topics and reports findings",
|
|
41
41
|
"role": "researcher",
|
|
42
|
-
"model": "
|
|
42
|
+
"model": "anthropic/claude-sonnet-4-5",
|
|
43
43
|
"tools": {
|
|
44
44
|
"allow": ["web-search"]
|
|
45
45
|
},
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
},
|
|
69
69
|
"services": [
|
|
70
70
|
{
|
|
71
|
-
"name": "
|
|
72
|
-
"url": "https://
|
|
71
|
+
"name": "Anthropic API",
|
|
72
|
+
"url": "https://console.anthropic.com",
|
|
73
73
|
"required": true,
|
|
74
74
|
"description": "LLM provider for all agents"
|
|
75
75
|
}
|