@cat-factory/contracts 0.317.0 → 0.319.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.
Files changed (59) hide show
  1. package/dist/api-keys.d.ts +5 -5
  2. package/dist/api-keys.d.ts.map +1 -1
  3. package/dist/api-keys.js +6 -3
  4. package/dist/api-keys.js.map +1 -1
  5. package/dist/binary-generators.d.ts +10 -127
  6. package/dist/binary-generators.d.ts.map +1 -1
  7. package/dist/binary-generators.js +10 -92
  8. package/dist/binary-generators.js.map +1 -1
  9. package/dist/binary-outputs.d.ts +44 -0
  10. package/dist/binary-outputs.d.ts.map +1 -1
  11. package/dist/binary-outputs.js +22 -0
  12. package/dist/binary-outputs.js.map +1 -1
  13. package/dist/capability-credentials.d.ts +142 -2
  14. package/dist/capability-credentials.d.ts.map +1 -1
  15. package/dist/capability-credentials.js +167 -1
  16. package/dist/capability-credentials.js.map +1 -1
  17. package/dist/execution.d.ts +2 -0
  18. package/dist/execution.d.ts.map +1 -1
  19. package/dist/foundational-services.d.ts +88 -2
  20. package/dist/foundational-services.d.ts.map +1 -1
  21. package/dist/foundational-services.js +62 -2
  22. package/dist/foundational-services.js.map +1 -1
  23. package/dist/modelPolicy.d.ts +1 -1
  24. package/dist/modelPolicy.js +1 -1
  25. package/dist/platform-assets.d.ts +22 -0
  26. package/dist/platform-assets.d.ts.map +1 -1
  27. package/dist/platform-assets.js +24 -0
  28. package/dist/platform-assets.js.map +1 -1
  29. package/dist/reserved-env-keys.d.ts.map +1 -1
  30. package/dist/reserved-env-keys.js +16 -2
  31. package/dist/reserved-env-keys.js.map +1 -1
  32. package/dist/routes/accounts.d.ts +4 -4
  33. package/dist/routes/agent-runs.d.ts +2 -0
  34. package/dist/routes/agent-runs.d.ts.map +1 -1
  35. package/dist/routes/api-keys.d.ts +8 -8
  36. package/dist/routes/bug-hunt.d.ts +2 -0
  37. package/dist/routes/bug-hunt.d.ts.map +1 -1
  38. package/dist/routes/capability-credentials.d.ts +3 -3
  39. package/dist/routes/execution.d.ts +9 -0
  40. package/dist/routes/execution.d.ts.map +1 -1
  41. package/dist/routes/foundational-services.d.ts +38 -2
  42. package/dist/routes/foundational-services.d.ts.map +1 -1
  43. package/dist/routes/human-review.d.ts +1 -0
  44. package/dist/routes/human-review.d.ts.map +1 -1
  45. package/dist/routes/human-test.d.ts +5 -0
  46. package/dist/routes/human-test.d.ts.map +1 -1
  47. package/dist/routes/runners.d.ts +30 -0
  48. package/dist/routes/runners.d.ts.map +1 -1
  49. package/dist/routes/visual-confirm.d.ts +3 -0
  50. package/dist/routes/visual-confirm.d.ts.map +1 -1
  51. package/dist/routes/workspaces.d.ts +2 -0
  52. package/dist/routes/workspaces.d.ts.map +1 -1
  53. package/dist/runners.d.ts +208 -0
  54. package/dist/runners.d.ts.map +1 -1
  55. package/dist/runners.js +45 -0
  56. package/dist/runners.js.map +1 -1
  57. package/dist/snapshot.d.ts +1 -0
  58. package/dist/snapshot.d.ts.map +1 -1
  59. package/package.json +1 -1
@@ -3,14 +3,14 @@ import * as v from 'valibot';
3
3
  export declare const apiKeyScopeSchema: v.PicklistSchema<["account", "workspace", "user"], undefined>;
4
4
  export type ApiKeyScope = v.InferOutput<typeof apiKeyScopeSchema>;
5
5
  /** The direct providers that own a poolable API key. */
6
- export declare const apiKeyProviderSchema: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "litellm"], undefined>;
6
+ export declare const apiKeyProviderSchema: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "bifrost", "litellm"], undefined>;
7
7
  export type ApiKeyProvider = v.InferOutput<typeof apiKeyProviderSchema>;
8
8
  /** One pool key as exposed to clients — metadata + usage, never the secret. */
9
9
  export declare const apiKeySchema: v.ObjectSchema<{
10
10
  readonly id: v.StringSchema<undefined>;
11
11
  readonly scope: v.PicklistSchema<["account", "workspace", "user"], undefined>;
12
12
  readonly scopeId: v.StringSchema<undefined>;
13
- readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "litellm"], undefined>;
13
+ readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "bifrost", "litellm"], undefined>;
14
14
  readonly label: v.StringSchema<undefined>;
15
15
  readonly createdAt: v.NumberSchema<undefined>;
