@tiangong-ai/cli 0.0.18 → 0.0.20
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 +8 -2
- package/README.md +81 -12
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/research/commands.js +13 -5
- package/dist/research/commands.js.map +1 -1
- package/dist/research/config.d.ts +1 -0
- package/dist/research/config.js +18 -1
- package/dist/research/config.js.map +1 -1
- package/dist/research/orchestration.d.ts +3 -0
- package/dist/research/orchestration.js +236 -0
- package/dist/research/orchestration.js.map +1 -0
- package/dist/research/types.d.ts +1 -1
- package/dist/research/workspace/broker.d.ts +5 -0
- package/dist/research/workspace/broker.js +353 -0
- package/dist/research/workspace/broker.js.map +1 -0
- package/dist/research/workspace/capabilities.d.ts +10 -0
- package/dist/research/workspace/capabilities.js +291 -0
- package/dist/research/workspace/capabilities.js.map +1 -0
- package/dist/research/workspace/constants.d.ts +8 -0
- package/dist/research/workspace/constants.js +37 -0
- package/dist/research/workspace/constants.js.map +1 -0
- package/dist/research/workspace/context.d.ts +3 -0
- package/dist/research/workspace/context.js +77 -0
- package/dist/research/workspace/context.js.map +1 -0
- package/dist/research/workspace/executor.d.ts +12 -0
- package/dist/research/workspace/executor.js +353 -0
- package/dist/research/workspace/executor.js.map +1 -0
- package/dist/research/workspace/journal.d.ts +7 -0
- package/dist/research/workspace/journal.js +104 -0
- package/dist/research/workspace/journal.js.map +1 -0
- package/dist/research/workspace/projects.d.ts +9 -0
- package/dist/research/workspace/projects.js +230 -0
- package/dist/research/workspace/projects.js.map +1 -0
- package/dist/research/workspace/runtime.d.ts +27 -0
- package/dist/research/workspace/runtime.js +519 -0
- package/dist/research/workspace/runtime.js.map +1 -0
- package/dist/research/workspace/storage.d.ts +25 -0
- package/dist/research/workspace/storage.js +218 -0
- package/dist/research/workspace/storage.js.map +1 -0
- package/dist/research/workspace/types.d.ts +181 -0
- package/dist/research/workspace/types.js +2 -0
- package/dist/research/workspace/types.js.map +1 -0
- package/dist/research/workspace/workspace.d.ts +12 -0
- package/dist/research/workspace/workspace.js +340 -0
- package/dist/research/workspace/workspace.js.map +1 -0
- package/package.json +3 -2
|
@@ -4,6 +4,7 @@ import type { ResearchSourceId } from "./types.js";
|
|
|
4
4
|
export declare const DEFAULT_SCI_SEARCH_ENDPOINT = "sci_search";
|
|
5
5
|
export declare const DEFAULT_REPORT_SEARCH_ENDPOINT = "report_search";
|
|
6
6
|
export declare const DEFAULT_PATENT_SEARCH_ENDPOINT = "patent_search";
|
|
7
|
+
export declare const DEFAULT_ESG_SEARCH_ENDPOINT = "esg_search";
|
|
7
8
|
export declare const DEFAULT_RESEARCH_SOURCES: ResearchSourceId[];
|
|
8
9
|
export declare const ALL_RESEARCH_SOURCES: ResearchSourceId[];
|
|
9
10
|
export declare const RESEARCH_SEARCH_SOURCES: Record<ResearchSourceId, EdgeSearchSourceSpec>;
|
package/dist/research/config.js
CHANGED
|
@@ -5,8 +5,9 @@ import { strictString } from "../strict-args.js";
|
|
|
5
5
|
export const DEFAULT_SCI_SEARCH_ENDPOINT = "sci_search";
|
|
6
6
|
export const DEFAULT_REPORT_SEARCH_ENDPOINT = "report_search";
|
|
7
7
|
export const DEFAULT_PATENT_SEARCH_ENDPOINT = "patent_search";
|
|
8
|
+
export const DEFAULT_ESG_SEARCH_ENDPOINT = "esg_search";
|
|
8
9
|
export const DEFAULT_RESEARCH_SOURCES = ["sci"];
|
|
9
|
-
export const ALL_RESEARCH_SOURCES = ["sci", "report", "patent"];
|
|
10
|
+
export const ALL_RESEARCH_SOURCES = ["sci", "report", "patent", "esg"];
|
|
10
11
|
export const RESEARCH_SEARCH_SOURCES = {
|
|
11
12
|
sci: {
|
|
12
13
|
endpoint: DEFAULT_SCI_SEARCH_ENDPOINT,
|
|
@@ -23,6 +24,11 @@ export const RESEARCH_SEARCH_SOURCES = {
|
|
|
23
24
|
includeRegion: true,
|
|
24
25
|
authStrategy: "apiKey",
|
|
25
26
|
},
|
|
27
|
+
esg: {
|
|
28
|
+
endpoint: DEFAULT_ESG_SEARCH_ENDPOINT,
|
|
29
|
+
includeRegion: true,
|
|
30
|
+
authStrategy: "apiKey",
|
|
31
|
+
},
|
|
26
32
|
};
|
|
27
33
|
export function resolveResearchConfig(args, env) {
|
|
28
34
|
const timeoutSeconds = getPositiveIntegerValue(strictString(args, "timeout") ?? firstEnv(env, "TIANGONG_RESEARCH_TIMEOUT"), 120, "--timeout");
|
|
@@ -61,6 +67,15 @@ export function resolveResearchConfig(args, env) {
|
|
|
61
67
|
authStrategy: RESEARCH_SEARCH_SOURCES.patent.authStrategy,
|
|
62
68
|
includeRegion: RESEARCH_SEARCH_SOURCES.patent.includeRegion,
|
|
63
69
|
},
|
|
70
|
+
esg: {
|
|
71
|
+
url: strictString(args, "esg-url") ??
|
|
72
|
+
firstEnv(env, "TIANGONG_ESG_SEARCH_URL") ??
|
|
73
|
+
edgeFunctionUrl(apiBaseUrl, RESEARCH_SEARCH_SOURCES.esg.endpoint),
|
|
74
|
+
apiKey: strictString(args, "esg-api-key") ?? firstEnv(env, "TIANGONG_ESG_APIKEY") ?? apiKey,
|
|
75
|
+
region,
|
|
76
|
+
authStrategy: RESEARCH_SEARCH_SOURCES.esg.authStrategy,
|
|
77
|
+
includeRegion: RESEARCH_SEARCH_SOURCES.esg.includeRegion,
|
|
78
|
+
},
|
|
64
79
|
},
|
|
65
80
|
};
|
|
66
81
|
}
|
|
@@ -88,6 +103,8 @@ function parseResearchSource(source) {
|
|
|
88
103
|
return source;
|
|
89
104
|
if (source === "patent")
|
|
90
105
|
return source;
|
|
106
|
+
if (source === "esg")
|
|
107
|
+
return source;
|
|
91
108
|
throw new CliError(`Unsupported research source: ${source}`, {
|
|
92
109
|
code: "RESEARCH_SOURCE_UNSUPPORTED",
|
|
93
110
|
exitCode: 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/research/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,gCAAgC,EAChC,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAyB,MAAM,mBAAmB,CAAC;AAGxE,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CAAC;AACxD,MAAM,CAAC,MAAM,8BAA8B,GAAG,eAAe,CAAC;AAC9D,MAAM,CAAC,MAAM,8BAA8B,GAAG,eAAe,CAAC;AAC9D,MAAM,CAAC,MAAM,wBAAwB,GAAuB,CAAC,KAAK,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/research/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { CliError } from "../errors.js";
|
|
2
|
+
import { stringifyJson, write } from "../io.js";
|
|
3
|
+
import { parseStrictArgs, strictBoolean, strictString } from "../strict-args.js";
|
|
4
|
+
import { lockCapabilities, verifyCapabilities } from "./workspace/capabilities.js";
|
|
5
|
+
import { inspectResearchContext } from "./workspace/context.js";
|
|
6
|
+
import { appendJournalEvent } from "./workspace/journal.js";
|
|
7
|
+
import { addProjectInput, initializeProject, listProjects, loadProject, nextReadyPackage, refreshProject, } from "./workspace/projects.js";
|
|
8
|
+
import { runResearchWorkspace } from "./workspace/runtime.js";
|
|
9
|
+
import { workspacePaths } from "./workspace/storage.js";
|
|
10
|
+
import { doctorResearchWorkspace, initializeResearchWorkspace, requireResearchWorkspace, withWorkspaceLock, } from "./workspace/workspace.js";
|
|
11
|
+
const COMMON_OPTIONS = { help: "boolean", json: "boolean" };
|
|
12
|
+
const WORKSPACE_OPTIONS = { ...COMMON_OPTIONS, workspace: "string" };
|
|
13
|
+
export async function runResearchOrchestrationCommand(subcommand, argv, io) {
|
|
14
|
+
if (subcommand === "context")
|
|
15
|
+
return runContext(argv, io);
|
|
16
|
+
if (subcommand === "workspace")
|
|
17
|
+
return runWorkspace(argv, io);
|
|
18
|
+
if (subcommand === "capability")
|
|
19
|
+
return runCapability(argv, io);
|
|
20
|
+
if (subcommand === "project")
|
|
21
|
+
return runProject(argv, io);
|
|
22
|
+
if (subcommand === "status")
|
|
23
|
+
return runStatus(argv, io);
|
|
24
|
+
if (subcommand === "run")
|
|
25
|
+
return runWorkspaceExecution(argv, io);
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
export function researchOrchestrationHelp() {
|
|
29
|
+
return `Research workspace commands:
|
|
30
|
+
tiangong-ai research context inspect [--path <absolute-path>] [--json]
|
|
31
|
+
tiangong-ai research workspace init <absolute-path> [--name <name>] [--json]
|
|
32
|
+
tiangong-ai research workspace doctor [--workspace <absolute-path>] [--json]
|
|
33
|
+
tiangong-ai research capability lock [--workspace <absolute-path>] [--json]
|
|
34
|
+
tiangong-ai research capability verify [--workspace <absolute-path>] [--json]
|
|
35
|
+
tiangong-ai research project init <project-id> --question <question> [--workspace <path>] [--json]
|
|
36
|
+
tiangong-ai research project input add <project-id> --path <absolute-file> [--role primary|reference|replication] [--workspace <path>] [--json]
|
|
37
|
+
tiangong-ai research status [--project <project-id>] [--workspace <absolute-path>] [--json]
|
|
38
|
+
tiangong-ai research run [--max-parallel <1-8>] [--max-cycles <1-100>] [--dry-run] [--workspace <absolute-path>] [--json]
|
|
39
|
+
`;
|
|
40
|
+
}
|
|
41
|
+
async function runContext(argv, io) {
|
|
42
|
+
const [action, ...rest] = argv;
|
|
43
|
+
if (!action || action === "--help" || action === "-h")
|
|
44
|
+
return writeHelp(io);
|
|
45
|
+
if (action !== "inspect")
|
|
46
|
+
throw unknownAction("research context", action);
|
|
47
|
+
const args = parseStrictArgs(rest, { ...COMMON_OPTIONS, path: "string" }, "research context inspect");
|
|
48
|
+
rejectPositionals(args.positionals, "research context inspect");
|
|
49
|
+
const result = await inspectResearchContext(strictString(args, "path") ?? process.cwd());
|
|
50
|
+
writeJson(io, result, args);
|
|
51
|
+
return 0;
|
|
52
|
+
}
|
|
53
|
+
async function runWorkspace(argv, io) {
|
|
54
|
+
const [action, ...rest] = argv;
|
|
55
|
+
if (!action || action === "--help" || action === "-h")
|
|
56
|
+
return writeHelp(io);
|
|
57
|
+
if (action === "init") {
|
|
58
|
+
const args = parseStrictArgs(rest, { ...COMMON_OPTIONS, name: "string" }, "research workspace init");
|
|
59
|
+
const target = onePositional(args.positionals, "research workspace init");
|
|
60
|
+
const result = await initializeResearchWorkspace(target, strictString(args, "name"));
|
|
61
|
+
writeJson(io, result, args);
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
if (action === "doctor") {
|
|
65
|
+
const args = parseStrictArgs(rest, WORKSPACE_OPTIONS, "research workspace doctor");
|
|
66
|
+
rejectPositionals(args.positionals, "research workspace doctor");
|
|
67
|
+
const result = await doctorResearchWorkspace(strictString(args, "workspace") ?? process.cwd());
|
|
68
|
+
writeJson(io, result, args);
|
|
69
|
+
return result.status === "ready" ? 0 : 3;
|
|
70
|
+
}
|
|
71
|
+
throw unknownAction("research workspace", action);
|
|
72
|
+
}
|
|
73
|
+
async function runCapability(argv, io) {
|
|
74
|
+
const [action, ...rest] = argv;
|
|
75
|
+
if (!action || action === "--help" || action === "-h")
|
|
76
|
+
return writeHelp(io);
|
|
77
|
+
if (action !== "lock" && action !== "verify")
|
|
78
|
+
throw unknownAction("research capability", action);
|
|
79
|
+
const args = parseStrictArgs(rest, WORKSPACE_OPTIONS, `research capability ${action}`);
|
|
80
|
+
rejectPositionals(args.positionals, `research capability ${action}`);
|
|
81
|
+
const root = await workspaceFromArgs(args);
|
|
82
|
+
if (action === "lock") {
|
|
83
|
+
const lock = await withWorkspaceLock(root, "capability.lock", async () => {
|
|
84
|
+
const value = await lockCapabilities(root);
|
|
85
|
+
await appendJournalEvent(workspacePaths(root).journal, "capability.locked", "workspace", {
|
|
86
|
+
count: value.capabilities.length,
|
|
87
|
+
treeHashes: value.capabilities.map((item) => ({ id: item.id, sha256: item.treeSha256 })),
|
|
88
|
+
});
|
|
89
|
+
return value;
|
|
90
|
+
});
|
|
91
|
+
writeJson(io, lock, args);
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
const verification = await verifyCapabilities(root);
|
|
95
|
+
writeJson(io, verification, args);
|
|
96
|
+
return verification.status === "verified" ? 0 : 3;
|
|
97
|
+
}
|
|
98
|
+
async function runProject(argv, io) {
|
|
99
|
+
const [action, ...rest] = argv;
|
|
100
|
+
if (!action || action === "--help" || action === "-h")
|
|
101
|
+
return writeHelp(io);
|
|
102
|
+
if (action === "init") {
|
|
103
|
+
const args = parseStrictArgs(rest, { ...WORKSPACE_OPTIONS, question: "string" }, "research project init");
|
|
104
|
+
const projectId = onePositional(args.positionals, "research project init");
|
|
105
|
+
const question = strictString(args, "question");
|
|
106
|
+
if (!question) {
|
|
107
|
+
throw new CliError("research project init requires --question.", {
|
|
108
|
+
code: "RESEARCH_QUESTION_REQUIRED",
|
|
109
|
+
exitCode: 2,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
const root = await workspaceFromArgs(args);
|
|
113
|
+
const project = await initializeProject(root, projectId, question);
|
|
114
|
+
writeJson(io, project, args);
|
|
115
|
+
return 0;
|
|
116
|
+
}
|
|
117
|
+
if (action === "input") {
|
|
118
|
+
const [inputAction, ...inputRest] = rest;
|
|
119
|
+
if (inputAction !== "add")
|
|
120
|
+
throw unknownAction("research project input", inputAction ?? "");
|
|
121
|
+
const args = parseStrictArgs(inputRest, { ...WORKSPACE_OPTIONS, path: "string", role: "string" }, "research project input add");
|
|
122
|
+
const projectId = onePositional(args.positionals, "research project input add");
|
|
123
|
+
const inputPath = strictString(args, "path");
|
|
124
|
+
if (!inputPath) {
|
|
125
|
+
throw new CliError("research project input add requires --path.", {
|
|
126
|
+
code: "RESEARCH_INPUT_REQUIRED",
|
|
127
|
+
exitCode: 2,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
const role = inputRole(strictString(args, "role"));
|
|
131
|
+
const root = await workspaceFromArgs(args);
|
|
132
|
+
const input = await addProjectInput(root, projectId, inputPath, role);
|
|
133
|
+
writeJson(io, input, args);
|
|
134
|
+
return 0;
|
|
135
|
+
}
|
|
136
|
+
throw unknownAction("research project", action);
|
|
137
|
+
}
|
|
138
|
+
async function runStatus(argv, io) {
|
|
139
|
+
const args = parseStrictArgs(argv, { ...WORKSPACE_OPTIONS, project: "string" }, "research status");
|
|
140
|
+
rejectPositionals(args.positionals, "research status");
|
|
141
|
+
const root = await workspaceFromArgs(args);
|
|
142
|
+
const selectedProject = strictString(args, "project");
|
|
143
|
+
const projects = selectedProject
|
|
144
|
+
? [await loadProject(root, selectedProject)]
|
|
145
|
+
: await listProjects(root);
|
|
146
|
+
const result = {
|
|
147
|
+
workspace: root,
|
|
148
|
+
projects: projects.map((project) => ({
|
|
149
|
+
id: project.id,
|
|
150
|
+
question: project.question,
|
|
151
|
+
status: refreshProject(project).status,
|
|
152
|
+
readyPackage: nextReadyPackage(project)?.id ?? null,
|
|
153
|
+
usage: project.usage,
|
|
154
|
+
inputs: project.inputs,
|
|
155
|
+
packages: project.packages,
|
|
156
|
+
})),
|
|
157
|
+
};
|
|
158
|
+
writeJson(io, result, args);
|
|
159
|
+
return 0;
|
|
160
|
+
}
|
|
161
|
+
async function runWorkspaceExecution(argv, io) {
|
|
162
|
+
const args = parseStrictArgs(argv, {
|
|
163
|
+
...WORKSPACE_OPTIONS,
|
|
164
|
+
"max-parallel": "string",
|
|
165
|
+
"max-cycles": "string",
|
|
166
|
+
"dry-run": "boolean",
|
|
167
|
+
}, "research run");
|
|
168
|
+
rejectPositionals(args.positionals, "research run");
|
|
169
|
+
const root = await workspaceFromArgs(args);
|
|
170
|
+
const result = await runResearchWorkspace(root, {
|
|
171
|
+
maxParallel: integerOption(strictString(args, "max-parallel"), 1, "--max-parallel"),
|
|
172
|
+
maxCycles: integerOption(strictString(args, "max-cycles"), 20, "--max-cycles"),
|
|
173
|
+
dryRun: strictBoolean(args, "dry-run"),
|
|
174
|
+
environment: io.env,
|
|
175
|
+
});
|
|
176
|
+
writeJson(io, result, args);
|
|
177
|
+
return result.status === "blocked" ? 3 : 0;
|
|
178
|
+
}
|
|
179
|
+
async function workspaceFromArgs(args) {
|
|
180
|
+
return requireResearchWorkspace(strictString(args, "workspace") ?? process.cwd());
|
|
181
|
+
}
|
|
182
|
+
function writeJson(io, value, args) {
|
|
183
|
+
write(io.stdout, stringifyJson(value, strictBoolean(args, "json")));
|
|
184
|
+
}
|
|
185
|
+
function writeHelp(io) {
|
|
186
|
+
write(io.stdout, researchOrchestrationHelp());
|
|
187
|
+
return 0;
|
|
188
|
+
}
|
|
189
|
+
function onePositional(positionals, command) {
|
|
190
|
+
if (positionals.length !== 1) {
|
|
191
|
+
throw new CliError(`${command} requires exactly one positional argument.`, {
|
|
192
|
+
code: "INVALID_ARGS",
|
|
193
|
+
exitCode: 2,
|
|
194
|
+
details: { positionals },
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return positionals[0];
|
|
198
|
+
}
|
|
199
|
+
function rejectPositionals(positionals, command) {
|
|
200
|
+
if (positionals.length) {
|
|
201
|
+
throw new CliError(`${command} does not accept positional arguments.`, {
|
|
202
|
+
code: "INVALID_ARGS",
|
|
203
|
+
exitCode: 2,
|
|
204
|
+
details: { positionals },
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
function inputRole(value) {
|
|
209
|
+
if (!value || value === "primary")
|
|
210
|
+
return "primary";
|
|
211
|
+
if (value === "reference" || value === "replication")
|
|
212
|
+
return value;
|
|
213
|
+
throw new CliError(`Unsupported research input role: ${value}`, {
|
|
214
|
+
code: "RESEARCH_INPUT_ROLE_INVALID",
|
|
215
|
+
exitCode: 2,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
function integerOption(value, fallback, label) {
|
|
219
|
+
if (!value)
|
|
220
|
+
return fallback;
|
|
221
|
+
const parsed = Number(value);
|
|
222
|
+
if (!Number.isInteger(parsed)) {
|
|
223
|
+
throw new CliError(`${label} must be an integer.`, {
|
|
224
|
+
code: "RESEARCH_RUN_OPTION_INVALID",
|
|
225
|
+
exitCode: 2,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
return parsed;
|
|
229
|
+
}
|
|
230
|
+
function unknownAction(command, action) {
|
|
231
|
+
return new CliError(`Unknown ${command} action: ${action}`, {
|
|
232
|
+
code: "INVALID_ARGS",
|
|
233
|
+
exitCode: 2,
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=orchestration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/research/orchestration.ts"],"names":[],"mappings":"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"}
|
package/dist/research/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export type ResearchSourceId = "sci" | "report" | "patent";
|
|
1
|
+
export type ResearchSourceId = "sci" | "report" | "patent" | "esg";
|