@objectstack/runtime 7.3.0 → 7.4.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.cts CHANGED
@@ -7,6 +7,7 @@ import { z } from 'zod';
7
7
  import * as Contracts from '@objectstack/spec/contracts';
8
8
  import { ISeedLoaderService, IDataEngine, IMetadataService } from '@objectstack/spec/contracts';
9
9
  import { SeedLoaderRequest, SeedLoaderResult, ObjectDependencyGraph, Dataset, SeedLoaderConfigInput, ExpressionBody, ScriptBody, HookBody, Hook } from '@objectstack/spec/data';
10
+ import { SchemaDiffEntry } from '@objectstack/spec/shared';
10
11
  import { MetricsRegistry, ErrorReporter } from '@objectstack/observability';
11
12
  export { CapturedError, ErrorReporter, InMemoryErrorReporter, InMemoryMetricsRegistry, MetricSample, MetricsRegistry, NoopErrorReporter, NoopMetricsRegistry, OBSERVABILITY_ERRORS_SERVICE, OBSERVABILITY_METRICS_SERVICE, RUNTIME_METRICS } from '@objectstack/observability';
12
13
  import { MiddlewareConfig, MiddlewareType } from '@objectstack/spec/system';
@@ -231,6 +232,30 @@ declare class AppPlugin implements Plugin {
231
232
  init: (ctx: PluginContext) => Promise<void>;
232
233
  start: (ctx: PluginContext) => Promise<void>;
233
234
  stop: (ctx: PluginContext) => Promise<void>;
235
+ /**
236
+ * Resolve the identity bound to `os.user` / `os.org` for seed CEL values.
237
+ *
238
+ * On a fresh boot there are zero users until the first human sign-up
239
+ * (which the SeedLoader runs *before*), so identity-derived seeds like
240
+ * `owner_id: cel`os.user.id`` had nothing to resolve against and were
241
+ * dropped silently. To make seeds deterministic and self-sufficient we
242
+ * upsert a single non-loginable **system user** (`usr_system`) and bind
243
+ * it as `os.user`.
244
+ *
245
+ * Why a dedicated system user rather than the login admin:
246
+ * - `sys_user` is better-auth-managed and schema-locked (ADR-0010); the
247
+ * password lives in `sys_account`, so a *loginable* admin can only be
248
+ * minted through better-auth (the CLI does this via HTTP sign-up after
249
+ * boot). A raw insert here would bypass those invariants.
250
+ * - `usr_system` is an owner identity only (no credential row), analogous
251
+ * to Salesforce's "Automated Process" user. The human admin is created
252
+ * independently and need not be the seed owner.
253
+ *
254
+ * Idempotent: matches by the stable id, inserts once, reuses thereafter.
255
+ * Failures are non-fatal (logged) — records that actually need `os.user`
256
+ * then fail loudly in the loader with an actionable message.
257
+ */
258
+ private ensureSeedIdentity;
234
259
  /**
235
260
  * Emit a kernel hook so the control-plane `AppCatalogService` can
236
261
  * upsert / delete the corresponding `sys_app` row. Silently no-ops
@@ -329,6 +354,64 @@ declare class SeedLoaderService implements ISeedLoaderService {
329
354
  private buildResult;
330
355
  }
331
356
 
357
+ /**
358
+ * Payload of the `external.schema.drift` event emitted on the kernel bus by the
359
+ * background drift checker (ADR-0015 §5.2). Consumed by `audit` / `notification`
360
+ * services. One event per drifted federated object.
361
+ */
362
+ interface ExternalSchemaDriftEvent {
363
+ datasource: string;
364
+ object: string;
365
+ diffs: SchemaDiffEntry[];
366
+ }
367
+ /**
368
+ * Boot-validation plugin — Gate 2 of ADR-0015 §5.2.
369
+ *
370
+ * On `kernel:ready`, validates every federated object against its remote table
371
+ * (via the `external-datasource` service) and applies the datasource's
372
+ * `external.validation.onMismatch` policy:
373
+ * - `fail` → throws `ExternalSchemaMismatchError` (aborts boot) — default,
374
+ * - `warn` → logs the diff and continues,
375
+ * - `ignore` → does nothing.
376
+ *
377
+ * No-op when the `external-datasource` service is not registered (federation
378
+ * unused).
379
+ */
380
+ declare class ExternalValidationPlugin implements Plugin {
381
+ name: string;
382
+ type: string;
383
+ version: string;
384
+ /** Active background drift-check timers, keyed by datasource name. */
385
+ private driftTimers;
386
+ init: (_ctx: PluginContext) => void;
387
+ start: (ctx: PluginContext) => void;
388
+ /** Tear down background drift-check timers (idempotent). */
389
+ stop: () => void;
390
+ /** Exposed for testing; invoked from the kernel:ready handler. */
391
+ runValidation(ctx: PluginContext): Promise<void>;
392
+ /**
393
+ * Arm a background drift checker for every federated datasource that declares
394
+ * `external.validation.checkIntervalMs`. Each fires on its own interval and
395
+ * emits `external.schema.drift` events — it never throws or aborts the
396
+ * process, since drift past boot is observational, not fatal.
397
+ *
398
+ * No-op when metadata can't be enumerated or no datasource opts in. Re-arming
399
+ * (e.g. a second `kernel:ready`) first clears existing timers so intervals
400
+ * don't accumulate.
401
+ */
402
+ scheduleDriftChecks(ctx: PluginContext): Promise<void>;
403
+ /**
404
+ * Re-validate one datasource's federated objects and emit an
405
+ * `external.schema.drift` event per mismatch. Exposed for testing; invoked
406
+ * from the interval armed by {@link scheduleDriftChecks}. Never throws.
407
+ *
408
+ * @returns the number of drift events emitted.
409
+ */
410
+ runDriftCheck(ctx: PluginContext, datasource: string): Promise<number>;
411
+ }
412
+ /** Convenience factory mirroring the createXxxPlugin convention. */
413
+ declare function createExternalValidationPlugin(): ExternalValidationPlugin;
414
+
332
415
  /**
333
416
  * Security response headers builder.
334
417
  *
@@ -1431,19 +1514,6 @@ declare class HttpDispatcher {
1431
1514
  * Returns `undefined` for anonymous calls or when auth is not wired up.
1432
1515
  */
1433
1516
  private resolveActiveOrganizationId;
1434
- private resolveCallerUserId;
1435
- handleCloud(path: string, method: string, body: any, query: any, _context: HttpProtocolContext): Promise<HttpDispatcherResult>;
1436
- /**
1437
- * Cascade-delete a project: cred / member / package_installation rows,
1438
- * then the physical database via the provisioning adapter, then the
1439
- * `sys_environment` row itself. Used by both `DELETE /cloud/environments/:id`
1440
- * and the org-cascade in `DELETE /cloud/organizations/:id`.
1441
- *
1442
- * Idempotent and best-effort: missing rows / unreachable adapters
1443
- * become warnings rather than hard failures, so a half-provisioned
1444
- * project can still be cleaned out.
1445
- */
1446
- private deleteProjectCascade;
1447
1517
  /**
1448
1518
  * Handles Storage requests
1449
1519
  * path: sub-path after /storage/
@@ -1460,6 +1530,8 @@ declare class HttpDispatcher {
1460
1530
  *
1461
1531
  * Routes:
1462
1532
  * GET / → listFlows
1533
+ * GET /actions → getActionDescriptors (ADR-0018; ?paradigm/?source/?category filters)
1534
+ * GET /connectors → getConnectorDescriptors (ADR-0022; ?type filter)
1463
1535
  * GET /:name → getFlow
1464
1536
  * POST / → createFlow (registerFlow)
1465
1537
  * PUT /:name → updateFlow
@@ -1468,6 +1540,8 @@ declare class HttpDispatcher {
1468
1540
  * POST /:name/toggle → toggleFlow
1469
1541
  * GET /:name/runs → listRuns
1470
1542
  * GET /:name/runs/:runId → getRun
1543
+ * POST /:name/runs/:runId/resume → resume a paused run (screen input / ADR-0019)
1544
+ * GET /:name/runs/:runId/screen → the screen a paused run awaits
1471
1545
  */
1472
1546
  handleAutomation(path: string, method: string, body: any, context: HttpProtocolContext, query?: any): Promise<HttpDispatcherResult>;
1473
1547
  private getServicesMap;
@@ -2656,4 +2730,4 @@ declare function actionBodyRunnerFactory(runner: ScriptRunner, opts: FactoryOpti
2656
2730
  timeoutMs?: number;
2657
2731
  }) => ((actionCtx: any) => Promise<unknown>) | undefined;
