@clinebot/shared 0.0.11 → 0.0.13

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.
@@ -0,0 +1,4 @@
1
+ export declare const CLINE_RPC_PORT = 25463;
2
+ export declare const CLINE_DEFAULT_RPC_PORT = 4317;
3
+ export declare const RPC_ADDRESS_BASE = "127.0.0.1";
4
+ export declare const CLINE_DEFAULT_RPC_ADDRESS = "127.0.0.1:4317";
@@ -60,6 +60,7 @@ export interface RpcChatRunTurnRequest {
60
60
  messages?: RpcChatMessage[];
61
61
  prompt: string;
62
62
  attachments?: RpcChatAttachments;
63
+ delivery?: "queue" | "steer";
63
64
  }
64
65
  export interface RpcChatToolCallResult {
65
66
  name: string;
@@ -1 +1 @@
1
- export { AGENT_CONFIG_DIRECTORY_NAME, CLINE_MCP_SETTINGS_FILE_NAME, ensureHookLogDir, ensureParentDir, HOOKS_CONFIG_DIRECTORY_NAME, RULES_CONFIG_DIRECTORY_NAME, resolveAgentConfigSearchPaths, resolveAgentsConfigDirPath, resolveClineDataDir, resolveClineDir, resolveDocumentsAgentConfigDirectoryPath, resolveDocumentsClineDirectoryPath, resolveDocumentsHooksDirectoryPath, resolveDocumentsRulesDirectoryPath, resolveDocumentsWorkflowsDirectoryPath, resolveHooksConfigSearchPaths, resolveMcpSettingsPath, resolvePluginConfigSearchPaths, resolveProviderSettingsPath, resolveRulesConfigSearchPaths, resolveSessionDataDir, resolveSkillsConfigSearchPaths, resolveTeamDataDir, resolveWorkflowsConfigSearchPaths, SKILLS_CONFIG_DIRECTORY_NAME, setClineDir, setClineDirIfUnset, setHomeDir, setHomeDirIfUnset, WORKFLOWS_CONFIG_DIRECTORY_NAME, } from "./paths";
1
+ export { AGENT_CONFIG_DIRECTORY_NAME, CLINE_MCP_SETTINGS_FILE_NAME, discoverPluginModulePaths, ensureHookLogDir, ensureParentDir, HOOKS_CONFIG_DIRECTORY_NAME, isPluginModulePath, RULES_CONFIG_DIRECTORY_NAME, resolveAgentConfigSearchPaths, resolveAgentsConfigDirPath, resolveClineDataDir, resolveClineDir, resolveConfiguredPluginModulePaths, resolveDocumentsAgentConfigDirectoryPath, resolveDocumentsClineDirectoryPath, resolveDocumentsHooksDirectoryPath, resolveDocumentsPluginsDirectoryPath, resolveDocumentsRulesDirectoryPath, resolveDocumentsWorkflowsDirectoryPath, resolveHooksConfigSearchPaths, resolveMcpSettingsPath, resolvePluginConfigSearchPaths, resolvePluginModuleEntries, resolveProviderSettingsPath, resolveRulesConfigSearchPaths, resolveSessionDataDir, resolveSkillsConfigSearchPaths, resolveTeamDataDir, resolveWorkflowsConfigSearchPaths, SKILLS_CONFIG_DIRECTORY_NAME, setClineDir, setClineDirIfUnset, setHomeDir, setHomeDirIfUnset, WORKFLOWS_CONFIG_DIRECTORY_NAME, } from "./paths";
@@ -1 +1 @@
1
- var j=Object.defineProperty;var q=(o)=>o;function z(o,v){this[o]=q.bind(null,v)}var i=(o,v)=>{for(var S in v)j(o,S,{get:v[S],enumerable:!0,configurable:!0,set:z.bind(v,S)})};import{existsSync as G,mkdirSync as e}from"node:fs";import{dirname as y,join as n}from"node:path";var F="agents",H="hooks",g="skills",M="rules",f="workflows",O="plugins",T="cline_mcp_settings.json",s=process?.env?.HOME||"~",_=!1;function B(o){let v=o.trim();if(!v)return;s=v,_=!0}function J(o){if(_)return;let v=o.trim();if(!v)return;s=v}var A,K=!1;function Q(o){let v=o.trim();if(!v)return;A=v,K=!0}function V(o){if(K)return;let v=o.trim();if(!v)return;A=v}function N(){if(A)return A;let o=process.env.CLINE_DIR?.trim();if(o)return o;return n(s,".cline")}function D(){return n(s,"Documents","Cline")}function R(){return n(D(),"Agents")}function U(){return n(D(),"Hooks")}function E(){return n(D(),"Rules")}function W(){return n(D(),"Workflows")}function C(){let o=process.env.CLINE_DATA_DIR?.trim();if(o)return o;return n(N(),"data")}function Z(){let o=process.env.CLINE_SESSION_DATA_DIR?.trim();if(o)return o;return n(C(),"sessions")}function $(){let o=process.env.CLINE_TEAM_DATA_DIR?.trim();if(o)return o;return n(C(),"teams")}function I(){let o=process.env.CLINE_PROVIDER_SETTINGS_PATH?.trim();if(o)return o;return n(C(),"settings","providers.json")}function X(){let o=process.env.CLINE_MCP_SETTINGS_PATH?.trim();if(o)return o;return n(C(),"settings",T)}function l(o){let v=new Set,S=[];for(let u of o){if(!u||v.has(u))continue;v.add(u),S.push(u)}return S}function L(o){if(!o)return[];return[n(o,".clinerules",g),n(o,".cline",g),n(o,".claude",g),n(o,".agents",g)]}function Y(){return n(C(),"settings",F)}function m(){return[R(),Y()]}function r(o){return l([o?n(o,".clinerules",H):"",U()])}function x(o){return l([...L(o),n(C(),"settings",g),n(N(),g),n(s,".agents",g)])}function k(o){return l([o?n(o,".clinerules"):"",n(C(),"settings",M),E()])}function h(o){return l([o?n(o,".clinerules","workflows"):"",n(C(),"settings",f),W()])}function P(o){return l([o?n(o,".clinerules",O):"",n(N(),O),n(s,".agents",O)])}function b(o){let v=y(o);if(!G(v))e(v,{recursive:!0})}function c(o){if(o?.trim())return b(o),y(o);let v=n(C(),"hooks");if(!G(v))e(v,{recursive:!0});return v}export{J as setHomeDirIfUnset,B as setHomeDir,V as setClineDirIfUnset,Q as setClineDir,h as resolveWorkflowsConfigSearchPaths,$ as resolveTeamDataDir,x as resolveSkillsConfigSearchPaths,Z as resolveSessionDataDir,k as resolveRulesConfigSearchPaths,I as resolveProviderSettingsPath,P as resolvePluginConfigSearchPaths,X as resolveMcpSettingsPath,r as resolveHooksConfigSearchPaths,W as resolveDocumentsWorkflowsDirectoryPath,E as resolveDocumentsRulesDirectoryPath,U as resolveDocumentsHooksDirectoryPath,D as resolveDocumentsClineDirectoryPath,R as resolveDocumentsAgentConfigDirectoryPath,N as resolveClineDir,C as resolveClineDataDir,Y as resolveAgentsConfigDirPath,m as resolveAgentConfigSearchPaths,b as ensureParentDir,c as ensureHookLogDir,f as WORKFLOWS_CONFIG_DIRECTORY_NAME,g as SKILLS_CONFIG_DIRECTORY_NAME,M as RULES_CONFIG_DIRECTORY_NAME,H as HOOKS_CONFIG_DIRECTORY_NAME,T as CLINE_MCP_SETTINGS_FILE_NAME,F as AGENT_CONFIG_DIRECTORY_NAME};
1
+ var s=Object.defineProperty;var n=(C)=>C;function w(C,D){this[C]=n.bind(null,D)}var EC=(C,D)=>{for(var N in D)s(C,N,{get:D[N],enumerable:!0,configurable:!0,set:w.bind(D,N)})};import{existsSync as g,mkdirSync as L,readdirSync as k,readFileSync as i,statSync as G}from"node:fs";import{dirname as U,join as S,resolve as H}from"node:path";var Y="agents",j="hooks",A="skills",q="rules",z="workflows",u="plugins",B="cline_mcp_settings.json",I=process?.env?.HOME||"~",Q=!1;function c(C){let D=C.trim();if(!D)return;I=D,Q=!0}function P(C){if(Q)return;let D=C.trim();if(!D)return;I=D}var T,V=!1;function d(C){let D=C.trim();if(!D)return;T=D,V=!0}function r(C){if(V)return;let D=C.trim();if(!D)return;T=D}function l(){if(T)return T;let C=process.env.CLINE_DIR?.trim();if(C)return C;return S(I,".cline")}function M(){return S(I,"Documents","Cline")}function Z(){return S(M(),"Agents")}function $(){return S(M(),"Hooks")}function f(){return S(M(),"Rules")}function X(){return S(M(),"Workflows")}function J(){return S(I,"Documents","Plugins")}function R(){let C=process.env.CLINE_DATA_DIR?.trim();if(C)return C;return S(l(),"data")}function h(){let C=process.env.CLINE_SESSION_DATA_DIR?.trim();if(C)return C;return S(R(),"sessions")}function p(){let C=process.env.CLINE_TEAM_DATA_DIR?.trim();if(C)return C;return S(R(),"teams")}function e(){let C=process.env.CLINE_PROVIDER_SETTINGS_PATH?.trim();if(C)return C;return S(R(),"settings","providers.json")}function t(){let C=process.env.CLINE_MCP_SETTINGS_PATH?.trim();if(C)return C;return S(R(),"settings",B)}function E(C){let D=new Set,N=[];for(let _ of C){if(!_||D.has(_))continue;D.add(_),N.push(_)}return N}function a(C){if(!C)return[];return[S(C,".clinerules",A),S(C,".cline",A),S(C,".claude",A),S(C,".agents",A)]}function x(){return S(R(),"settings",Y)}function CC(){return[Z(),x()]}function DC(C){return E([C?S(C,".clinerules",j):"",$()])}function SC(C){return E([...a(C),S(R(),"settings",A),S(l(),A),S(I,".agents",A)])}function vC(C){return E([C?S(C,".clinerules"):"",S(R(),"settings",q),f()])}function NC(C){return E([C?S(C,".clinerules","workflows"):"",S(R(),"settings",z),X()])}function OC(C){return E([C?S(C,".clinerules",u):"",S(l(),u),J()])}var b=new Set([".js",".mjs",".cjs",".ts",".mts",".cts"]),_C="package.json",RC=["index.ts","index.mts","index.cts","index.js","index.mjs","index.cjs"];function K(C){let D=C.lastIndexOf(".");if(D===-1)return!1;return b.has(C.slice(D))}function gC(C){try{let D=JSON.parse(i(C,"utf8"));if(!D.cline||typeof D.cline!=="object")return null;return D.cline}catch{return null}}function AC(C){let D=C?.plugins??C?.extensions;if(!Array.isArray(D))return[];return D.filter((N)=>typeof N==="string")}function o(C){let D=H(C);if(!g(D)||!G(D).isDirectory())return null;let N=S(D,_C);if(g(N)){let _=gC(N),O=AC(_).map((v)=>H(D,v)).filter((v)=>g(v)&&G(v).isFile()&&K(v));if(O.length>0)return O}for(let _ of RC){let O=S(D,_);if(g(O)&&G(O).isFile())return[O]}return null}function m(C){let D=H(C);if(!g(D))return[];let N=[],_=[D];while(_.length>0){let O=_.pop();if(!O)continue;for(let v of k(O,{withFileTypes:!0})){let F=S(O,v.name);if(v.isDirectory()){_.push(F);continue}if(v.name.startsWith("."))continue;if(v.isFile()&&K(F))N.push(F)}}return N.sort((O,v)=>O.localeCompare(v))}function IC(C,D){let N=[];for(let _ of C){let O=_.trim();if(!O)continue;let v=H(D,O);if(!g(v))throw Error(`Plugin path does not exist: ${v}`);if(G(v).isDirectory()){let W=o(v);if(W){N.push(...W);continue}N.push(...m(v));continue}if(!K(v))throw Error(`Plugin file must use a supported extension (${[...b].join(", ")}): ${v}`);N.push(v)}return N}function y(C){let D=U(C);if(!g(D))L(D,{recursive:!0})}function MC(C){if(C?.trim())return y(C),U(C);let D=S(R(),"hooks");if(!g(D))L(D,{recursive:!0});return D}export{P as setHomeDirIfUnset,c as setHomeDir,r as setClineDirIfUnset,d as setClineDir,NC as resolveWorkflowsConfigSearchPaths,p as resolveTeamDataDir,SC as resolveSkillsConfigSearchPaths,h as resolveSessionDataDir,vC as resolveRulesConfigSearchPaths,e as resolveProviderSettingsPath,o as resolvePluginModuleEntries,OC as resolvePluginConfigSearchPaths,t as resolveMcpSettingsPath,DC as resolveHooksConfigSearchPaths,X as resolveDocumentsWorkflowsDirectoryPath,f as resolveDocumentsRulesDirectoryPath,J as resolveDocumentsPluginsDirectoryPath,$ as resolveDocumentsHooksDirectoryPath,M as resolveDocumentsClineDirectoryPath,Z as resolveDocumentsAgentConfigDirectoryPath,IC as resolveConfiguredPluginModulePaths,l as resolveClineDir,R as resolveClineDataDir,x as resolveAgentsConfigDirPath,CC as resolveAgentConfigSearchPaths,K as isPluginModulePath,y as ensureParentDir,MC as ensureHookLogDir,m as discoverPluginModulePaths,z as WORKFLOWS_CONFIG_DIRECTORY_NAME,A as SKILLS_CONFIG_DIRECTORY_NAME,q as RULES_CONFIG_DIRECTORY_NAME,j as HOOKS_CONFIG_DIRECTORY_NAME,B as CLINE_MCP_SETTINGS_FILE_NAME,Y as AGENT_CONFIG_DIRECTORY_NAME};
@@ -15,6 +15,7 @@ export declare function resolveDocumentsAgentConfigDirectoryPath(): string;
15
15
  export declare function resolveDocumentsHooksDirectoryPath(): string;
16
16
  export declare function resolveDocumentsRulesDirectoryPath(): string;
17
17
  export declare function resolveDocumentsWorkflowsDirectoryPath(): string;
18
+ export declare function resolveDocumentsPluginsDirectoryPath(): string;
18
19
  export declare function resolveClineDataDir(): string;
19
20
  export declare function resolveSessionDataDir(): string;
20
21
  export declare function resolveTeamDataDir(): string;
@@ -27,5 +28,9 @@ export declare function resolveSkillsConfigSearchPaths(workspacePath?: string):
27
28
  export declare function resolveRulesConfigSearchPaths(workspacePath?: string): string[];
28
29
  export declare function resolveWorkflowsConfigSearchPaths(workspacePath?: string): string[];
29
30
  export declare function resolvePluginConfigSearchPaths(workspacePath?: string): string[];
31
+ export declare function isPluginModulePath(path: string): boolean;
32
+ export declare function resolvePluginModuleEntries(directoryPath: string): string[] | null;
33
+ export declare function discoverPluginModulePaths(directoryPath: string): string[];
34
+ export declare function resolveConfiguredPluginModulePaths(pluginPaths: ReadonlyArray<string>, cwd: string): string[];
30
35
  export declare function ensureParentDir(filePath: string): void;
31
36
  export declare function ensureHookLogDir(filePath?: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clinebot/shared",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Shared utilities, types, and schemas for Cline packages",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,152 @@
1
+ export type ConnectWhatsAppOptions = {
2
+ userName: string;
3
+ phoneNumberId?: string;
4
+ accessToken?: string;
5
+ appSecret?: string;
6
+ verifyToken?: string;
7
+ apiVersion?: string;
8
+ cwd: string;
9
+ model?: string;
10
+ provider?: string;
11
+ apiKey?: string;
12
+ systemPrompt?: string;
13
+ mode: "act" | "plan";
14
+ interactive: boolean;
15
+ maxIterations?: number;
16
+ enableTools: boolean;
17
+ rpcAddress: string;
18
+ hookCommand?: string;
19
+ port: number;
20
+ host: string;
21
+ baseUrl: string;
22
+ };
23
+
24
+ export type WhatsAppConnectorState = {
25
+ instanceKey: string;
26
+ userName: string;
27
+ phoneNumberId?: string;
28
+ pid: number;
29
+ rpcAddress: string;
30
+ port: number;
31
+ baseUrl: string;
32
+ startedAt: string;
33
+ };
34
+
35
+ export type ConnectTelegramOptions = {
36
+ botToken: string;
37
+ botUsername: string;
38
+ cwd: string;
39
+ model?: string;
40
+ provider?: string;
41
+ apiKey?: string;
42
+ systemPrompt?: string;
43
+ mode: "act" | "plan";
44
+ interactive: boolean;
45
+ maxIterations?: number;
46
+ enableTools: boolean;
47
+ rpcAddress: string;
48
+ hookCommand?: string;
49
+ };
50
+
51
+ export type TelegramConnectorState = {
52
+ botUsername: string;
53
+ pid: number;
54
+ rpcAddress: string;
55
+ startedAt: string;
56
+ };
57
+
58
+ export type ConnectSlackOptions = {
59
+ userName: string;
60
+ botToken?: string;
61
+ signingSecret?: string;
62
+ clientId?: string;
63
+ clientSecret?: string;
64
+ encryptionKey?: string;
65
+ installationKeyPrefix?: string;
66
+ cwd: string;
67
+ model?: string;
68
+ provider?: string;
69
+ apiKey?: string;
70
+ systemPrompt?: string;
71
+ mode: "act" | "plan";
72
+ interactive: boolean;
73
+ maxIterations?: number;
74
+ enableTools: boolean;
75
+ rpcAddress: string;
76
+ hookCommand?: string;
77
+ port: number;
78
+ host: string;
79
+ baseUrl: string;
80
+ };
81
+
82
+ export type SlackConnectorState = {
83
+ userName: string;
84
+ pid: number;
85
+ rpcAddress: string;
86
+ port: number;
87
+ baseUrl: string;
88
+ startedAt: string;
89
+ };
90
+
91
+ export type ConnectGoogleChatOptions = {
92
+ userName: string;
93
+ cwd: string;
94
+ model?: string;
95
+ provider?: string;
96
+ apiKey?: string;
97
+ systemPrompt?: string;
98
+ mode: "act" | "plan";
99
+ interactive: boolean;
100
+ maxIterations?: number;
101
+ enableTools: boolean;
102
+ rpcAddress: string;
103
+ hookCommand?: string;
104
+ port: number;
105
+ host: string;
106
+ baseUrl: string;
107
+ pubsubTopic?: string;
108
+ impersonateUser?: string;
109
+ useApplicationDefaultCredentials: boolean;
110
+ credentialsJson?: string;
111
+ };
112
+
113
+ export type GoogleChatConnectorState = {
114
+ userName: string;
115
+ pid: number;
116
+ rpcAddress: string;
117
+ port: number;
118
+ baseUrl: string;
119
+ startedAt: string;
120
+ };
121
+
122
+ export type ConnectLinearOptions = {
123
+ userName: string;
124
+ apiKey?: string;
125
+ clientId?: string;
126
+ clientSecret?: string;
127
+ accessToken?: string;
128
+ webhookSecret: string;
129
+ cwd: string;
130
+ model?: string;
131
+ provider?: string;
132
+ apiProviderKey?: string;
133
+ systemPrompt?: string;
134
+ mode: "act" | "plan";
135
+ interactive: boolean;
136
+ maxIterations?: number;
137
+ enableTools: boolean;
138
+ rpcAddress: string;
139
+ hookCommand?: string;
140
+ port: number;
141
+ host: string;
142
+ baseUrl: string;
143
+ };
144
+
145
+ export type LinearConnectorState = {
146
+ userName: string;
147
+ pid: number;
148
+ rpcAddress: string;
149
+ port: number;
150
+ baseUrl: string;
151
+ startedAt: string;
152
+ };