@omnicross/core 0.1.7 → 0.1.8

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 (53) hide show
  1. package/dist/{ProviderProxy-C-xqrkKi.d.ts → ProviderProxy--ROec6VI.d.ts} +22 -3
  2. package/dist/{ProviderProxy-CnMQYN59.d.cts → ProviderProxy-QdwNV6l1.d.cts} +22 -3
  3. package/dist/{chunk-4BB343BI.cjs → chunk-26K6T2YS.cjs} +1209 -472
  4. package/dist/{chunk-OJGQKHN5.cjs → chunk-EPN67EGP.cjs} +3 -0
  5. package/dist/{chunk-E3COOKUP.js → chunk-QYC54PMG.js} +924 -187
  6. package/dist/{chunk-SOO562NM.js → chunk-UAPBLNN2.js} +3 -0
  7. package/dist/completion/ApiKeyPoolService.cjs +32 -1
  8. package/dist/completion/ApiKeyPoolService.d.cts +17 -1
  9. package/dist/completion/ApiKeyPoolService.d.ts +17 -1
  10. package/dist/completion/ApiKeyPoolService.js +31 -0
  11. package/dist/completion/CompletionService.cjs +3 -3
  12. package/dist/completion/CompletionService.js +2 -2
  13. package/dist/completion.cjs +3 -3
  14. package/dist/completion.js +2 -2
  15. package/dist/index.cjs +59 -3
  16. package/dist/index.d.cts +5 -5
  17. package/dist/index.d.ts +5 -5
  18. package/dist/index.js +58 -2
  19. package/dist/outbound-api/routeResolver.d.cts +3 -3
  20. package/dist/outbound-api/routeResolver.d.ts +3 -3
  21. package/dist/outbound-api/types.d.cts +2 -2
  22. package/dist/outbound-api/types.d.ts +2 -2
  23. package/dist/outbound-api.cjs +3 -3
  24. package/dist/outbound-api.d.cts +4 -4
  25. package/dist/outbound-api.d.ts +4 -4
  26. package/dist/outbound-api.js +2 -2
  27. package/dist/pipeline/AccountAllowanceScheduling.d.cts +2 -2
  28. package/dist/pipeline/AccountAllowanceScheduling.d.ts +2 -2
  29. package/dist/ports.d.cts +2 -2
  30. package/dist/ports.d.ts +2 -2
  31. package/dist/provider-proxy/ProviderProxy.cjs +3 -3
  32. package/dist/provider-proxy/ProviderProxy.d.cts +1 -1
  33. package/dist/provider-proxy/ProviderProxy.d.ts +1 -1
  34. package/dist/provider-proxy/ProviderProxy.js +2 -2
  35. package/dist/provider-proxy/ingress/providerProxyShared.cjs +3 -3
  36. package/dist/provider-proxy/ingress/providerProxyShared.js +2 -2
  37. package/dist/provider-proxy/types.d.cts +15 -1
  38. package/dist/provider-proxy/types.d.ts +15 -1
  39. package/dist/provider-proxy.cjs +59 -3
  40. package/dist/provider-proxy.d.cts +254 -8
  41. package/dist/provider-proxy.d.ts +254 -8
  42. package/dist/provider-proxy.js +60 -4
  43. package/dist/{routeResolver-BxOfunbm.d.ts → routeResolver-C0mkkZaM.d.ts} +1 -1
  44. package/dist/{routeResolver-D5OzD0iM.d.cts → routeResolver-CVFE8KKe.d.cts} +1 -1
  45. package/dist/{types-CqZD77rS.d.ts → types-BB8pxk_3.d.ts} +1 -1
  46. package/dist/{types-gjJ5lJ5n.d.cts → types-C2MwkLah.d.cts} +1 -1
  47. package/dist/usage/usage-recorder.cjs +2 -2
  48. package/dist/usage/usage-recorder.d.cts +6 -0
  49. package/dist/usage/usage-recorder.d.ts +6 -0
  50. package/dist/usage/usage-recorder.js +1 -1
  51. package/dist/usage.cjs +2 -2
  52. package/dist/usage.js +1 -1
  53. package/package.json +1 -1
@@ -25,6 +25,15 @@ import { RouteContext, ProviderProxyDeps } from './provider-proxy/types.js';
25
25
  * run ends without an explicit `removeRoute`.
26
26
  */
27
27
  declare const DEFAULT_ROUTE_IDLE_MS: number;