2658
2732
 
2659
- export { AppPlugin, ArtifactApiClient, type ArtifactApiClientConfig, ArtifactEnvironmentRegistry, type ArtifactEnvironmentRegistryConfig, ArtifactKernelFactory, type ArtifactKernelFactoryConfig, AuthProxyPlugin, type BackfillPlatformSsoClientsOptions, DEFAULT_CLOUD_URL, DEFAULT_RATE_LIMITS, type DefaultHostConfigOptions, type DefaultHostConfigResult, type DispatcherPluginConfig, DriverPlugin, type EnvironmentArtifactResponse, type EnvironmentDriverRegistry, type EnvironmentKernelFactory, type EnvironmentRuntimeConfig, FileArtifactApiClient, type FileArtifactApiClientConfig, HttpDispatcher, type HttpDispatcherResult, type HttpProtocolContext, HttpServer, KernelManager, type KernelManagerConfig, type LoadArtifactBundleOptions, MarketplaceInstallLocalPlugin, type MarketplaceInstallLocalPluginConfig, MarketplaceProxyPlugin, type MarketplaceProxyPluginConfig, MiddlewareManager, type ObjectOSStackConfig, type ObjectOSStackResult, ObservabilityServicePlugin, type ObservabilityServicePluginOptions, PLATFORM_SSO_PROVIDER_ID, QuickJSScriptRunner, type QuickJSScriptRunnerOptions, type RateLimitBucketConfig, type RateLimitDecision, type RateLimitDefaults, type RateLimitStore, RateLimiter, type ResolvedHostname, Runtime, type RuntimeConfig, RuntimeConfigPlugin, type RuntimeConfigPluginConfig, SYSTEM_ENVIRONMENT_ID, SandboxError, type ScriptContext, type ScriptOrigin, type ScriptResult, type ScriptRunOptions, type ScriptRunner, type SecurityHeadersOptions, SeedLoaderService, type SeedPlatformSsoClientOptions, type StandaloneStackConfig, type StandaloneStackResult, type SystemEnvironmentPluginConfig, type TraceContext, UnimplementedScriptRunner, actionBodyRunnerFactory, backfillPlatformSsoClients, buildPlatformSsoRedirectUri, buildSecurityHeaders, collectBundleActions, collectBundleFunctions, collectBundleHooks, createDefaultHostConfig, createDispatcherPlugin, createObjectOSStack, createStandaloneStack, createSystemEnvironmentPlugin, derivePlatformSsoClientId, derivePlatformSsoClientSecret, extractRequestId, formatTraceparent, generateRequestId, hookBodyRunnerFactory, isHttpUrl, loadArtifactBundle, mergeRuntimeModule, parseTraceparent, readArtifactSource, resolveCloudUrl, resolveDefaultArtifactPath, resolveErrorReporter, resolveMetrics, resolveObjectStackHome, resolveRequestId, seedPlatformSsoClient };
2733
+ export { AppPlugin, ArtifactApiClient, type ArtifactApiClientConfig, ArtifactEnvironmentRegistry, type ArtifactEnvironmentRegistryConfig, ArtifactKernelFactory, type ArtifactKernelFactoryConfig, AuthProxyPlugin, type BackfillPlatformSsoClientsOptions, DEFAULT_CLOUD_URL, DEFAULT_RATE_LIMITS, type DefaultHostConfigOptions, type DefaultHostConfigResult, type DispatcherPluginConfig, DriverPlugin, type EnvironmentArtifactResponse, type EnvironmentDriverRegistry, type EnvironmentKernelFactory, type EnvironmentRuntimeConfig, type ExternalSchemaDriftEvent, ExternalValidationPlugin, FileArtifactApiClient, type FileArtifactApiClientConfig, HttpDispatcher, type HttpDispatcherResult, type HttpProtocolContext, HttpServer, KernelManager, type KernelManagerConfig, type LoadArtifactBundleOptions, MarketplaceInstallLocalPlugin, type MarketplaceInstallLocalPluginConfig, MarketplaceProxyPlugin, type MarketplaceProxyPluginConfig, MiddlewareManager, type ObjectOSStackConfig, type ObjectOSStackResult, ObservabilityServicePlugin, type ObservabilityServicePluginOptions, PLATFORM_SSO_PROVIDER_ID, QuickJSScriptRunner, type QuickJSScriptRunnerOptions, type RateLimitBucketConfig, type RateLimitDecision, type RateLimitDefaults, type RateLimitStore, RateLimiter, type ResolvedHostname, Runtime, type RuntimeConfig, RuntimeConfigPlugin, type RuntimeConfigPluginConfig, SYSTEM_ENVIRONMENT_ID, SandboxError, type ScriptContext, type ScriptOrigin, type ScriptResult, type ScriptRunOptions, type ScriptRunner, type SecurityHeadersOptions, SeedLoaderService, type SeedPlatformSsoClientOptions, type StandaloneStackConfig, type StandaloneStackResult, type SystemEnvironmentPluginConfig, type TraceContext, UnimplementedScriptRunner, actionBodyRunnerFactory, backfillPlatformSsoClients, buildPlatformSsoRedirectUri, buildSecurityHeaders, collectBundleActions, collectBundleFunctions, collectBundleHooks, createDefaultHostConfig, createDispatcherPlugin, createExternalValidationPlugin, createObjectOSStack, createStandaloneStack, createSystemEnvironmentPlugin, derivePlatformSsoClientId, derivePlatformSsoClientSecret, extractRequestId, formatTraceparent, generateRequestId, hookBodyRunnerFactory, isHttpUrl, loadArtifactBundle, mergeRuntimeModule, parseTraceparent, readArtifactSource, resolveCloudUrl, resolveDefaultArtifactPath, resolveErrorReporter, resolveMetrics, resolveObjectStackHome, resolveRequestId, seedPlatformSsoClient };
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ import { z } from 'zod';
7
7
  import * as Contracts from '@objectstack/spec/contracts';
