@axiom-lattice/protocols 4.4.1 → 4.6.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/index.d.ts CHANGED
@@ -107,6 +107,16 @@ interface LLMConfig {
107
107
  extra?: Record<string, any>;
108
108
  /** Whether the model supports vision/image inputs for multimodal processing */
109
109
  supportsVision?: boolean;
110
+ /**
111
+ * Send requests through OpenAI's Responses API (`/v1/responses`) instead of
112
+ * Chat Completions (`/v1/chat/completions`).
113
+ *
114
+ * These are different paths with different request fields (`input` vs
115
+ * `messages`), so an endpoint that speaks only one of them fails with
116
+ * unrecognised parameters or a missing route when sent the other. Defaults to
117
+ * Chat Completions, which is what every OpenAI-compatible upstream supports.
118
+ */
119
+ useResponsesApi?: boolean;
110
120
  }
111
121
  /**
112
122
  * 模型Lattice协议接口
@@ -3078,6 +3088,657 @@ interface McpServerConfigStore {
3078
3088
  hasConfig(tenantId: string, id: string): Promise<boolean>;
3079
3089
  }
3080
3090
 
3091
+ /**
3092
+ * ModelProviderProtocol
3093
+ *
3094
+ * Tenant-scoped model provider catalog for the Axiom Lattice framework.
3095
+ * A tenant owner/admin configures an upstream `baseURL` + `apiKey`, and the
3096
+ * gateway pulls the available model list from that upstream and stores it as a
3097
+ * snapshot.
3098
+ */
3099
+
3100
+ /**
3101
+ * Wire protocol used to talk to the upstream provider.
3102
+ * Phase 1 implements only `openai-compatible`.
3103
+ */
3104
+ type ModelProviderWireProtocol = "openai-compatible";
3105
+ /**
3106
+ * Which request style the upstream speaks.
3107
+ *
3108
+ * This is not the same question as `wireProtocol`: two upstreams can both be
3109
+ * "OpenAI-compatible" yet expose different routes and request fields.
3110
+ * Chat Completions posts `messages` to `/v1/chat/completions`; the Responses
3111
+ * API posts `input` to `/v1/responses`. Sending one where the other is expected
3112
+ * surfaces as unrecognised parameters, a missing route, or endless retries.
3113
+ */
3114
+ type ModelProviderApiStyle = "chat-completions" | "responses";
3115
+ /**
3116
+ * Value handed to `LLMConfig.provider` when a discovered model is turned into a
3117
+ * runtime client.
3118
+ *
3119
+ * Derived from `LLMConfig` rather than restated, so the two cannot drift.
3120
+ */
3121
+ type ModelProviderLlmProvider = LLMConfig["provider"];
3122
+ /**
3123
+ * Build the tenant-scoped model key.
3124
+ *
3125
+ * The provider id scopes the upstream model id, so the same upstream id offered
3126
+ * by two providers yields two independent, independently-credentialed models.
3127
+ * The provider id is immutable, so renaming a provider never invalidates a key
3128
+ * already stored in agent or eval configuration.
3129
+ *
3130
+ * @param providerId - Provider identifier
3131
+ * @param modelId - Upstream model id
3132
+ */
3133
+ declare function toModelKey(providerId: string, modelId: string): string;
3134
+ /**
3135
+ * Split a model key back into its provider and upstream model id.
3136
+ *
3137
+ * Splits on the first separator only: upstream model ids routinely contain
3138
+ * `/` themselves (`Qwen/Qwen2.5-7B-Instruct`).
3139
+ *
3140
+ * @param modelKey - Key produced by {@link toModelKey}
3141
+ * @returns The two parts, or null when the key carries no separator
3142
+ */
3143
+ declare function parseModelKey(modelKey: string): {
3144
+ providerId: string;
3145
+ modelId: string;
3146
+ } | null;
3147
+ /**
3148
+ * Outcome of the most recent discovery attempt for a provider.
3149
+ */
3150
+ type ModelProviderStatus = "unknown" | "ok" | "error";
3151
+ /** The codes a probe can fail with — all of them upstream-side. */
3152
+ type ModelProviderUpstreamErrorCode = "UPSTREAM_UNREACHABLE" | "UPSTREAM_AUTH_FAILED" | "UPSTREAM_REDIRECT_BLOCKED" | "UPSTREAM_INVALID_RESPONSE" | "UPSTREAM_RATE_LIMITED" | "UPSTREAM_TIMEOUT";
3153
+ /**
3154
+ * Stable error codes returned by the model provider endpoints.
3155
+ *
3156
+ * Declared here rather than in the gateway so clients can type the code they
3157
+ * receive and switch over it exhaustively. A console that re-types the list as
3158
+ * bare strings cannot be told when the server adds or renames one.
3159
+ */
3160
+ type ModelProviderErrorCode = "UNAUTHENTICATED" | "TENANT_ACCESS_DENIED" | "FORBIDDEN_ROLE" | "INVALID_INPUT" | "INVALID_BASE_URL" | "UNSUPPORTED_PROTOCOL" | "PROVIDER_NOT_FOUND" | "PROVIDER_DISABLED" | "PROVIDER_NAME_CONFLICT" | "MODEL_KEY_CONFLICT" | "UPSTREAM_UNREACHABLE" | "UPSTREAM_AUTH_FAILED" | "UPSTREAM_REDIRECT_BLOCKED" | "UPSTREAM_INVALID_RESPONSE" | "UPSTREAM_RATE_LIMITED" | "UPSTREAM_TIMEOUT" | "INTERNAL_ERROR";
3161
+ /**
3162
+ * A tenant-scoped model provider configuration.
3163
+ *
3164
+ * `apiKey` holds the decrypted secret and is for **server-side use only**.
3165
+ * It must never be serialized into an API response — route responses go through
3166
+ * the service's public projection, which exposes `hasApiKey` / `apiKeyHint`.
3167
+ */
3168
+ interface ModelProviderEntry {
3169
+ /**
3170
+ * Unique identifier for the provider configuration
3171
+ */
3172
+ id: string;
3173
+ /**
3174
+ * Tenant identifier for multi-tenant isolation
3175
+ */
3176
+ tenantId: string;
3177
+ /**
3178
+ * Business name for the provider (unique within tenant)
3179
+ */
3180
+ name: string;
3181
+ /**
3182
+ * Optional friendly name for display
3183
+ */
3184
+ displayName?: string;
3185
+ /**
3186
+ * Wire protocol used for discovery
3187
+ */
3188
+ protocol: ModelProviderWireProtocol;
3189
+ /**
3190
+ * Request style the upstream speaks. Defaults to Chat Completions.
3191
+ */
3192
+ apiStyle: ModelProviderApiStyle;
3193
+ /**
3194
+ * LLMConfig provider value used when constructing a runtime client
3195
+ */
3196
+ llmProvider: ModelProviderLlmProvider;
3197
+ /**
3198
+ * Upstream base URL
3199
+ */
3200
+ baseURL: string;
3201
+ /**
3202
+ * Decrypted API key. Server-side only — never serialize into a response.
3203
+ */
3204
+ apiKey?: string;
3205
+ /**
3206
+ * Last 4 characters of the API key. Safe to expose.
3207
+ */
3208
+ apiKeyHint?: string;
3209
+ /**
3210
+ * Whether this provider participates in discovery and registration
3211
+ */
3212
+ enabled: boolean;
3213
+ /**
3214
+ * Outcome of the most recent discovery attempt
3215
+ */
3216
+ status: ModelProviderStatus;
3217
+ /**
3218
+ * Stable error code from the most recent failed discovery.
3219
+ * Never the raw upstream response body.
3220
+ */
3221
+ lastError?: string;
3222
+ /**
3223
+ * Timestamp of the most recent successful discovery
3224
+ */
3225
+ lastDiscoveredAt?: Date;
3226
+ /**
3227
+ * User who created the configuration
3228
+ */
3229
+ createdBy?: string;
3230
+ /**
3231
+ * Creation timestamp
3232
+ */
3233
+ createdAt: Date;
3234
+ /**
3235
+ * Last update timestamp
3236
+ */
3237
+ updatedAt: Date;
3238
+ }
3239
+ /**
3240
+ * Request to create a new model provider configuration
3241
+ */
3242
+ interface CreateModelProviderRequest {
3243
+ /**
3244
+ * Business name for the provider (unique within tenant)
3245
+ */
3246
+ name: string;
3247
+ /**
3248
+ * Optional friendly name for display
3249
+ */
3250
+ displayName?: string;
3251
+ /**
3252
+ * Wire protocol used for discovery
3253
+ */
3254
+ protocol: ModelProviderWireProtocol;
3255
+ /**
3256
+ * Request style the upstream speaks. Defaults to Chat Completions.
3257
+ */
3258
+ apiStyle?: ModelProviderApiStyle;
3259
+ /**
3260
+ * Upstream base URL
3261
+ */
3262
+ baseURL: string;
3263
+ /**
3264
+ * Upstream API key. Required: a provider must always carry a credential.
3265
+ *
3266
+ * A keyless provider is not merely useless — it is unsafe. `initChatModel`
3267
+ * falls back to `process.env[apiKeyEnvName ?? "OPENAI_API_KEY"]` when the
3268
+ * config carries no key, so a keyless provider pointed at a tenant-chosen
3269
+ * host would send the gateway's own deployment credential to it.
3270
+ */
3271
+ apiKey: string;
3272
+ /**
3273
+ * Whether this provider participates in discovery and registration
3274
+ */
3275
+ enabled?: boolean;
3276
+ }
3277
+ /**
3278
+ * Request to update an existing model provider configuration.
3279
+ *
3280
+ * An omitted or empty `apiKey` means "keep the existing key" — the store must
3281
+ * not overwrite stored credentials in that case. To remove a stored key
3282
+ * outright, set `clearApiKey`.
3283
+ */
3284
+ interface UpdateModelProviderRequest {
3285
+ /**
3286
+ * Business name for the provider
3287
+ */
3288
+ name?: string;
3289
+ /**
3290
+ * Optional friendly name for display
3291
+ */
3292
+ displayName?: string;
3293
+ /**
3294
+ * Wire protocol used for discovery
3295
+ */
3296
+ protocol?: ModelProviderWireProtocol;
3297
+ /**
3298
+ * Request style the upstream speaks
3299
+ */
3300
+ apiStyle?: ModelProviderApiStyle;
3301
+ /**
3302
+ * Upstream base URL
3303
+ */
3304
+ baseURL?: string;
3305
+ /**
3306
+ * Upstream API key. Omitted or empty keeps the existing key.
3307
+ */
3308
+ apiKey?: string;
3309
+ /**
3310
+ * Remove the stored API key.
3311
+ *
3312
+ * Needed because an empty `apiKey` means "keep": without this there is no way
3313
+ * to revoke a leaked credential short of deleting the provider.
3314
+ * Takes precedence over `apiKey`.
3315
+ */
3316
+ clearApiKey?: boolean;
3317
+ /**
3318
+ * Whether this provider participates in discovery and registration
3319
+ */
3320
+ enabled?: boolean;
3321
+ }
3322
+ /**
3323
+ * A single model returned by an upstream discovery call
3324
+ */
3325
+ interface DiscoveredModel {
3326
+ /**
3327
+ * Upstream model id — this becomes the tenant-scoped `modelKey`
3328
+ */
3329
+ id: string;
3330
+ /**
3331
+ * Optional human-readable name from the upstream
3332
+ */
3333
+ displayName?: string;
3334
+ /**
3335
+ * Upstream `owned_by` field, when present
3336
+ */
3337
+ ownedBy?: string;
3338
+ /**
3339
+ * Upstream `created` field, when present
3340
+ */
3341
+ createdAt?: string;
3342
+ /**
3343
+ * Raw upstream payload for this model
3344
+ */
3345
+ raw?: unknown;
3346
+ }
3347
+ /**
3348
+ * A model to store for a provider.
3349
+ *
3350
+ * Extends the discovered shape with an optional `enabled` override. Discovery
3351
+ * leaves it out, which preserves whatever the tenant chose for a model that was
3352
+ * already in the snapshot; an explicit selection states it.
3353
+ */
3354
+ interface ProviderModelInput extends DiscoveredModel {
3355
+ enabled?: boolean;
3356
+ /**
3357
+ * The upstream no longer offers this model, but the row is kept.
3358
+ *
3359
+ * Distinct from `enabled: false`, which means the tenant switched it off.
3360
+ */
3361
+ stale?: boolean;
3362
+ }
3363
+ /**
3364
+ * One model in an explicit provider model selection.
3365
+ *
3366
+ * Both states are stored: a deselected model is written with `enabled: false`
3367
+ * rather than dropped. Only then can a later sync tell "the upstream no longer
3368
+ * offers this" apart from "the tenant switched it off" — the two are otherwise
3369
+ * indistinguishable in the data.
3370
+ */
3371
+ interface ModelSelection {
3372
+ modelId: string;
3373
+ enabled: boolean;
3374
+ /** The upstream no longer offers this model; the row is kept, flagged. */
3375
+ stale?: boolean;
3376
+ }
3377
+ /**
3378
+ * A model recorded in a provider's snapshot
3379
+ */
3380
+ interface ModelProviderModelEntry {
3381
+ /**
3382
+ * Unique identifier for the snapshot row
3383
+ */
3384
+ id: string;
3385
+ /**
3386
+ * Tenant identifier for multi-tenant isolation
3387
+ */
3388
+ tenantId: string;
3389
+ /**
3390
+ * Identifier of the provider this model was discovered from
3391
+ */
3392
+ providerId: string;
3393
+ /**
3394
+ * Upstream model id — the tenant-scoped model key
3395
+ */
3396
+ modelId: string;
3397
+ /**
3398
+ * Optional human-readable name from the upstream
3399
+ */
3400
+ displayName?: string;
3401
+ /**
3402
+ * Upstream `owned_by` field, when present
3403
+ */
3404
+ ownedBy?: string;
3405
+ /**
3406
+ * Upstream `created` field, when present
3407
+ */
3408
+ upstreamCreatedAt?: Date;
3409
+ /**
3410
+ * Whether this model may be used
3411
+ */
3412
+ enabled: boolean;
3413
+ /**
3414
+ * The upstream no longer offers this model. The row is kept so configs that
3415
+ * reference its key keep resolving, and so "dropped upstream" stays
3416
+ * distinguishable from "switched off here".
3417
+ */
3418
+ stale?: boolean;
3419
+ /**
3420
+ * Timestamp of the discovery that produced this row
3421
+ */
3422
+ discoveredAt: Date;
3423
+ }
3424
+ /**
3425
+ * Public projection of a provider configuration.
3426
+ *
3427
+ * This is the only shape that leaves the server: it never carries the API key
3428
+ * itself, only whether one is configured and its last four characters.
3429
+ */
3430
+ interface ModelProviderPublicEntry {
3431
+ /**
3432
+ * Unique identifier for the provider configuration
3433
+ */
3434
+ id: string;
3435
+ /**
3436
+ * Tenant identifier
3437
+ */
3438
+ tenantId: string;
3439
+ /**
3440
+ * Business name for the provider
3441
+ */
3442
+ name: string;
3443
+ /**
3444
+ * Optional friendly name for display
3445
+ */
3446
+ displayName?: string;
3447
+ /**
3448
+ * Wire protocol used for discovery
3449
+ */
3450
+ protocol: ModelProviderWireProtocol;
3451
+ /**
3452
+ * Request style the upstream speaks
3453
+ */
3454
+ apiStyle: ModelProviderApiStyle;
3455
+ /**
3456
+ * LLMConfig provider value used when constructing a runtime client
3457
+ */
3458
+ llmProvider: ModelProviderLlmProvider;
3459
+ /**
3460
+ * Upstream base URL
3461
+ */
3462
+ baseURL: string;
3463
+ /**
3464
+ * Whether an API key is configured. Replaces the key itself in responses.
3465
+ */
3466
+ hasApiKey: boolean;
3467
+ /**
3468
+ * Last 4 characters of the API key, for display
3469
+ */
3470
+ apiKeyHint?: string;
3471
+ /**
3472
+ * Whether this provider participates in discovery and registration
3473
+ */
3474
+ enabled: boolean;
3475
+ /**
3476
+ * Outcome of the most recent discovery attempt
3477
+ */
3478
+ status: ModelProviderStatus;
3479
+ /**
3480
+ * Stable error code from the most recent failed discovery
3481
+ */
3482
+ lastError?: string;
3483
+ /**
3484
+ * Timestamp of the most recent successful discovery
3485
+ */
3486
+ lastDiscoveredAt?: string;
3487
+ /**
3488
+ * Number of models in this provider's snapshot
3489
+ */
3490
+ modelCount: number;
3491
+ /**
3492
+ * Creation timestamp
3493
+ */
3494
+ createdAt: string;
3495
+ /**
3496
+ * Last update timestamp
3497
+ */
3498
+ updatedAt: string;
3499
+ }
3500
+ /**
3501
+ * A model visible to a tenant, from either the discovery snapshot or the
3502
+ * in-memory model registry.
3503
+ */
3504
+ interface TenantModelPublicEntry {
3505
+ /**
3506
+ * Tenant-scoped model key — the upstream model id
3507
+ */
3508
+ modelKey: string;
3509
+ /**
3510
+ * Optional human-readable name
3511
+ */
3512
+ displayName?: string;
3513
+ /**
3514
+ * Identifier of the provider offering this model
3515
+ */
3516
+ providerId: string;
3517
+ /**
3518
+ * Name of the provider offering this model
3519
+ */
3520
+ providerName: string;
3521
+ /**
3522
+ * Upstream `owned_by` field, when present
3523
+ */
3524
+ ownedBy?: string;
3525
+ /**
3526
+ * Where this entry came from
3527
+ */
3528
+ source: "snapshot" | "registered";
3529
+ /**
3530
+ * Whether the tenant has this model switched on.
3531
+ * Entries sourced from the registry are always enabled.
3532
+ */
3533
+ enabled: boolean;
3534
+ /**
3535
+ * The upstream no longer offers this model (see `ModelProviderModelEntry.stale`)
3536
+ */
3537
+ stale: boolean;
3538
+ /**
3539
+ * Whether this model can actually be executed by an agent.
3540
+ * Phase 1: true only for the `default` tenant.
3541
+ */
3542
+ executable: boolean;
3543
+ }
3544
+ /**
3545
+ * The full model catalog visible to one tenant
3546
+ */
3547
+ interface TenantModelCatalog {
3548
+ /**
3549
+ * Provider configurations owned by the tenant
3550
+ */
3551
+ providers: ModelProviderPublicEntry[];
3552
+ /**
3553
+ * Models visible to the tenant
3554
+ */
3555
+ models: TenantModelPublicEntry[];
3556
+ }
3557
+ /**
3558
+ * Result of running discovery against one provider
3559
+ */
3560
+ interface ModelDiscoveryResult {
3561
+ /**
3562
+ * Models returned by the upstream
3563
+ */
3564
+ discovered: DiscoveredModel[];
3565
+ /**
3566
+ * Model keys registered for execution, of the form `${providerId}/${modelId}`
3567
+ */
3568
+ registered: string[];
3569
+ /**
3570
+ * Provider status after this attempt
3571
+ */
3572
+ status: ModelProviderStatus;
3573
+ /**
3574
+ * Stable error code if the attempt failed
3575
+ */
3576
+ lastError?: string;
3577
+ }
3578
+ /**
3579
+ * Ad-hoc probe of an upstream, used by the provider form to validate a base URL
3580
+ * and API key before they are saved.
3581
+ *
3582
+ * Unlike `discover`, this accepts the URL from the request rather than loading
3583
+ * it from the store — that is the whole point, since the values may not exist
3584
+ * in the store yet. The URL is validated exactly as on create/update and is
3585
+ * never persisted by a probe.
3586
+ */
3587
+ interface ModelProviderProbeRequest {
3588
+ /**
3589
+ * Upstream base URL to probe. Validated before any outbound request.
3590
+ */
3591
+ baseURL: string;
3592
+ /**
3593
+ * API key to authenticate with.
3594
+ * Omitted on an existing provider means "use the stored key", which is
3595
+ * resolved through `providerId` — the form never receives the stored key.
3596
+ */
3597
+ apiKey?: string;
3598
+ /**
3599
+ * Existing provider whose stored key should be used when `apiKey` is absent.
3600
+ */
3601
+ providerId?: string;
3602
+ /**
3603
+ * Wire protocol to speak. Defaults to `openai-compatible`.
3604
+ */
3605
+ protocol?: ModelProviderWireProtocol;
3606
+ }
3607
+ /**
3608
+ * Outcome of a probe: what the upstream answered, and how long it took.
3609
+ *
3610
+ * A failed probe is still a successful request — the caller wants to render
3611
+ * "unreachable: UPSTREAM_AUTH_FAILED" in the form, not handle an HTTP error.
3612
+ * Only invalid input (bad URL, unknown protocol) is reported as an HTTP error.
3613
+ */
3614
+ interface ModelProviderProbeResult {
3615
+ /**
3616
+ * Whether the upstream answered with a model list
3617
+ */
3618
+ reachable: boolean;
3619
+ /**
3620
+ * Round-trip time in milliseconds, measured over the model list request
3621
+ */
3622
+ latencyMs: number;
3623
+ /**
3624
+ * Models the upstream returned. Empty when unreachable.
3625
+ */
3626
+ models: DiscoveredModel[];
3627
+ /**
3628
+ * Stable error code when `reachable` is false.
3629
+ *
3630
+ * Narrowed to the upstream subset: an invalid URL or an unsupported protocol
3631
+ * is rejected before the request is attempted, so those surface as HTTP
3632
+ * errors rather than as an unreachable probe.
3633
+ */
3634
+ error?: ModelProviderUpstreamErrorCode;
3635
+ }
3636
+ /**
3637
+ * ModelProviderStore interface
3638
+ * Provides tenant-scoped CRUD for provider configurations and their model snapshots
3639
+ */
3640
+ interface ModelProviderStore {
3641
+ /**
3642
+ * Get all provider configurations for a tenant
3643
+ * @param tenantId - Tenant identifier
3644
+ * @returns Array of provider configurations
3645
+ */
3646
+ listProviders(tenantId: string): Promise<ModelProviderEntry[]>;
3647
+ /**
3648
+ * Get a provider configuration by ID
3649
+ * @param tenantId - Tenant identifier
3650
+ * @param id - Provider identifier
3651
+ * @returns Provider configuration if found, null otherwise
3652
+ */
3653
+ getProviderById(tenantId: string, id: string): Promise<ModelProviderEntry | null>;
3654
+ /**
3655
+ * Get a provider configuration by business name
3656
+ * @param tenantId - Tenant identifier
3657
+ * @param name - Provider business name
3658
+ * @returns Provider configuration if found, null otherwise
3659
+ */
3660
+ getProviderByName(tenantId: string, name: string): Promise<ModelProviderEntry | null>;
3661
+ /**
3662
+ * Create a new provider configuration
3663
+ * @param tenantId - Tenant identifier
3664
+ * @param id - Provider identifier
3665
+ * @param data - Provider creation data
3666
+ * @returns Created provider configuration
3667
+ */
3668
+ createProvider(tenantId: string, id: string, data: CreateModelProviderRequest): Promise<ModelProviderEntry>;
3669
+ /**
3670
+ * Update an existing provider configuration.
3671
+ * An omitted or empty `apiKey` leaves the stored key untouched.
3672
+ * @param tenantId - Tenant identifier
3673
+ * @param id - Provider identifier
3674
+ * @param updates - Partial provider data to update
3675
+ * @returns Updated provider configuration if found, null otherwise
3676
+ */
3677
+ updateProvider(tenantId: string, id: string, updates: Partial<UpdateModelProviderRequest>): Promise<ModelProviderEntry | null>;
3678
+ /**
3679
+ * Delete a provider configuration and its model snapshot
3680
+ * @param tenantId - Tenant identifier
3681
+ * @param id - Provider identifier
3682
+ * @returns true if deleted, false otherwise
3683
+ */
3684
+ deleteProvider(tenantId: string, id: string): Promise<boolean>;
3685
+ /**
3686
+ * Record the outcome of a discovery attempt
3687
+ * @param tenantId - Tenant identifier
3688
+ * @param id - Provider identifier
3689
+ * @param status - Discovery outcome
3690
+ * @param lastError - Stable error code, if the attempt failed
3691
+ * @param discoveredAt - Timestamp of a successful discovery
3692
+ */
3693
+ markProviderStatus(tenantId: string, id: string, status: ModelProviderStatus, lastError?: string, discoveredAt?: Date): Promise<void>;
3694
+ /**
3695
+ * List snapshot models for a tenant
3696
+ * @param tenantId - Tenant identifier
3697
+ * @param providerId - Optional provider filter
3698
+ * @returns Array of snapshot models
3699
+ */
3700
+ listModels(tenantId: string, providerId?: string): Promise<ModelProviderModelEntry[]>;
3701
+ /**
3702
+ * Get a single snapshot model.
3703
+ * Keyed by provider as well as model id, since two providers in the same
3704
+ * tenant may expose the same upstream model id.
3705
+ * @param tenantId - Tenant identifier
3706
+ * @param providerId - Provider identifier
3707
+ * @param modelId - Upstream model id
3708
+ * @returns Snapshot model if found, null otherwise
3709
+ */
3710
+ getModel(tenantId: string, providerId: string, modelId: string): Promise<ModelProviderModelEntry | null>;
3711
+ /**
3712
+ * Replace a provider's model snapshot with the result of one discovery.
3713
+ *
3714
+ * Model ids are scoped per provider, so the same upstream id may appear
3715
+ * under several providers in one tenant — each is an independent model
3716
+ * addressed by `${providerId}/${modelId}`.
3717
+ *
3718
+ * @param tenantId - Tenant identifier
3719
+ * @param providerId - Provider identifier
3720
+ * @param models - Models returned by the most recent discovery
3721
+ * @returns Model ids now present in this provider's snapshot
3722
+ */
3723
+ replaceProviderModels(tenantId: string, providerId: string, models: ProviderModelInput[]): Promise<string[]>;
3724
+ /**
3725
+ * Enable or disable a single snapshot model
3726
+ * @param tenantId - Tenant identifier
3727
+ * @param providerId - Provider identifier
3728
+ * @param modelId - Model id
3729
+ * @param enabled - Desired state
3730
+ * @returns Updated snapshot model if found, null otherwise
3731
+ */
3732
+ setModelEnabled(tenantId: string, providerId: string, modelId: string, enabled: boolean): Promise<ModelProviderModelEntry | null>;
3733
+ /**
3734
+ * Delete every snapshot model belonging to a provider
3735
+ * @param tenantId - Tenant identifier
3736
+ * @param providerId - Provider identifier
3737
+ * @returns Number of rows deleted
3738
+ */
3739
+ deleteModelsByProvider(tenantId: string, providerId: string): Promise<number>;
3740
+ }
3741
+
3081
3742
  type UserStatus = 'active' | 'pending' | 'suspended';