16
16
  readonly lastUsedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
@@ -31,7 +31,7 @@ export declare const apiKeyListSchema: v.ArraySchema<v.ObjectSchema<{
31
31
  readonly id: v.StringSchema<undefined>;
32
32
  readonly scope: v.PicklistSchema<["account", "workspace", "user"], undefined>;
33
33
  readonly scopeId: v.StringSchema<undefined>;
34
- readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "litellm"], undefined>;
34
+ readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "bifrost", "litellm"], undefined>;
35
35
  readonly label: v.StringSchema<undefined>;
36
36
  readonly createdAt: v.NumberSchema<undefined>;
37
37
  readonly lastUsedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
@@ -54,7 +54,7 @@ export declare const apiKeyListResultSchema: v.ObjectSchema<{
54
54
  readonly id: v.StringSchema<undefined>;
55
55
  readonly scope: v.PicklistSchema<["account", "workspace", "user"], undefined>;
56
56
  readonly scopeId: v.StringSchema<undefined>;
57
- readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "litellm"], undefined>;
57
+ readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "bifrost", "litellm"], undefined>;
58
58
  readonly label: v.StringSchema<undefined>;
59
59
  readonly createdAt: v.NumberSchema<undefined>;
60
60
  readonly lastUsedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
@@ -74,7 +74,7 @@ export declare const apiKeyListResultSchema: v.ObjectSchema<{
74
74
  export type ApiKeyListResult = v.InferOutput<typeof apiKeyListResultSchema>;
75
75
  /** Add a key to a pool. `key` is write-only (the raw secret). */
76
76
  export declare const addApiKeySchema: v.ObjectSchema<{
77
- readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "litellm"], undefined>;
77
+ readonly provider: v.PicklistSchema<["openai", "anthropic", "qwen", "deepseek", "moonshot", "xai", "openrouter", "bifrost", "litellm"], undefined>;
78
78
  readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
79
79
  readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
80
80
  }, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../src/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B,6CAA6C;AAC7C,eAAO,MAAM,iBAAiB,+DAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,sHAY/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,+EAA+E;AAC/E,eAAO,MAAM,YAAY;;;;;;;;IAQvB,0EAA0E;;;;IAI1E;uFACmF;;IAEnF;;gGAE4F;;aAE5F,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAEvD,eAAO,MAAM,gBAAgB;;;;;;;;IAd3B,0EAA0E;;;;IAI1E;uFACmF;;IAEnF;;gGAE4F;;yBAKzC,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,wFAAwF;AACxF,eAAO,MAAM,sBAAsB;;;;;;;;;QAlBjC,0EAA0E;;;;QAI1E;2FACmF;;QAEnF;;oGAE4F;;;aASpB,CAAA;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;aAI1B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAElE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;aAG7B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../src/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B,6CAA6C;AAC7C,eAAO,MAAM,iBAAiB,+DAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,iIAe/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,+EAA+E;AAC/E,eAAO,MAAM,YAAY;;;;;;;;IAQvB,0EAA0E;;;;IAI1E;uFACmF;;IAEnF;;gGAE4F;;aAE5F,CAAA;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,YAAY,CAAC,CAAA;AAEvD,eAAO,MAAM,gBAAgB;;;;;;;;IAd3B,0EAA0E;;;;IAI1E;uFACmF;;IAEnF;;gGAE4F;;yBAKzC,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,wFAAwF;AACxF,eAAO,MAAM,sBAAsB;;;;;;;;;QAlBjC,0EAA0E;;;;QAI1E;2FACmF;;QAEnF;;oGAE4F;;;aASpB,CAAA;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;aAI1B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAA;AAElE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;aAG7B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
package/dist/api-keys.js CHANGED
@@ -20,10 +20,13 @@ export const apiKeyProviderSchema = v.picklist([
20
20
  'deepseek',
21
21
  'moonshot',
22
22
  'xai',
23
- // OpenAI-compatible aggregator/gateway providers: OpenRouter (a single hosted gateway
24
- // to 300+ models) and LiteLLM (an operator-hosted gateway; its base URL comes from the
25
- // deployment's LITELLM_BASE_URL). Both resolve via the shared OpenAI-compatible path.
23
+ // OpenAI-compatible aggregator/gateway providers, all resolving via the shared
24
+ // OpenAI-compatible path: OpenRouter (a single hosted gateway to 300+ models), and the two
25
+ // operator-hosted gateways, Bifrost and LiteLLM, whose base URL comes from the deployment's
26
+ // `BIFROST_BASE_URL` / `LITELLM_BASE_URL` (self-hosted software, so there is no public
27
+ // endpoint to default to and a key here stays unselectable until the URL is set).
26
28
  'openrouter',
29
+ 'bifrost',
27
30
  'litellm',
28
31
  ]);
