@superatomai/sdk-node 0.0.68-dsp → 0.0.69-dsp

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
@@ -2378,6 +2378,59 @@ declare const KbNodesRequestPayloadSchema: z.ZodObject<{
2378
2378
  } | undefined;
2379
2379
  }>;
2380
2380
  type KbNodesRequestPayload = z.infer<typeof KbNodesRequestPayloadSchema>;
2381
+ declare const DashComponentSchema: z.ZodObject<{
2382
+ name: z.ZodString;
2383
+ kind: z.ZodString;
2384
+ purpose: z.ZodString;
2385
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
2386
+ description: z.ZodString;
2387
+ importance: z.ZodOptional<z.ZodEnum<["required", "recommended", "optional"]>>;
2388
+ default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
2389
+ caution: z.ZodOptional<z.ZodString>;
2390
+ group: z.ZodOptional<z.ZodString>;
2391
+ }, "strip", z.ZodTypeAny, {
2392
+ description: string;
2393
+ importance?: "required" | "recommended" | "optional" | undefined;
2394
+ default?: string | number | boolean | undefined;
2395
+ caution?: string | undefined;
2396
+ group?: string | undefined;
2397
+ }, {
2398
+ description: string;
2399
+ importance?: "required" | "recommended" | "optional" | undefined;
2400
+ default?: string | number | boolean | undefined;
2401
+ caution?: string | undefined;
2402
+ group?: string | undefined;
2403
+ }>]>>>;
2404
+ useWhen: z.ZodOptional<z.ZodString>;
2405
+ notes: z.ZodOptional<z.ZodString>;
2406
+ }, "strip", z.ZodTypeAny, {
2407
+ name: string;
2408
+ kind: string;
2409
+ purpose: string;
2410
+ props?: Record<string, string | {
2411
+ description: string;
2412
+ importance?: "required" | "recommended" | "optional" | undefined;
2413
+ default?: string | number | boolean | undefined;
2414
+ caution?: string | undefined;
2415
+ group?: string | undefined;
2416
+ }> | undefined;
2417
+ useWhen?: string | undefined;
2418
+ notes?: string | undefined;
2419
+ }, {
2420
+ name: string;
2421
+ kind: string;
2422
+ purpose: string;
2423
+ props?: Record<string, string | {
2424
+ description: string;
2425
+ importance?: "required" | "recommended" | "optional" | undefined;
2426
+ default?: string | number | boolean | undefined;
2427
+ caution?: string | undefined;
2428
+ group?: string | undefined;
2429
+ }> | undefined;
2430
+ useWhen?: string | undefined;
2431
+ notes?: string | undefined;
2432
+ }>;
2433
+ type DashComponent = z.infer<typeof DashComponentSchema>;
2381
2434
  interface T_RESPONSE {
2382
2435
  success: boolean;
2383
2436
  data?: any;
@@ -4124,6 +4177,214 @@ declare class UserPromptErrorLogger {
4124
4177
  }
4125
4178
  declare const userPromptErrorLogger: UserPromptErrorLogger;
4126
4179
 
4180
+ /**
4181
+ * Chat Analytics Client
4182
+ * Posts analytics events to the global SA API after each user prompt request.
4183
+ *
4184
+ * Required env vars:
4185
+ * SA_API_URL — Base URL of the SA API (e.g. https://api.superatom.ai)
4186
+ *
4187
+ * Optional:
4188
+ * SA_ORG_ID — Organization ID (nullable, for multi-tenant filtering)
4189
+ * SA_ANALYTICS_ENABLED — Set to 'false' to disable (default: true)
4190
+ */
4191
+ type AnalyticsEventType = 'chat_agent' | 'dashboard' | 'report';
4192
+ type AnalyticsStatus = 'success' | 'error' | 'aborted';
4193
+ type AnalyticsResponse = DBUIBlock | {
4194
+ response_text: string;
4195
+ dsl: any;
4196
+ error?: any;
4197
+ };
4198
+ interface ChatAnalyticsEvent {
4199
+ type?: AnalyticsEventType;
4200
+ userId: string;
4201
+ orgId?: string;
4202
+ projectId: string;
4203
+ threadId?: string;
4204
+ messageIndex?: number;
4205
+ question?: string;
4206
+ sourcesUsed?: {
4207
+ sourceId: string;
4208
+ sourceName: string;
4209
+ sourceType: string;
4210
+ }[];
4211
+ sqlGenerated?: string;
4212
+ appId?: string;
4213
+ conversationId?: number;
4214
+ model: string;
4215
+ inputTokens: number;
4216
+ outputTokens: number;
4217
+ cost: string;
4218
+ latencyMs: number;
4219
+ status: AnalyticsStatus;
4220
+ errorMessage?: string;
4221
+ response?: AnalyticsResponse | null;
4222
+ }
4223
+ declare class AnalyticsClient {
4224
+ private apiUrl;
4225
+ private orgId;
4226
+ private enabled;
4227
+ private initialized;
4228
+ private init;
4229
+ /**
4230
+ * Track a chat analytics event. Fire-and-forget — never blocks or throws.
4231
+ */
4232
+ track(event: ChatAnalyticsEvent): Promise<void>;
4233
+ /**
4234
+ * Build a ChatAnalyticsEvent from the available request context.
4235
+ * Reads session stats from llmUsageLogger by default — correct for chat and
4236
+ * report, since both funnel their LLM calls through llm.ts, which is what
4237
+ * updates llmUsageLogger. Dashboard-agent (Pi) does NOT go through llm.ts —
4238
+ * it tracks its own cost/tokens via session.getSessionStats() entirely
4239
+ * separately, so llmUsageLogger stays at zero for those calls. Passing
4240
+ * `usage` explicitly overrides the llmUsageLogger read for exactly that
4241
+ * case; chat/report call sites omit it and keep the default behavior.
4242
+ */
4243
+ buildEvent(params: {
4244
+ type?: AnalyticsEventType;
4245
+ userId: string;
4246
+ projectId: string;
4247
+ threadId?: string;
4248
+ messageIndex?: number;
4249
+ question?: string;
4250
+ status: AnalyticsStatus;
4251
+ latencyMs: number;
4252
+ model: string;
4253
+ errorMessage?: string;
4254
+ sourcesUsed?: {
4255
+ sourceId: string;
4256
+ sourceName: string;
4257
+ sourceType: string;
4258
+ }[];
4259
+ sqlGenerated?: string;
4260
+ appId?: string;
4261
+ conversationId?: number;
4262
+ usage?: {
4263
+ inputTokens: number;
4264
+ outputTokens: number;
4265
+ costUSD: number;
4266
+ };
4267
+ response?: AnalyticsResponse | null;
4268
+ }): ChatAnalyticsEvent;
4269
+ }
4270
+ declare const analyticsClient: AnalyticsClient;
4271
+
4272
+ interface PromptLoaderConfig {
4273
+ promptsDir?: string;
4274
+ }
4275
+ /**
4276
+ * PromptLoader class for loading and processing prompt templates
4277
+ * Tries to load from file system first, then falls back to hardcoded prompts
4278
+ */
4279
+ declare class PromptLoader {
4280
+ private promptsDir;
4281
+ private promptCache;
4282
+ private databaseRulesCache;
4283
+ private isInitialized;
4284
+ private databaseType;
4285
+ constructor(config?: PromptLoaderConfig);
4286
+ /**
4287
+ * Load a prompt template from file system OR fallback to hardcoded prompts
4288
+ * @param promptName - Name of the prompt folder
4289
+ * @returns Template with system and user prompts
4290
+ */
4291
+ private loadPromptTemplate;
4292
+ /**
4293
+ * Initialize and cache all prompts into memory
4294
+ * Tries file system first, then falls back to hardcoded prompts
4295
+ */
4296
+ initialize(): Promise<void>;
4297
+ /**
4298
+ * Replace variables in a template string using {{VARIABLE_NAME}} pattern
4299
+ * @param template - Template string with placeholders
4300
+ * @param variables - Variables to replace in the template
4301
+ * @returns Processed string
4302
+ */
4303
+ private replaceVariables;
4304
+ /**
4305
+ * Load both system and user prompts from cache and replace variables
4306
+ * Supports prompt caching by splitting static and dynamic content
4307
+ * @param promptName - Name of the prompt
4308
+ * @param variables - Variables to replace in the templates
4309
+ * @returns Object containing both system and user prompts (system can be string or array for caching)
4310
+ */
4311
+ loadPrompts(promptName: string, variables: Record<string, string | number | boolean | any[]>): Promise<{
4312
+ system: string | any[];
4313
+ user: string;
4314
+ }>;
4315
+ /**
4316
+ * DEPRECATED: Use loadPrompts instead
4317
+ * Load a single prompt file and replace variables using {{VARIABLE_NAME}} pattern
4318
+ */
4319
+ loadPrompt(promptName: string, promptType: 'system' | 'user', variables: Record<string, string | number | boolean | any[]>): Promise<string | any[]>;
4320
+ /**
4321
+ * Set custom prompts directory (requires re-initialization)
4322
+ * @param dir - Path to the prompts directory
4323
+ */
4324
+ setPromptsDir(dir: string): void;
4325
+ /**
4326
+ * Get current prompts directory
4327
+ * @returns Path to the prompts directory
4328
+ */
4329
+ getPromptsDir(): string;
4330
+ /**
4331
+ * Check if prompts are loaded in memory
4332
+ */
4333
+ isReady(): boolean;
4334
+ /**
4335
+ * Get the number of cached prompts
4336
+ */
4337
+ getCacheSize(): number;
4338
+ /**
4339
+ * Set the database type for SQL rules loading
4340
+ * @param type - Database type ('postgresql' | 'mssql')
4341
+ */
4342
+ setDatabaseType(type: string): void;
4343
+ /**
4344
+ * Get current database type
4345
+ * @returns Database type string
4346
+ */
4347
+ getDatabaseType(): string;
4348
+ /**
4349
+ * Load database-specific SQL rules from file system
4350
+ * Falls back to minimal default rules if file not found
4351
+ * @returns Database rules as a string
4352
+ */
4353
+ loadDatabaseRules(): Promise<string>;
4354
+ /**
4355
+ * Load database-specific SQL rules for a given source type.
4356
+ * Used by the agent architecture where multiple source types can coexist.
4357
+ * @param sourceType - Source type from tool ID (e.g., 'postgres', 'mssql', 'mysql')
4358
+ * @returns Database rules as a string
4359
+ */
4360
+ loadDatabaseRulesForType(sourceType: string): Promise<string>;
4361
+ /**
4362
+ * Load the shared Script Body Contract — the rules that define what a valid
4363
+ * script body IS. Injected as {{SCRIPT_BODY_CONTRACT}} into BOTH `agent-main`
4364
+ * (generate) and `agent-main-edit` (edit) so the two paths can never drift on
4365
+ * script shape. See backend/docs/SCRIPT-EDIT-DESIGN.md § Component 3.
4366
+ *
4367
+ * IMPORTANT: the contract carries its OWN placeholders ({{MAX_ROWS_RENDERED}},
4368
+ * {{MAX_ROWS_FETCHED}}). loadPrompts' substitution is single-pass and
4369
+ * non-recursive by design (see replaceVariables), so an injected value is
4370
+ * never re-scanned — we must render the contract's placeholders HERE, before
4371
+ * it becomes a variable value, or they reach the LLM as literal `{{...}}`.
4372
+ */
4373
+ loadScriptBodyContract(variables?: Record<string, string | number | boolean | any[]>): Promise<string>;
4374
+ /**
4375
+ * Get default database rules as fallback (mirror of
4376
+ * backend/.prompts/database-rules/<engine>.md, embedded via DATABASE_RULES).
4377
+ * @returns Database rules for the configured databaseType
4378
+ */
4379
+ private getDefaultDatabaseRules;
4380
+ /**
4381
+ * Get default database rules for a specific engine type (mirror of
4382
+ * backend/.prompts/database-rules/<engine>.md, embedded via DATABASE_RULES).
4383
+ */
4384
+ private getDefaultDatabaseRulesForType;
4385
+ }
4386
+ declare const promptLoader: PromptLoader;
4387
+
4127
4388
  /**
4128
4389
  * BM25L Reranker for hybrid semantic search
4129
4390
  *
@@ -5141,7 +5402,7 @@ interface CodingAgentSession {
5141
5402
  * factory without importing the module's own barrel (a cycle tsup would have to
5142
5403
  * resolve at bundle time).
5143
5404
  */
5144
- type Harness = 'codex';
5405
+ type Harness = 'codex' | 'pi';
5145
5406
  declare function createCodingAgentSession(harness: Harness, opts: CodingAgentSessionOptions): CodingAgentSession;
5146
5407
 
5147
5408
  /**
@@ -5182,6 +5443,39 @@ interface CodexSessionOptions extends CodingAgentSessionOptions {
5182
5443
  }
5183
5444
  declare function createCodexSession(opts: CodexSessionOptions): CodingAgentSession;
5184
5445
 
5446
+ /**
5447
+ * One transcript entry — everything worth replaying to a caller that reconnects
5448
+ * mid-run or after the fact, without having sent the prompt itself. Deliberately
5449
+ * a separate, richer shape from AgentEvent: that one only carries tool/command
5450
+ * activity (what events()/buffer() below still expose, unchanged), not prompts
5451
+ * or finished answers — which a reconnecting client needs too, per-turn, not as
5452
+ * a flat concatenated buffer.
5453
+ */
5454
+ interface PiTranscriptEntry {
5455
+ at: number;
5456
+ kind: 'user' | 'assistant' | 'activity' | 'error';
5457
+ /** user/assistant/error text. */
5458
+ text?: string;
5459
+ /** 'activity' entries carry the underlying tool/command event. */
5460
+ event?: AgentEvent;
5461
+ }
5462
+ interface PiSessionState {
5463
+ running: boolean;
5464
+ transcript: PiTranscriptEntry[];
5465
+ }
5466
+ type PiSessionListener = (sessionKey: string, entry: PiTranscriptEntry) => void;
5467
+ /** Watch every live pi session's activity, not just one you started yourself — same broadcast idea dashboard-pi uses so a second, later caller can watch a session already in progress. */
5468
+ declare function onPiSessionUpdate(listener: PiSessionListener): () => void;
5469
+ /**
5470
+ * Current state of a live session — for a caller that reconnects mid-run or
5471
+ * wants to replay what happened, without sending a prompt itself.
5472
+ *
5473
+ * undefined when the session isn't live: never started, evicted by the idle
5474
+ * sweeper, or the backend restarted. Same "lost the transcript, not the work"
5475
+ * tradeoff as everywhere else in this driver — nothing here survives a restart.
5476
+ */
5477
+ declare function getPiSessionState(sessionKey: string): PiSessionState | undefined;
5478
+
5185
5479
  /**
5186
5480
  * What makes an agent fire.
5187
5481
  *
@@ -5647,8 +5941,73 @@ interface RunAgentOptions<TInput> extends AgentRunContext {
5647
5941
  declare function runCodingAgent<TInput = unknown, TOutput = unknown>(agentId: string, options?: RunAgentOptions<TInput>): Promise<AgentRunRecord<TOutput>>;
5648
5942
 
5649
5943
  /**
5650
- * Write `./sources` and `./query` into an agent's workspace: read-only data
5651
- * access as plain executables it runs with bash.
5944
+ * One shim that was written, and the one line describing it.
5945
+ *
5946
+ * Returned rather than left for the caller to infer, because the caller's only
5947
+ * other option is to scan the directory — which yields names and nothing else.
5948
+ * A separate filename→description table would drift the moment a shim changed,
5949
+ * and a stale description is worse than none: it is authoritative and wrong.
5950
+ */
5951
+ interface ShimSummary {
5952
+ /** The executable's name, as the agent invokes it: `./sources`, `./query`. */
5953
+ name: string;
5954
+ /** What it does and when to reach for it. One line — usage lives in the shim's own guard. */
5955
+ summary: string;
5956
+ }
5957
+ /**
5958
+ * A shim before it is written.
5959
+ *
5960
+ * Body and description travel together so a tool cannot be added, changed or
5961
+ * dropped without its description moving with it.
5962
+ *
5963
+ * **State the invocation in `summary`, arguments and all.** These strings are
5964
+ * what the prompt injects, and for several tools they are the only place the
5965
+ * agent hears about the tool at all. A tool described by purpose alone gets
5966
+ * probed: `./query` was documented by what it does and never by how to call it,
5967
+ * and agents took to running `./query --help`, which is not a flag and prints
5968
+ * anything only because an unrecognised argument trips the usage guard. The
5969
+ * tools whose descriptions ended "(no arguments)" were never probed. Say
5970
+ * "(no arguments)" rather than nothing — "I was not told" and "there is nothing
5971
+ * to pass" are different, and only one of them costs a turn.
5972
+ */
5973
+ interface ShimDef {
5974
+ /** No `./` — that is added where the agent is told about it. */
5975
+ name: string;
5976
+ /** The complete script, shebang and all. */
5977
+ body: string;
5978
+ summary: string;
5979
+ }
5980
+ /** Where shims go: a directory, or anything that can resolve a name to a path. */
5981
+ type ShimTarget = string | {
5982
+ pathTo(name: string): string;
5983
+ };
5984
+ /**
5985
+ * Writes each shim into the workspace and returns what to tell the agent.
5986
+ *
5987
+ * Order is kept. The listing this feeds is among the first things the agent
5988
+ * reads, so shims should be given in the order the work is done rather than
5989
+ * alphabetically.
5990
+ */
5991
+ declare function writeShims(defs: readonly ShimDef[], target: ShimTarget): ShimSummary[];
5992
+ /**
5993
+ * The opening lines every bridge-backed shim needs: where the backend is, and
5994
+ * one `post` that already handles the three ways a call can fail.
5995
+ *
5996
+ * Hand-rolling `fetch` in each shim is how error messages drift — one says
5997
+ * "Query failed", the next "Request failed", a third swallows the body — and
5998
+ * the agent has to learn each of them. `post` reports the status and the first
5999
+ * of the body worth reading, and exits non-zero, which is the whole contract.
6000
+ *
6001
+ * `constants` become `const NAME = <json>` above it, for values a shim needs
6002
+ * baked in rather than passed: the dashboard it belongs to, a row cap it cannot
6003
+ * raise.
6004
+ */
6005
+ declare function bridgePreamble(bridgeUrl: string, constants?: Record<string, unknown>): string;
6006
+
6007
+ /**
6008
+ * Write `./sources`, `./query` and (when the caller offers any) `./run-tool`
6009
+ * into an agent's workspace: data access as plain executables it runs with
6010
+ * bash.
5652
6011
  *
5653
6012
  * Why not MCP: codex gates MCP tool calls on the sandbox. Under any sandboxed
5654
6013
  * mode they need approval, and a headless run must set approvalPolicy 'never',
@@ -5671,11 +6030,35 @@ declare function runCodingAgent<TInput = unknown, TOutput = unknown>(agentId: st
5671
6030
  */
5672
6031
  declare function writeBridgeShims(ws: Workspace, opts: {
5673
6032
  bridgeUrl: string;
6033
+ /** `searchable: true` marks a source ./schema-search actually works against — see schemaSearchFn below. */
5674
6034
  sources: Array<{
5675
6035
  id: string;
5676
6036
  name?: string;
5677
6037
  description?: string;
6038
+ searchable?: boolean;
5678
6039
  }>;
6040
+ /**
6041
+ * Pre-built business-logic tools (e.g. a business-concept catalog) exposed
6042
+ * as ./run-tool, distinct from ./query's raw SQL. Omit for an agent that
6043
+ * should only ever read data, never invoke one of these directly.
6044
+ */
6045
+ directTools?: Array<{
6046
+ id: string;
6047
+ name?: string;
6048
+ description?: string;
6049
+ params?: Record<string, string>;
6050
+ }>;
6051
+ /** Entity types ./resolve-entities can resolve names against (e.g. "customer", "project"). Omit for an agent that has no entity-search index to reach. */
6052
+ entityTypes?: string[];
6053
+ /** Every verified concept — name, aliases and what it is for — as ./concept-catalog returns it. Omit for an agent that has no concept store to reach. */
6054
+ conceptCatalog?: Array<{
6055
+ name: string;
6056
+ kind?: string;
6057
+ aliases?: string[];
6058
+ description?: string | null;
6059
+ }>;
6060
+ /** Whether ./knowledge-base is offered. Omit for an agent that has no knowledge base to reach. */
6061
+ knowledgeBase?: boolean;
5679
6062
  maxRows?: number;
5680
6063
  /**
5681
6064
  * Identity for the queries this agent runs, from mintContextToken().
@@ -5690,7 +6073,7 @@ declare function writeBridgeShims(ws: Workspace, opts: {
5690
6073
  * queries are then anonymous, which is the truth rather than a default.
5691
6074
  */
5692
6075
  contextToken?: string;
5693
- }): void;
6076
+ }): ShimSummary[];
5694
6077
 
