@opengeni/config 0.6.9 → 0.7.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeni/config",
3
- "version": "0.6.9",
3
+ "version": "0.7.0",
4
4
  "description": "OpenGeni runtime configuration: settings resolution, deployment knobs, and config validation shared across the server packages.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@opengeni/codex": "^0.2.7",
37
- "@opengeni/contracts": "^0.18.0",
37
+ "@opengeni/contracts": "^0.19.0",
38
38
  "zod": "^4.2.1"
39
39
  },
40
40
  "engines": {
package/src/index.ts CHANGED
@@ -3,6 +3,7 @@ import {
3
3
  CAPABILITY_DESCRIPTORS,
4
4
  Entitlements,
5
5
  EntitlementsMode,
6
+ MAX_NESTED_AGENT_DEPTH,
6
7
  ProductAccessMode,
7
8
  ReasoningEffort,
8
9
  SandboxBackend,
@@ -249,6 +250,9 @@ const SettingsSchema = z.object({
249
250
  integrationsStateSecret: z.string().optional(),
250
251
  integrationsAllowPrivateNetworkTargets: EnvBoolean.default(false),
251
252
  integrationsOauthClientsJson: z.string().default("{}"),
253
+ // Undefined is meaningful: the migration boundary persists the product
254
+ // default of 3 when no deployment override is supplied.
255
+ maxNestedAgentDepth: z.coerce.number().int().nonnegative().max(MAX_NESTED_AGENT_DEPTH).optional(),
252
256
  // Session goal guard rails. Goals are designed for runs that legitimately
253
257
  // span days, so length is bounded by pathology detection (no-progress
254
258
  // streaks, budget exhaustion), never by count. goalMaxAutoContinuations is
@@ -333,6 +337,14 @@ const SettingsSchema = z.object({
333
337
  // enable. Turning it off restores the legacy sticky selector without a schema
334
338
  // rollback; the additive lease table/cursor columns become inert.
335
339
  codexCredentialLeasingEnabled: EnvBoolean.default(false),
340
+ // Decision-observability fence. When enabled, the worker emits one
341
+ // bounded, metadata-only adaptive-policy replay record alongside the unchanged
342
+ // sticky-sharded decision. It never changes placement/admission/failover.
343
+ codexFleetPolicyShadowEnabled: EnvBoolean.default(false),
344
+ // Multi-account P3 (auto-rotation): an account is "near exhaustion" — ineligible to be
345
+ // rotated TO — when EITHER usage window (5h/weekly) is at/over this percent. Default 90 to
346
+ // match the UI danger flip (UsageBar danger at pct >= 90). OPENGENI_CODEX_ROTATION_NEAR_EXHAUSTION_PCT.
347
+ codexRotationNearExhaustionPct: z.coerce.number().int().min(1).max(100).default(90),
336
348
  openaiReasoningEffort: ReasoningEffort.default("low"),
337
349
  openaiAllowedReasoningEfforts: z.string().default("low,medium,high,xhigh"),
338
350
  openaiResponsesTransport: z.enum(["http", "websocket"]).default("http"),
@@ -1327,6 +1339,7 @@ export function getSettings(): Settings {
1327
1339
  "OPENGENI_INTEGRATIONS_ALLOW_PRIVATE_NETWORK_TARGETS",
1328
1340
  ),
1329
1341
  integrationsOauthClientsJson: optional("OPENGENI_INTEGRATIONS_OAUTH_CLIENTS_JSON"),
1342
+ maxNestedAgentDepth: optional("OPENGENI_MAX_NESTED_AGENT_DEPTH"),
1330
1343
  goalMaxAutoContinuations: optional("OPENGENI_GOAL_MAX_AUTO_CONTINUATIONS"),
1331
1344
  goalNoProgressLimit: optional("OPENGENI_GOAL_NO_PROGRESS_LIMIT"),
1332
1345
  agentMaxModelCallsPerTurn: optional("OPENGENI_AGENT_MAX_MODEL_CALLS_PER_TURN"),
@@ -1355,6 +1368,7 @@ export function getSettings(): Settings {
1355
1368
  codexSubscriptionEnabled: optional("OPENGENI_CODEX_SUBSCRIPTION_ENABLED"),
1356
1369
  codexToolSearchEnabled: optional("OPENGENI_CODEX_TOOL_SEARCH_ENABLED"),
1357
1370
  codexCredentialLeasingEnabled: optional("OPENGENI_CODEX_CREDENTIAL_LEASING_ENABLED"),
1371
+ codexFleetPolicyShadowEnabled: optional("OPENGENI_CODEX_FLEET_POLICY_SHADOW_ENABLED"),
1358
1372
  codexProductSku: optional("OPENGENI_CODEX_PRODUCT_SKU"),
1359
1373
  openaiReasoningEffort: optional("OPENGENI_OPENAI_REASONING_EFFORT"),
1360
1374
  openaiAllowedReasoningEfforts: optional("OPENGENI_OPENAI_ALLOWED_REASONING_EFFORTS"),