29
32
  /** One pool key as exposed to clients — metadata + usage, never the secret. */
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../src/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,0CAA0C;AAC1C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAE9E,6CAA6C;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;AAG7E,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7C,QAAQ;IACR,WAAW;IACX,MAAM;IACN,UAAU;IACV,UAAU;IACV,KAAK;IACL,sFAAsF;IACtF,uFAAuF;IACvF,sFAAsF;IACtF,YAAY;IACZ,SAAS;CACV,CAAC,CAAA;AAGF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,0EAA0E;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB;uFACmF;IACnF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB;;gGAE4F;IAC5F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AAGrD,wFAAwF;AACxF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAG1E,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAClD,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACnC,CAAC,CAAA"}
1
+ {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../src/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,0CAA0C;AAC1C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAE9E,6CAA6C;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;AAG7E,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7C,QAAQ;IACR,WAAW;IACX,MAAM;IACN,UAAU;IACV,UAAU;IACV,KAAK;IACL,+EAA+E;IAC/E,2FAA2F;IAC3F,4FAA4F;IAC5F,uFAAuF;IACvF,kFAAkF;IAClF,YAAY;IACZ,SAAS;IACT,SAAS;CACV,CAAC,CAAA;AAGF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,iBAAiB;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,0EAA0E;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB;uFACmF;IACnF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB;;gGAE4F;IAC5F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AAGrD,wFAAwF;AACxF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAG1E,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAClD,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACnC,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import * as v from 'valibot';
2
+ import { type CapabilityCredential } from './capability-credentials.js';
2
3
  /**
3
4
  * The registry id of the ONE integration the platform itself ships: Google's Gemini image models,
4
5
  * defined in `@cat-factory/binary-generators` and installed by every facade's default registry.
@@ -15,106 +16,23 @@ import * as v from 'valibot';
15
16
  */
16
17
  export declare const NANO_BANANA_GENERATOR_ID = "nano-banana";
17
18
  /**
18
- * ONE credential a generative integration needs, declared by NAME only, never a value.
19
+ * The credential declaration a generative integration uses: the shared
20
+ * {@link capabilityCredentialSchema}, unchanged.
19
21
  *
20
- * The value is resolved per dispatch through the facade-wired `ToolSecretResolver` port (the
21
- * same port a tool server's credentials go through) and written straight onto the job body,
22
- * where the harness injects it into THIS JOB's agent environment. It never reaches
23
- * `AgentRunContext`, a prompt, or the telemetry snapshot: only the key NAME does, because the
24
- * agent has to know which variable to read.
25
- *
26
- * An integration declares a LIST of these ({@link binaryGeneratorDefinitionSchema}'s
27
- * `credentials`), because a vendor's account is not always one string. HTTP Basic over a
28
- * key/secret pair is the ordinary case that breaks a single field, and it is common enough to be
29
- * a shape rather than one vendor's eccentricity. Under one field the two halves have to be
30
- * colon-joined into a single variable, which rotates them together, hands the operator one
31
- * checklist row where their vendor console shows two values, and turns a mis-joined value into a
32
- * 401 indistinguishable from a wrong key.
22
+ * An ALIAS rather than a copy, and named here because the brief, the picker and the checklist all
23
+ * speak of "the integration's credentials". The shape moved out when a foundational STORAGE
24
+ * service needed the same declaration: the two names a credential carries, and the reserved-key
25
+ * and toolchain floors over them, are properties of the injection CHANNEL rather than of what
26
+ * declared it, and a second copy is the first place two declarers could disagree about a reserved
27
+ * key.
33
28
  */
34
29
  export declare const binaryGeneratorCredentialSchema: v.ObjectSchema<{
35
- /**
36
- * The credential's LOOKUP key: what the secret resolver is asked for, and what a workspace
37
- * stores its own value under. Also the ENVIRONMENT VARIABLE the agent reads it from unless
38
- * {@link envName} says otherwise, so it must be a valid POSIX variable name either way: a
39
- * generator declaring `x-rd-token` would resolve fine and then be dropped by the harness's env
40
- * validation, which is a silent "the integration just 401s" at run time.
41
- *
42
- * It may NOT name a variable the platform's own configuration owns
43
- * ({@link isReservedPlatformEnvKey}). The resolver reads the key off the deployment's
44
- * environment and the value is injected into an agent process, so an integration declaring
45
- * `ENCRYPTION_KEY` would hand a prompt-injectable agent the deployment's master sealing key.
46
- * Refused here so a deployment learns at boot, and again at dispatch, since a mothership-mode
47
- * node boot-validates none of the definitions it resolves.
48
- */
49
30
  readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name">, v.CheckAction<string, (issue: v.CheckIssue<string>) => string>]>;
50
- /**
51
- * The environment variable the value is injected as, when that differs from {@link key}. This
52
- * is the name the agent is told to read, and it is what a vendor SDK that auto-reads its own
53
- * documented variable needs.
54
- *
55
- * Held to the toolchain rule rather than the reserved-platform one, because it reads nothing:
56
- * the floor above is about what may be READ off the deployment's environment, and an injection
57
- * name only decides what a variable is called inside this job's agent process. That is what lets
58
- * an integration keep a vendor's documented name even when a platform prefix family covers it.
59
- */
60
31
  readonly envName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name">, v.CheckAction<string, (issue: v.CheckIssue<string>) => string>]>, undefined>;
61
- /**
62
- * How the integration expects the credential to be presented (`X-RD-Token: <value>`,
63
- * `Authorization: Bearer <value>`). Folded into the brief verbatim: the agent writes the
64
- * request itself, and a key with no stated header is a key it has to guess the use of.
65
- */
66
32
  readonly usage: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 400, undefined>]>, undefined>;
67
- /**
68
- * When true (the default), an integration whose credential does not resolve is reported to
69
- * the agent as UNAVAILABLE rather than offered. Set false only for an endpoint that genuinely
70
- * works unauthenticated — an agent handed an API whose first call 401s burns a run
71
- * discovering it.
72
- */
73
33
  readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
74
34
  }, undefined>;
