@opengeni/config 0.7.1 → 0.7.6

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/dist/index.d.ts CHANGED
@@ -64,6 +64,7 @@ declare const SettingsSchema: z.ZodObject<{
64
64
  force: "force";
65
65
  scoped: "scoped";
66
66
  }>>;
67
+ runtimeDatabaseRole: z.ZodDefault<z.ZodString>;
67
68
  natsUrl: z.ZodDefault<z.ZodString>;
68
69
  temporalHost: z.ZodDefault<z.ZodString>;
69
70
  temporalNamespace: z.ZodDefault<z.ZodString>;
@@ -147,6 +148,7 @@ declare const SettingsSchema: z.ZodObject<{
147
148
  modelPricingJson: z.ZodDefault<z.ZodString>;
148
149
  modelProvidersJson: z.ZodDefault<z.ZodString>;
149
150
  codexSubscriptionEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
151
+ codexConnectedAppsEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
150
152
  codexProductSku: z.ZodOptional<z.ZodString>;
151
153
  codexToolSearchEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
152
154
  codexCredentialLeasingEnabled: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean>>;
@@ -330,6 +332,14 @@ declare const SettingsSchema: z.ZodObject<{
330
332
  documentEmbeddingDimensions: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
331
333
  documentEmbeddingApiKey: z.ZodOptional<z.ZodString>;
332
334
  documentEmbeddingBaseUrl: z.ZodOptional<z.ZodString>;
335
+ documentCurationProvider: z.ZodDefault<z.ZodEnum<{
336
+ none: "none";
337
+ openai: "openai";
338
+ heuristic: "heuristic";
339
+ }>>;
340
+ documentCurationModel: z.ZodDefault<z.ZodString>;
341
+ documentCurationApiKey: z.ZodOptional<z.ZodString>;
342
+ documentCurationBaseUrl: z.ZodOptional<z.ZodString>;
333
343
  gitAuthorName: z.ZodOptional<z.ZodString>;
334
344
  gitAuthorEmail: z.ZodOptional<z.ZodString>;
335
345
  gitCommitterName: z.ZodOptional<z.ZodString>;
package/dist/index.js CHANGED
@@ -149,6 +149,10 @@ var SettingsSchema = z.object({
149
149
  // non-owner `opengeni_app` role. "scoped" = the embedded owner-role path (the
150
150
  // GUC is still emitted defensively, so the query path is identical).
151
151
  rlsStrategy: z.enum(["force", "scoped"]).default("force"),
152
+ // Exact PostgreSQL login identity required by the standalone FORCE-RLS
153
+ // startup/readiness assertion. Embedded `scoped` hosts own their role model
154
+ // and are deliberately not constrained to this name.
155
+ runtimeDatabaseRole: z.string().min(1).default("opengeni_app"),
152
156
  natsUrl: z.string().default("nats://127.0.0.1:4222"),
153
157
  temporalHost: z.string().default("127.0.0.1:7233"),
154
158
  temporalNamespace: z.string().default("default"),
@@ -279,13 +283,19 @@ var SettingsSchema = z.object({
279
283
  // provider whose models route through the ChatGPT backend (@opengeni/codex).
280
284
  codexSubscriptionEnabled: EnvBoolean.default(false),
281
285
  // OPENGENI_CODEX_SUBSCRIPTION_ENABLED
286
+ // Expose the connected apps attached to a Codex subscription through the
287
+ // synthetic codex_apps MCP server. Independent from subscription routing so
288
+ // operators can use Codex models without exposing ChatGPT connectors.
289
+ codexConnectedAppsEnabled: EnvBoolean.default(false),
290
+ // OPENGENI_CODEX_CONNECTED_APPS_ENABLED
282
291
  codexProductSku: z.string().optional(),
283
292
  // OPENGENI_CODEX_PRODUCT_SKU (X-OpenAI-Product-Sku, apps only)
284
- // Progressive connector disclosure (Codex-CLI-style tool_search): on a codex
285
- // turn, flag the ~217 codex_apps connector tools `defer_loading:true` (dropping
286
- // their schemas from model context) and add one client-executed tool_search
287
- // tool that BM25-discloses only the matching connectors. Default OFF a codex
288
- // turn is byte-for-byte unchanged until enabled. OPENGENI_CODEX_TOOL_SEARCH_ENABLED
293
+ // Progressive MCP disclosure (Codex-CLI-style tool_search): on a codex turn,
294
+ // flag non-mandatory selected MCP tools `defer_loading:true` (dropping their
295
+ // schemas from model context) and add one client-executed tool_search tool
296
+ // that BM25-discloses bounded matches. The mandatory OpenGeni tools stay
297
+ // eager. Default OFF — a codex turn is byte-for-byte unchanged until enabled.
298
+ // OPENGENI_CODEX_TOOL_SEARCH_ENABLED
289
299
  codexToolSearchEnabled: EnvBoolean.default(false),
290
300
  // credential allocator atomic, workspace-local credential allocation. Default OFF is a
291
301
  // deliberate rolling-deploy fence: migrate + roll every worker first, then
@@ -697,6 +707,10 @@ var SettingsSchema = z.object({
697
707
  documentEmbeddingDimensions: z.coerce.number().int().positive().default(3072),
698
708
  documentEmbeddingApiKey: z.string().optional(),
699
709
  documentEmbeddingBaseUrl: z.string().url().optional(),
710
+ documentCurationProvider: z.enum(["openai", "heuristic", "none"]).default("openai"),
711
+ documentCurationModel: z.string().min(1).default("gpt-4o-mini"),
712
+ documentCurationApiKey: z.string().optional(),
713
+ documentCurationBaseUrl: z.string().url().optional(),
700
714
  gitAuthorName: z.string().optional(),
701
715
  gitAuthorEmail: z.string().optional(),
702
716
  gitCommitterName: z.string().optional(),
@@ -1056,6 +1070,7 @@ function getSettings() {
1056
1070
  databaseUrl: optional("OPENGENI_DATABASE_URL"),
1057
1071
  dbSchema: optional("OPENGENI_DB_SCHEMA"),
1058
1072
  rlsStrategy: optional("OPENGENI_RLS_STRATEGY"),
1073
+ runtimeDatabaseRole: optional("OPENGENI_RUNTIME_DATABASE_ROLE"),
1059
1074
  natsUrl: optional("OPENGENI_NATS_URL"),
1060
1075
  temporalHost: optional("OPENGENI_TEMPORAL_HOST"),
1061
1076
  temporalNamespace: optional("OPENGENI_TEMPORAL_NAMESPACE"),
@@ -1127,6 +1142,7 @@ function getSettings() {
1127
1142
  modelPricingJson: optional("OPENGENI_MODEL_PRICING_JSON"),
1128
1143
  modelProvidersJson: optional("OPENGENI_MODEL_PROVIDERS_JSON"),
1129
1144
  codexSubscriptionEnabled: optional("OPENGENI_CODEX_SUBSCRIPTION_ENABLED"),
1145
+ codexConnectedAppsEnabled: optional("OPENGENI_CODEX_CONNECTED_APPS_ENABLED"),
1130
1146
  codexToolSearchEnabled: optional("OPENGENI_CODEX_TOOL_SEARCH_ENABLED"),
1131
1147
  codexCredentialLeasingEnabled: optional("OPENGENI_CODEX_CREDENTIAL_LEASING_ENABLED"),
1132
1148
  codexFleetPolicyShadowEnabled: optional("OPENGENI_CODEX_FLEET_POLICY_SHADOW_ENABLED"),
@@ -1267,6 +1283,10 @@ function getSettings() {
1267
1283
  documentEmbeddingDimensions: optional("OPENGENI_DOCUMENT_EMBEDDING_DIMENSIONS"),
1268
1284
  documentEmbeddingApiKey: optional("OPENGENI_DOCUMENT_EMBEDDING_API_KEY"),
1269
1285
  documentEmbeddingBaseUrl: optional("OPENGENI_DOCUMENT_EMBEDDING_BASE_URL"),
1286
+ documentCurationProvider: optional("OPENGENI_DOCUMENT_CURATION_PROVIDER"),
1287
+ documentCurationModel: optional("OPENGENI_DOCUMENT_CURATION_MODEL"),
1288
+ documentCurationApiKey: optional("OPENGENI_DOCUMENT_CURATION_API_KEY"),
1289
+ documentCurationBaseUrl: optional("OPENGENI_DOCUMENT_CURATION_BASE_URL"),
1270
1290
  gitAuthorName: optional("OPENGENI_GIT_AUTHOR_NAME"),
1271
1291
  gitAuthorEmail: optional("OPENGENI_GIT_AUTHOR_EMAIL"),
1272
1292
  gitCommitterName: optional("OPENGENI_GIT_COMMITTER_NAME"),
@@ -1663,6 +1683,11 @@ function withCodexCatalogProvider(settings) {
1663
1683
  upstreamModelId: slug,
1664
1684
  label: slug,
1665
1685
  reasoningEffort: true,
1686
+ // The ChatGPT/Codex Responses backend accepts the native web_search
1687
+ // hosted tool (unlike hosted apply_patch/computer transports). Declaring
1688
+ // this here makes provider resolution truthful; the worker still applies
1689
+ // the durable session/turn policy gate before attaching it.
1690
+ hostedWebSearch: true,
1666
1691
  contextWindowTokens: CODEX_MODEL_CONTEXT_WINDOW_TOKENS,
1667
1692
  effectiveContextWindowTokens: CODEX_MODEL_EFFECTIVE_CONTEXT_WINDOW_TOKENS,
1668
1693
  autoCompactTokenLimit: CODEX_MODEL_AUTO_COMPACT_TOKEN_LIMIT,