@tiangong-ai/cli 0.0.39 → 0.0.41

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.
@@ -5,6 +5,7 @@ import { isAlias, parseDocument, stringify, visit } from "yaml";
5
5
  import { CliError } from "../../errors.js";
6
6
  import { EXTERNAL_SKILL_CONTEXT_PROFILE, EXTERNAL_SKILL_MEDIA_PROFILE, EXTERNAL_SKILL_PROFILE, } from "./external-skills.js";
7
7
  import { configuredResearchSecrets, sanitizeResearchRecord, sanitizeResearchText, sanitizeResearchValue, } from "./sanitization.js";
8
+ import { RESEARCH_SETUP_CREDENTIALS, RESEARCH_SETUP_SETTINGS, RESEARCH_SETUP_SKILLS, } from "./setup-catalog.js";
8
9
  import { exactResearchCliCommand } from "./setup-invocation.js";
9
10
  import { applyResearchSetupPlan, createResearchSetupPlan, loadAndVerifyResearchSetupPlan, resolveResearchSetupWorkspacePath, } from "./setup.js";
10
11
  import { canonicalJson, ensureDirectory, isObject, pathExists, readJsonFile, sha256Text, workspacePaths, } from "./storage.js";
@@ -12,6 +13,7 @@ const MAX_DECLARATION_BYTES = 256 * 1024;
12
13
  const MAX_DECLARATION_ENV_BYTES = 64 * 1024;
13
14
  const MAX_DECLARATION_ENV_VALUE_BYTES = 16 * 1024;
14
15
  const ENVIRONMENT_NAME = /^[A-Za-z_][A-Za-z0-9_]{0,127}$/;
16
+ const BRAVE_SKILL_IDS = new Set(RESEARCH_SETUP_SKILLS.filter((skill) => skill.sourceId === "brave-search-skills").map((skill) => skill.id));
15
17
  export async function initializeResearchSetupDeclaration(workspace) {
16
18
  const root = await resolveResearchSetupWorkspacePath(workspace);
17
19
  const paths = workspacePaths(root);
@@ -31,14 +33,9 @@ export async function initializeResearchSetupDeclaration(workspace) {
31
33
  });
32
34
  }
33
35
  await ensureDirectory(paths.control);
34
- await writeNewTextFile(paths.setupDeclaration, declarationTemplate(root), 0o644);
35
- await writeNewTextFile(paths.setupDeclarationEnvExample, [
36
- "# Copy this file to setup.env, fill only variables referenced by setup.yaml,",
37
- "# then run chmod 600 .tiangong-research/setup.env before setup.",
38
- "# Values are imported into the existing owner-only logical credential stores.",
39
- "BRAVE_API_KEY=",
40
- "",
41
- ].join("\n"), 0o600);
36
+ const declaration = defaultDeclaration(root);
37
+ await writeNewTextFile(paths.setupDeclaration, declarationTemplate(declaration), 0o644);
38
+ await writeNewTextFile(paths.setupDeclarationEnvExample, declarationEnvironmentExample(declaration), 0o600);
42
39
  await writeNewTextFile(resolve(paths.control, ".gitignore"), "setup.env\n", 0o644);
43
40
  return {
44
41
  schemaVersion: 1,
@@ -116,11 +113,13 @@ export async function loadResearchSetupDeclaration(input) {
116
113
  label: "Declarative setup YAML",
117
114
  });
118
115
  const declaration = parseResearchSetupDeclaration(configurationText);
116
+ validateExplicitCatalogDeclaration(declaration);
119
117
  validateRequiredVerification(declaration);
118
+ const resolvedSelection = resolveDeclarationSelection(declaration);
120
119
  const configurationSha256 = sha256Text(canonicalJson(declaration));
121
120
  const sourceEnvironment = input.environment ?? process.env;
122
121
  const environment = { ...sourceEnvironment };