75
- export type BinaryGeneratorCredential = v.InferOutput<typeof binaryGeneratorCredentialSchema>;
76
- /**
77
- * The two names a credential carries, which is all the fallback below reads.
78
- *
79
- * Structural rather than {@link BinaryGeneratorCredential} itself, because the DISPATCH projection
80
- * carries a narrower shape (kernel's `ResolvedBinaryGeneratorCredential`, which drops `usage` and
81
- * every other prose field the container executor has no use for) and would otherwise have to
82
- * either widen or re-spell the fallback. A parameter type nothing outside the two names can
83
- * satisfy is what makes the "one place" claim below enforceable rather than aspirational.
84
- */
85
- export interface BinaryCredentialNames {
86
- key: string;
87
- envName?: string;
88
- }
89
- /**
90
- * The environment variable one credential arrives as: its {@link BinaryGeneratorCredential.envName}
91
- * when it declares one, else its lookup key.
92
- *
93
- * The ONE place that fallback is written, because three layers apply it (the schema's uniqueness
94
- * check below, the dispatch-time resolver that keys the job body, and the brief that tells the
95
- * agent which variable to read) and a copy that drifted would name a variable that is never set:
96
- * an integration reported as unavailable on every run, with nothing to see at either end.
97
- */
98
- export declare function binaryCredentialInjectionName(credential: BinaryCredentialNames): string;
99
- /**
100
- * The form an injection name is COMPARED in, which is not the form it is injected under.
101
- *
102
- * Case-folded, the same way {@link isReservedPlatformEnvKey} folds the lookup key it screens, and
103
- * for the reason that floor has: environment lookup is case-insensitive on Windows, so `ACME_KEY`
104
- * and `acme_key` are two variables in the declaration and one variable in the process that reads
105
- * them. A rule comparing them exactly would call that pair distinct and let one value overwrite
106
- * the other on the one platform where it matters.
107
- */
108
- export declare function comparableCredentialInjectionName(credential: BinaryCredentialNames): string;
109
- /**
110
- * Whether every credential in a declaration arrives as its own variable.
111
- *
112
- * Exported so the boot check and the schema share one implementation rather than agreeing by
113
- * hand. Duplicate LOOKUP keys are deliberately allowed: an integration wanting one stored value
114
- * delivered under two names is odd but honest, and nothing is lost. A duplicate INJECTION name
115
- * loses a value, which is why only that one is refused.
116
- */
117
- export declare function uniqueCredentialInjectionNames(credentials: readonly BinaryGeneratorCredential[]): boolean;
35
+ export type BinaryGeneratorCredential = CapabilityCredential;
118
36
  /**
119
37
  * HOW an integration is reached, which decides what the rest of the definition may say.
120
38
  *
@@ -238,44 +156,9 @@ export declare const binaryGeneratorDefinitionSchema: v.SchemaWithPipe<readonly
238
156
  * half of a pair.
239
157
  */
240
158
  readonly credentials: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
241
- /**
242
- * The credential's LOOKUP key: what the secret resolver is asked for, and what a workspace
243
- * stores its own value under. Also the ENVIRONMENT VARIABLE the agent reads it from unless
244
- * {@link envName} says otherwise, so it must be a valid POSIX variable name either way: a
245
- * generator declaring `x-rd-token` would resolve fine and then be dropped by the harness's env
246
- * validation, which is a silent "the integration just 401s" at run time.
247
- *
248
- * It may NOT name a variable the platform's own configuration owns
249
- * ({@link isReservedPlatformEnvKey}). The resolver reads the key off the deployment's
250
- * environment and the value is injected into an agent process, so an integration declaring
251
- * `ENCRYPTION_KEY` would hand a prompt-injectable agent the deployment's master sealing key.
252
- * Refused here so a deployment learns at boot, and again at dispatch, since a mothership-mode
253
- * node boot-validates none of the definitions it resolves.
254
- */
255
159
  readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name">, v.CheckAction<string, (issue: v.CheckIssue<string>) => string>]>;
