@demicodes/provider 0.10.2 → 0.11.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.
@@ -1,4 +1,4 @@
1
- import { d as ProviderCredentialInfo } from "./types-CYSnFAuT.mjs";
1
+ import { d as ProviderCredentialInfo } from "./types-Uczx0xBQ.mjs";
2
2
  //#region src/credentials-pool.d.ts
3
3
  interface CredentialEntryMeta {
4
4
  id: string;
@@ -117,7 +117,8 @@ var FileCredentialPool = class {
117
117
  }
118
118
  async writeEntry(meta, secretText) {
119
119
  return this.withWriteLock(async () => {
120
- await mkdir(this.entryDir(meta.id), {
120
+ const dir = this.entryDir(meta.id);
121
+ await mkdir(dir, {
121
122
  recursive: true,
122
123
  mode: 448
123
124
  });
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { A as ProviderQuota, B as ProviderQuotaUnsupportedError, C as ProviderRuntimeFactory, D as ToolDefinition, E as ProviderServiceTier, F as ProviderQuotaProbeOptions, G as ensureQuota, H as ProviderQuotaWindowUnit, I as ProviderQuotaProbeResult, J as usedPercentFromRatio, K as severityFromUsedPercent, L as ProviderQuotaSeverity, M as ProviderQuotaObserveInput, N as ProviderQuotaPlan, O as CreateProviderQuotaOptions, P as ProviderQuotaProbeCost, R as ProviderQuotaSnapshot, S as ProviderRun, T as ProviderSelection, U as clampUsedPercent, V as ProviderQuotaWindow, W as createProviderQuota, _ as ProviderEvent, a as ModelPolicy, b as ProviderModelCost, c as ProviderAuthState, d as ProviderCredentialInfo, f as ProviderCredentialLoginOptions, g as ProviderCredentialsCapability, h as ProviderCredentials, i as InferenceSteer, j as ProviderQuotaCapability, k as EnsureQuotaOptions, l as ProviderCredentialActive, m as ProviderCredentialLoginResult, n as InferenceItem, o as Provider, p as ProviderCredentialLoginPending, q as unixSecondsToIso, r as InferenceRequest, s as ProviderAuth, t as AgentProvider, u as ProviderCredentialAddInput, v as ProviderFactoryDefinition, w as ProviderRuntimeState, x as ProviderModelList, y as ProviderModel, z as ProviderQuotaSource } from "./types-CYSnFAuT.mjs";
1
+ import { A as ProviderQuota, B as ProviderQuotaUnsupportedError, C as ProviderRuntimeFactory, D as ToolDefinition, E as ProviderServiceTier, F as ProviderQuotaProbeOptions, G as ensureQuota, H as ProviderQuotaWindowUnit, I as ProviderQuotaProbeResult, J as usedPercentFromRatio, K as severityFromUsedPercent, L as ProviderQuotaSeverity, M as ProviderQuotaObserveInput, N as ProviderQuotaPlan, O as CreateProviderQuotaOptions, P as ProviderQuotaProbeCost, R as ProviderQuotaSnapshot, S as ProviderRun, T as ProviderSelection, U as clampUsedPercent, V as ProviderQuotaWindow, W as createProviderQuota, _ as ProviderEvent, a as ModelPolicy, b as ProviderModelCost, c as ProviderAuthState, d as ProviderCredentialInfo, f as ProviderCredentialLoginOptions, g as ProviderCredentialsCapability, h as ProviderCredentials, i as InferenceSteer, j as ProviderQuotaCapability, k as EnsureQuotaOptions, l as ProviderCredentialActive, m as ProviderCredentialLoginResult, n as InferenceItem, o as Provider, p as ProviderCredentialLoginPending, q as unixSecondsToIso, r as InferenceRequest, s as ProviderAuth, t as AgentProvider, u as ProviderCredentialAddInput, v as ProviderFactoryDefinition, w as ProviderRuntimeState, x as ProviderModelList, y as ProviderModel, z as ProviderQuotaSource } from "./types-Uczx0xBQ.mjs";
2
2
  import { FileExtension, ModelSelection, ThinkingCapability, ThinkingConfig, ToolResultContentBlock } from "@demicodes/core";
3
3
  //#region src/content.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { S as ProviderRun, _ as ProviderEvent, i as InferenceSteer, r as InferenceRequest, t as AgentProvider } from "./types-CYSnFAuT.mjs";
1
+ import { S as ProviderRun, _ as ProviderEvent, i as InferenceSteer, r as InferenceRequest, t as AgentProvider } from "./types-Uczx0xBQ.mjs";
2
2
  //#region src/testing.d.ts
3
3
  /**
4
4
  * Scripted provider for testing. Each "turn" is a list of events to yield.
@@ -19,6 +19,7 @@ declare class StubProvider implements AgentProvider {
19
19
  private turns;
20
20
  private cursor;
21
21
  constructor(turns: TurnScript[]);
22
+ clone(): AgentProvider;
22
23
  run(request: InferenceRequest): AsyncIterable<ProviderEvent>;
23
24
  /** Number of turns consumed so far. Useful for assertions. */
24
25
  get consumedTurns(): number;
package/dist/testing.mjs CHANGED
@@ -20,6 +20,12 @@ var StubProvider = class {
20
20
  constructor(turns) {
21
21
  this.turns = turns;
22
22
  }
23
+ clone() {
24
+ return {
25
+ run: (request) => this.run(request),
26
+ clone: () => this.clone()
27
+ };
28
+ }
23
29
  async *run(request) {
24
30
  const turn = this.turns[this.cursor];
25
31
  this.cursor += 1;
@@ -239,6 +239,14 @@ interface ProviderRun extends AsyncIterable<ProviderEvent> {
239
239
  }
240
240
  interface AgentProvider {
241
241
  run(request: InferenceRequest): ProviderRun;
242
+ /**
243
+ * Creates an independent runtime with the same provider configuration.
244
+ *
245
+ * Configuration dependencies such as auth stores and quota observers may be
246
+ * shared, but mutable per-session execution state (subprocesses, sockets,
247
+ * pending tool calls, and continuation state) must not be shared.
248
+ */
249
+ clone(): AgentProvider;
242
250
  /**
243
251
  * Releases any resources the provider holds open across turns — e.g. a long-lived CLI
244
252
  * subprocess kept alive for a whole session. Called once when the owning session closes.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@demicodes/provider",
3
3
  "description": "Provider contract and shared building blocks for Demi inference adapters.",
4
- "version": "0.10.2",
4
+ "version": "0.11.0",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "exports": {
@@ -19,8 +19,8 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@demicodes/core": "^0.10.2",
23
- "@demicodes/utils": "^0.10.2"
22
+ "@demicodes/core": "^0.11.0",
23
+ "@demicodes/utils": "^0.11.0"
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "main": "./dist/index.mjs",