/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ /** * JSON Schema and TypeScript types for the `state` tool. */ export declare const STATE_TOOL_SCHEMA: { readonly type: "object"; readonly properties: { readonly mode: { readonly type: "string"; readonly enum: readonly ["get", "set", "list", "clear", "budget", "context", "memory", "telemetry", "hooks", "mode", "analytics"]; readonly description: string; }; readonly keys: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "(mode: get) Keys to retrieve from KVState."; }; readonly values: { readonly type: "object"; readonly additionalProperties: true; readonly description: "(mode: set) Key-value pairs to write into KVState."; }; readonly prefix: { readonly type: "string"; readonly description: "(mode: list) Optional prefix filter. Returns only keys starting with this string."; }; readonly view: { readonly type: "string"; readonly enum: readonly ["summary", "full"]; readonly description: "(modes: list, memory, hooks, mode, analytics) Output detail level. Default: summary for inventory/reporting surfaces."; }; readonly clearKeys: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "(mode: clear) Keys to remove from KVState."; }; readonly memoryAction: { readonly type: "string"; readonly enum: readonly ["get", "set", "list"]; readonly description: "(mode: memory) Sub-action: get reads a key, set writes a key, list shows all keys."; }; readonly memoryKey: { readonly type: "string"; readonly description: "(mode: memory, action: get/set) The memory file key (filename without .json extension)."; }; readonly memoryValue: { readonly type: "string"; readonly description: "(mode: memory, action: set) JSON string or plain text to write."; }; readonly hookAction: { readonly type: "string"; readonly enum: readonly ["list", "enable", "disable", "add", "remove"]; readonly description: "(mode: hooks) Sub-action: list all hooks; enable/disable by name; add a new hook; remove by name."; }; readonly hookName: { readonly type: "string"; readonly description: "(mode: hooks, action: enable/disable/remove) Name of the hook to target."; }; readonly hookDefinition: { readonly type: "object"; readonly description: "(mode: hooks, action: add) Hook definition object with eventPattern and hook fields."; readonly properties: { readonly eventPattern: { readonly type: "string"; readonly description: "Event path pattern (e.g. Pre:tool:*)"; }; readonly name: { readonly type: "string"; readonly description: "Unique name for the hook."; }; readonly type: { readonly type: "string"; readonly enum: readonly ["command", "http", "ts"]; readonly description: "Hook type."; }; readonly match: { readonly type: "string"; readonly description: "Event path to match."; }; readonly command: { readonly type: "string"; readonly description: "(type: command) Shell command to run."; }; readonly url: { readonly type: "string"; readonly description: "(type: http) URL to POST to."; }; readonly path: { readonly type: "string"; readonly description: "(type: ts) Path to TypeScript file."; }; readonly description: { readonly type: "string"; readonly description: "Human-readable description."; }; }; readonly additionalProperties: true; }; readonly modeAction: { readonly type: "string"; readonly enum: readonly ["get", "set", "list"]; readonly description: "(mode: mode) Sub-action: get returns current mode; set switches to a named mode; list returns all modes."; }; readonly modeName: { readonly type: "string"; readonly description: "(mode: mode, action: set) Name of the mode to switch to (e.g. default, vibecoding, justvibes)."; }; readonly analyticsAction: { readonly type: "string"; readonly enum: readonly ["record", "query", "summary", "export", "dashboard", "sync"]; readonly description: "(mode: analytics) Sub-action: record a tool call; query by filter; summary aggregation; export as JSON/CSV; dashboard top-level view; sync/persist to disk."; }; readonly analyticsTool: { readonly type: "string"; readonly description: "(mode: analytics, action: record/query) Tool name to record or filter by."; }; readonly analyticsArgs: { readonly type: "object"; readonly additionalProperties: true; readonly description: "(mode: analytics, action: record) Tool args to record."; }; readonly analyticsResult: { readonly type: "object"; readonly additionalProperties: true; readonly description: "(mode: analytics, action: record) Tool result to record."; }; readonly analyticsDuration: { readonly type: "number"; readonly description: "(mode: analytics, action: record) Duration in milliseconds."; }; readonly analyticsTokens: { readonly type: "number"; readonly description: "(mode: analytics, action: record) Token count."; }; readonly analyticsFilter: { readonly type: "object"; readonly additionalProperties: true; readonly description: "(mode: analytics, action: query) Filter object: { tool?, status?, since?, until?, limit? }"; }; readonly analyticsFormat: { readonly type: "string"; readonly enum: readonly ["json", "csv"]; readonly description: "(mode: analytics, action: export) Export format."; }; }; readonly required: readonly ["mode"]; readonly additionalProperties: false; }; /** All valid operation modes for the state tool. */ export type StateMode = 'get' | 'set' | 'list' | 'clear' | 'budget' | 'context' | 'memory' | 'telemetry' | 'hooks' | 'mode' | 'analytics'; /** Memory sub-action. */ export type MemoryAction = 'get' | 'set' | 'list'; /** Hooks sub-action. */ export type HookAction = 'list' | 'enable' | 'disable' | 'add' | 'remove'; /** Mode sub-action. */ export type ModeAction = 'get' | 'set' | 'list'; /** Analytics sub-action. */ export type AnalyticsAction = 'record' | 'query' | 'summary' | 'export' | 'dashboard' | 'sync'; /** Full input shape for the state tool. */ export interface StateInput { mode: StateMode; keys?: string[] | undefined; values?: Record | undefined; prefix?: string | undefined; view?: 'summary' | 'full' | undefined; clearKeys?: string[] | undefined; memoryAction?: MemoryAction | undefined; memoryKey?: string | undefined; memoryValue?: string | undefined; hookAction?: HookAction | undefined; hookName?: string | undefined; hookDefinition?: { eventPattern: string; name?: string | undefined; type: 'command' | 'http' | 'ts'; match: string; command?: string | undefined; url?: string | undefined; path?: string | undefined; description?: string | undefined; [key: string]: unknown; }; modeAction?: ModeAction | undefined; modeName?: string | undefined; analyticsAction?: AnalyticsAction | undefined; analyticsTool?: string | undefined; analyticsArgs?: Record | undefined; analyticsResult?: Record | undefined; analyticsDuration?: number | undefined; analyticsTokens?: number | undefined; analyticsFilter?: Record | undefined; analyticsFormat?: 'json' | 'csv' | undefined; } //# sourceMappingURL=schema.d.ts.map