256
- /**
257
- * The environment variable the value is injected as, when that differs from {@link key}. This
258
- * is the name the agent is told to read, and it is what a vendor SDK that auto-reads its own
259
- * documented variable needs.
260
- *
261
- * Held to the toolchain rule rather than the reserved-platform one, because it reads nothing:
262
- * the floor above is about what may be READ off the deployment's environment, and an injection
263
- * name only decides what a variable is called inside this job's agent process. That is what lets
264
- * an integration keep a vendor's documented name even when a platform prefix family covers it.
265
- */
266
160
  readonly envName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name">, v.CheckAction<string, (issue: v.CheckIssue<string>) => string>]>, undefined>;
267
- /**
268
- * How the integration expects the credential to be presented (`X-RD-Token: <value>`,
269
- * `Authorization: Bearer <value>`). Folded into the brief verbatim: the agent writes the
270
- * request itself, and a key with no stated header is a key it has to guess the use of.
271
- */
272
161
  readonly usage: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 400, undefined>]>, undefined>;
273
- /**
274
- * When true (the default), an integration whose credential does not resolve is reported to
275
- * the agent as UNAVAILABLE rather than offered. Set false only for an endpoint that genuinely
276
- * works unauthenticated — an agent handed an API whose first call 401s burns a run
277
- * discovering it.
278
- */
279
162
  readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
