@elevasis/sdk 1.41.1 → 1.43.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
@@ -353,15 +353,6 @@ interface SerializedAgentDefinition {
353
353
  inputSchema?: object;
354
354
  outputSchema?: object;
355
355
  }>;
356
- knowledgeMap?: {
357
- nodeCount: number;
358
- nodes: Array<{
359
- id: string;
360
- description: string;
361
- loaded: boolean;
362
- hasPrompt: boolean;
363
- }>;
364
- };
365
356
  metricsConfig?: object;
366
357
  }
367
358
  /**
@@ -419,16 +410,12 @@ type OpenAIModel = 'gpt-5' | 'gpt-5.4-mini' | 'gpt-5.4-nano';
419
410
  * Supported OpenRouter models (explicit union for type safety)
420
411
  */
421
412
  type OpenRouterModel = 'openrouter/z-ai/glm-5';
422
- /**
423
- * Supported Google models (direct SDK access)
424
- */
425
- type GoogleModel = 'gemini-3-flash-preview' | 'gemini-3.1-flash-lite-preview';
426
413
  /**
427
414
  * Supported Anthropic models (direct SDK access via @anthropic-ai/sdk)
428
415
  */
429
416
  type AnthropicModel = 'claude-opus-5' | 'claude-sonnet-5' | 'claude-haiku-4-5-20251001' | 'claude-haiku-4-5';
430
417
  /** Supported LLM models */
431
- type LLMModel = OpenAIModel | OpenRouterModel | GoogleModel | AnthropicModel | 'mock';
418
+ type LLMModel = OpenAIModel | OpenRouterModel | AnthropicModel | 'mock';
432
419
  /**
433
420
  * GPT-5 model options schema
434
421
  */
@@ -455,18 +442,6 @@ declare const OpenRouterOptionsSchema: z.ZodObject<{
455
442
  fallback: "fallback";
456
443
  }>>;
457
444
  }, z.core.$strip>;
458
- /**
459
- * Google model options schema
460
- * Gemini 3 specific options for thinking depth control
461
- */
462
- declare const GoogleOptionsSchema: z.ZodObject<{
463
- thinkingLevel: z.ZodOptional<z.ZodEnum<{
464
- minimal: "minimal";
465
- low: "low";
466
- medium: "medium";
467
- high: "high";
468
- }>>;
469
- }, z.core.$strip>;
470
445
  /**
471
446
  * Anthropic model options schema
472
447
  * Currently empty - future options must be added per supported model family
@@ -478,16 +453,15 @@ declare const AnthropicOptionsSchema: z.ZodObject<{}, z.core.$strict>;
478
453
  type GPT5Options = z.infer<typeof GPT5OptionsSchema>;
479
454
  type MockOptions = Record<string, never>;
480
455
  type OpenRouterOptions = z.infer<typeof OpenRouterOptionsSchema>;
481
- type GoogleOptions = z.infer<typeof GoogleOptionsSchema>;
482
456
  type AnthropicOptions = z.infer<typeof AnthropicOptionsSchema>;
483
- type ModelSpecificOptions = GPT5Options | MockOptions | OpenRouterOptions | GoogleOptions | AnthropicOptions;
457
+ type ModelSpecificOptions = GPT5Options | MockOptions | OpenRouterOptions | AnthropicOptions;
484
458
  /**
485
459
  * Model configuration for LLM execution
486
460
  * Belongs in resource definition (AgentDefinition, WorkflowDefinition, etc.)
487
461
  */
