@shipeasy/openapi 2.4.0 → 3.0.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/dist/{chunk-ZPKHTUVV.js → chunk-7T77D5YO.js} +101 -36
- package/dist/chunk-7T77D5YO.js.map +1 -0
- package/dist/{chunk-4QSU744W.js → chunk-V4ZESAIF.js} +11 -1
- package/dist/chunk-V4ZESAIF.js.map +1 -0
- package/dist/{client-WGNXT4xl.d.ts → client-DzEqdN5N.d.ts} +294 -64
- package/dist/client.d.ts +1 -1
- package/dist/client.js +3 -1
- package/dist/custom.d.ts +9 -4
- package/dist/custom.js +57 -9
- package/dist/custom.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +318 -35
- package/dist/schemas.js +17 -1
- package/openapi.json +513 -151
- package/openapi.yaml +374 -102
- package/package.json +1 -1
- package/spec/components/schemas/configs.yaml +33 -3
- package/spec/components/schemas/gates.yaml +9 -0
- package/spec/components/schemas/i18n.yaml +20 -44
- package/spec/components/schemas/metrics.yaml +16 -1
- package/spec/components/schemas/ops.yaml +163 -19
- package/spec/openapi.yaml +13 -2
- package/spec/paths/configs.yaml +28 -21
- package/spec/paths/i18n.yaml +13 -11
- package/spec/paths/ops.yaml +85 -2
- package/dist/chunk-4QSU744W.js.map +0 -1
- package/dist/chunk-ZPKHTUVV.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generated/zod.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport * as z from 'zod';\n\n/**\n * The single wire shape for a gate row, shared by `ListGatesResponse` (`data[]` items) and `GET /api/admin/gates/{id}`.\n */\nexport const zGateApiRow = z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n enabled: z.union([\n z.boolean(),\n z.int().gte(0).lte(1)\n ]),\n type: z.enum(['targeting', 'holdout']).optional(),\n rolloutPct: z.int().gte(0).lte(10000),\n rules: z.array(z.object({\n attr: z.string().min(1),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.unknown()\n })).optional(),\n salt: z.string().optional(),\n title: z.string().nullish(),\n description: z.string().nullish(),\n folder: z.string().nullish(),\n groupName: z.string().nullish(),\n ownerEmail: z.string().nullish(),\n stack: z.array(z.union([z.object({\n id: z.string().min(1),\n type: z.literal('condition'),\n name: z.string().optional(),\n fromTemplate: z.string().nullish(),\n pass: z.enum(['all', 'any']).optional(),\n rules: z.array(z.object({\n attr: z.string().min(1),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.unknown()\n })).optional().default([]),\n rolloutPct: z.int().gte(0).lte(10000).optional(),\n bucketBy: z.string().optional(),\n salt: z.string().optional(),\n ramp: z.object({\n from: z.int().gte(0).lte(10000),\n to: z.int().gte(0).lte(10000),\n startAt: z.int().gte(0).lte(9007199254740991),\n durationMs: z.int().gt(0).lte(9007199254740991)\n }).optional(),\n locked: z.boolean().optional(),\n whitelist: z.boolean().optional()\n }), z.object({\n id: z.string().min(1),\n type: z.literal('rollout'),\n name: z.string().optional(),\n fromTemplate: z.string().nullish(),\n rolloutPct: z.int().gte(0).lte(10000),\n bucketBy: z.string().optional(),\n salt: z.string().optional(),\n ramp: z.object({\n from: z.int().gte(0).lte(10000),\n to: z.int().gte(0).lte(10000),\n startAt: z.int().gte(0).lte(9007199254740991),\n durationMs: z.int().gt(0).lte(9007199254740991)\n }).optional(),\n locked: z.boolean().optional()\n })])).nullish(),\n updatedAt: z.string(),\n creatorEmail: z.string().nullable(),\n updaterEmail: z.string().nullable(),\n version: z.int().gte(1).lte(9007199254740991),\n createdAt: z.string().nullable()\n});\n\nexport const zListGatesResponse = z.object({\n data: z.array(zGateApiRow),\n next_cursor: z.string().nullable()\n});\n\n/**\n * Stable, machine-readable error code. Mirrors the `ErrorCode` catalogue in `@shipeasy/core`. Each operation lists the subset it can return under `x-error-codes`.\n */\nexport const zErrorCode = z.enum([\n 'BAD_REQUEST',\n 'UNAUTHORIZED',\n 'FORBIDDEN',\n 'PLAN_REQUIRED',\n 'NOT_FOUND',\n 'ALREADY_EXISTS',\n 'INVALID_TRANSITION',\n 'IMMUTABLE_FIELD',\n 'READ_ONLY',\n 'REFERENCED_IN_USE',\n 'VALIDATION',\n 'REFERENCED_NOT_FOUND',\n 'GROUPS_WEIGHT_SUM',\n 'EVENT_PENDING',\n 'INTERNAL',\n 'PLAN_LIMIT',\n 'EXPERIMENT_NO_GOAL_METRIC',\n 'EXPERIMENT_ARCHIVED_RESTART',\n 'EXPERIMENT_RESTORE_INVALID',\n 'EXPERIMENT_NOT_RUNNING',\n 'EXPERIMENT_RUNNING_ARCHIVE',\n 'EXPERIMENT_IMMUTABLE_FIELD',\n 'METRIC_NOT_FOUND',\n 'METRIC_UNKNOWN_ID',\n 'AGENT_NOT_CONNECTED'\n]);\n\n/**\n * Uniform error envelope returned by every admin endpoint on a non-2xx status. `error` is the human-readable message; `code` is the stable machine code (present whenever the failure maps to a catalogued `ErrorCode`); `detail` carries extra context (validation paths, conflicting field); `fields` maps each failing input field to its own message; `instructions` is optional actionable guidance for resolving the error; `schema` echoes back the expected JSON Schema when a value failed schema validation.\n */\nexport const zError = z.object({\n error: z.string(),\n code: zErrorCode.optional(),\n detail: z.string().optional(),\n fields: z.record(z.string(), z.string()).optional(),\n instructions: z.string().optional(),\n schema: z.record(z.string(), z.unknown()).optional()\n});\n\n/**\n * Optional folder name grouping items in the dashboard. Alphanumeric, `_` or `-` (no `/`). Part of the SDK lookup key (`<folder>/<name>`).\n */\nexport const zFolder = z.string().max(256).regex(/^[a-zA-Z0-9_-]+$/).nullable();\n\n/**\n * Body for `POST /api/admin/gates`. At minimum supply `name`; everything else has sensible defaults.\n */\nexport const zCreateGateRequest = z.object({\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n type: z.enum(['targeting', 'holdout']).optional().default('targeting'),\n enabled: z.boolean().optional().default(true),\n rollout_pct: z.int().gte(0).lte(10000).optional().default(0),\n rollout_percent: z.number().gte(0).lte(100).optional(),\n rules: z.array(z.object({\n attr: z.string().min(1),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.unknown()\n })).optional().default([]),\n salt: z.string().min(1).max(64).optional(),\n stack: z.array(z.union([z.object({\n id: z.string().min(1),\n type: z.literal('condition'),\n name: z.string().optional(),\n fromTemplate: z.string().nullish(),\n pass: z.enum(['all', 'any']).optional(),\n rules: z.array(z.object({\n attr: z.string().min(1),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.unknown()\n })).optional().default([]),\n rolloutPct: z.int().gte(0).lte(10000).optional(),\n bucketBy: z.string().optional(),\n salt: z.string().optional(),\n ramp: z.object({\n from: z.int().gte(0).lte(10000),\n to: z.int().gte(0).lte(10000),\n startAt: z.int().gte(0).lte(9007199254740991),\n durationMs: z.int().gt(0).lte(9007199254740991)\n }).optional(),\n locked: z.boolean().optional(),\n whitelist: z.boolean().optional()\n }), z.object({\n id: z.string().min(1),\n type: z.literal('rollout'),\n name: z.string().optional(),\n fromTemplate: z.string().nullish(),\n rolloutPct: z.int().gte(0).lte(10000),\n bucketBy: z.string().optional(),\n salt: z.string().optional(),\n ramp: z.object({\n from: z.int().gte(0).lte(10000),\n to: z.int().gte(0).lte(10000),\n startAt: z.int().gte(0).lte(9007199254740991),\n durationMs: z.int().gt(0).lte(9007199254740991)\n }).optional(),\n locked: z.boolean().optional()\n })])).nullish(),\n title: z.string().max(140).optional(),\n description: z.string().max(2000).optional(),\n folder: zFolder.optional(),\n group: z.string().max(64).optional(),\n owner_email: z.string().max(190).optional()\n});\n\nexport const zCreateGateResponse = z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/)\n});\n\n/**\n * A resource path identifier — an opaque `xxx_<ULID>` id (~30 chars) or the resource's `name`/`key`. 1–128 characters; the upper bound matches the longest name/key any resource accepts, so an over-long value can never name a real row.\n */\nexport const zResourceId = z.string().min(1).max(128);\n\nexport const zDeleteGateResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/gates/{id}`. Partial — only supplied fields change. Array fields (`rules`, `stack`) replace, not merge.\n */\nexport const zUpdateGateRequest = z.object({\n type: z.enum(['targeting', 'holdout']).optional(),\n rollout_pct: z.int().gte(0).lte(10000).optional(),\n rollout_percent: z.number().gte(0).lte(100).optional(),\n rules: z.array(z.object({\n attr: z.string().min(1),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.unknown()\n })).optional(),\n enabled: z.boolean().optional(),\n stack: z.array(z.union([z.object({\n id: z.string().min(1),\n type: z.literal('condition'),\n name: z.string().optional(),\n fromTemplate: z.string().nullish(),\n pass: z.enum(['all', 'any']).optional(),\n rules: z.array(z.object({\n attr: z.string().min(1),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.unknown()\n })).optional().default([]),\n rolloutPct: z.int().gte(0).lte(10000).optional(),\n bucketBy: z.string().optional(),\n salt: z.string().optional(),\n ramp: z.object({\n from: z.int().gte(0).lte(10000),\n to: z.int().gte(0).lte(10000),\n startAt: z.int().gte(0).lte(9007199254740991),\n durationMs: z.int().gt(0).lte(9007199254740991)\n }).optional(),\n locked: z.boolean().optional(),\n whitelist: z.boolean().optional()\n }), z.object({\n id: z.string().min(1),\n type: z.literal('rollout'),\n name: z.string().optional(),\n fromTemplate: z.string().nullish(),\n rolloutPct: z.int().gte(0).lte(10000),\n bucketBy: z.string().optional(),\n salt: z.string().optional(),\n ramp: z.object({\n from: z.int().gte(0).lte(10000),\n to: z.int().gte(0).lte(10000),\n startAt: z.int().gte(0).lte(9007199254740991),\n durationMs: z.int().gt(0).lte(9007199254740991)\n }).optional(),\n locked: z.boolean().optional()\n })])).nullish(),\n title: z.string().max(140).optional(),\n description: z.string().max(2000).optional(),\n folder: zFolder.optional(),\n group: z.string().max(64).optional(),\n owner_email: z.string().max(190).optional()\n});\n\n/**\n * Update returns only the id — re-fetch via `GET /api/admin/gates` for the full row.\n */\nexport const zUpdateGateResponse = z.object({\n id: z.string()\n});\n\nexport const zEnableGateResponse = z.object({\n id: z.string(),\n enabled: z.boolean()\n});\n\nexport const zDisableGateResponse = z.object({\n id: z.string(),\n enabled: z.boolean()\n});\n\n/**\n * Recent audit rows for one gate, newest first.\n */\nexport const zListGateActivityResponse = z.array(z.object({\n id: z.string(),\n action: z.string(),\n actorEmail: z.string(),\n actorType: z.enum([\n 'user',\n 'cli',\n 'system'\n ]),\n payload: z.unknown(),\n createdAt: z.string()\n}));\n\nexport const zExperimentApiRow = z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n description: z.string().nullable(),\n hypothesis: z.string().nullable(),\n tag: z.string().nullable(),\n ownerEmail: z.string().nullable(),\n audience: z.string().nullable(),\n bucketBy: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/).nullable(),\n folder: z.string().nullable(),\n status: z.enum([\n 'draft',\n 'running',\n 'stopped',\n 'archived'\n ]),\n universe: z.string(),\n targetingGate: z.string().nullable(),\n holdoutGate: z.string().nullable(),\n allocationPct: z.int().gte(-9007199254740991).lte(9007199254740991),\n reservedHeadroom: z.int().gte(0).lte(10000),\n hashVersion: z.int().gte(1),\n poolOffsetBp: z.int().gte(0).lte(10000).nullable(),\n poolSizeBp: z.int().gte(0).lte(10000).nullable(),\n salt: z.string(),\n params: z.record(z.string(), z.enum([\n 'string',\n 'bool',\n 'number'\n ])),\n groups: z.array(z.object({\n name: z.string().min(1).max(64),\n weight: z.int().gte(0).lte(10000),\n params: z.record(z.string(), z.unknown()).optional().default({})\n })),\n significanceThreshold: z.number(),\n minRuntimeDays: z.int().gte(-9007199254740991).lte(9007199254740991),\n minSampleSize: z.int().gte(-9007199254740991).lte(9007199254740991),\n sequentialTesting: z.boolean(),\n startedAt: z.string().nullable(),\n stoppedAt: z.string().nullable(),\n updatedAt: z.string(),\n version: z.int().nullable(),\n creatorEmail: z.string().nullish(),\n updaterEmail: z.string().nullish(),\n verdict: z.enum([\n 'ship',\n 'hold',\n 'wait',\n 'invalid',\n 'draft'\n ]).optional(),\n verdictTitle: z.string().optional(),\n verdictWhy: z.string().optional(),\n goalMetric: z.object({\n id: z.string(),\n name: z.string()\n }).nullish(),\n guardrails: z.array(z.object({\n id: z.string(),\n name: z.string(),\n eventName: z.string().nullish()\n })).optional(),\n guardrailCount: z.int().gte(0).optional(),\n primaryLiftPct: z.number().nullish(),\n significancePct: z.number().nullish(),\n sampleSize: z.int().nullish(),\n exposure: z.array(z.object({\n ds: z.string(),\n value: z.number()\n })).optional(),\n exposureTotal: z.int().nullish()\n});\n\nexport const zListExperimentsResponse = z.object({\n data: z.array(zExperimentApiRow),\n next_cursor: z.string().nullable()\n});\n\n/**\n * Stable metric key. Single segment or `folder.name`; lowercase letters, digits, `_`/`-`; max 128 chars.\n */\nexport const zMetricName = z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/);\n\n/**\n * Inline metric — a DSL `query`, or an `event` (+ `aggregation`/`value`) the server compiles into one.\n */\nexport const zExperimentInlineMetric = z.object({\n name: zMetricName.optional(),\n query: z.string().min(1).max(4096).optional(),\n event: z.string().min(1).max(256).optional(),\n aggregation: z.enum([\n 'count_users',\n 'count_events',\n 'retention_7d',\n 'retention_30d',\n 'sum',\n 'avg'\n ]).optional(),\n value: z.string().min(1).max(256).optional(),\n min_effect_of_interest: z.number().nullish().default(null)\n});\n\n/**\n * Body for `POST /api/admin/experiments`. `name`, `universe`, and `groups` (≥2, weights sum to 10000) required.\n */\nexport const zCreateExperimentRequest = z.object({\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n description: z.string().max(2000).nullish().default(null),\n hypothesis: z.string().max(4000).nullish().default(null),\n tag: z.string().max(64).nullish().default(null),\n owner_email: z.string().max(254).nullish().default(null),\n audience: z.string().max(256).nullish().default(null),\n bucket_by: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/).nullish().default(null),\n folder: zFolder.optional(),\n universe: z.string().min(1),\n targeting_gate: z.string().nullish().default(null),\n holdout_gate: z.string().nullish().default(null),\n allocation_pct: z.int().gte(0).lte(10000).optional().default(0),\n allocation_percent: z.number().gte(0).lte(100).optional(),\n reserved_headroom: z.int().gte(0).lte(10000).optional(),\n salt: z.string().min(1).max(64).optional(),\n params: z.record(z.string(), z.enum([\n 'string',\n 'bool',\n 'number'\n ])).optional().default({}),\n groups: z.array(z.object({\n name: z.string().min(1).max(64),\n weight: z.int().gte(0).lte(10000),\n params: z.record(z.string(), z.unknown()).optional().default({})\n })).min(2),\n significance_threshold: z.number().gte(0.0001).lte(0.5).optional().default(0.05),\n min_runtime_days: z.int().gte(0).lte(365).optional().default(0),\n min_sample_size: z.int().gte(1).lte(9007199254740991).optional().default(100),\n sequential_testing: z.boolean().optional().default(false),\n goal_metric: zExperimentInlineMetric.optional(),\n guardrail_metrics: z.array(zExperimentInlineMetric).max(10).optional().default([])\n});\n\nexport const zCreateExperimentResponse = z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/)\n});\n\nexport const zDeleteExperimentResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/experiments/{id}`. Partial — only supplied fields change. `allocation_pct`, `salt`, `universe` and existing group weights/values are immutable while running (stop first); a new variant may still be appended into the reserved tail.\n */\nexport const zUpdateExperimentRequest = z.object({\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/).optional(),\n description: z.string().max(2000).nullish(),\n hypothesis: z.string().max(4000).nullish(),\n tag: z.string().max(64).nullish(),\n owner_email: z.string().max(254).nullish(),\n audience: z.string().max(256).nullish(),\n bucket_by: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/).nullish(),\n folder: zFolder.optional(),\n targeting_gate: z.string().nullish(),\n holdout_gate: z.string().nullish(),\n allocation_pct: z.int().gte(0).lte(10000).optional(),\n reserved_headroom: z.int().gte(0).lte(10000).optional(),\n allocation_percent: z.number().gte(0).lte(100).optional(),\n salt: z.string().min(1).max(64).optional(),\n universe: z.string().optional(),\n params: z.record(z.string(), z.enum([\n 'string',\n 'bool',\n 'number'\n ])).optional(),\n groups: z.array(z.object({\n name: z.string().min(1).max(64),\n weight: z.int().gte(0).lte(10000),\n params: z.record(z.string(), z.unknown()).optional().default({})\n })).min(2).optional(),\n significance_threshold: z.number().gte(0.0001).lte(0.5).optional(),\n min_runtime_days: z.int().gte(0).lte(365).optional(),\n min_sample_size: z.int().gte(1).lte(9007199254740991).optional(),\n sequential_testing: z.boolean().optional(),\n goal_metric: zExperimentInlineMetric.optional(),\n guardrail_metrics: z.array(zExperimentInlineMetric).max(10).optional()\n});\n\nexport const zUpdateExperimentResponse = z.object({\n id: z.string()\n});\n\n/**\n * Body for `POST /api/admin/experiments/{id}/status`.\n */\nexport const zSetExperimentStatusRequest = z.object({\n status: z.enum([\n 'draft',\n 'running',\n 'stopped',\n 'archived'\n ])\n});\n\nexport const zSetExperimentStatusResponse = z.object({\n id: z.string(),\n status: z.enum([\n 'draft',\n 'running',\n 'stopped',\n 'archived'\n ])\n});\n\n/**\n * Body for `POST /api/admin/experiments/{id}/metrics`. Replaces the experiment's metric attachments wholesale. Returns `422` if any `metric_id` is unknown.\n */\nexport const zSetExperimentMetricsRequest = z.object({\n metrics: z.array(z.object({\n metric_id: z.string(),\n role: z.enum([\n 'goal',\n 'guardrail',\n 'secondary'\n ]),\n min_effect_of_interest: z.number().nullish().default(null)\n }))\n});\n\nexport const zSetExperimentMetricsResponse = z.object({\n id: z.string(),\n metrics: z.array(z.object({\n metric_id: z.string(),\n role: z.enum([\n 'goal',\n 'guardrail',\n 'secondary'\n ]),\n min_effect_of_interest: z.number().nullable()\n }))\n});\n\n/**\n * One persisted analysis row (`experiment_results`) for a single metric/group/day slice. Camel-case wire names; nullable statistics are `null` on control rows, empty arms, or when the analysis pass hasn't produced them.\n */\nexport const zExperimentResultRow = z.object({\n metric: z.string(),\n groupName: z.string(),\n ds: z.string(),\n n: z.int().nullable(),\n mean: z.number().nullable(),\n variance: z.number().nullable(),\n delta: z.number().nullable(),\n deltaPct: z.number().nullable(),\n ci95Low: z.number().nullable(),\n ci95High: z.number().nullable(),\n ci99Low: z.number().nullable(),\n ci99High: z.number().nullable(),\n ciLow: z.number().nullable(),\n ciHigh: z.number().nullable(),\n pValue: z.number().nullable(),\n expectedN: z.int().nullable(),\n realizedMde: z.number().nullable(),\n srmPValue: z.number().nullable(),\n srmDetected: z.int(),\n msprtSignificant: z.int().nullable(),\n msprtLambda: z.number().nullable(),\n isFinal: z.int(),\n peekWarning: z.int()\n});\n\nexport const zGetExperimentResultsResponse = z.object({\n experiment: z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n status: z.enum([\n 'draft',\n 'running',\n 'stopped',\n 'archived'\n ])\n }),\n results: z.array(zExperimentResultRow),\n verdict: z.enum([\n 'ship',\n 'hold',\n 'wait',\n 'invalid',\n 'draft'\n ])\n});\n\nexport const zGetExperimentTimeseriesResponse = z.object({\n experiment: z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n status: z.enum([\n 'draft',\n 'running',\n 'stopped',\n 'archived'\n ])\n }),\n series: z.array(zExperimentResultRow)\n});\n\nexport const zReanalyzeExperimentResponse = z.object({\n id: z.string(),\n queued: z.boolean()\n});\n\n/**\n * Body for `POST /api/admin/experiments/{id}/readouts`. Mints an immutable, dated readout snapshot of the current results view — \"this is what we saw when we decided\".\n */\nexport const zCreateExperimentReadoutRequest = z.object({\n kind: z.enum([\n 'manual',\n 'ship',\n 'stop'\n ]),\n acknowledgedCaveatIds: z.array(z.string()).optional(),\n requireAllAcknowledged: z.boolean().optional()\n});\n\nexport const zCreateExperimentReadoutResponse = z.object({\n id: z.string()\n});\n\n/**\n * Frozen per-metric numbers as rendered at mint time. Display-shaped, not row-shaped — the snapshot keeps rendering exactly what was decided on even if derivations change later.\n */\nexport const zExperimentReadoutMetric = z.object({\n name: z.string(),\n role: z.enum([\n 'goal',\n 'guardrail',\n 'secondary'\n ]),\n delta: z.number().nullable(),\n deltaPct: z.number().nullable(),\n ci: z.tuple([z.number(), z.number()]).nullable(),\n p: z.number().nullable(),\n sig: z.boolean(),\n pass: z.boolean().optional()\n});\n\n/**\n * One caveat from the results view, frozen with its acknowledgment state at mint time.\n */\nexport const zExperimentReadoutCaveat = z.object({\n id: z.string(),\n severity: z.enum([\n 'info',\n 'warn',\n 'danger'\n ]),\n text: z.string(),\n acknowledged: z.boolean()\n});\n\n/**\n * An immutable, dated readout snapshot — the frozen results view captured when a decision was made. Never updated after insert.\n */\nexport const zExperimentReadoutApiRow = z.object({\n id: z.string(),\n experimentId: z.string(),\n experimentName: z.string(),\n kind: z.enum([\n 'manual',\n 'ship',\n 'stop'\n ]),\n createdBy: z.string(),\n createdAt: z.string(),\n verdict: z.string(),\n title: z.string(),\n why: z.string(),\n configHash: z.string(),\n metricsJson: z.array(zExperimentReadoutMetric).nullable(),\n caveatsJson: z.array(zExperimentReadoutCaveat).nullable(),\n usersJson: z.object({\n groups: z.array(z.object({\n name: z.string(),\n n: z.number()\n })),\n days: z.number()\n }).nullable()\n});\n\nexport const zListConfigsResponse = z.object({\n data: z.array(z.object({\n id: z.string(),\n name: z.string().max(128),\n description: z.string().nullable(),\n folder: z.string().nullable(),\n schema: z.record(z.string(), z.unknown()),\n creatorEmail: z.string().nullish(),\n createdAt: z.string().nullish(),\n updatedAt: z.string(),\n envs: z.record(z.string(), z.object({\n version: z.int().gte(-9007199254740991).lte(9007199254740991),\n publishedAt: z.string(),\n publishedBy: z.string()\n })),\n drafts: z.record(z.string(), z.object({\n updatedAt: z.string(),\n authorEmail: z.string(),\n baseVersion: z.int().gte(-9007199254740991).lte(9007199254740991)\n })),\n values: z.record(z.string(), z.unknown()).optional(),\n draftValues: z.record(z.string(), z.unknown()).optional()\n })),\n next_cursor: z.string().nullable()\n});\n\n/**\n * Stable config/killswitch key in `folder.name` form (two lowercase segments separated by a dot, e.g. `pricing.tiers`). Immutable after create.\n */\nexport const zConfigName = z.string().max(128).regex(/^(?:_default|[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/);\n\n/**\n * Body for `POST /api/admin/configs`. `name` + `schema` required. Per-env `dev`/`staging`/`prod` values are published to that env at version 1 (overriding `value`).\n */\nexport const zCreateConfigRequest = z.object({\n name: zConfigName,\n description: z.string().max(512).optional(),\n folder: zFolder.optional(),\n schema: z.record(z.string(), z.unknown()),\n value: z.record(z.string(), z.unknown()).optional(),\n dev: z.record(z.string(), z.unknown()).optional(),\n staging: z.record(z.string(), z.unknown()).optional(),\n prod: z.record(z.string(), z.unknown()).optional()\n});\n\nexport const zCreateConfigResponse = z.object({\n id: z.string(),\n name: z.string().max(128)\n});\n\nexport const zGetConfigResponse = z.object({\n id: z.string(),\n name: z.string().max(128),\n description: z.string().nullable(),\n folder: z.string().nullable(),\n schema: z.record(z.string(), z.unknown()),\n creatorEmail: z.string().nullish(),\n createdAt: z.string().nullish(),\n updatedAt: z.string(),\n envs: z.record(z.string(), z.object({\n version: z.int().gte(-9007199254740991).lte(9007199254740991),\n publishedAt: z.string(),\n publishedBy: z.string()\n })),\n drafts: z.record(z.string(), z.object({\n updatedAt: z.string(),\n authorEmail: z.string(),\n baseVersion: z.int().gte(-9007199254740991).lte(9007199254740991)\n })),\n values: z.record(z.string(), z.unknown()).optional(),\n draftValues: z.record(z.string(), z.unknown()).optional()\n});\n\nexport const zDeleteConfigResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/configs/{id}`. Partial — only supplied fields change. `value` republishes on every env; per-env `dev`/`staging`/`prod` publish a new version to just that env.\n */\nexport const zUpdateConfigRequest = z.object({\n schema: z.record(z.string(), z.unknown()).optional(),\n value: z.record(z.string(), z.unknown()).optional(),\n dev: z.record(z.string(), z.unknown()).optional(),\n staging: z.record(z.string(), z.unknown()).optional(),\n prod: z.record(z.string(), z.unknown()).optional(),\n folder: zFolder.optional()\n});\n\nexport const zUpdateConfigResponse = z.object({\n id: z.string()\n});\n\n/**\n * Target environment. One of the project's configured envs (`dev`, `staging`, `prod`).\n */\nexport const zEnv = z.enum([\n 'dev',\n 'staging',\n 'prod'\n]);\n\n/**\n * Body for `PUT /api/admin/configs/{id}/drafts`. Stages a value for a single env without publishing.\n */\nexport const zSaveConfigDraftRequest = z.object({\n env: zEnv,\n value: z.record(z.string(), z.unknown())\n});\n\nexport const zSaveConfigDraftResponse = z.object({\n id: z.string(),\n env: zEnv,\n baseVersion: z.int().gte(-9007199254740991).lte(9007199254740991),\n updatedAt: z.string()\n});\n\n/**\n * Body for `POST /api/admin/configs/{id}/publish` and `DELETE /api/admin/configs/{id}/drafts`. Names the target env.\n */\nexport const zDiscardConfigDraftRequest = z.object({\n env: zEnv\n});\n\nexport const zDiscardConfigDraftResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `POST /api/admin/configs/{id}/publish` and `DELETE /api/admin/configs/{id}/drafts`. Names the target env.\n */\nexport const zPublishConfigDraftRequest = z.object({\n env: zEnv\n});\n\nexport const zPublishConfigDraftResponse = z.object({\n id: z.string(),\n env: zEnv,\n version: z.int().gte(-9007199254740991).lte(9007199254740991)\n});\n\n/**\n * Recent audit rows for one config, newest first.\n */\nexport const zListConfigActivityResponse = z.array(z.object({\n id: z.string(),\n action: z.string(),\n actorEmail: z.string(),\n actorType: z.enum([\n 'user',\n 'cli',\n 'system'\n ]),\n payload: z.unknown(),\n createdAt: z.string()\n}));\n\n/**\n * Body for `PATCH /api/admin/configs/{id}/schema`. Schema-only update — replaces the config's schema and re-validates existing values.\n */\nexport const zUpdateConfigSchemaRequest = z.object({\n schema: z.record(z.string(), z.unknown())\n});\n\nexport const zUpdateConfigSchemaResponse = z.object({\n id: z.string()\n});\n\n/**\n * Full published-value history for one (config, env), newest first. The config's schema is config-level and not versioned — this is value history only.\n */\nexport const zListConfigVersionsResponse = z.array(z.object({\n version: z.int().gte(1).lte(9007199254740991),\n value: z.unknown(),\n publishedAt: z.string(),\n publishedBy: z.string()\n}));\n\nexport const zListKillswitchesResponse = z.object({\n data: z.array(z.object({\n id: z.string(),\n name: z.string().max(128),\n description: z.string().nullable(),\n folder: z.string().nullable(),\n creatorEmail: z.string().nullable(),\n createdAt: z.string().nullable(),\n updatedAt: z.string(),\n envs: z.record(z.string(), z.object({\n value: z.boolean(),\n switches: z.record(z.string(), z.boolean()).optional(),\n version: z.int().gte(-9007199254740991).lte(9007199254740991),\n publishedAt: z.string(),\n publishedBy: z.string().nullish()\n }))\n })),\n next_cursor: z.string().nullable()\n});\n\n/**\n * Body for `POST /api/admin/killswitches`. Only `name` is required.\n */\nexport const zCreateKillswitchRequest = z.object({\n name: zConfigName,\n description: z.string().max(512).optional(),\n folder: zFolder.optional(),\n value: z.boolean().optional(),\n switches: z.record(z.string(), z.boolean()).optional()\n});\n\nexport const zCreateKillswitchResponse = z.object({\n id: z.string(),\n name: z.string().max(128)\n});\n\nexport const zGetKillswitchResponse = z.object({\n id: z.string(),\n name: z.string().max(128),\n description: z.string().nullable(),\n folder: z.string().nullable(),\n creatorEmail: z.string().nullable(),\n createdAt: z.string().nullable(),\n updatedAt: z.string(),\n envs: z.record(z.string(), z.object({\n value: z.boolean(),\n switches: z.record(z.string(), z.boolean()).optional(),\n version: z.int().gte(-9007199254740991).lte(9007199254740991),\n publishedAt: z.string(),\n publishedBy: z.string().nullish()\n }))\n});\n\nexport const zDeleteKillswitchResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/killswitches/{id}`. Partial — only supplied fields change. `switches` replaces wholesale (no merge).\n */\nexport const zUpdateKillswitchRequest = z.object({\n description: z.string().max(512).nullish(),\n folder: zFolder.optional(),\n value: z.boolean().optional(),\n switches: z.record(z.string(), z.boolean()).optional()\n});\n\nexport const zUpdateKillswitchResponse = z.object({\n id: z.string()\n});\n\n/**\n * Body for `PUT /api/admin/killswitches/{id}/switch`. Sets or updates one switch entry on one env.\n */\nexport const zSetKillswitchSwitchRequest = z.object({\n env: zEnv,\n switchKey: z.string().max(64).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/),\n value: z.boolean()\n});\n\nexport const zSetKillswitchSwitchResponse = z.object({\n id: z.string(),\n env: zEnv,\n switchKey: z.string().max(64).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/),\n value: z.boolean()\n});\n\n/**\n * Body for `DELETE /api/admin/killswitches/{id}/switch`. Removes one switch entry from one env.\n */\nexport const zUnsetKillswitchSwitchRequest = z.object({\n env: zEnv,\n switchKey: z.string().max(64).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/)\n});\n\nexport const zUnsetKillswitchSwitchResponse = z.object({\n id: z.string(),\n env: zEnv,\n switchKey: z.string().max(64).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/),\n removed: z.boolean()\n});\n\n/**\n * Body for `PUT /api/admin/killswitches/{id}/value`. Sets the flat `value` on one env without touching `switches` or other envs.\n */\nexport const zSetKillswitchValueRequest = z.object({\n env: zEnv,\n value: z.boolean()\n});\n\n/**\n * Runtime killswitch payload returned to SDKs.\n */\nexport const zKillswitchValue = z.object({\n value: z.boolean(),\n switches: z.record(z.string(), z.boolean()).optional()\n});\n\nexport const zSetKillswitchValueResponse = z.object({\n id: z.string(),\n env: zEnv,\n version: z.int().gte(-9007199254740991).lte(9007199254740991),\n published: zKillswitchValue\n});\n\nexport const zUniverseParam = z.object({\n name: z.string().min(1).max(128).regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/),\n type: z.enum([\n 'bool',\n 'string',\n 'int',\n 'number'\n ]),\n default: z.unknown()\n});\n\n/**\n * The universe's ordered config schema — the single source of truth for its params.\n */\nexport const zUniverseParamSchema = z.array(zUniverseParam);\n\nexport const zListUniversesResponse = z.object({\n data: z.array(z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n description: z.string().nullish(),\n unitType: z.string(),\n holdoutRange: z.tuple([z.number(), z.number()]).nullable(),\n recommendedHeadroom: z.int().gte(0).lte(10000).optional(),\n paramSchema: zUniverseParamSchema.nullish(),\n createdAt: z.string()\n })),\n next_cursor: z.string().nullable()\n});\n\n/**\n * Body for `POST /api/admin/universes`. Only `name` is required.\n */\nexport const zCreateUniverseRequest = z.object({\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/),\n folder: zFolder.optional(),\n description: z.string().max(2000).nullish().default(null),\n unit_type: z.string().optional().default('user_id'),\n holdout_range: z.tuple([z.int().gte(0).lte(9999), z.int().gte(0).lte(9999)]).nullish().default(null),\n recommended_headroom: z.int().gte(0).lte(10000).optional().default(0),\n param_schema: zUniverseParamSchema.nullish().default(null)\n});\n\nexport const zCreateUniverseResponse = z.object({\n id: z.string(),\n name: z.string().max(128).regex(/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?)?$/)\n});\n\nexport const zDeleteUniverseResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/universes/{id}`. `name` and `unit_type` are immutable after create; `holdout_range`, `description`, `recommended_headroom` and `param_schema` are mutable.\n */\nexport const zUpdateUniverseRequest = z.object({\n folder: zFolder.optional(),\n description: z.string().max(2000).nullish(),\n holdout_range: z.tuple([z.int().gte(0).lte(9999), z.int().gte(0).lte(9999)]).nullish(),\n recommended_headroom: z.int().gte(0).lte(10000).optional(),\n param_schema: zUniverseParamSchema.nullish()\n});\n\nexport const zUpdateUniverseResponse = z.object({\n id: z.string()\n});\n\n/**\n * Single targeting predicate as returned by the API. `value` is optional here — read-only built-in templates (e.g. `@owner`, or presets whose operand is supplied at substitution time) legitimately omit it. Request bodies still require `value`.\n */\nexport const zGateTemplateRuleResponse = z.object({\n attr: z.string(),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.unknown().optional()\n});\n\n/**\n * A reusable targeting-rule template. Built-ins are read-only (`builtin: true`, stable slug `id`); per-project customer templates are `builtin: false` with a `gtpl_…` id.\n */\nexport const zGateTemplate = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n category: z.enum(['condition', 'rollout']),\n auto: z.boolean(),\n builtin: z.boolean(),\n iconKey: z.string().nullish(),\n rules: z.array(zGateTemplateRuleResponse),\n createdAt: z.string().nullish(),\n updatedAt: z.string().nullish()\n});\n\nexport const zListGateTemplatesResponse = z.object({\n data: z.array(zGateTemplate),\n next_cursor: z.string().nullable()\n});\n\n/**\n * Single targeting predicate. Copy a template's rules, substitute the concrete `value`(s), and pass them as the `rules` arg of `release_flags_create`.\n */\nexport const zGateTemplateRule = z.object({\n attr: z.string(),\n op: z.enum([\n 'eq',\n 'neq',\n 'in',\n 'not_in',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'contains',\n 'regex',\n 'semver_gt',\n 'semver_gte',\n 'semver_lt',\n 'semver_lte',\n 'gate_pass',\n 'exp_in'\n ]),\n value: z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.array(z.unknown())\n ])\n});\n\n/**\n * Body for `POST /api/admin/gate-templates`. Creates a per-project (customer) template. At minimum supply `name` + `rules`.\n */\nexport const zCreateGateTemplateRequest = z.object({\n name: z.string().min(1).max(140),\n description: z.string().max(2000).optional().default(''),\n category: z.enum(['condition', 'rollout']).optional().default('condition'),\n icon_key: z.string().max(64).optional(),\n auto: z.boolean().optional().default(false),\n rules: z.array(zGateTemplateRule).min(1)\n});\n\nexport const zCreateGateTemplateResponse = z.object({\n id: z.string(),\n name: z.string()\n});\n\nexport const zDeleteGateTemplateResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/gate-templates/{id}`. Partial — only supplied fields change. `rules` replaces wholesale. Built-in templates are read-only (409).\n */\nexport const zUpdateGateTemplateRequest = z.object({\n name: z.string().min(1).max(140).optional(),\n description: z.string().max(2000).optional(),\n category: z.enum(['condition', 'rollout']).optional(),\n icon_key: z.string().nullish(),\n auto: z.boolean().optional(),\n rules: z.array(zGateTemplateRule).min(1).optional()\n});\n\nexport const zUpdateGateTemplateResponse = z.object({\n id: z.string()\n});\n\n/**\n * Declared value type of a targeting attribute.\n */\nexport const zAttributeType = z.enum([\n 'string',\n 'number',\n 'boolean',\n 'enum',\n 'date'\n]);\n\n/**\n * Every targeting attribute in the project (declared and auto-inferred).\n */\nexport const zListAttributesResponse = z.array(z.object({\n id: z.string(),\n name: z.string(),\n type: zAttributeType,\n enumValues: z.array(z.string()).nullish(),\n required: z.union([z.literal(0), z.literal(1)]).optional(),\n description: z.string().nullish(),\n sdkPath: z.string().nullish(),\n createdAt: z.string().optional(),\n source: z.enum(['auto', 'manual']).optional(),\n lastSeenAt: z.string().nullish(),\n deprecated: z.union([z.literal(0), z.literal(1)]).optional()\n}));\n\n/**\n * Body for `POST /api/admin/attributes`. Declares a targeting attribute.\n */\nexport const zCreateAttributeRequest = z.object({\n name: z.string().regex(/^[a-z0-9][a-z0-9_-]{0,63}$/),\n type: zAttributeType,\n enum_values: z.array(z.string()).nullish().default(null),\n required: z.boolean().optional().default(false),\n description: z.string().optional(),\n sdk_path: z.string().optional()\n});\n\n/**\n * Response for `POST /api/admin/attributes`.\n */\nexport const zCreateAttributeResponse = z.object({\n id: z.string(),\n name: z.string()\n});\n\n/**\n * One targeting attribute row.\n */\nexport const zGetAttributeResponse = z.object({\n id: z.string(),\n name: z.string(),\n type: zAttributeType,\n enumValues: z.array(z.string()).nullish(),\n required: z.union([z.literal(0), z.literal(1)]).optional(),\n description: z.string().nullish(),\n sdkPath: z.string().nullish(),\n createdAt: z.string().optional()\n});\n\n/**\n * Response for `DELETE /api/admin/attributes/{id}`.\n */\nexport const zDeleteAttributeResponse = z.object({\n ok: z.boolean()\n});\n\n/**\n * Body for `PATCH /api/admin/attributes/{id}`. Every field is optional; `name` is immutable.\n */\nexport const zUpdateAttributeRequest = z.object({\n type: zAttributeType.optional(),\n enum_values: z.array(z.string()).nullish(),\n required: z.boolean().optional(),\n description: z.string().optional(),\n sdk_path: z.string().optional()\n});\n\n/**\n * Response for `PATCH /api/admin/attributes/{id}`.\n */\nexport const zUpdateAttributeResponse = z.object({\n id: z.string()\n});\n\n/**\n * Typed query IR — the structured alternative to the `query` DSL string. Exactly one of `query` / `query_ir` is supplied per metric body.\n */\nexport const zQueryIr = z.object({\n agg: z.union([\n z.object({\n kind: z.literal('count_users')\n }),\n z.object({\n kind: z.literal('count_events')\n }),\n z.object({\n kind: z.literal('sum')\n }),\n z.object({\n kind: z.literal('avg')\n }),\n z.object({\n kind: z.literal('min')\n }),\n z.object({\n kind: z.literal('max')\n }),\n z.object({\n kind: z.literal('unique')\n }),\n z.object({\n kind: z.literal('quantile'),\n p: z.union([\n z.literal(0.5),\n z.literal(0.75),\n z.literal(0.9),\n z.literal(0.95),\n z.literal(0.99),\n z.literal(0.999)\n ])\n }),\n z.object({\n kind: z.literal('retention_Nd'),\n n: z.int().gte(1).lte(90)\n }),\n z.object({\n kind: z.literal('ratio'),\n numerator: z.object({\n agg: z.enum(['count_users', 'count_events']),\n metric: z.string().min(1).max(128),\n filters: z.array(z.object({\n label: z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/),\n op: z.enum([\n '=',\n '!=',\n '=~',\n '!~'\n ]),\n value: z.string().max(512)\n })).max(16).optional()\n }),\n denominator: z.object({\n agg: z.enum(['count_users', 'count_events']),\n metric: z.string().min(1).max(128),\n filters: z.array(z.object({\n label: z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/),\n op: z.enum([\n '=',\n '!=',\n '=~',\n '!~'\n ]),\n value: z.string().max(512)\n })).max(16).optional()\n })\n })\n ]),\n metric: z.string().min(1).max(128),\n valueLabel: z.string().min(1).max(128).optional(),\n filters: z.array(z.object({\n label: z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/),\n op: z.enum([\n '=',\n '!=',\n '=~',\n '!~'\n ]),\n value: z.string().max(512)\n })).max(16).optional().default([]),\n groupBy: z.object({\n op: z.enum(['by', 'without']),\n labels: z.array(z.string().regex(/^[a-z_][a-z0-9_]{0,63}$/)).max(5)\n }).optional()\n});\n\n/**\n * Every metric in the project (the list endpoint is not paginated).\n */\nexport const zListMetricsResponse = z.array(z.object({\n id: z.string(),\n name: z.string(),\n folder: z.string().nullable(),\n eventName: z.string(),\n query: z.string().nullable(),\n queryIr: zQueryIr.nullable(),\n displayName: z.string().nullable(),\n presetId: z.string().nullable(),\n unit: z.string().nullable(),\n version: z.int(),\n deletedAt: z.string().nullable(),\n creatorEmail: z.string().nullish(),\n updaterEmail: z.string().nullish(),\n direction: z.enum([\n 'higher_better',\n 'lower_better',\n 'neutral'\n ]).optional(),\n winsorizePct: z.number().optional(),\n defaultMinEffectOfInterest: z.number().nullish(),\n createdAt: z.string().nullish(),\n updatedAt: z.string().optional()\n}));\n\n/**\n * Source event the query reads from.\n */\nexport const zMetricEventName = z.string().min(1);\n\n/**\n * Metric query DSL string, e.g. `sum(purchase, amount)`. The alternative to `query_ir`. Every label the query references — in filters, the value position, `by (…)`, or `without (…)` — must exist as a property on the tracked event's payload; a query over a label the event never carries validates fine but returns empty results.\n */\nexport const zMetricQueryDsl = z.string().min(1).max(4096);\n\n/**\n * Winsorise percentile (1–99) to clamp outliers. Defaults to 99.\n */\nexport const zMetricWinsorizePct = z.int().gte(1).lte(99).default(99);\n\n/**\n * Default minimum effect of interest (relative, 0–1) — the smallest change in this metric worth acting on, used as the power-planning baseline. Intrinsic to the metric; an experiment overrides it per-attachment with `min_effect_of_interest` when a specific decision has a different cost/risk bar. `null` to omit.\n */\nexport const zMetricDefaultMinEffectOfInterest = z.number().nullable().default(null);\n\n/**\n * Desired direction of movement. `higher_better` (default), `lower_better`, or `neutral` (guardrail).\n */\nexport const zMetricDirection = z.enum([\n 'higher_better',\n 'lower_better',\n 'neutral'\n]).default('higher_better');\n\n/**\n * Display unit (e.g. `ms`, `%`, `$`), or `null` when unitless.\n */\nexport const zMetricDisplayUnit = z.string().nullable();\n\n/**\n * Create a metric, supplying the query as a `query` DSL string.\n */\nexport const zCreateMetricWithQuery = z.object({\n name: zMetricName,\n folder: zFolder.optional(),\n event_name: zMetricEventName,\n query: zMetricQueryDsl,\n winsorize_pct: zMetricWinsorizePct.optional(),\n default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),\n direction: zMetricDirection.optional(),\n unit: zMetricDisplayUnit.optional()\n});\n\n/**\n * Create a metric, supplying the query as a typed `query_ir`.\n */\nexport const zCreateMetricWithQueryIr = z.object({\n name: zMetricName,\n folder: zFolder.optional(),\n event_name: zMetricEventName,\n query_ir: zQueryIr,\n winsorize_pct: zMetricWinsorizePct.optional(),\n default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),\n direction: zMetricDirection.optional(),\n unit: zMetricDisplayUnit.optional()\n});\n\n/**\n * Body for `POST /api/admin/metrics`. Requires `name`, `event_name`, and exactly one of `query` / `query_ir` — modelled as a `oneOf` of two strict variants, so supplying both (or neither) is rejected.\n */\nexport const zCreateMetricRequest = z.union([\n zCreateMetricWithQuery,\n zCreateMetricWithQueryIr\n]);\n\n/**\n * Result of a successful metric create.\n */\nexport const zCreateMetricResponse = z.object({\n id: z.string(),\n name: z.string()\n});\n\n/**\n * A metric definition.\n */\nexport const zGetMetricResponse = z.object({\n id: z.string(),\n name: z.string(),\n folder: z.string().nullable(),\n eventName: z.string(),\n query: z.string().nullable(),\n queryIr: zQueryIr.nullable(),\n displayName: z.string().nullable(),\n presetId: z.string().nullable(),\n unit: z.string().nullable(),\n version: z.int(),\n deletedAt: z.string().nullable(),\n direction: z.enum([\n 'higher_better',\n 'lower_better',\n 'neutral'\n ]).optional(),\n winsorizePct: z.number().optional(),\n defaultMinEffectOfInterest: z.number().nullish(),\n createdAt: z.string().nullish(),\n updatedAt: z.string().optional()\n});\n\n/**\n * Soft-delete (archive) acknowledgement.\n */\nexport const zDeleteMetricResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Update-metric variant that replaces the query with a `query` DSL string.\n */\nexport const zUpdateMetricWithQuery = z.object({\n folder: zFolder.optional(),\n event_name: zMetricEventName.optional(),\n query: zMetricQueryDsl,\n winsorize_pct: zMetricWinsorizePct.optional(),\n default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),\n direction: zMetricDirection.optional(),\n unit: zMetricDisplayUnit.optional()\n});\n\n/**\n * Update-metric variant that replaces the query with a typed `query_ir`.\n */\nexport const zUpdateMetricWithQueryIr = z.object({\n folder: zFolder.optional(),\n event_name: zMetricEventName.optional(),\n query_ir: zQueryIr,\n winsorize_pct: zMetricWinsorizePct.optional(),\n default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),\n direction: zMetricDirection.optional(),\n unit: zMetricDisplayUnit.optional()\n});\n\n/**\n * Update-metric variant that leaves the query untouched (metadata-only edit — folder, event, winsorisation, default minimum effect of interest, direction, display unit).\n */\nexport const zUpdateMetricFields = z.object({\n folder: zFolder.optional(),\n event_name: zMetricEventName.optional(),\n winsorize_pct: zMetricWinsorizePct.optional(),\n default_min_effect_of_interest: zMetricDefaultMinEffectOfInterest.optional(),\n direction: zMetricDirection.optional(),\n unit: zMetricDisplayUnit.optional()\n});\n\n/**\n * Body for `PATCH /api/admin/metrics/{id}`. Every field is optional (`name` is immutable); provide at most one of `query` / `query_ir` — modelled as a `oneOf` of three disjoint strict variants (query-only, query_ir-only, or neither), so supplying both is rejected.\n */\nexport const zUpdateMetricRequest = z.union([\n zUpdateMetricWithQuery,\n zUpdateMetricWithQueryIr,\n zUpdateMetricFields\n]);\n\n/**\n * Experiments that attach this metric, ordered with running experiments first, then by role weight (goal > guardrail > secondary), then by name.\n */\nexport const zListMetricExperimentsResponse = z.object({\n experiments: z.array(z.object({\n id: z.string(),\n name: z.string(),\n status: z.enum([\n 'draft',\n 'running',\n 'stopped',\n 'archived'\n ]),\n role: z.enum([\n 'goal',\n 'guardrail',\n 'secondary'\n ])\n }))\n});\n\n/**\n * Unarchive (undo soft-delete) acknowledgement.\n */\nexport const zUnarchiveMetricResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Time window for the metric series. Bounds are epoch **seconds** (Analytics Engine stores the event timestamp in seconds). `to` must be strictly greater than `from`.\n */\nexport const zGetMetricSeriesRequest = z.object({\n from: z.int().gte(0),\n to: z.int().gte(0),\n bucket: z.int().gte(60).lte(86400).optional().default(3600)\n});\n\n/**\n * Bucketed values for one metric, compiled from its typed IR and executed against the Analytics Engine SQL API, plus the SQL that produced them. Capped at 5000 rows (high-cardinality `groupBy` series are truncated).\n */\nexport const zGetMetricSeriesResponse = z.object({\n sql: z.string(),\n rows: z.array(z.object({\n t: z.int(),\n v: z.number()\n }))\n});\n\n/**\n * Every catalogued event in the project (including pending auto-discovered names).\n */\nexport const zListEventsResponse = z.array(z.object({\n id: z.string(),\n name: z.string(),\n folder: z.string().max(256).regex(/^[a-zA-Z0-9_-]+$/).nullish(),\n description: z.string().nullable(),\n properties: z.array(z.object({\n name: z.string().min(1).max(64),\n type: z.enum([\n 'string',\n 'number',\n 'boolean'\n ]),\n required: z.boolean().optional().default(false),\n description: z.string().optional().default('')\n })),\n pending: z.int().gte(-9007199254740991).lte(9007199254740991),\n createdAt: z.string()\n}));\n\n/**\n * Body for `POST /api/admin/events`. Only `name` is required.\n */\nexport const zCreateEventRequest = z.object({\n name: z.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_\\-.]{0,127}$/),\n folder: zFolder.optional(),\n description: z.string().optional(),\n properties: z.array(z.object({\n name: z.string().min(1).max(64),\n type: z.enum([\n 'string',\n 'number',\n 'boolean'\n ]),\n required: z.boolean().optional().default(false),\n description: z.string().optional().default('')\n })).optional().default([])\n});\n\n/**\n * Result of creating (or approving an existing pending) event.\n */\nexport const zCreateEventResponse = z.object({\n id: z.string(),\n name: z.string()\n});\n\n/**\n * A catalogued event.\n */\nexport const zGetEventResponse = z.object({\n id: z.string(),\n name: z.string(),\n folder: z.string().max(256).regex(/^[a-zA-Z0-9_-]+$/).nullish(),\n description: z.string().nullable(),\n properties: z.array(z.object({\n name: z.string().min(1).max(64),\n type: z.enum([\n 'string',\n 'number',\n 'boolean'\n ]),\n required: z.boolean().optional().default(false),\n description: z.string().optional().default('')\n })),\n pending: z.int().gte(-9007199254740991).lte(9007199254740991),\n createdAt: z.string()\n});\n\n/**\n * Confirmation that the event was archived.\n */\nexport const zDeleteEventResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/events/{id}` and `POST /api/admin/events/{id}/approve`. All fields optional; `name` is immutable after create.\n */\nexport const zUpdateEventRequest = z.object({\n folder: zFolder.optional(),\n description: z.string().optional(),\n properties: z.array(z.object({\n name: z.string().min(1).max(64),\n type: z.enum([\n 'string',\n 'number',\n 'boolean'\n ]),\n required: z.boolean().optional().default(false),\n description: z.string().optional().default('')\n })).optional()\n});\n\n/**\n * Result of updating or approving an event.\n */\nexport const zUpdateEventResponse = z.object({\n id: z.string()\n});\n\n/**\n * Body for `PATCH /api/admin/events/{id}` and `POST /api/admin/events/{id}/approve`. All fields optional; `name` is immutable after create.\n */\nexport const zApproveEventRequest = z.object({\n folder: zFolder.optional(),\n description: z.string().optional(),\n properties: z.array(z.object({\n name: z.string().min(1).max(64),\n type: z.enum([\n 'string',\n 'number',\n 'boolean'\n ]),\n required: z.boolean().optional().default(false),\n description: z.string().optional().default('')\n })).optional()\n});\n\n/**\n * Result of updating or approving an event.\n */\nexport const zApproveEventResponse = z.object({\n id: z.string()\n});\n\n/**\n * Lifecycle status of a queue item. The working flow is `open` → `triaged` → `in_progress` → `ready_for_qa` → `resolved` (or `wont_fix`, terminal from any earlier stage). `blocked` marks an item that can't progress until an external dependency clears — a working state a human sets and clears. `ready_for_qa` is what a developer sets once a fix lands; `resolved` is the QA sign-off, normally flipped in the dashboard after verification — set it directly from code only when the fix has been verified end-to-end. `investigating_by_ai` is a system-owned display state — set when the AI agent (Jarvis) picks an item up to investigate, never chosen by a human — so it is shown but not offered as a manual choice. Two human-gated holding states park an item OUT of the work queue until a human promotes it to `open` in the dashboard, so `GET /api/admin/ops` excludes them under `status=all`/default and returns them only when requested as an exact `status`: `pending_approval` is the pre-open approval gate for untriaged inbound (e.g. connector requests filed from a customer's connectors panel) so it never gets auto-implemented — approving = flipping the status to `open`; `triage` is the onboarding-help bucket — questions/errors submitted to the \"Stuck in onboarding?\" assistant are funnelled into the platform project as `triage` rows so the team can see where people get stuck and follow up, keeping onboarding chatter out of the work queue until a human moves real items to `open`.\n */\nexport const zOpsItemStatus = z.enum([\n 'open',\n 'pending_approval',\n 'triage',\n 'triaged',\n 'investigating_by_ai',\n 'in_progress',\n 'blocked',\n 'ready_for_qa',\n 'resolved',\n 'wont_fix'\n]);\n\n/**\n * Triage priority of a queue item. The lowest tier is `nice_to_have` (not `low`) — carried over from the feature-request \"importance\" scale this priority set replaced.\n */\nexport const zOpsItemPriority = z.enum([\n 'nice_to_have',\n 'medium',\n 'high',\n 'critical'\n]);\n\n/**\n * Where automation has taken an item in the investigation lifecycle — the signal the ops cockpit renders as \"what AI did\" plus the one action expected of the user. It is **written as a side-effect of the actions that already happen**, never authored on its own: linking a PR sets `pr_ready`, moving to `in_progress` sets `working`, `ready_for_qa` sets `ready_for_qa`, a system/assistant reply sets `question`, resolving clears it, and creation seeds `needs_triage`/`backlog` (by priority) or `investigated`/`detected` for auto-filed error/alert tickets. `triaged_low` marks a low-signal item AI has looked at but that nothing is moving. Absent on rows filed before the field existed — consumers should treat a missing value as \"derive from the other fields\".\n */\nexport const zOpsInvestigationState = z.enum([\n 'pr_ready',\n 'investigated',\n 'detected',\n 'question',\n 'ready_for_qa',\n 'pending_approval',\n 'needs_triage',\n 'working',\n 'triaged_low',\n 'backlog'\n]);\n\n/**\n * Auto-collected browser environment for a `bug`/`feature_request`, captured at file time.\n */\nexport const zOpsBrowserContext = z.object({\n pageUrl: z.string().nullish(),\n userAgent: z.string().nullish(),\n viewport: z.string().nullish()\n});\n\n/**\n * Hydrated detail for an auto-filed `error` ticket, read from the tracked `errors` row at request time (so `count`/`lastSeenAt` reflect the latest state).\n */\nexport const zOpsErrorContext = z.object({\n id: z.string(),\n fingerprint: z.string(),\n causedByFingerprint: z.string().nullish(),\n errorType: z.string().nullish(),\n message: z.string(),\n subject: z.string().nullish(),\n outcome: z.string().nullish(),\n kind: z.string().nullish(),\n side: z.string().nullish(),\n env: z.string().nullish(),\n count: z.number(),\n firstSeenAt: z.string(),\n lastSeenAt: z.string(),\n seenUrls: z.array(z.string()),\n stackTail: z.string().nullish(),\n sdkVersion: z.string().nullish()\n});\n\n/**\n * The condition of a metric-rule alert.\n */\nexport const zOpsAlertRuleSummary = z.object({\n id: z.string(),\n name: z.string(),\n comparator: z.enum([\n 'gt',\n 'gte',\n 'lt',\n 'lte'\n ]),\n threshold: z.number(),\n windowHours: z.number()\n});\n\n/**\n * The metric an alert watches, with its backing events.\n */\nexport const zOpsAlertMetricSummary = z.object({\n id: z.string(),\n name: z.string(),\n events: z.array(z.string())\n});\n\n/**\n * Hydrated detail for an auto-filed `alert` ticket, resolving the rule → metric → event chain at request time.\n */\nexport const zOpsAlertContext = z.object({\n source: z.enum([\n 'metric_rule',\n 'experiment_srm',\n 'experiment_peek',\n 'guardrail'\n ]),\n dedupeKey: z.string(),\n severity: z.enum([\n 'danger',\n 'warn',\n 'info'\n ]),\n observedValue: z.number().nullish(),\n href: z.string().nullish(),\n status: z.enum([\n 'active',\n 'resolved',\n 'dismissed'\n ]).nullish(),\n activeSince: z.string().nullish(),\n resolvedAt: z.string().nullish(),\n rule: zOpsAlertRuleSummary.nullish(),\n metric: zOpsAlertMetricSummary.nullish()\n});\n\n/**\n * A resource referenced by a measurement plan.\n */\nexport const zMeasurePlanResource = z.object({\n kind: z.enum([\n 'metric',\n 'experiment',\n 'alert_rule',\n 'event'\n ]),\n id: z.string().nullish(),\n name: z.string()\n});\n\n/**\n * One piece of code instrumentation a measurement plan still needs.\n */\nexport const zMeasurePlanStep = z.object({\n event: z.string().nullish(),\n attribute: z.string().nullish(),\n label: z.string(),\n description: z.string().nullish(),\n properties: z.array(z.string()).optional()\n});\n\n/**\n * An assistant-proposed measurement plan: what it already built, what it still needs, and the event instrumentation you implement.\n */\nexport const zOpsMeasurePlanContext = z.object({\n goal: z.string().nullish(),\n created: z.array(zMeasurePlanResource),\n pending: z.array(zMeasurePlanResource).optional(),\n instrumentation: z.array(zMeasurePlanStep)\n});\n\n/**\n * Per-type capture context on a queue item. Exactly one of `browser` (bug/feature), `error`, `alert`, or `measurePlan` is populated depending on `type`; other keys (e.g. the AI dedupe block on bugs) may also be present.\n */\nexport const zOpsItemContext = z.object({\n browser: zOpsBrowserContext.optional(),\n error: zOpsErrorContext.optional(),\n alert: zOpsAlertContext.optional(),\n measurePlan: zOpsMeasurePlanContext.optional(),\n errorChart: z.object({\n series: z.array(z.object({\n t: z.number(),\n v: z.number()\n })),\n domainFrom: z.number(),\n domainTo: z.number()\n }).optional()\n});\n\n/**\n * The pull request linked to a queue item via `link-pr` (stored on `connectorData.github.pr`).\n */\nexport const zGithubPrLink = z.object({\n number: z.number(),\n url: z.string(),\n linkedAt: z.string().optional(),\n connectedToIssue: z.boolean().optional(),\n method: z.enum(['closes', 'comment']).optional()\n});\n\n/**\n * GitHub connector trace — the issue it opened and, once linked, the pull request.\n */\nexport const zGithubConnectorData = z.object({\n issue: z.object({\n number: z.number(),\n url: z.string(),\n owner: z.string(),\n repo: z.string(),\n createdAt: z.string().optional()\n }).optional(),\n pr: zGithubPrLink.optional()\n});\n\n/**\n * Slack connector trace — the message the driver posted for this item. The linked pull request is recorded on `github.pr`, not here.\n */\nexport const zSlackConnectorData = z.object({\n message: z.object({\n channel: z.string(),\n ts: z.string(),\n postedAt: z.string().optional()\n }).optional()\n});\n\n/**\n * Connector linkage for one queue item, keyed by provider. Each provider's driver deep-merges its own trace into this blob, so any subset of providers may be present. Unknown/future providers may appear as additional keys.\n */\nexport const zConnectorData = z.object({\n github: zGithubConnectorData.optional(),\n slack: zSlackConnectorData.optional()\n});\n\n/**\n * Delivery target for a notification; `null` = use the project default.\n */\nexport const zNotificationTarget = z.object({\n slackChannel: z.object({\n id: z.string().min(1),\n name: z.string().min(1)\n }).nullish(),\n email: z.email().nullish()\n}).nullable();\n\n/**\n * The fully-resolved owner of a queue item — a person and/or an AI agent. The two halves are independent: an item may have a person, an agent, both, or neither (both `null`).\n */\nexport const zOpsItemOwner = z.object({\n user: z.object({\n id: z.string(),\n email: z.string(),\n name: z.string().nullable()\n }).nullable(),\n agent: z.object({\n connectorId: z.string().nullable(),\n builtin: z.literal('jarvis').nullable(),\n provider: z.enum([\n 'claude_trigger',\n 'cursor_trigger',\n 'copilot_trigger',\n 'jules_trigger',\n 'jarvis'\n ]),\n name: z.string()\n }).nullable()\n});\n\n/**\n * The final action that closed a run record — `link_pr`/`notify` are the agent's terminal ops actions, `status` a completion status flip (ready_for_qa/resolved), `superseded` a newer ack replacing an open run.\n */\nexport const zOpsRunAction = z.enum([\n 'link_pr',\n 'notify',\n 'status',\n 'superseded'\n]);\n\n/**\n * Which final action closed the run, or `null` while it is open (or a non-run record).\n */\nexport const zOpsRunActionOrNull = zOpsRunAction.nullable();\n\n/**\n * One run on a queue item — who (person or AI agent) picked it up when, and, once closed, how it ended (final action + PR + session link). Opened by `POST /api/admin/ops/{handle}/ack`.\n */\nexport const zOpsRun = z.object({\n id: z.string(),\n agent: z.string().nullable(),\n connectorId: z.string().nullable(),\n ackedBy: z.string().nullable(),\n sessionId: z.string().nullable(),\n sessionUrl: z.string().nullable(),\n startedAt: z.string(),\n completedAt: z.string().nullable(),\n completedAction: zOpsRunActionOrNull,\n prNumber: z.number().nullable(),\n prUrl: z.string().nullable()\n});\n\n/**\n * A page of queue items, newest first.\n */\nexport const zListOpsItemsResponse = z.array(z.object({\n id: z.string(),\n number: z.number().nullable(),\n type: z.enum([\n 'bug',\n 'feature_request',\n 'error',\n 'alert',\n 'measure_plan'\n ]),\n title: z.string(),\n status: zOpsItemStatus,\n priority: zOpsItemPriority.nullable(),\n sourceRef: z.string().nullish(),\n investigationState: zOpsInvestigationState.nullish(),\n source: z.enum(['team', 'system']),\n reporterEmail: z.string().nullish(),\n stepsToReproduce: z.string().optional(),\n actualResult: z.string().optional(),\n expectedResult: z.string().optional(),\n description: z.string().optional(),\n useCase: z.string().optional(),\n context: zOpsItemContext.nullish(),\n connectorData: zConnectorData.nullish(),\n notify: zNotificationTarget.nullish(),\n assigneeId: z.string().nullish(),\n assigneeConnectorId: z.string().nullish(),\n assigneeAgent: z.string().nullish(),\n owner: zOpsItemOwner,\n run: zOpsRun.nullable(),\n lastRun: zOpsRun.nullable(),\n createdAt: z.string(),\n updatedAt: z.string()\n}));\n\n/**\n * Bug-kind fields for `POST /api/admin/ops` (sent with `type: bug`).\n */\nexport const zCreateBugRequest = z.object({\n type: z.enum(['bug']),\n title: z.string().min(1).max(200).regex(/^\\S(.*\\S)?$/),\n stepsToReproduce: z.string().max(8000).optional().default(''),\n actualResult: z.string().max(8000).optional().default(''),\n expectedResult: z.string().max(8000).optional().default(''),\n priority: zOpsItemPriority.nullish(),\n status: zOpsItemStatus.optional(),\n assigneeId: z.string().nullish(),\n subscribers: z.array(z.email()).optional().default([]),\n tags: z.array(z.string()).optional().default([]),\n reporterEmail: z.email().nullish(),\n pageUrl: z.url().nullish(),\n userAgent: z.string().max(500).nullish(),\n viewport: z.string().max(40).nullish(),\n context: z.record(z.string(), z.unknown()).nullish(),\n notify: zNotificationTarget.nullish()\n});\n\n/**\n * Feature-request-kind fields for `POST /api/admin/ops` (sent with `type: feature_request`).\n */\nexport const zCreateFeatureRequestRequest = z.object({\n type: z.enum(['feature_request']),\n title: z.string().min(1).max(200).regex(/^\\S(.*\\S)?$/),\n description: z.string().max(8000).optional().default(''),\n useCase: z.string().max(8000).optional().default(''),\n priority: zOpsItemPriority.nullish(),\n status: zOpsItemStatus.optional(),\n assigneeId: z.string().nullish(),\n subscribers: z.array(z.email()).optional().default([]),\n tags: z.array(z.string()).optional().default([]),\n reporterEmail: z.email().nullish(),\n pageUrl: z.url().nullish(),\n userAgent: z.string().max(500).nullish(),\n context: z.record(z.string(), z.unknown()).nullish(),\n notify: zNotificationTarget.nullish()\n});\n\n/**\n * Body for `POST /api/admin/ops`. A discriminated union on `type`: `bug` carries the bug fields, `feature_request` the feature fields. Only these two user-fileable types are accepted — `error`, `alert`, and `measure_plan` tickets are auto-filed by the platform and cannot be created over the API.\n */\nexport const zCreateOpsItemRequest = z.discriminatedUnion('type', [\n zCreateBugRequest.extend({ type: z.literal('bug') }),\n zCreateFeatureRequestRequest.extend({ type: z.literal('feature_request') })\n]);\n\n/**\n * Response for `POST /api/admin/ops`.\n */\nexport const zCreateOpsItemResponse = z.object({\n id: z.string(),\n number: z.number().nullish()\n});\n\n/**\n * A file uploaded with a bug/feature report.\n */\nexport const zOpsItemAttachment = z.object({\n id: z.string(),\n kind: z.string(),\n filename: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number(),\n fetchUrl: z.string()\n});\n\n/**\n * Deep links to the resources behind this item — every value is either a dashboard-relative path or an admin-API path fetchable with the same key.\n */\nexport const zOpsItemRelated = z.object({\n dashboard: z.string().optional(),\n error: z.string().optional(),\n alertRule: z.string().optional(),\n metric: z.string().optional(),\n githubIssue: z.string().optional(),\n githubPr: z.string().optional()\n});\n\n/**\n * One queue item, any of the five types. Shared fields apply to all; `stepsToReproduce`/`actualResult`/`expectedResult` are bug-specific, `description`/`useCase` feature-specific. The auto-collected browser fields (page URL, user-agent, viewport) live under `context.browser` for bug/feature. `context` also carries the hydrated per-type payload for auto-filed `error`/`alert`/`measure_plan` tickets, `attachments` lists any uploaded files, and `related` gives deep links to the underlying resources.\n */\nexport const zGetOpsItemResponse = z.object({\n id: z.string(),\n number: z.number().nullable(),\n type: z.enum([\n 'bug',\n 'feature_request',\n 'error',\n 'alert',\n 'measure_plan'\n ]),\n title: z.string(),\n status: zOpsItemStatus,\n priority: zOpsItemPriority.nullable(),\n source: z.enum(['team', 'system']).optional(),\n sourceRef: z.string().nullish(),\n investigationState: zOpsInvestigationState.nullish(),\n reporterEmail: z.string().nullish(),\n stepsToReproduce: z.string().optional(),\n actualResult: z.string().optional(),\n expectedResult: z.string().optional(),\n description: z.string().optional(),\n useCase: z.string().optional(),\n context: zOpsItemContext.nullable(),\n attachments: z.array(zOpsItemAttachment),\n related: zOpsItemRelated,\n connectorData: zConnectorData.nullish(),\n notify: zNotificationTarget.nullish(),\n assigneeId: z.string().nullish(),\n assigneeConnectorId: z.string().nullish(),\n assigneeAgent: z.string().nullish(),\n owner: zOpsItemOwner,\n createdAt: z.string(),\n updatedAt: z.string().optional()\n});\n\n/**\n * Response for `DELETE /api/admin/ops/{handle}`.\n */\nexport const zDeleteOpsItemResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Triage priority, or `null` when not set (in an update, `null` clears it).\n */\nexport const zOpsItemPriorityOrNull = zOpsItemPriority.nullable();\n\n/**\n * Where this item's completion notification lands, or `null`.\n */\nexport const zOpsItemNotifyOrNull = zNotificationTarget.nullable();\n\n/**\n * Content + triage update for a `bug` item (`PATCH /api/admin/ops/{handle}` when the item is a bug).\n */\nexport const zUpdateBugRequest = z.object({\n title: z.string().min(1).max(200).regex(/^\\S(.*\\S)?$/).optional(),\n stepsToReproduce: z.string().max(8000).optional(),\n actualResult: z.string().max(8000).optional(),\n expectedResult: z.string().max(8000).optional(),\n status: zOpsItemStatus.optional(),\n priority: zOpsItemPriorityOrNull.optional(),\n githubPrNumber: z.int().gte(1).nullish(),\n notify: zOpsItemNotifyOrNull.optional()\n});\n\n/**\n * Content + triage update for a `feature_request` item (`PATCH /api/admin/ops/{handle}` when the item is a feature request).\n */\nexport const zUpdateFeatureRequestRequest = z.object({\n title: z.string().min(1).max(200).regex(/^\\S(.*\\S)?$/).optional(),\n description: z.string().max(8000).optional(),\n useCase: z.string().max(8000).optional(),\n status: zOpsItemStatus.optional(),\n priority: zOpsItemPriorityOrNull.optional(),\n githubPrNumber: z.int().gte(1).nullish(),\n notify: zOpsItemNotifyOrNull.optional()\n});\n\n/**\n * Triage-only update — the shape accepted for any item, and the ONLY shape for auto-filed `error`/`alert`/`measure_plan` tickets (their content is not user-editable).\n */\nexport const zUpdateOpsItemStatusRequest = z.object({\n status: zOpsItemStatus.optional(),\n priority: zOpsItemPriorityOrNull.optional(),\n notify: zOpsItemNotifyOrNull.optional()\n});\n\n/**\n * Body for `PATCH /api/admin/ops/{handle}`. The body is type-less — the server validates it against the stored item's type: a `bug` accepts the bug content fields, a `feature_request` the feature fields, and `error`/`alert`/`measure_plan` only `status`/`priority`/`notify`. Pass at least one field.\n */\nexport const zUpdateOpsItemRequest = z.union([\n zUpdateBugRequest,\n zUpdateFeatureRequestRequest,\n zUpdateOpsItemStatusRequest\n]);\n\n/**\n * Response for the update / link-pr endpoints.\n */\nexport const zUpdateOpsItemResponse = z.object({\n id: z.string()\n});\n\n/**\n * Body for `POST /api/admin/ops/{handle}/link-pr`.\n */\nexport const zLinkPrToOpsItemRequest = z.object({\n prNumber: z.int().gt(0).lte(9007199254740991).nullable(),\n prUrl: z.url().optional()\n});\n\n/**\n * Response for `POST /api/admin/ops/{handle}/link-pr` — the item id and the resulting PR link.\n */\nexport const zLinkPrToOpsItemResponse = z.object({\n id: z.string(),\n pr: zGithubPrLink.nullable()\n});\n\n/**\n * Body for `POST /api/admin/ops/{handle}/ack`. With `agent` set this is an AI ack — the named agent type must have a connected trigger connector in the project, or the call fails with `AGENT_NOT_CONNECTED` and instructions to query the available agents (`ops agents list`). `gemini` is accepted as an alias for `jules`. Without `agent` it is a HUMAN ack by the authenticated caller.\n */\nexport const zAckOpsItemRequest = z.object({\n agent: z.enum([\n 'claude',\n 'cursor',\n 'copilot',\n 'jules',\n 'gemini',\n 'jarvis'\n ]).optional(),\n sessionId: z.string().max(300).optional()\n});\n\n/**\n * Response for `POST /api/admin/ops/{handle}/ack` — the opened run.\n */\nexport const zAckOpsItemResponse = z.object({\n id: z.string(),\n number: z.number().nullable(),\n status: z.string(),\n runId: z.string(),\n agent: z.string().nullable(),\n connectorName: z.string().nullable(),\n sessionId: z.string().nullable(),\n startedAt: z.string()\n});\n\n/**\n * One structured investigation record on a queue item — the read-only write-up an AI agent produces while working it (findings / blocking question / QA notes), rendered by the cockpit's detail panel.\n */\nexport const zOpsInvestigation = z.object({\n id: z.string(),\n feedbackId: z.string(),\n kind: z.enum([\n 'investigated',\n 'detected',\n 'question',\n 'ready_for_qa',\n 'working',\n 'note'\n ]),\n summary: z.string().nullable(),\n findings: z.string().nullable(),\n question: z.string().nullable(),\n qaNotes: z.string().nullable(),\n agent: z.enum([\n 'jarvis',\n 'claude',\n 'cursor',\n 'copilot',\n 'jules'\n ]).nullable(),\n model: z.string().nullable(),\n connectorId: z.string().nullable(),\n prNumber: z.number().nullable(),\n prUrl: z.string().nullable(),\n sources: z.array(z.object({\n path: z.string().optional(),\n url: z.string().optional(),\n label: z.string().optional()\n })).nullable(),\n confidence: z.enum([\n 'low',\n 'medium',\n 'high'\n ]).nullable(),\n tokensUsed: z.number().nullable(),\n durationMs: z.number().nullable(),\n visibility: z.enum(['draft', 'published']),\n startedAt: z.string().nullable(),\n completedAt: z.string().nullable(),\n sessionId: z.string().nullable(),\n sessionUrl: z.string().nullable(),\n ackedBy: z.string().nullable(),\n completedAction: zOpsRunActionOrNull,\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\n/**\n * Response for `GET /api/admin/ops/{handle}/investigation` — the item's `published` investigation records, newest first (max 50).\n */\nexport const zListOpsInvestigationsResponse = z.array(zOpsInvestigation);\n\n/**\n * Body for `POST /api/admin/ops/{handle}/investigation`. `kind` is required; include at least one content field (`summary`/`findings`/`question`/`qaNotes`) — the panel renders whatever it gets.\n */\nexport const zCreateOpsInvestigationRequest = z.object({\n kind: z.enum([\n 'investigated',\n 'detected',\n 'question',\n 'ready_for_qa',\n 'working',\n 'note'\n ]),\n summary: z.string().max(2000).optional(),\n findings: z.string().max(50000).optional(),\n question: z.string().max(10000).optional(),\n qaNotes: z.string().max(50000).optional(),\n agent: z.enum([\n 'jarvis',\n 'claude',\n 'cursor',\n 'copilot',\n 'jules'\n ]).optional(),\n model: z.string().max(200).optional(),\n connectorId: z.string().max(200).optional(),\n prNumber: z.int().optional(),\n prUrl: z.url().max(2000).optional(),\n sources: z.array(z.object({\n path: z.string().optional(),\n url: z.string().optional(),\n label: z.string().optional()\n })).max(200).optional(),\n confidence: z.enum([\n 'low',\n 'medium',\n 'high'\n ]).optional(),\n tokensUsed: z.int().optional(),\n durationMs: z.int().optional(),\n visibility: z.enum(['draft', 'published']).optional(),\n startedAt: z.string().optional(),\n completedAt: z.string().optional(),\n sessionId: z.string().max(300).optional()\n});\n\n/**\n * Body for `PATCH /api/admin/ops/{handle}/investigation/{investigationId}` — a partial update of one existing investigation record (typically the `working` run record you were handed). Send only the fields you want to change; at least one is required.\n */\nexport const zUpdateOpsInvestigationRequest = z.object({\n kind: z.enum([\n 'investigated',\n 'detected',\n 'question',\n 'ready_for_qa',\n 'working',\n 'note'\n ]).optional(),\n summary: z.string().max(2000).optional(),\n findings: z.string().max(50000).optional(),\n question: z.string().max(10000).optional(),\n qaNotes: z.string().max(50000).optional(),\n model: z.string().max(200).optional(),\n prNumber: z.int().optional(),\n prUrl: z.url().max(2000).optional(),\n sources: z.array(z.object({\n path: z.string().optional(),\n url: z.string().optional(),\n label: z.string().optional()\n })).max(200).optional(),\n confidence: z.enum([\n 'low',\n 'medium',\n 'high'\n ]).optional(),\n tokensUsed: z.int().optional(),\n durationMs: z.int().optional(),\n visibility: z.enum(['draft', 'published']).optional(),\n completedAt: z.string().optional(),\n sessionId: z.string().max(300).optional()\n});\n\n/**\n * One connected, assignable AI agent (an authenticated trigger connector).\n */\nexport const zOpsAgentProfile = z.object({\n connectorId: z.string(),\n provider: z.enum([\n 'claude_trigger',\n 'cursor_trigger',\n 'copilot_trigger',\n 'jules_trigger'\n ]),\n name: z.string(),\n handle: z.string()\n});\n\n/**\n * The project's connected AI agents — the agent types `POST /api/admin/ops/{handle}/ack` accepts. Empty when no trigger connector is connected yet.\n */\nexport const zListOpsAgentsResponse = z.array(zOpsAgentProfile);\n\n/**\n * Who wrote a comment. `user` is a teammate (their email is in `authorEmail`); `system` is Jarvis — the AI agent — which authors comments when an ops-notify escalation lands on the item and when it is `@shipeasy`-mentioned in a thread.\n */\nexport const zOpsCommentAuthorType = z.enum(['user', 'system']);\n\n/**\n * A single comment on a queue item.\n */\nexport const zOpsComment = z.object({\n id: z.string(),\n feedbackId: z.string(),\n parentId: z.string().nullable(),\n authorType: zOpsCommentAuthorType,\n authorEmail: z.string().nullable(),\n body: z.string(),\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\n/**\n * Response for `GET /api/admin/ops/{handle}/comments` — the thread, oldest first.\n */\nexport const zListOpsCommentsResponse = z.object({\n comments: z.array(zOpsComment)\n});\n\n/**\n * Body for `POST /api/admin/ops/{handle}/comments`.\n */\nexport const zCreateOpsCommentRequest = z.object({\n body: z.string().min(1).max(10000),\n parentId: z.string().nullish()\n});\n\n/**\n * Response for `POST /api/admin/ops/{handle}/comments`.\n */\nexport const zCreateOpsCommentResponse = z.object({\n id: z.string()\n});\n\n/**\n * Body for `POST /api/admin/notifications`. In `title`, `summary`, and each step, reference admin entities inline with tokens — `#42` (feedback item), `@gate:<name>` (alias `@flag:`), `@experiment:<name>` (`@exp:`), `@config:<name>`, `@killswitch:<name>` (`@ks:`), `@metric:<name>`, `@universe:<name>`, `@alert:<name>` — where `<name>` is the entity's immutable name/slug (e.g. `features.checkout`). The dashboard renders each token as a live hover chip deep-linking to the entity; tokens degrade to plain text elsewhere, so they're always safe to use.\n */\nexport const zNotifyOpsRequest = z.object({\n title: z.string().min(1).max(200),\n summary: z.string().min(1).max(280),\n steps: z.array(z.string()).optional(),\n href: z.string().nullish(),\n dedupeKey: z.string().optional()\n});\n\n/**\n * Response for `POST /api/admin/notifications`.\n */\nexport const zNotifyOpsResponse = z.object({\n dedupeKey: z.string(),\n dispatched: z.boolean()\n});\n\n/**\n * Response for `GET /api/admin/slack/channels`.\n */\nexport const zListSlackChannelsResponse = z.object({\n connected: z.boolean(),\n channels: z.array(z.object({\n id: z.string(),\n name: z.string(),\n isPrivate: z.boolean().optional()\n }))\n});\n\nexport const zListAlertRulesResponse = z.array(z.object({\n id: z.string(),\n name: z.string(),\n metricId: z.string(),\n metricName: z.string().nullable(),\n comparator: z.enum([\n 'gt',\n 'gte',\n 'lt',\n 'lte'\n ]),\n threshold: z.number(),\n windowHours: z.int().gte(-9007199254740991).lte(9007199254740991),\n severity: z.enum([\n 'danger',\n 'warn',\n 'info'\n ]),\n enabled: z.boolean(),\n notify: zNotificationTarget,\n createdAt: z.string(),\n updatedAt: z.string()\n}));\n\nexport const zCreateAlertRuleRequest = z.object({\n name: z.string().min(1).max(120),\n metricId: z.string().min(1),\n comparator: z.enum([\n 'gt',\n 'gte',\n 'lt',\n 'lte'\n ]),\n threshold: z.number(),\n windowHours: z.int().gte(1).lte(720).optional().default(24),\n severity: z.enum([\n 'danger',\n 'warn',\n 'info'\n ]).optional().default('warn'),\n enabled: z.boolean().optional().default(true),\n notify: zNotificationTarget.optional()\n});\n\nexport const zCreateAlertRuleResponse = z.object({\n id: z.string()\n});\n\nexport const zDeleteAlertRuleResponse = z.object({\n ok: z.literal(true)\n});\n\nexport const zUpdateAlertRuleRequest = z.object({\n name: z.string().min(1).max(120).optional(),\n comparator: z.enum([\n 'gt',\n 'gte',\n 'lt',\n 'lte'\n ]).optional(),\n threshold: z.number().optional(),\n windowHours: z.int().gte(1).lte(720).optional(),\n severity: z.enum([\n 'danger',\n 'warn',\n 'info'\n ]).optional(),\n enabled: z.boolean().optional(),\n notify: zNotificationTarget.optional()\n});\n\nexport const zUpdateAlertRuleResponse = z.object({\n id: z.string()\n});\n\n/**\n * One FIRED alert — a condition the platform observed and raised, not the rule that defines it (alert *rules* are the `/api/admin/alert-rules` resource). Alerts are never filed by hand: the UI (killswitch flips) and the worker (analysis consumer + alerts cron) raise them, keyed by `(source, dedupeKey)` so re-raising refreshes the active row and a clearing condition auto-resolves it.\n *\n * Every field is always present on the wire; nullable fields are `null`, never absent.\n */\nexport const zAlertApiRow = z.object({\n id: z.string(),\n source: z.enum([\n 'metric_rule',\n 'killswitch_armed',\n 'experiment_srm',\n 'experiment_peek',\n 'guardrail'\n ]),\n ruleId: z.string().nullable(),\n severity: z.enum([\n 'danger',\n 'warn',\n 'info'\n ]),\n dedupeKey: z.string(),\n title: z.string(),\n detail: z.string(),\n href: z.string().nullable(),\n observedValue: z.number().nullable(),\n status: z.enum([\n 'active',\n 'resolved',\n 'dismissed'\n ]),\n createdAt: z.string(),\n resolvedAt: z.string().nullable(),\n dismissedAt: z.string().nullable(),\n assigneeId: z.string().nullable(),\n assigneeConnectorId: z.string().nullable(),\n assigneeAgent: z.string().nullable()\n});\n\n/**\n * A bare JSON array of fired alerts, ordered by `createdAt` descending. There is no pagination envelope.\n */\nexport const zListAlertsResponse = z.array(zAlertApiRow);\n\n/**\n * Body for `PATCH /api/admin/alerts/{id}` — the triage writes the ops cockpit needs on a fired alert. All fields optional, at least one required; only the fields present are changed.\n *\n * Flipping `status` stamps the matching timestamp (`resolvedAt` on `resolved`, `dismissedAt` on `dismissed`; both cleared on `active`). The person owner (`assigneeId`) and the agent owner (`agent`) are independent halves — setting one never touches the other.\n */\nexport const zUpdateAlertRequest = z.object({\n status: z.enum([\n 'active',\n 'resolved',\n 'dismissed'\n ]).optional(),\n assigneeId: z.string().nullish(),\n agent: z.string().nullish()\n});\n\n/**\n * The project the caller's auth header resolves to. The shape is open — additional project fields may be present. Stripe billing internals (`stripeCustomerId`, the `stripeItemId*` family) are intentionally undocumented.\n */\nexport const zGetCurrentProjectResponse = z.object({\n id: z.string(),\n name: z.string(),\n domain: z.string().nullable(),\n ownerEmail: z.string(),\n plan: z.enum([\n 'free',\n 'pro',\n 'business',\n 'enterprise'\n ]),\n status: z.enum(['active', 'inactive']),\n subscriptionStatus: z.string(),\n billingInterval: z.enum(['monthly', 'annual']),\n currentPeriodEnd: z.string().nullable(),\n trialEndsAt: z.string().nullable(),\n cancelAtPeriodEnd: z.number(),\n moduleTranslations: z.union([\n z.boolean(),\n z.number()\n ]),\n moduleConfigs: z.union([\n z.boolean(),\n z.number()\n ]),\n moduleGates: z.union([\n z.boolean(),\n z.number()\n ]),\n moduleExperiments: z.union([\n z.boolean(),\n z.number()\n ]),\n moduleFeedback: z.union([\n z.boolean(),\n z.number()\n ]),\n minSampleSize: z.int().optional(),\n minRuntimeDays: z.int().optional(),\n defaultPower: z.number().optional(),\n ciConfidence: z.number().optional(),\n defaultAllocationPct: z.int().optional(),\n defaultHoldoutBp: z.int(),\n defaultWinsorizePct: z.int().optional(),\n defaultMei: z.number().nullish(),\n cupedBaselineDays: z.int().optional(),\n cupedMinOverlap: z.number().optional(),\n cupedMinBaselineUsers: z.int().optional(),\n msprtTauMeiFactor: z.number().optional(),\n msprtTauSdFactor: z.number().optional(),\n srmThreshold: z.number().optional(),\n slug: z.string().nullable(),\n logo: z.string().nullable(),\n defaultEnv: z.enum([\n 'dev',\n 'staging',\n 'prod'\n ]),\n timezone: z.string(),\n statMethod: z.enum([\n 'sequential',\n 'fixed',\n 'bayesian'\n ]),\n sigThreshold: z.string(),\n autoRollback: z.boolean(),\n minSampleDays: z.int(),\n moduleUser: z.union([\n z.boolean(),\n z.number()\n ]),\n moduleEvents: z.union([\n z.boolean(),\n z.number()\n ]),\n allowPublicTickets: z.union([\n z.boolean(),\n z.number()\n ]),\n stripeSubscriptionId: z.string().nullable(),\n scheduledInterval: z.enum(['monthly', 'annual']).nullable(),\n spendLimitEnabled: z.union([\n z.boolean(),\n z.number()\n ]),\n spendLimitUsd: z.int().nullable(),\n spendAlertEmail: z.string().nullable(),\n defaultAssigneePendingApproval: z.string().nullable(),\n defaultAssigneeConnectorPendingApproval: z.string().nullable(),\n defaultAssigneeOpen: z.string().nullable(),\n defaultAssigneeConnectorOpen: z.string().nullable(),\n deletedAt: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\n/**\n * Body for `POST /api/admin/projects/upsert`. Only `domain` is required; the owner is resolved from the caller's session.\n */\nexport const zUpsertProjectRequest = z.object({\n domain: z.string().min(1).max(2048).regex(/^(\\*|(\\*\\.)?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+)$/),\n name: z.string().min(1).max(100).optional()\n});\n\n/**\n * Result of `POST /api/admin/projects/upsert`.\n */\nexport const zUpsertProjectResponse = z.object({\n id: z.string(),\n name: z.string(),\n domain: z.string().nullable(),\n owner_email: z.string(),\n created: z.boolean()\n});\n\n/**\n * Lowercase bare hostname (e.g. `acme.com`, `app.acme.com`, `*.acme.com`), or `*` to allow any origin. Full URLs with `https://` are not accepted. The project is keyed by `(owner_email, domain)`, so a second call with the same domain returns the existing project.\n */\nexport const zDomain = z.string().min(1).max(2048).regex(/^(\\*|(\\*\\.)?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+)$/);\n\n/**\n * Body for `PATCH /api/admin/projects/{id}`. Partial — every field is optional; only supplied fields change. The project id in the path must match the caller's own project.\n */\nexport const zUpdateProjectRequest = z.object({\n name: z.string().min(1).max(120).optional(),\n domain: zDomain.optional(),\n slug: z.string().min(2).max(48).regex(/^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$/).optional(),\n defaultEnv: z.enum([\n 'dev',\n 'staging',\n 'prod'\n ]).optional(),\n timezone: z.string().min(1).max(64).optional(),\n statMethod: z.enum([\n 'sequential',\n 'fixed',\n 'bayesian'\n ]).optional(),\n sigThreshold: z.enum([\n '0.01',\n '0.05',\n '0.10'\n ]).optional(),\n autoRollback: z.boolean().optional(),\n minSampleDays: z.int().gte(1).lte(365).optional(),\n moduleTranslations: z.boolean().optional(),\n moduleConfigs: z.boolean().optional(),\n moduleGates: z.boolean().optional(),\n moduleExperiments: z.boolean().optional(),\n moduleFeedback: z.boolean().optional(),\n moduleUser: z.boolean().optional(),\n moduleEvents: z.boolean().optional(),\n minSampleSize: z.int().gte(2).lte(1000000).optional(),\n minRuntimeDays: z.int().gte(0).lte(365).optional(),\n defaultPower: z.number().gte(0.5).lte(0.99).optional(),\n ciConfidence: z.number().gte(0.5).lte(0.999).optional(),\n defaultAllocationPct: z.int().gte(1).lte(10000).optional(),\n defaultHoldout: z.int().gte(0).lte(10000).optional(),\n defaultWinsorizePct: z.int().gte(1).lte(99).optional(),\n defaultMei: z.number().gte(0).lte(1).nullish(),\n cupedBaselineDays: z.int().gte(1).lte(365).optional(),\n cupedMinOverlap: z.number().gte(0.01).lte(0.99).optional(),\n cupedMinBaselineUsers: z.int().gte(10).lte(100000).optional(),\n msprtTauMeiFactor: z.number().gte(0.1).lte(2).optional(),\n msprtTauSdFactor: z.number().gte(0.05).lte(1).optional(),\n srmThreshold: z.number().gte(0.0001).lte(0.05).optional()\n});\n\nexport const zListI18nProfilesResponse = z.array(z.object({\n id: z.string(),\n name: z.string(),\n isDefault: z.number(),\n createdAt: z.string(),\n deletedAt: z.string().nullable()\n}));\n\n/**\n * Body for `POST /api/admin/i18n/profiles`. Only `name` is accepted.\n */\nexport const zCreateI18nProfileRequest = z.object({\n name: z.string().min(1).max(64).regex(/^[a-z0-9][a-z0-9_:.-]*$/)\n});\n\n/**\n * Created profile id + name.\n */\nexport const zCreateI18nProfileResponse = z.object({\n id: z.string(),\n name: z.string()\n});\n\n/**\n * A page of i18n keys plus the total count. (The client also tolerates a bare array.)\n */\nexport const zListI18nKeysResponse = z.object({\n keys: z.array(z.object({\n id: z.string(),\n key: z.string(),\n value: z.string(),\n description: z.string().nullable(),\n variables: z.array(z.string()).nullable(),\n profileId: z.string(),\n profileName: z.string().nullable(),\n updatedAt: z.string(),\n updatedBy: z.string()\n })),\n total: z.number()\n});\n\n/**\n * Body for `PUT /api/admin/i18n/keys`. Bulk upsert (overwrite): existing keys are replaced, new ones inserted. Backs the devtools overlay's in-product label editing; deliberately not surfaced by the CLI or MCP.\n */\nexport const zUpsertI18nKeysRequest = z.object({\n profile_id: z.uuid(),\n keys: z.array(z.object({\n key: z.string().min(1).max(256),\n value: z.string(),\n description: z.string().optional(),\n variables: z.array(z.string().min(1).max(64)).max(32).optional()\n })).min(1).max(5000)\n});\n\n/**\n * Result of a bulk key upsert. The affected profile's KV snapshot is rebuilt (and the CDN purged) before this returns.\n */\nexport const zUpsertI18nKeysResponse = z.object({\n upserted: z.number()\n});\n\n/**\n * Body for `POST /api/admin/i18n/keys`. Insert-only by default: keys that already exist are never overwritten — pass `force: true` to overwrite them in bulk, or use `PUT /keys/{id}` to change one value.\n */\nexport const zPushI18nKeysRequest = z.object({\n profile_id: z.uuid(),\n keys: z.array(z.object({\n key: z.string().min(1).max(256),\n value: z.string(),\n description: z.string().optional(),\n variables: z.array(z.string().min(1).max(64)).max(32).optional()\n })).min(1).max(5000),\n force: z.boolean().optional().default(false)\n});\n\n/**\n * Result of a key push — what was inserted, what was left alone, and (with `force`) what was overwritten.\n */\nexport const zPushI18nKeysResponse = z.object({\n added: z.array(z.string()),\n skipped: z.array(z.string()),\n updated: z.array(z.string()),\n pushed_count: z.number(),\n skipped_count: z.number(),\n updated_count: z.number()\n});\n\n/**\n * Body for `PUT /api/admin/i18n/keys/{id}`. Updates one existing key's value.\n */\nexport const zUpdateI18nKeyRequest = z.object({\n value: z.string(),\n description: z.string().optional(),\n variables: z.array(z.string().min(1).max(64)).max(32).optional()\n});\n\n/**\n * Updated key id.\n */\nexport const zUpdateI18nKeyResponse = z.object({\n id: z.string()\n});\n\n/**\n * Generic success acknowledgement for operations with no meaningful payload.\n */\nexport const zOkResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * One staged translation draft. The shape is open — additional fields may be present.\n */\nexport const zI18nDraft = z.object({\n id: z.string(),\n name: z.string(),\n profileId: z.string(),\n sourceProfileId: z.string().nullable(),\n status: z.enum([\n 'open',\n 'merged',\n 'abandoned'\n ]),\n createdBy: z.string(),\n createdAt: z.string(),\n publishedAt: z.string().nullable()\n});\n\n/**\n * Bare array of the project's staged translation drafts.\n */\nexport const zListI18nDraftsResponse = z.array(zI18nDraft);\n\n/**\n * Body for `POST /api/admin/i18n/drafts`. Stages a new translation draft against a target profile, optionally seeding from a source profile.\n */\nexport const zCreateI18nDraftRequest = z.object({\n name: z.string().min(1).max(64),\n profile_id: z.uuid(),\n source_profile_id: z.uuid().optional()\n});\n\n/**\n * Body for `PATCH /api/admin/i18n/drafts/{draftId}`. Transitions the draft's lifecycle state.\n */\nexport const zUpdateI18nDraftRequest = z.object({\n status: z.enum([\n 'open',\n 'merged',\n 'abandoned'\n ]).optional()\n});\n\n/**\n * Bare array of the draft's staged keys (no pagination envelope).\n */\nexport const zListI18nDraftKeysResponse = z.array(z.object({\n id: z.string(),\n draftId: z.string(),\n key: z.string(),\n value: z.string(),\n description: z.string().nullable(),\n variables: z.array(z.string()).nullable(),\n updatedBy: z.string(),\n updatedAt: z.string()\n}));\n\n/**\n * Body for `POST /api/admin/i18n/drafts/{draftId}/keys`. Upserts one staged key into an open draft — inserted when new, overwritten when it already exists. `{{var}}` placeholder names are auto-derived from the value.\n */\nexport const zUpsertI18nDraftKeyRequest = z.object({\n key: z.string().min(1).max(256),\n value: z.string(),\n description: z.string().optional()\n});\n\n/**\n * Body for `POST /api/admin/i18n/profiles/{profileId}/publish`. Publishing is profile-wide — the whole profile is snapshotted into one KV blob — so the body takes no options.\n */\nexport const zPublishI18nProfileRequest = z.record(z.string(), z.never());\n\n/**\n * Result of a profile-wide publish.\n */\nexport const zPublishI18nProfileResponse = z.object({\n ok: z.literal(true),\n profile_id: z.string(),\n published_at: z.string(),\n version: z.string(),\n key_count: z.number(),\n changed: z.boolean(),\n purged: z.enum([\n 'purged',\n 'skipped',\n 'failed'\n ]),\n kv_verified: z.boolean(),\n warning: z.string().optional()\n});\n\n/**\n * Body for `POST /api/admin/i18n/set`. Upserts one key's value and publishes the profile live.\n */\nexport const zSetI18nLabelRequest = z.object({\n key: z.string().min(1).max(256),\n value: z.string(),\n profile: z.string().min(1).max(64).optional(),\n description: z.string().optional()\n});\n\n/**\n * Result of a one-shot set-and-publish.\n */\nexport const zSetI18nLabelResponse = z.object({\n ok: z.literal(true),\n profile: z.string(),\n profile_id: z.string(),\n key: z.string(),\n value: z.string(),\n published_at: z.string(),\n version: z.string(),\n key_count: z.number(),\n changed: z.boolean(),\n purged: z.enum([\n 'purged',\n 'skipped',\n 'failed'\n ]),\n kv_verified: z.boolean(),\n warning: z.string().optional()\n});\n\n/**\n * One sampled instance behind a tracked error — the minimal per-occurrence payload (what varies between instances; everything else lives on the parent `ErrorRecord`). Every column is always present on the wire; nullable columns are `null`, never absent.\n */\nexport const zErrorOccurrence = z.object({\n id: z.string(),\n projectId: z.string(),\n errorId: z.string(),\n message: z.string(),\n stack: z.string().nullable(),\n url: z.string().nullable(),\n env: z.string().nullable(),\n side: z.string().nullable(),\n sdkVersion: z.string().nullable(),\n extrasJson: z.string().nullable(),\n sampleRate: z.int().gte(1),\n seenAt: z.string()\n});\n\n/**\n * A tracked production error — one row per distinct issue, keyed by `fingerprint`. Rows are never created by hand: an ingestion path (worker log drain / the `see()` SDK reporter) folds each occurrence into the matching row, bumping `count` and `lastSeenAt`. The admin surface only lists them, reads one, and flips `status`.\n *\n * Field names are camelCase (the D1 row projected through Drizzle). Every row column is always present on the wire; many are *nullable* because the reporting source may not supply them — `null`, never absent. Only `occurrences` is conditional (detail reads only).\n */\nexport const zErrorRecord = z.object({\n id: z.string(),\n projectId: z.string(),\n fingerprint: z.string(),\n causedByFingerprint: z.string().nullable(),\n message: z.string(),\n errorType: z.string().nullable(),\n stack: z.string().nullable(),\n source: z.string().nullable(),\n url: z.string().nullable(),\n seenUrls: z.string().nullable(),\n subject: z.string().nullable(),\n outcome: z.string().nullable(),\n side: z.string().nullable(),\n env: z.string().nullable(),\n kind: z.enum([\n 'caught',\n 'uncaught',\n 'unhandled_rejection',\n 'network',\n 'violation'\n ]).nullable(),\n lastExtrasJson: z.string().nullable(),\n sdkVersion: z.string().nullable(),\n count: z.int().gte(1),\n occurrences: z.array(zErrorOccurrence).optional(),\n status: z.enum([\n 'open',\n 'resolved',\n 'ignored'\n ]),\n firstSeenAt: z.string(),\n lastSeenAt: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n assigneeId: z.string().nullable(),\n assigneeConnectorId: z.string().nullable(),\n assigneeAgent: z.string().nullable()\n});\n\n/**\n * A bare JSON array of tracked errors, ordered by `lastSeenAt` descending. There is no pagination envelope — `limit` caps the page size. List rows never include `occurrences` — read one error to get them.\n */\nexport const zListErrorsResponse = z.array(zErrorRecord);\n\n/**\n * Body for `PATCH /api/admin/errors/{id}`. The only mutable field is `status` (open ⇄ resolved ⇄ ignored).\n */\nexport const zUpdateErrorStatusRequest = z.object({\n status: z.enum([\n 'open',\n 'resolved',\n 'ignored'\n ])\n});\n\n/**\n * The feedback ticket that tracks this error. Idempotent — if an open `error` ticket already tracks this fingerprint (hand- or auto-filed), the existing one is returned instead of creating a duplicate.\n */\nexport const zFileErrorTicketResponse = z.object({\n id: z.string(),\n number: z.int().nullable()\n});\n\n/**\n * Time window for the occurrence series. Bounds are epoch **seconds** (Analytics Engine stores the occurrence timestamp in seconds). `to` must be strictly greater than `from`.\n */\nexport const zErrorSeriesRequest = z.object({\n from: z.int().gte(0),\n to: z.int().gte(0),\n bucket: z.int().gte(60).lte(86400).optional().default(3600)\n});\n\n/**\n * Bucketed occurrence counts for one tracked error (by its fingerprint), plus the Analytics Engine SQL that produced them.\n */\nexport const zErrorSeriesResponse = z.object({\n sql: z.string(),\n rows: z.array(z.object({\n t: z.int(),\n v: z.number()\n }))\n});\n\n/**\n * Connector destination. OAuth/app providers (`google_sheets`, `github`, `slack`) dispatch the event payload to an external destination. Trigger providers (`claude_trigger`, `cursor_trigger`, `copilot_trigger`, `jules_trigger`) instead kick a coding-agent run that burns down the operational queue.\n */\nexport const zConnectorProvider = z.enum([\n 'google_sheets',\n 'github',\n 'slack',\n 'claude_trigger',\n 'cursor_trigger',\n 'copilot_trigger',\n 'jules_trigger'\n]);\n\n/**\n * Lifecycle event a connector subscribes to. `bug.created` fires when a new bug report lands in the feedback inbox; `feature_request.created` fires for a new feature request. A connector dispatches (posts to Slack / appends a Sheets row / files a GitHub Issue) — or, for trigger connectors, auto-fires a coding-agent run — once per subscribed event.\n */\nexport const zConnectorEvent = z.enum(['bug.created', 'feature_request.created']);\n\n/**\n * A connector row. The encrypted credentials cipher backing the connector is intentionally never serialised — `hasCredentials` reports only whether one is stored.\n */\nexport const zConnectorRecord = z.object({\n id: z.string(),\n projectId: z.string(),\n provider: zConnectorProvider,\n name: z.string().max(80),\n enabled: z.boolean(),\n events: z.array(zConnectorEvent),\n config: z.record(z.string(), z.unknown()),\n accountLabel: z.string().nullable(),\n hasCredentials: z.boolean(),\n lastError: z.string().nullable(),\n lastAttemptAt: z.string().nullable(),\n lastSuccessAt: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string()\n});\n\n/**\n * Bare array of every connector in the project (no pagination envelope).\n */\nexport const zListConnectorsResponse = z.array(zConnectorRecord);\n\n/**\n * Create an OAuth/app connector stub. The connector is created `enabled: false` with empty `config` and no credentials; the provider's OAuth flow then attaches credentials and enables it.\n */\nexport const zCreateOAuthConnectorRequest = z.object({\n provider: z.enum([\n 'google_sheets',\n 'github',\n 'slack'\n ]),\n name: z.string().min(1).max(80),\n events: z.array(zConnectorEvent).min(1)\n});\n\n/**\n * Non-secret config for a Claude trigger.\n */\nexport const zClaudeTriggerConfig = z.object({\n routineId: z.string().min(1),\n fireText: z.string().min(1).optional()\n});\n\n/**\n * Create a Claude Code routine trigger in one shot. Idempotent by `config.routineId` — re-creating with the same routine id updates the existing row.\n */\nexport const zCreateClaudeTriggerRequest = z.object({\n provider: z.enum(['claude_trigger']),\n name: z.string().min(1).max(80).optional().default('Claude trigger'),\n events: z.array(zConnectorEvent).optional().default([]),\n config: zClaudeTriggerConfig,\n token: z.string().min(1).optional(),\n enabled: z.boolean().optional().default(true)\n});\n\n/**\n * Non-secret config for a Cursor trigger.\n */\nexport const zCursorTriggerConfig = z.object({\n repoUrl: z.url(),\n startingRef: z.string().min(1).optional(),\n projectId: z.string().min(1)\n});\n\n/**\n * Create a Cursor cloud-agent trigger. Both keys are required up front (never tokenless). Idempotent by `config.repoUrl`.\n */\nexport const zCreateCursorTriggerRequest = z.object({\n provider: z.enum(['cursor_trigger']),\n name: z.string().min(1).max(80).optional().default('Cursor trigger'),\n events: z.array(zConnectorEvent).optional().default([]),\n config: zCursorTriggerConfig,\n apiKey: z.string().min(1),\n opsKey: z.string().min(1),\n enabled: z.boolean().optional().default(true)\n});\n\n/**\n * Non-secret config for a Copilot trigger.\n */\nexport const zCopilotTriggerConfig = z.object({\n owner: z.string().min(1),\n repo: z.string().min(1),\n baseRef: z.string().min(1).optional(),\n projectId: z.string().min(1)\n});\n\n/**\n * Create a GitHub Copilot coding-agent trigger. Idempotent by `config.owner/config.repo`.\n */\nexport const zCreateCopilotTriggerRequest = z.object({\n provider: z.enum(['copilot_trigger']),\n name: z.string().min(1).max(80).optional().default('Copilot trigger'),\n events: z.array(zConnectorEvent).optional().default([]),\n config: zCopilotTriggerConfig,\n token: z.string().min(1),\n enabled: z.boolean().optional().default(true)\n});\n\n/**\n * Non-secret config for a Jules trigger.\n */\nexport const zJulesTriggerConfig = z.object({\n source: z.string().min(1),\n startingBranch: z.string().min(1).optional(),\n projectId: z.string().min(1)\n});\n\n/**\n * Create a Google Jules trigger. Both keys are required up front. Idempotent by `config.source`.\n */\nexport const zCreateJulesTriggerRequest = z.object({\n provider: z.enum(['jules_trigger']),\n name: z.string().min(1).max(80).optional().default('Jules trigger'),\n events: z.array(zConnectorEvent).optional().default([]),\n config: zJulesTriggerConfig,\n apiKey: z.string().min(1),\n opsKey: z.string().min(1),\n enabled: z.boolean().optional().default(true)\n});\n\n/**\n * Body for `POST /api/admin/connectors`, discriminated on `provider`. The OAuth providers (`google_sheets`/`github`/`slack`) create a disabled stub that is finished via the provider's OAuth flow. The trigger providers (`claude_trigger`/`cursor_trigger`/`copilot_trigger`/`jules_trigger`) arrive config + credentials together and are fireable immediately.\n */\nexport const zCreateConnectorRequest = z.discriminatedUnion('provider', [\n zCreateOAuthConnectorRequest.extend({ provider: z.literal('google_sheets') }),\n zCreateOAuthConnectorRequest.extend({ provider: z.literal('github') }),\n zCreateOAuthConnectorRequest.extend({ provider: z.literal('slack') }),\n zCreateClaudeTriggerRequest.extend({ provider: z.literal('claude_trigger') }),\n zCreateCursorTriggerRequest.extend({ provider: z.literal('cursor_trigger') }),\n zCreateCopilotTriggerRequest.extend({ provider: z.literal('copilot_trigger') }),\n zCreateJulesTriggerRequest.extend({ provider: z.literal('jules_trigger') })\n]);\n\nexport const zCreateConnectorResponse = z.object({\n id: z.string()\n});\n\nexport const zDeleteConnectorResponse = z.object({\n ok: z.literal(true)\n});\n\n/**\n * Body for `PATCH /api/admin/connectors/{id}`. Partial — only supplied fields change. Array/object fields (`events`, `config`) replace, not merge.\n */\nexport const zUpdateConnectorRequest = z.object({\n name: z.string().min(1).max(80).optional(),\n enabled: z.boolean().optional(),\n events: z.array(zConnectorEvent).optional(),\n config: z.record(z.string(), z.unknown()).optional()\n});\n\n/**\n * Update returns only the id — re-fetch via `GET /api/admin/connectors/{id}` for the full row.\n */\nexport const zUpdateConnectorResponse = z.object({\n id: z.string()\n});\n\n/**\n * Body for `POST /api/admin/connectors/{id}/fire`. Entirely optional — an empty body kicks the run with the provider default.\n */\nexport const zFireConnectorRequest = z.object({\n text: z.string().optional()\n});\n\n/**\n * Result of a successful trigger fire: `{ ok: true }`. When the downstream dispatch fails the endpoint returns HTTP 502 (see the `Error` response), never `ok: false`.\n */\nexport const zFireConnectorResponse = z.object({\n ok: z.boolean()\n});\n\n/**\n * Result of a successful connector test: `{ ok: true, issueUrl }`. When the downstream dispatch fails the endpoint returns HTTP 502 (see the `Error` response), never `ok: false`.\n */\nexport const zTestConnectorResponse = z.object({\n ok: z.boolean(),\n issueUrl: z.string().nullable()\n});\n\n/**\n * Per-provider PATCH body for editing an existing `claude_trigger` connector (the dashboard \"Triggers\" tab). The non-secret `config` is always supplied and replaces the stored config wholesale; `name` and `token` are optional.\n */\nexport const zUpdateClaudeTriggerRequest = z.object({\n provider: z.enum(['claude_trigger']),\n name: z.string().min(1).max(80).optional(),\n config: zClaudeTriggerConfig,\n token: z.string().min(1).optional()\n});\n\n/**\n * Per-provider PATCH body for editing an existing `cursor_trigger` connector. `config` replaces the stored config wholesale; `name` and either credential are optional (a supplied credential rotates just that key).\n */\nexport const zUpdateCursorTriggerRequest = z.object({\n provider: z.enum(['cursor_trigger']),\n name: z.string().min(1).max(80).optional(),\n config: zCursorTriggerConfig,\n apiKey: z.string().min(1).optional(),\n opsKey: z.string().min(1).optional()\n});\n\n/**\n * Per-provider PATCH body for editing an existing `copilot_trigger` connector. `config` replaces the stored config wholesale; `name` and `token` are optional.\n */\nexport const zUpdateCopilotTriggerRequest = z.object({\n provider: z.enum(['copilot_trigger']),\n name: z.string().min(1).max(80).optional(),\n config: zCopilotTriggerConfig,\n token: z.string().min(1).optional()\n});\n\n/**\n * Per-provider PATCH body for editing an existing `jules_trigger` connector. `config` replaces the stored config wholesale; `name` and either credential are optional.\n */\nexport const zUpdateJulesTriggerRequest = z.object({\n provider: z.enum(['jules_trigger']),\n name: z.string().min(1).max(80).optional(),\n config: zJulesTriggerConfig,\n apiKey: z.string().min(1).optional(),\n opsKey: z.string().min(1).optional()\n});\n\n/**\n * Body for `PATCH /api/admin/connectors/{id}/trigger`, discriminated on `provider`. Edits an existing trigger connector: the non-secret `config` is always supplied and replaces the stored config wholesale; `name` and the credential secret(s) are optional (a supplied secret rotates just that key, a blank/omitted one leaves the stored cipher untouched).\n */\nexport const zUpdateTriggerConnectorRequest = z.discriminatedUnion('provider', [\n zUpdateClaudeTriggerRequest.extend({ provider: z.literal('claude_trigger') }),\n zUpdateCursorTriggerRequest.extend({ provider: z.literal('cursor_trigger') }),\n zUpdateCopilotTriggerRequest.extend({ provider: z.literal('copilot_trigger') }),\n zUpdateJulesTriggerRequest.extend({ provider: z.literal('jules_trigger') })\n]);\n\n/**\n * Body for `POST /api/admin/connectors/trigger`, discriminated on `provider` — the trigger-provider subset of `CreateConnectorRequest` (no OAuth stubs). Config + credentials arrive together and the connector is usable immediately; creates are idempotent by each provider's natural key (`config.routineId` / `config.repoUrl` / `config.owner`+`config.repo` / `config.source`).\n */\nexport const zCreateTriggerConnectorRequest = z.discriminatedUnion('provider', [\n zCreateClaudeTriggerRequest.extend({ provider: z.literal('claude_trigger') }),\n zCreateCursorTriggerRequest.extend({ provider: z.literal('cursor_trigger') }),\n zCreateCopilotTriggerRequest.extend({ provider: z.literal('copilot_trigger') }),\n zCreateJulesTriggerRequest.extend({ provider: z.literal('jules_trigger') })\n]);\n\n/**\n * A single API key as returned by the list endpoint. Response fields are snake_case. The raw token is never returned here — only its `last4` tail. `last4` and the typed `scopes` may be `null` for keys minted before those columns existed.\n */\nexport const zKeyRecord = z.object({\n id: z.string(),\n type: z.enum([\n 'server',\n 'client',\n 'admin',\n 'ops'\n ]),\n env: z.enum([\n 'dev',\n 'staging',\n 'prod'\n ]),\n created_at: z.string(),\n revoked_at: z.string().nullable(),\n expires_at: z.string().nullable(),\n created_by_email: z.string().nullable(),\n name: z.string().nullable(),\n scopes: z.array(z.string()).nullable(),\n last4: z.string().nullable()\n});\n\n/**\n * One page of API keys plus a keyset `next_cursor` (ordered `created_at desc, id desc`).\n */\nexport const zListKeysResponse = z.object({\n data: z.array(zKeyRecord),\n next_cursor: z.string().nullable()\n});\n\n/**\n * Body for `POST /api/admin/keys`. Only `type` is required.\n *\n * `env` is **required** for `server` and `client` keys (the key is bound to one environment — that binding is the read-env isolation boundary). For `admin` and `ops` keys `env` is ignored and the key is pinned to `prod`.\n */\nexport const zCreateKeyRequest = z.object({\n type: z.enum([\n 'server',\n 'client',\n 'admin',\n 'ops'\n ]),\n name: z.string().min(1).max(80).optional(),\n scopes: z.array(z.enum([\n 'experiments:read',\n 'gates:evaluate',\n 'events:write',\n 'configs:write',\n 'experiments:write',\n 'tickets:public_create'\n ])).optional(),\n expiresInDays: z.int().gte(1).lte(3650).nullish(),\n env: z.enum([\n 'dev',\n 'staging',\n 'prod'\n ])\n});\n\n/**\n * The minted key. The plaintext `key` is returned **once**, here — it is stored hashed and can never be retrieved again.\n */\nexport const zCreateKeyResponse = z.object({\n id: z.string(),\n type: z.enum([\n 'server',\n 'client',\n 'admin',\n 'ops'\n ]),\n env: z.enum([\n 'dev',\n 'staging',\n 'prod'\n ]),\n key: z.string(),\n expires_at: z.string().nullable()\n});\n\n/**\n * Confirms the key is revoked. Idempotent — revoking an already-revoked key returns the same shape.\n */\nexport const zRevokeKeyResponse = z.object({\n id: z.string(),\n revoked: z.literal(true)\n});\n\n/**\n * A single universal-search hit. Field names are camelCase; `title` is `null` when the resource has no human title/display name (members fall back to a role label).\n */\nexport const zSearchHit = z.object({\n type: z.enum([\n 'member',\n 'gate',\n 'experiment',\n 'config',\n 'killswitch',\n 'metric'\n ]),\n id: z.string(),\n name: z.string(),\n title: z.string().nullable(),\n href: z.string()\n});\n\n/**\n * Flat, ranked-by-type list of search hits the command palette groups for display. Capped per resource family so one noisy type can't crowd out the rest.\n */\nexport const zSearchResponse = z.object({\n hits: z.array(zSearchHit)\n});\n\n/**\n * Project the request operates on. Optional — defaults to the project the SDK key belongs to; pass it only to scope a multi-project key (the generated client sets it once from its configuration, so per-call callers never thread it).\n */\nexport const zProjectId = z.string();\n\n/**\n * Page size (1–500). Defaults to 100.\n */\nexport const zPaginationLimit = z.coerce.number().int().gte(1).lte(500).default(100);\n\n/**\n * Opaque cursor returned in the previous page's `next_cursor`. Omit for the first page.\n */\nexport const zPaginationCursor = z.string();\n\n/**\n * Case-insensitive substring filter across the resource's human-readable text columns (e.g. `name`, `title`, `description`). OR-matched across those columns; omit to return everything.\n */\nexport const zQ = z.string().max(100);\n\nexport const zListGatesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListGatesQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(500).optional().default(100),\n cursor: z.string().optional(),\n q: z.string().max(100).optional()\n});\n\n/**\n * List feature gates\n */\nexport const zListGatesResponse2 = zListGatesResponse;\n\nexport const zCreateGateBody = zCreateGateRequest;\n\nexport const zCreateGateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a feature gate\n */\nexport const zCreateGateResponse2 = zCreateGateResponse;\n\nexport const zDeleteGateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteGatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete a feature gate\n */\nexport const zDeleteGateResponse2 = zDeleteGateResponse;\n\nexport const zGetGateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetGatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Get one gate\n */\nexport const zGetGateResponse = zGateApiRow;\n\nexport const zUpdateGateBody = zUpdateGateRequest;\n\nexport const zUpdateGateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateGatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a feature gate\n */\nexport const zUpdateGateResponse2 = zUpdateGateResponse;\n\nexport const zEnableGateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zEnableGatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Enable a gate\n */\nexport const zEnableGateResponse2 = zEnableGateResponse;\n\nexport const zDisableGateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDisableGatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Disable a gate\n */\nexport const zDisableGateResponse2 = zDisableGateResponse;\n\nexport const zListGateActivityHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListGateActivityPath = z.object({\n id: zResourceId\n});\n\nexport const zListGateActivityQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(100).optional().default(20)\n});\n\n/**\n * List gate activity\n */\nexport const zListGateActivityResponse2 = zListGateActivityResponse;\n\nexport const zListExperimentsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListExperimentsQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(500).optional().default(100),\n cursor: z.string().optional(),\n status: z.string().optional(),\n q: z.string().max(100).optional()\n});\n\n/**\n * List experiments\n */\nexport const zListExperimentsResponse2 = zListExperimentsResponse;\n\nexport const zCreateExperimentBody = zCreateExperimentRequest;\n\nexport const zCreateExperimentHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create an experiment\n */\nexport const zCreateExperimentResponse2 = zCreateExperimentResponse;\n\nexport const zDeleteExperimentHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteExperimentPath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete an experiment\n */\nexport const zDeleteExperimentResponse2 = zDeleteExperimentResponse;\n\nexport const zGetExperimentHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetExperimentPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get one experiment\n */\nexport const zGetExperimentResponse = zExperimentApiRow;\n\nexport const zUpdateExperimentBody = zUpdateExperimentRequest;\n\nexport const zUpdateExperimentHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateExperimentPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update an experiment\n */\nexport const zUpdateExperimentResponse2 = zUpdateExperimentResponse;\n\nexport const zSetExperimentStatusBody = zSetExperimentStatusRequest;\n\nexport const zSetExperimentStatusHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zSetExperimentStatusPath = z.object({\n id: zResourceId\n});\n\n/**\n * Transition experiment status\n */\nexport const zSetExperimentStatusResponse2 = zSetExperimentStatusResponse;\n\nexport const zSetExperimentMetricsBody = zSetExperimentMetricsRequest;\n\nexport const zSetExperimentMetricsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zSetExperimentMetricsPath = z.object({\n id: zResourceId\n});\n\n/**\n * Attach metrics\n */\nexport const zSetExperimentMetricsResponse2 = zSetExperimentMetricsResponse;\n\nexport const zGetExperimentResultsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetExperimentResultsPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get analysis results\n */\nexport const zGetExperimentResultsResponse2 = zGetExperimentResultsResponse;\n\nexport const zGetExperimentTimeseriesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetExperimentTimeseriesPath = z.object({\n id: zResourceId\n});\n\nexport const zGetExperimentTimeseriesQuery = z.object({\n metric: z.string().optional()\n});\n\n/**\n * Get analysis timeseries\n */\nexport const zGetExperimentTimeseriesResponse2 = zGetExperimentTimeseriesResponse;\n\nexport const zReanalyzeExperimentHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zReanalyzeExperimentPath = z.object({\n id: zResourceId\n});\n\n/**\n * Re-queue analysis\n */\nexport const zReanalyzeExperimentResponse2 = zReanalyzeExperimentResponse;\n\nexport const zCreateExperimentReadoutBody = zCreateExperimentReadoutRequest;\n\nexport const zCreateExperimentReadoutHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zCreateExperimentReadoutPath = z.object({\n id: zResourceId\n});\n\n/**\n * Mint a readout snapshot\n */\nexport const zCreateExperimentReadoutResponse2 = zCreateExperimentReadoutResponse;\n\nexport const zGetExperimentReadoutHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetExperimentReadoutPath = z.object({\n id: zResourceId,\n readoutId: zResourceId\n});\n\n/**\n * Get a readout snapshot\n */\nexport const zGetExperimentReadoutResponse = zExperimentReadoutApiRow;\n\nexport const zListConfigsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListConfigsQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(500).optional().default(100),\n cursor: z.string().optional(),\n q: z.string().max(100).optional()\n});\n\n/**\n * List dynamic configs\n */\nexport const zListConfigsResponse2 = zListConfigsResponse;\n\nexport const zCreateConfigBody = zCreateConfigRequest;\n\nexport const zCreateConfigHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a dynamic config\n */\nexport const zCreateConfigResponse2 = zCreateConfigResponse;\n\nexport const zDeleteConfigHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteConfigPath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete a dynamic config\n */\nexport const zDeleteConfigResponse2 = zDeleteConfigResponse;\n\nexport const zGetConfigHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetConfigPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get one config\n */\nexport const zGetConfigResponse2 = zGetConfigResponse;\n\nexport const zUpdateConfigBody = zUpdateConfigRequest;\n\nexport const zUpdateConfigHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateConfigPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a dynamic config\n */\nexport const zUpdateConfigResponse2 = zUpdateConfigResponse;\n\nexport const zDiscardConfigDraftBody = zDiscardConfigDraftRequest;\n\nexport const zDiscardConfigDraftHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDiscardConfigDraftPath = z.object({\n id: zResourceId\n});\n\n/**\n * Discard a draft\n */\nexport const zDiscardConfigDraftResponse2 = zDiscardConfigDraftResponse;\n\nexport const zSaveConfigDraftBody = zSaveConfigDraftRequest;\n\nexport const zSaveConfigDraftHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zSaveConfigDraftPath = z.object({\n id: zResourceId\n});\n\n/**\n * Save a draft value\n */\nexport const zSaveConfigDraftResponse2 = zSaveConfigDraftResponse;\n\nexport const zPublishConfigDraftBody = zPublishConfigDraftRequest;\n\nexport const zPublishConfigDraftHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zPublishConfigDraftPath = z.object({\n id: zResourceId\n});\n\n/**\n * Publish a draft\n */\nexport const zPublishConfigDraftResponse2 = zPublishConfigDraftResponse;\n\nexport const zListConfigActivityHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListConfigActivityPath = z.object({\n id: zResourceId\n});\n\nexport const zListConfigActivityQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(100).optional().default(20)\n});\n\n/**\n * List config activity\n */\nexport const zListConfigActivityResponse2 = zListConfigActivityResponse;\n\nexport const zUpdateConfigSchemaBody = zUpdateConfigSchemaRequest;\n\nexport const zUpdateConfigSchemaHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateConfigSchemaPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a config schema\n */\nexport const zUpdateConfigSchemaResponse2 = zUpdateConfigSchemaResponse;\n\nexport const zListConfigVersionsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListConfigVersionsPath = z.object({\n id: zResourceId\n});\n\nexport const zListConfigVersionsQuery = z.object({\n env: zEnv.optional()\n});\n\n/**\n * List config version history\n */\nexport const zListConfigVersionsResponse2 = zListConfigVersionsResponse;\n\nexport const zListKillswitchesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListKillswitchesQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(500).optional().default(100),\n cursor: z.string().optional(),\n q: z.string().max(100).optional()\n});\n\n/**\n * List killswitches\n */\nexport const zListKillswitchesResponse2 = zListKillswitchesResponse;\n\nexport const zCreateKillswitchBody = zCreateKillswitchRequest;\n\nexport const zCreateKillswitchHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a killswitch\n */\nexport const zCreateKillswitchResponse2 = zCreateKillswitchResponse;\n\nexport const zDeleteKillswitchHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteKillswitchPath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete a killswitch\n */\nexport const zDeleteKillswitchResponse2 = zDeleteKillswitchResponse;\n\nexport const zGetKillswitchHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetKillswitchPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get one killswitch\n */\nexport const zGetKillswitchResponse2 = zGetKillswitchResponse;\n\nexport const zUpdateKillswitchBody = zUpdateKillswitchRequest;\n\nexport const zUpdateKillswitchHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateKillswitchPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a killswitch\n */\nexport const zUpdateKillswitchResponse2 = zUpdateKillswitchResponse;\n\nexport const zUnsetKillswitchSwitchBody = zUnsetKillswitchSwitchRequest;\n\nexport const zUnsetKillswitchSwitchHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUnsetKillswitchSwitchPath = z.object({\n id: zResourceId\n});\n\n/**\n * Remove one switch entry\n */\nexport const zUnsetKillswitchSwitchResponse2 = zUnsetKillswitchSwitchResponse;\n\nexport const zSetKillswitchSwitchBody = zSetKillswitchSwitchRequest;\n\nexport const zSetKillswitchSwitchHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zSetKillswitchSwitchPath = z.object({\n id: zResourceId\n});\n\n/**\n * Set one switch entry\n */\nexport const zSetKillswitchSwitchResponse2 = zSetKillswitchSwitchResponse;\n\nexport const zSetKillswitchValueBody = zSetKillswitchValueRequest;\n\nexport const zSetKillswitchValueHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zSetKillswitchValuePath = z.object({\n id: zResourceId\n});\n\n/**\n * Set the flat value on one env\n */\nexport const zSetKillswitchValueResponse2 = zSetKillswitchValueResponse;\n\nexport const zListUniversesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListUniversesQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(500).optional().default(100),\n cursor: z.string().optional(),\n q: z.string().max(100).optional()\n});\n\n/**\n * List universes\n */\nexport const zListUniversesResponse2 = zListUniversesResponse;\n\nexport const zCreateUniverseBody = zCreateUniverseRequest;\n\nexport const zCreateUniverseHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a universe\n */\nexport const zCreateUniverseResponse2 = zCreateUniverseResponse;\n\nexport const zDeleteUniverseHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteUniversePath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete a universe\n */\nexport const zDeleteUniverseResponse2 = zDeleteUniverseResponse;\n\nexport const zUpdateUniverseBody = zUpdateUniverseRequest;\n\nexport const zUpdateUniverseHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateUniversePath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a universe\n */\nexport const zUpdateUniverseResponse2 = zUpdateUniverseResponse;\n\nexport const zListGateTemplatesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListGateTemplatesQuery = z.object({\n q: z.string().max(100).optional(),\n query: z.string().optional()\n});\n\n/**\n * List gate templates\n */\nexport const zListGateTemplatesResponse2 = zListGateTemplatesResponse;\n\nexport const zCreateGateTemplateBody = zCreateGateTemplateRequest;\n\nexport const zCreateGateTemplateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a gate template\n */\nexport const zCreateGateTemplateResponse2 = zCreateGateTemplateResponse;\n\nexport const zDeleteGateTemplateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteGateTemplatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete a gate template\n */\nexport const zDeleteGateTemplateResponse2 = zDeleteGateTemplateResponse;\n\nexport const zGetGateTemplateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetGateTemplatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Get one gate template\n */\nexport const zGetGateTemplateResponse = zGateTemplate;\n\nexport const zUpdateGateTemplateBody = zUpdateGateTemplateRequest;\n\nexport const zUpdateGateTemplateHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateGateTemplatePath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a gate template\n */\nexport const zUpdateGateTemplateResponse2 = zUpdateGateTemplateResponse;\n\nexport const zListAttributesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListAttributesQuery = z.object({\n q: z.string().max(100).optional()\n});\n\n/**\n * List targeting attributes\n */\nexport const zListAttributesResponse2 = zListAttributesResponse;\n\nexport const zCreateAttributeBody = zCreateAttributeRequest;\n\nexport const zCreateAttributeHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Declare a targeting attribute\n */\nexport const zCreateAttributeResponse2 = zCreateAttributeResponse;\n\nexport const zDeleteAttributeHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteAttributePath = z.object({\n id: zResourceId\n});\n\n/**\n * Archive a targeting attribute\n */\nexport const zDeleteAttributeResponse2 = zDeleteAttributeResponse;\n\nexport const zGetAttributeHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetAttributePath = z.object({\n id: zResourceId\n});\n\n/**\n * Get a targeting attribute\n */\nexport const zGetAttributeResponse2 = zGetAttributeResponse;\n\nexport const zUpdateAttributeBody = zUpdateAttributeRequest;\n\nexport const zUpdateAttributeHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateAttributePath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a targeting attribute\n */\nexport const zUpdateAttributeResponse2 = zUpdateAttributeResponse;\n\nexport const zListMetricsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListMetricsQuery = z.object({\n q: z.string().max(100).optional()\n});\n\n/**\n * List metrics\n */\nexport const zListMetricsResponse2 = zListMetricsResponse;\n\nexport const zCreateMetricBody = zCreateMetricRequest;\n\nexport const zCreateMetricHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a metric\n */\nexport const zCreateMetricResponse2 = zCreateMetricResponse;\n\nexport const zDeleteMetricHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteMetricPath = z.object({\n id: zResourceId\n});\n\n/**\n * Archive a metric\n */\nexport const zDeleteMetricResponse2 = zDeleteMetricResponse;\n\nexport const zGetMetricHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetMetricPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get a metric\n */\nexport const zGetMetricResponse2 = zGetMetricResponse;\n\nexport const zUpdateMetricBody = zUpdateMetricRequest;\n\nexport const zUpdateMetricHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateMetricPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a metric\n */\nexport const zUpdateMetricResponse = zGetMetricResponse;\n\nexport const zListMetricExperimentsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListMetricExperimentsPath = z.object({\n id: zResourceId\n});\n\n/**\n * List experiments using a metric\n */\nexport const zListMetricExperimentsResponse2 = zListMetricExperimentsResponse;\n\nexport const zUnarchiveMetricHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUnarchiveMetricPath = z.object({\n id: zResourceId\n});\n\n/**\n * Unarchive a metric\n */\nexport const zUnarchiveMetricResponse2 = zUnarchiveMetricResponse;\n\nexport const zGetMetricSeriesBody = zGetMetricSeriesRequest;\n\nexport const zGetMetricSeriesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetMetricSeriesPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get a metric's time series\n */\nexport const zGetMetricSeriesResponse2 = zGetMetricSeriesResponse;\n\nexport const zListEventsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListEventsQuery = z.object({\n q: z.string().max(100).optional()\n});\n\n/**\n * List events\n */\nexport const zListEventsResponse2 = zListEventsResponse;\n\nexport const zCreateEventBody = zCreateEventRequest;\n\nexport const zCreateEventHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Register an event\n */\nexport const zCreateEventResponse2 = zCreateEventResponse;\n\nexport const zDeleteEventHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteEventPath = z.object({\n id: zResourceId\n});\n\n/**\n * Archive an event\n */\nexport const zDeleteEventResponse2 = zDeleteEventResponse;\n\nexport const zGetEventHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetEventPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get an event\n */\nexport const zGetEventResponse2 = zGetEventResponse;\n\nexport const zUpdateEventBody = zUpdateEventRequest;\n\nexport const zUpdateEventHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateEventPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update an event\n */\nexport const zUpdateEventResponse2 = zUpdateEventResponse;\n\nexport const zApproveEventBody = zApproveEventRequest;\n\nexport const zApproveEventHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zApproveEventPath = z.object({\n id: zResourceId\n});\n\n/**\n * Approve a pending event\n */\nexport const zApproveEventResponse2 = zApproveEventResponse;\n\nexport const zListOpsItemsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListOpsItemsQuery = z.object({\n type: z.union([\n z.enum([\n 'bug',\n 'feature_request',\n 'error',\n 'alert'\n ]),\n z.literal('all')\n ]).optional(),\n status: z.union([\n zOpsItemStatus,\n z.literal('all')\n ]).optional(),\n limit: z.coerce.number().int().gte(1).lte(500).optional(),\n owner: z.string().optional()\n});\n\n/**\n * List the operational queue\n */\nexport const zListOpsItemsResponse2 = zListOpsItemsResponse;\n\nexport const zCreateOpsItemBody = zCreateOpsItemRequest;\n\nexport const zCreateOpsItemHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * File a queue item\n */\nexport const zCreateOpsItemResponse2 = zCreateOpsItemResponse;\n\nexport const zDeleteOpsItemHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteOpsItemPath = z.object({\n handle: zResourceId\n});\n\n/**\n * Delete a queue item\n */\nexport const zDeleteOpsItemResponse2 = zDeleteOpsItemResponse;\n\nexport const zGetOpsItemHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetOpsItemPath = z.object({\n handle: zResourceId\n});\n\n/**\n * Get one queue item\n */\nexport const zGetOpsItemResponse2 = zGetOpsItemResponse;\n\nexport const zUpdateOpsItemBody = zUpdateOpsItemRequest;\n\nexport const zUpdateOpsItemHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateOpsItemPath = z.object({\n handle: zResourceId\n});\n\n/**\n * Update a queue item\n */\nexport const zUpdateOpsItemResponse2 = zUpdateOpsItemResponse;\n\nexport const zLinkPrToOpsItemBody = zLinkPrToOpsItemRequest;\n\nexport const zLinkPrToOpsItemHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zLinkPrToOpsItemPath = z.object({\n handle: zResourceId\n});\n\n/**\n * Link a fixing PR\n */\nexport const zLinkPrToOpsItemResponse2 = zLinkPrToOpsItemResponse;\n\nexport const zAckOpsItemBody = zAckOpsItemRequest;\n\nexport const zAckOpsItemHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zAckOpsItemPath = z.object({\n handle: zResourceId\n});\n\n/**\n * Ack an item (start a run)\n */\nexport const zAckOpsItemResponse2 = zAckOpsItemResponse;\n\nexport const zListOpsInvestigationsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListOpsInvestigationsPath = z.object({\n handle: zResourceId\n});\n\n/**\n * List an item's investigation records\n */\nexport const zListOpsInvestigationsResponse2 = zListOpsInvestigationsResponse;\n\nexport const zCreateOpsInvestigationBody = zCreateOpsInvestigationRequest;\n\nexport const zCreateOpsInvestigationHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zCreateOpsInvestigationPath = z.object({\n handle: zResourceId\n});\n\n/**\n * Record an investigation\n */\nexport const zCreateOpsInvestigationResponse = zOpsInvestigation;\n\nexport const zUpdateOpsInvestigationBody = zUpdateOpsInvestigationRequest;\n\nexport const zUpdateOpsInvestigationHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateOpsInvestigationPath = z.object({\n handle: zResourceId,\n investigationId: zResourceId\n});\n\n/**\n * The updated investigation record\n */\nexport const zUpdateOpsInvestigationResponse = zOpsInvestigation;\n\nexport const zListOpsAgentsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * List connected AI agents\n */\nexport const zListOpsAgentsResponse2 = zListOpsAgentsResponse;\n\nexport const zListOpsCommentsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListOpsCommentsPath = z.object({\n handle: zResourceId\n});\n\n/**\n * List an item's comments\n */\nexport const zListOpsCommentsResponse2 = zListOpsCommentsResponse;\n\nexport const zCreateOpsCommentBody = zCreateOpsCommentRequest;\n\nexport const zCreateOpsCommentHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zCreateOpsCommentPath = z.object({\n handle: zResourceId\n});\n\n/**\n * Comment on an item\n */\nexport const zCreateOpsCommentResponse2 = zCreateOpsCommentResponse;\n\nexport const zNotifyOpsBody = zNotifyOpsRequest;\n\nexport const zNotifyOpsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Raise an attention notification\n */\nexport const zNotifyOpsResponse2 = zNotifyOpsResponse;\n\nexport const zListSlackChannelsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * List Slack channels\n */\nexport const zListSlackChannelsResponse2 = zListSlackChannelsResponse;\n\nexport const zListAlertRulesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListAlertRulesQuery = z.object({\n q: z.string().max(100).optional()\n});\n\n/**\n * List alert rules\n */\nexport const zListAlertRulesResponse2 = zListAlertRulesResponse;\n\nexport const zCreateAlertRuleBody = zCreateAlertRuleRequest;\n\nexport const zCreateAlertRuleHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create an alert rule\n */\nexport const zCreateAlertRuleResponse2 = zCreateAlertRuleResponse;\n\nexport const zDeleteAlertRuleHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteAlertRulePath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete an alert rule\n */\nexport const zDeleteAlertRuleResponse2 = zDeleteAlertRuleResponse;\n\nexport const zUpdateAlertRuleBody = zUpdateAlertRuleRequest;\n\nexport const zUpdateAlertRuleHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateAlertRulePath = z.object({\n id: zResourceId\n});\n\n/**\n * Update an alert rule\n */\nexport const zUpdateAlertRuleResponse2 = zUpdateAlertRuleResponse;\n\nexport const zListAlertsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListAlertsQuery = z.object({\n status: z.enum([\n 'active',\n 'resolved',\n 'dismissed',\n 'all'\n ]).optional().default('active')\n});\n\n/**\n * List fired alerts\n */\nexport const zListAlertsResponse2 = zListAlertsResponse;\n\nexport const zUpdateAlertBody = zUpdateAlertRequest;\n\nexport const zUpdateAlertHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateAlertPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a fired alert\n */\nexport const zUpdateAlertResponse = zAlertApiRow;\n\nexport const zGetCurrentProjectHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Show the current project\n */\nexport const zGetCurrentProjectResponse2 = zGetCurrentProjectResponse;\n\nexport const zUpsertProjectBody = zUpsertProjectRequest;\n\nexport const zUpsertProjectHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Find-or-create a project by domain\n */\nexport const zUpsertProjectResponse2 = zUpsertProjectResponse;\n\nexport const zGetProjectHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetProjectPath = z.object({\n id: zResourceId\n});\n\n/**\n * Show a project by id\n */\nexport const zGetProjectResponse = zGetCurrentProjectResponse;\n\nexport const zUpdateProjectBody = zUpdateProjectRequest;\n\nexport const zUpdateProjectHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateProjectPath = z.object({\n id: zResourceId\n});\n\n/**\n * The updated project.\n */\nexport const zUpdateProjectResponse = zGetCurrentProjectResponse;\n\nexport const zListI18nProfilesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * List i18n profiles\n */\nexport const zListI18nProfilesResponse2 = zListI18nProfilesResponse;\n\nexport const zCreateI18nProfileBody = zCreateI18nProfileRequest;\n\nexport const zCreateI18nProfileHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create an i18n profile\n */\nexport const zCreateI18nProfileResponse2 = zCreateI18nProfileResponse;\n\nexport const zListI18nKeysHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListI18nKeysQuery = z.object({\n profile_id: z.string().optional(),\n prefix: z.string().optional(),\n q: z.string().max(100).optional(),\n limit: z.coerce.number().int().gte(1).lte(500).optional(),\n offset: z.coerce.number().int().gte(0).optional().default(0)\n});\n\n/**\n * List i18n keys\n */\nexport const zListI18nKeysResponse2 = zListI18nKeysResponse;\n\nexport const zPushI18nKeysBody = zPushI18nKeysRequest;\n\nexport const zPushI18nKeysHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Push i18n keys (insert-only, or `force` to overwrite)\n */\nexport const zPushI18nKeysResponse2 = zPushI18nKeysResponse;\n\nexport const zUpsertI18nKeysBody = zUpsertI18nKeysRequest;\n\nexport const zUpsertI18nKeysHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Bulk upsert i18n keys (overwrite)\n */\nexport const zUpsertI18nKeysResponse2 = zUpsertI18nKeysResponse;\n\nexport const zDeleteI18nKeyHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteI18nKeyPath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete one i18n key\n */\nexport const zDeleteI18nKeyResponse = zOkResponse;\n\nexport const zUpdateI18nKeyBody = zUpdateI18nKeyRequest;\n\nexport const zUpdateI18nKeyHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateI18nKeyPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update one i18n key\n */\nexport const zUpdateI18nKeyResponse2 = zUpdateI18nKeyResponse;\n\nexport const zListI18nDraftsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * List translation drafts\n */\nexport const zListI18nDraftsResponse2 = zListI18nDraftsResponse;\n\nexport const zCreateI18nDraftBody = zCreateI18nDraftRequest;\n\nexport const zCreateI18nDraftHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a translation draft\n */\nexport const zCreateI18nDraftResponse = zI18nDraft;\n\nexport const zDeleteI18nDraftHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteI18nDraftPath = z.object({\n draftId: zResourceId\n});\n\n/**\n * Delete a translation draft\n */\nexport const zDeleteI18nDraftResponse = zOkResponse;\n\nexport const zUpdateI18nDraftBody = zUpdateI18nDraftRequest;\n\nexport const zUpdateI18nDraftHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateI18nDraftPath = z.object({\n draftId: zResourceId\n});\n\n/**\n * Update a translation draft\n */\nexport const zUpdateI18nDraftResponse = zI18nDraft;\n\nexport const zDeleteI18nProfileHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteI18nProfilePath = z.object({\n profileId: zResourceId\n});\n\n/**\n * Delete an i18n profile\n */\nexport const zDeleteI18nProfileResponse = zOkResponse;\n\nexport const zListI18nDraftKeysHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListI18nDraftKeysPath = z.object({\n draftId: zResourceId\n});\n\n/**\n * List a draft's staged keys\n */\nexport const zListI18nDraftKeysResponse2 = zListI18nDraftKeysResponse;\n\nexport const zUpsertI18nDraftKeyBody = zUpsertI18nDraftKeyRequest;\n\nexport const zUpsertI18nDraftKeyHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpsertI18nDraftKeyPath = z.object({\n draftId: zResourceId\n});\n\n/**\n * Upsert one staged draft key\n */\nexport const zUpsertI18nDraftKeyResponse = zOkResponse;\n\nexport const zPublishI18nProfileBody = zPublishI18nProfileRequest;\n\nexport const zPublishI18nProfileHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zPublishI18nProfilePath = z.object({\n profileId: zResourceId\n});\n\n/**\n * Publish a profile\n */\nexport const zPublishI18nProfileResponse2 = zPublishI18nProfileResponse;\n\nexport const zSetI18nLabelBody = zSetI18nLabelRequest;\n\nexport const zSetI18nLabelHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Set a key's value and publish it live\n */\nexport const zSetI18nLabelResponse2 = zSetI18nLabelResponse;\n\nexport const zListErrorsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListErrorsQuery = z.object({\n status: z.enum([\n 'open',\n 'resolved',\n 'ignored',\n 'all'\n ]).optional().default('all'),\n q: z.string().max(200).optional(),\n limit: z.coerce.number().int().gte(1).lte(500).optional().default(200)\n});\n\n/**\n * List tracked errors\n */\nexport const zListErrorsResponse2 = zListErrorsResponse;\n\nexport const zGetErrorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetErrorPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get a tracked error\n */\nexport const zGetErrorResponse = zErrorRecord;\n\nexport const zUpdateErrorStatusBody = zUpdateErrorStatusRequest;\n\nexport const zUpdateErrorStatusHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateErrorStatusPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a tracked error's status\n */\nexport const zUpdateErrorStatusResponse = zErrorRecord;\n\nexport const zFileErrorTicketHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zFileErrorTicketPath = z.object({\n id: zResourceId\n});\n\n/**\n * File a feedback ticket for an error\n */\nexport const zFileErrorTicketResponse2 = zFileErrorTicketResponse;\n\nexport const zResolveErrorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zResolveErrorPath = z.object({\n id: zResourceId\n});\n\n/**\n * Resolve a tracked error\n */\nexport const zResolveErrorResponse = zErrorRecord;\n\nexport const zGetErrorSeriesBody = zErrorSeriesRequest;\n\nexport const zGetErrorSeriesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetErrorSeriesPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get an error's occurrence series\n */\nexport const zGetErrorSeriesResponse = zErrorSeriesResponse;\n\nexport const zListConnectorsHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListConnectorsQuery = z.object({\n q: z.string().max(100).optional()\n});\n\n/**\n * List connectors\n */\nexport const zListConnectorsResponse2 = zListConnectorsResponse;\n\nexport const zCreateConnectorBody = zCreateConnectorRequest;\n\nexport const zCreateConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create a connector\n */\nexport const zCreateConnectorResponse2 = zCreateConnectorResponse;\n\nexport const zDeleteConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zDeleteConnectorPath = z.object({\n id: zResourceId\n});\n\n/**\n * Delete a connector\n */\nexport const zDeleteConnectorResponse2 = zDeleteConnectorResponse;\n\nexport const zGetConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zGetConnectorPath = z.object({\n id: zResourceId\n});\n\n/**\n * Get a connector\n */\nexport const zGetConnectorResponse = zConnectorRecord;\n\nexport const zUpdateConnectorBody = zUpdateConnectorRequest;\n\nexport const zUpdateConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateConnectorPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a connector\n */\nexport const zUpdateConnectorResponse2 = zUpdateConnectorResponse;\n\nexport const zFireConnectorBody = zFireConnectorRequest;\n\nexport const zFireConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zFireConnectorPath = z.object({\n id: zResourceId\n});\n\n/**\n * The trigger run was successfully kicked off.\n */\nexport const zFireConnectorResponse2 = zFireConnectorResponse;\n\nexport const zTestConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zTestConnectorPath = z.object({\n id: zResourceId\n});\n\n/**\n * The test dispatch reached the destination.\n */\nexport const zTestConnectorResponse2 = zTestConnectorResponse;\n\nexport const zUpdateTriggerConnectorBody = zUpdateTriggerConnectorRequest;\n\nexport const zUpdateTriggerConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zUpdateTriggerConnectorPath = z.object({\n id: zResourceId\n});\n\n/**\n * Update a trigger connector\n */\nexport const zUpdateTriggerConnectorResponse = zUpdateConnectorResponse;\n\nexport const zCreateTriggerConnectorBody = zCreateTriggerConnectorRequest;\n\nexport const zCreateTriggerConnectorHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Trigger connector created (or idempotently updated)\n */\nexport const zCreateTriggerConnectorResponse = zCreateConnectorResponse;\n\nexport const zListKeysHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zListKeysQuery = z.object({\n limit: z.coerce.number().int().gte(1).lte(500).optional().default(100),\n cursor: z.string().optional(),\n q: z.string().max(100).optional()\n});\n\n/**\n * List API keys\n */\nexport const zListKeysResponse2 = zListKeysResponse;\n\nexport const zCreateKeyBody = zCreateKeyRequest;\n\nexport const zCreateKeyHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\n/**\n * Create an API key\n */\nexport const zCreateKeyResponse2 = zCreateKeyResponse;\n\nexport const zRevokeKeyHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zRevokeKeyPath = z.object({\n id: zResourceId\n});\n\n/**\n * Revoke an API key\n */\nexport const zRevokeKeyResponse2 = zRevokeKeyResponse;\n\nexport const zSearchResourcesHeaders = z.object({\n 'X-Project-Id': z.string().optional()\n});\n\nexport const zSearchResourcesQuery = z.object({\n q: z.string().optional()\n});\n\n/**\n * Search project resources\n */\nexport const zSearchResourcesResponse = zSearchResponse;\n"],"mappings":"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","names":[]}
|