280
163
  }, undefined>, undefined>, v.MaxLengthAction<{
281
164
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"binary-generators.d.ts","sourceRoot":"","sources":["../src/binary-generators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAkC5B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,gBAAgB,CAAA;AAUrD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,+BAA+B;IAC1C;;;;;;;;;;;;;OAaG;;IAYH;;;;;;;;;OASG;;IAcH;;;;OAIG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAEvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,CAE3F;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,SAAS,yBAAyB,EAAE,GAChD,OAAO,CAGT;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,8BAA8B,iDAAiC,CAAA;AAC5E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B;IAExC,iFAAiF;;;IAGjF,2DAA2D;;IAE3D;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;;;;;OAcG;;IAEH;;;;;;;;;;;;;;OAcG;;;;;;;;;;;;;;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;;;;;;OAeG;;QArOL;;;;;;;;;;;;;WAaG;;QAYH;;;;;;;;;WASG;;QAcH;;;;WAIG;;QAEH;;;;;WAKG;;;;;;;;;;;;;IA2LD;;;;OAIG;;;;;;;IAEH;;;OAGG;;IAEH;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHA0BN,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,wBAAwB,CAAA;CAAE,GAAG,OAAO,CAE7F;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B;;;;IAI1C,0FAA0F;;IAE1F,gGAAgG;;IAEhG;;;;;;;;;OASG;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;IAEH;;;;;;;;OAQG;;;aAGH,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,CAO7E"}
1
+ {"version":3,"file":"binary-generators.d.ts","sourceRoot":"","sources":["../src/binary-generators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,KAAK,oBAAoB,EAG1B,MAAM,6BAA6B,CAAA;AA4BpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,gBAAgB,CAAA;AAUrD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B;;;;;aAA6B,CAAA;AACzE,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,CAAA;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,8BAA8B,iDAAiC,CAAA;AAC5E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B;IAExC,iFAAiF;;;IAGjF,2DAA2D;;IAE3D;;;OAGG;;IAEH;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;;;;;OAcG;;IAEH;;;;;;;;;;;;;;OAcG;;;;;;;;;;;;;;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;;;;;;;;;;OAeG;;;;;;;;;;;;;;;;;IAiBH;;;;OAIG;;;;;;;IAEH;;;OAGG;;IAEH;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iHA0BN,CAAA;AACD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,wBAAwB,CAAA;CAAE,GAAG,OAAO,CAE7F;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B;;;;IAI1C,0FAA0F;;IAE1F,gGAAgG;;IAEhG;;;;;;;;;OASG;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;IAEH;;;;;;;;OAQG;;;aAGH,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,CAO7E"}
@@ -1,8 +1,8 @@
1
1
  import * as v from 'valibot';
2
+ import { capabilityCredentialSchema, uniqueCredentialInjectionNames, } from './capability-credentials.js';
2
3
  import { binaryGeneratorAcceptsSchema, binaryGeneratorCapabilitySchema, } from './binary-capabilities.js';
3
4
  import { binaryModalitySchema, mediaTypeSchema } from './binary-modalities.js';
4
5
  import { uploadApiContractSchema } from './foundational-services.js';
5
- import { isReservedPlatformEnvKey, isToolchainEnvName, reservedEnvKeyMessage, toolchainEnvNameMessage, } from './reserved-env-keys.js';
6
6
  // ---------------------------------------------------------------------------
7
7
  // Wire vocabulary for GENERATIVE BINARY INTEGRATIONS — the third-party (or in-house) APIs a
8
8
  // binary-generating agent kind calls to PRODUCE its deliverable: an image generator, a
@@ -39,99 +39,17 @@ import { isReservedPlatformEnvKey, isToolchainEnvName, reservedEnvKeyMessage, to
39
39
  export const NANO_BANANA_GENERATOR_ID = 'nano-banana';
40
40
  const slug = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(64), v.regex(/^[a-z0-9][a-z0-9-]*$/, 'must be a lower-kebab slug'));
41
41
  /**
42
- * ONE credential a generative integration needs, declared by NAME only, never a value.
42
+ * The credential declaration a generative integration uses: the shared
43
+ * {@link capabilityCredentialSchema}, unchanged.
43
44
  *
44
- * The value is resolved per dispatch through the facade-wired `ToolSecretResolver` port (the
45
- * same port a tool server's credentials go through) and written straight onto the job body,
46
- * where the harness injects it into THIS JOB's agent environment. It never reaches
47
- * `AgentRunContext`, a prompt, or the telemetry snapshot: only the key NAME does, because the
48
- * agent has to know which variable to read.
49
- *
50
- * An integration declares a LIST of these ({@link binaryGeneratorDefinitionSchema}'s
51
- * `credentials`), because a vendor's account is not always one string. HTTP Basic over a
52
- * key/secret pair is the ordinary case that breaks a single field, and it is common enough to be
53
- * a shape rather than one vendor's eccentricity. Under one field the two halves have to be
54
- * colon-joined into a single variable, which rotates them together, hands the operator one
55
- * checklist row where their vendor console shows two values, and turns a mis-joined value into a
56
- * 401 indistinguishable from a wrong key.
57
- */
58
- export const binaryGeneratorCredentialSchema = v.object({
59
- /**
60
- * The credential's LOOKUP key: what the secret resolver is asked for, and what a workspace
61
- * stores its own value under. Also the ENVIRONMENT VARIABLE the agent reads it from unless
62
- * {@link envName} says otherwise, so it must be a valid POSIX variable name either way: a
63
- * generator declaring `x-rd-token` would resolve fine and then be dropped by the harness's env
64
- * validation, which is a silent "the integration just 401s" at run time.
65
- *
66
- * It may NOT name a variable the platform's own configuration owns
67
- * ({@link isReservedPlatformEnvKey}). The resolver reads the key off the deployment's
68
- * environment and the value is injected into an agent process, so an integration declaring
69
- * `ENCRYPTION_KEY` would hand a prompt-injectable agent the deployment's master sealing key.
70
- * Refused here so a deployment learns at boot, and again at dispatch, since a mothership-mode
71
- * node boot-validates none of the definitions it resolves.
72
- */
73
- key: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(128), v.regex(/^[A-Za-z_][A-Za-z0-9_]*$/, 'must be a valid environment variable name'), v.check((key) => !isReservedPlatformEnvKey(key), (issue) => reservedEnvKeyMessage(String(issue.input)))),
74
- /**
75
- * The environment variable the value is injected as, when that differs from {@link key}. This
76
- * is the name the agent is told to read, and it is what a vendor SDK that auto-reads its own
77
- * documented variable needs.
78
- *
79
- * Held to the toolchain rule rather than the reserved-platform one, because it reads nothing:
80
- * the floor above is about what may be READ off the deployment's environment, and an injection
81
- * name only decides what a variable is called inside this job's agent process. That is what lets
82
- * an integration keep a vendor's documented name even when a platform prefix family covers it.
83
- */
84
- envName: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(128), v.regex(/^[A-Za-z_][A-Za-z0-9_]*$/, 'must be a valid environment variable name'), v.check((name) => !isToolchainEnvName(name), (issue) => toolchainEnvNameMessage(String(issue.input))))),
85
- /**
86
- * How the integration expects the credential to be presented (`X-RD-Token: <value>`,
87
- * `Authorization: Bearer <value>`). Folded into the brief verbatim: the agent writes the
88
- * request itself, and a key with no stated header is a key it has to guess the use of.
89
- */
90
- usage: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(400))),
91
- /**
92
- * When true (the default), an integration whose credential does not resolve is reported to
93
- * the agent as UNAVAILABLE rather than offered. Set false only for an endpoint that genuinely
94
- * works unauthenticated — an agent handed an API whose first call 401s burns a run
95
- * discovering it.
96
- */
97
- required: v.optional(v.boolean()),
98
- });
99
- /**
100
- * The environment variable one credential arrives as: its {@link BinaryGeneratorCredential.envName}
101
- * when it declares one, else its lookup key.
102
- *
103
- * The ONE place that fallback is written, because three layers apply it (the schema's uniqueness
104
- * check below, the dispatch-time resolver that keys the job body, and the brief that tells the
105
- * agent which variable to read) and a copy that drifted would name a variable that is never set:
106
- * an integration reported as unavailable on every run, with nothing to see at either end.
107
- */
108
- export function binaryCredentialInjectionName(credential) {
109
- return credential.envName ?? credential.key;
110
- }
111
- /**
112
- * The form an injection name is COMPARED in, which is not the form it is injected under.
113
- *
114
- * Case-folded, the same way {@link isReservedPlatformEnvKey} folds the lookup key it screens, and
115
- * for the reason that floor has: environment lookup is case-insensitive on Windows, so `ACME_KEY`
116
- * and `acme_key` are two variables in the declaration and one variable in the process that reads
117
- * them. A rule comparing them exactly would call that pair distinct and let one value overwrite
118
- * the other on the one platform where it matters.
119
- */
120
- export function comparableCredentialInjectionName(credential) {
121
- return binaryCredentialInjectionName(credential).toUpperCase();
122
- }
123
- /**
124
- * Whether every credential in a declaration arrives as its own variable.
125
- *
126
- * Exported so the boot check and the schema share one implementation rather than agreeing by
127
- * hand. Duplicate LOOKUP keys are deliberately allowed: an integration wanting one stored value
128
- * delivered under two names is odd but honest, and nothing is lost. A duplicate INJECTION name
129
- * loses a value, which is why only that one is refused.
45
+ * An ALIAS rather than a copy, and named here because the brief, the picker and the checklist all
46
+ * speak of "the integration's credentials". The shape moved out when a foundational STORAGE
47
+ * service needed the same declaration: the two names a credential carries, and the reserved-key
48
+ * and toolchain floors over them, are properties of the injection CHANNEL rather than of what
49
+ * declared it, and a second copy is the first place two declarers could disagree about a reserved
50
+ * key.
130
51
  */
