@tiangong-ai/cli 0.0.33 → 0.0.35
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 +9 -2
- package/README.md +84 -2
- package/dist/research/commands.js +58 -1
- package/dist/research/commands.js.map +1 -1
- package/dist/research/orchestration.js +366 -9
- package/dist/research/orchestration.js.map +1 -1
- package/dist/research/workspace/constants.d.ts +1 -0
- package/dist/research/workspace/constants.js +4 -2
- package/dist/research/workspace/constants.js.map +1 -1
- package/dist/research/workspace/context.js +106 -11
- package/dist/research/workspace/context.js.map +1 -1
- package/dist/research/workspace/input-plan.js +27 -1
- package/dist/research/workspace/input-plan.js.map +1 -1
- package/dist/research/workspace/projects.d.ts +6 -3
- package/dist/research/workspace/projects.js +21 -2
- package/dist/research/workspace/projects.js.map +1 -1
- package/dist/research/workspace/publication-workflow.d.ts +146 -0
- package/dist/research/workspace/publication-workflow.js +992 -0
- package/dist/research/workspace/publication-workflow.js.map +1 -0
- package/dist/research/workspace/publication.d.ts +110 -0
- package/dist/research/workspace/publication.js +246 -0
- package/dist/research/workspace/publication.js.map +1 -0
- package/dist/research/workspace/research-policy-wizard.d.ts +40 -0
- package/dist/research/workspace/research-policy-wizard.js +167 -0
- package/dist/research/workspace/research-policy-wizard.js.map +1 -0
- package/dist/research/workspace/research-policy.d.ts +70 -0
- package/dist/research/workspace/research-policy.js +886 -0
- package/dist/research/workspace/research-policy.js.map +1 -0
- package/dist/research/workspace/runtime.d.ts +17 -0
- package/dist/research/workspace/runtime.js +81 -2
- package/dist/research/workspace/runtime.js.map +1 -1
- package/dist/research/workspace/setup-catalog.js +5 -5
- package/dist/research/workspace/setup-invocation.d.ts +11 -0
- package/dist/research/workspace/setup-invocation.js +34 -0
- package/dist/research/workspace/setup-invocation.js.map +1 -0
- package/dist/research/workspace/setup-wizard.d.ts +18 -1
- package/dist/research/workspace/setup-wizard.js +1 -1
- package/dist/research/workspace/setup-wizard.js.map +1 -1
- package/dist/research/workspace/setup.d.ts +52 -6
- package/dist/research/workspace/setup.js +598 -22
- package/dist/research/workspace/setup.js.map +1 -1
- package/dist/research/workspace/types.d.ts +52 -0
- package/package.json +6 -3
package/AGENTS.md
CHANGED
|
@@ -15,8 +15,8 @@ checkPaths:
|
|
|
15
15
|
- .docpact/config.yaml
|
|
16
16
|
- docs/agents/**
|
|
17
17
|
- src/**
|
|
18
|
-
lastReviewedAt: 2026-08-
|
|
19
|
-
lastReviewedCommit:
|
|
18
|
+
lastReviewedAt: 2026-08-13
|
|
19
|
+
lastReviewedCommit: df263405bccb21cd5838d92d82dccf80ca01acb1
|
|
20
20
|
---
|
|
21
21
|
|
|
22
22
|
# Tiangong AI CLI Contract
|
|
@@ -47,6 +47,8 @@ This repository owns the Tiangong AI command-line interface.
|
|
|
47
47
|
- `tiangong-ai kb status`
|
|
48
48
|
- `tiangong-ai research context`
|
|
49
49
|
- `tiangong-ai research setup`
|
|
50
|
+
- `tiangong-ai research policy`
|
|
51
|
+
- `tiangong-ai research publication`
|
|
50
52
|
- `tiangong-ai research workspace`
|
|
51
53
|
- `tiangong-ai research capability`
|
|
52
54
|
- `tiangong-ai research project`
|
|
@@ -60,6 +62,7 @@ This repository owns the Tiangong AI command-line interface.
|
|
|
60
62
|
Run before delivery:
|
|
61
63
|
|
|
62
64
|
```bash
|
|
65
|
+
npm run test:clean
|
|
63
66
|
npm run lint
|
|
64
67
|
npm run build
|
|
65
68
|
npm test
|
|
@@ -68,6 +71,10 @@ docpact validate-config --root . --strict
|
|
|
68
71
|
docpact lint --root . --worktree --mode enforce
|
|
69
72
|
```
|
|
70
73
|
|
|
74
|
+
For Auto Research changes, `npm run test:clean` is the authoritative TDD gate.
|
|
75
|
+
Write the regression first, observe it fail in that clean container, then make
|
|
76
|
+
it pass there. Host-only results are supplemental.
|
|
77
|
+
|
|
71
78
|
Use `npm run typecheck` for a faster TypeScript-only check.
|
|
72
79
|
Use `npm run prepush:gate` when `docpact` is installed and you want the
|
|
73
80
|
aggregated local quality gate.
|
package/README.md
CHANGED
|
@@ -12,8 +12,8 @@ checkPaths:
|
|
|
12
12
|
- package.json
|
|
13
13
|
- bin/**
|
|
14
14
|
- src/**
|
|
15
|
-
lastReviewedAt: 2026-08-
|
|
16
|
-
lastReviewedCommit:
|
|
15
|
+
lastReviewedAt: 2026-08-12
|
|
16
|
+
lastReviewedCommit: ac34420a63cb02898f8c38b1c1af64f0439e862f
|
|
17
17
|
---
|
|
18
18
|
|
|
19
19
|
# Tiangong AI CLI
|
|
@@ -235,6 +235,16 @@ the default; global writes, network downloads, live provider checks, synthetic
|
|
|
235
235
|
document uploads, and paid agent smokes each require their applicable
|
|
236
236
|
confirmation.
|
|
237
237
|
|
|
238
|
+
If the full orchestrator was selected, accepted apply creates a separate
|
|
239
|
+
project-local `tiangong-auto-research-recovery` Skill after credentials are
|
|
240
|
+
stored and before source checkout. This CLI-generated, plan-bound shim can only
|
|
241
|
+
inspect context/status and execute the exact-version retry returned by setup; it
|
|
242
|
+
cannot perform research, call standalone evidence, or access credentials. A
|
|
243
|
+
checkout or install failure therefore remains discoverable without falling back
|
|
244
|
+
to a global Skill. After the full external orchestrator matches its reviewed
|
|
245
|
+
tree hash, setup verifies the shim byte-for-byte and removes only that generated
|
|
246
|
+
directory. Modified, symlinked, or ambiguous recovery bytes block cleanup.
|
|
247
|
+
|
|
238
248
|
Production admission requires at least one locked external capability with
|
|
239
249
|
`brokered-network` and `discoveryScopes: ["public-internet"]`; an input plan or
|
|
240
250
|
local files alone cannot represent internet coverage. The machine-readable
|
|
@@ -259,6 +269,78 @@ regular non-symlink `runtime-lock.json` exact stable CLI version. Setup and
|
|
|
259
269
|
release CI reject a missing resolver or any stale exact CLI version in the
|
|
260
270
|
orchestrator's `SKILL.md` or `references/*.md`.
|
|
261
271
|
|
|
272
|
+
### Top-journal Research Policy and final publication gate
|
|
273
|
+
|
|
274
|
+
A `top-journal` project starts with a human-reviewed Markdown Policy, not with
|
|
275
|
+
model execution. After project-scoped setup reaches `READY`, use the guided
|
|
276
|
+
Wizard:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
tiangong-ai research policy wizard top-journal-paper \
|
|
280
|
+
--workspace /absolute/path/to/workspace
|
|
281
|
+
tiangong-ai research policy status top-journal-paper \
|
|
282
|
+
--workspace /absolute/path/to/workspace --json
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
The Wizard resolves only the verified project-installed
|
|
286
|
+
`tiangong-auto-research` tree. It copies a baseline plus one article type,
|
|
287
|
+
field, journal class, project brief, and four reviewer rubrics. Generic defaults
|
|
288
|
+
are clearly reported and require a separate acknowledgement. An exact-journal
|
|
289
|
+
Policy additionally requires a current official HTTPS guideline URL, retrieval
|
|
290
|
+
date, and substantive human content for all journal-specific sections. Approval
|
|
291
|
+
binds the manifest and every document by SHA-256; edits, manifest tampering, or
|
|
292
|
+
expiry block preflight and all later stages until the Policy is reviewed and
|
|
293
|
+
approved again.
|
|
294
|
+
|
|
295
|
+
Use the Policy project ID when admitting the research project:
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
tiangong-ai research project preflight \
|
|
299
|
+
--question "A specific, testable research question" \
|
|
300
|
+
--goal top-journal --policy-project top-journal-paper \
|
|
301
|
+
--requirements /absolute/path/to/evidence-requirements.json \
|
|
302
|
+
--workspace /absolute/path/to/workspace --json
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
The base evidence lifecycle remains
|
|
306
|
+
`discover -> acquire -> analyze -> synthesize -> review -> close`, authored in
|
|
307
|
+
the current interactive Codex or Claude Code host. After base closure, the
|
|
308
|
+
current native host writes a final manuscript and schema-valid publication
|
|
309
|
+
assessment. `research publication freeze` then content-addresses the Policy,
|
|
310
|
+
evidence snapshot, base outputs, manuscript, assessment, and supplements.
|
|
311
|
+
Exactly four fresh independent sessions review that frozen generation:
|
|
312
|
+
evidence, methods/reproducibility, domain/novelty, and journal-editor. A revised
|
|
313
|
+
manuscript invalidates prior reviews; reviewer-session reuse is rejected from
|
|
314
|
+
the append-only journal even if mutable cache state is removed. The raw opaque
|
|
315
|
+
producer/reviewer session identifiers are accepted only at the command boundary;
|
|
316
|
+
generation, packet, review, journal, and closure objects persist only their
|
|
317
|
+
SHA-256 bindings.
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
tiangong-ai research schema show publication-assessment --json
|
|
321
|
+
tiangong-ai research publication freeze top-journal-paper \
|
|
322
|
+
--manuscript /absolute/path/to/final-manuscript.md \
|
|
323
|
+
--assessment /absolute/path/to/publication-assessment.json \
|
|
324
|
+
--producer-agent codex --producer-session OPAQUE_NATIVE_SESSION \
|
|
325
|
+
--workspace /absolute/path/to/workspace --json
|
|
326
|
+
tiangong-ai research publication status top-journal-paper \
|
|
327
|
+
--workspace /absolute/path/to/workspace --json
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
The CLI returns a mechanically bounded ceiling:
|
|
331
|
+
`top-journal-candidate`, `top-journal-class-ready`, or
|
|
332
|
+
`target-journal-submission-ready`. Evidence and review failures can only lower
|
|
333
|
+
it. None of these states predicts or guarantees editorial acceptance.
|
|
334
|
+
|
|
335
|
+
`research setup status --json` reports credential persistence separately from
|
|
336
|
+
readiness. It also reports the effective exact-npx CLI package/version/root,
|
|
337
|
+
the selected project orchestrator, any temporary recovery shim, ignored global
|
|
338
|
+
same-name Skills, legacy wrappers that still contain an unmanaged PATH CLI
|
|
339
|
+
fallback, and the real failed source/immutable ref/cache state when checkout is
|
|
340
|
+
retryable. A direct `research search` inside a managed workspace stops before
|
|
341
|
+
network access and returns the same broker-vs-standalone and setup provenance;
|
|
342
|
+
it never converts a stored broker credential into an ambient credential.
|
|
343
|
+
|
|
262
344
|
The default `internet-research` profile selects Brave Web Search and News
|
|
263
345
|
Search. `internet-research-with-context` additionally selects the
|
|
264
346
|
subscription-dependent LLM Context endpoint, while
|
|
@@ -2,8 +2,9 @@ import { runEdgeSearch } from "../edge-search.js";
|
|
|
2
2
|
import { CliError } from "../errors.js";
|
|
3
3
|
import { readJsonInput, stringifyJson, write } from "../io.js";
|
|
4
4
|
import { parseStrictArgs, strictBoolean, strictString } from "../strict-args.js";
|
|
5
|
-
import { parseResearchSources, researchSourceConfig, resolveResearchConfig } from "./config.js";
|
|
5
|
+
import { parseResearchSources, researchSourceConfig, resolveResearchConfig, } from "./config.js";
|
|
6
6
|
import { researchOrchestrationHelp, runResearchOrchestrationCommand } from "./orchestration.js";
|
|
7
|
+
import { inspectResearchContext } from "./workspace/context.js";
|
|
7
8
|
const RESEARCH_SEARCH_OPTIONS = {
|
|
8
9
|
help: "boolean",
|
|
9
10
|
json: "boolean",
|
|
@@ -88,6 +89,7 @@ async function runResearchSearchCommand(argv, io) {
|
|
|
88
89
|
}
|
|
89
90
|
const sourceIds = parseResearchSources(strictString(args, "sources"));
|
|
90
91
|
const config = resolveResearchConfig(args, io.env);
|
|
92
|
+
await assertStandaloneSearchContext(io.env, sourceIds, config);
|
|
91
93
|
const inputPath = strictString(args, "input");
|
|
92
94
|
const body = researchRequestBody(args);
|
|
93
95
|
const result = await runEdgeSearch({
|
|
@@ -101,6 +103,61 @@ async function runResearchSearchCommand(argv, io) {
|
|
|
101
103
|
writeSearchResult(io, result, strictBoolean(args, "json"));
|
|
102
104
|
return 0;
|
|
103
105
|
}
|
|
106
|
+
async function assertStandaloneSearchContext(environment, sourceIds, config) {
|
|
107
|
+
const context = await inspectResearchContext(process.cwd());
|
|
108
|
+
if (context.role !== "setup" && context.role !== "workspace")
|
|
109
|
+
return;
|
|
110
|
+
const setup = context.setup;
|
|
111
|
+
const ready = setup?.status === "ready";
|
|
112
|
+
const blocked = setup?.status === "blocked";
|
|
113
|
+
const setupStatus = context.root
|
|
114
|
+
? await import("./workspace/setup.js")
|
|
115
|
+
.then(({ inspectResearchSetupStatus }) => inspectResearchSetupStatus(context.root, environment))
|
|
116
|
+
.catch(() => null)
|
|
117
|
+
: null;
|
|
118
|
+
const configuredBrokerIds = setupStatus?.credentialReadiness.configuredIds ?? [];
|
|
119
|
+
const standaloneConfiguredSources = sourceIds.filter((sourceId) => config.sources[sourceId].apiKey.length > 0);
|
|
120
|
+
const standaloneCredential = standaloneConfiguredSources.length === 0
|
|
121
|
+
? "absent"
|
|
122
|
+
: standaloneConfiguredSources.length === sourceIds.length
|
|
123
|
+
? "present"
|
|
124
|
+
: "partial";
|
|
125
|
+
throw new CliError(ready
|
|
126
|
+
? "Direct research search is disabled inside an Auto Research workspace."
|
|
127
|
+
: blocked
|
|
128
|
+
? "Broker credentials may be stored, but Auto Research setup is blocked; standalone search cannot consume broker credentials."
|
|
129
|
+
: "Auto Research setup is incomplete; standalone search will not bypass it.", {
|
|
130
|
+
code: ready
|
|
131
|
+
? "AUTO_RESEARCH_BROKER_REQUIRED"
|
|
132
|
+
: blocked
|
|
133
|
+
? "AUTO_RESEARCH_SETUP_BLOCKED"
|
|
134
|
+
: "AUTO_RESEARCH_SETUP_INCOMPLETE",
|
|
135
|
+
exitCode: 3,
|
|
136
|
+
details: {
|
|
137
|
+
executionMode: "managed-workspace",
|
|
138
|
+
requestedExecutionMode: "standalone",
|
|
139
|
+
recommendedExecutionMode: "managed-workspace",
|
|
140
|
+
credentialScope: "broker",
|
|
141
|
+
brokerCredentialStore: configuredBrokerIds.length > 0 ? "present" : "absent",
|
|
142
|
+
brokerConfiguredCredentialIds: configuredBrokerIds,
|
|
143
|
+
standaloneCredential,
|
|
144
|
+
standaloneConfiguredSources,
|
|
145
|
+
networkAttempted: false,
|
|
146
|
+
workspace: context.root,
|
|
147
|
+
setupStatus: setup?.status ?? "missing",
|
|
148
|
+
failedStep: setup?.blocker?.step ?? setup?.currentStep ?? null,
|
|
149
|
+
setupBlocker: setup?.blocker ?? null,
|
|
150
|
+
effectiveCli: setupStatus?.provenance.effectiveCli ?? setup?.runtime ?? null,
|
|
151
|
+
effectiveSkill: setupStatus?.provenance.selectedOrchestrator ?? null,
|
|
152
|
+
recoveryShims: setupStatus?.provenance.recoveryShims ?? [],
|
|
153
|
+
ambientCli: setupStatus?.provenance.ambientCli ?? null,
|
|
154
|
+
ambientSkillConflicts: setupStatus?.provenance.ambientSkillConflicts ?? [],
|
|
155
|
+
minimumAction: setup?.next?.retryCommand ??
|
|
156
|
+
"Use the project evidence broker through tiangong-auto-research; do not provide ambient credentials.",
|
|
157
|
+
retryCommand: setup?.next?.retryCommand ?? null,
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
}
|
|
104
161
|
function researchRequestBody(args) {
|
|
105
162
|
const inputPath = strictString(args, "input");
|
|
106
163
|
if (inputPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/research/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/research/commands.ts"],"names":[],"mappings":"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"}
|