488
462
  interface ModelConfig {
489
463
  model: LLMModel;
490
- provider: 'openai' | 'anthropic' | 'openrouter' | 'google' | 'mock';
464
+ provider: 'openai' | 'anthropic' | 'openrouter' | 'mock';
491
465
  apiKey: string;
492
466
  temperature?: number;
493
467
  /** Maximum output tokens per LLM call. NOT the model's context window — see ModelInfo.maxTokens for that. */
@@ -502,14 +476,70 @@ interface ModelConfig {
502
476
  modelOptions?: ModelSpecificOptions;
503
477
  }
504
478
 
479
+ /**
480
+ * Types for the schema compiler. `compile.ts` walks a `JsonSchema` once, driven entirely by a
481
+ * `ProviderDialect`, and every server adapter compiles through it.
482
+ */
505
483
  /**
506
484
  * What happened to `strict` on a request, recorded per call rather than inferred.
507
485
  *
508
- * `applied` and `notAttempted` are the two states that a refusal-only field cannot tell apart
486
+ * `applied` and `notAttempted` are the two states that a refusal-only field cannot tell apart --
509
487
  * both leave `strictRefusalReasons` empty. Recording the verdict positively is what makes "was
510
488
  * this agent's output actually enforced?" answerable from an `ai_calls` row.
511
489
  */
512
490
  type StrictStatus = 'applied' | 'refused' | 'compileRejected' | 'notAttempted';
491
+ /**
492
+ * A JSON Schema node, typed enough to be useful without pretending to validate the spec.
493
+ *
494
+ * The compiler has to accept schemas that arrive OUTSIDE the strict subset (that is the whole
495
+ * point of a dialect that can refuse or rewrite them) as well as the `$ref`/`$defs`/`const`/
496
+ * `$schema` shapes the strict subset has no vocabulary for at all. The index signature exists
497
+ * because tenant schemas carry keywords (`minLength`, `pattern`, `minimum`, ...) this compiler
498
+ * drops or refuses on, and they still need somewhere to type-check while they pass through
499
+ * `Object.entries`.
500
+ */
501
+ interface JsonSchema {
502
+ type?: string | string[];
503
+ /**
504
+ * The value is `JsonSchema | undefined`, not `JsonSchema`, because a property really can be
505
+ * declared with nothing describing it. `buildIterationResponseSchema` emits one per tool as
506
+ * `input: tool.inputSchema`, and `ToolDefinition.inputSchema` is typed `unknown` -- a tool
507
+ * deployed without one puts `undefined` under a key that exists.
508
+ *
509
+ * Both readers already handle it: `compileSchema` passes each value through `convertNode`, which
510
+ * takes `unknown`, and `collectErrors` opens with `if (!schema || typeof schema !== 'object')`
511
+ * above a comment naming this exact case. Declaring the value non-optional only hid that they
512
+ * were right to.
513
+ */
514
+ properties?: Record<string, JsonSchema | undefined>;
515
+ items?: JsonSchema;
516
+ anyOf?: JsonSchema[];
517
+ oneOf?: JsonSchema[];
518
+ allOf?: JsonSchema[];
519
+ required?: string[];
520
+ additionalProperties?: boolean | JsonSchema;
521
+ minItems?: number;
522
+ maxItems?: number;
523
+ format?: string;
524
+ enum?: unknown[];
525
+ const?: unknown;
526
+ description?: string;
527
+ default?: unknown;
528
+ $ref?: string;
529
+ $defs?: Record<string, JsonSchema>;
530
+ definitions?: Record<string, JsonSchema>;
531
+ $schema?: string;
532
+ $id?: string;
533
+ $anchor?: string;
534
+ /**
535
+ * OpenAPI's nullability spelling, which is not JSON Schema's. It is declared because
536
+ * `response-schema-validator.ts` READS it (`schemaPermitsNull`) -- Google's schema dialect is
537
+ * OpenAPI-derived, so a schema that reaches the validator can carry it. No dialect in `compile.ts`
538
+ * writes or rewrites it; the canonical spelling this compiler emits is `type: ['x', 'null']`.
539
+ */
540
+ nullable?: boolean;
541
+ [key: string]: unknown;
542
+ }
513
543
 
514
544
  declare const ResourceGovernanceStatusSchema: z.ZodEnum<{
515
545
  active: "active";
@@ -1053,16 +1083,86 @@ interface LLMMessage {
1053
1083
  */
1054
1084
  interface LLMGenerateRequest {
1055
1085
  messages: LLMMessage[];
1056
- responseSchema: unknown;
1086
+ /**
1087
+ * JSON Schema for structured output. Omit it for an unstructured call.
1088
+ *
1089
+ * Absence is what turns validation off: `runGeneratePipeline` skips `validateResponseSchema`
1090
+ * entirely when this is missing, whatever `validationSchema` holds.
1091
+ *
1092
+ * This was declared `responseSchema: unknown` -- required, and typed as nothing. `unknown` admits
1093
+ * `undefined`, so "required" only ever forced the KEY to be written, and `createLLMCallTool`
1094
+ * writes it as `undefined` on every call where the model supplies no usable schema. There was no
1095
+ * type error available for that, and three separate layers re-derived the same nullability at
1096
+ * runtime under three different rules -- truthiness in the pipeline, an object check in the
1097
+ * validator, and a `'type'`-key check in the tool. Because the pipeline's was truthiness, `null`,
1098
+ * `0` and `''` all quietly meant "no structured output" while the type insisted a schema was
1099
+ * mandatory. Optional-and-typed is what those three were compensating for.
1100
+ */
1101
+ responseSchema?: JsonSchema;
1057
1102
  /** Maximum output tokens per LLM call. NOT the model's context window — see ModelInfo.maxTokens for that. */
1058
1103
  maxOutputTokens?: number;
1059
1104
  temperature?: number;
1060
1105
  topP?: number;
1061
1106
  signal?: AbortSignal;
1107
+ /**
1108
+ * Caller-supplied acceptance step (Wave D2b / decision A15). A pipeline-aware adapter
1109
+ * (`UniversalLLMAdapter`, via `runGeneratePipeline`) runs this once per retry attempt, right
1110
+ * after the response has passed `responseSchema` validation. Throw to reject the attempt --
1111
+ * rejection is classified exactly like a thrown `LLMResponseParseError` from
1112
+ * `validateResponseSchema`: retryable, no circuit-breaker verdict, and the attempt is recorded as
1113
+ * a failure (`ai_calls` validation-failure row) rather than a clean success. Returning normally
1114
+ * (including `undefined`) accepts the response.
1115
+ *
1116
+ * Optional, and a HINT rather than a dependency -- an adapter that does not read this field
1117
+ * simply ignores it, so a caller must not assume it ran:
1118
+ * - A bare test-stub `LLMAdapter` (many exist in this codebase) does not invoke it.
1119
+ * - `PostMessageLLMAdapter` (`packages/sdk/src/worker/llm-adapter.ts`) cannot forward it at all --
1120
+ * functions cannot be structured-cloned across the worker `postMessage` boundary, so its
1121
+ * `params` object is built from an explicit allowlist that omits `accept`. The field is dropped
1122
+ * before `postMessage` is ever called (no `DataCloneError`), and the parent-side handler that
1123
+ * fulfils the call (`tool-dispatcher.ts`'s `case 'llm'`) rebuilds its own `LLMGenerateRequest`
1124
+ * from that allowlisted payload, so there is nothing to forward even in principle. This is the
1125
+ * path every deployed org-bundle agent and the `command-center-assistant` static module run
1126
+ * through today -- `accept` does not reach their retry loop.
1127
+ *
1128
+ * This is not a validation mechanism on its own: it does not decide whether output is acceptable,
1129
+ * the caller's function does, by throwing or not. `callLLMForAgentIteration`
1130
+ * (`execution/engine/agent/reasoning/adapters/agent-adapter-helpers.ts`) passes its Zod parse of
1131
+ * the iteration response as this field, so a malformed-but-schema-valid iteration is re-sampled
1132
+ * inside the retry loop instead of losing the turn -- for the in-process callers that can see it.
1133
+ */
1134
+ accept?: (output: unknown) => void;
1135
+ /**
1136
+ * The schema the RESPONSE is validated against, when that must differ from the schema the
1137
+ * provider was asked to sample against. Defaults to `responseSchema` when omitted.
1138
+ *
1139
+ * **This does not affect what is sent to the provider.** `responseSchema` remains the only schema
1140
+ * an adapter puts on the wire; this one is read solely by `runGeneratePipeline`'s validation step.
1141
+ * Whether validation happens at all is still decided by `responseSchema` -- a request with no
1142
+ * `responseSchema` is unstructured and stays unvalidated, whatever this field holds.
1143
+ *
1144
+ * A caller may legitimately ACCEPT A SUPERSET of what it ASKS FOR -- a document that validates a
1145
+ * response more leniently than the one the provider was asked to sample against. No caller in this
1146
+ * codebase supplies one today (agent iterations validate with a single Zod parse instead, see
1147
+ * `agent-adapter-helpers.ts`), but the mechanism stays: `validateResponseSchema` does not descend
1148
+ * into `anyOf`/`oneOf` regardless of which document is supplied here, so this field only ever
1149
+ * changes which top-level/required/type keywords are checked, never which acceptance contract a
1150
+ * union is read as.
1151
+ *
1152
+ * Unlike `accept` above, this is DATA. It is structured-cloneable, so it survives the worker
1153
+ * `postMessage` boundary that drops `accept`: `PostMessageLLMAdapter` forwards it in its params
1154
+ * allowlist and `tool-dispatcher.ts`'s `case 'llm'` puts it back on the `LLMGenerateRequest` it
1155
+ * rebuilds parent-side. That is why a divergence expressible as a schema belongs here rather than
1156
+ * in a callback -- deployed org-bundle agents run on the far side of that boundary.
1157
+ */
1158
+ validationSchema?: JsonSchema;
1062
1159
  }
1063
1160
  /**
1064
1161
  * Generic LLM generation response
1065
- * Usage field is internal-only (stripped by UniversalLLMAdapter wrapper)
1162
+ * `usage`, `cost`, `strictStatus` and `strictRefusalReasons` are observability fields. They are
1163
+ * **read** by `UniversalLLMAdapter` and lifted onto the `ai_calls` row; they are **not removed**.
1164
+ * The wrapper returns the base adapter's response object as-is, so a caller can observe all four.
1165
+ * Earlier revisions of this file claimed they were stripped — they never were.
1066
1166
  */
1067
1167
  interface LLMGenerateResponse<T = unknown> {
1068
1168
  output: T;
@@ -1070,35 +1170,53 @@ interface LLMGenerateResponse<T = unknown> {
1070
1170
  inputTokens: number;
1071
1171
  outputTokens: number;
1072
1172
  totalTokens: number;
1173
+ /**
1174
+ * Anthropic-only: input tokens served from the prompt cache (`cache_read_input_tokens`), billed
1175
+ * at 0.1x the base input rate. Optional so OpenAI/OpenRouter usage objects, which never report
1176
+ * this, stay valid -- absent means "this provider doesn't report it," not "zero were read."
1177
+ */
1178
+ cacheReadInputTokens?: number;
1179
+ /**
1180
+ * Anthropic-only: input tokens written to the prompt cache this call
1181
+ * (`cache_creation_input_tokens`), billed at 1.25x the base input rate. Same optionality
1182
+ * rationale as `cacheReadInputTokens`.
1183
+ */
1184
+ cacheCreationInputTokens?: number;
1073
1185
  };
1074
1186
  cost?: number;
1075
1187
  /**
1076
- * What actually happened to `strict` on the request that produced this response. Every server
1077
- * adapter sets it on every call, so the value is a statement rather than an inference:
1188
+ * What actually happened to `strict` on the request that produced this response.
1078
1189
  *
1079
1190
  * - `applied` — the request carried `strict: true` and the grammar was in effect
1080
- * - `refused` — `toStrictSchema` could not express the schema, so the request went out unstrict
1081
- * - `compileRejected` — the schema passed `toStrictSchema` but the provider's grammar compiler
1191
+ * - `refused` — `compileSchema` could not express the schema, so the request went out unstrict
1192
+ * - `compileRejected` — the schema passed `compileSchema` but the provider's grammar compiler
1082
1193
  * rejected it at request time, and the call was retried unstrict
1083
- * - `notAttempted` — this adapter does not send strict at all (OpenAI, Google, OpenRouter)
1194
+ * - `notAttempted` — the adapter did not send `strict` on this call
1084
1195
  *
1085
1196
  * This exists because `strictRefusalReasons` alone cannot answer the question. Its absence means
1086
1197
  * "strict held" OR "nothing ever tried", and a prod run that recorded zero refusals while
1087
1198
  * returning an array-typed field as a string is exactly the case where the difference matters.
1088
1199
  *
1089
- * Internal-only, like `usage` `UniversalLLMAdapter` lifts it onto the `ai_calls` row and
1090
- * strips it before the response reaches callers.
1200
+ * **Do not read this as "provider X never sends strict."** It describes one call, not an adapter.
1201
+ * A previous revision of this comment enumerated OpenAI, Google and OpenRouter as adapters that
1202
+ * never send `strict`, which was false for OpenRouter — it sends `strict: true` whenever the
1203
+ * schema compiles, and separately reports `notAttempted`. That producer bug is still live; the
1204
+ * fix is to make the value a return of schema compilation rather than a per-adapter literal.
1205
+ * `MockAdapter` sets no value at all, so absence does not imply `notAttempted` either.
1206
+ *
1207
+ * Observability only — `UniversalLLMAdapter` lifts it onto the `ai_calls` row. It is not removed
1208
+ * from the response.
1091
1209
  */
1092
1210
  strictStatus?: StrictStatus;
1093
1211
  /**
1094
1212
  * Why this call went out WITHOUT `strict`, on an adapter that tried to send it with one.
1095
1213
  *
1096
1214
  * The detail behind a `refused` / `compileRejected` `strictStatus` — the short, stable reason
1097
- * strings `toStrictSchema` computes. Read `strictStatus` to answer "was it enforced"; read this
1215
+ * strings `compileSchema` computes. Read `strictStatus` to answer "was it enforced"; read this
1098
1216
  * to answer "why not".
1099
1217
  *
1100
- * Internal-only, like `usage` — `UniversalLLMAdapter` lifts it onto the `ai_calls` row and
1101
- * strips it before the response reaches callers.
1218
+ * Observability only — `UniversalLLMAdapter` lifts it onto the `ai_calls` row. It is not removed
1219
+ * from the response.
1102
1220
  */
1103
1221
  strictRefusalReasons?: string[];
1104
1222
  }
@@ -1131,7 +1249,7 @@ interface LLMAdapter {
1131
1249
  * Use-case agnostic types that describe the purpose of each entry
1132
1250
  * Memory types mirror action types for clarity and filtering
1133
1251
  */
1134
- type MemoryEntryType = 'context' | 'input' | 'reasoning' | 'tool-result' | 'delegation-result' | 'error';
1252
+ type MemoryEntryType = 'context' | 'input' | 'reasoning' | 'tool-result' | 'error';
1135
1253
  /**
1136
1254
  * Who authored an entry's content.
1137
1255
  *
@@ -1160,6 +1278,14 @@ interface MemoryEntry {
1160
1278
  * starting the agent with empty memory rather than throwing.
1161
1279
  */
1162
1280
  source?: MemoryEntrySource;
1281
+ /**
1282
+ * Which tool produced this entry. Set on `tool-result` entries so the model can tell N parallel
1283
+ * results apart -- the framework instructs batching independent tool calls in one iteration, and
1284
+ * an anonymous result is unattributable the moment two land in the same iteration. `addToolError`
1285
+ * already carries this (folded into its `content` JSON); this is the same fact for the success
1286
+ * path, carried as a real field instead of prose the caller has to parse back out.
1287
+ */
1288
+ toolName?: string;
1163
1289
  }
1164
1290
  /**
1165
1291
  * Agent memory - Self-orchestrated memory with session + working storage
@@ -1186,7 +1312,6 @@ interface AgentMemory {
1186
1312
  interface MemoryStatus {
1187
1313
  sessionMemoryKeys: number;
1188
1314
  sessionMemoryLimit: number;
1189
- currentKeys: string[];
1190
1315
  sessionMemoryTokens: number;
1191
1316
  sessionMemoryTokenLimit: number;
1192
1317
  /**
@@ -1195,10 +1320,26 @@ interface MemoryStatus {
1195
1320
  * read as history pressure and triggered history compaction that could not relieve it.
1196
1321
  */
1197
1322
  historyPercent: number;
1323
+ /**
1324
+ * Tokens the history entries **in scope for the requested turn** occupy — the same set
1325
+ * `toContextParts` puts in the envelope. Equal to `storedHistoryTokens` when `getStatus` is
1326
+ * called without a turn.
1327
+ *
1328
+ * This is the number the model is shown, and it is scoped because the model is handed a scoped
1329
+ * set. Counting the whole cross-turn array here meant the framing quoted the size of a store
1330
+ * while the envelope beside it carried one turn's worth of it.
1331
+ */
1198
1332
  historyTokens: number;
1333
+ /**
1334
+ * Tokens the **entire** history array occupies, across every turn the session snapshot restored.
1335
+ *
1336
+ * This is what compaction measures, because compaction trims that array. Scoping it to a turn
1337
+ * would let the store grow without bound whenever the current turn happened to be small.
1338
+ */
1339
+ storedHistoryTokens: number;
1340
+ /** `storedHistoryTokens` as a percentage of `historyBudget`. The auto-compaction trigger. */
1341
+ storedHistoryPercent: number;
1199
1342
  historyBudget: number;
1200
- totalTokens: number;
1201
- tokenBudget: number;
1202
1343
  }
1203
1344
  /**
1204
1345
  * Memory constraints (optional limits)
@@ -1280,6 +1421,14 @@ declare class MemoryManager {
1280
1421
  * are not. Eviction is oldest-first by timestamp, matching the key-count path, and always
1281
1422
  * leaves at least one entry so a single oversized key degrades to "one key" rather than to
1282
1423
  * "memory silently emptied".
1424
+ *
1425
+ * The running total is **recomputed** from the survivors rather than decremented per entry.
1426
+ * `getStatus` estimates the pool as a ceiling of the joined sum, and a per-entry decrement is a
1427
+ * sum of ceilings — the larger of the two by up to one token per key. The running total therefore
1428
+ * fell faster than the pool did, and the loop could exit reporting a fit while the very next
1429
+ * `getStatus` still read over the limit. Recomputing makes the loop's exit condition and the
1430
+ * number it is judged by the same expression. The pool is capped at `MAX_SESSION_MEMORY_KEYS`
1431
+ * entries, so the extra passes are bounded and cheap.
1283
1432
  */
1284
1433
  private enforceSessionMemoryTokenLimit;
1285
1434
  /**
@@ -1289,9 +1438,13 @@ declare class MemoryManager {
1289
1438
  getHistoryLength(): number;
1290
1439
  /**
1291
1440
  * Get memory status for agent awareness
1441
+ *
1442
+ * @param currentTurn - Turn to scope `historyTokens` / `historyPercent` to. Omit to measure the
1443
+ * whole store, which is what the compaction paths want. Callers building something the model
1444
+ * reads should pass it, so the count describes the set the model is actually handed.
1292
1445
  * @returns Memory status with token usage and key counts
1293
1446
  */
1294
- getStatus(): MemoryStatus;
1447
+ getStatus(currentTurn?: number): MemoryStatus;
1295
1448
  /**
1296
1449
  * Create memory snapshot for persistence
1297
1450
  * Caches snapshot internally for later retrieval
@@ -1330,87 +1483,6 @@ declare class MemoryManager {
1330
1483
  toContextParts(currentIteration: number, currentTurn?: number): MemoryContextParts;
1331
1484
  }
1332
1485
 
1333
- /**
1334
- * Knowledge Map Types
1335
- *
1336
- * Enables agents to navigate organizational knowledge through a lightweight
1337
- * graph that lazy-loads capabilities on-demand.
1338
- *
1339
- * @module agent/knowledge-map
1340
- */
1341
-
1342
- /**
1343
- * Lightweight knowledge map (passed as agent property)
1344
- *
1345
- * Contains metadata about available knowledge nodes without loading
1346
- * the full content upfront. Total size: ~300-500 tokens.
1347
- *
1348
- * Multi-tenancy is enforced via:
1349
- * - File-scoped maps (organizations/{org-name}/knowledge/)
1350
- * - ExecutionContext.organizationId passed to node.load()
1351
- */
1352
- interface KnowledgeMap {
1353
- /** Available knowledge nodes indexed by ID */
1354
- nodes: Record<string, KnowledgeNode>;
1355
- }
1356
- /**
1357
- * Single knowledge source
1358
- *
1359
- * Represents a domain knowledge area (CRM, brand guidelines, Excel tools)
1360
- * that can be lazy-loaded to provide instructions and tools to agents.
1361
- */
1362
- interface KnowledgeNode {
1363
- /** Unique identifier for this node (e.g., "crm", "brand-guidelines") */
1364
- id: string;
1365
- /**
1366
- * Description of when to use this knowledge
1367
- * Used for semantic matching against user intent
1368
- */
1369
- description: string;
1370
- /**
1371
- * Load knowledge content on-demand
1372
- *
1373
- * @param context - Execution context with organizationId for multi-tenancy
1374
- * @returns Promise resolving to knowledge content (prompt + optional tools)
1375
- */
1376
- load(context: ExecutionContext): Promise<KnowledgeContent>;
1377
- /**
1378
- * Loaded state flag
1379
- * Set to true after load() is called
1380
- */
1381
- loaded?: boolean;
1382
- /**
1383
- * Cached prompt (for system prompt serialization)
1384
- * Only the prompt is cached - tools go to toolRegistry, children flattened to nodes
1385
- */
1386
- prompt?: string;
1387
- }
1388
- /**
1389
- * Content returned by knowledge node
1390
- *
1391
- * Separates instructions (prompt) from capabilities (tools).
1392
- * Tools are optional - some nodes only provide context.
1393
- *
1394
- * Supports recursive navigation - nodes can contain child nodes
1395
- * that are discovered when the parent node is loaded.
1396
- */
1397
- interface KnowledgeContent {
1398
- /** Instructions and context (markdown format) */
1399
- prompt: string;
1400
- /** Tool implementations (optional) */
1401
- tools?: Tool[];
1402
- /**
1403
- * Child knowledge nodes (optional, recursive)
1404
- *
1405
- * Enables hierarchical navigation: base → specialized → deep expertise.
1406
- * Child nodes are flattened into the main knowledge map when parent loads,
1407
- * making them available for subsequent navigate-knowledge actions.
1408
- *
1409
- * Example: CRM base node returns crm-customers and crm-deals as children
1410
- */
1411
- nodes?: Record<string, KnowledgeNode>;
1412
- }
1413
-
1414
1486
  /**
1415
1487
  * Agent-specific type definitions
1416
1488
  * Types for autonomous agents with tools, memory, and constraints
@@ -1487,11 +1559,6 @@ interface AgentDefinition {
1487
1559
  * Specifies provider, API key, and model-specific options
1488
1560
  */
1489
1561
  modelConfig: ModelConfig;
1490
- /**
1491
- * Optional knowledge map for lazy-loading capabilities
1492
- * Enables agents to navigate organizational knowledge on-demand
1493
- */
1494
- knowledgeMap?: KnowledgeMap;
1495
1562
  /**
1496
1563
  * Preload memory before execution starts
1497
1564
  * Handles BOTH context loading AND session restoration
@@ -1525,7 +1592,6 @@ interface IterationContext {
1525
1592
  logger: AgentScopedLogger;
1526
1593
  modelConfig: ModelConfig;
1527
1594
  adapterFactory: LLMAdapterFactory;
1528
- knowledgeMap?: KnowledgeMap;
1529
1595
  /**
1530
1596
  * The validated input for this execution, serialized. It travels here because the model gets
1531
1597
  * it as its own `role:'user'` message; nothing else in this context carried it, so the input
@@ -11230,6 +11296,17 @@ interface BaseAICall {
11230
11296
  costUsd: number;
11231
11297
  latencyMs: number;
11232
11298
  context?: AICallContext;
11299
+ /**
11300
+ * Anthropic-only: input tokens served from the prompt cache this call (`cache_read_input_tokens`),
11301
+ * billed at 0.1x the base input rate. Already folded into `inputTokens`/`totalInputTokens` so
11302
+ * aggregate totals reflect real usage -- present here as the raw breakdown, not additive on top.
11303
+ */
11304
+ cacheReadInputTokens?: number;
11305
+ /**
11306
+ * Anthropic-only: input tokens written to the prompt cache this call (`cache_creation_input_tokens`),
11307
+ * billed at 1.25x the base input rate. Same folding rationale as `cacheReadInputTokens`.
11308
+ */
11309
+ cacheCreationInputTokens?: number;
11233
11310
  /**
11234
11311
  * Distinct prompt-injection pattern types detected in the request's user-role messages.
11235
11312
  * Present only when the input sanitizer matched something. Non-blocking matches ride along on
@@ -11295,6 +11372,41 @@ interface BaseAICall {
11295
11372
  * Existing readers that only look at the fields above are unaffected.
11296
11373
  */
11297
11374
  strictRefusalReasons?: string[];
11375
+ /**
11376
+ * Time spent in the base adapter's `generate()` call alone, excluding `responseSchema`
11377
+ * validation. On a success or validation-failure row, `providerMs + validateMs === latencyMs`
11378
+ * (modulo rounding) -- `latencyMs` keeps its existing meaning unchanged; this and `validateMs`
11379
+ * are the same window split into its two components.
11380
+ *
11381
+ * Present on success and validation-failure rows. Absent on a blocked row (no provider call was
11382
+ * made) and on rows written before this field existed.
11383
+ */
11384
+ providerMs?: number;
11385
+ /**
11386
+ * Time spent in `validateResponseSchema` alone. Omitted when the call carried no `responseSchema`
11387
+ * (nothing to validate); `0` is a legitimate value meaning a schema was supplied and validation
11388
+ * was effectively instant. See `providerMs` for how the two relate to `latencyMs`.
11389
+ *
11390
+ * Present on success and validation-failure rows that supplied a `responseSchema`. Absent on a
11391
+ * blocked row and on rows written before this field existed.
11392
+ */
11393
+ validateMs?: number;
11394
+ /**
11395
+ * Total elapsed time for the WHOLE `generate()` call -- every retry attempt plus every backoff
11396
+ * sleep between them. Unlike `latencyMs` (which is per-attempt and never includes backoff, by
11397
+ * design -- see `runWithRetry`), this is the one number that answers "how long did the caller
11398
+ * actually wait". On a call that never retried, `wallClockMs === latencyMs`. On a retried call,
11399
+ * `wallClockMs` is strictly greater than any individual row's `latencyMs` from that same call, by
11400
+ * at least the backoff time actually slept.
11401
+ *
11402
+ * The same value is attached to every row produced by one `generate()` call (a validation-failure
11403
+ * row from an earlier attempt included), because it describes the call, not the attempt.
11404
+ *
11405
+ * Present on success and validation-failure rows. Absent on a blocked row -- a blocked call never
11406
+ * reaches the retry loop, so `wallClockMs` would just restate `latencyMs` (0). Absent on rows
11407
+ * written before this field existed.
11408
+ */
11409
+ wallClockMs?: number;
11298
11410
  }
11299
11411
  type AICallContext = AgentReasoningContext | AgentCompletionContext | WorkflowStepContext | ToolCallContext | OtherCallContext;
11300
11412
  interface AgentReasoningContext {
@@ -11340,6 +11452,16 @@ interface LLMUsageData {
11340
11452
  latencyMs: number;
11341
11453
  /** Actual cost from provider in USD (when available, e.g., OpenRouter) */
11342
11454
  cost?: number;
11455
+ /**
11456
+ * Anthropic-only: input tokens served from the prompt cache (`cache_read_input_tokens`), billed at
11457
+ * 0.1x the base input rate. Absent for providers that never report it (OpenAI, OpenRouter).
11458
+ */
11459
+ cacheReadInputTokens?: number;
11460
+ /**
11461
+ * Anthropic-only: input tokens written to the prompt cache this call
11462
+ * (`cache_creation_input_tokens`), billed at 1.25x the base input rate. Same absence rationale.
11463
+ */
11464
+ cacheCreationInputTokens?: number;
11343
11465
  /** Distinct prompt-injection pattern types detected in the request's user-role messages */
11344
11466
  inputWarnings?: string[];
11345
11467
  /** Additive per-source breakdown of `inputWarnings` — see `SourcedInputWarnings` */
@@ -11354,6 +11476,12 @@ interface LLMUsageData {
11354
11476
  strictStatus?: StrictStatus;
11355
11477
  /** Why the call went out unstrict, when a strict-capable adapter refused the schema */
11356
11478
  strictRefusalReasons?: string[];
11479
+ /** Time in the base adapter's `generate()` alone, excluding `responseSchema` validation. See `BaseAICall.providerMs`. */
11480
+ providerMs?: number;
11481
+ /** Time in `validateResponseSchema` alone. Omitted when no `responseSchema` was supplied. See `BaseAICall.validateMs`. */
11482
+ validateMs?: number;
11483
+ /** Total elapsed for the whole `generate()` call, including every retry and every backoff sleep. See `BaseAICall.wallClockMs`. */
11484
+ wallClockMs?: number;
11357
11485
  }
11358
11486
  interface AIUsageSummary {
11359
11487
  model: LLMModel;
@@ -11908,7 +12036,6 @@ interface CommandViewAgent extends ResourceDefinition {
11908
12036
  modelProvider: string;
11909
12037
  modelId: string;
11910
12038
  toolCount: number;
11911
- hasKnowledgeMap: boolean;
11912
12039
  hasMemory: boolean;
11913
12040
  sessionCapable: boolean;
11914
12041
  }
@@ -12399,19 +12526,17 @@ declare function validateDeclaredSystemInterfaceReadiness(orgName: string, organ
12399
12526
  * Types are shared with the server-side LLM engine and inlined for SDK consumers.
12400
12527
  */
12401
12528
 
12402
- type LLMProvider = 'openai' | 'anthropic' | 'openrouter' | 'google';
12529
+ type LLMProvider = 'openai' | 'anthropic' | 'openrouter';
12403
12530
  /**
12404
12531
  * SDK LLM generate params.
12405
12532
  * Extends LLMGenerateRequest with required provider/model for worker→platform dispatch.
12406
12533
  * Provider and model must always be specified explicitly — no implicit fallback.
12407
12534
  */
12408
- interface SDKLLMGenerateParams extends Omit<LLMGenerateRequest, 'signal' | 'responseSchema'> {
12535
+ interface SDKLLMGenerateParams extends Omit<LLMGenerateRequest, 'signal'> {
12409
12536
  /** LLM provider */
12410
12537
  provider: LLMProvider;
12411
12538
  /** Model identifier — must be a supported LLMModel */
12412
12539
  model: LLMModel;
12413
- /** JSON Schema for structured output (optional — omit for unstructured text) */
12414
- responseSchema?: unknown;
12415
12540
  }
12416
12541
 
12417
12542
  type ResourceStatus = 'dev' | 'prod';
@@ -12972,4 +13097,4 @@ declare const ListBuilderStageKeySchema: z.ZodString;
12972
13097
  type ListBuilderStageKey = z.infer<typeof ListBuilderStageKeySchema>;
12973
13098
 
12974
13099
  export { ActivityEventSchema, BuildPlanSnapshotStepSchema, ProspectingBuildTemplateSchema as BuildTemplateSchema, ContractRefResolutionError, CrmStageKeySchema, CrmStateKeySchema, EmailSchema, ExecutionError, ListBuilderStageKeySchema, ProcessingStageStatusSchema, RegistryValidationError, ResourceRegistry, StepType, ToolingError, bindResourceDescriptor, compileBusinessOntologyValidationIndex, concurrentPool, createLeadGenStageValidators, defineContract, defineResource, defineResourceOntology, defineResources, defineStep, defineTopology, defineTopologyRelationship, defineWorkflow, defineWorkflowConfig, deriveActions, diagnosticOutput, integrationInput, isBuiltInReadinessProfile, isZodType, lookupReadinessProfile, parseTopologyNodeRef, profileForInterface, projectDeploymentSpec, projectTopologyRelationships, registerReadinessProfile, resolveContractRef, runDiagnostic, splitName, toSdkResourceDescriptor, topologyRef, topologyRelationship, validateDeclaredSystemInterfaceReadiness, validateResourceGovernance, withPlatformAgentResourceDescriptor, withPlatformAgentResourceDescriptors, withPlatformIntegrationResourceDescriptor, withPlatformIntegrationResourceDescriptors, withPlatformResourceDescriptor, withPlatformResourceDescriptors };
12975
- export type { AbsoluteScheduleConfig, AcqCompany, AcqContact, AcqDeal, AcqDealRow, AcqList, Action$1 as Action, ActionDef, ActivityEvent, AddToCampaignLead, AddToCampaignParams, AddToCampaignResult, AgentConfig, AgentConstraints, AgentDefinition, AgentMemory, AgentResourceDescriptorResolver, FindCompanyEmailParams as AnymailfinderFindCompanyEmailParams, FindCompanyEmailResult as AnymailfinderFindCompanyEmailResult, FindDecisionMakerEmailParams as AnymailfinderFindDecisionMakerEmailParams, FindDecisionMakerEmailResult as AnymailfinderFindDecisionMakerEmailResult, FindPersonEmailParams as AnymailfinderFindPersonEmailParams, FindPersonEmailResult as AnymailfinderFindPersonEmailResult, AnymailfinderToolMap, VerifyEmailParams as AnymailfinderVerifyEmailParams, VerifyEmailResult as AnymailfinderVerifyEmailResult, ApifyToolMap, ApifyWebhookConfig, AppendRowsParams, AppendRowsResult, ApprovalToolMap, AttioToolMap, BatchUpdateParams, BatchUpdateResult, BuildPlanSnapshotStep, BulkDeleteLeadsParams, BulkDeleteLeadsResult, BulkImportParams, BulkImportResult, BusinessOntologyValidationIndex, CancelHitlByDealIdParams, CancelSchedulesAndHitlByEmailParams, ClearDealFieldsParams, ClearRangeParams, ClearRangeResult, ClickUpToolMap, CompanyFilters, ConcurrentPoolOptions, ConcurrentPoolResult, ConditionalNext, ContactFilters, Contract, ContractRefResolutionErrorCode, ContractRegistry, CreateAttributeParams, CreateAttributeResult, CreateAutoPaymentLinkParams, CreateAutoPaymentLinkResult, CreateCheckoutSessionParams, CreateCheckoutSessionResult, CreateCompanyParams, CreateContactParams, CreateEnvelopeParams, CreateEnvelopeResult, CreateFolderParams, CreateFolderResult, CreateListParams, CreateNoteParams, CreateNoteResult, CreatePaymentLinkParams, CreatePaymentLinkResult, CreateRecordParams, CreateRecordResult, CreateScheduleInput, CrmStageKey, CrmStateKey, CrmToolMap, DeleteDealParams, DeleteNoteParams, DeleteNoteResult, DeleteRecordParams, DeleteRecordResult, DeleteRowByValueParams, DeleteRowByValueResult, DeploymentSpec, DiagnosticOutput, DownloadDocumentParams, DownloadDocumentResult, DropboxToolMap, ElevasConfig, EmailToolMap, EnvelopeDocument, EventTriggerConfig, ExecutionContext, ExecutionInterface, ExecutionMetadata, ExecutionToolMap, FilterExpression, FilterRowsParams, FilterRowsResult, FormField, FormFieldType, FormSchema, GetDailyCampaignAnalyticsParams, GetDailyCampaignAnalyticsResult, GetEmailsParams, GetEmailsResult, GetEnvelopeParams, GetEnvelopeResult, GetHeadersParams, GetHeadersResult, GetLastRowParams, GetLastRowResult, GetPaymentLinkParams, GetPaymentLinkResult, GetRecordParams, GetRecordResult, GetRowByValueParams, GetRowByValueResult, GetSpreadsheetMetadataParams, GetSpreadsheetMetadataResult, GmailSendEmailParams, GmailSendEmailResult, GmailToolMap, GoogleSheetsToolMap, HumanCheckpointDefinition, InstantlyToolMap, IntegrationDefinition, IntegrationResourceDescriptorResolver, LLMAdapterFactory, LLMGenerateRequest, LLMGenerateResponse, LLMMessage, LLMModel, LeadGenStageValidators, LeadToolMap, LinearNext, ListAttributesParams, ListAttributesResult, ListBuilderStageKey, ListBuilderStep, ListLeadsParams, ListLeadsResult, ListNotesParams, ListNotesResult, ListObjectsResult, ListPaymentLinksParams, ListPaymentLinksResult, ListToolMap, MarkProposalReviewedParams, MarkProposalSentParams, MethodEntry, MillionVerifierToolMap, ModelConfig, NextConfig, NotificationSDKInput, NotificationToolMap, OrganizationModelAgentResourceEntry, OrganizationModelIntegrationResourceEntry, OrganizationModelResourceEntry, OrganizationModelResourceOntologyBinding, OrganizationModelTopology, OrganizationModelTopologyNodeRef, OrganizationModelTopologyRelationship, OrganizationModelWorkflowResourceEntry, PaginatedResult, PaginationParams, PdfToolMap, ProcessingStageStatus, ProjectDeploymentSpecOptions, ProjectsToolMap, QueryRecordsParams, QueryRecordsResult, ReadSheetParams, ReadSheetResult, ReadinessProfileEntry, ReadinessProfileKind, Recipient, RecurringScheduleConfig, RelationshipDeclaration, RelativeScheduleConfig, RemoveFromSubsequenceParams, RemoveFromSubsequenceResult, ResendGetEmailParams, ResendGetEmailResult, ResendSendEmailParams, ResendSendEmailResult, ResendToolMap, ResolvedContractRef, ResourceCategory, ResourceDefinition, ResourceLink, ResourceMetricsConfig, ResourceOntologyBindingResolver, ResourceRelationships, ResourceStatus$1 as ResourceStatus, ResourceType, RunActorParams, RunActorResult, SDKLLMGenerateParams, ScheduleOriginTracking, ScheduleTarget, ScheduleTriggerConfig, SchedulerToolMap, SendReplyParams, SendReplyResult, SetContactNurtureParams, SheetInfo, SignatureApiFieldType, SignatureApiToolMap, SigningPlace, SortCriteria, StartActorParams, StartActorResult, StepHandler, StorageDeleteInput, StorageDeleteOutput, StorageDownloadInput, StorageDownloadOutput, StorageListInput, StorageListOutput, StorageSignedUrlInput, StorageSignedUrlOutput, StorageToolMap, StorageUploadInput, StorageUploadOutput, StripeToolMap, SystemApiInterfaceReadinessContract, TaskSchedule, TaskScheduleConfig, TombaToolMap, Tool, ToolExecutionOptions, ToolMethodMap, ToolingErrorType, TransitionItemParams, TriggerConfig, TriggerDefinition, UpdateAttributeParams, UpdateAttributeResult, UpdateCloseLostReasonParams, UpdateCompanyParams, UpdateContactParams, UpdateDiscoveryDataParams, UpdateFeesParams, UpdateInterestStatusParams, UpdateInterestStatusResult, UpdateListParams, UpdatePaymentLinkParams, UpdatePaymentLinkResult, UpdateProposalDataParams, UpdateRecordParams, UpdateRecordResult, UpdateRowByValueParams, UpdateRowByValueResult, UploadFileParams, UploadFileResult, UpsertCompanyParams, UpsertContactParams, UpsertDealParams, UpsertRowParams, UpsertRowResult, VoidEnvelopeParams, VoidEnvelopeResult, WebhookProviderType, WebhookTriggerConfig, WorkflowConfig, WorkflowConfigActionRegistry, WorkflowDefinition, WorkflowLogger, WorkflowResourceDescriptorMap, WorkflowResourceDescriptorResolver, WorkflowStep, WriteSheetParams, WriteSheetResult };
13100
+ export type { AbsoluteScheduleConfig, AcqCompany, AcqContact, AcqDeal, AcqDealRow, AcqList, Action$1 as Action, ActionDef, ActivityEvent, AddToCampaignLead, AddToCampaignParams, AddToCampaignResult, AgentConfig, AgentConstraints, AgentDefinition, AgentMemory, AgentResourceDescriptorResolver, FindCompanyEmailParams as AnymailfinderFindCompanyEmailParams, FindCompanyEmailResult as AnymailfinderFindCompanyEmailResult, FindDecisionMakerEmailParams as AnymailfinderFindDecisionMakerEmailParams, FindDecisionMakerEmailResult as AnymailfinderFindDecisionMakerEmailResult, FindPersonEmailParams as AnymailfinderFindPersonEmailParams, FindPersonEmailResult as AnymailfinderFindPersonEmailResult, AnymailfinderToolMap, VerifyEmailParams as AnymailfinderVerifyEmailParams, VerifyEmailResult as AnymailfinderVerifyEmailResult, ApifyToolMap, ApifyWebhookConfig, AppendRowsParams, AppendRowsResult, ApprovalToolMap, AttioToolMap, BatchUpdateParams, BatchUpdateResult, BuildPlanSnapshotStep, BulkDeleteLeadsParams, BulkDeleteLeadsResult, BulkImportParams, BulkImportResult, BusinessOntologyValidationIndex, CancelHitlByDealIdParams, CancelSchedulesAndHitlByEmailParams, ClearDealFieldsParams, ClearRangeParams, ClearRangeResult, ClickUpToolMap, CompanyFilters, ConcurrentPoolOptions, ConcurrentPoolResult, ConditionalNext, ContactFilters, Contract, ContractRefResolutionErrorCode, ContractRegistry, CreateAttributeParams, CreateAttributeResult, CreateAutoPaymentLinkParams, CreateAutoPaymentLinkResult, CreateCheckoutSessionParams, CreateCheckoutSessionResult, CreateCompanyParams, CreateContactParams, CreateEnvelopeParams, CreateEnvelopeResult, CreateFolderParams, CreateFolderResult, CreateListParams, CreateNoteParams, CreateNoteResult, CreatePaymentLinkParams, CreatePaymentLinkResult, CreateRecordParams, CreateRecordResult, CreateScheduleInput, CrmStageKey, CrmStateKey, CrmToolMap, DeleteDealParams, DeleteNoteParams, DeleteNoteResult, DeleteRecordParams, DeleteRecordResult, DeleteRowByValueParams, DeleteRowByValueResult, DeploymentSpec, DiagnosticOutput, DownloadDocumentParams, DownloadDocumentResult, DropboxToolMap, ElevasConfig, EmailToolMap, EnvelopeDocument, EventTriggerConfig, ExecutionContext, ExecutionInterface, ExecutionMetadata, ExecutionToolMap, FilterExpression, FilterRowsParams, FilterRowsResult, FormField, FormFieldType, FormSchema, GetDailyCampaignAnalyticsParams, GetDailyCampaignAnalyticsResult, GetEmailsParams, GetEmailsResult, GetEnvelopeParams, GetEnvelopeResult, GetHeadersParams, GetHeadersResult, GetLastRowParams, GetLastRowResult, GetPaymentLinkParams, GetPaymentLinkResult, GetRecordParams, GetRecordResult, GetRowByValueParams, GetRowByValueResult, GetSpreadsheetMetadataParams, GetSpreadsheetMetadataResult, GmailSendEmailParams, GmailSendEmailResult, GmailToolMap, GoogleSheetsToolMap, HumanCheckpointDefinition, InstantlyToolMap, IntegrationDefinition, IntegrationResourceDescriptorResolver, JsonSchema, LLMAdapterFactory, LLMGenerateRequest, LLMGenerateResponse, LLMMessage, LLMModel, LeadGenStageValidators, LeadToolMap, LinearNext, ListAttributesParams, ListAttributesResult, ListBuilderStageKey, ListBuilderStep, ListLeadsParams, ListLeadsResult, ListNotesParams, ListNotesResult, ListObjectsResult, ListPaymentLinksParams, ListPaymentLinksResult, ListToolMap, MarkProposalReviewedParams, MarkProposalSentParams, MethodEntry, MillionVerifierToolMap, ModelConfig, NextConfig, NotificationSDKInput, NotificationToolMap, OrganizationModelAgentResourceEntry, OrganizationModelIntegrationResourceEntry, OrganizationModelResourceEntry, OrganizationModelResourceOntologyBinding, OrganizationModelTopology, OrganizationModelTopologyNodeRef, OrganizationModelTopologyRelationship, OrganizationModelWorkflowResourceEntry, PaginatedResult, PaginationParams, PdfToolMap, ProcessingStageStatus, ProjectDeploymentSpecOptions, ProjectsToolMap, QueryRecordsParams, QueryRecordsResult, ReadSheetParams, ReadSheetResult, ReadinessProfileEntry, ReadinessProfileKind, Recipient, RecurringScheduleConfig, RelationshipDeclaration, RelativeScheduleConfig, RemoveFromSubsequenceParams, RemoveFromSubsequenceResult, ResendGetEmailParams, ResendGetEmailResult, ResendSendEmailParams, ResendSendEmailResult, ResendToolMap, ResolvedContractRef, ResourceCategory, ResourceDefinition, ResourceLink, ResourceMetricsConfig, ResourceOntologyBindingResolver, ResourceRelationships, ResourceStatus$1 as ResourceStatus, ResourceType, RunActorParams, RunActorResult, SDKLLMGenerateParams, ScheduleOriginTracking, ScheduleTarget, ScheduleTriggerConfig, SchedulerToolMap, SendReplyParams, SendReplyResult, SetContactNurtureParams, SheetInfo, SignatureApiFieldType, SignatureApiToolMap, SigningPlace, SortCriteria, StartActorParams, StartActorResult, StepHandler, StorageDeleteInput, StorageDeleteOutput, StorageDownloadInput, StorageDownloadOutput, StorageListInput, StorageListOutput, StorageSignedUrlInput, StorageSignedUrlOutput, StorageToolMap, StorageUploadInput, StorageUploadOutput, StripeToolMap, SystemApiInterfaceReadinessContract, TaskSchedule, TaskScheduleConfig, TombaToolMap, Tool, ToolExecutionOptions, ToolMethodMap, ToolingErrorType, TransitionItemParams, TriggerConfig, TriggerDefinition, UpdateAttributeParams, UpdateAttributeResult, UpdateCloseLostReasonParams, UpdateCompanyParams, UpdateContactParams, UpdateDiscoveryDataParams, UpdateFeesParams, UpdateInterestStatusParams, UpdateInterestStatusResult, UpdateListParams, UpdatePaymentLinkParams, UpdatePaymentLinkResult, UpdateProposalDataParams, UpdateRecordParams, UpdateRecordResult, UpdateRowByValueParams, UpdateRowByValueResult, UploadFileParams, UploadFileResult, UpsertCompanyParams, UpsertContactParams, UpsertDealParams, UpsertRowParams, UpsertRowResult, VoidEnvelopeParams, VoidEnvelopeResult, WebhookProviderType, WebhookTriggerConfig, WorkflowConfig, WorkflowConfigActionRegistry, WorkflowDefinition, WorkflowLogger, WorkflowResourceDescriptorMap, WorkflowResourceDescriptorResolver, WorkflowStep, WriteSheetParams, WriteSheetResult };