@quilltap/plugin-types 1.16.2 → 1.17.1

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.
@@ -406,10 +406,42 @@ interface LLMProviderPlugin {
406
406
  */
407
407
  formatTools?: (tool: any, options?: ToolFormatOptions) => any;
408
408
  /**
409
- * Parse provider-specific tool calls from response (optional)
409
+ * Parse provider-specific tool calls from native API response (optional)
410
410
  * @param response Raw API response
411
411
  */
412
412
  parseToolCalls?: (response: any) => ToolCallRequest[];
413
+ /**
414
+ * Check if a text response contains spontaneous tool call markers (optional)
415
+ *
416
+ * Some models emit tool-call-like markup in their text output instead of
417
+ * using the provider's native tool calling mechanism. This is a quick check
418
+ * before full parsing — return true if the text might contain tool calls.
419
+ *
420
+ * Examples: Gemini emitting `<tool_use>`, DeepSeek emitting `<function_calls>`
421
+ *
422
+ * @param text The model's text response content
423
+ */
424
+ hasTextToolMarkers?: (text: string) => boolean;
425
+ /**
426
+ * Parse spontaneous tool calls from response text (optional)
427
+ *
428
+ * Extracts tool calls that models have hallucinated as text markup
429
+ * instead of using native function calling. Returns the same standardized
430
+ * ToolCallRequest[] format as parseToolCalls().
431
+ *
432
+ * @param text The model's text response content
433
+ */
434
+ parseTextToolCalls?: (text: string) => ToolCallRequest[];
435
+ /**
436
+ * Strip spontaneous tool call markers from text for display (optional)
437
+ *
438
+ * Removes tool-call markup so the displayed response is clean.
439
+ * Tool execution status is shown separately in the UI.
440
+ *
441
+ * @param text The model's text response content
442
+ * @returns Cleaned text with markers removed
443
+ */
444
+ stripTextToolMarkers?: (text: string) => string;
413
445
  /**
414
446
  * Get image provider constraints (optional)
415
447
  * Only applicable for providers with imageGeneration capability
@@ -406,10 +406,42 @@ interface LLMProviderPlugin {
406
406
  */
407
407
  formatTools?: (tool: any, options?: ToolFormatOptions) => any;
408
408
  /**
409
- * Parse provider-specific tool calls from response (optional)
409
+ * Parse provider-specific tool calls from native API response (optional)
410
410
  * @param response Raw API response
411
411
  */
412
412
  parseToolCalls?: (response: any) => ToolCallRequest[];
413
+ /**
414
+ * Check if a text response contains spontaneous tool call markers (optional)
415
+ *
416
+ * Some models emit tool-call-like markup in their text output instead of
417
+ * using the provider's native tool calling mechanism. This is a quick check
418
+ * before full parsing — return true if the text might contain tool calls.
419
+ *
420
+ * Examples: Gemini emitting `<tool_use>`, DeepSeek emitting `<function_calls>`
421
+ *
422
+ * @param text The model's text response content
423
+ */
424
+ hasTextToolMarkers?: (text: string) => boolean;
425
+ /**
426
+ * Parse spontaneous tool calls from response text (optional)
427
+ *
428
+ * Extracts tool calls that models have hallucinated as text markup
429
+ * instead of using native function calling. Returns the same standardized
430
+ * ToolCallRequest[] format as parseToolCalls().
431
+ *
432
+ * @param text The model's text response content
433
+ */
434
+ parseTextToolCalls?: (text: string) => ToolCallRequest[];
435
+ /**
436
+ * Strip spontaneous tool call markers from text for display (optional)
437
+ *
438
+ * Removes tool-call markup so the displayed response is clean.
439
+ * Tool execution status is shown separately in the UI.
440
+ *
441
+ * @param text The model's text response content
442
+ * @returns Cleaned text with markers removed
443
+ */
444
+ stripTextToolMarkers?: (text: string) => string;
413
445
  /**
414
446
  * Get image provider constraints (optional)
415
447
  * Only applicable for providers with imageGeneration capability
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { UniversalTool } from './llm/index.mjs';
2
2
  export { AnthropicToolDefinition, AttachmentResults, CacheUsage, EmbeddingOptions, EmbeddingProvider, EmbeddingResult, FileAttachment, GeneratedImage, GoogleToolDefinition, ImageGenParams, ImageGenProvider, ImageGenResponse, JSONSchemaDefinition, LLMMessage, LLMParams, LLMProvider, LLMResponse, LocalEmbeddingProvider, LocalEmbeddingProviderState, ModelMetadata, ModelWarning, ModelWarningLevel, OpenAIToolDefinition, ResponseFormat, StreamChunk, TokenUsage, ToolCall, ToolCallRequest, ToolFormatOptions, ToolResult, isLocalEmbeddingProvider } from './llm/index.mjs';
3
- export { A as AttachmentSupport, C as CheapModelConfig, a as ColorPalette, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, f as ImageStyleInfo, g as InstalledPluginInfo, L as LLMProviderPlugin, M as MessageFormatSupport, h as ModelInfo, i as ModerationCategoryResult, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, r as PluginIconData, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, U as SubsystemOverrides, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, Z as ToolFormatType, _ as Typography } from './index-DDkLUpJf.mjs';
3
+ export { A as AttachmentSupport, C as CheapModelConfig, a as ColorPalette, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, f as ImageStyleInfo, g as InstalledPluginInfo, L as LLMProviderPlugin, M as MessageFormatSupport, h as ModelInfo, i as ModerationCategoryResult, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, r as PluginIconData, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, U as SubsystemOverrides, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, Z as ToolFormatType, _ as Typography } from './index-C2T_GwJc.mjs';
4
4
  export { ApiKeyError, AttachmentError, ConfigurationError, LogContext, LogLevel, ModelNotFoundError, PluginError, PluginLogger, ProviderApiError, RateLimitError, ToolExecutionError, createConsoleLogger, createNoopLogger } from './common/index.mjs';
5
5
 
6
6
  /**
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { UniversalTool } from './llm/index.js';
2
2
  export { AnthropicToolDefinition, AttachmentResults, CacheUsage, EmbeddingOptions, EmbeddingProvider, EmbeddingResult, FileAttachment, GeneratedImage, GoogleToolDefinition, ImageGenParams, ImageGenProvider, ImageGenResponse, JSONSchemaDefinition, LLMMessage, LLMParams, LLMProvider, LLMResponse, LocalEmbeddingProvider, LocalEmbeddingProviderState, ModelMetadata, ModelWarning, ModelWarningLevel, OpenAIToolDefinition, ResponseFormat, StreamChunk, TokenUsage, ToolCall, ToolCallRequest, ToolFormatOptions, ToolResult, isLocalEmbeddingProvider } from './llm/index.js';
3
- export { A as AttachmentSupport, C as CheapModelConfig, a as ColorPalette, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, f as ImageStyleInfo, g as InstalledPluginInfo, L as LLMProviderPlugin, M as MessageFormatSupport, h as ModelInfo, i as ModerationCategoryResult, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, r as PluginIconData, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, U as SubsystemOverrides, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, Z as ToolFormatType, _ as Typography } from './index-COeQUgKb.js';
3
+ export { A as AttachmentSupport, C as CheapModelConfig, a as ColorPalette, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, f as ImageStyleInfo, g as InstalledPluginInfo, L as LLMProviderPlugin, M as MessageFormatSupport, h as ModelInfo, i as ModerationCategoryResult, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, r as PluginIconData, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, U as SubsystemOverrides, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, Z as ToolFormatType, _ as Typography } from './index-aiujxDsP.js';
4
4
  export { ApiKeyError, AttachmentError, ConfigurationError, LogContext, LogLevel, ModelNotFoundError, PluginError, PluginLogger, ProviderApiError, RateLimitError, ToolExecutionError, createConsoleLogger, createNoopLogger } from './common/index.js';
5
5
 
6
6
  /**
@@ -103,6 +103,8 @@ interface ToolCallRequest {
103
103
  name: string;
104
104
  /** Parsed arguments object */
105
105
  arguments: Record<string, unknown>;
106
+ /** Provider-assigned call ID for correlating results to calls (optional for backward compat) */
107
+ callId?: string;
106
108
  }