5695
6078
  /**
5696
6079
  * Read-only SQL guard for any path that hands an agent a database.
@@ -6092,6 +6475,18 @@ declare class SuperatomSDK {
6092
6475
  * contracts instead of maintaining a separate, driftable hand-written copy.
6093
6476
  */
6094
6477
  getComponents(): Component[];
6478
+ /**
6479
+ * The dashboard contract, as registered by the browser bundle that holds it.
6480
+ *
6481
+ * Empty until a client has connected and pushed it. That is a real state and
6482
+ * callers must handle it rather than treat it as an empty contract: an empty
6483
+ * list means "nobody has told us yet", not "there are no components", and
6484
+ * building against it would produce a dashboard that can import nothing.
6485
+ */
6486
+ private dashContract;
6487
+ private storeDashContract;
6488
+ /** The registered dashboard contract. Empty means "not registered yet". */
6489
+ getDashContract(): DashComponent[];
6095
6490
  /**
6096
6491
  * Set tools for the SDK instance
6097
6492
  */
@@ -6153,4 +6548,4 @@ declare class SuperatomSDK {
6153
6548
  getConversationSimilarityThreshold(): number;
6154
6549
  }
6155
6550
 
6156
- export { ALL_COLUMN_KEYS, ANSWER_COMPONENT_NAMES, type AgentConfig, type AgentEvent, type AgentResponse, type AgentRunContext, type AgentRunHandlers, type AgentRunRecord, type AgentRunResult, type AgentTrigger, type AgentUsage, type AnswerProvider, type AnswerProviderContext, type ApplySummary, BM25L, type BM25LOptions, type BaseLLMConfig, type BuildTriggerInput, CATEGORY_KEYS, CONTEXT_CONFIG, type CapturedLog, CleanupService, type CodexSessionOptions, type CodingAgentCollectionConfig, type CodingAgentDefinition, type CodingAgentSession, type CodingAgentSessionOptions, type CodingAgentsConfig, type ColInfo, type ColType, type CollectionHandler, type CollectionOperation, type Component, type DBUIBlock, DEFAULT_AGENT_CONFIG, DEFAULT_FMT_CONFIG, type DashboardAgentCollectionConfig, type DatabaseType, type FindingCode, type Fmt, type FmtConfig, type Harness, type HybridSearchOptions, INSTRUCTIONS_FILE, type IncomingMessage, type KbNodesQueryFilters, type KbNodesRequestPayload, LLM, type LLMUsageEntry, type LogLevel, MainAgent, type McpServerSpec, type Message, MissingRequestContextError, type ModelStrategy, NUMERIC_KEYS, type NarrationUpdate, type OutputContract, type OutputField, type OutputValidator, type Principal, type RequestContext, type RerankedResult, type RowFilter, type RunAgentOptions, STORAGE_CONFIG, type ScriptComponentSpec, ScriptMatcher, type ScriptParameter, type ScriptRecipe, type ScriptRecipeMetaRow, type ScriptRecipeStore, type ScriptResult, ScriptStore, type ScriptStoreOptions, type SelectedWorkflow, type SourcePolicy, type SpecToValidate, SuperatomSDK, type SuperatomSDKConfig, type T_RESPONSE, type TaskType, Thread, ThreadManager, type Tool$1 as Tool, type ToolOutputSchema, type TriggerEvent, type TriggerFireInfo, UIBlock, UILogCollector, type User, UserManager, type UsersData, type ValidationContext, type ValidationFinding, type WorkflowDescriptor, type Workspace, answerCatalogForBinding, answerComponents, anthropicLLM, assertReadOnlySql, bindContext, captureContext, clearContextTokens, contextTokenCount, createCodexSession, createCodingAgentSession, dashboardConversationHistory, dataFingerprint, describeContext, describeTriggers, emitAgentEvent, extractNamedExport, formatFindingsForAgent, geminiLLM, getCodingAgent, getCodingAgentsConfig, getRequestContext, groqLLM, hybridRerank, inferColumns, isUserContext, listCodingAgents, llmUsageLogger, logger, makeFmt, mintContextToken, normalizeScriptBody, onAgentRun, openaiLLM, policiesFromConfig, projectForDatasetBinding, queryCache, registerCodingAgentCollection, registerCodingAgents, registerDashboardAgentCollection, requireRequestContext, rerankChromaResults, rerankConversationResults, resolveContextToken, resolveScriptRecipeStore, revokeContextToken, runAsSystem, runAsUser, runCodingAgent, runScript, runWithContext, runWithMessageIdentity, startAgentTriggers, stopAgentTriggers, userPromptErrorLogger, validateComponentSpec, withCapturedContext, writeBridgeShims };
6551
+ export { ALL_COLUMN_KEYS, ANSWER_COMPONENT_NAMES, type AgentConfig, type AgentEvent, type AgentResponse, type AgentRunContext, type AgentRunHandlers, type AgentRunRecord, type AgentRunResult, type AgentTrigger, type AgentUsage, type AnalyticsEventType, type AnalyticsStatus, type AnswerProvider, type AnswerProviderContext, type ApplySummary, BM25L, type BM25LOptions, type BaseLLMConfig, type BuildTriggerInput, CATEGORY_KEYS, CONTEXT_CONFIG, type CapturedLog, CleanupService, type CodexSessionOptions, type CodingAgentCollectionConfig, type CodingAgentDefinition, type CodingAgentSession, type CodingAgentSessionOptions, type CodingAgentsConfig, type ColInfo, type ColType, type CollectionHandler, type CollectionOperation, type Component, type DBUIBlock, DEFAULT_AGENT_CONFIG, DEFAULT_FMT_CONFIG, type DashboardAgentCollectionConfig, type DatabaseType, type FindingCode, type Fmt, type FmtConfig, type Harness, type HybridSearchOptions, INSTRUCTIONS_FILE, type IncomingMessage, type KbNodesQueryFilters, type KbNodesRequestPayload, LLM, type LLMUsageEntry, type LogLevel, MainAgent, type McpServerSpec, type Message, MissingRequestContextError, type ModelStrategy, NUMERIC_KEYS, type NarrationUpdate, type OutputContract, type OutputField, type OutputValidator, type PiSessionListener, type PiSessionState, type PiTranscriptEntry, type Principal, type RequestContext, type RerankedResult, type RowFilter, type RunAgentOptions, STORAGE_CONFIG, type ScriptComponentSpec, ScriptMatcher, type ScriptParameter, type ScriptRecipe, type ScriptRecipeMetaRow, type ScriptRecipeStore, type ScriptResult, ScriptStore, type ScriptStoreOptions, type SelectedWorkflow, type ShimDef, type ShimSummary, type ShimTarget, type SourcePolicy, type SpecToValidate, SuperatomSDK, type SuperatomSDKConfig, type T_RESPONSE, type TaskType, Thread, ThreadManager, type Tool$1 as Tool, type ToolOutputSchema, type TriggerEvent, type TriggerFireInfo, UIBlock, UILogCollector, type User, UserManager, type UsersData, type ValidationContext, type ValidationFinding, type WorkflowDescriptor, type Workspace, analyticsClient, answerCatalogForBinding, answerComponents, anthropicLLM, assertReadOnlySql, bindContext, bridgePreamble, captureContext, clearContextTokens, contextTokenCount, createCodexSession, createCodingAgentSession, dashboardConversationHistory, dataFingerprint, describeContext, describeTriggers, emitAgentEvent, extractNamedExport, formatFindingsForAgent, geminiLLM, getCodingAgent, getCodingAgentsConfig, getPiSessionState, getRequestContext, groqLLM, hybridRerank, inferColumns, isUserContext, listCodingAgents, llmUsageLogger, logger, makeFmt, mintContextToken, normalizeScriptBody, onAgentRun, onPiSessionUpdate, openaiLLM, policiesFromConfig, projectForDatasetBinding, promptLoader, queryCache, registerCodingAgentCollection, registerCodingAgents, registerDashboardAgentCollection, requireRequestContext, rerankChromaResults, rerankConversationResults, resolveContextToken, resolveScriptRecipeStore, revokeContextToken, runAsSystem, runAsUser, runCodingAgent, runScript, runWithContext, runWithMessageIdentity, startAgentTriggers, stopAgentTriggers, userPromptErrorLogger, validateComponentSpec, withCapturedContext, writeBridgeShims, writeShims };