@cline/shared 0.0.75-nightly.1787107092 → 0.0.76
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/agent.d.ts +24 -1
- package/dist/db/index.js +11 -11
- package/dist/extensions/contribution-registry.d.ts +5 -0
- package/dist/hub.d.ts +73 -3
- package/dist/index.browser.d.ts +3 -2
- package/dist/index.browser.js +19 -19
- package/dist/index.d.ts +3 -2
- package/dist/index.js +31 -31
- package/dist/llms/model-info.d.ts +25 -0
- package/dist/rpc/runtime.d.ts +18 -2
- package/dist/session/runtime-config.d.ts +3 -3
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +1 -1
- package/dist/storage/paths.d.ts +15 -0
- package/dist/tasks.d.ts +156 -0
- package/dist/team/schema.d.ts +12 -12
- package/package.json +1 -1
package/dist/agent.d.ts
CHANGED
|
@@ -214,7 +214,11 @@ export type AgentModelEvent = {
|
|
|
214
214
|
} | {
|
|
215
215
|
type: "tool-result";
|
|
216
216
|
toolCallId: string;
|
|
217
|
-
|
|
217
|
+
/**
|
|
218
|
+
* Declared model tools carry a ModelToolName; provider-executed tools
|
|
219
|
+
* (e.g. the Claude Code CLI's own tools) carry arbitrary names.
|
|
220
|
+
*/
|
|
221
|
+
toolName: string;
|
|
218
222
|
input?: unknown;
|
|
219
223
|
output: unknown;
|
|
220
224
|
isError?: boolean;
|
|
@@ -272,6 +276,13 @@ export interface AgentBeforeToolResult {
|
|
|
272
276
|
reason?: string;
|
|
273
277
|
input?: unknown;
|
|
274
278
|
policy?: ToolPolicy;
|
|
279
|
+
/**
|
|
280
|
+
* Text to inject into the conversation as hook context (e.g. a hook's
|
|
281
|
+
* `contextModification`). Collected across hooks and appended after this
|
|
282
|
+
* iteration's tool results as a `<hook_context>` user message, so the
|
|
283
|
+
* model sees it on the next request.
|
|
284
|
+
*/
|
|
285
|
+
appendContext?: string;
|
|
275
286
|
}
|
|
276
287
|
export interface AgentAfterToolContext {
|
|
277
288
|
snapshot: AgentRuntimeStateSnapshot;
|
|
@@ -287,6 +298,13 @@ export interface AgentAfterToolResult {
|
|
|
287
298
|
stop?: boolean;
|
|
288
299
|
reason?: string;
|
|
289
300
|
result?: AgentToolResult;
|
|
301
|
+
/**
|
|
302
|
+
* Text to inject into the conversation as hook context (e.g. a hook's
|
|
303
|
+
* `contextModification`). Collected across hooks and appended after this
|
|
304
|
+
* iteration's tool results as a `<hook_context>` user message, so the
|
|
305
|
+
* model sees it on the next request.
|
|
306
|
+
*/
|
|
307
|
+
appendContext?: string;
|
|
290
308
|
}
|
|
291
309
|
export interface AgentRunLifecycleContext {
|
|
292
310
|
snapshot: AgentRuntimeStateSnapshot;
|
|
@@ -319,6 +337,11 @@ export interface AgentRuntimePlugin {
|
|
|
319
337
|
setup?: (context: AgentRuntimePluginContext) => AgentRuntimePluginSetup | undefined | Promise<AgentRuntimePluginSetup | undefined>;
|
|
320
338
|
}
|
|
321
339
|
export interface AgentRuntimeConfig {
|
|
340
|
+
/**
|
|
341
|
+
* Stable end-user distinct ID used for provider and observability metadata.
|
|
342
|
+
* This is intentionally separate from the host-owned session id.
|
|
343
|
+
*/
|
|
344
|
+
distinctId?: string;
|
|
322
345
|
/**
|
|
323
346
|
* Core/hub runtime session identifier.
|
|
324
347
|
*
|
package/dist/db/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null,$)}var
|
|
1
|
+
var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null,$)}var K0=(Z,$)=>{for(var j in $)FZ(Z,j,{get:$[j],enumerable:!0,configurable:!0,set:YZ.bind($,j)})};import{existsSync as aZ,readFileSync as eZ,renameSync as Z0}from"node:fs";import{appendFileSync as HZ,existsSync as U,mkdirSync as b,readdirSync as LZ,readFileSync as o,statSync as T}from"node:fs";import{homedir as BZ}from"node:os";import{basename as JZ,dirname as D,extname as MZ,isAbsolute as qZ,join as Q,relative as NZ,resolve as Y}from"node:path";var f="workspaces",E="chat";function OZ(Z){let $=Z.trim(),j=/^[A-Za-z]:[\\/]/.test($)||$.startsWith("\\\\"),X=$.startsWith("/");if(!j&&!X)return!1;let K=$.split(j?/[\\/]+/:/\/+/).filter(Boolean),V=K.at(-1)??"",W=K.at(-2)??"",z=K.at(-3)??"";return(K.at(-4)??"")===".cline"&&z==="data"&&W==="workspaces"&&V==="chat"}var g=".clinerules",I=".cline",m=".agents",n="agents",R="hooks",k="skills",c="rules",v="workflows",i="plugins",r="AGENTS.md";function G0(){return Q(F(),f,E)}var AZ="cline_mcp_settings.json",TZ="settings.json";function _Z(){let Z=process?.env?.HOME?.trim();if(Z&&Z!=="~")return Z;let $=process?.env?.USERPROFILE?.trim();if($)return $;let j=process?.env?.HOMEDRIVE?.trim(),X=process?.env?.HOMEPATH?.trim();if(j&&X)return`${j}${X}`;let K=BZ().trim();if(K&&K!=="~")return K;return"~"}var q=_Z(),t=!1;function Y0(Z){let $=Z.trim();if(!$)return;q=$,t=!0}function O0(Z){if(t)return;let $=Z.trim();if(!$)return;q=$}var x,a=!1;function H0(Z){let $=Z.trim();if(!$)return;x=$,a=!0}function L0(Z){if(a)return;let $=Z.trim();if(!$)return;x=$}function O(){if(x)return x;let Z=process.env.CLINE_DIR?.trim();if(Z)return Z;return Q(q,".cline")}function xZ(){return Q(q,"Documents","Cline")}function S(Z){return Q(xZ(),Z)}function F(){let Z=process.env.CLINE_DATA_DIR?.trim();if(Z)return Z;return Q(O(),"data")}function B0(){let Z=process.env.CLINE_SESSION_DATA_DIR?.trim();if(Z)return Z;return Q(F(),"sessions")}function J0(){let Z=process.env.CLINE_TEAM_DATA_DIR?.trim();if(Z)return Z;return Q(F(),"teams")}function CZ(){let Z=process.env.CLINE_CONNECTOR_DATA_DIR?.trim();if(Z)return Z;return Q(F(),"connectors")}function M0(Z,$){let j=Z.replace(/[^a-zA-Z0-9._-]+/g,"_"),X=$.replace(/[^a-zA-Z0-9._-]+/g,"_");return Q(F(),"logs","connectors",j,`${X}.log`)}function e(){let Z=process.env.CLINE_CONNECTOR_SETTINGS_PATH?.trim();if(Z)return Z;return Q(CZ(),TZ)}function y(){let Z=process.env.CLINE_DB_DATA_DIR?.trim();if(Z)return Z;return Q(F(),"db")}function ZZ(){let Z=process.env.CLINE_CONNECTORS_DB_PATH?.trim();if(Z)return Z;return Q(y(),"connectors.db")}function q0(){let Z=process.env.CLINE_CRON_DB_PATH?.trim();if(Z)return Z;return Q(y(),"cron.db")}function N0(){let Z=process.env.CLINE_TASKS_DB_PATH?.trim();if(Z)return Z;return Q(y(),"tasks.db")}function DZ(){return Q(O(),"tasks")}function IZ(Z){let $=Z.trim();if(!$)throw Error("workspaceRoot is required for workspace task scope");return Q($,".cline","tasks")}function A0(Z){let $=Z.taskSpecsDir?.trim();if($)return $;if(Z.scope==="workspace")return IZ(Z.workspaceRoot??"");return DZ()}function SZ(){return Q(O(),"cron")}function s(Z){return Q(Z,".cline","cron")}function $Z(Z){if(typeof Z==="string")return s(Z);if(Z?.cronSpecsDir?.trim())return Z.cronSpecsDir.trim();if(Z?.scope==="workspace"){let $=Z.workspaceRoot?.trim();if(!$)throw Error("workspaceRoot is required for workspace cron scope");return s($)}return SZ()}function T0(Z){return Q($Z(Z),"reports")}function _0(Z){return Q($Z(Z),"events")}function x0(){let Z=process.env.CLINE_PROVIDER_SETTINGS_PATH?.trim();if(Z)return Z;return Q(F(),"settings","providers.json")}function C0(){let Z=process.env.CLINE_GLOBAL_SETTINGS_PATH?.trim();if(Z)return Z;return Q(F(),"settings","global-settings.json")}function D0(){let Z=process.env.CLINE_MCP_SETTINGS_PATH?.trim();if(Z)return Z;return Q(F(),"settings",AZ)}function N(Z){let $=new Set,j=[];for(let X of Z){if(!X||$.has(X))continue;$.add(X),j.push(X)}return j}function fZ(Z){if(!Z)return[];return[g,I,m].map(($)=>Q(Z,$,k))}function EZ(){return Q(O(),n)}function I0(Z){return N([Z?Q(Z,I,n):"",EZ()])}function S0(Z){let $=[S("Hooks"),Q(O(),R)];if(Z)$.push(Q(Z,g,R),Q(Z,I,R));return N($)}function f0(Z){return N([...fZ(Z),Q(O(),k),Q(q,m,k)])}function RZ(){return Q(q,m,r)}function E0(Z){let $=Z?[Q(Z,g),Q(Z,I,c)]:[],j=Z?[Q(Z,r)]:[];return N([...j,...$,RZ(),Q(O(),c),S("Rules")])}function R0(Z){return N([Z?Q(Z,".clinerules",v):"",S("Workflows"),Q(O(),v),Z?Q(Z,".cline",v):""])}function v0(Z){return N([Z?Q(Z,".cline",i):"",Q(O(),i),S("Plugins")])}var jZ=new Set([".js",".ts"]),u="package.json",vZ=["index.ts","index.js"];function C(Z){let $=Z.lastIndexOf(".");if($===-1)return!1;return jZ.has(Z.slice($))}function XZ(Z){try{let $=JSON.parse(o(Z,"utf8"));if(!$.cline||typeof $.cline!=="object")return null;return $.cline}catch{return null}}function KZ(Z){let $=Z?.plugins;if(!Array.isArray($))return[];return $.flatMap((j)=>j.paths??[])}function kZ(Z){let $=Y(Z);if(!U($)||!T($).isDirectory())return null;let j=Q($,u);if(U(j)){let X=XZ(j),K=KZ(X).map((V)=>Y($,V)).filter((V)=>U(V)&&T(V).isFile()&&C(V));if(K.length>0)return K}for(let X of vZ){let K=Q($,X);if(U(K)&&T(K).isFile())return[K]}return null}function bZ(Z){try{let $=JSON.parse(o(Z,"utf8"));return typeof $.name==="string"&&$.name.trim()?$.name.trim():void 0}catch{return}}function gZ(Z,$){let j=NZ(Y(Z),Y($));return j===""||!j.startsWith("..")&&!qZ(j)}function k0(Z,$){let j=D(Z),X=Y($);while(gZ(X,j)){let K=Q(j,u);if(U(K)){let W=bZ(K);if(W)return W;break}let V=Y(j,"..");if(V===j)break;j=V}return JZ(Z,MZ(Z))}function mZ(Z){let $=Y(Z);if(!U($))return[];let j=[],X=[$];while(X.length>0){let K=X.pop();if(!K)continue;let V;try{V=LZ(K,{withFileTypes:!0})}catch{continue}for(let W of V){let z=Q(K,W.name);if(W.isDirectory()){let L=Q(z,u);if(U(L)){let B=XZ(L),l=KZ(B).map((A)=>Y(z,A)).filter((A)=>U(A)&&T(A).isFile()&&C(A));if(l.length>0){j.push(...l);continue}}X.push(z);continue}if(W.name.startsWith("."))continue;if(W.isFile()&&C(z))j.push(z)}}return j.sort((K,V)=>K.localeCompare(V))}function b0(Z,$){let j=[];for(let X of Z){let K=X.trim();if(!K)continue;let V=Y($,K);if(!U(V))throw Error(`Plugin path does not exist: ${V}`);if(T(V).isDirectory()){let z=kZ(V);if(z){j.push(...z);continue}j.push(...mZ(V));continue}if(!C(V))throw Error(`Plugin file must use a supported extension (${[...jZ].join(", ")}): ${V}`);j.push(V)}return j}function yZ(Z){let $=D(Z);if(!U($))b($,{recursive:!0})}function g0(Z){b(D(Z),{recursive:!0}),HZ(Z,"")}function m0(Z){if(Z?.trim())return yZ(Z),D(Z);let $=Q(F(),"logs");if(!U($))b($,{recursive:!0});return $}import{mkdirSync as uZ}from"node:fs";import{createRequire as wZ}from"node:module";import{dirname as PZ}from"node:path";function QZ(Z){if(Z instanceof Error)return Z.message;return String(Z)}function VZ(Z){if(Z&&typeof Z==="object"&&"code"in Z&&typeof Z.code==="string")return Z.code;return""}var pZ=3,dZ=50;function J(){return new Date().toISOString()}function _(Z){return Z?1:0}function G(Z){return typeof Z==="string"?Z:""}function w(Z){if(typeof Z!=="string")return;let $=Z.trim();return $.length>0?$:void 0}function hZ(Z){return Z===1||Z===!0}function lZ(Z){if(Z<=0)return;try{let $=new SharedArrayBuffer(4),j=new Int32Array($);Atomics.wait(j,0,0,Z)}catch{}}function cZ(Z){if(!Z||typeof Z!=="object")return!1;let $=QZ(Z),j=VZ(Z);return j==="SQLITE_BUSY"||j==="SQLITE_LOCKED"||$.includes("SQLITE_BUSY")||$.includes("SQLITE_LOCKED")||$.includes("database is locked")}function H(Z){let $=0;for(;;)try{return Z()}catch(j){if(!cZ(j)||$>=pZ)throw j;$+=1,lZ(dZ*2**($-1))}}function iZ(Z){return{prepare:($)=>{let j=Z.query($);return{run:(...X)=>H(()=>j.run(...X)),get:(...X)=>H(()=>j.get(...X)),all:(...X)=>H(()=>j.all(...X))}},exec:($)=>H(()=>Z.exec($)),close:()=>Z.close?.()}}function sZ(Z){return{prepare:($)=>{let j=Z.prepare($);return{run:(...X)=>H(()=>j.run(...X)),get:(...X)=>H(()=>j.get(...X)??null),all:(...X)=>H(()=>j.all(...X))}},exec:($)=>H(()=>Z.exec($)),close:()=>Z.close?.()}}function P(Z){uZ(PZ(Z),{recursive:!0});let $=wZ(import.meta.url);if(typeof globalThis.Bun<"u"){let{Database:X}=$("bun:sqlite");return iZ(new X(Z,{create:!0}))}let j=process.emitWarning;process.emitWarning=(X,...K)=>{if((typeof X==="string"?X:X?.message??"").includes("SQLite"))return;return j.call(process,X,...K)};try{let{DatabaseSync:X}=$(["node",":sqlite"].join(""));return sZ(new X(Z))}finally{process.emitWarning=j}}var oZ=[`CREATE TABLE IF NOT EXISTS sessions (
|
|
2
2
|
session_id TEXT PRIMARY KEY,
|
|
3
3
|
source TEXT NOT NULL,
|
|
4
4
|
pid INTEGER NOT NULL,
|
|
@@ -77,7 +77,7 @@ var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null
|
|
|
77
77
|
FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE SET NULL
|
|
78
78
|
);`,`CREATE INDEX IF NOT EXISTS idx_schedule_executions_schedule
|
|
79
79
|
ON schedule_executions(schedule_id, triggered_at DESC);`,`CREATE INDEX IF NOT EXISTS idx_schedules_next_run
|
|
80
|
-
ON schedules(enabled, next_run_at);`],
|
|
80
|
+
ON schedules(enabled, next_run_at);`],nZ=[{table:"sessions",column:"workspace_root",sql:"ALTER TABLE sessions ADD COLUMN workspace_root TEXT;"},{table:"sessions",column:"parent_session_id",sql:"ALTER TABLE sessions ADD COLUMN parent_session_id TEXT;"},{table:"sessions",column:"parent_agent_id",sql:"ALTER TABLE sessions ADD COLUMN parent_agent_id TEXT;"},{table:"sessions",column:"agent_id",sql:"ALTER TABLE sessions ADD COLUMN agent_id TEXT;"},{table:"sessions",column:"conversation_id",sql:"ALTER TABLE sessions ADD COLUMN conversation_id TEXT;"},{table:"sessions",column:"is_subagent",sql:"ALTER TABLE sessions ADD COLUMN is_subagent INTEGER NOT NULL DEFAULT 0;"},{table:"sessions",column:"messages_path",sql:"ALTER TABLE sessions ADD COLUMN messages_path TEXT;"},{table:"sessions",column:"metadata_json",sql:"ALTER TABLE sessions ADD COLUMN metadata_json TEXT;"},{table:"sessions",column:"transcript_path",sql:"ALTER TABLE sessions ADD COLUMN transcript_path TEXT NOT NULL DEFAULT '';"},{table:"schedules",column:"claim_token",sql:"ALTER TABLE schedules ADD COLUMN claim_token TEXT;"},{table:"schedules",column:"claim_started_at",sql:"ALTER TABLE schedules ADD COLUMN claim_started_at TEXT;"},{table:"schedules",column:"claim_until_at",sql:"ALTER TABLE schedules ADD COLUMN claim_until_at TEXT;"}];function rZ(Z,$){return new Set(Z.prepare(`PRAGMA table_info(${$});`).all().map((j)=>j.name))}function tZ(Z,$={}){Z.exec("PRAGMA journal_mode = WAL;"),Z.exec("PRAGMA busy_timeout = 5000;");for(let K of oZ)Z.exec(K);if(!$.includeLegacyMigrations)return;let j=new Map,X=(K)=>{let V=j.get(K);if(!V)V=rZ(Z,K),j.set(K,V);return V};for(let K of nZ)if(!X(K.table).has(K.column)){if(Z.exec(K.sql),K.column==="workspace_root")Z.exec("UPDATE sessions SET workspace_root = cwd WHERE workspace_root IS NULL OR workspace_root = '';");j.delete(K.table)}}var $0=`CREATE TABLE IF NOT EXISTS connector_configs (
|
|
81
81
|
channel TEXT PRIMARY KEY,
|
|
82
82
|
type TEXT NOT NULL,
|
|
83
83
|
values_json TEXT NOT NULL DEFAULT '{}',
|
|
@@ -85,7 +85,7 @@ var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null
|
|
|
85
85
|
security_values_json TEXT NOT NULL DEFAULT '{}',
|
|
86
86
|
configured_at TEXT NOT NULL,
|
|
87
87
|
updated_at TEXT NOT NULL
|
|
88
|
-
);`,
|
|
88
|
+
);`,j0=`CREATE TABLE IF NOT EXISTS connector_connections (
|
|
89
89
|
channel TEXT NOT NULL,
|
|
90
90
|
instance_id TEXT NOT NULL,
|
|
91
91
|
connect_args_json TEXT NOT NULL,
|
|
@@ -94,11 +94,11 @@ var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null
|
|
|
94
94
|
updated_at TEXT NOT NULL,
|
|
95
95
|
last_connected_at TEXT NOT NULL,
|
|
96
96
|
PRIMARY KEY (channel, instance_id)
|
|
97
|
-
);`;function UZ(Z){Z.exec("PRAGMA journal_mode = WAL;"),Z.exec("PRAGMA busy_timeout = 5000;"),Z.exec(
|
|
98
|
-
WHERE channel = ? AND instance_id = ?`).get(Z,$);return j?
|
|
97
|
+
);`;function UZ(Z){Z.exec("PRAGMA journal_mode = WAL;"),Z.exec("PRAGMA busy_timeout = 5000;"),Z.exec($0),Z.exec(j0)}function M(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function WZ(Z){if(typeof Z!=="string"||!Z)return{};try{let $=JSON.parse(Z);if(!M($))return{};let j={};for(let[X,K]of Object.entries($))if(typeof K==="string")j[X]=K;return j}catch{return{}}}function zZ(Z){if(typeof Z!=="string"||!Z)return;try{let $=JSON.parse(Z);if(!Array.isArray($))return;return $.filter((j)=>typeof j==="string")}catch{return}}class h{dbPath;db;constructor(Z={}){this.dbPath=Z.dbPath??ZZ()}getRawDb(){if(this.db)return this.db;let Z=P(this.dbPath);return UZ(Z),this.db=Z,this.importLegacyJsonSettings(),Z}close(){this.db?.close?.(),this.db=void 0}getConfig(Z){let $=this.getRawDb().prepare("SELECT * FROM connector_configs WHERE channel = ?").get(Z);return $?p($):void 0}listConfigs(){return this.getRawDb().prepare("SELECT * FROM connector_configs ORDER BY channel ASC").all().map(p)}getConnection(Z,$){let j=this.getRawDb().prepare(`SELECT * FROM connector_connections
|
|
98
|
+
WHERE channel = ? AND instance_id = ?`).get(Z,$);return j?d(j):void 0}listConnections(Z){return(Z?this.getRawDb().prepare(`SELECT * FROM connector_connections
|
|
99
99
|
WHERE channel = ?
|
|
100
100
|
ORDER BY instance_id ASC`).all(Z):this.getRawDb().prepare(`SELECT * FROM connector_connections
|
|
101
|
-
ORDER BY channel ASC, instance_id ASC`).all()).map(
|
|
101
|
+
ORDER BY channel ASC, instance_id ASC`).all()).map(d)}upsertConfig(Z){let $=J(),j=this.getRawDb();j.exec("BEGIN IMMEDIATE;");try{let X=j.prepare("SELECT * FROM connector_configs WHERE channel = ?").get(Z.channel),K=X?p(X):void 0,W=j.prepare("SELECT * FROM connector_connections WHERE channel = ?").all(Z.channel).map(d),z=Z.updateConnectArgs&&W.length===1&&W[0]?Z.updateConnectArgs({config:K,connection:W[0]}):void 0;if(j.prepare(`INSERT INTO connector_configs (
|
|
102
102
|
channel, type, values_json, security_enabled,
|
|
103
103
|
security_values_json, configured_at, updated_at
|
|
104
104
|
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
@@ -108,9 +108,9 @@ var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null
|
|
|
108
108
|
security_enabled = excluded.security_enabled,
|
|
109
109
|
security_values_json = excluded.security_values_json,
|
|
110
110
|
configured_at = excluded.configured_at,
|
|
111
|
-
updated_at = excluded.updated_at`).run(Z.channel,Z.type??Z.channel,JSON.stringify(Z.values),
|
|
111
|
+
updated_at = excluded.updated_at`).run(Z.channel,Z.type??Z.channel,JSON.stringify(Z.values),_(Z.security?.enabled===!0),JSON.stringify(Z.security?.values??{}),Z.configuredAt??K?.configuredAt??$,Z.updatedAt??$),z&&W[0])j.prepare(`UPDATE connector_connections
|
|
112
112
|
SET connect_args_json = ?, updated_at = ?
|
|
113
|
-
WHERE channel = ? AND instance_id = ?`).run(JSON.stringify(
|
|
113
|
+
WHERE channel = ? AND instance_id = ?`).run(JSON.stringify(z),$,Z.channel,W[0].instanceId);j.exec("COMMIT;")}catch(X){try{j.exec("ROLLBACK;")}catch{}throw X}}recordConnected(Z,$,j){let X=J();this.getRawDb().prepare(`INSERT INTO connector_connections (
|
|
114
114
|
channel, instance_id, connect_args_json,
|
|
115
115
|
last_successful_args_json, enabled, updated_at, last_connected_at
|
|
116
116
|
) VALUES (?, ?, ?, ?, 1, ?, ?)
|
|
@@ -121,7 +121,7 @@ var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null
|
|
|
121
121
|
updated_at = excluded.updated_at,
|
|
122
122
|
last_connected_at = excluded.last_connected_at`).run(Z,$,JSON.stringify(j),JSON.stringify(j),X,X)}setEnabled(Z,$,j){if(j){this.getRawDb().prepare(`UPDATE connector_connections
|
|
123
123
|
SET enabled = ?, updated_at = ?
|
|
124
|
-
WHERE channel = ? AND instance_id = ?`).run(
|
|
124
|
+
WHERE channel = ? AND instance_id = ?`).run(_($),J(),Z,j);return}this.getRawDb().prepare(`UPDATE connector_connections
|
|
125
125
|
SET enabled = ?, updated_at = ?
|
|
126
|
-
WHERE channel = ?`).run(
|
|
127
|
-
WHERE channel = ? AND instance_id = ?`).run(Z,$).changes??0)>0}disableAll(){this.getRawDb().prepare("UPDATE connector_connections SET enabled = 0, updated_at = ?").run(J())}deleteConfig(Z){return(this.getRawDb().prepare("DELETE FROM connector_configs WHERE channel = ?").run(Z).changes??0)>0}importLegacyJsonSettings(){let Z=
|
|
126
|
+
WHERE channel = ?`).run(_($),J(),Z)}deleteConnection(Z,$){return(this.getRawDb().prepare(`DELETE FROM connector_connections
|
|
127
|
+
WHERE channel = ? AND instance_id = ?`).run(Z,$).changes??0)>0}disableAll(){this.getRawDb().prepare("UPDATE connector_connections SET enabled = 0, updated_at = ?").run(J())}deleteConfig(Z){return(this.getRawDb().prepare("DELETE FROM connector_configs WHERE channel = ?").run(Z).changes??0)>0}importLegacyJsonSettings(){let Z=e();if(!aZ(Z))return;try{let $=JSON.parse(eZ(Z,"utf8")),j=M($)&&M($.connectors)?$.connectors:{};for(let[X,K]of Object.entries(j)){if(!M(K)||this.getConfig(X))continue;let V={};if(M(K.values)){for(let[L,B]of Object.entries(K.values))if(typeof B==="string")V[L]=B}let W={},z=M(K.security)?K.security:void 0;if(z&&M(z.values)){for(let[L,B]of Object.entries(z.values))if(typeof B==="string")W[L]=B}this.upsertConfig({channel:X,type:typeof K.type==="string"?K.type:X,values:V,security:z?{enabled:z.enabled===!0,values:W}:void 0,configuredAt:typeof K.configuredAt==="string"?K.configuredAt:void 0,updatedAt:typeof K.updatedAt==="string"?K.updatedAt:void 0})}Z0(Z,`${Z}.migrated`)}catch{}}}function p(Z){let $=Z.security_enabled===1,j=WZ(Z.security_values_json),X=$||Object.keys(j).length>0;return{channel:G(Z.channel),type:G(Z.type),values:WZ(Z.values_json),security:X?{enabled:$,values:j}:void 0,configuredAt:G(Z.configured_at),updatedAt:G(Z.updated_at)}}function d(Z){return{channel:G(Z.channel),instanceId:G(Z.instance_id),connectArgs:zZ(Z.connect_args_json)??[],lastSuccessfulArgs:zZ(Z.last_successful_args_json)??[],enabled:Z.enabled===1,updatedAt:G(Z.updated_at),lastConnectedAt:w(Z.last_connected_at)??G(Z.updated_at)}}function X0(Z){let $=new h;try{return Z($)}finally{$.close()}}export{X0 as withConnectorStore,_ as toBoolInt,J as nowIso,P as loadSqliteDb,tZ as ensureSessionSchema,UZ as ensureConnectorSchema,G as asString,w as asOptionalString,hZ as asBool,h as SqliteConnectorStore};
|
|
@@ -17,6 +17,11 @@ export interface AgentExtensionRule {
|
|
|
17
17
|
id: string;
|
|
18
18
|
content: string | (() => string | Promise<string>);
|
|
19
19
|
source?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Include this rule only while the named tool is available after host,
|
|
22
|
+
* global-settings, and per-session policy filtering.
|
|
23
|
+
*/
|
|
24
|
+
whenToolAvailable?: string;
|
|
20
25
|
}
|
|
21
26
|
export interface AgentExtensionMessageBuilder<TMessage = unknown> {
|
|
22
27
|
name: string;
|
package/dist/hub.d.ts
CHANGED
|
@@ -2,11 +2,12 @@ import type { AgentMessage } from "./agent";
|
|
|
2
2
|
import type { GatewayModelSelection, JsonValue } from "./llms/gateway";
|
|
3
3
|
import type { ReasoningEffort } from "./llms/reasoning-options";
|
|
4
4
|
import type { RuntimeConfigExtensionKind } from "./session/runtime-config";
|
|
5
|
+
import type { AgendaAutomationPolicy, AgendaTaskCreateInput, AgendaTaskListInput, AgendaTaskRecord, AgendaTaskRunRecord, AgendaTaskUpdateInput } from "./tasks";
|
|
5
6
|
export type HubProtocolVersion = "v1";
|
|
6
7
|
export declare const CURRENT_HUB_PROTOCOL_VERSION: HubProtocolVersion;
|
|
7
8
|
export declare const MIN_CLIENT_HUB_PROTOCOL_VERSION: HubProtocolVersion;
|
|
8
9
|
export declare const MAX_CLIENT_HUB_PROTOCOL_VERSION: HubProtocolVersion;
|
|
9
|
-
export type HubCapabilityName = "client.register" | "client.list" | "session.create" | "session.list" | "session.get" | "session.run" | "session.abort" | "schedule.create" | "schedule.list" | "settings.get" | "settings.set" | "connector.start" | "connector.stop" | "connector.supervised";
|
|
10
|
+
export type HubCapabilityName = "client.register" | "client.list" | "session.create" | "session.list" | "session.get" | "session.run" | "session.abort" | "schedule.create" | "schedule.list" | "task.create" | "task.list" | "task.get" | "task.update" | "task.approve" | "task.cancel" | "task.run" | "task.automation.get" | "task.automation.set" | "settings.get" | "settings.set" | "connector.start" | "connector.stop" | "connector.supervised";
|
|
10
11
|
export declare const HUB_CAPABILITIES: readonly HubCapabilityName[];
|
|
11
12
|
export interface HubProtocolMetadata {
|
|
12
13
|
protocolVersion: string;
|
|
@@ -31,6 +32,8 @@ export interface ClientCapability {
|
|
|
31
32
|
scopes?: string[];
|
|
32
33
|
payloadSchema?: Record<string, unknown>;
|
|
33
34
|
}
|
|
35
|
+
/** Client capability advertised by a live user surface that can answer tool approvals. */
|
|
36
|
+
export declare const HUB_CLIENT_TOOL_APPROVAL_CAPABILITY = "approval.respond";
|
|
34
37
|
export interface HubClientRegistration {
|
|
35
38
|
clientId?: string;
|
|
36
39
|
clientType: string;
|
|
@@ -185,6 +188,7 @@ export interface ScheduleRecord {
|
|
|
185
188
|
scheduleId: string;
|
|
186
189
|
name: string;
|
|
187
190
|
cronPattern: string;
|
|
191
|
+
timezone?: string;
|
|
188
192
|
prompt: string;
|
|
189
193
|
workspaceRoot: string;
|
|
190
194
|
cwd?: string;
|
|
@@ -229,6 +233,7 @@ export declare function readHubScheduleMode(payload: Record<string, unknown> | u
|
|
|
229
233
|
export interface HubScheduleCreateInput {
|
|
230
234
|
name: string;
|
|
231
235
|
cronPattern: string;
|
|
236
|
+
timezone?: string;
|
|
232
237
|
prompt: string;
|
|
233
238
|
workspaceRoot: string;
|
|
234
239
|
cwd?: string;
|
|
@@ -248,6 +253,7 @@ export interface HubScheduleUpdateInput {
|
|
|
248
253
|
scheduleId: string;
|
|
249
254
|
name?: string;
|
|
250
255
|
cronPattern?: string;
|
|
256
|
+
timezone?: string | null;
|
|
251
257
|
prompt?: string;
|
|
252
258
|
workspaceRoot?: string;
|
|
253
259
|
cwd?: string;
|
|
@@ -263,7 +269,71 @@ export interface HubScheduleUpdateInput {
|
|
|
263
269
|
runtimeOptions?: HubSessionRuntimeOptions;
|
|
264
270
|
metadata?: Record<string, JsonValue | undefined>;
|
|
265
271
|
}
|
|
266
|
-
export
|
|
272
|
+
export interface HubTaskIdInput {
|
|
273
|
+
taskId: string;
|
|
274
|
+
}
|
|
275
|
+
export type HubTaskCreateInput = Omit<AgendaTaskCreateInput, "createdBy">;
|
|
276
|
+
export type HubTaskUpdateInput = Omit<AgendaTaskUpdateInput, "updatedBy">;
|
|
277
|
+
export interface HubTaskRevisionInput extends HubTaskIdInput {
|
|
278
|
+
expectedRevision: number;
|
|
279
|
+
}
|
|
280
|
+
export interface HubTaskCancelInput extends HubTaskRevisionInput {
|
|
281
|
+
reason?: string;
|
|
282
|
+
}
|
|
283
|
+
export interface HubTaskAutomationSetInput {
|
|
284
|
+
policy: Omit<AgendaAutomationPolicy, "updatedAt">;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Strongly typed task command payloads. This map is intentionally extensible so
|
|
288
|
+
* other Hub command families can adopt typed payloads without changing the wire
|
|
289
|
+
* envelope.
|
|
290
|
+
*/
|
|
291
|
+
export interface HubCommandInputMap {
|
|
292
|
+
"task.create": HubTaskCreateInput;
|
|
293
|
+
"task.list": AgendaTaskListInput;
|
|
294
|
+
"task.get": HubTaskIdInput;
|
|
295
|
+
"task.update": HubTaskUpdateInput;
|
|
296
|
+
"task.approve": HubTaskRevisionInput;
|
|
297
|
+
"task.cancel": HubTaskCancelInput;
|
|
298
|
+
"task.run": HubTaskRevisionInput;
|
|
299
|
+
"task.automation.get": Record<string, never>;
|
|
300
|
+
"task.automation.set": HubTaskAutomationSetInput;
|
|
301
|
+
}
|
|
302
|
+
/** Typed task command results returned in {@link HubReplyEnvelope.payload}. */
|
|
303
|
+
export interface HubCommandOutputMap {
|
|
304
|
+
"task.create": {
|
|
305
|
+
task: AgendaTaskRecord;
|
|
306
|
+
};
|
|
307
|
+
"task.list": {
|
|
308
|
+
tasks: AgendaTaskRecord[];
|
|
309
|
+
};
|
|
310
|
+
"task.get": {
|
|
311
|
+
task?: AgendaTaskRecord;
|
|
312
|
+
};
|
|
313
|
+
"task.update": {
|
|
314
|
+
task: AgendaTaskRecord;
|
|
315
|
+
};
|
|
316
|
+
"task.approve": {
|
|
317
|
+
task: AgendaTaskRecord;
|
|
318
|
+
};
|
|
319
|
+
"task.cancel": {
|
|
320
|
+
task: AgendaTaskRecord;
|
|
321
|
+
};
|
|
322
|
+
"task.run": {
|
|
323
|
+
task: AgendaTaskRecord;
|
|
324
|
+
run?: AgendaTaskRunRecord;
|
|
325
|
+
};
|
|
326
|
+
"task.automation.get": {
|
|
327
|
+
policy: AgendaAutomationPolicy;
|
|
328
|
+
};
|
|
329
|
+
"task.automation.set": {
|
|
330
|
+
policy: AgendaAutomationPolicy;
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
export type HubTypedCommandName = keyof HubCommandInputMap & HubCommandName;
|
|
334
|
+
export type HubCommandInput<TCommand extends HubTypedCommandName> = HubCommandInputMap[TCommand];
|
|
335
|
+
export type HubCommandOutput<TCommand extends HubTypedCommandName> = HubCommandOutputMap[TCommand];
|
|
336
|
+
export type HubCommandName = "client.register" | "client.update" | "client.unregister" | "client.list" | "cline.account.get_current" | "prompt_commands.list" | "prompt_commands.execute" | "mention_files.search" | "catalog.list" | "session.list" | "session.create" | "session.attach" | "session.detach" | "session.get" | "session.messages" | "session.restore" | "session.delete" | "session.update" | "session.update_connection" | "session.compaction.get" | "session.compaction.update" | "session.pending_prompts" | "session.update_pending_prompt" | "session.remove_pending_prompt" | "session.fork" | "session.hook" | "run.start" | "session.send_input" | "run.abort" | "run.proceed_while_running" | "approval.request" | "approval.respond" | "capability.request" | "capability.progress" | "capability.respond" | "peer.register" | "peer.list_sessions" | "peer.attach_session" | "peer.detach_session" | "peer.proxy_command" | "schedule.create" | "schedule.list" | "schedule.get" | "schedule.update" | "schedule.delete" | "schedule.enable" | "schedule.disable" | "schedule.trigger" | "schedule.list_executions" | "schedule.stats" | "schedule.active" | "schedule.upcoming" | "task.create" | "task.list" | "task.get" | "task.update" | "task.approve" | "task.cancel" | "task.run" | "task.automation.get" | "task.automation.set" | "settings.list" | "settings.get" | "settings.patch" | "settings.toggle" | "connector.channels" | "connector.configure" | "connector.delete_config" | "connector.start" | "connector.stop" | "connector.supervised" | "cron.event.ingest" | "cron.event.list" | "cron.event.get" | "ui.notify" | "ui.show_window";
|
|
267
337
|
export declare const HUB_DEFAULT_COMMAND_TIMEOUT_MS = 30000;
|
|
268
338
|
export declare const HUB_COMMAND_SLOW_LOG_MS = 5000;
|
|
269
339
|
export declare function getDefaultHubCommandTimeoutMs(command: HubCommandName): number | null;
|
|
@@ -288,7 +358,7 @@ export interface HubReplyEnvelope {
|
|
|
288
358
|
details?: Record<string, unknown>;
|
|
289
359
|
};
|
|
290
360
|
}
|
|
291
|
-
export type HubEventName = "hub.client.registered" | "hub.client.disconnected" | "session.created" | "session.updated" | "session.attached" | "session.detached" | "session.forked" | "session.pending_prompts" | "session.pending_prompt_submitted" | "run.started" | "run.heartbeat" | "run.aborted" | "run.completed" | "run.failed" | "iteration.started" | "iteration.finished" | "assistant.delta" | "assistant.media" | "assistant.finished" | "session.notice" | "reasoning.delta" | "reasoning.finished" | "agent.done" | "usage.updated" | "tool.started" | "tool.updated" | "tool.finished" | "approval.requested" | "approval.resolved" | "capability.requested" | "capability.resolved" | "team.progress" | "artifact.created" | "diff.created" | "spoke.started" | "spoke.failed" | "spoke.stopped" | "peer.registered" | "peer.session_attached" | "peer.session_detached" | "schedule.created" | "schedule.updated" | "schedule.deleted" | "schedule.triggered" | "schedule.execution_completed" | "schedule.execution_failed" | "settings.changed" | "ui.notify" | "ui.show_window" | "hub.client.updated";
|
|
361
|
+
export type HubEventName = "hub.client.registered" | "hub.client.disconnected" | "session.created" | "session.updated" | "session.attached" | "session.detached" | "session.forked" | "session.pending_prompts" | "session.pending_prompt_submitted" | "run.started" | "run.heartbeat" | "run.aborted" | "run.completed" | "run.failed" | "iteration.started" | "iteration.finished" | "assistant.delta" | "assistant.media" | "assistant.finished" | "session.notice" | "reasoning.delta" | "reasoning.finished" | "agent.done" | "usage.updated" | "tool.started" | "tool.updated" | "tool.finished" | "approval.requested" | "approval.resolved" | "capability.requested" | "capability.resolved" | "team.progress" | "artifact.created" | "diff.created" | "spoke.started" | "spoke.failed" | "spoke.stopped" | "peer.registered" | "peer.session_attached" | "peer.session_detached" | "schedule.created" | "schedule.updated" | "schedule.deleted" | "schedule.triggered" | "schedule.execution_completed" | "schedule.execution_failed" | "task.created" | "task.updated" | "task.deleted" | "task.run.started" | "task.run.completed" | "task.run.failed" | "task.automation.updated" | "settings.changed" | "ui.notify" | "ui.show_window" | "hub.client.updated";
|
|
292
362
|
export interface HubEventEnvelope {
|
|
293
363
|
version: HubProtocolVersion;
|
|
294
364
|
event: HubEventName;
|
package/dist/index.browser.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { EMPTY_CONTENT_TEXT, formatMessagesForAiSdk, sanitizeSurrogates, toAiSdk
|
|
|
20
20
|
export * from "./llms/gateway";
|
|
21
21
|
export { type Base64MediaValidationFailure, type Base64MediaValidationResult, type Base64MediaValidationSuccess, createMediaBudgetState, DEFAULT_MAX_IMAGE_BASE64_BYTES, DEFAULT_MAX_IMAGE_DECODED_BYTES, DEFAULT_MAX_IMAGE_ENCODED_BYTES, DEFAULT_MAX_TOTAL_MEDIA_BYTES, type GeneratedMedia, type GeneratedMediaModality, GeneratedMediaModalitySchema, GeneratedMediaSchema, type GeneratedMediaSource, GeneratedMediaSourceSchema, generatedMediaModalityFromMediaType, IMAGE_OMITTED_PLACEHOLDER, IMAGE_UNSUPPORTED_PLACEHOLDER, type ImageMediaLimits, type ImageMediaValidationFailure, type ImageMediaValidationResult, type ImageMediaValidationSuccess, imageBase64DecodedByteLength, imageBase64EncodedByteLength, imageBase64LengthForDecodedBytes, imageFileMaxDecodedBytesForBase64Limit, isBase64Char, isCanonicalBase64, isGeneratedMedia, type MediaBudgetOptions, type MediaBudgetState, type ResolvedMediaBudget, reserveImageMediaBytes, resolveMediaBudget, SUPPORTED_IMAGE_MEDIA_TYPES, validateAndReserveBase64Media, validateAndReserveImageMedia, validateImageMedia, } from "./llms/media";
|
|
22
22
|
export type { ContentBlock, FileContent, ImageContent, MediaContent, Message, MessageRole, MessageWithMetadata, RedactedThinkingContent, TextContent, ThinkingContent, ToolDefinition, ToolResultContent, ToolUseContent, } from "./llms/messages";
|
|
23
|
-
export { ApiFormat, ApiFormatSchema, type ModelCapability, ModelCapabilitySchema, type ModelInfo, ModelInfoSchema, type ModelMetadata, ModelMetadataSchema, type ModelModalities, ModelModalitiesSchema, type ModelModality, ModelModalitySchema, type ModelOperation, type ModelOperationMode, ModelOperationModeSchema, ModelOperationSchema, type ModelPricing, ModelPricingSchema, type ModelStatus, ModelStatusSchema, modelHasCapability, modelProducesImages, modelSupportsToolCalling, type ThinkingConfig, ThinkingConfigSchema, usesImageGenerationOperation, } from "./llms/model-info";
|
|
23
|
+
export { ApiFormat, ApiFormatSchema, type ChatCompatibleModelDescriptor, type ChatModelModalities, isChatCompatibleModel, type ModelCapability, ModelCapabilitySchema, type ModelInfo, ModelInfoSchema, type ModelMetadata, ModelMetadataSchema, type ModelModalities, ModelModalitiesSchema, type ModelModality, ModelModalitySchema, type ModelOperation, type ModelOperationMode, ModelOperationModeSchema, ModelOperationSchema, type ModelPricing, ModelPricingSchema, type ModelStatus, ModelStatusSchema, modelHasCapability, modelProducesImages, modelSupportsToolCalling, supportsChatModalities, type ThinkingConfig, ThinkingConfigSchema, usesImageGenerationOperation, } from "./llms/model-info";
|
|
24
24
|
export { mergeModelOptions } from "./llms/model-options";
|
|
25
25
|
export * from "./llms/model-tools";
|
|
26
26
|
export { DEFAULT_REASONING_EFFORT, REASONING_EFFORT_RATIOS, resolveEffectiveReasoningEffort, resolveReasoningBudgetFromRatio, resolveReasoningEffortRatio, } from "./llms/reasoning-effort";
|
|
@@ -49,7 +49,7 @@ export { REMOTE_URI_SCHEME } from "./remote-config/constants";
|
|
|
49
49
|
export type { AnthropicModel, AnthropicSettings, APIKeySettings, AwsBedrockCustomModel, AwsBedrockModel, AwsBedrockSettings, EnterpriseTelemetry, GlobalInstructionsFile, LiteLLMModel, LiteLLMSettings, MCPServer, OpenAiCompatible, OpenAiCompatibleModel, PromptUploading, ProviderSettings, RemoteConfig, RemoteMCPServer, S3AccessKeySettings, VertexModel, VertexSettings, } from "./remote-config/schema";
|
|
50
50
|
export { AllowedMCPServerSchema, AnthropicModelSchema, AnthropicSchema, APIKeySchema, AwsBedrockCustomModelSchema, AwsBedrockModelSchema, AwsBedrockSettingsSchema, ClineModelSchema, ClineSettingsSchema, EnterpriseTelemetrySchema, GlobalInstructionsFileSchema, LiteLLMModelSchema, LiteLLMSchema, OpenAiCompatibleModelSchema, OpenAiCompatibleSchema, PromptUploadingSchema, RemoteConfigSchema, RemoteMCPServerSchema, S3AccessKeySettingsSchema, VertexModelSchema, VertexSettingsSchema, } from "./remote-config/schema";
|
|
51
51
|
export { CLINE_DEFAULT_RPC_ADDRESS, CLINE_DEFAULT_RPC_PORT } from "./rpc";
|
|
52
|
-
export type { AddProviderActionRequest, ChatAttachmentFile, ChatAttachments, ChatRunTurnRequest, ChatRuntimeConfig, ChatStartSessionArtifacts, ChatStartSessionRequest, ChatStartSessionResponse, ChatToolCallResult, ChatTurnResult, ClineAccountActionRequest, EnterpriseAuthenticateRequest, EnterpriseAuthenticateResponse, EnterpriseStatusRequest, EnterpriseStatusResponse, EnterpriseSyncRequest, EnterpriseSyncResponse, GetProviderModelsActionRequest, ListProvidersActionRequest, ProviderActionRequest, ProviderCapability, ProviderCatalogResponse, ProviderClient, ProviderConfigField, ProviderConfigFieldOption, ProviderConfigFieldPrimitive, ProviderConfigFieldType, ProviderListItem, ProviderModel, ProviderModelsResponse, ProviderOAuthLoginResponse, ProviderProtocol, ProviderSettingsActionRequest, RuntimeLoggerConfig, SaveProviderSettingsActionRequest, VoiceInputSelection, } from "./rpc/runtime";
|
|
52
|
+
export type { AddProviderActionRequest, ChatAttachmentFile, ChatAttachments, ChatRunTurnRequest, ChatRuntimeConfig, ChatStartSessionArtifacts, ChatStartSessionRequest, ChatStartSessionResponse, ChatToolCallResult, ChatTurnResult, ClineAccountActionRequest, EnterpriseAuthenticateRequest, EnterpriseAuthenticateResponse, EnterpriseStatusRequest, EnterpriseStatusResponse, EnterpriseSyncRequest, EnterpriseSyncResponse, GetProviderModelsActionRequest, ListProvidersActionRequest, ProviderActionRequest, ProviderCapability, ProviderCatalogResponse, ProviderClient, ProviderConfigField, ProviderConfigFieldOption, ProviderConfigFieldPrimitive, ProviderConfigFieldType, ProviderListItem, ProviderModel, ProviderModelFeatured, ProviderModelFeaturedTier, ProviderModelsResponse, ProviderOAuthLoginResponse, ProviderProtocol, ProviderSettingsActionRequest, RuntimeLoggerConfig, SaveProviderSettingsActionRequest, VoiceInputSelection, } from "./rpc/runtime";
|
|
53
53
|
export { ProviderCapabilitySchema, ProviderClientSchema, ProviderProtocolSchema, } from "./rpc/runtime";
|
|
54
54
|
export type { TeamProgressCounts, TeamProgressLifecycleEvent, TeamProgressMemberRole, TeamProgressMemberStatus, TeamProgressOutcomeFragmentStatus, TeamProgressOutcomeStatus, TeamProgressProjectionEvent, TeamProgressRunStatus, TeamProgressSummary, TeamProgressTaskStatus, } from "./rpc/team-progress";
|
|
55
55
|
export { TEAM_LIFECYCLE_EVENT_TYPE, TEAM_PROGRESS_EVENT_TYPE, } from "./rpc/team-progress";
|
|
@@ -69,6 +69,7 @@ export { DEFAULT_RUNTIME_CONFIG_EXTENSIONS, hasRuntimeConfigExtension, isRuntime
|
|
|
69
69
|
export type { RuntimeEnv } from "./session/runtime-env";
|
|
70
70
|
export * from "./session/workspace";
|
|
71
71
|
export { CLINE_CHAT_WORKSPACE_DIRECTORY_NAME, CLINE_WORKSPACES_DIRECTORY_NAME, isChatWorkspacePath, } from "./storage/chat-workspace-paths";
|
|
72
|
+
export * from "./tasks";
|
|
72
73
|
export * from "./team";
|
|
73
74
|
export { createTool } from "./tools/create";
|
|
74
75
|
export { AUTH_ERROR_PATTERNS, isLikelyAuthError } from "./types/auth";
|