123
- const referencedNames = new Set(Object.values(declaration.credentialEnvironment));
122
+ const referencedNames = new Set(Object.values(declaration.credentials).map((credential) => credential.environment));
124
123
  if (discovered.environmentPath) {
125
124
  const fileEnvironment = await readDeclarationEnvironment(discovered.environmentPath);
126
125
  const undeclared = [...fileEnvironment.keys()].filter((name) => !referencedNames.has(name));
@@ -129,7 +128,7 @@ export async function loadResearchSetupDeclaration(input) {
129
128
  code: "RESEARCH_SETUP_DECLARATION_ENV_INVALID",
130
129
  step: "declarative-environment",
131
130
  reason: "The setup environment file contains variables not referenced by setup.yaml.",
132
- minimumAction: "Keep only environment variable names explicitly bound by credentialEnvironment.",
131
+ minimumAction: "Keep only environment variable names explicitly listed by setup.yaml credentials.",
133
132
  retryArgs: ["research", "setup", "--workspace", root, "--json"],
134
133
  exitCode: 2,
135
134
  diagnostics: { undeclaredVariableCount: undeclared.length },
@@ -150,16 +149,40 @@ export async function loadResearchSetupDeclaration(input) {
150
149
  environment[name] = value;
151
150
  }
152
151
  }
152
+ for (const [credentialId, credential] of Object.entries(declaration.credentials)) {
153
+ if (!credential.enabled &&
154
+ Buffer.byteLength(environment[credential.environment] ?? "", "utf8") > 0) {
155
+ throw declarationError({
156
+ code: "RESEARCH_SETUP_DECLARATION_ENV_INVALID",
157
+ step: "declarative-environment",
158
+ reason: `A disabled credential has a non-empty configured value: ${credentialId}.`,
159
+ minimumAction: "Enable the credential explicitly in setup.yaml or remove its value from setup.env and the owner environment.",
160
+ retryArgs: ["research", "setup", "--workspace", root, "--json"],
161
+ exitCode: 2,
162
+ diagnostics: { disabledCredentialId: credentialId },
163
+ });
164
+ }
165
+ }
166
+ const credentialEnvironment = {};
167
+ for (const [credentialId, credential] of Object.entries(declaration.credentials)) {
168
+ if (credential.enabled)
169
+ credentialEnvironment[credentialId] = credential.environment;
170
+ }
171
+ const settings = {};
172
+ for (const [settingId, setting] of Object.entries(declaration.settings)) {
173
+ if (setting.enabled)
174
+ settings[settingId] = setting.value;
175
+ }
153
176
  const planInput = {
154
177
  ...(declaration.workspace.name === undefined ? {} : { name: declaration.workspace.name }),
155
178
  mode: declaration.workspace.mode,
156
- evidenceProfile: declarationEvidenceProfile(declaration.selection.evidenceProfile),
157
- skillIds: [...declaration.selection.skillIds],
179
+ evidenceProfile: resolvedSelection.planEvidenceProfile,
180
+ skillIds: [...resolvedSelection.nonBraveSkillIds],
158
181
  scope: declaration.install.scope,
159
182
  agents: [...declaration.install.agents],
160
183
  acceptedLicenseIds: [...declaration.acceptedLicenseIds],
161
- credentialEnvironment: { ...declaration.credentialEnvironment },
162
- settings: { ...declaration.settings },
184
+ credentialEnvironment,
185
+ settings,
163
186
  agentRoutes: structuredClone(declaration.agentRoutes),
164
187
  liveChecks: declaration.verification.live,
165
188
  allowSyntheticUnstructureUpload: declaration.verification.allowSyntheticUnstructureUpload,
@@ -178,9 +201,10 @@ export async function loadResearchSetupDeclaration(input) {
178
201
  environment,
179
202
  publicSummary: {
180
203
  mode: declaration.workspace.mode,
181
- evidenceProfile: declaration.selection.evidenceProfile,
182
- selectedSkillIds: [...declaration.selection.skillIds],
183
- credentialIds: Object.keys(declaration.credentialEnvironment).sort(),
204
+ evidenceProfile: resolvedSelection.declarativeEvidenceProfile,
205
+ selectedSkillIds: [...resolvedSelection.selectedSkillIds],
206
+ enabledCredentialIds: Object.keys(credentialEnvironment).sort(),
207
+ declaredCredentialIds: Object.keys(declaration.credentials).sort(),
184
208
  verification: { ...declaration.verification },
185
209
  environmentFileUsed: discovered.environmentPath !== null,
186
210
  },
@@ -422,19 +446,42 @@ async function writeNewTextFile(path, content, mode) {
422
446
  await handle.close();
423
447
  }
424
448
  }
425
- function declarationTemplate(root) {
426
- const value = {
427
- schemaVersion: 1,
449
+ function defaultDeclaration(root) {
450
+ const enabledSkillIds = new Set(RESEARCH_SETUP_SKILLS.filter((skill) => skill.defaultSelected).map((skill) => skill.id));
451
+ return {
452
+ schemaVersion: 2,
428
453
  kind: "tiangong-research-setup",
429
454
  workspace: { name: basename(root), mode: "production-research" },
430
455
  install: { scope: "project", agents: ["codex"] },
431
456
  selection: {
432
- evidenceProfile: "brave-baseline",
433
- skillIds: ["tiangong.auto-research"],
457
+ skills: Object.fromEntries(RESEARCH_SETUP_SKILLS.map((skill) => [
458
+ skill.id,
459
+ {
460
+ enabled: enabledSkillIds.has(skill.id),
461
+ licenseId: skill.license.id,
462
+ },
463
+ ])),
434
464
  },
435
465
  acceptedLicenseIds: [],
436
- credentialEnvironment: { "brave.search.api-key": "BRAVE_API_KEY" },
437
- settings: {},
466
+ credentials: Object.fromEntries(RESEARCH_SETUP_CREDENTIALS.map((credential) => [
467
+ credential.id,
468
+ {
469
+ requirement: declarationRequirement(credential, enabledSkillIds),
470
+ appliesTo: [...credential.requiredBy],
471
+ enabled: credential.required &&
472
+ credential.requiredBy.some((skillId) => enabledSkillIds.has(skillId)),
473
+ environment: credential.defaultEnvironmentName,
474
+ },
475
+ ])),
476
+ settings: Object.fromEntries(RESEARCH_SETUP_SETTINGS.map((setting) => [
477
+ setting.id,
478
+ {
479
+ requirement: declarationRequirement(setting, enabledSkillIds),
480
+ appliesTo: [...setting.requiredBy],
481
+ enabled: setting.required && setting.requiredBy.some((skillId) => enabledSkillIds.has(skillId)),
482
+ value: setting.defaultValue,
483
+ },
484
+ ])),
438
485
  agentRoutes: {
439
486
  producerAgent: "codex",
440
487
  reviewerAgent: "claude",
@@ -455,15 +502,44 @@ function declarationTemplate(root) {
455
502
  },
456
503
  replaceExistingPlan: false,
457
504
  };
505
+ }
506
+ function declarationTemplate(value) {
458
507
  return [
459
- "# Review every selection, license, endpoint, model, price, and confirmation.",
460
- "# This file contains no secret values. Put only referenced variable values in",
461
- "# owner-only setup.env, or provide the same named variables through the environment.",
508
+ "# Every current catalog Skill, credential, and setting is explicit below.",
509
+ "# Review each enabled flag, license, endpoint, model, price, and confirmation.",
510
+ "# This file contains no secret values. Credential values belong only in owner-only",
511
+ "# setup.env, the same named owner environment variables, or the logical stores.",
462
512
  "# Set confirmations to true only after the human owner accepts each action/cost.",
463
513
  stringify(value, { lineWidth: 0 }).trimEnd(),
464
514
  "",
465
515
  ].join("\n");
466
516
  }
517
+ function declarationEnvironmentExample(declaration) {
518
+ return [
519
+ "# Copy this file to setup.env and run chmod 600 .tiangong-research/setup.env.",
520
+ "# Every catalog credential is visible. Leave disabled optional values empty.",
521
+ "# A non-empty disabled value is rejected instead of being used implicitly.",
522
+ "# Values are imported into owner-only logical stores and never into setup.yaml.",
523
+ ...RESEARCH_SETUP_CREDENTIALS.flatMap((definition) => {
524
+ const choice = declaration.credentials[definition.id];
525
+ return [
526
+ "",
527
+ `# ${definition.id}: ${choice.requirement}; enabled=${String(choice.enabled)}`,
528
+ `${choice.environment}=`,
529
+ ];
530
+ }),
531
+ "",
532
+ ].join("\n");
533
+ }
534
+ function declarationRequirement(input, selectedSkillIds) {
535
+ if (!input.required)
536
+ return "optional";
537
+ if (input.requiredBy.length === 0)
538
+ return "required";
539
+ return input.requiredBy.some((skillId) => selectedSkillIds.has(skillId))
540
+ ? "required"
541
+ : "conditional";
542
+ }
467
543
  function requireAbsoluteDeclarationPath(path, option) {
468
544
  if (!isAbsolute(path)) {
469
545
  throw declarationError({
@@ -477,14 +553,140 @@ function requireAbsoluteDeclarationPath(path, option) {
477
553
  }
478
554
  return resolve(path);
479
555
  }
480
- function declarationEvidenceProfile(value) {
481
- if (value === "none")
482
- return value;
483
- if (value === "brave-baseline")
484
- return EXTERNAL_SKILL_PROFILE;
485
- if (value === "brave-context")
486
- return EXTERNAL_SKILL_CONTEXT_PROFILE;
487
- return EXTERNAL_SKILL_MEDIA_PROFILE;
556
+ function resolveDeclarationSelection(declaration) {
557
+ const selectedSkillIds = RESEARCH_SETUP_SKILLS.filter((skill) => declaration.selection.skills[skill.id].enabled).map((skill) => skill.id);
558
+ const enabledBraveIds = selectedSkillIds.filter((skillId) => BRAVE_SKILL_IDS.has(skillId));
559
+ const profiles = [
560
+ { declarative: "none", plan: "none", skillIds: [] },
561
+ {
562
+ declarative: "brave-baseline",
563
+ plan: EXTERNAL_SKILL_PROFILE,
564
+ skillIds: ["brave.web-search", "brave.news-search"],
565
+ },
566
+ {
567
+ declarative: "brave-context",
568
+ plan: EXTERNAL_SKILL_CONTEXT_PROFILE,
569
+ skillIds: ["brave.web-search", "brave.news-search", "brave.llm-context"],
570
+ },
571
+ {
572
+ declarative: "brave-media",
573
+ plan: EXTERNAL_SKILL_MEDIA_PROFILE,
574
+ skillIds: [
575
+ "brave.web-search",
576
+ "brave.news-search",
577
+ "brave.llm-context",
578
+ "brave.images-search",
579
+ "brave.videos-search",
580
+ ],
581
+ },
582
+ ];
583
+ const matched = profiles.find((profile) => sameStringSet(enabledBraveIds, profile.skillIds));
584
+ if (!matched) {
585
+ throw invalidDeclaration("Enabled Brave Skills must form one complete supported evidence profile.", {
586
+ enabledBraveSkillIds: enabledBraveIds,
587
+ supportedProfiles: profiles.map((profile) => ({
588
+ id: profile.declarative,
589
+ skillIds: profile.skillIds,
590
+ })),
591
+ });
592
+ }
593
+ return {
594
+ selectedSkillIds,
595
+ nonBraveSkillIds: selectedSkillIds.filter((skillId) => !BRAVE_SKILL_IDS.has(skillId)),
596
+ declarativeEvidenceProfile: matched.declarative,
597
+ planEvidenceProfile: matched.plan,
598
+ };
599
+ }
600
+ function validateExplicitCatalogDeclaration(declaration) {
601
+ const problems = [];
602
+ validateExactRecordKeys(declaration.selection.skills, RESEARCH_SETUP_SKILLS.map((skill) => skill.id), "/selection/skills", problems);
603
+ validateExactRecordKeys(declaration.credentials, RESEARCH_SETUP_CREDENTIALS.map((credential) => credential.id), "/credentials", problems);
604
+ validateExactRecordKeys(declaration.settings, RESEARCH_SETUP_SETTINGS.map((setting) => setting.id), "/settings", problems);
605
+ const selectedSkillIds = new Set(RESEARCH_SETUP_SKILLS.filter((skill) => declaration.selection.skills[skill.id]?.enabled).map((skill) => skill.id));
606
+ for (const skill of RESEARCH_SETUP_SKILLS) {
607
+ const choice = declaration.selection.skills[skill.id];
608
+ if (choice && choice.licenseId !== skill.license.id) {
609
+ problems.push({ path: `/selection/skills/${skill.id}/licenseId`, rule: "catalog-drift" });
610
+ }
611
+ }
612
+ const environmentOwners = new Map();
613
+ for (const definition of RESEARCH_SETUP_CREDENTIALS) {
614
+ const choice = declaration.credentials[definition.id];
615
+ if (!choice)
616
+ continue;
617
+ validateCatalogChoiceMetadata(`/credentials/${definition.id}`, choice, definition, selectedSkillIds, problems);
618
+ const applies = definition.requiredBy.some((skillId) => selectedSkillIds.has(skillId));
619
+ if (definition.required && choice.enabled !== applies) {
620
+ problems.push({
621
+ path: `/credentials/${definition.id}/enabled`,
622
+ rule: applies ? "required-when-selected" : "disabled-when-unused",
623
+ });
624
+ }
625
+ else if (!definition.required && !applies && choice.enabled) {
626
+ problems.push({
627
+ path: `/credentials/${definition.id}/enabled`,
628
+ rule: "disabled-when-unused",
629
+ });
630
+ }
631
+ const priorOwner = environmentOwners.get(choice.environment);
632
+ if (priorOwner) {
633
+ problems.push({
634
+ path: `/credentials/${definition.id}/environment`,
635
+ rule: "duplicate-environment-name",
636
+ });
637
+ }
638
+ else {
639
+ environmentOwners.set(choice.environment, definition.id);
640
+ }
641
+ }
642
+ for (const definition of RESEARCH_SETUP_SETTINGS) {
643
+ const choice = declaration.settings[definition.id];
644
+ if (!choice)
645
+ continue;
646
+ validateCatalogChoiceMetadata(`/settings/${definition.id}`, choice, definition, selectedSkillIds, problems);
647
+ const applies = definition.requiredBy.some((skillId) => selectedSkillIds.has(skillId));
648
+ if (definition.required && choice.enabled !== applies) {
649
+ problems.push({
650
+ path: `/settings/${definition.id}/enabled`,
651
+ rule: applies ? "required-when-selected" : "disabled-when-unused",
652
+ });
653
+ }
654
+ else if (!definition.required && !applies && choice.enabled) {
655
+ problems.push({
656
+ path: `/settings/${definition.id}/enabled`,
657
+ rule: "disabled-when-unused",
658
+ });
659
+ }
660
+ if (choice.enabled && (choice.value === null || choice.value.length === 0)) {
661
+ problems.push({ path: `/settings/${definition.id}/value`, rule: "enabled-value-required" });
662
+ }
663
+ }
664
+ if (problems.length) {
665
+ throw invalidDeclaration("The declarative setup must explicitly and exactly match the current catalog.", { catalogProblems: problems.slice(0, 32), catalogProblemCount: problems.length });
666
+ }
667
+ resolveDeclarationSelection(declaration);
668
+ }
669
+ function validateCatalogChoiceMetadata(path, choice, definition, selectedSkillIds, problems) {
670
+ if (choice.requirement !== declarationRequirement(definition, selectedSkillIds)) {
671
+ problems.push({ path: `${path}/requirement`, rule: "catalog-drift" });
672
+ }
673
+ if (!sameStringSet(choice.appliesTo, definition.requiredBy)) {
674
+ problems.push({ path: `${path}/appliesTo`, rule: "catalog-drift" });
675
+ }
676
+ }
677
+ function validateExactRecordKeys(value, expectedKeys, path, problems) {
678
+ const expected = new Set(expectedKeys);
679
+ for (const key of expectedKeys) {
680
+ if (!Object.hasOwn(value, key))
681
+ problems.push({ path: `${path}/${key}`, rule: "missing" });
682
+ }
683
+ for (const key of Object.keys(value)) {
684
+ if (!expected.has(key))
685
+ problems.push({ path: `${path}/${key}`, rule: "unknown" });
686
+ }
687
+ }
688
+ function sameStringSet(left, right) {
689
+ return left.length === right.length && left.every((value) => right.includes(value));
488
690
  }
489
691
  function invalidDeclaration(reason, diagnostics) {
490
692
  return declarationError({
@@ -577,7 +779,7 @@ const declarationSchema = {
577
779
  "install",
578
780
  "selection",
579
781
  "acceptedLicenseIds",
580
- "credentialEnvironment",
782
+ "credentials",
581
783
  "settings",
582
784
  "agentRoutes",
583
785
  "verification",
@@ -585,7 +787,7 @@ const declarationSchema = {
585
787
  "replaceExistingPlan",
586
788
  ],
587
789
  properties: {
588
- schemaVersion: { const: 1 },
790
+ schemaVersion: { const: 2 },
589
791
  kind: { const: "tiangong-research-setup" },
590
792
  workspace: {
591
793
  type: "object",
@@ -614,16 +816,22 @@ const declarationSchema = {
614
816
  selection: {
615
817
  type: "object",
616
818
  additionalProperties: false,
617
- required: ["evidenceProfile", "skillIds"],
819
+ required: ["skills"],
618
820
  properties: {
619
- evidenceProfile: {
620
- enum: ["none", "brave-baseline", "brave-context", "brave-media"],
621
- },
622
- skillIds: {
623
- type: "array",
624
- maxItems: 64,
625
- uniqueItems: true,
626
- items: { type: "string", minLength: 1, maxLength: 200 },
821
+ skills: {
822
+ type: "object",
823
+ minProperties: 1,
824
+ maxProperties: 64,
825
+ propertyNames: { type: "string", minLength: 1, maxLength: 200 },
826
+ additionalProperties: {
827
+ type: "object",
828
+ additionalProperties: false,
829
+ required: ["enabled", "licenseId"],
830
+ properties: {
831
+ enabled: { type: "boolean" },
832
+ licenseId: { type: "string", minLength: 1, maxLength: 200 },
833
+ },
834
+ },
627
835
  },
628
836
  },
629
837
  },
@@ -633,17 +841,49 @@ const declarationSchema = {
633
841
  uniqueItems: true,
634
842
  items: { type: "string", minLength: 1, maxLength: 200 },
635
843
  },
636
- credentialEnvironment: {
844
+ credentials: {
637
845
  type: "object",
846
+ minProperties: 1,
638
847
  maxProperties: 64,
639
848
  propertyNames: { type: "string", minLength: 1, maxLength: 200 },
640
- additionalProperties: { type: "string", pattern: ENVIRONMENT_NAME.source },
849
+ additionalProperties: {
850
+ type: "object",
851
+ additionalProperties: false,
852
+ required: ["requirement", "appliesTo", "enabled", "environment"],
853
+ properties: {
854
+ requirement: { enum: ["required", "conditional", "optional"] },
855
+ appliesTo: {
856
+ type: "array",
857
+ maxItems: 64,
858
+ uniqueItems: true,
859
+ items: { type: "string", minLength: 1, maxLength: 200 },
860
+ },
861
+ enabled: { type: "boolean" },
862
+ environment: { type: "string", pattern: ENVIRONMENT_NAME.source },
863
+ },
864
+ },
641
865
  },
642
866
  settings: {
643
867
  type: "object",
868
+ minProperties: 1,
644
869
  maxProperties: 64,
645
870
  propertyNames: { type: "string", minLength: 1, maxLength: 200 },
646
- additionalProperties: { type: "string", maxLength: 4096 },
871
+ additionalProperties: {
872
+ type: "object",
873
+ additionalProperties: false,
874
+ required: ["requirement", "appliesTo", "enabled", "value"],
875
+ properties: {
876
+ requirement: { enum: ["required", "conditional", "optional"] },
877
+ appliesTo: {
878
+ type: "array",
879
+ maxItems: 64,
880
+ uniqueItems: true,
881
+ items: { type: "string", minLength: 1, maxLength: 200 },
882
+ },
883
+ enabled: { type: "boolean" },
884
+ value: { type: ["string", "null"], maxLength: 4096 },
885
+ },
886
+ },
647
887
  },
648
888
  agentRoutes: {
649
889
  type: "object",
@@ -1 +1 @@
1
- {"version":3,"file":"setup-declarative.js","sourceRoot":"","sources":["../../../src/research/workspace/setup-declarative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-declarative.js","sourceRoot":"","sources":["../../../src/research/workspace/setup-declarative.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,6 @@ export function formatResearchSetupWizardNote(message, tone, theme) {
54
54
  const body = rest.length ? `\n${rest.map((line) => ` ${line}`).join("\n")}` : "";
55
55
  return `\n${styledGlyph} ${styledFirst}${body}\n`;
56
56
  }
57
- const DEFAULT_CREDENTIAL_ENVIRONMENT = {
58
- "brave.search.api-key": "BRAVE_API_KEY",
59
- "tiangong.sci.api-key": "TIANGONG_SCI_APIKEY",
60
- "tiangong.unstructure.auth-token": "UNSTRUCTURED_AUTH_TOKEN",
61
- "semantic-scholar.api-key": "SEMANTIC_SCHOLAR_API_KEY",
62
- };
63
57
  const MAX_CREDENTIAL_STDIN_BYTES = 64 * 1024;
64
58
  function credentialStdinIds(value) {
65
59
  if (!value)
@@ -531,7 +525,7 @@ async function collectCredentialSources(selectedSkillIds, environment, stdinCred
531
525
  const transientEnvironmentNames = [];
532
526
  const preview = [];
533
527
  for (const credential of definitions) {
534
- const defaultEnvironmentName = DEFAULT_CREDENTIAL_ENVIRONMENT[credential.id];
528
+ const defaultEnvironmentName = credential.defaultEnvironmentName;
535
529
  const present = Buffer.byteLength(environment[defaultEnvironmentName] ?? "", "utf8") >=
536
530
  credential.minimumUtf8Bytes;
537
531
  prompt.note(`${credential.provider}\n credential: ${credential.id}\n obtain/configure: ${credential.obtainAt}\n default environment: ${defaultEnvironmentName} (${present ? "present" : "not present"})`, present ? "info" : "warning");