@cat-factory/server 0.263.1 → 0.265.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.
@@ -2,9 +2,10 @@ import type { AgentRunContext, Logger, ToolSecretResolver } from '@cat-factory/k
2
2
  /**
3
3
  * One `{ key, value }` env pair the harness injects into THIS JOB's agent process.
4
4
  *
5
- * `key` is the INJECTION name (`credentialEnvName`, else the lookup key), not necessarily what the
6
- * resolver was asked for. It has to be, because this is the variable the agent reads, and it is
7
- * the same name the brief tells it to read.
5
+ * `key` is the INJECTION name (`binaryCredentialInjectionName`), not necessarily what the resolver
6
+ * was asked for. It has to be, because this is the variable the agent reads, and it is the same
7
+ * name the brief tells it to read: both sides call that one helper so they cannot name different
8
+ * variables.
8
9
  */
9
10
  export interface GeneratorSecretJobSpec {
10
11
  key: string;
@@ -27,14 +28,13 @@ export interface ResolveBinaryGeneratorSecretsInput {
27
28
  * a run that produces nothing and explains nothing, when a run that generates what it can and
28
29
  * NAMES the gap is strictly more useful.
29
30
  *
30
- * Deduplicated by KEY: two integrations sharing one credential variable (a vendor with an image
31
- * and a music endpoint behind one account is the obvious case) must not fight over the value, and
32
- * the first declaration wins deterministically in selection order.
31
+ * Every lookup an integration needs travels in ONE resolver call, which is the port's stated
32
+ * contract (once per dispatch per subject) and not merely a saving: the per-workspace sealed-store
33
+ * implementation re-reads and decrypts the whole workspace bag per call, so a key pair asked for
34
+ * one name at a time pays that twice under an identical subject.
33
35
  *
34
- * The dedupe is decided BEFORE any resolution (the key name is on the projection), so the surviving
35
- * lookups are independent and run CONCURRENTLY a per-workspace sealed-store resolver is a real
36
- * round trip, and a step holding three integrations should not pay for three of them in series.
37
- * Order is preserved by resolving a pre-built list rather than pushing as results arrive.
36
+ * Integrations are resolved CONCURRENTLY, since their subjects are genuinely different. Order is
37
+ * preserved by resolving a pre-built plan rather than pushing as results arrive.
38
38
  */
39
39
  export declare function resolveBinaryGeneratorSecrets(input: ResolveBinaryGeneratorSecretsInput): Promise<GeneratorSecretJobSpec[]>;
40
40
  //# sourceMappingURL=binaryGenerators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binaryGenerators.d.ts","sourceRoot":"","sources":["../../src/agents/binaryGenerators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,MAAM,EAEN,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AA8B5B;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gGAAgG;IAChG,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAyBnC"}
1
+ {"version":3,"file":"binaryGenerators.d.ts","sourceRoot":"","sources":["../../src/agents/binaryGenerators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,MAAM,EAGN,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAgC5B;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gGAAgG;IAChG,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAOnC"}
@@ -1,5 +1,5 @@
1
1
  import { noopLogger, runBestEffort } from '@cat-factory/kernel';
2
- import { isReservedPlatformEnvKey, isToolchainEnvName, reservedEnvKeyMessage, toolchainEnvNameMessage, } from '@cat-factory/contracts';
2
+ import { binaryCredentialInjectionName, comparableCredentialInjectionName, isReservedPlatformEnvKey, isToolchainEnvName, reservedEnvKeyMessage, toolchainEnvNameMessage, } from '@cat-factory/contracts';
3
3
  /**
4
4
  * Resolve the credentials of this dispatch's generative integrations into job-body env pairs.
5
5
  *
@@ -9,93 +9,191 @@ import { isReservedPlatformEnvKey, isToolchainEnvName, reservedEnvKeyMessage, to
9
9
  * a run that produces nothing and explains nothing, when a run that generates what it can and
10
10
  * NAMES the gap is strictly more useful.
11
11
  *
12
- * Deduplicated by KEY: two integrations sharing one credential variable (a vendor with an image
13
- * and a music endpoint behind one account is the obvious case) must not fight over the value, and
14
- * the first declaration wins deterministically in selection order.
12
+ * Every lookup an integration needs travels in ONE resolver call, which is the port's stated
13
+ * contract (once per dispatch per subject) and not merely a saving: the per-workspace sealed-store
14
+ * implementation re-reads and decrypts the whole workspace bag per call, so a key pair asked for
15
+ * one name at a time pays that twice under an identical subject.
15
16
  *
16
- * The dedupe is decided BEFORE any resolution (the key name is on the projection), so the surviving
17
- * lookups are independent and run CONCURRENTLY a per-workspace sealed-store resolver is a real
18
- * round trip, and a step holding three integrations should not pay for three of them in series.
19
- * Order is preserved by resolving a pre-built list rather than pushing as results arrive.
17
+ * Integrations are resolved CONCURRENTLY, since their subjects are genuinely different. Order is
18
+ * preserved by resolving a pre-built plan rather than pushing as results arrive.
20
19
  */
21
20
  export async function resolveBinaryGeneratorSecrets(input) {
22
21
  const generators = input.context.binaryGenerators ?? [];
23
22
  const resolver = input.resolveToolSecrets;
24
23
  if (!resolver || generators.length === 0)
25
24
  return [];
26
- // Deduplicated on the INJECTION name rather than the lookup key, because that name is what the
27
- // job body is keyed by: two integrations that resolve different keys into one variable would
28
- // otherwise both emit it and the last would silently win. Deduping here also covers the ordinary
29
- // shared-account case (one vendor behind an image and a music endpoint), since a shared lookup
30
- // key with no `envName` shares its injection name too.
31
- const seen = new Set();
32
- const wanted = generators.flatMap((generator) => {
33
- const key = generator.credentialKey;
34
- if (!key)
35
- return [];
36
- const envName = generator.credentialEnvName ?? key;
37
- if (seen.has(envName))
38
- return [];
39
- seen.add(envName);
40
- return [{ generator, key, envName }];
41
- });
42
- const resolved = await Promise.all(wanted.map(async ({ generator, key, envName }) => {
43
- const value = await resolveOne(input, resolver, generator, key, envName);
44
- return value === undefined ? null : { key: envName, value };
25
+ const plans = planLookups(input, generators);
26
+ const resolved = await Promise.all(plans.map((plan) => resolveGenerator(input, resolver, plan)));
27
+ return resolved.flat();
28
+ }
29
+ /**
30
+ * Decide, before any I/O, exactly which lookup each integration gets to make.
31
+ *
32
+ * Planning is separate from resolving because two of the three rules below are about the dispatch
33
+ * AS A WHOLE rather than about one credential, and a rule of that shape cannot be applied by a
34
+ * function that sees one credential at a time.
35
+ */
36
+ function planLookups(input, generators) {
37
+ const admissible = generators.map((generator) => ({
38
+ generator,
39
+ credentials: generator.credentials
40
+ .filter((credential) => passesEnvNameFloors(input, generator, credential))
41
+ .map((credential) => ({
42
+ credential,
43
+ key: credential.key,
44
+ envName: binaryCredentialInjectionName(credential),
45
+ comparableName: comparableCredentialInjectionName(credential),
46
+ })),
45
47
  }));
46
- return resolved.filter((entry) => entry !== null);
48
+ const contested = contestedInjectionNames(input, admissible);
49
+ const claimed = new Set();
50
+ return admissible.map(({ generator, credentials }) => ({
51
+ generator,
52
+ credentials: credentials.filter((planned) => {
53
+ // Contest is judged on the CASE-FOLDED name, because two spellings of one variable collide
54
+ // wherever the environment is case-insensitive. The dedupe below is judged on the exact
55
+ // name, because that is the string the brief tells the agent to read: dropping `acme_key`
56
+ // as a duplicate of `ACME_KEY` would leave a variable named in the brief and set nowhere on
57
+ // every platform that keeps them apart.
58
+ if (contested.has(planned.comparableName))
59
+ return false;
60
+ // A name already claimed by an earlier integration is the SHARED-ACCOUNT case and nothing
61
+ // else, because a contested name was dropped above: the claimant looks the same value up
62
+ // under the same key, so the variable this integration reads is already being set to
63
+ // exactly what it wanted. Asking a second time would only duplicate the round trip.
64
+ if (claimed.has(planned.envName))
65
+ return false;
66
+ claimed.add(planned.envName);
67
+ return true;
68
+ }),
69
+ }));
70
+ }
71
+ /**
72
+ * The injection names two integrations want to mean DIFFERENT values, withheld from both.
73
+ *
74
+ * One vendor behind an image and a music endpoint legitimately shares a variable, and that case is
75
+ * indistinguishable from a collision by the NAME alone: what separates them is whether the lookup
76
+ * key behind the name is the same value. Where it is not, no arbitration can be right. Serving the
77
+ * first claimant sets the variable the SECOND integration's brief tells the agent to read, so the
78
+ * agent authenticates one vendor with another's key, and every layer that could report it sees a
79
+ * variable that is present and a call that failed. A pair loses a half the same way, with the
80
+ * brief still telling the agent the two names belong together.
81
+ *
82
+ * So the value is withheld from everyone, which is the one disposition the brief already describes
83
+ * truthfully: an unset variable means the platform could not provide the credential, and both
84
+ * integrations are reported unavailable rather than one being quietly wrong. Registration refuses
85
+ * this across a deployment's definitions (`binary_generator_injection_name_collision`); reaching
86
+ * here means a MOTHERSHIP node was served definitions it never boot-validated.
87
+ */
88
+ function contestedInjectionNames(input, admissible) {
89
+ // Keyed by the case-folded name and reported under the spelling that reached the dispatch: two
90
+ // integrations declaring `ACME_KEY` and `acme_key` for different keys are one variable on a
91
+ // case-insensitive environment, which is where the wrong value would be read.
92
+ const byName = new Map();
93
+ for (const { generator, credentials } of admissible) {
94
+ for (const planned of credentials) {
95
+ const entry = byName.get(planned.comparableName) ?? {
96
+ spelling: planned.envName,
97
+ keys: new Set(),
98
+ generatorIds: [],
99
+ };
100
+ entry.keys.add(planned.key);
101
+ if (!entry.generatorIds.includes(generator.id))
102
+ entry.generatorIds.push(generator.id);
103
+ byName.set(planned.comparableName, entry);
104
+ }
105
+ }
106
+ const contested = new Set();
107
+ for (const [comparableName, entry] of byName) {
108
+ if (entry.keys.size < 2)
109
+ continue;
110
+ contested.add(comparableName);
111
+ input.logger?.warn('binary-generators disagree about what one injected variable holds; withholding it from all of them', {
112
+ credentialEnvName: entry.spelling,
113
+ binaryGeneratorIds: entry.generatorIds,
114
+ credentialKeys: [...entry.keys],
115
+ });
116
+ }
117
+ return contested;
47
118
  }
48
- async function resolveOne(input, resolver, generator, key, envName) {
49
- // The platform's own configuration variables are never resolvable as an integration credential,
50
- // and the check is HERE rather than inside the env-backed default resolver so it holds whatever
51
- // a facade wired. Boot validation refuses such a declaration through the credential schema, but
52
- // a MOTHERSHIP-MODE node boot-validates none of the definitions it resolves: they arrive per
53
- // dispatch over `/internal/binary-generators`, chosen by a process that is not this one, and
54
- // the environment they would be read from is a developer's own laptop.
55
- //
119
+ /**
120
+ * The two name floors, applied per credential.
121
+ *
122
+ * Both are re-applied HERE rather than trusted from registration so they hold whatever a facade
123
+ * wired, and because a MOTHERSHIP-MODE node boot-validates none of the definitions it resolves:
124
+ * they arrive per dispatch over `/internal/binary-generators`, chosen by a process that is not
125
+ * this one, and the environment they would be read from is a developer's own laptop.
126
+ */
127
+ function passesEnvNameFloors(input, generator, credential) {
128
+ // The platform's own configuration variables are never resolvable as an integration credential.
56
129
  // Only the LOOKUP key is held to it. The injection name reads nothing, so it gets the toolchain
57
130
  // rule below instead, which is what lets an integration keep a vendor's documented variable name
58
131
  // even when a platform prefix family covers it.
59
- if (isReservedPlatformEnvKey(key)) {
132
+ if (isReservedPlatformEnvKey(credential.key)) {
60
133
  // Reported at WARN, not at the `debug` an optional missing key gets: this is never a
61
134
  // deployment's stated normal, and its fix is a declaration rather than a variable to set.
62
- input.logger?.warn('binary-generator declares a reserved credential key; the agent is told the integration is unavailable', { binaryGeneratorId: generator.id, credentialKey: key, detail: reservedEnvKeyMessage(key) });
63
- return undefined;
135
+ input.logger?.warn('binary-generator declares a reserved credential key; the agent is told the integration is unavailable', {
136
+ binaryGeneratorId: generator.id,
137
+ credentialKey: credential.key,
138
+ detail: reservedEnvKeyMessage(credential.key),
139
+ });
140
+ return false;
64
141
  }
65
142
  // A value injected under a toolchain name reconfigures the agent's process instead of
66
143
  // authenticating a call. Registration refuses one; this is the mothership case again.
144
+ const envName = binaryCredentialInjectionName(credential);
67
145
  if (isToolchainEnvName(envName)) {
68
146
  input.logger?.warn('binary-generator declares a toolchain injection name; the agent is told the integration is unavailable', {
69
147
  binaryGeneratorId: generator.id,
70
148
  credentialEnvName: envName,
71
149
  detail: toolchainEnvNameMessage(envName),
72
150
  });
73
- return undefined;
151
+ return false;
74
152
  }
75
- const resolved = await runBestEffort(input.logger ?? noopLogger, 'resolve binary-generator credential', () => resolver.resolve({
153
+ return true;
154
+ }
155
+ /** Resolve one integration's whole credential set in a single call, in declaration order. */
156
+ async function resolveGenerator(input, resolver, plan) {
157
+ if (plan.credentials.length === 0)
158
+ return [];
159
+ // Distinct LOOKUP keys, because one stored value delivered under two injection names is an
160
+ // allowed declaration and asking for the same key twice in one call is not.
161
+ const keys = [...new Set(plan.credentials.map((planned) => planned.key))].map((key) => ({ key }));
162
+ const resolved = await runBestEffort(input.logger ?? noopLogger, 'resolve binary-generator credentials', () => resolver.resolve({
76
163
  workspaceId: input.workspaceId,
77
164
  ...(input.blockId ? { blockId: input.blockId } : {}),
78
- subject: { kind: 'binary-generator', id: generator.id },
79
- // The credential is declared with no `header`, so the default env-var channel applies
80
- // an integration is called by the AGENT's own code, not by a client we configure, so a
165
+ subject: { kind: 'binary-generator', id: plan.generator.id },
166
+ // The credentials are declared with no `header`, so the default env-var channel applies.
167
+ // An integration is called by the AGENT's own code, not by a client we configure, so a
81
168
  // header template would be a shape nothing here could act on. `required` rides the
82
169
  // declaration for the BRIEF's benefit, not this resolver's: the disposition for a missing
83
170
  // key is stated to the agent, never enforced by dropping something silently here.
84
- keys: [{ key }],
85
- }), { binaryGeneratorId: generator.id });
86
- const value = resolved?.[key];
87
- if (value)
88
- return value;
89
- // An unresolved credential is reported at the severity its DECLARATION earns, because the two
90
- // cases need different reactions and a single severity would train an operator to ignore both.
91
- // A required key that did not resolve is a misconfiguration that will cost this step its
92
- // integration; an optional one is a state the deployment declared as normal, so reporting it as
93
- // a warning would be crying wolf about a working endpoint.
94
- if (generator.credentialRequired === false) {
95
- input.logger?.debug('binary-generator optional credential did not resolve; the agent is told to call it unauthenticated', { binaryGeneratorId: generator.id, credentialKey: key });
96
- return undefined;
171
+ keys,
172
+ }), { binaryGeneratorId: plan.generator.id });
173
+ const pairs = [];
174
+ for (const planned of plan.credentials) {
175
+ const value = resolved?.[planned.key];
176
+ if (value) {
177
+ pairs.push({ key: planned.envName, value });
178
+ continue;
179
+ }
180
+ reportUnresolved(input, plan.generator, planned);
181
+ }
182
+ return pairs;
183
+ }
184
+ /**
185
+ * An unresolved credential reported at the severity its DECLARATION earns.
186
+ *
187
+ * The two cases need different reactions and a single severity would train an operator to ignore
188
+ * both. A required key that did not resolve is a misconfiguration that will cost this step its
189
+ * integration; an optional one is a state the deployment declared as normal, so reporting it as a
190
+ * warning would be crying wolf about a working endpoint.
191
+ */
192
+ function reportUnresolved(input, generator, planned) {
193
+ if (planned.credential.required === false) {
194
+ input.logger?.debug('binary-generator optional credential did not resolve; the agent is told to call it without that value', { binaryGeneratorId: generator.id, credentialKey: planned.key });
195
+ return;
97
196
  }
98
- input.logger?.warn('binary-generator credential did not resolve; the agent is told the integration is unavailable', { binaryGeneratorId: generator.id, credentialKey: key });
99
- return undefined;
197
+ input.logger?.warn('binary-generator credential did not resolve; the agent is told the integration is unavailable', { binaryGeneratorId: generator.id, credentialKey: planned.key });
100
198
  }
101
199
  //# sourceMappingURL=binaryGenerators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binaryGenerators.js","sourceRoot":"","sources":["../../src/agents/binaryGenerators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binaryGenerators.js","sourceRoot":"","sources":["../../src/agents/binaryGenerators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"declaredCredentials.d.ts","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/declaredCredentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAExE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EACV,uBAAuB,EAEvB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAkB/B,2FAA2F;AAC3F,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,aAAa,GAAG,kBAAkB,CAAA;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,4BAA4B,EAAE,CAAA;IACxC;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC9C,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,qFAAqF;IACrF,gBAAgB,EAAE,qBAAqB,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oFAAoF;AACpF,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,6BAA6B,CAAC,CAiExC;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,YAAY,EAAE,6BAA6B,CAAA;IAC3C,MAAM,EAAE,uBAAuB,EAAE,CAAA;IACjC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,yBAAyB,CA0C5B"}
1
+ {"version":3,"file":"declaredCredentials.d.ts","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/declaredCredentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAExE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EACV,uBAAuB,EAEvB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAkB/B,2FAA2F;AAC3F,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,aAAa,GAAG,kBAAkB,CAAA;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,4BAA4B,EAAE,CAAA;IACxC;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC9C,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,qFAAqF;IACrF,gBAAgB,EAAE,qBAAqB,CAAA;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,oFAAoF;AACpF,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,6BAA6B,CAAC,CAoExC;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,YAAY,EAAE,6BAA6B,CAAA;IAC3C,MAAM,EAAE,uBAAuB,EAAE,CAAA;IACjC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,yBAAyB,CA0C5B"}
@@ -48,17 +48,19 @@ export async function collectDeclaredCapabilityCredentials(input) {
48
48
  // be short" instead of "nothing needs a credential".
49
49
  const views = await runBestEffort(input.logger ?? noopLogger, 'read generative integrations for the credential checklist', () => input.binaryGenerators.views());
50
50
  for (const view of views ?? []) {
51
- const credential = view.credential;
52
- if (!credential)
53
- continue;
54
- push({
55
- subject: 'binary-generator',
56
- id: view.id,
57
- label: view.name,
58
- key: credential.key,
59
- ...(credential.usage ? { usage: credential.usage } : {}),
60
- required: credential.required !== false,
61
- });
51
+ // Every credential the integration declares, not one: a vendor authenticating with a
52
+ // key/secret pair gives the operator two values in its own console, and a checklist offering
53
+ // one row for them is a form that cannot be filled in correctly.
54
+ for (const credential of view.credentials) {
55
+ push({
56
+ subject: 'binary-generator',
57
+ id: view.id,
58
+ label: view.name,
59
+ key: credential.key,
60
+ ...(credential.usage ? { usage: credential.usage } : {}),
61
+ required: credential.required !== false,
62
+ });
63
+ }
62
64
  }
63
65
  return { declared, incomplete: views === undefined };
64
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"declaredCredentials.js","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/declaredCredentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declaredCredentials.js","sourceRoot":"","sources":["../../../src/modules/capabilityCredentials/declaredCredentials.ts"],"names":[],"mappings":"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"}