3082
3743
  interface User {
3083
3744
  id: string;
@@ -6661,6 +7322,14 @@ interface ProjectTaskTrustedRunContext {
6661
7322
  * naming any specific value (ADR-118).
6662
7323
  */
6663
7324
  source?: string;
7325
+ /**
7326
+ * Host-provided signal that this task's owner need not be an active roster bot.
7327
+ *
7328
+ * Optional; `true` when present, `undefined`/`false` is treated as absent. Core uses it to skip
7329
+ * Project roster authorization for the run's caller and owner without interpreting why the host
7330
+ * granted the exemption (ADR-118). The host stamps it only for the workspace general project.
7331
+ */
7332
+ rosterExempt?: boolean;
6664
7333
  }
6665
7334
  /** Host-authenticated metadata that cannot be supplied through public Agent APIs. */
6666
7335
  interface TrustedRunContext {
@@ -6684,4 +7353,4 @@ declare function parseTrustedRunContext(value: unknown): TrustedRunContext;
6684
7353
  */
6685
7354
  declare function parseQueuedExecutionMode(value: unknown): QueuedExecutionMode;
6686
7355
 
6687
- export { type A2AApiKeyEntry, type A2AApiKeyRecord, type A2AApiKeyStore, type A2AAuthContext, type A2ARemoteAgentConfig, type AgentClient, type AgentConfig, type AgentConfigWithTools, type AgentLatticeProtocol, type AgentMenuConfig, type AgentMiddlewareConfig, type AgentRunConfig, AgentType, type AgentWebApp, type AgentWebAppAppearance, type AgentWebAppBootstrap, type AgentWebAppCalloutWidget, type AgentWebAppError, type AgentWebAppErrorCode, type AgentWebAppFeatures, type AgentWebAppGenUIBlock, type AgentWebAppIdentityAssurance, type AgentWebAppIdentityConfig, type AgentWebAppIdentityPolicy, type AgentWebAppInterrupt, type AgentWebAppIssuerConfig, type AgentWebAppQuickPrompt, type AgentWebAppRuntimeMessage, type AgentWebAppRuntimeThread, type AgentWebAppScope, type AgentWebAppStatus, type AgentWebAppStore, type AgentWebAppStorePatch, type AgentWebAppStreamEvent, type AgentWebAppStreamProjectionContext, type AgentWebAppTableWidget, type AgentWebAppThreadMetadata, type AgentWebAppUpdateOptions, type Assistant, type AssistantMessage, type AssistantStore, type Attachment, type AvailableModule, type BaseLatticeProtocol, type BaseMessage, type Binding, type BindingListParams, type BindingMutablePatch, type BindingRegistry, type BootstrapFilesConfig, type BrowserMiddlewareConfig, type Callback, type CapabilityBundle, type CapabilityBundleDeleteResult, type CapabilityBundleStore, type CapabilityBundleUpdateConflict, type CapabilityFieldSource, type CapabilityOverride, type CapabilityPreview, type CapabilityPreviewIssue, type CapabilityRuntime, type ChannelAdapter, type ChannelBindingMigrationConflict, ChannelBindingMigrationConflictError, type ChannelInstallation, type ChannelInstallationStore, type ChannelInstallationType, type ClawMiddlewareConfig, type CodeEvalMiddlewareConfig, type Collection, type CollectionField, type CollectionFieldType, type CollectionMiddlewareConfig, type CollectionSchema, type CollectionStore, type ConnectionEntry, type ConnectionStore, type ConversationRecord, type CreateA2AApiKeyInput, type CreateAgentWebAppInput, type CreateAssistantRequest, type CreateBindingInput, type CreateCapabilityBundleInput, type CreateChannelInstallationInput, type CreateChannelInstallationRequest, type CreateCollectionRequest, type CreateConversationInput, type CreateDatabaseConfigRequest, type CreateEvalCaseRequest, type CreateEvalProjectRequest, type CreateEvalRunRequest, type CreateEvalSuiteRequest, type CreateMcpServerConfigRequest, type CreateMenuItemInput, type CreateMetricsServerConfigRequest, type CreateProjectRequest, type CreateRunStepRequest, type CreateShareRequest, type CreateSkillRequest, type CreateTaskRequest, type CreateTenantRequest, type CreateThreadRequest, type CreateUserRequest, type CreateUserTenantLinkRequest, type CreateWorkItemIfAbsentRequest, type CreateWorkItemRequest, type CreateWorkflowRunRequest, type CreateWorkspaceRequest, type CustomMenuConfig, type DataSource, type DatabaseConfig, type DatabaseConfigEntry, type DatabaseConfigStore, type DatabaseType, type DeepAgentConfig, type DescriptorDataValue, type DeveloperMessage, type DispatchResult, DuplicateChannelBindingSubjectError, EXECUTION_RESULT_EVENT_KEY_PATTERN, EXECUTION_RESULT_EVENT_KEY_PATTERN_SOURCE, EXECUTION_RESULT_EVENT_KEY_PREFIX, type EmbeddingsConfig, type EmbeddingsLatticeProtocol, type EvalCase, type EvalProject, type EvalProjectReport, type EvalRun, type EvalRunResult, type EvalStore, type EvalSuite, type ExecuteSqlQueryRequest, type ExecuteSqlQueryResponse, type ExpectedCapabilityBundleRevisions, type FileMenuConfig, type FilterCondition, type GraphBuildOptions, type HtmlMenuConfig, type IConversationStore, type ID, type InboundMessage, type InternalAgentNode, type InternalBaseNode, type InternalCreateCapabilityBundleInput, type InternalDSL, type InternalEdge, type InternalInput, type InternalInputNode, type InternalMapNode, type InternalNode, type InternalNodeConfig, type InternalOutput, type InternalState, type InternalStateField, type InternalTerminalNode, type InternalUpdateCapabilityBundleInput, type InterruptMessage, type InterruptPolicy, InvalidProjectCapabilityBundleConfigError, type LLMConfig, type LarkChannelInstallationConfig, type LatticeError, type LatticeEventBus, type LatticeMessage, type LocalA2AProviderId, type LocalA2AProviderState, type LocalA2AProviderStatus, type LocalA2ATemplateDefinition, type LocalRuntimeConfig, type LoggerClient, type LoggerConfig, type LoggerContext, type LoggerLatticeProtocol, LoggerType, MAX_PENDING_EXECUTION_RESULTS_LIMIT, type McpAppMenuConfig, type McpClient, type McpClientOptions, type McpConnectionStatus, type McpLatticeMessage, type McpLatticeProtocol, McpMessageType, type McpServerConfig, type McpServerConfigEntry, type McpServerConfigStore, type McpStats, type McpTool, type McpToolResult, type McpTransportType, type McpUiCsp, type McpUiDisplayMode, type McpUiPermissions, type McpUiRef, type McpUiResourcePayload, type MemoryClient, type MemoryConfig, type MemoryLatticeProtocol, MemoryType, type MenuContentConfig, type MenuContentType, type MenuItem, type MenuRegistry, type MenuTarget, type Message, type MessageChunk, type MessageChunkType, MessageChunkTypes, type MessageContext, type MessageMiddleware, type MetricColumn, type MetricDataPoint, type MetricMeta, type MetricQueryResult, type MetricsMiddlewareConfig, type MetricsServerConfig, type MetricsServerConfigEntry, type MetricsServerConfigStore, type MetricsServerType, type MiddlewareType, type ModelLatticeProtocol, type OpenAuditAppendInput, type OpenAuditQuery, type OpenAuditRecord, type OpenAuditStore, type OpenCapabilitySource, type OpenCatalog, type OpenCatalogDomain, type OpenCatalogItem, type OpenCredentialKind, type OpenExecutionContext, type OpenExecutionResult, type OpenGrant, type OutboundMessage, PROJECT_ROOM_TASK_DELEGATED_LABEL, PROJECT_ROOM_TASK_DELEGATED_SEPARATOR, PROJECT_ROOM_USER_CHANNEL_PROJECT, PROJECT_TASK_LIFECYCLE_ACTIONS, type PaginatedResult, type PaginationParams, type PinoFileOptions, type Plugin, type PluginConnection, type PluginConnectionFieldSchema, type PluginConnectionTestResult, type PluginContext, type PluginDiscoveredResource, type PluginMeta, type PluginMetaOutput, type PluginMiddlewareFactory, type PluginSkillDefinition, type PluginSkillResource, type PluginStandardConnectionConfig, type PluginToolMeta, type PluginToolUi, type PluginUiResource, type ProcessingAgentConfig, type Project, type ProjectBotMembership, type ProjectBotMembershipStatus, type ProjectBotMembershipStore, type ProjectBotRole, type ProjectCapabilityConfig, type ProjectFilter, type ProjectHumanRole, type ProjectKind, type ProjectLifecycleEventCursor, type ProjectLifecycleEventQuery, type ProjectMembership, type ProjectMembershipMutationResult, type ProjectMembershipStatus, type ProjectMembershipStore, type ProjectRoom, ProjectRoomBrokerCapacityError, type ProjectRoomBusinessEvent, type ProjectRoomBusinessEventDraft, type ProjectRoomControlEvent, ProjectRoomCursorError, type ProjectRoomEventBrokerProtocol, type ProjectRoomEventId, type ProjectRoomEventOf, type ProjectRoomEventScope, type ProjectRoomEventSubscription, type ProjectRoomMembershipAffectedEvent, type ProjectRoomMembershipChangedEvent, type ProjectRoomMention, type ProjectRoomMessage, type ProjectRoomMessageAuthor, type ProjectRoomMessageCreatedEvent, type ProjectRoomMessageCursor, type ProjectRoomMessageSource, type ProjectRoomMessageStore, type ProjectRoomPublicBotMembership, type ProjectRoomPublicMembership, type ProjectRoomPublicMessage, type ProjectRoomReadChangedEvent, type ProjectRoomReadState, type ProjectRoomReadStateStore, type ProjectRoomRealtimeActor, type ProjectRoomRosterChangedEvent, type ProjectRoomScopedBusinessEvent, type ProjectRoomSseWritable, type ProjectRoomStore, type ProjectRoomTaskChangedEvent, type ProjectRoomThreadMetadata, type ProjectRoomTrustedRunContext, type ProjectStore, type ProjectTaskLifecycleAction, ProjectTaskStoreUnsupportedError, type ProjectTaskThreadMetadata, type ProjectTaskTrustedRunContext, type ProjectTaskWorkItemStore, type PublicChannelInstallationType, type QueryParams, type QueryResultFormat, type QueryWorkflowRunsOptions, type QueryWorkflowRunsResult, type QueueClient, type QueueConfig, type QueueLatticeProtocol, type QueueResult, QueueType, type QueuedExecutionMode, type ReactAgentConfig, type ReplyTarget, type ResourceAddress, type ResourceResolver, type Result, type RunStep, type STTClient, type STTConfig, type STTModelLatticeProtocol, type SandboxMiddlewareConfig, type SandboxPluginConnectionDef, type SandboxPluginDiagnostic, type SandboxPluginManifest, type SandboxPluginToolDef, type ScheduleClient, type ScheduleConfig, type ScheduleCronOptions, ScheduleExecutionType, type ScheduleLatticeProtocol, type ScheduleOnceOptions, type ScheduleStorage, ScheduleType, type ScheduledTaskDefinition, ScheduledTaskStatus, type SchedulerMiddlewareConfig, type SemanticMetricsFilter, type SemanticMetricsQueryRequest, type SemanticMetricsQueryResponse, type SemanticMetricsServerConfig, type ShareRecord, type ShareResult, type ShareVisibility, type SharedResourceStore, type Skill, type SkillClient, type SkillClientType, type SkillConfig, type SkillLatticeProtocol, type SkillStore, type SkillStoreContext, type SqlMiddlewareConfig, type StepStatus, type StepType, type StorageType, type SystemMessage, type TableQueryRequest, type TableQueryResponse, type TaskBeliefDiagnosticCode, type TaskBeliefEntry, type TaskBeliefParseFailure, type TaskBeliefParseResult, type TaskBeliefParseSuccess, type TaskBeliefState, type TaskDependentListQuery, type TaskFileRef, type TaskHandler, type TaskItem, type TaskListFilter, type TaskMutationSnapshot, type TaskStore, type TaskWorkItem, type TaskWorkItemListFilter, type TaskWorkItemStore, type TeamAgentConfig, type TeamTeammateConfig, type Tenant, type TenantStatus, type TenantStore, type TestMcpServerToolsResponse, type Thread, type ThreadStore, type Timestamp, type ToolCall, type ToolCallUi, type ToolConfig, type ToolExecutor, type ToolLatticeProtocol, type ToolMessage, type TopologyEdge, type TranscriptionResult, type TrustedRunContext, type UIComponent, UIComponentType, type UIConfig, type UILatticeProtocol, type UpdateA2AApiKeyInput, type UpdateAgentWebAppInput, type UpdateCapabilityBundleInput, type UpdateChannelInstallationRequest, type UpdateCollectionRequest, type UpdateDatabaseConfigRequest, type UpdateMcpServerConfigRequest, type UpdateMenuItemInput, type UpdateMetricsServerConfigRequest, type UpdateProjectCapabilityBundlesResult, type UpdateProjectRequest, type UpdateRunStepRequest, type UpdateTaskRequest, type UpdateTenantRequest, type UpdateUserRequest, type UpdateUserTenantLinkRequest, type UpdateWorkflowRunRequest, type UpdateWorkspaceRequest, type User, type UserMessage, type UserPushSubscription, type UserPushSubscriptionStore, type UserStatus, type UserStore, type UserTenantLink, type UserTenantLinkStore, type UserTenantRole, type VectorStoreConfig, type VectorStoreCreateParams, type VectorStoreLatticeProtocol, type VectorStoreProvider, WORKSPACE_PUBLIC_ROOM_PROJECT_PREFIX, type WechatChannelInstallationConfig, type WorkflowAgentConfig, type WorkflowRun, type WorkflowRunStatus, type WorkflowTrackingStore, type Workspace, type WorkspaceStore, type YamlAgentStep, type YamlMapStep, type YamlParallelBlock, type YamlTopLevelStep, type YamlWorkflow, assertGenericProjectConfig, createAgentWebAppStreamProjectionContext, descriptorDataValue, effectiveGrants, getSubAgentsFromConfig, getToolsFromConfig, hasTools, isA2ARemoteAgentConfig, isDeepAgentConfig, isExecutionResultEventKey, isMcpUiRef, isProcessingAgentConfig, isProjectRoomEventId, isTeamAgentConfig, isWorkflowAgentConfig, isWorkspacePublicRoomProjectId, normalizeTaskMetadataScalar, parseAgentWebAppGenUIBlock, parseMcpUiRef, parseProjectRoomEventId, parseQueuedExecutionMode, parseTaskBeliefState, parseTrustedRunContext, projectAgentWebAppChunk, projectRoomUserEventScope, replaceTaskBeliefState, requireProjectTaskWorkItemStore, snapshotExactArray, snapshotExactRecord, snapshotProjectRoomBotMembershipRealtime, snapshotProjectRoomMembershipRealtime, snapshotProjectRoomMessageRealtime, taskBeliefStatesEqual, toProjectRoomPublicBotMembership, toProjectRoomPublicMembership, toProjectRoomPublicMessage };
7356
+ export { type A2AApiKeyEntry, type A2AApiKeyRecord, type A2AApiKeyStore, type A2AAuthContext, type A2ARemoteAgentConfig, type AgentClient, type AgentConfig, type AgentConfigWithTools, type AgentLatticeProtocol, type AgentMenuConfig, type AgentMiddlewareConfig, type AgentRunConfig, AgentType, type AgentWebApp, type AgentWebAppAppearance, type AgentWebAppBootstrap, type AgentWebAppCalloutWidget, type AgentWebAppError, type AgentWebAppErrorCode, type AgentWebAppFeatures, type AgentWebAppGenUIBlock, type AgentWebAppIdentityAssurance, type AgentWebAppIdentityConfig, type AgentWebAppIdentityPolicy, type AgentWebAppInterrupt, type AgentWebAppIssuerConfig, type AgentWebAppQuickPrompt, type AgentWebAppRuntimeMessage, type AgentWebAppRuntimeThread, type AgentWebAppScope, type AgentWebAppStatus, type AgentWebAppStore, type AgentWebAppStorePatch, type AgentWebAppStreamEvent, type AgentWebAppStreamProjectionContext, type AgentWebAppTableWidget, type AgentWebAppThreadMetadata, type AgentWebAppUpdateOptions, type Assistant, type AssistantMessage, type AssistantStore, type Attachment, type AvailableModule, type BaseLatticeProtocol, type BaseMessage, type Binding, type BindingListParams, type BindingMutablePatch, type BindingRegistry, type BootstrapFilesConfig, type BrowserMiddlewareConfig, type Callback, type CapabilityBundle, type CapabilityBundleDeleteResult, type CapabilityBundleStore, type CapabilityBundleUpdateConflict, type CapabilityFieldSource, type CapabilityOverride, type CapabilityPreview, type CapabilityPreviewIssue, type CapabilityRuntime, type ChannelAdapter, type ChannelBindingMigrationConflict, ChannelBindingMigrationConflictError, type ChannelInstallation, type ChannelInstallationStore, type ChannelInstallationType, type ClawMiddlewareConfig, type CodeEvalMiddlewareConfig, type Collection, type CollectionField, type CollectionFieldType, type CollectionMiddlewareConfig, type CollectionSchema, type CollectionStore, type ConnectionEntry, type ConnectionStore, type ConversationRecord, type CreateA2AApiKeyInput, type CreateAgentWebAppInput, type CreateAssistantRequest, type CreateBindingInput, type CreateCapabilityBundleInput, type CreateChannelInstallationInput, type CreateChannelInstallationRequest, type CreateCollectionRequest, type CreateConversationInput, type CreateDatabaseConfigRequest, type CreateEvalCaseRequest, type CreateEvalProjectRequest, type CreateEvalRunRequest, type CreateEvalSuiteRequest, type CreateMcpServerConfigRequest, type CreateMenuItemInput, type CreateMetricsServerConfigRequest, type CreateModelProviderRequest, type CreateProjectRequest, type CreateRunStepRequest, type CreateShareRequest, type CreateSkillRequest, type CreateTaskRequest, type CreateTenantRequest, type CreateThreadRequest, type CreateUserRequest, type CreateUserTenantLinkRequest, type CreateWorkItemIfAbsentRequest, type CreateWorkItemRequest, type CreateWorkflowRunRequest, type CreateWorkspaceRequest, type CustomMenuConfig, type DataSource, type DatabaseConfig, type DatabaseConfigEntry, type DatabaseConfigStore, type DatabaseType, type DeepAgentConfig, type DescriptorDataValue, type DeveloperMessage, type DiscoveredModel, type DispatchResult, DuplicateChannelBindingSubjectError, EXECUTION_RESULT_EVENT_KEY_PATTERN, EXECUTION_RESULT_EVENT_KEY_PATTERN_SOURCE, EXECUTION_RESULT_EVENT_KEY_PREFIX, type EmbeddingsConfig, type EmbeddingsLatticeProtocol, type EvalCase, type EvalProject, type EvalProjectReport, type EvalRun, type EvalRunResult, type EvalStore, type EvalSuite, type ExecuteSqlQueryRequest, type ExecuteSqlQueryResponse, type ExpectedCapabilityBundleRevisions, type FileMenuConfig, type FilterCondition, type GraphBuildOptions, type HtmlMenuConfig, type IConversationStore, type ID, type InboundMessage, type InternalAgentNode, type InternalBaseNode, type InternalCreateCapabilityBundleInput, type InternalDSL, type InternalEdge, type InternalInput, type InternalInputNode, type InternalMapNode, type InternalNode, type InternalNodeConfig, type InternalOutput, type InternalState, type InternalStateField, type InternalTerminalNode, type InternalUpdateCapabilityBundleInput, type InterruptMessage, type InterruptPolicy, InvalidProjectCapabilityBundleConfigError, type LLMConfig, type LarkChannelInstallationConfig, type LatticeError, type LatticeEventBus, type LatticeMessage, type LocalA2AProviderId, type LocalA2AProviderState, type LocalA2AProviderStatus, type LocalA2ATemplateDefinition, type LocalRuntimeConfig, type LoggerClient, type LoggerConfig, type LoggerContext, type LoggerLatticeProtocol, LoggerType, MAX_PENDING_EXECUTION_RESULTS_LIMIT, type McpAppMenuConfig, type McpClient, type McpClientOptions, type McpConnectionStatus, type McpLatticeMessage, type McpLatticeProtocol, McpMessageType, type McpServerConfig, type McpServerConfigEntry, type McpServerConfigStore, type McpStats, type McpTool, type McpToolResult, type McpTransportType, type McpUiCsp, type McpUiDisplayMode, type McpUiPermissions, type McpUiRef, type McpUiResourcePayload, type MemoryClient, type MemoryConfig, type MemoryLatticeProtocol, MemoryType, type MenuContentConfig, type MenuContentType, type MenuItem, type MenuRegistry, type MenuTarget, type Message, type MessageChunk, type MessageChunkType, MessageChunkTypes, type MessageContext, type MessageMiddleware, type MetricColumn, type MetricDataPoint, type MetricMeta, type MetricQueryResult, type MetricsMiddlewareConfig, type MetricsServerConfig, type MetricsServerConfigEntry, type MetricsServerConfigStore, type MetricsServerType, type MiddlewareType, type ModelDiscoveryResult, type ModelLatticeProtocol, type ModelProviderApiStyle, type ModelProviderEntry, type ModelProviderErrorCode, type ModelProviderLlmProvider, type ModelProviderModelEntry, type ModelProviderProbeRequest, type ModelProviderProbeResult, type ModelProviderPublicEntry, type ModelProviderStatus, type ModelProviderStore, type ModelProviderUpstreamErrorCode, type ModelProviderWireProtocol, type ModelSelection, type OpenAuditAppendInput, type OpenAuditQuery, type OpenAuditRecord, type OpenAuditStore, type OpenCapabilitySource, type OpenCatalog, type OpenCatalogDomain, type OpenCatalogItem, type OpenCredentialKind, type OpenExecutionContext, type OpenExecutionResult, type OpenGrant, type OutboundMessage, PROJECT_ROOM_TASK_DELEGATED_LABEL, PROJECT_ROOM_TASK_DELEGATED_SEPARATOR, PROJECT_ROOM_USER_CHANNEL_PROJECT, PROJECT_TASK_LIFECYCLE_ACTIONS, type PaginatedResult, type PaginationParams, type PinoFileOptions, type Plugin, type PluginConnection, type PluginConnectionFieldSchema, type PluginConnectionTestResult, type PluginContext, type PluginDiscoveredResource, type PluginMeta, type PluginMetaOutput, type PluginMiddlewareFactory, type PluginSkillDefinition, type PluginSkillResource, type PluginStandardConnectionConfig, type PluginToolMeta, type PluginToolUi, type PluginUiResource, type ProcessingAgentConfig, type Project, type ProjectBotMembership, type ProjectBotMembershipStatus, type ProjectBotMembershipStore, type ProjectBotRole, type ProjectCapabilityConfig, type ProjectFilter, type ProjectHumanRole, type ProjectKind, type ProjectLifecycleEventCursor, type ProjectLifecycleEventQuery, type ProjectMembership, type ProjectMembershipMutationResult, type ProjectMembershipStatus, type ProjectMembershipStore, type ProjectRoom, ProjectRoomBrokerCapacityError, type ProjectRoomBusinessEvent, type ProjectRoomBusinessEventDraft, type ProjectRoomControlEvent, ProjectRoomCursorError, type ProjectRoomEventBrokerProtocol, type ProjectRoomEventId, type ProjectRoomEventOf, type ProjectRoomEventScope, type ProjectRoomEventSubscription, type ProjectRoomMembershipAffectedEvent, type ProjectRoomMembershipChangedEvent, type ProjectRoomMention, type ProjectRoomMessage, type ProjectRoomMessageAuthor, type ProjectRoomMessageCreatedEvent, type ProjectRoomMessageCursor, type ProjectRoomMessageSource, type ProjectRoomMessageStore, type ProjectRoomPublicBotMembership, type ProjectRoomPublicMembership, type ProjectRoomPublicMessage, type ProjectRoomReadChangedEvent, type ProjectRoomReadState, type ProjectRoomReadStateStore, type ProjectRoomRealtimeActor, type ProjectRoomRosterChangedEvent, type ProjectRoomScopedBusinessEvent, type ProjectRoomSseWritable, type ProjectRoomStore, type ProjectRoomTaskChangedEvent, type ProjectRoomThreadMetadata, type ProjectRoomTrustedRunContext, type ProjectStore, type ProjectTaskLifecycleAction, ProjectTaskStoreUnsupportedError, type ProjectTaskThreadMetadata, type ProjectTaskTrustedRunContext, type ProjectTaskWorkItemStore, type ProviderModelInput, type PublicChannelInstallationType, type QueryParams, type QueryResultFormat, type QueryWorkflowRunsOptions, type QueryWorkflowRunsResult, type QueueClient, type QueueConfig, type QueueLatticeProtocol, type QueueResult, QueueType, type QueuedExecutionMode, type ReactAgentConfig, type ReplyTarget, type ResourceAddress, type ResourceResolver, type Result, type RunStep, type STTClient, type STTConfig, type STTModelLatticeProtocol, type SandboxMiddlewareConfig, type SandboxPluginConnectionDef, type SandboxPluginDiagnostic, type SandboxPluginManifest, type SandboxPluginToolDef, type ScheduleClient, type ScheduleConfig, type ScheduleCronOptions, ScheduleExecutionType, type ScheduleLatticeProtocol, type ScheduleOnceOptions, type ScheduleStorage, ScheduleType, type ScheduledTaskDefinition, ScheduledTaskStatus, type SchedulerMiddlewareConfig, type SemanticMetricsFilter, type SemanticMetricsQueryRequest, type SemanticMetricsQueryResponse, type SemanticMetricsServerConfig, type ShareRecord, type ShareResult, type ShareVisibility, type SharedResourceStore, type Skill, type SkillClient, type SkillClientType, type SkillConfig, type SkillLatticeProtocol, type SkillStore, type SkillStoreContext, type SqlMiddlewareConfig, type StepStatus, type StepType, type StorageType, type SystemMessage, type TableQueryRequest, type TableQueryResponse, type TaskBeliefDiagnosticCode, type TaskBeliefEntry, type TaskBeliefParseFailure, type TaskBeliefParseResult, type TaskBeliefParseSuccess, type TaskBeliefState, type TaskDependentListQuery, type TaskFileRef, type TaskHandler, type TaskItem, type TaskListFilter, type TaskMutationSnapshot, type TaskStore, type TaskWorkItem, type TaskWorkItemListFilter, type TaskWorkItemStore, type TeamAgentConfig, type TeamTeammateConfig, type Tenant, type TenantModelCatalog, type TenantModelPublicEntry, type TenantStatus, type TenantStore, type TestMcpServerToolsResponse, type Thread, type ThreadStore, type Timestamp, type ToolCall, type ToolCallUi, type ToolConfig, type ToolExecutor, type ToolLatticeProtocol, type ToolMessage, type TopologyEdge, type TranscriptionResult, type TrustedRunContext, type UIComponent, UIComponentType, type UIConfig, type UILatticeProtocol, type UpdateA2AApiKeyInput, type UpdateAgentWebAppInput, type UpdateCapabilityBundleInput, type UpdateChannelInstallationRequest, type UpdateCollectionRequest, type UpdateDatabaseConfigRequest, type UpdateMcpServerConfigRequest, type UpdateMenuItemInput, type UpdateMetricsServerConfigRequest, type UpdateModelProviderRequest, type UpdateProjectCapabilityBundlesResult, type UpdateProjectRequest, type UpdateRunStepRequest, type UpdateTaskRequest, type UpdateTenantRequest, type UpdateUserRequest, type UpdateUserTenantLinkRequest, type UpdateWorkflowRunRequest, type UpdateWorkspaceRequest, type User, type UserMessage, type UserPushSubscription, type UserPushSubscriptionStore, type UserStatus, type UserStore, type UserTenantLink, type UserTenantLinkStore, type UserTenantRole, type VectorStoreConfig, type VectorStoreCreateParams, type VectorStoreLatticeProtocol, type VectorStoreProvider, WORKSPACE_PUBLIC_ROOM_PROJECT_PREFIX, type WechatChannelInstallationConfig, type WorkflowAgentConfig, type WorkflowRun, type WorkflowRunStatus, type WorkflowTrackingStore, type Workspace, type WorkspaceStore, type YamlAgentStep, type YamlMapStep, type YamlParallelBlock, type YamlTopLevelStep, type YamlWorkflow, assertGenericProjectConfig, createAgentWebAppStreamProjectionContext, descriptorDataValue, effectiveGrants, getSubAgentsFromConfig, getToolsFromConfig, hasTools, isA2ARemoteAgentConfig, isDeepAgentConfig, isExecutionResultEventKey, isMcpUiRef, isProcessingAgentConfig, isProjectRoomEventId, isTeamAgentConfig, isWorkflowAgentConfig, isWorkspacePublicRoomProjectId, normalizeTaskMetadataScalar, parseAgentWebAppGenUIBlock, parseMcpUiRef, parseModelKey, parseProjectRoomEventId, parseQueuedExecutionMode, parseTaskBeliefState, parseTrustedRunContext, projectAgentWebAppChunk, projectRoomUserEventScope, replaceTaskBeliefState, requireProjectTaskWorkItemStore, snapshotExactArray, snapshotExactRecord, snapshotProjectRoomBotMembershipRealtime, snapshotProjectRoomMembershipRealtime, snapshotProjectRoomMessageRealtime, taskBeliefStatesEqual, toModelKey, toProjectRoomPublicBotMembership, toProjectRoomPublicMembership, toProjectRoomPublicMessage };