@restormel/testing-keys-adapter 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) Allotment Technology Ltd
3
+ Copyright (c) 2026 Adam Boon
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAoB,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAuClH;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAmFhC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAoB,qBAAqB,EAAiB,MAAM,YAAY,CAAC;AAwClH;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAgGhC"}
package/dist/adapter.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { keysHttpBearerFromProcessEnv } from "./env-from-process.js";
1
2
  import { createHttpKeysTransport } from "./transport-http.js";
2
3
  import { readSecretFromEnv } from "./materialize.js";
3
4
  const REF_PREFIX = "ref:restormel-keys:";
@@ -37,14 +38,19 @@ export async function resolveModel(logicalRef, options = {}) {
37
38
  (options.keysApiBaseUrl
38
39
  ? createHttpKeysTransport({
39
40
  baseUrl: options.keysApiBaseUrl,
40
- getKeysApiToken: options.keysApiTokenEnvVar
41
- ? () => process.env[options.keysApiTokenEnvVar]
42
- : undefined,
41
+ getKeysApiToken: () => keysHttpBearerFromProcessEnv(options.keysApiTokenEnvVar),
43
42
  })
44
43
  : undefined);
45
44
  if (transport) {
46
45
  const tr = await transport.resolve(logicalRef);
47
46
  if (tr.ok) {
47
+ if (tr.inlineApiKey !== undefined && tr.inlineApiKey !== "") {
48
+ return {
49
+ ok: true,
50
+ warnings,
51
+ model: buildResolved(logicalRef, tr.provider, tr.model, tr.model, tr.inlineApiKey, "keys", tr.baseUrl),
52
+ };
53
+ }
48
54
  const mat = readSecretFromEnv(tr.secretEnvVar);
49
55
  if (!mat.ok) {
50
56
  return fail("keys_missing_secret_binding", `Keys resolved model but ${mat.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,21 @@
1
1
  import type { KeysModelAdapterOptions } from "./types.js";
2
+ /**
3
+ * Bearer token for `POST …/v1/testing/resolve-model` from process env.
4
+ * Precedence: `RESTORMEL_KEYS_API_TOKEN_ENV` (if set) → that var; else `RESTORMEL_KEYS_API_TOKEN`;
5
+ * else `RESTORMEL_GATEWAY_KEY`; else `RESTORMEL_SERVER_TOKEN`.
6
+ * Values are never logged by callers.
7
+ */
8
+ export declare function keysHttpBearerFromProcessEnv(keysApiTokenEnvVar?: string): string | undefined;
2
9
  /**
3
10
  * Build Keys adapter options from documented environment variables (CLI, GitHub Action, local).
4
11
  *
5
12
  * | Variable | Purpose |
6
13
  * |----------|---------|
7
- * | `RESTORMEL_KEYS_API_BASE_URL` | Keys HTTP API origin (e.g. `https://keys.example.com`). Enables POST `/v1/testing/resolve-model`. |
8
- * | `RESTORMEL_KEYS_API_TOKEN_ENV` | Optional. Name of env var holding the **Keys API** bearer token (default `RESTORMEL_KEYS_API_TOKEN`). Values are never logged. |
14
+ * | `RESTORMEL_KEYS_API_BASE_URL` | Keys HTTP API origin (e.g. `https://keys.example.com`). Enables POST `/v1/testing/resolve-model`. If unset, `RESTORMEL_KEYS_BASE` is used (same shape: site origin, no path). |
15
+ * | `RESTORMEL_KEYS_BASE` | Canonical site origin when `RESTORMEL_KEYS_API_BASE_URL` is not set. |
16
+ * | `RESTORMEL_KEYS_API_TOKEN_ENV` | Optional. Name of env var holding the **Keys HTTP** bearer token (default `RESTORMEL_KEYS_API_TOKEN`). Values are never logged. |
17
+ * | `RESTORMEL_KEYS_API_TOKEN` | Compatibility alias for the Gateway key on HTTP resolve calls. |
18
+ * | `RESTORMEL_GATEWAY_KEY` / `RESTORMEL_SERVER_TOKEN` | Canonical Gateway key; used when API-token vars are unset. |
9
19
  * | `RESTORMEL_TESTING_OPENAI_FALLBACK` | Set to `1` to allow documented OpenAI-compatible env fallback when Keys is unset or resolution fails (`OPENAI_API_KEY`). |
10
20
  */
11
21
  export declare function keysAdapterOptionsFromProcessEnv(): KeysModelAdapterOptions | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"env-from-process.d.ts","sourceRoot":"","sources":["../src/env-from-process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,IAAI,uBAAuB,GAAG,SAAS,CAmBtF"}
1
+ {"version":3,"file":"env-from-process.d.ts","sourceRoot":"","sources":["../src/env-from-process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,IAAI,uBAAuB,GAAG,SAAS,CAoBtF"}
@@ -1,14 +1,34 @@
1
+ /**
2
+ * Bearer token for `POST …/v1/testing/resolve-model` from process env.
3
+ * Precedence: `RESTORMEL_KEYS_API_TOKEN_ENV` (if set) → that var; else `RESTORMEL_KEYS_API_TOKEN`;
4
+ * else `RESTORMEL_GATEWAY_KEY`; else `RESTORMEL_SERVER_TOKEN`.
5
+ * Values are never logged by callers.
6
+ */
7
+ export function keysHttpBearerFromProcessEnv(keysApiTokenEnvVar) {
8
+ const customName = keysApiTokenEnvVar?.trim();
9
+ if (customName) {
10
+ const fromCustom = process.env[customName]?.trim();
11
+ if (fromCustom)
12
+ return fromCustom;
13
+ }
14
+ return (process.env.RESTORMEL_KEYS_API_TOKEN?.trim() ||
15
+ process.env.RESTORMEL_GATEWAY_KEY?.trim() ||
16
+ process.env.RESTORMEL_SERVER_TOKEN?.trim());
17
+ }
1
18
  /**
2
19
  * Build Keys adapter options from documented environment variables (CLI, GitHub Action, local).
3
20
  *
4
21
  * | Variable | Purpose |
5
22
  * |----------|---------|
6
- * | `RESTORMEL_KEYS_API_BASE_URL` | Keys HTTP API origin (e.g. `https://keys.example.com`). Enables POST `/v1/testing/resolve-model`. |
7
- * | `RESTORMEL_KEYS_API_TOKEN_ENV` | Optional. Name of env var holding the **Keys API** bearer token (default `RESTORMEL_KEYS_API_TOKEN`). Values are never logged. |
23
+ * | `RESTORMEL_KEYS_API_BASE_URL` | Keys HTTP API origin (e.g. `https://keys.example.com`). Enables POST `/v1/testing/resolve-model`. If unset, `RESTORMEL_KEYS_BASE` is used (same shape: site origin, no path). |
24
+ * | `RESTORMEL_KEYS_BASE` | Canonical site origin when `RESTORMEL_KEYS_API_BASE_URL` is not set. |
25
+ * | `RESTORMEL_KEYS_API_TOKEN_ENV` | Optional. Name of env var holding the **Keys HTTP** bearer token (default `RESTORMEL_KEYS_API_TOKEN`). Values are never logged. |
26
+ * | `RESTORMEL_KEYS_API_TOKEN` | Compatibility alias for the Gateway key on HTTP resolve calls. |
27
+ * | `RESTORMEL_GATEWAY_KEY` / `RESTORMEL_SERVER_TOKEN` | Canonical Gateway key; used when API-token vars are unset. |
8
28
  * | `RESTORMEL_TESTING_OPENAI_FALLBACK` | Set to `1` to allow documented OpenAI-compatible env fallback when Keys is unset or resolution fails (`OPENAI_API_KEY`). |
9
29
  */
10
30
  export function keysAdapterOptionsFromProcessEnv() {
11
- const baseUrl = process.env.RESTORMEL_KEYS_API_BASE_URL?.trim();
31
+ const baseUrl = process.env.RESTORMEL_KEYS_API_BASE_URL?.trim() || process.env.RESTORMEL_KEYS_BASE?.trim();
12
32
  const tokenEnvName = process.env.RESTORMEL_KEYS_API_TOKEN_ENV?.trim() || "RESTORMEL_KEYS_API_TOKEN";
13
33
  const fallbackOn = process.env.RESTORMEL_TESTING_OPENAI_FALLBACK?.trim() === "1";
14
34
  const opts = {};
@@ -1 +1 @@
1
- {"version":3,"file":"env-from-process.js","sourceRoot":"","sources":["../src/env-from-process.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAC;IAChE,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,EAAE,IAAI,0BAA0B,CAAC;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;IAEjF,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;IACzC,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"env-from-process.js","sourceRoot":"","sources":["../src/env-from-process.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,kBAA2B;IACtE,MAAM,UAAU,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;QACnD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;IACpC,CAAC;IACD,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE;QACzC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAC3C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gCAAgC;IAC9C,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC7F,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,EAAE,IAAI,0BAA0B,CAAC;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;IAEjF,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;IACzC,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * @restormel/testing-keys-adapter — thin Restormel / Keys resolution seam for Testing (MVP).
3
3
  */
4
4
  export declare const testingKeysAdapterPackage: "@restormel/testing-keys-adapter";
5
- export { keysAdapterOptionsFromProcessEnv } from "./env-from-process.js";
5
+ export { keysAdapterOptionsFromProcessEnv, keysHttpBearerFromProcessEnv } from "./env-from-process.js";
6
6
  export { resolveModel } from "./adapter.js";
7
7
  export { readSecretFromEnv } from "./materialize.js";
8
8
  export { createHttpKeysTransport } from "./transport-http.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAG,iCAA0C,CAAC;AAEpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAG,iCAA0C,CAAC;AAEpF,OAAO,EAAE,gCAAgC,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,GACd,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @restormel/testing-keys-adapter — thin Restormel / Keys resolution seam for Testing (MVP).
3
3
  */
4
4
  export const testingKeysAdapterPackage = "@restormel/testing-keys-adapter";
5
- export { keysAdapterOptionsFromProcessEnv } from "./env-from-process.js";
5
+ export { keysAdapterOptionsFromProcessEnv, keysHttpBearerFromProcessEnv } from "./env-from-process.js";
6
6
  export { resolveModel } from "./adapter.js";
7
7
  export { readSecretFromEnv } from "./materialize.js";
8
8
  export { createHttpKeysTransport } from "./transport-http.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAA0C,CAAC;AAEpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAA0C,CAAC;AAEpF,OAAO,EAAE,gCAAgC,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport-http.d.ts","sourceRoot":"","sources":["../src/transport-http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,uBAAuB,EAA2B,MAAM,YAAY,CAAC;AAehH;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC5C,GAAG,uBAAuB,CAsD1B"}
1
+ {"version":3,"file":"transport-http.d.ts","sourceRoot":"","sources":["../src/transport-http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,uBAAuB,EAA2B,MAAM,YAAY,CAAC;AAehH;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC5C,GAAG,uBAAuB,CAuD1B"}
@@ -2,12 +2,15 @@ function isResolveBody(x) {
2
2
  if (x === null || typeof x !== "object")
3
3
  return false;
4
4
  const o = x;
5
- return (typeof o.provider === "string" &&
6
- typeof o.model === "string" &&
7
- typeof o.secretEnvVar === "string" &&
8
- o.provider.length > 0 &&
9
- o.model.length > 0 &&
10
- o.secretEnvVar.length > 0);
5
+ if (typeof o.provider !== "string" || typeof o.model !== "string" || typeof o.secretEnvVar !== "string") {
6
+ return false;
7
+ }
8
+ if (!o.provider || !o.model || !o.secretEnvVar)
9
+ return false;
10
+ if (o.secretEnvVar === "RESTORMEL_HOSTED_INLINE") {
11
+ return typeof o.inlineApiKey === "string" && o.inlineApiKey.length > 0;
12
+ }
13
+ return true;
11
14
  }
12
15
  /**
13
16
  * Calls Keys over HTTP. Path is versioned under this repo’s adapter until Keys publishes a canonical route.
@@ -65,6 +68,7 @@ export function createHttpKeysTransport(options) {
65
68
  model: body.model,
66
69
  secretEnvVar: body.secretEnvVar,
67
70
  baseUrl: typeof body.baseUrl === "string" ? body.baseUrl : undefined,
71
+ inlineApiKey: typeof body.inlineApiKey === "string" ? body.inlineApiKey : undefined,
68
72
  };
69
73
  },
70
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transport-http.js","sourceRoot":"","sources":["../src/transport-http.ts"],"names":[],"mappings":"AAEA,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,CACL,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAC9B,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;QAClC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAIvC;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,UAAkB;YAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,2BAA2B,CAAC;YAC/C,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;aAC3B,CAAC;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YAC1C,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;YAC5C,CAAC;YACD,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6BAA6B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAClF,KAAK,EAAE,CAAC;iBACT,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9C,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE;oBAC1B,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC/E,CAAC;YACJ,CAAC;YACD,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;YAChH,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aACrE,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"transport-http.js","sourceRoot":"","sources":["../src/transport-http.ts"],"names":[],"mappings":"AAEA,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACxG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,CAAC,CAAC,YAAY,KAAK,yBAAyB,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAIvC;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,UAAkB;YAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,2BAA2B,CAAC;YAC/C,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;aAC3B,CAAC;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;YAC1C,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;YAC5C,CAAC;YACD,IAAI,GAAa,CAAC;YAClB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;iBACrC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6BAA6B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAClF,KAAK,EAAE,CAAC;iBACT,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9C,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE;oBAC1B,OAAO,EAAE,iBAAiB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;iBAC/E,CAAC;YACJ,CAAC;YACD,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;YAChH,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACpE,YAAY,EAAE,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;aACpF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/types.d.ts CHANGED
@@ -10,6 +10,11 @@ export interface KeysHttpResolveResponseBody {
10
10
  secretEnvVar: string;
11
11
  /** Optional OpenAI-compatible API base URL. */
12
12
  baseUrl?: string;
13
+ /**
14
+ * When present (hosted Keys with encrypted Connections), use this value instead of reading secretEnvVar.
15
+ * Never log or persist; TLS only.
16
+ */
17
+ inlineApiKey?: string;
13
18
  }
14
19
  export interface ResolvedModel {
15
20
  /** Safe to log and attach to RunRecord.keysModelMeta. */
@@ -49,6 +54,7 @@ export type KeysTransportResolution = {
49
54
  model: string;
50
55
  secretEnvVar: string;
51
56
  baseUrl?: string;
57
+ inlineApiKey?: string;
52
58
  } | {
53
59
  ok: false;
54
60
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,IAAI,EAAE,aAAa,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC;AAED,MAAM,MAAM,oBAAoB,GAC5B,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,eAAe,GACf,6BAA6B,GAC7B,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE3C,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC/D;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,+FAA+F;IAC/F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,IAAI,EAAE,aAAa,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC;AAED,MAAM,MAAM,oBAAoB,GAC5B,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,eAAe,GACf,6BAA6B,GAC7B,mBAAmB,GACnB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE3C,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC/D;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,+FAA+F;IAC/F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@restormel/testing-keys-adapter",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Restormel / Keys resolution and BYOK execution seam (scaffold).",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "https://github.com/Allotment-Technology-Ltd/restormel-testing.git",
9
- "directory": "packages/keys-adapter"
8
+ "url": "https://github.com/Allotment-Technology-Ltd/restormel-keys.git",
9
+ "directory": "packages/testing-keys-adapter"
10
10
  },
11
11
  "bugs": {
12
- "url": "https://github.com/Allotment-Technology-Ltd/restormel-testing/issues"
12
+ "url": "https://github.com/Allotment-Technology-Ltd/restormel-keys/issues"
13
13
  },
14
- "homepage": "https://github.com/Allotment-Technology-Ltd/restormel-testing/tree/main/packages/keys-adapter#readme",
14
+ "homepage": "https://github.com/Allotment-Technology-Ltd/restormel-testing/tree/main/packages/testing-keys-adapter#readme",
15
15
  "publishConfig": {
16
16
  "access": "public"
17
17
  },
@@ -31,7 +31,7 @@
31
31
  "node": ">=20"
32
32
  },
33
33
  "dependencies": {
34
- "@restormel/testing-core": "0.1.0"
34
+ "@restormel/testing-core": "0.1.4"
35
35
  },
36
36
  "devDependencies": {
37
37
  "typescript": "^5.7.0"