131
- export function uniqueCredentialInjectionNames(credentials) {
132
- const names = credentials.map(comparableCredentialInjectionName);
133
- return new Set(names).size === names.length;
134
- }
52
+ export const binaryGeneratorCredentialSchema = capabilityCredentialSchema;
135
53
  /**
136
54
  * HOW an integration is reached, which decides what the rest of the definition may say.
137
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"binary-generators.js","sourceRoot":"","sources":["../src/binary-generators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-generators.js","sourceRoot":"","sources":["../src/binary-generators.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,28 @@ export declare const binaryOutputArtifactSchema: v.ObjectSchema<{
160
160
  * NAMED in the report rather than dropped.
161
161
  */
162
162
  readonly generator: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
163
+ /**
164
+ * What ran over the generated bytes AFTER the integration produced them and BEFORE they were
165
+ * stored, in the agent's own words (`pixel-snapper`, `sharp resize`).
166
+ *
167
+ * A post-processing pass gives an artifact two producers, and {@link generator} can name only
168
+ * one. Both single answers are wrong: naming the integration records a producer of something
169
+ * that is not what is stored (the bytes are not the ones it returned, and neither are the
170
+ * dimensions), and naming nothing loses the vendor attribution the field exists for, along with
171
+ * the spend story behind it. So the delivery gets its own hole rather than a contested one.
172
+ *
173
+ * A FREE STRING rather than a registry reference, deliberately. A post-processor is not a
174
+ * registered thing and must not become one: `binaryGeneratorCapabilitySchema` admits a member
175
+ * only when it partitions an ENDPOINT's request, and a step's choice to snap a render onto a
176
+ * pixel grid is a property of the WORK, whose home is the step's own prompt. There is nothing to
177
+ * check this against, so it is recorded verbatim (capped) and judged by whoever reads the run,
178
+ * exactly as `location` is. It gets no `unknownGenerators`-style report for the same reason.
179
+ *
180
+ * The same epistemic status as everything else the agent declares here, and the same third
181
+ * state: ABSENT means "not stated", which is what every artifact recorded before this field
182
+ * existed says, and is never evidence that nothing ran.
183
+ */
184
+ readonly processedBy: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
163
185
  /**
164
186
  * The CONTENT TYPE of the artifact, DERIVED in code from {@link contentType} — never read off
165
187
  * the model's prose. Absent when no media type was declared, or when the declared one is not
@@ -231,6 +253,28 @@ export declare const binaryOutputReportSchema: v.ObjectSchema<{
231
253
  * NAMED in the report rather than dropped.
232
254
  */
233
255
  readonly generator: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