8
8
  import { ISeedLoaderService, IDataEngine, IMetadataService } from '@objectstack/spec/contracts';
9
9
  import { SeedLoaderRequest, SeedLoaderResult, ObjectDependencyGraph, Dataset, SeedLoaderConfigInput, ExpressionBody, ScriptBody, HookBody, Hook } from '@objectstack/spec/data';
10
+ import { SchemaDiffEntry } from '@objectstack/spec/shared';
10
11
  import { MetricsRegistry, ErrorReporter } from '@objectstack/observability';
11
12
  export { CapturedError, ErrorReporter, InMemoryErrorReporter, InMemoryMetricsRegistry, MetricSample, MetricsRegistry, NoopErrorReporter, NoopMetricsRegistry, OBSERVABILITY_ERRORS_SERVICE, OBSERVABILITY_METRICS_SERVICE, RUNTIME_METRICS } from '@objectstack/observability';
12
13
  import { MiddlewareConfig, MiddlewareType } from '@objectstack/spec/system';
@@ -231,6 +232,30 @@ declare class AppPlugin implements Plugin {
231
232
  init: (ctx: PluginContext) => Promise<void>;
232
233
  start: (ctx: PluginContext) => Promise<void>;
233
234
  stop: (ctx: PluginContext) => Promise<void>;
235
+ /**
236
+ * Resolve the identity bound to `os.user` / `os.org` for seed CEL values.
237
+ *
238
+ * On a fresh boot there are zero users until the first human sign-up
239
+ * (which the SeedLoader runs *before*), so identity-derived seeds like
240
+ * `owner_id: cel`os.user.id`` had nothing to resolve against and were
241
+ * dropped silently. To make seeds deterministic and self-sufficient we
242
+ * upsert a single non-loginable **system user** (`usr_system`) and bind
243
+ * it as `os.user`.
244
+ *
245
+ * Why a dedicated system user rather than the login admin:
246
+ * - `sys_user` is better-auth-managed and schema-locked (ADR-0010); the
247
+ * password lives in `sys_account`, so a *loginable* admin can only be
248
+ * minted through better-auth (the CLI does this via HTTP sign-up after
249
+ * boot). A raw insert here would bypass those invariants.
250
+ * - `usr_system` is an owner identity only (no credential row), analogous
251
+ * to Salesforce's "Automated Process" user. The human admin is created
252
+ * independently and need not be the seed owner.
253
+ *
254
+ * Idempotent: matches by the stable id, inserts once, reuses thereafter.
255
+ * Failures are non-fatal (logged) — records that actually need `os.user`
256
+ * then fail loudly in the loader with an actionable message.
257
+ */
258
+ private ensureSeedIdentity;
234
259
  /**
235
260
  * Emit a kernel hook so the control-plane `AppCatalogService` can
236
261
  * upsert / delete the corresponding `sys_app` row. Silently no-ops
@@ -329,6 +354,64 @@ declare class SeedLoaderService implements ISeedLoaderService {
329
354
  private buildResult;
330
355
  }
331
356
 
357
+ /**
358
+ * Payload of the `external.schema.drift` event emitted on the kernel bus by the
359
+ * background drift checker (ADR-0015 §5.2). Consumed by `audit` / `notification`
360
+ * services. One event per drifted federated object.
361
+ */
362
+ interface ExternalSchemaDriftEvent {
363
+ datasource: string;
364
+ object: string;
365
+ diffs: SchemaDiffEntry[];
366
+ }
367
+ /**
368
+ * Boot-validation plugin — Gate 2 of ADR-0015 §5.2.
369
+ *
370
+ * On `kernel:ready`, validates every federated object against its remote table
371
+ * (via the `external-datasource` service) and applies the datasource's
372
+ * `external.validation.onMismatch` policy:
373
+ * - `fail` → throws `ExternalSchemaMismatchError` (aborts boot) — default,
374
+ * - `warn` → logs the diff and continues,
375
+ * - `ignore` → does nothing.
376
+ *
377
+ * No-op when the `external-datasource` service is not registered (federation
378
+ * unused).
379
+ */
380
+ declare class ExternalValidationPlugin implements Plugin {
381
+ name: string;
382
+ type: string;
383
+ version: string;
384
+ /** Active background drift-check timers, keyed by datasource name. */
385
+ private driftTimers;
386
+ init: (_ctx: PluginContext) => void;
387
+ start: (ctx: PluginContext) => void;
388
+ /** Tear down background drift-check timers (idempotent). */
389
+ stop: () => void;
390
+ /** Exposed for testing; invoked from the kernel:ready handler. */
391
+ runValidation(ctx: PluginContext): Promise<void>;
392
+ /**
393
+ * Arm a background drift checker for every federated datasource that declares
394
+ * `external.validation.checkIntervalMs`. Each fires on its own interval and
395
+ * emits `external.schema.drift` events — it never throws or aborts the
396
+ * process, since drift past boot is observational, not fatal.
397
+ *
398
+ * No-op when metadata can't be enumerated or no datasource opts in. Re-arming
399
+ * (e.g. a second `kernel:ready`) first clears existing timers so intervals
400
+ * don't accumulate.
401
+ */
402
+ scheduleDriftChecks(ctx: PluginContext): Promise<void>;
403
+ /**
404
+ * Re-validate one datasource's federated objects and emit an
405
+ * `external.schema.drift` event per mismatch. Exposed for testing; invoked
406
+ * from the interval armed by {@link scheduleDriftChecks}. Never throws.
407
+ *
408
+ * @returns the number of drift events emitted.
409
+ */
410
+ runDriftCheck(ctx: PluginContext, datasource: string): Promise<number>;
411
+ }
412
+ /** Convenience factory mirroring the createXxxPlugin convention. */
413
+ declare function createExternalValidationPlugin(): ExternalValidationPlugin;
414
+
332
415
  /**
333
416
  * Security response headers builder.
334
417
  *
@@ -1431,19 +1514,6 @@ declare class HttpDispatcher {
1431
1514
  * Returns `undefined` for anonymous calls or when auth is not wired up.
1432
1515
  */
1433
1516
  private resolveActiveOrganizationId;
1434
- private resolveCallerUserId;
1435
- handleCloud(path: string, method: string, body: any, query: any, _context: HttpProtocolContext): Promise<HttpDispatcherResult>;
1436
- /**
1437
- * Cascade-delete a project: cred / member / package_installation rows,
1438
- * then the physical database via the provisioning adapter, then the
1439
- * `sys_environment` row itself. Used by both `DELETE /cloud/environments/:id`
1440
- * and the org-cascade in `DELETE /cloud/organizations/:id`.
1441
- *
1442
- * Idempotent and best-effort: missing rows / unreachable adapters
1443
- * become warnings rather than hard failures, so a half-provisioned
1444
- * project can still be cleaned out.
1445
- */
1446
- private deleteProjectCascade;
1447
1517
  /**
1448
1518
  * Handles Storage requests
1449
1519
  * path: sub-path after /storage/
@@ -1460,6 +1530,8 @@ declare class HttpDispatcher {
1460
1530
  *
1461
1531
  * Routes:
1462
1532
  * GET / → listFlows
1533
+ * GET /actions → getActionDescriptors (ADR-0018; ?paradigm/?source/?category filters)
1534
+ * GET /connectors → getConnectorDescriptors (ADR-0022; ?type filter)
1463
1535
  * GET /:name → getFlow
1464
1536
  * POST / → createFlow (registerFlow)
1465
1537
  * PUT /:name → updateFlow
@@ -1468,6 +1540,8 @@ declare class HttpDispatcher {
1468
1540
  * POST /:name/toggle → toggleFlow
1469
1541
  * GET /:name/runs → listRuns
1470
1542
  * GET /:name/runs/:runId → getRun
1543
+ * POST /:name/runs/:runId/resume → resume a paused run (screen input / ADR-0019)
1544
+ * GET /:name/runs/:runId/screen → the screen a paused run awaits
1471
1545
  */
1472
1546
  handleAutomation(path: string, method: string, body: any, context: HttpProtocolContext, query?: any): Promise<HttpDispatcherResult>;
1473
1547
  private getServicesMap;
@@ -2656,4 +2730,4 @@ declare function actionBodyRunnerFactory(runner: ScriptRunner, opts: FactoryOpti
2656
2730
  timeoutMs?: number;
2657
2731
  }) => ((actionCtx: any) => Promise<unknown>) | undefined;
