@cline/shared 0.0.79 → 0.0.81-nightly.1787893007
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/db/index.js +10 -10
- package/dist/feature-flags.d.ts +2 -0
- package/dist/hub.d.ts +21 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.js +20 -20
- package/dist/index.d.ts +1 -1
- package/dist/index.js +36 -36
- package/dist/prompt/format.d.ts +4 -0
- package/dist/rpc/runtime.d.ts +6 -0
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +1 -1
- package/dist/storage/paths.d.ts +40 -0
- package/package.json +1 -1
package/dist/db/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var YZ=Object.defineProperty;var OZ=(Z)=>Z;function HZ(Z,$){this[Z]=OZ.bind(null,$)}var z0=(Z,$)=>{for(var j in $)YZ(Z,j,{get:$[j],enumerable:!0,configurable:!0,set:HZ.bind($,j)})};import{existsSync as j0,readFileSync as X0,renameSync as K0}from"node:fs";import{appendFileSync as BZ,existsSync as U,mkdirSync as y,readdirSync as JZ,readFileSync as r,statSync as A}from"node:fs";import{homedir as MZ}from"node:os";import{basename as qZ,dirname as I,extname as NZ,isAbsolute as AZ,join as Q,relative as TZ,resolve as O}from"node:path";var R="workspaces",v="chat";function LZ(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 u=".clinerules",S=".cline",f=".agents",s=f,t="agents",b="hooks",g="skills",o="rules",k="workflows",x="plugins",a="AGENTS.md",_Z="plugin.json";function L0(){return Q(G(),R,v)}var xZ="cline_mcp_settings.json",CZ="settings.json";function DZ(){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=MZ().trim();if(K&&K!=="~")return K;return"~"}var H=DZ(),e=!1;function B0(Z){let $=Z.trim();if(!$)return;H=$,e=!0}function J0(Z){if(e)return;let $=Z.trim();if(!$)return;H=$}var C,ZZ=!1;function M0(Z){let $=Z.trim();if(!$)return;C=$,ZZ=!0}function q0(Z){if(ZZ)return;let $=Z.trim();if(!$)return;C=$}function F(){if(C)return C;let Z=process.env.CLINE_DIR?.trim();if(Z)return Z;return Q(H,".cline")}function IZ(){return Q(H,"Documents","Cline")}function E(Z){return Q(IZ(),Z)}function G(){let Z=process.env.CLINE_DATA_DIR?.trim();if(Z)return Z;return Q(F(),"data")}function N0(){let Z=process.env.CLINE_SESSION_DATA_DIR?.trim();if(Z)return Z;return Q(G(),"sessions")}function A0(){let Z=process.env.CLINE_TEAM_DATA_DIR?.trim();if(Z)return Z;return Q(G(),"teams")}function SZ(){let Z=process.env.CLINE_CONNECTOR_DATA_DIR?.trim();if(Z)return Z;return Q(G(),"connectors")}function T0(Z,$){let j=Z.replace(/[^a-zA-Z0-9._-]+/g,"_"),X=$.replace(/[^a-zA-Z0-9._-]+/g,"_");return Q(G(),"logs","connectors",j,`${X}.log`)}function $Z(){let Z=process.env.CLINE_CONNECTOR_SETTINGS_PATH?.trim();if(Z)return Z;return Q(SZ(),CZ)}function w(){let Z=process.env.CLINE_DB_DATA_DIR?.trim();if(Z)return Z;return Q(G(),"db")}function jZ(){let Z=process.env.CLINE_CONNECTORS_DB_PATH?.trim();if(Z)return Z;return Q(w(),"connectors.db")}function _0(){let Z=process.env.CLINE_CRON_DB_PATH?.trim();if(Z)return Z;return Q(w(),"cron.db")}function x0(){let Z=process.env.CLINE_TASKS_DB_PATH?.trim();if(Z)return Z;return Q(w(),"tasks.db")}function C0(){return Q(F(),"schedules")}function fZ(){return Q(F(),"tasks")}function EZ(Z){let $=Z.trim();if(!$)throw Error("workspaceRoot is required for workspace task scope");return Q($,".cline","tasks")}function D0(Z){let $=Z.taskSpecsDir?.trim();if($)return $;if(Z.scope==="workspace")return EZ(Z.workspaceRoot??"");return fZ()}function RZ(){return Q(F(),"cron")}function n(Z){return Q(Z,".cline","cron")}function XZ(Z){if(typeof Z==="string")return n(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 n($)}return RZ()}function I0(Z){return Q(XZ(Z),"reports")}function S0(Z){return Q(XZ(Z),"events")}function f0(){let Z=process.env.CLINE_PROVIDER_SETTINGS_PATH?.trim();if(Z)return Z;return Q(G(),"settings","providers.json")}function E0(){let Z=process.env.CLINE_GLOBAL_SETTINGS_PATH?.trim();if(Z)return Z;return Q(G(),"settings","global-settings.json")}function R0(){let Z=process.env.CLINE_MCP_SETTINGS_PATH?.trim();if(Z)return Z;return Q(G(),"settings",xZ)}function M(Z){let $=new Set,j=[];for(let X of Z){if(!X||$.has(X))continue;$.add(X),j.push(X)}return j}function vZ(Z){if(!Z)return[];return[u,S,f].map(($)=>Q(Z,$,g))}function bZ(){return Q(F(),t)}function v0(Z){return M([Z?Q(Z,S,t):"",bZ()])}function b0(Z){let $=[E("Hooks"),Q(F(),b)];if(Z)$.push(Q(Z,u,b),Q(Z,S,b));return M($)}function k0(Z){return M([...vZ(Z),Q(F(),g),Q(H,f,g)])}function kZ(){return Q(H,f,a)}function g0(Z){let $=Z?[Q(Z,u),Q(Z,S,o)]:[],j=Z?[Q(Z,a)]:[];return M([...j,...$,kZ(),Q(F(),o),Q(H,"Cline","Rules"),E("Rules")])}function m0(Z){return M([Z?Q(Z,".clinerules",k):"",E("Workflows"),Q(F(),k),Z?Q(Z,".cline",k):""])}function y0(Z){return M([Z?Q(Z,".cline",x):"",Q(F(),x),E("Plugins")])}function u0(Z){return M([Z?Q(Z,s,x):"",Q(H,s,x)])}var KZ=new Set([".js",".ts"]),P="package.json",gZ=["index.ts","index.js"],mZ=new Set(["node_modules"]);function m(Z){try{return A(Q(Z,_Z)).isFile()}catch{return!1}}function D(Z){let $=Z.lastIndexOf(".");if($===-1)return!1;return KZ.has(Z.slice($))}function QZ(Z){try{let $=JSON.parse(r(Z,"utf8"));if(!$.cline||typeof $.cline!=="object")return null;return $.cline}catch{return null}}function VZ(Z){let $=Z?.plugins;if(!Array.isArray($))return[];return $.flatMap((j)=>j.paths??[])}function yZ(Z){let $=O(Z);if(!U($)||!A($).isDirectory())return null;if(m($))return null;let j=Q($,P);if(U(j)){let X=QZ(j),K=VZ(X).map((V)=>O($,V)).filter((V)=>U(V)&&A(V).isFile()&&D(V));if(K.length>0)return K}for(let X of gZ){let K=Q($,X);if(U(K)&&A(K).isFile())return[K]}return null}function uZ(Z){try{let $=JSON.parse(r(Z,"utf8"));return typeof $.name==="string"&&$.name.trim()?$.name.trim():void 0}catch{return}}function wZ(Z,$){let j=TZ(O(Z),O($));return j===""||!j.startsWith("..")&&!AZ(j)}function w0(Z,$){let j=I(Z),X=O($);while(wZ(X,j)){let K=Q(j,P);if(U(K)){let W=uZ(K);if(W)return W;break}let V=O(j,"..");if(V===j)break;j=V}return qZ(Z,NZ(Z))}function PZ(Z){let $=O(Z);if(!U($))return[];if(m($))return[];let j=[],X=[$];while(X.length>0){let K=X.pop();if(!K)continue;let V;try{V=JZ(K,{withFileTypes:!0})}catch{continue}for(let W of V){let z=Q(K,W.name);if(W.isDirectory()){if(m(z))continue;if(mZ.has(W.name)||W.name.startsWith("."))continue;let B=Q(z,P);if(U(B)){let J=QZ(B),i=VZ(J).map((T)=>O(z,T)).filter((T)=>U(T)&&A(T).isFile()&&D(T));if(i.length>0){j.push(...i);continue}}X.push(z);continue}if(W.name.startsWith("."))continue;if(W.isFile()&&D(z))j.push(z)}}return j.sort((K,V)=>K.localeCompare(V))}function P0(Z,$){let j=[];for(let X of Z){let K=X.trim();if(!K)continue;let V=O($,K);if(!U(V))throw Error(`Plugin path does not exist: ${V}`);if(A(V).isDirectory()){let z=yZ(V);if(z){j.push(...z);continue}j.push(...PZ(V));continue}if(!D(V))throw Error(`Plugin file must use a supported extension (${[...KZ].join(", ")}): ${V}`);j.push(V)}return j}function pZ(Z){let $=I(Z);if(!U($))y($,{recursive:!0})}function p0(Z){y(I(Z),{recursive:!0}),BZ(Z,"")}function d0(Z){if(Z?.trim())return pZ(Z),I(Z);let $=Q(G(),"logs");if(!U($))y($,{recursive:!0});return $}import{mkdirSync as dZ}from"node:fs";import{createRequire as hZ}from"node:module";import{dirname as lZ}from"node:path";function WZ(Z){if(Z instanceof Error)return Z.message;return String(Z)}function zZ(Z){if(Z&&typeof Z==="object"&&"code"in Z&&typeof Z.code==="string")return Z.code;return""}var cZ=3,iZ=50;function q(){return new Date().toISOString()}function _(Z){return Z?1:0}function Y(Z){return typeof Z==="string"?Z:""}function p(Z){if(typeof Z!=="string")return;let $=Z.trim();return $.length>0?$:void 0}function sZ(Z){return Z===1||Z===!0}function oZ(Z){if(Z<=0)return;try{let $=new SharedArrayBuffer(4),j=new Int32Array($);Atomics.wait(j,0,0,Z)}catch{}}function nZ(Z){if(!Z||typeof Z!=="object")return!1;let $=WZ(Z),j=zZ(Z);return j==="SQLITE_BUSY"||j==="SQLITE_LOCKED"||$.includes("SQLITE_BUSY")||$.includes("SQLITE_LOCKED")||$.includes("database is locked")}function L(Z){let $=0;for(;;)try{return Z()}catch(j){if(!nZ(j)||$>=cZ)throw j;$+=1,oZ(iZ*2**($-1))}}function rZ(Z){return{prepare:($)=>{let j=Z.query($);return{run:(...X)=>L(()=>j.run(...X)),get:(...X)=>L(()=>j.get(...X)),all:(...X)=>L(()=>j.all(...X))}},exec:($)=>L(()=>Z.exec($)),close:()=>Z.close?.()}}function tZ(Z){return{prepare:($)=>{let j=Z.prepare($);return{run:(...X)=>L(()=>j.run(...X)),get:(...X)=>L(()=>j.get(...X)??null),all:(...X)=>L(()=>j.all(...X))}},exec:($)=>L(()=>Z.exec($)),close:()=>Z.close?.()}}function d(Z){dZ(lZ(Z),{recursive:!0});let $=hZ(import.meta.url);if(typeof globalThis.Bun<"u"){let{Database:X}=$("bun:sqlite");return rZ(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 tZ(new X(Z))}finally{process.emitWarning=j}}var aZ=[`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);`],eZ=[{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 Z0(Z,$){return new Set(Z.prepare(`PRAGMA table_info(${$});`).all().map((j)=>j.name))}function $0(Z,$={}){Z.exec("PRAGMA journal_mode = WAL;"),Z.exec("PRAGMA busy_timeout = 5000;");for(let K of aZ)Z.exec(K);if(!$.includeLegacyMigrations)return;let j=new Map,X=(K)=>{let V=j.get(K);if(!V)V=Z0(Z,K),j.set(K,V);return V};for(let K of eZ)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 Q0=`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
|
+
);`,V0=`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
|
|
98
|
-
WHERE channel = ? AND instance_id = ?`).get(Z,$);return j?
|
|
97
|
+
);`;function GZ(Z){Z.exec("PRAGMA journal_mode = WAL;"),Z.exec("PRAGMA busy_timeout = 5000;"),Z.exec(Q0),Z.exec(V0)}function N(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function UZ(Z){if(typeof Z!=="string"||!Z)return{};try{let $=JSON.parse(Z);if(!N($))return{};let j={};for(let[X,K]of Object.entries($))if(typeof K==="string")j[X]=K;return j}catch{return{}}}function FZ(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 c{dbPath;db;constructor(Z={}){this.dbPath=Z.dbPath??jZ()}getRawDb(){if(this.db)return this.db;let Z=d(this.dbPath);return GZ(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 $?h($):void 0}listConfigs(){return this.getRawDb().prepare("SELECT * FROM connector_configs ORDER BY channel ASC").all().map(h)}getConnection(Z,$){let j=this.getRawDb().prepare(`SELECT * FROM connector_connections
|
|
98
|
+
WHERE channel = ? AND instance_id = ?`).get(Z,$);return j?l(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(l)}upsertConfig(Z){let $=q(),j=this.getRawDb();j.exec("BEGIN IMMEDIATE;");try{let X=j.prepare("SELECT * FROM connector_configs WHERE channel = ?").get(Z.channel),K=X?h(X):void 0,W=j.prepare("SELECT * FROM connector_connections WHERE channel = ?").all(Z.channel).map(l),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 (?, ?, ?, ?, ?, ?, ?)
|
|
@@ -110,7 +110,7 @@ var FZ=Object.defineProperty;var GZ=(Z)=>Z;function YZ(Z,$){this[Z]=GZ.bind(null
|
|
|
110
110
|
configured_at = excluded.configured_at,
|
|
111
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(z),$,Z.channel,W[0].instanceId);j.exec("COMMIT;")}catch(X){try{j.exec("ROLLBACK;")}catch{}throw X}}recordConnected(Z,$,j){let X=
|
|
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=q();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(_($),q(),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(
|
|
126
|
+
WHERE channel = ?`).run(_($),q(),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(q())}deleteConfig(Z){return(this.getRawDb().prepare("DELETE FROM connector_configs WHERE channel = ?").run(Z).changes??0)>0}importLegacyJsonSettings(){let Z=$Z();if(!j0(Z))return;try{let $=JSON.parse(X0(Z,"utf8")),j=N($)&&N($.connectors)?$.connectors:{};for(let[X,K]of Object.entries(j)){if(!N(K)||this.getConfig(X))continue;let V={};if(N(K.values)){for(let[B,J]of Object.entries(K.values))if(typeof J==="string")V[B]=J}let W={},z=N(K.security)?K.security:void 0;if(z&&N(z.values)){for(let[B,J]of Object.entries(z.values))if(typeof J==="string")W[B]=J}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})}K0(Z,`${Z}.migrated`)}catch{}}}function h(Z){let $=Z.security_enabled===1,j=UZ(Z.security_values_json),X=$||Object.keys(j).length>0;return{channel:Y(Z.channel),type:Y(Z.type),values:UZ(Z.values_json),security:X?{enabled:$,values:j}:void 0,configuredAt:Y(Z.configured_at),updatedAt:Y(Z.updated_at)}}function l(Z){return{channel:Y(Z.channel),instanceId:Y(Z.instance_id),connectArgs:FZ(Z.connect_args_json)??[],lastSuccessfulArgs:FZ(Z.last_successful_args_json)??[],enabled:Z.enabled===1,updatedAt:Y(Z.updated_at),lastConnectedAt:p(Z.last_connected_at)??Y(Z.updated_at)}}function W0(Z){let $=new c;try{return Z($)}finally{$.close()}}export{W0 as withConnectorStore,_ as toBoolInt,q as nowIso,d as loadSqliteDb,$0 as ensureSessionSchema,GZ as ensureConnectorSchema,Y as asString,p as asOptionalString,sZ as asBool,c as SqliteConnectorStore};
|
package/dist/feature-flags.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export declare const FeatureFlag: {
|
|
2
2
|
/** Enables ClinePass provider/model list exposure in supported clients. */
|
|
3
3
|
readonly CLINE_PASS: "ext-cline-pass";
|
|
4
|
+
/** Shows the GitHub integration step in the desktop app */
|
|
5
|
+
readonly CODE_ONBOARDING_GITHUB: "code-onboarding-github";
|
|
4
6
|
};
|
|
5
7
|
export type KnownFeatureFlag = (typeof FeatureFlag)[keyof typeof FeatureFlag];
|
|
6
8
|
export type FeatureFlag = KnownFeatureFlag | (string & {});
|
package/dist/hub.d.ts
CHANGED
|
@@ -283,12 +283,29 @@ export interface HubTaskCancelInput extends HubTaskRevisionInput {
|
|
|
283
283
|
export interface HubTaskAutomationSetInput {
|
|
284
284
|
policy: Omit<AgendaAutomationPolicy, "updatedAt">;
|
|
285
285
|
}
|
|
286
|
+
export interface HubSessionSearchInput {
|
|
287
|
+
query: string;
|
|
288
|
+
limit?: number;
|
|
289
|
+
workspaceRoot?: string;
|
|
290
|
+
}
|
|
291
|
+
export interface HubSessionSearchHit {
|
|
292
|
+
sessionId: string;
|
|
293
|
+
documentId: string;
|
|
294
|
+
ordinal: number;
|
|
295
|
+
role: string;
|
|
296
|
+
startedAt: string;
|
|
297
|
+
workspaceRoot: string;
|
|
298
|
+
title: string;
|
|
299
|
+
snippet: string;
|
|
300
|
+
score: number;
|
|
301
|
+
}
|
|
286
302
|
/**
|
|
287
303
|
* Strongly typed task command payloads. This map is intentionally extensible so
|
|
288
304
|
* other Hub command families can adopt typed payloads without changing the wire
|
|
289
305
|
* envelope.
|
|
290
306
|
*/
|
|
291
307
|
export interface HubCommandInputMap {
|
|
308
|
+
"session.search": HubSessionSearchInput;
|
|
292
309
|
"task.create": HubTaskCreateInput;
|
|
293
310
|
"task.list": AgendaTaskListInput;
|
|
294
311
|
"task.get": HubTaskIdInput;
|
|
@@ -301,6 +318,9 @@ export interface HubCommandInputMap {
|
|
|
301
318
|
}
|
|
302
319
|
/** Typed task command results returned in {@link HubReplyEnvelope.payload}. */
|
|
303
320
|
export interface HubCommandOutputMap {
|
|
321
|
+
"session.search": {
|
|
322
|
+
hits: HubSessionSearchHit[];
|
|
323
|
+
};
|
|
304
324
|
"task.create": {
|
|
305
325
|
task: AgendaTaskRecord;
|
|
306
326
|
};
|
|
@@ -333,7 +353,7 @@ export interface HubCommandOutputMap {
|
|
|
333
353
|
export type HubTypedCommandName = keyof HubCommandInputMap & HubCommandName;
|
|
334
354
|
export type HubCommandInput<TCommand extends HubTypedCommandName> = HubCommandInputMap[TCommand];
|
|
335
355
|
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.enqueue" | "run.list" | "run.abort" | "run.proceed_while_running" | "hub.drain" | "hub.status" | "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";
|
|
356
|
+
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.search" | "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.enqueue" | "run.list" | "run.abort" | "run.proceed_while_running" | "hub.drain" | "hub.status" | "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";
|
|
337
357
|
export declare const HUB_DEFAULT_COMMAND_TIMEOUT_MS = 30000;
|
|
338
358
|
export declare const HUB_COMMAND_SLOW_LOG_MS = 5000;
|
|
339
359
|
export declare function getDefaultHubCommandTimeoutMs(command: HubCommandName): number | null;
|
package/dist/index.browser.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ export { validateWithZod, zodToJsonSchema } from "./parse/zod";
|
|
|
42
42
|
export type { ClineSystemPromptOptions } from "./prompt/cline";
|
|
43
43
|
export { buildClineSystemPrompt, MODE_TAG_INSTRUCTIONS, PLAN_MODE_INSTRUCTIONS, PLAN_MODE_INSTRUCTIONS_MANUAL_SWITCH, } from "./prompt/cline";
|
|
44
44
|
export type { ModeSwitchNotice, ModeSwitchNoticeTracker, } from "./prompt/format";
|
|
45
|
-
export { createModeSwitchNoticeTracker, formatDisplayUserInput, formatFileContentBlock, formatModeSwitchNotice, formatUserCommandBlock, formatUserInputBlock, normalizeUserInput, parseUserCommandEnvelope, stripModeNotices, xmlTagsRemoval, } from "./prompt/format";
|
|
45
|
+
export { createModeSwitchNoticeTracker, formatDisplayUserInput, formatFileContentBlock, formatModeSwitchNotice, formatSessionSearchPreview, formatSessionSearchTitle, formatUserCommandBlock, formatUserInputBlock, normalizeUserInput, parseUserCommandEnvelope, SESSION_SEARCH_PREVIEW_MAX_LENGTH, SESSION_SEARCH_TITLE_MAX_LENGTH, stripModeNotices, xmlTagsRemoval, } from "./prompt/format";
|
|
46
46
|
export { CLINE_DEFAULT_MODEL_ID } from "./providers/defaults";
|
|
47
47
|
export { isClineProvider } from "./providers/utils";
|
|
48
48
|
export { REMOTE_URI_SCHEME } from "./remote-config/constants";
|