@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/README.md +942 -942
- package/dist/index.d.mts +400 -5
- package/dist/index.d.ts +400 -5
- package/dist/index.js +809 -57
- package/dist/index.mjs +824 -78
- package/package.json +1 -1
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
|
-
*
|
|
5651
|
-
*
|
|
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
|
-
}):
|
|
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 };
|