107
109
  /**
108
110
  * Tool result to send back to the model
@@ -103,6 +103,8 @@ interface ToolCallRequest {
103
103
  name: string;
104
104
  /** Parsed arguments object */
105
105
  arguments: Record<string, unknown>;
106
+ /** Provider-assigned call ID for correlating results to calls (optional for backward compat) */
107
+ callId?: string;
106
108
  }
107
109
  /**
108
110
  * Tool result to send back to the model
@@ -1,2 +1,2 @@
1
- export { $ as AnnotationButton, A as AttachmentSupport, a as ColorPalette, a0 as DialogueDetection, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, g as InstalledPluginInfo, L as LLMProviderPlugin, h as ModelInfo, i as ModerationCategoryResult, a1 as ModerationProviderConfig, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, a2 as RenderingPattern, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, _ as Typography } from '../index-DDkLUpJf.mjs';
1
+ export { $ as AnnotationButton, A as AttachmentSupport, a as ColorPalette, a0 as DialogueDetection, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, g as InstalledPluginInfo, L as LLMProviderPlugin, h as ModelInfo, i as ModerationCategoryResult, a1 as ModerationProviderConfig, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, a2 as RenderingPattern, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, _ as Typography } from '../index-C2T_GwJc.mjs';
2
2
  import '../llm/index.mjs';
@@ -1,2 +1,2 @@
1
- export { $ as AnnotationButton, A as AttachmentSupport, a as ColorPalette, a0 as DialogueDetection, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, g as InstalledPluginInfo, L as LLMProviderPlugin, h as ModelInfo, i as ModerationCategoryResult, a1 as ModerationProviderConfig, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, a2 as RenderingPattern, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, _ as Typography } from '../index-COeQUgKb.js';
1
+ export { $ as AnnotationButton, A as AttachmentSupport, a as ColorPalette, a0 as DialogueDetection, E as Effects, b as EmbeddedFont, c as EmbeddingModelInfo, F as FontDefinition, I as IconProps, d as ImageGenerationModelInfo, e as ImageProviderConstraints, g as InstalledPluginInfo, L as LLMProviderPlugin, h as ModelInfo, i as ModerationCategoryResult, a1 as ModerationProviderConfig, j as ModerationProviderConfigRequirements, k as ModerationProviderMetadata, l as ModerationProviderPlugin, m as ModerationProviderPluginExport, n as ModerationResult, P as PluginAuthor, o as PluginCapability, p as PluginCategory, q as PluginCompatibility, s as PluginManifest, t as PluginPermissions, u as PluginStatus, v as ProviderCapabilities, w as ProviderConfig, x as ProviderConfigRequirements, y as ProviderMetadata, z as ProviderPluginExport, a2 as RenderingPattern, R as RoleplayTemplateConfig, B as RoleplayTemplateMetadata, D as RoleplayTemplatePlugin, G as RoleplayTemplatePluginExport, S as SearchOutput, H as SearchProviderConfig, J as SearchProviderConfigRequirements, K as SearchProviderMetadata, N as SearchProviderPlugin, O as SearchProviderPluginExport, Q as SearchResult, T as Spacing, V as ThemeMetadata, W as ThemePlugin, X as ThemePluginExport, Y as ThemeTokens, _ as Typography } from '../index-aiujxDsP.js';
2
2
  import '../llm/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quilltap/plugin-types",
3
- "version": "1.16.2",
3
+ "version": "1.17.1",
4
4
  "description": "Type definitions for Quilltap plugin development",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",