@tiangong-ai/cli 0.0.29 → 0.0.31

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 CHANGED
@@ -16,7 +16,7 @@ checkPaths:
16
16
  - docs/agents/**
17
17
  - src/**
18
18
  lastReviewedAt: 2026-08-09
19
- lastReviewedCommit: 4ddc522fae9fb6a69e1a2aee3d0ea0fb6665eb34
19
+ lastReviewedCommit: 14c804e61b3768489253533ee754b6f7e75460ea
20
20
  ---
21
21
 
22
22
  # Tiangong AI CLI Contract
package/README.md CHANGED
@@ -12,8 +12,8 @@ checkPaths:
12
12
  - package.json
13
13
  - bin/**
14
14
  - src/**
15
- lastReviewedAt: 2026-08-08
16
- lastReviewedCommit: 2aee8339c04d94dc42a8b34d20d59af27dbe756d
15
+ lastReviewedAt: 2026-08-09
16
+ lastReviewedCommit: 14c804e61b3768489253533ee754b6f7e75460ea
17
17
  ---
18
18
 
19
19
  # Tiangong AI CLI
@@ -245,6 +245,20 @@ source commit and tree hash; license and credential requirements; dependencies;
245
245
  and installed-byte status. Installation is never performed by a research
246
246
  package.
247
247
 
248
+ Whole-tree hashes are platform-stable: logical paths are NFC-normalized and
249
+ ordered by UTF-8 bytes rather than the host locale, and newly created detached
250
+ source checkouts disable Git line-ending conversion before checkout. A source
251
+ hash mismatch remains fail-closed before `npx skills add`; its structured error
252
+ reports only the Skill/source IDs, hash algorithm, and expected/observed hashes.
253
+ It never treats file existence as installation success or silently rewrites an
254
+ immutable plan. Plans created by an earlier CLI release are rejected at the
255
+ execution boundary; create and review a new plan with the active release. The
256
+ orchestrator additionally declares a `workspace-lock` runtime contract: every
257
+ workspace command goes through its bundled resolver, which accepts only the
258
+ regular non-symlink `runtime-lock.json` exact stable CLI version. Setup and
259
+ release CI reject a missing resolver or any stale exact CLI version in the
260
+ orchestrator's `SKILL.md` or `references/*.md`.
261
+
248
262
  The default `internet-research` profile selects Brave Web Search and News
249
263
  Search. `internet-research-with-context` additionally selects the
250
264
  subscription-dependent LLM Context endpoint, while
@@ -267,9 +281,10 @@ op read 'op://Research/Brave/api-key' | \
267
281
 
268
282
  The pinned Brave checkout is verified at `skills/<skill-name>` before install.
269
283
  An explicitly reviewed replacement plan reconciles the complete setup-managed
270
- capability set and both owner-only credential stores: deselected Brave/Sci
271
- declarations and lock records are removed, custom capability declarations are
272
- preserved, and installed Skill directories are never deleted implicitly.
284
+ capability set and both owner-only credential stores: deselected Brave, SCI,
285
+ report, or patent declarations and lock records are removed, custom capability
286
+ declarations are preserved, and installed Skill directories are never deleted
287
+ implicitly.
273
288
  Provider-dependent context/media choices never fall back silently; select the
274
289
  baseline in a replacement plan when that is the intended operator decision.
275
290
 
@@ -281,9 +296,11 @@ managers may preload one line per logical ID with
281
296
  `--credential-stdin <id[,id...]>`; the remaining Wizard questions use the
282
297
  controlling terminal.
283
298
 
284
- Optional setup entries have explicit roles. Tiangong SCI is an
285
- owner-whitelisted POST evidence capability; document decomposition is an input
286
- preprocessor; academic paper download is an acquisition adapter; document and
299
+ Optional setup entries have explicit roles. Tiangong SCI, report, and patent
300
+ search are distinct owner-whitelisted POST evidence capabilities with separate
301
+ logical credentials and discovery scopes; one cannot substitute for another.
302
+ Document decomposition is an input preprocessor; academic paper download is an
303
+ acquisition adapter; document and
287
304
  presentation Skills are post-closure authoring only. Run selected preprocessors
288
305
  and acquisition adapters with `research setup companion run`, then admit their
289
306
  exact hash-bound output separately. Automatic paper OA exhaustion returns an
@@ -296,10 +313,15 @@ Every leaf command accepts `--help` before workspace resolution, so operators
296
313
  can inspect `capability doctor`, `project preflight`, `project init`, and `run`
297
314
  syntax safely from an empty or unrelated directory.
298
315
 
299
- The requirements object declares `dimensions`, `sourceTypes`, `minSources`,
316
+ The requirements object declares `dimensions`, `sourceTypes`, optional
317
+ `requiredCapabilityIds` and `requiredDiscoveryScopes`, `minSources`,
300
318
  `minFullTextSources`, `minDatedSources`, and optional inclusive
301
319
  `publicationDateFrom` / `publicationDateTo` boundaries (`YYYY-MM-DD` or
302
- `null`). After discovery, a mechanical coverage gate verifies the declared
320
+ `null`). Explicit capability/scope requirements are exact: wildcard web or SCI
321
+ coverage cannot satisfy a required report database. Preflight returns both
322
+ stable string gaps and structured `coverageGaps` with the affected dimensions,
323
+ source types, alternative-coverage decision, and minimum owner action. After
324
+ discovery, a mechanical coverage gate verifies the declared
303
325
  source, full-text, publication-date, and dimension summary before analysis.
304
326
  For large local sources, pass an immutable `--input-plan` to both preflight and
305
327
  project initialization. Each plan entry may expose either a separate
@@ -479,8 +501,8 @@ must be exact versions; local references must equal
479
501
  `sha256:<expectedTreeSha256>`. Every source type must match the installed whole
480
502
  tree before a lock can be written. Skill trees reject symlinks and excessive
481
503
  file counts/sizes. Project-owned Tiangong Skills are rejected through this
482
- generic import path; the setup catalog has a separate reviewed first-party
483
- adapter for Tiangong SCI. Configure/import refuses to rewrite the lock if any
504
+ generic import path; the setup catalog has separate reviewed first-party
505
+ adapters for Tiangong SCI, report, and patent search. Configure/import refuses to rewrite the lock if any
484
506
  existing capability has drifted; restore it or explicitly update its source
485
507
  identity and expected hash first.
486
508
 
@@ -533,6 +555,13 @@ content-type failures stop explicitly. It retains only a bounded sanitized
533
555
  provider code/detail and safe request ID, with an actionable baseline-or-
534
556
  subscription decision for `OPTION_NOT_IN_PLAN`. An explicitly requested agent
535
557
  or capability smoke failure makes setup readiness `BLOCKED`, never a warning.
558
+ Credential diagnostics distinguish standalone ambient absence,
559
+ broker-store absence, policy-rejected injection, and provider 401/403. Every
560
+ such diagnostic identifies the execution mode, credential scope, whether a
561
+ network request occurred, and a minimum action without returning credentials
562
+ or raw authentication responses. The optional Semantic Scholar live check also
563
+ performs only one bounded 429 retry; a second 429 remains an explicit setup
564
+ blocker and never triggers a standalone fallback.
536
565
  The broker preserves a sanitized non-2xx excerpt, safe request ID, and
537
566
  `Retry-After`. It performs at most one inline 429 retry when the declared or
538
567
  default delay is at most five seconds; longer throttles return an actionable
@@ -645,6 +674,7 @@ transitions.
645
674
  npm run lint
646
675
  npm test
647
676
  npm run test:coverage
677
+ npm run audit:research-setup-pins
648
678
  docpact validate-config --root . --strict
649
679
  ```
650
680
 
@@ -653,4 +683,5 @@ docpact validate-config --root . --strict
653
683
  Publishing is handled by GitHub Actions in `.github/workflows/publish.yml`.
654
684
  Push a `v*` tag that matches `package.json` version. The workflow publishes
655
685
  `@tiangong-ai/cli` to npm through npm Trusted Publishing after lint, tests,
656
- coverage, version availability, and a package dry run pass.
686
+ coverage, immutable remote Skill pin/runtime-contract audit, version
687
+ availability, and a package dry run pass.
@@ -49,16 +49,45 @@ export async function runEdgeSearch(input) {
49
49
  }
50
50
  const responses = [];
51
51
  for (const plan of plans) {
52
- responses.push({
53
- source: plan.source,
54
- response: await postJson({
55
- url: plan.request.url,
56
- headers: plan.request.headers,
57
- body: plan.request.body,
58
- timeoutMs: input.timeoutMs,
59
- fetchImpl: input.fetchImpl ?? fetch,
60
- }),
61
- });
52
+ try {
53
+ responses.push({
54
+ source: plan.source,
55
+ response: await postJson({
56
+ url: plan.request.url,
57
+ headers: plan.request.headers,
58
+ body: plan.request.body,
59
+ timeoutMs: input.timeoutMs,
60
+ fetchImpl: input.fetchImpl ?? fetch,
61
+ }),
62
+ });
63
+ }
64
+ catch (error) {
65
+ if (error instanceof CliError && error.code === "REMOTE_REQUEST_FAILED") {
66
+ const status = error.details && typeof error.details === "object" && "status" in error.details
67
+ ? Number(error.details.status)
68
+ : null;
69
+ const authenticationFailed = status === 401 || status === 403;
70
+ throw new CliError(authenticationFailed
71
+ ? `The ${plan.source} provider rejected the standalone credential.`
72
+ : `The ${plan.source} standalone provider request failed.`, {
73
+ code: authenticationFailed
74
+ ? "PROVIDER_AUTHENTICATION_FAILED"
75
+ : "STANDALONE_PROVIDER_REQUEST_FAILED",
76
+ exitCode: 1,
77
+ details: {
78
+ source: plan.source,
79
+ executionMode: "standalone",
80
+ credentialScope: "ambient-or-explicit-owner-env",
81
+ networkAttempted: true,
82
+ ...(status === null ? {} : { status }),
83
+ minimumAction: authenticationFailed
84
+ ? "Verify the owner-provided standalone credential and provider entitlement, then retry the isolated query."
85
+ : "Verify the exact endpoint, provider availability, and quota before retrying the isolated query.",
86
+ },
87
+ });
88
+ }
89
+ throw error;
90
+ }
62
91
  }
63
92
  return { dryRun: false, responses };
64
93
  }
@@ -78,17 +107,29 @@ function edgeSearchRequestPlan(input) {
78
107
  }
79
108
  function edgeSearchHeaders(source, masked, missingCredentialHelp) {
80
109
  if (source.authStrategy === "apiKey" && !source.apiKey) {
81
- throw new CliError(`Missing ${source.source} search credentials. ${missingCredentialHelp}`, {
82
- code: "EDGE_SEARCH_CREDENTIALS_REQUIRED",
110
+ throw new CliError(`Standalone ambient credential not found for ${source.source} search.`, {
111
+ code: "STANDALONE_AMBIENT_CREDENTIAL_MISSING",
83
112
  exitCode: 2,
84
- details: { source: source.source },
113
+ details: {
114
+ source: source.source,
115
+ executionMode: "standalone",
116
+ credentialScope: "ambient-or-explicit-owner-env",
117
+ networkAttempted: false,
118
+ minimumAction: missingCredentialHelp,
119
+ },
85
120
  });
86
121
  }
87
122
  if (source.authStrategy === "bearerOrApiKey" && !source.apiKey && !source.bearerToken) {
88
- throw new CliError(`Missing ${source.source} search credentials. ${missingCredentialHelp}`, {
89
- code: "EDGE_SEARCH_CREDENTIALS_REQUIRED",
123
+ throw new CliError(`Standalone ambient credential not found for ${source.source} search.`, {
124
+ code: "STANDALONE_AMBIENT_CREDENTIAL_MISSING",
90
125
  exitCode: 2,
91
- details: { source: source.source },
126
+ details: {
127
+ source: source.source,
128
+ executionMode: "standalone",
129
+ credentialScope: "ambient-or-explicit-owner-env",
130
+ networkAttempted: false,
131
+ minimumAction: missingCredentialHelp,
132
+ },
92
133
  });
93
134
  }
94
135
  const headers = {
@@ -1 +1 @@
1
- {"version":3,"file":"edge-search.js","sourceRoot":"","sources":["../src/edge-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-search.js","sourceRoot":"","sources":["../src/edge-search.ts"],"names":[],"mappings":"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"}
package/dist/http.js CHANGED
@@ -43,7 +43,11 @@ async function parseResponse(response, url) {
43
43
  throw new CliError(`HTTP ${response.status} returned from ${url}`, {
44
44
  code: "REMOTE_REQUEST_FAILED",
45
45
  exitCode: 1,
46
- details: rawText,
46
+ details: {
47
+ status: response.status,
48
+ retryAfterSeconds: responseRetryAfterSeconds(response.headers),
49
+ networkAttempted: true,
50
+ },
47
51
  });
48
52
  }
49
53
  if (contentType.includes("application/json")) {
@@ -60,6 +64,18 @@ async function parseResponse(response, url) {
60
64
  }
61
65
  return rawText;
62
66
  }
67
+ function responseRetryAfterSeconds(headers) {
68
+ const value = headers.get("retry-after");
69
+ if (!value)
70
+ return null;
71
+ const seconds = Number(value);
72
+ if (Number.isFinite(seconds) && seconds >= 0)
73
+ return Math.ceil(seconds);
74
+ const timestamp = Date.parse(value);
75
+ if (!Number.isFinite(timestamp))
76
+ return null;
77
+ return Math.max(0, Math.ceil((timestamp - Date.now()) / 1_000));
78
+ }
63
79
  export async function postJson(options) {
64
80
  const signal = AbortSignal.timeout(options.timeoutMs);
65
81
  const response = await options.fetchImpl(options.url, {
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
@@ -455,6 +455,10 @@ async function readEvidenceRequirements(path) {
455
455
  Array.isArray(value) ||
456
456
  !Array.isArray(value.dimensions) ||
457
457
  !Array.isArray(value.sourceTypes) ||
458
+ (value.requiredCapabilityIds !== undefined &&
459
+ !Array.isArray(value.requiredCapabilityIds)) ||
460
+ (value.requiredDiscoveryScopes !== undefined &&
461
+ !Array.isArray(value.requiredDiscoveryScopes)) ||
458
462
  typeof value.minSources !== "number" ||
459
463
  typeof value.minFullTextSources !== "number" ||
460
464
  typeof value.minDatedSources !== "number" ||
@@ -467,7 +471,11 @@ async function readEvidenceRequirements(path) {
467
471
  exitCode: 2,
468
472
  });
469
473
  }
470
- return normalizeEvidenceRequirements(value);
474
+ return normalizeEvidenceRequirements({
475
+ ...value,
476
+ requiredCapabilityIds: value.requiredCapabilityIds ?? [],
477
+ requiredDiscoveryScopes: value.requiredDiscoveryScopes ?? [],
478
+ });
471
479
  }
472
480
  function researchMode(value) {
473
481
  if (!value || value === "smoke-test")
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/research/orchestration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/research/orchestration.ts"],"names":[],"mappings":"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"}
@@ -239,32 +239,46 @@ async function fetchCandidateSource(input) {
239
239
  throw new Error('cache_mode must be "prefer" or "bypass"');
240
240
  }
241
241
  const capability = input.capabilities.find((candidate) => candidate.id === capabilityId);
242
- if (!capability)
243
- throw new Error(`capability is not admitted for brokered network: ${capabilityId}`);
244
- const target = validateHttpsUrl(rawUrl);
245
- if (!capability.http)
246
- throw new Error(`capability has no broker HTTP policy: ${capabilityId}`);
247
- assertEndpointScope(target, capability.http.endpoint);
248
- const encodedRequestBody = validateBrokerRequestBody(capability.http.method, requestBody, capability.http.maxRequestBytes);
242
+ if (!capability) {
243
+ throw brokerDiagnosticError("CAPABILITY_NOT_DECLARED", "The requested evidence capability is not present in the locked manifest.", false, "Have the workspace owner select or import the exact reviewed capability, configure it, rebuild the capability lock, and pass doctor before retrying.", { capabilityId });
244
+ }
245
+ if (!capability.http) {
246
+ throw brokerDiagnosticError("CAPABILITY_NOT_DECLARED", "The requested capability has no locked broker HTTP policy.", false, "Replace the capability declaration with a reviewed brokered-network capability and rebuild the lock.", { capabilityId });
247
+ }
248
+ let target;
249
+ let encodedRequestBody;
250
+ try {
251
+ target = validateHttpsUrl(rawUrl);
252
+ assertEndpointScope(target, capability.http.endpoint);
253
+ encodedRequestBody = validateBrokerRequestBody(capability.http.method, requestBody, capability.http.maxRequestBytes);
254
+ }
255
+ catch {
256
+ throw brokerDiagnosticError("BROKER_CREDENTIAL_INJECTION_REJECTED", "The broker rejected the request before credential injection because it does not match the locked endpoint or method policy.", false, "Use only the exact locked capability ID, endpoint, HTTP method, and non-secret request shape.", { capabilityId });
257
+ }
249
258
  const credential = credentialId
250
259
  ? capability.credentials.find((candidate) => candidate.id === credentialId)
251
260
  : capability.credentials.length === 1
252
261
  ? capability.credentials[0]
253
262
  : undefined;
254
263
  if (credentialId && !credential) {
255
- throw new Error(`credential is not declared by capability ${capabilityId}: ${credentialId}`);
264
+ throw brokerDiagnosticError("BROKER_CREDENTIAL_INJECTION_REJECTED", "The requested logical credential is not declared by the locked capability.", false, "Use the logical credential ID declared by the capability manifest; never pass credential values through tool arguments.", { capabilityId, credentialId });
256
265
  }
257
266
  if (!credentialId && capability.credentials.length > 1) {
258
- throw new Error(`credential_id is required by capability ${capabilityId}`);
267
+ throw brokerDiagnosticError("BROKER_CREDENTIAL_INJECTION_REJECTED", "The capability declares multiple logical credentials and requires an explicit credential ID.", false, "Select one logical credential ID from the locked capability declaration without including its value.", { capabilityId });
259
268
  }
260
269
  const effectiveCredentialId = credential?.id ?? null;
261
270
  const cacheMode = requestedCacheMode ?? (credential ? "bypass" : "prefer");
262
271
  if (credential && cacheMode === "prefer") {
263
- throw new Error("credentialed broker requests require cache_mode=bypass");
272
+ throw brokerDiagnosticError("BROKER_CREDENTIAL_INJECTION_REJECTED", "Credentialed broker requests cannot use the shared response cache.", false, "Retry the locked capability request with cache_mode=bypass.", { capabilityId, credentialId: credential.id });
273
+ }
274
+ try {
275
+ assertAllowedHost(target, capability.allowedHosts, "capability");
276
+ if (credential)
277
+ assertAllowedHost(target, credential.allowedHosts, "credential");
278
+ }
279
+ catch {
280
+ throw brokerDiagnosticError("BROKER_CREDENTIAL_INJECTION_REJECTED", "The broker refused credential injection because the target host is outside the locked policy.", false, "Use the exact credential-free HTTPS endpoint and host declared by the locked capability.", { capabilityId, credentialId: credential?.id ?? null });
264
281
  }
265
- assertAllowedHost(target, capability.allowedHosts, "capability");
266
- if (credential)
267
- assertAllowedHost(target, credential.allowedHosts, "credential");
268
282
  const attemptId = randomUUID();
269
283
  const maxItems = Math.min(requestedMaxItems ?? capability.http.maxItems, capability.http.maxItems, input.workspaceMaxItems);
270
284
  const cacheKeySha256 = sha256Text(canonicalJson({
@@ -318,8 +332,9 @@ async function fetchCandidateSource(input) {
318
332
  headers.set("Content-Type", "application/json");
319
333
  if (credential) {
320
334
  const value = input.credentialMap.get(credential.id);
321
- if (!value)
322
- throw new Error(`credential value is not configured: ${credential.id}`);
335
+ if (!value) {
336
+ throw brokerDiagnosticError("BROKER_CREDENTIAL_NOT_CONFIGURED", "The locked capability's logical credential is not configured in the broker store.", false, "Use research setup credential set with hidden input, stdin, or an owner environment variable, then rerun capability doctor.", { capabilityId, credentialId: credential.id });
337
+ }
323
338
  headers.set(credential.headerName, `${credential.prefix}${value}`);
324
339
  }
325
340
  const responseLimit = Math.min(capability.http.maxResponseBytes, input.workspaceResponseBytes);
@@ -366,10 +381,24 @@ async function fetchCandidateSource(input) {
366
381
  if (!response.ok) {
367
382
  const retryAfterSeconds = parseRetryAfter(response.headers.get("retry-after"));
368
383
  const excerpt = safeResponseExcerpt(bytes, contentType, [...input.credentialMap.values()]);
384
+ if (response.status === 401 || response.status === 403) {
385
+ throw brokerDiagnosticError("PROVIDER_AUTHENTICATION_FAILED", "The provider rejected the broker-injected logical credential or entitlement.", true, "Verify the configured logical credential and provider entitlement, then rerun capability doctor before retrying research.", {
386
+ capabilityId,
387
+ credentialId: effectiveCredentialId,
388
+ status: response.status,
389
+ requestId: safeResponseId(response.headers),
390
+ });
391
+ }
369
392
  throw new CliError(`HTTPS source returned status ${response.status}.`, {
370
393
  code: "RESEARCH_BROKER_HTTP_ERROR",
371
394
  exitCode: 3,
372
395
  details: {
396
+ executionMode: "broker",
397
+ credentialScope: "broker",
398
+ networkAttempted: true,
399
+ minimumAction: response.status === 429
400
+ ? "Honor Retry-After or the provider quota reset, then retry through the same locked broker capability."
401
+ : "Resolve the provider response or capability contract, then retry through the same locked broker capability.",
373
402
  status: response.status,
374
403
  retryAfterSeconds,
375
404
  responseExcerpt: excerpt,
@@ -786,7 +815,23 @@ function parseRetryAfter(value) {
786
815
  const date = Date.parse(value);
787
816
  return Number.isFinite(date) ? Math.max(0, Math.ceil((date - Date.now()) / 1000)) : null;
788
817
  }
818
+ function brokerDiagnosticError(code, message, networkAttempted, minimumAction, extra = {}) {
819
+ return new CliError(message, {
820
+ code,
821
+ exitCode: 3,
822
+ details: {
823
+ executionMode: "broker",
824
+ credentialScope: "broker",
825
+ networkAttempted,
826
+ minimumAction,
827
+ ...extra,
828
+ },
829
+ });
830
+ }
789
831
  function brokerFailureKind(error) {
832
+ if (error instanceof CliError && error.code === "PROVIDER_AUTHENTICATION_FAILED") {
833
+ return "deterministic";
834
+ }
790
835
  if (error instanceof CliError && error.code === "RESEARCH_BROKER_HTTP_ERROR") {
791
836
  const status = isObject(error.details) ? error.details.status : undefined;
792
837
  if (status === 429)