28
+ type RouteEvictionReason = 'idle' | 'removed' | 'cleared';
29
+ /** Additive lease-aware registration options. Numeric callers remain supported. */
30
+ interface RouteRegistrationOptions {
31
+ readonly idleMs?: number;
32
+ /** Receives only a timestamp; the bearer token is deliberately not exposed. */
33
+ readonly onActivity?: (at: number) => void;
34
+ /** Called at most once after the entry is no longer reachable. */
35
+ readonly onEvicted?: (reason: RouteEvictionReason) => void;
36
+ }
28
37
  /**
29
38
  * The resident proxy owns ONE of these for the whole app session. Per-run
30
39
  * state is added at run start (`addRoute`) and removed at run end
@@ -40,7 +49,7 @@ declare class ProviderProxyRouteMap {
40
49
  * (`ANTHROPIC_AUTH_TOKEN` / `OPENAI_API_KEY`). Optionally override the idle
41
50
  * timeout (tests use a short one).
42
51
  */
43
- addRoute(context: RouteContext, idleMs?: number): string;
52
+ addRoute(context: RouteContext, idleMsOrOptions?: number | RouteRegistrationOptions): string;
44
53
  /**
45
54
  * Look up a route by its token, touching the idle timer so an active run's
46
55
  * context survives. Returns `undefined` on a miss / reaped entry — the caller
@@ -49,6 +58,8 @@ declare class ProviderProxyRouteMap {
49
58
  lookup(token: string | undefined | null): RouteContext | undefined;
50
59
  /** Remove a route at run end. Returns true if an entry existed. */
51
60
  removeRoute(token: string): boolean;
61
+ /** Re-arm one existing route without rotating its token. */
62
+ renewRoute(token: string, idleMs?: number): boolean;
52
63
  /** Current live-route count (tests / diagnostics). */
53
64
  size(): number;
54
65
  /** Whether a token currently resolves (does NOT touch the idle timer). */
@@ -57,6 +68,7 @@ declare class ProviderProxyRouteMap {
57
68
  clear(): void;
58
69
  private armIdleTimer;
59
70
  private clearIdleTimer;
71
+ private evict;
60
72
  }
61
73
 
62
74
  /**
@@ -92,6 +104,7 @@ declare class ProviderProxy {
92
104
  private server;
93
105
  private port;
94
106
  private readonly routes;
107
+ private readonly beforeStop;
95
108
  constructor(deps: ProviderProxyDeps, routes?: ProviderProxyRouteMap);
96
109
  /**
97
110
  * Start the resident listener on a stable port on 127.0.0.1. Idempotent —
@@ -102,6 +115,10 @@ declare class ProviderProxy {
102
115
  stop(): Promise<void>;
103
116
  /** Base URL for injector wiring (`ANTHROPIC_BASE_URL` / codex `base_url`). */
104
117
  getBaseUrl(): string;
118
+ /** Register daemon-owned cleanup that must run before route-map teardown. */
119
+ registerBeforeStop(cleanup: () => void | Promise<void>): () => void;
120
+ /** Whether the resident listener has completed binding. */
121
+ isReady(): boolean;
105
122
  /**
106
123
  * The SHARED route map. Exposed so the outbound API server
107
124
  * (`outbound-api-server`) can mint per-request routes on the SAME map and
@@ -115,11 +132,13 @@ declare class ProviderProxy {
115
132
  */
116
133
  getDeps(): ProviderProxyDeps;
117
134
  /** Register a route for one run; returns the crypto route token (task 2.2). */
118
- addRoute(context: RouteContext, idleMs?: number): string;
135
+ addRoute(context: RouteContext, idleMsOrOptions?: number | RouteRegistrationOptions): string;
136
+ /** Re-arm one route while retaining the exact same bearer token. */
137
+ renewRoute(token: string, idleMs?: number): boolean;
119
138
  /** Remove a route at run end. Returns true if an entry existed. */
120
139
  removeRoute(token: string): boolean;
121
140
  /** Live-route count (diagnostics / tests). */
122
141
  routeCount(): number;
123
142
  }
124
143
 
125
- export { DEFAULT_ROUTE_IDLE_MS as D, ProviderProxy as P, ProviderProxyRouteMap as a, isLoopbackAddress as i };
144
+ export { DEFAULT_ROUTE_IDLE_MS as D, ProviderProxy as P, type RouteEvictionReason as R, ProviderProxyRouteMap as a, type RouteRegistrationOptions as b, isLoopbackAddress as i };
@@ -25,6 +25,15 @@ import { RouteContext, ProviderProxyDeps } from './provider-proxy/types.cjs';
25
25
  * run ends without an explicit `removeRoute`.
26
26
  */