2658
2732
 
2659
- export { AppPlugin, ArtifactApiClient, type ArtifactApiClientConfig, ArtifactEnvironmentRegistry, type ArtifactEnvironmentRegistryConfig, ArtifactKernelFactory, type ArtifactKernelFactoryConfig, AuthProxyPlugin, type BackfillPlatformSsoClientsOptions, DEFAULT_CLOUD_URL, DEFAULT_RATE_LIMITS, type DefaultHostConfigOptions, type DefaultHostConfigResult, type DispatcherPluginConfig, DriverPlugin, type EnvironmentArtifactResponse, type EnvironmentDriverRegistry, type EnvironmentKernelFactory, type EnvironmentRuntimeConfig, FileArtifactApiClient, type FileArtifactApiClientConfig, HttpDispatcher, type HttpDispatcherResult, type HttpProtocolContext, HttpServer, KernelManager, type KernelManagerConfig, type LoadArtifactBundleOptions, MarketplaceInstallLocalPlugin, type MarketplaceInstallLocalPluginConfig, MarketplaceProxyPlugin, type MarketplaceProxyPluginConfig, MiddlewareManager, type ObjectOSStackConfig, type ObjectOSStackResult, ObservabilityServicePlugin, type ObservabilityServicePluginOptions, PLATFORM_SSO_PROVIDER_ID, QuickJSScriptRunner, type QuickJSScriptRunnerOptions, type RateLimitBucketConfig, type RateLimitDecision, type RateLimitDefaults, type RateLimitStore, RateLimiter, type ResolvedHostname, Runtime, type RuntimeConfig, RuntimeConfigPlugin, type RuntimeConfigPluginConfig, SYSTEM_ENVIRONMENT_ID, SandboxError, type ScriptContext, type ScriptOrigin, type ScriptResult, type ScriptRunOptions, type ScriptRunner, type SecurityHeadersOptions, SeedLoaderService, type SeedPlatformSsoClientOptions, type StandaloneStackConfig, type StandaloneStackResult, type SystemEnvironmentPluginConfig, type TraceContext, UnimplementedScriptRunner, actionBodyRunnerFactory, backfillPlatformSsoClients, buildPlatformSsoRedirectUri, buildSecurityHeaders, collectBundleActions, collectBundleFunctions, collectBundleHooks, createDefaultHostConfig, createDispatcherPlugin, createObjectOSStack, createStandaloneStack, createSystemEnvironmentPlugin, derivePlatformSsoClientId, derivePlatformSsoClientSecret, extractRequestId, formatTraceparent, generateRequestId, hookBodyRunnerFactory, isHttpUrl, loadArtifactBundle, mergeRuntimeModule, parseTraceparent, readArtifactSource, resolveCloudUrl, resolveDefaultArtifactPath, resolveErrorReporter, resolveMetrics, resolveObjectStackHome, resolveRequestId, seedPlatformSsoClient };
2733
+ export { AppPlugin, ArtifactApiClient, type ArtifactApiClientConfig, ArtifactEnvironmentRegistry, type ArtifactEnvironmentRegistryConfig, ArtifactKernelFactory, type ArtifactKernelFactoryConfig, AuthProxyPlugin, type BackfillPlatformSsoClientsOptions, DEFAULT_CLOUD_URL, DEFAULT_RATE_LIMITS, type DefaultHostConfigOptions, type DefaultHostConfigResult, type DispatcherPluginConfig, DriverPlugin, type EnvironmentArtifactResponse, type EnvironmentDriverRegistry, type EnvironmentKernelFactory, type EnvironmentRuntimeConfig, type ExternalSchemaDriftEvent, ExternalValidationPlugin, FileArtifactApiClient, type FileArtifactApiClientConfig, HttpDispatcher, type HttpDispatcherResult, type HttpProtocolContext, HttpServer, KernelManager, type KernelManagerConfig, type LoadArtifactBundleOptions, MarketplaceInstallLocalPlugin, type MarketplaceInstallLocalPluginConfig, MarketplaceProxyPlugin, type MarketplaceProxyPluginConfig, MiddlewareManager, type ObjectOSStackConfig, type ObjectOSStackResult, ObservabilityServicePlugin, type ObservabilityServicePluginOptions, PLATFORM_SSO_PROVIDER_ID, QuickJSScriptRunner, type QuickJSScriptRunnerOptions, type RateLimitBucketConfig, type RateLimitDecision, type RateLimitDefaults, type RateLimitStore, RateLimiter, type ResolvedHostname, Runtime, type RuntimeConfig, RuntimeConfigPlugin, type RuntimeConfigPluginConfig, SYSTEM_ENVIRONMENT_ID, SandboxError, type ScriptContext, type ScriptOrigin, type ScriptResult, type ScriptRunOptions, type ScriptRunner, type SecurityHeadersOptions, SeedLoaderService, type SeedPlatformSsoClientOptions, type StandaloneStackConfig, type StandaloneStackResult, type SystemEnvironmentPluginConfig, type TraceContext, UnimplementedScriptRunner, actionBodyRunnerFactory, backfillPlatformSsoClients, buildPlatformSsoRedirectUri, buildSecurityHeaders, collectBundleActions, collectBundleFunctions, collectBundleHooks, createDefaultHostConfig, createDispatcherPlugin, createExternalValidationPlugin, createObjectOSStack, createStandaloneStack, createSystemEnvironmentPlugin, derivePlatformSsoClientId, derivePlatformSsoClientSecret, extractRequestId, formatTraceparent, generateRequestId, hookBodyRunnerFactory, isHttpUrl, loadArtifactBundle, mergeRuntimeModule, parseTraceparent, readArtifactSource, resolveCloudUrl, resolveDefaultArtifactPath, resolveErrorReporter, resolveMetrics, resolveObjectStackHome, resolveRequestId, seedPlatformSsoClient };