256
+ /**
257
+ * What ran over the generated bytes AFTER the integration produced them and BEFORE they were
258
+ * stored, in the agent's own words (`pixel-snapper`, `sharp resize`).
259
+ *
260
+ * A post-processing pass gives an artifact two producers, and {@link generator} can name only
261
+ * one. Both single answers are wrong: naming the integration records a producer of something
262
+ * that is not what is stored (the bytes are not the ones it returned, and neither are the
263
+ * dimensions), and naming nothing loses the vendor attribution the field exists for, along with
264
+ * the spend story behind it. So the delivery gets its own hole rather than a contested one.
265
+ *
266
+ * A FREE STRING rather than a registry reference, deliberately. A post-processor is not a
267
+ * registered thing and must not become one: `binaryGeneratorCapabilitySchema` admits a member
268
+ * only when it partitions an ENDPOINT's request, and a step's choice to snap a render onto a
269
+ * pixel grid is a property of the WORK, whose home is the step's own prompt. There is nothing to
270
+ * check this against, so it is recorded verbatim (capped) and judged by whoever reads the run,
271
+ * exactly as `location` is. It gets no `unknownGenerators`-style report for the same reason.
272
+ *
273
+ * The same epistemic status as everything else the agent declares here, and the same third
274
+ * state: ABSENT means "not stated", which is what every artifact recorded before this field
275
+ * existed says, and is never evidence that nothing ran.
276
+ */
277
+ readonly processedBy: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
234
278
  /**
235
279
  * The CONTENT TYPE of the artifact, DERIVED in code from {@link contentType} — never read off
236
280
  * the model's prose. Absent when no media type was declared, or when the declared one is not
@@ -1 +1 @@
1
- {"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyB5B;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;IAEH;;;;;;;;;;;;;;;OAeG;;IAEH;;;;;;;;;OASG;;;;;aAEH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,+FAA+F;AAC/F,eAAO,MAAM,0BAA0B;IACrC;;;;;OAKG;;IAEH;;;OAGG;;IAEH,8FAA8F;;IAE9F,uEAAuE;;IAEvE,oDAAoD;;IAEpD;;;;;;;;;;;;;;OAcG;;;;;IAEH;;;;;;OAMG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB;;QAnEnC;;;;;WAKG;;QAEH;;;WAGG;;QAEH,8FAA8F;;QAE9F,uEAAuE;;QAEvE,oDAAoD;;QAEpD;;;;;;;;;;;;;;WAcG;;;;;QAEH;;;;;;WAMG;;QAEH;;;;;WAKG;;;IAsBH,0FAA0F;;IAE1F;;;;;;OAMG;;IAEH;;;;;;;;OAQG;;IAEH,2FAA2F;;IAE3F,qDAAqD;;IAErD,0FAA0F;;IAE1F,qEAAqE;;aAErE,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
1
+ {"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyB5B;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;IACnC;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;OASG;;IAEH;;;;;;;;;;OAUG;;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;IAEH;;;;;;;;;;;;;;;OAeG;;IAEH;;;;;;;;;OASG;;;;;aAEH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,+FAA+F;AAC/F,eAAO,MAAM,0BAA0B;IACrC;;;;;OAKG;;IAEH;;;OAGG;;IAEH,8FAA8F;;IAE9F,uEAAuE;;IAEvE,oDAAoD;;IAEpD;;;;;;;;;;;;;;OAcG;;;;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;;;;;;;;;;;;OAoBG;;IAEH;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB;;QAzFnC;;;;;WAKG;;QAEH;;;WAGG;;QAEH,8FAA8F;;QAE9F,uEAAuE;;QAEvE,oDAAoD;;QAEpD;;;;;;;;;;;;;;WAcG;;;;;QAEH;;;;;;WAMG;;QAEH;;;;;;;;;;;;;;;;;;;;WAoBG;;QAEH;;;;;WAKG;;;IAsBH,0FAA0F;;IAE1F;;;;;;OAMG;;IAEH;;;;;;;;OAQG;;IAEH,2FAA2F;;IAE3F,qDAAqD;;IAErD,0FAA0F;;IAE1F,qEAAqE;;aAErE,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
@@ -168,6 +168,28 @@ export const binaryOutputArtifactSchema = v.object({
168
168
  * NAMED in the report rather than dropped.
169
169
  */
170
170
  generator: v.optional(v.string()),
171
+ /**
172
+ * What ran over the generated bytes AFTER the integration produced them and BEFORE they were
173
+ * stored, in the agent's own words (`pixel-snapper`, `sharp resize`).
174
+ *
175
+ * A post-processing pass gives an artifact two producers, and {@link generator} can name only
176
+ * one. Both single answers are wrong: naming the integration records a producer of something
177
+ * that is not what is stored (the bytes are not the ones it returned, and neither are the
178
+ * dimensions), and naming nothing loses the vendor attribution the field exists for, along with
179
+ * the spend story behind it. So the delivery gets its own hole rather than a contested one.
180
+ *
181
+ * A FREE STRING rather than a registry reference, deliberately. A post-processor is not a
182
+ * registered thing and must not become one: `binaryGeneratorCapabilitySchema` admits a member
183
+ * only when it partitions an ENDPOINT's request, and a step's choice to snap a render onto a
184
+ * pixel grid is a property of the WORK, whose home is the step's own prompt. There is nothing to
185
+ * check this against, so it is recorded verbatim (capped) and judged by whoever reads the run,
186
+ * exactly as `location` is. It gets no `unknownGenerators`-style report for the same reason.
187
+ *
188
+ * The same epistemic status as everything else the agent declares here, and the same third
189
+ * state: ABSENT means "not stated", which is what every artifact recorded before this field
190
+ * existed says, and is never evidence that nothing ran.
191
+ */
192
+ processedBy: v.optional(v.string()),
171
193
  /**
172
194
  * The CONTENT TYPE of the artifact, DERIVED in code from {@link contentType} — never read off
173
195
  * the model's prose. Absent when no media type was declared, or when the declared one is not
@@ -1 +1 @@
1
- {"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../src/binary-outputs.ts"],"names":[],"mappings":"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"}