27
27
  declare const DEFAULT_ROUTE_IDLE_MS: number;
28
+ type RouteEvictionReason = 'idle' | 'removed' | 'cleared';
29
+ /** Additive lease-aware registration options. Numeric callers remain supported. */
30
+ interface RouteRegistrationOptions {
31
+ readonly idleMs?: number;
32
+ /** Receives only a timestamp; the bearer token is deliberately not exposed. */
33
+ readonly onActivity?: (at: number) => void;
34
+ /** Called at most once after the entry is no longer reachable. */
35
+ readonly onEvicted?: (reason: RouteEvictionReason) => void;
36
+ }
28
37
  /**
29
38
  * The resident proxy owns ONE of these for the whole app session. Per-run
30
39
  * state is added at run start (`addRoute`) and removed at run end
@@ -40,7 +49,7 @@ declare class ProviderProxyRouteMap {
40
49
  * (`ANTHROPIC_AUTH_TOKEN` / `OPENAI_API_KEY`). Optionally override the idle
41
50
  * timeout (tests use a short one).
42
51
  */
43
- addRoute(context: RouteContext, idleMs?: number): string;
52
+ addRoute(context: RouteContext, idleMsOrOptions?: number | RouteRegistrationOptions): string;
44
53
  /**
45
54
  * Look up a route by its token, touching the idle timer so an active run's
46
55
  * context survives. Returns `undefined` on a miss / reaped entry — the caller
@@ -49,6 +58,8 @@ declare class ProviderProxyRouteMap {
49
58
  lookup(token: string | undefined | null): RouteContext | undefined;
50
59
  /** Remove a route at run end. Returns true if an entry existed. */
51
60
  removeRoute(token: string): boolean;
61
+ /** Re-arm one existing route without rotating its token. */
62
+ renewRoute(token: string, idleMs?: number): boolean;
52
63
  /** Current live-route count (tests / diagnostics). */
53
64
  size(): number;
54
65
  /** Whether a token currently resolves (does NOT touch the idle timer). */
@@ -57,6 +68,7 @@ declare class ProviderProxyRouteMap {
57
68
  clear(): void;
58
69
  private armIdleTimer;
59
70
  private clearIdleTimer;
71
+ private evict;
60
72
  }
61
73
 
62
74
  /**
@@ -92,6 +104,7 @@ declare class ProviderProxy {
92
104
  private server;
93
105
  private port;
94
106
  private readonly routes;
107
+ private readonly beforeStop;
95
108
  constructor(deps: ProviderProxyDeps, routes?: ProviderProxyRouteMap);
96
109
  /**
97
110
  * Start the resident listener on a stable port on 127.0.0.1. Idempotent —
@@ -102,6 +115,10 @@ declare class ProviderProxy {
102
115
  stop(): Promise<void>;
103
116
  /** Base URL for injector wiring (`ANTHROPIC_BASE_URL` / codex `base_url`). */
104
117
  getBaseUrl(): string;
118
+ /** Register daemon-owned cleanup that must run before route-map teardown. */
119
+ registerBeforeStop(cleanup: () => void | Promise<void>): () => void;
120
+ /** Whether the resident listener has completed binding. */
121
+ isReady(): boolean;
105
122
  /**
106
123
  * The SHARED route map. Exposed so the outbound API server
107
124
  * (`outbound-api-server`) can mint per-request routes on the SAME map and
@@ -115,11 +132,13 @@ declare class ProviderProxy {
115
132
  */
116
133
  getDeps(): ProviderProxyDeps;
117
134
  /** Register a route for one run; returns the crypto route token (task 2.2). */
118
- addRoute(context: RouteContext, idleMs?: number): string;
135
+ addRoute(context: RouteContext, idleMsOrOptions?: number | RouteRegistrationOptions): string;
136
+ /** Re-arm one route while retaining the exact same bearer token. */
137
+ renewRoute(token: string, idleMs?: number): boolean;
119
138
  /** Remove a route at run end. Returns true if an entry existed. */
120
139
  removeRoute(token: string): boolean;
121
140
  /** Live-route count (diagnostics / tests). */
122
141
  routeCount(): number;
123
142
  }
124
143
 
125
- export { DEFAULT_ROUTE_IDLE_MS as D, ProviderProxy as P, ProviderProxyRouteMap as a, isLoopbackAddress as i };
144
+ export { DEFAULT_ROUTE_IDLE_MS as D, ProviderProxy as P, type RouteEvictionReason as R, ProviderProxyRouteMap as a, type RouteRegistrationOptions as b, isLoopbackAddress as i };