@cline/shared 0.0.65 → 0.0.66
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/connectors/platforms.d.ts +24 -0
- package/dist/db/connector-store.d.ts +89 -0
- package/dist/db/index.d.ts +2 -0
- package/dist/db/index.js +49 -2
- package/dist/hub.d.ts +9 -2
- package/dist/index.browser.d.ts +4 -2
- package/dist/index.browser.js +20 -20
- package/dist/index.d.ts +7 -4
- package/dist/index.js +67 -67
- package/dist/providers/defaults.d.ts +2 -0
- package/dist/runtime/hub-daemon-env.d.ts +8 -0
- package/dist/services/telemetry.d.ts +29 -1
- package/dist/storage/chat-workspace-paths.d.ts +10 -0
- package/dist/storage/index.d.ts +1 -1
- package/dist/storage/index.js +1 -1
- package/dist/storage/paths.d.ts +14 -1
- package/package.json +1 -1
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
export declare const CLINE_RUN_AS_HUB_DAEMON_ENV = "CLINE_RUN_AS_HUB_DAEMON";
|
|
2
|
+
export declare const CLINE_CONNECTOR_CLI_LAUNCH_ENV = "CLINE_CONNECTOR_CLI_LAUNCH";
|
|
3
|
+
export interface ConnectorCliLaunchSpec {
|
|
4
|
+
launcher: string;
|
|
5
|
+
connectArgsPrefix: string[];
|
|
6
|
+
cwd: string;
|
|
7
|
+
}
|
|
2
8
|
export declare function isHubDaemonProcess(env?: Record<string, string | undefined>): boolean;
|
|
9
|
+
export declare function setConnectorCliLaunchSpec(spec: ConnectorCliLaunchSpec, env?: Record<string, string | undefined>): void;
|
|
10
|
+
export declare function readConnectorCliLaunchSpec(env?: Record<string, string | undefined>): ConnectorCliLaunchSpec | undefined;
|
|
@@ -28,8 +28,35 @@ export interface CaptureAgentUnexpectedReasoningTokensInput {
|
|
|
28
28
|
requestedThinking: false;
|
|
29
29
|
reasoningTokenCount: number;
|
|
30
30
|
}
|
|
31
|
+
export declare const TASK_PROVIDER_REQUEST_STARTED_EVENT = "task.provider_request_started";
|
|
32
|
+
export declare const TASK_PROVIDER_STREAM_STARTED_EVENT = "task.provider_stream_started";
|
|
33
|
+
export declare const TASK_FIRST_CHUNK_RECEIVED_EVENT = "task.first_chunk_received";
|
|
34
|
+
export declare const TASK_PROVIDER_STREAM_FAILED_EVENT = "task.provider_stream_failed";
|
|
35
|
+
export declare const TASK_CANCELLED_EVENT = "task.cancelled";
|
|
36
|
+
export interface CaptureTaskLifecycleEventInput {
|
|
37
|
+
event: string;
|
|
38
|
+
sessionId?: string;
|
|
39
|
+
ulid?: string;
|
|
40
|
+
agentId?: string;
|
|
41
|
+
conversationId?: string;
|
|
42
|
+
runId?: string;
|
|
43
|
+
iteration?: number;
|
|
44
|
+
providerId?: string;
|
|
45
|
+
modelId?: string;
|
|
46
|
+
phase?: string;
|
|
47
|
+
durationMs?: number;
|
|
48
|
+
eventType?: string;
|
|
49
|
+
error?: unknown;
|
|
50
|
+
messageLimit?: number;
|
|
51
|
+
}
|
|
31
52
|
export interface TelemetryMetadata {
|
|
32
53
|
extension_version: string;
|
|
54
|
+
/**
|
|
55
|
+
* The version of the host-side Cline distribution package: the JetBrains plugin version
|
|
56
|
+
* (e.g. 1.1.61) on JetBrains, the extension version on VSCode (where it matches
|
|
57
|
+
* `extension_version`). Absent when the host does not report one.
|
|
58
|
+
*/
|
|
59
|
+
host_plugin_version?: string;
|
|
33
60
|
cline_type: string;
|
|
34
61
|
platform: string;
|
|
35
62
|
platform_version: string;
|
|
@@ -58,6 +85,7 @@ export interface ITelemetryService {
|
|
|
58
85
|
}
|
|
59
86
|
export declare const SDK_ERROR_TELEMETRY_EVENT = "sdk.error";
|
|
60
87
|
export declare function captureAgentUnexpectedReasoningTokens(telemetry: ITelemetryService | undefined, input: CaptureAgentUnexpectedReasoningTokensInput): void;
|
|
88
|
+
export declare function captureTaskLifecycleEvent(telemetry: ITelemetryService | undefined, input: CaptureTaskLifecycleEventInput): void;
|
|
61
89
|
export declare function captureSdkError(telemetry: ITelemetryService | undefined, input: CaptureSdkErrorInput): void;
|
|
62
90
|
export declare function buildSdkErrorProperties(input: CaptureSdkErrorInput): TelemetryProperties;
|
|
63
91
|
export declare function normalizeSdkError(error: unknown, messageLimit?: number): TelemetryProperties;
|
|
@@ -68,7 +96,7 @@ export interface OpenTelemetryClientConfig {
|
|
|
68
96
|
enabled: boolean;
|
|
69
97
|
/**
|
|
70
98
|
* Metrics exporter type(s) - can be comma-separated for multiple exporters
|
|
71
|
-
* Examples: "console", "otlp", "
|
|
99
|
+
* Examples: "console", "otlp", "console,otlp"
|
|
72
100
|
*/
|
|
73
101
|
metricsExporter?: string;
|
|
74
102
|
/**
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const CLINE_WORKSPACES_DIRECTORY_NAME = "workspaces";
|
|
2
|
+
export declare const CLINE_CHAT_WORKSPACE_DIRECTORY_NAME = "chat";
|
|
3
|
+
/**
|
|
4
|
+
* Browser-safe structural check for the shared chat workspace that hosts
|
|
5
|
+
* sessions started without a project: `.cline/data/workspaces/chat`. Matches
|
|
6
|
+
* the directory itself only — project folders created inside it are regular
|
|
7
|
+
* workspaces. Matches the default data-dir layout; explicit `CLINE_DATA_DIR`
|
|
8
|
+
* overrides are not detectable from a bare path string.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isChatWorkspacePath(path: string): boolean;
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { resolveExistingFilePath } from "./path-resolution";
|
|
2
|
-
export { AGENT_CONFIG_DIRECTORY_NAME, AGENTS_RULES_FILE_NAME, CLINE_CONNECTOR_SETTINGS_FILE_NAME, CLINE_MCP_SETTINGS_FILE_NAME, type CronSpecsScope, discoverPluginModulePaths, ensureFileExists, ensureHookLogDir, ensureParentDir, HOOKS_CONFIG_DIRECTORY_NAME, isPluginModulePath, type ResolveCronSpecsDirOptions, RULES_CONFIG_DIRECTORY_NAME, resolveAgentConfigSearchPaths, resolveAgentsConfigDirPath, resolveClineDataDir, resolveClineDir, resolveConfiguredPluginModulePaths, resolveConnectorDataDir, resolveConnectorSettingsPath, resolveCronDbPath, resolveCronEventsDir, resolveCronReportsDir, resolveCronSpecsDir, resolveDbDataDir, resolveDocumentsClineDirectoryPath, resolveDocumentsExtensionPath, resolveGlobalAgentsRulesPath, resolveGlobalCronSpecsDir, resolveGlobalSettingsPath, resolveHooksConfigSearchPaths, resolveMcpSettingsPath, resolvePluginConfigSearchPaths, resolvePluginModuleEntries, resolveProviderSettingsPath, resolveRulesConfigSearchPaths, resolveSessionDataDir, resolveSkillsConfigSearchPaths, resolveTeamDataDir, resolveWorkflowsConfigSearchPaths, resolveWorkspaceCronSpecsDir, SKILLS_CONFIG_DIRECTORY_NAME, setClineDir, setClineDirIfUnset, setHomeDir, setHomeDirIfUnset, WORKFLOWS_CONFIG_DIRECTORY_NAME, } from "./paths";
|
|
2
|
+
export { AGENT_CONFIG_DIRECTORY_NAME, AGENTS_RULES_FILE_NAME, CLINE_CHAT_WORKSPACE_DIRECTORY_NAME, CLINE_CONNECTOR_SETTINGS_FILE_NAME, CLINE_MCP_SETTINGS_FILE_NAME, CLINE_WORKSPACES_DIRECTORY_NAME, type CronSpecsScope, discoverPluginModulePaths, ensureFileExists, ensureHookLogDir, ensureParentDir, HOOKS_CONFIG_DIRECTORY_NAME, isChatWorkspacePath, isPluginModulePath, type ResolveCronSpecsDirOptions, RULES_CONFIG_DIRECTORY_NAME, resolveAgentConfigSearchPaths, resolveAgentsConfigDirPath, resolveChatWorkspacePath, resolveClineDataDir, resolveClineDir, resolveConfiguredPluginModulePaths, resolveConnectorDataDir, resolveConnectorSettingsPath, resolveConnectorsDbPath, resolveCronDbPath, resolveCronEventsDir, resolveCronReportsDir, resolveCronSpecsDir, resolveDbDataDir, resolveDocumentsClineDirectoryPath, resolveDocumentsExtensionPath, resolveGlobalAgentsRulesPath, resolveGlobalCronSpecsDir, resolveGlobalSettingsPath, resolveHooksConfigSearchPaths, resolveMcpSettingsPath, resolvePluginConfigSearchPaths, resolvePluginModuleEntries, resolveProviderSettingsPath, resolveRulesConfigSearchPaths, resolveSessionDataDir, resolveSkillsConfigSearchPaths, resolveTeamDataDir, resolveWorkflowsConfigSearchPaths, resolveWorkspaceCronSpecsDir, SKILLS_CONFIG_DIRECTORY_NAME, setClineDir, setClineDirIfUnset, setHomeDir, setHomeDirIfUnset, WORKFLOWS_CONFIG_DIRECTORY_NAME, } from "./paths";
|
package/dist/storage/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var KC=Object.defineProperty;var LC=(C)=>C;function MC(C,S){this[C]=LC.bind(null,S)}var iC=(C,S)=>{for(var _ in S)KC(C,_,{get:S[_],enumerable:!0,configurable:!0,set:MC.bind(S,_)})};import{existsSync as Y,readdirSync as vC}from"node:fs";import{basename as d,dirname as o,join as p}from"node:path";var FC=/[\u00A0\u2000-\u200A\u202F\u205F\u3000]/g,WC=" ";function m(C){return C.normalize("NFC").replace(FC," ")}function YC(C){let S=d(C),_=S.replace(/ (AM|PM)\./gi,`${WC}$1.`);return _===S?C:p(o(C),_)}function DC(C){return C.normalize("NFD")}function l(C){return C.replace(/'/g,"’")}function RC(C){let S=o(C),_=m(d(C));try{for(let I of vC(S))if(m(I)===_)return p(S,I)}catch{}return}function qC(C){if(Y(C))return C;let S=YC(C);if(S!==C&&Y(S))return S;let _=DC(C);if(_!==C&&Y(_))return _;let I=l(C);if(I!==C&&Y(I))return I;let G=l(_);if(G!==_&&G!==I&&Y(G))return G;return RC(C)}import{appendFileSync as QC,existsSync as T,mkdirSync as J,readdirSync as ZC,readFileSync as $C,statSync as D}from"node:fs";import{homedir as AC}from"node:os";import{dirname as b,join as E,resolve as R}from"node:path";var Z="workspaces",$="chat";function s(C){let S=C.trim(),_=/^[A-Za-z]:[\\/]/.test(S)||S.startsWith("\\\\"),I=S.startsWith("/");if(!_&&!I)return!1;let G=S.split(_?/[\\/]+/:/\/+/).filter(Boolean),O=G.at(-1)??"",M=G.at(-2)??"",N=G.at(-3)??"";return(G.at(-4)??"")===".cline"&&N==="data"&&M==="workspaces"&&O==="chat"}var V=".clinerules",U=".cline",x=".agents",u="agents",A="hooks",X="skills",z="rules",B="workflows",P="plugins",k="AGENTS.md";function BC(){return E(K(),Z,$)}var c="cline_mcp_settings.json",n="settings.json";function XC(){let C=process?.env?.HOME?.trim();if(C&&C!=="~")return C;let S=process?.env?.USERPROFILE?.trim();if(S)return S;let _=process?.env?.HOMEDRIVE?.trim(),I=process?.env?.HOMEPATH?.trim();if(_&&I)return`${_}${I}`;let G=AC().trim();if(G&&G!=="~")return G;return"~"}var v=XC(),h=!1;function jC(C){let S=C.trim();if(!S)return;v=S,h=!0}function UC(C){if(h)return;let S=C.trim();if(!S)return;v=S}var j,r=!1;function gC(C){let S=C.trim();if(!S)return;j=S,r=!0}function zC(C){if(r)return;let S=C.trim();if(!S)return;j=S}function L(){if(j)return j;let C=process.env.CLINE_DIR?.trim();if(C)return C;return E(v,".cline")}function i(){return E(v,"Documents","Cline")}function Q(C){return E(i(),C)}function K(){let C=process.env.CLINE_DATA_DIR?.trim();if(C)return C;return E(L(),"data")}function HC(){let C=process.env.CLINE_SESSION_DATA_DIR?.trim();if(C)return C;return E(K(),"sessions")}function JC(){let C=process.env.CLINE_TEAM_DATA_DIR?.trim();if(C)return C;return E(K(),"teams")}function e(){let C=process.env.CLINE_CONNECTOR_DATA_DIR?.trim();if(C)return C;return E(K(),"connectors")}function bC(){let C=process.env.CLINE_CONNECTOR_SETTINGS_PATH?.trim();if(C)return C;return E(e(),n)}function y(){let C=process.env.CLINE_DB_DATA_DIR?.trim();if(C)return C;return E(K(),"db")}function VC(){let C=process.env.CLINE_CONNECTORS_DB_PATH?.trim();if(C)return C;return E(y(),"connectors.db")}function xC(){let C=process.env.CLINE_CRON_DB_PATH?.trim();if(C)return C;return E(y(),"cron.db")}function t(){return E(L(),"cron")}function H(C){return E(C,".cline","cron")}function w(C){if(typeof C==="string")return H(C);if(C?.cronSpecsDir?.trim())return C.cronSpecsDir.trim();if(C?.scope==="workspace"){let S=C.workspaceRoot?.trim();if(!S)throw Error("workspaceRoot is required for workspace cron scope");return H(S)}return t()}function uC(C){return E(w(C),"reports")}function kC(C){return E(w(C),"events")}function yC(){let C=process.env.CLINE_PROVIDER_SETTINGS_PATH?.trim();if(C)return C;return E(K(),"settings","providers.json")}function wC(){let C=process.env.CLINE_GLOBAL_SETTINGS_PATH?.trim();if(C)return C;return E(K(),"settings","global-settings.json")}function fC(){let C=process.env.CLINE_MCP_SETTINGS_PATH?.trim();if(C)return C;return E(K(),"settings",c)}function F(C){let S=new Set,_=[];for(let I of C){if(!I||S.has(I))continue;S.add(I),_.push(I)}return _}function mC(C){if(!C)return[];return[V,U,x].map((S)=>E(C,S,X))}function a(){return E(L(),u)}function lC(C){return F([C?E(C,U,u):"",a()])}function dC(C){let S=[Q("Hooks"),E(L(),A)];if(C)S.push(E(C,V,A),E(C,U,A));return F(S)}function oC(C){return F([...mC(C),E(L(),X),E(v,x,X)])}function CC(){return E(v,x,k)}function pC(C){let S=C?[E(C,V),E(C,U,z)]:[],_=C?[E(C,k)]:[];return F([..._,...S,CC(),E(L(),z),Q("Rules")])}function sC(C){return F([C?E(C,".clinerules",B):"",Q("Workflows"),E(L(),B),C?E(C,".cline",B):""])}function PC(C){return F([C?E(C,".cline",P):"",E(L(),P),Q("Plugins")])}var SC=new Set([".js",".ts"]),EC="package.json",cC=["index.ts","index.js"];function q(C){let S=C.lastIndexOf(".");if(S===-1)return!1;return SC.has(C.slice(S))}function _C(C){try{let S=JSON.parse($C(C,"utf8"));if(!S.cline||typeof S.cline!=="object")return null;return S.cline}catch{return null}}function GC(C){let S=C?.plugins;if(!Array.isArray(S))return[];return S.flatMap((_)=>_.paths??[])}function IC(C){let S=R(C);if(!T(S)||!D(S).isDirectory())return null;let _=E(S,EC);if(T(_)){let I=_C(_),G=GC(I).map((O)=>R(S,O)).filter((O)=>T(O)&&D(O).isFile()&&q(O));if(G.length>0)return G}for(let I of cC){let G=E(S,I);if(T(G)&&D(G).isFile())return[G]}return null}function OC(C){let S=R(C);if(!T(S))return[];let _=[],I=[S];while(I.length>0){let G=I.pop();if(!G)continue;let O;try{O=ZC(G,{withFileTypes:!0})}catch{continue}for(let M of O){let N=E(G,M.name);if(M.isDirectory()){let g=E(N,EC);if(T(g)){let TC=_C(g),f=GC(TC).map((W)=>R(N,W)).filter((W)=>T(W)&&D(W).isFile()&&q(W));if(f.length>0){_.push(...f);continue}}I.push(N);continue}if(M.name.startsWith("."))continue;if(M.isFile()&&q(N))_.push(N)}}return _.sort((G,O)=>G.localeCompare(O))}function nC(C,S){let _=[];for(let I of C){let G=I.trim();if(!G)continue;let O=R(S,G);if(!T(O))throw Error(`Plugin path does not exist: ${O}`);if(D(O).isDirectory()){let N=IC(O);if(N){_.push(...N);continue}_.push(...OC(O));continue}if(!q(O))throw Error(`Plugin file must use a supported extension (${[...SC].join(", ")}): ${O}`);_.push(O)}return _}function NC(C){let S=b(C);if(!T(S))J(S,{recursive:!0})}function hC(C){J(b(C),{recursive:!0}),QC(C,"")}function rC(C){if(C?.trim())return NC(C),b(C);let S=E(K(),"logs");if(!T(S))J(S,{recursive:!0});return S}export{UC as setHomeDirIfUnset,jC as setHomeDir,zC as setClineDirIfUnset,gC as setClineDir,H as resolveWorkspaceCronSpecsDir,sC as resolveWorkflowsConfigSearchPaths,JC as resolveTeamDataDir,oC as resolveSkillsConfigSearchPaths,HC as resolveSessionDataDir,pC as resolveRulesConfigSearchPaths,yC as resolveProviderSettingsPath,IC as resolvePluginModuleEntries,PC as resolvePluginConfigSearchPaths,fC as resolveMcpSettingsPath,dC as resolveHooksConfigSearchPaths,wC as resolveGlobalSettingsPath,t as resolveGlobalCronSpecsDir,CC as resolveGlobalAgentsRulesPath,qC as resolveExistingFilePath,Q as resolveDocumentsExtensionPath,i as resolveDocumentsClineDirectoryPath,y as resolveDbDataDir,w as resolveCronSpecsDir,uC as resolveCronReportsDir,kC as resolveCronEventsDir,xC as resolveCronDbPath,VC as resolveConnectorsDbPath,bC as resolveConnectorSettingsPath,e as resolveConnectorDataDir,nC as resolveConfiguredPluginModulePaths,L as resolveClineDir,K as resolveClineDataDir,BC as resolveChatWorkspacePath,a as resolveAgentsConfigDirPath,lC as resolveAgentConfigSearchPaths,q as isPluginModulePath,s as isChatWorkspacePath,NC as ensureParentDir,rC as ensureHookLogDir,hC as ensureFileExists,OC as discoverPluginModulePaths,B as WORKFLOWS_CONFIG_DIRECTORY_NAME,X as SKILLS_CONFIG_DIRECTORY_NAME,z as RULES_CONFIG_DIRECTORY_NAME,A as HOOKS_CONFIG_DIRECTORY_NAME,Z as CLINE_WORKSPACES_DIRECTORY_NAME,c as CLINE_MCP_SETTINGS_FILE_NAME,n as CLINE_CONNECTOR_SETTINGS_FILE_NAME,$ as CLINE_CHAT_WORKSPACE_DIRECTORY_NAME,u as AGENT_CONFIG_DIRECTORY_NAME,k as AGENTS_RULES_FILE_NAME};
|
package/dist/storage/paths.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { CLINE_CHAT_WORKSPACE_DIRECTORY_NAME, CLINE_WORKSPACES_DIRECTORY_NAME, isChatWorkspacePath, } from "./chat-workspace-paths";
|
|
1
2
|
export declare const AGENT_CONFIG_DIRECTORY_NAME = "agents";
|
|
2
3
|
export declare const HOOKS_CONFIG_DIRECTORY_NAME = "hooks";
|
|
3
4
|
export declare const SKILLS_CONFIG_DIRECTORY_NAME = "skills";
|
|
@@ -5,6 +6,13 @@ export declare const RULES_CONFIG_DIRECTORY_NAME = "rules";
|
|
|
5
6
|
export declare const WORKFLOWS_CONFIG_DIRECTORY_NAME = "workflows";
|
|
6
7
|
export declare const PLUGINS_DIRECTORY_NAME = "plugins";
|
|
7
8
|
export declare const AGENTS_RULES_FILE_NAME = "AGENTS.md";
|
|
9
|
+
/**
|
|
10
|
+
* Shared workspace for all sessions started without a `cwd`/`workspaceRoot`.
|
|
11
|
+
* Lives under the cline data dir (not `os.tmpdir()`) so OS temp reapers never
|
|
12
|
+
* delete user work, the path is private to the user on multi-user hosts, and
|
|
13
|
+
* the directory shares the session store's lifecycle and env overrides.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveChatWorkspacePath(): string;
|
|
8
16
|
export declare const CLINE_MCP_SETTINGS_FILE_NAME = "cline_mcp_settings.json";
|
|
9
17
|
export declare const CLINE_CONNECTOR_SETTINGS_FILE_NAME = "settings.json";
|
|
10
18
|
export declare function setHomeDir(dir: string): void;
|
|
@@ -21,6 +29,12 @@ export declare function resolveTeamDataDir(): string;
|
|
|
21
29
|
export declare function resolveConnectorDataDir(): string;
|
|
22
30
|
export declare function resolveConnectorSettingsPath(): string;
|
|
23
31
|
export declare function resolveDbDataDir(): string;
|
|
32
|
+
/**
|
|
33
|
+
* Path to the dedicated connector configuration database.
|
|
34
|
+
* Lives alongside `sessions.db` but is a separate file so connector
|
|
35
|
+
* credentials/config stay decoupled from session storage.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveConnectorsDbPath(): string;
|
|
24
38
|
/**
|
|
25
39
|
* Path to the dedicated cron/automation database.
|
|
26
40
|
* Lives alongside `sessions.db` but is a separate file so cron lifecycle,
|
|
@@ -88,4 +102,3 @@ export declare function resolveConfiguredPluginModulePaths(pluginPaths: Readonly
|
|
|
88
102
|
export declare function ensureParentDir(filePath: string): void;
|
|
89
103
|
export declare function ensureFileExists(filePath: string): void;
|
|
90
104
|
export declare function ensureHookLogDir(filePath?: string): string;
|
|
91
|
-
export {};
|