@xquik/tweetclaw 1.6.17 → 1.6.19
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/README.md +3 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/request.js +84 -3
- package/dist/request.js.map +1 -1
- package/openclaw.plugin.json +3 -3
- package/package.json +2 -2
- package/skills/tweetclaw/SKILL.md +3 -1
- package/src/index.ts +6 -1
- package/src/request.ts +94 -5
package/README.md
CHANGED
|
@@ -120,10 +120,13 @@ openclaw skills info tweetclaw
|
|
|
120
120
|
### Optional settings
|
|
121
121
|
|
|
122
122
|
```bash
|
|
123
|
+
openclaw config set plugins.entries.tweetclaw.config.baseUrl "https://xquik.com"
|
|
123
124
|
openclaw config set plugins.entries.tweetclaw.config.pollingEnabled true
|
|
124
125
|
openclaw config set plugins.entries.tweetclaw.config.pollingInterval 60
|
|
125
126
|
```
|
|
126
127
|
|
|
128
|
+
Only change `baseUrl` for a self-hosted Xquik-compatible API. TweetClaw requires an HTTPS base URL with no embedded credentials.
|
|
129
|
+
|
|
127
130
|
## Tools
|
|
128
131
|
|
|
129
132
|
TweetClaw uses 2 structured tools for the agent-safe endpoint catalog:
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -22,7 +22,12 @@ const CONFIG_SCHEMA = {
|
|
|
22
22
|
minLength: 1,
|
|
23
23
|
type: 'string',
|
|
24
24
|
},
|
|
25
|
-
baseUrl: {
|
|
25
|
+
baseUrl: {
|
|
26
|
+
default: 'https://xquik.com',
|
|
27
|
+
description: 'HTTPS Xquik-compatible API base URL. Only change if using a self-hosted Xquik instance.',
|
|
28
|
+
pattern: '^https://',
|
|
29
|
+
type: 'string',
|
|
30
|
+
},
|
|
26
31
|
pollingEnabled: { default: true, type: 'boolean' },
|
|
27
32
|
pollingInterval: {
|
|
28
33
|
default: 60,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/request.js
CHANGED
|
@@ -6,6 +6,7 @@ const BEARER_PREFIX = 'Bearer ';
|
|
|
6
6
|
const API_KEY_PREFIX = 'xq_';
|
|
7
7
|
const API_V1_PREFIX = '/api/v1/';
|
|
8
8
|
const SUPPORT_TICKETS_PREFIX = '/api/v1/support/tickets';
|
|
9
|
+
const MAX_SAFE_ERROR_CODE_LENGTH = 80;
|
|
9
10
|
function buildAuthHeader(credential) {
|
|
10
11
|
if (credential.startsWith(API_KEY_PREFIX)) {
|
|
11
12
|
return { [API_KEY_HEADER]: credential };
|
|
@@ -19,8 +20,26 @@ function buildFetchHeaders(credential, hasBody) {
|
|
|
19
20
|
}
|
|
20
21
|
return auth;
|
|
21
22
|
}
|
|
23
|
+
function createBaseUrl(baseUrl) {
|
|
24
|
+
try {
|
|
25
|
+
return new URL(baseUrl);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
throw new Error('Base URL must be a valid HTTPS URL.');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function parseBaseUrl(baseUrl) {
|
|
32
|
+
const url = createBaseUrl(baseUrl);
|
|
33
|
+
if (url.protocol !== 'https:') {
|
|
34
|
+
throw new Error('Base URL must use HTTPS.');
|
|
35
|
+
}
|
|
36
|
+
if (url.username.length > 0 || url.password.length > 0) {
|
|
37
|
+
throw new Error('Base URL must not include credentials.');
|
|
38
|
+
}
|
|
39
|
+
return url;
|
|
40
|
+
}
|
|
22
41
|
function buildFetchUrl(baseUrl, path, query) {
|
|
23
|
-
const url = new URL(path, baseUrl);
|
|
42
|
+
const url = new URL(path, parseBaseUrl(baseUrl));
|
|
24
43
|
if (query !== undefined) {
|
|
25
44
|
for (const [key, value] of Object.entries(query)) {
|
|
26
45
|
url.searchParams.set(key, value);
|
|
@@ -66,6 +85,68 @@ function validateRequestPath(method, path) {
|
|
|
66
85
|
throw new Error('Agent-prohibited endpoint. Account connection and re-authentication must be done through the Xquik dashboard at dashboard.xquik.com, not through the agent.');
|
|
67
86
|
}
|
|
68
87
|
}
|
|
88
|
+
async function readResponseJson(response) {
|
|
89
|
+
try {
|
|
90
|
+
return await response.json();
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function isAsciiLetter(character) {
|
|
97
|
+
const lower = character.toLowerCase();
|
|
98
|
+
return lower >= 'a' && lower <= 'z';
|
|
99
|
+
}
|
|
100
|
+
function isAsciiDigit(character) {
|
|
101
|
+
return character >= '0' && character <= '9';
|
|
102
|
+
}
|
|
103
|
+
function isSafeErrorCodeCharacter(character) {
|
|
104
|
+
return isAsciiLetter(character)
|
|
105
|
+
|| isAsciiDigit(character)
|
|
106
|
+
|| character === '_'
|
|
107
|
+
|| character === '.'
|
|
108
|
+
|| character === ':'
|
|
109
|
+
|| character === '-';
|
|
110
|
+
}
|
|
111
|
+
function isSafeErrorCode(value) {
|
|
112
|
+
if (value.length === 0
|
|
113
|
+
|| value.length > MAX_SAFE_ERROR_CODE_LENGTH
|
|
114
|
+
|| !isAsciiLetter(value.slice(0, 1))) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
for (const character of value) {
|
|
118
|
+
if (!isSafeErrorCodeCharacter(character)) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
function stringErrorCode(value) {
|
|
125
|
+
if (typeof value !== 'object' || value === null) {
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
if ('error' in value && typeof value.error === 'string') {
|
|
129
|
+
return value.error;
|
|
130
|
+
}
|
|
131
|
+
if ('code' in value && typeof value.code === 'string') {
|
|
132
|
+
return value.code;
|
|
133
|
+
}
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
function safeErrorCode(value) {
|
|
137
|
+
const code = stringErrorCode(value);
|
|
138
|
+
return code !== undefined && isSafeErrorCode(code) ? code : undefined;
|
|
139
|
+
}
|
|
140
|
+
function formatApiError(response, payload) {
|
|
141
|
+
const status = response.statusText.length > 0
|
|
142
|
+
? `${String(response.status)} ${response.statusText}`
|
|
143
|
+
: String(response.status);
|
|
144
|
+
const code = safeErrorCode(payload);
|
|
145
|
+
if (code === undefined) {
|
|
146
|
+
return `API request failed: ${status}`;
|
|
147
|
+
}
|
|
148
|
+
return `API request failed: ${status} (${code})`;
|
|
149
|
+
}
|
|
69
150
|
function createProxiedRequest(baseUrl, credential, fetchFunction = fetch) {
|
|
70
151
|
return async (path, options) => {
|
|
71
152
|
const method = options?.method ?? 'GET';
|
|
@@ -77,9 +158,9 @@ function createProxiedRequest(baseUrl, credential, fetchFunction = fetch) {
|
|
|
77
158
|
method,
|
|
78
159
|
signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
|
|
79
160
|
});
|
|
80
|
-
const json = await response
|
|
161
|
+
const json = await readResponseJson(response);
|
|
81
162
|
if (!response.ok) {
|
|
82
|
-
throw new Error(
|
|
163
|
+
throw new Error(formatApiError(response, json));
|
|
83
164
|
}
|
|
84
165
|
return json;
|
|
85
166
|
};
|
package/dist/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAC3C,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,aAAa,GAAG,UAAU,CAAC;AACjC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "tweetclaw",
|
|
3
3
|
"name": "TweetClaw",
|
|
4
|
-
"version": "1.6.
|
|
4
|
+
"version": "1.6.19",
|
|
5
5
|
"description": "Post tweets, reply, like, retweet, follow, DM, search, and monitor X/Twitter through structured Xquik endpoints.",
|
|
6
6
|
"activation": {
|
|
7
7
|
"onStartup": false,
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"properties": {
|
|
23
23
|
"apiKey": { "type": "string", "minLength": 1, "description": "Xquik API key (get one at dashboard.xquik.com). Use for account-backed X automation." },
|
|
24
24
|
"tempoSigningKey": { "type": "string", "minLength": 1, "description": "MPP signing key for pay-per-use mode. Use for accountless access to 31 read-only X-API endpoints." },
|
|
25
|
-
"baseUrl": { "type": "string", "default": "https://xquik.com" },
|
|
25
|
+
"baseUrl": { "type": "string", "default": "https://xquik.com", "pattern": "^https://", "description": "HTTPS Xquik-compatible API base URL. Only change if using a self-hosted Xquik instance." },
|
|
26
26
|
"pollingInterval": { "type": "number", "default": 60, "description": "Event polling interval in seconds" },
|
|
27
27
|
"pollingEnabled": { "type": "boolean", "default": true }
|
|
28
28
|
}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"uiHints": {
|
|
31
31
|
"apiKey": { "label": "Xquik API Key", "sensitive": true, "placeholder": "xq_...", "help": "Account-backed X automation. Generate at dashboard.xquik.com." },
|
|
32
32
|
"tempoSigningKey": { "label": "MPP Signing Key", "sensitive": true, "placeholder": "0x...", "help": "Pay-per-use mode via Machine Payments Protocol. No account needed. 31 read-only X-API endpoints only." },
|
|
33
|
-
"baseUrl": { "label": "API Base URL", "placeholder": "https://xquik.com", "advanced": true, "help": "Only change if using a self-hosted Xquik instance." },
|
|
33
|
+
"baseUrl": { "label": "API Base URL", "placeholder": "https://xquik.com", "advanced": true, "help": "HTTPS only. Only change if using a self-hosted Xquik instance." },
|
|
34
34
|
"pollingInterval": { "label": "Event Poll Interval (seconds)", "advanced": true, "help": "How often to check for new monitor events. Default: 60 seconds." },
|
|
35
35
|
"pollingEnabled": { "label": "Enable Event Notifications", "advanced": true, "help": "Deliver monitor alerts and extraction completions to your chat." }
|
|
36
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xquik/tweetclaw",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.19",
|
|
4
4
|
"description": "Post tweets, reply, like, retweet, follow, DM & more from OpenClaw through structured Xquik endpoints.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"install": {
|
|
34
34
|
"defaultChoice": "npm",
|
|
35
|
-
"npmSpec": "@xquik/tweetclaw@1.6.
|
|
35
|
+
"npmSpec": "@xquik/tweetclaw@1.6.19",
|
|
36
36
|
"minHostVersion": ">=2026.5.4"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
@@ -130,6 +130,8 @@ Configure the signing key in your OpenClaw plugin config:
|
|
|
130
130
|
{ "tempoSigningKey": "your-66-char-hex-key" }
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
+
Only change `baseUrl` for a self-hosted Xquik-compatible API. TweetClaw requires an HTTPS base URL with no embedded credentials.
|
|
134
|
+
|
|
133
135
|
## Tools
|
|
134
136
|
|
|
135
137
|
TweetClaw registers 2 tools for the agent-safe Xquik endpoint catalog:
|
|
@@ -145,7 +147,7 @@ Example: "What endpoints are available for tweet composition?" returns the compo
|
|
|
145
147
|
Structured endpoint invoker. The agent selects one endpoint from the catalog and provides path parameters, query parameters, and a JSON body. The plugin runtime performs the HTTPS request to `https://xquik.com/api/v1/...`, injects the API key server-side, and returns the parsed JSON response.
|
|
146
148
|
|
|
147
149
|
- Only endpoints listed in the catalog can be invoked; unknown paths are rejected
|
|
148
|
-
- Only the
|
|
150
|
+
- Only the configured HTTPS Xquik-compatible API base URL can be reached; the runtime rejects non-HTTPS and credentialed base URLs
|
|
149
151
|
- No arbitrary commands, no shell, no filesystem access, no third-party network
|
|
150
152
|
- The tool is registered as optional in OpenClaw. If the agent can see this skill but cannot call TweetClaw tools, add `explore` and `tweetclaw` to `tools.alsoAllow` so the normal tool profile stays intact
|
|
151
153
|
- After install or update, use `openclaw plugins inspect tweetclaw --runtime` and `openclaw skills info tweetclaw` to verify the runtime tool and skill registrations
|
package/src/index.ts
CHANGED
|
@@ -32,7 +32,12 @@ const CONFIG_SCHEMA = {
|
|
|
32
32
|
minLength: 1,
|
|
33
33
|
type: 'string',
|
|
34
34
|
},
|
|
35
|
-
baseUrl: {
|
|
35
|
+
baseUrl: {
|
|
36
|
+
default: 'https://xquik.com',
|
|
37
|
+
description: 'HTTPS Xquik-compatible API base URL. Only change if using a self-hosted Xquik instance.',
|
|
38
|
+
pattern: '^https://',
|
|
39
|
+
type: 'string',
|
|
40
|
+
},
|
|
36
41
|
pollingEnabled: { default: true, type: 'boolean' },
|
|
37
42
|
pollingInterval: {
|
|
38
43
|
default: 60,
|
package/src/request.ts
CHANGED
|
@@ -8,6 +8,7 @@ const BEARER_PREFIX = 'Bearer ';
|
|
|
8
8
|
const API_KEY_PREFIX = 'xq_';
|
|
9
9
|
const API_V1_PREFIX = '/api/v1/';
|
|
10
10
|
const SUPPORT_TICKETS_PREFIX = '/api/v1/support/tickets';
|
|
11
|
+
const MAX_SAFE_ERROR_CODE_LENGTH = 80;
|
|
11
12
|
|
|
12
13
|
function buildAuthHeader(credential: string): Record<string, string> {
|
|
13
14
|
if (credential.startsWith(API_KEY_PREFIX)) {
|
|
@@ -24,8 +25,27 @@ function buildFetchHeaders(credential: string, hasBody: boolean): Record<string,
|
|
|
24
25
|
return auth;
|
|
25
26
|
}
|
|
26
27
|
|
|
28
|
+
function createBaseUrl(baseUrl: string): URL {
|
|
29
|
+
try {
|
|
30
|
+
return new URL(baseUrl);
|
|
31
|
+
} catch {
|
|
32
|
+
throw new Error('Base URL must be a valid HTTPS URL.');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function parseBaseUrl(baseUrl: string): URL {
|
|
37
|
+
const url = createBaseUrl(baseUrl);
|
|
38
|
+
if (url.protocol !== 'https:') {
|
|
39
|
+
throw new Error('Base URL must use HTTPS.');
|
|
40
|
+
}
|
|
41
|
+
if (url.username.length > 0 || url.password.length > 0) {
|
|
42
|
+
throw new Error('Base URL must not include credentials.');
|
|
43
|
+
}
|
|
44
|
+
return url;
|
|
45
|
+
}
|
|
46
|
+
|
|
27
47
|
function buildFetchUrl(baseUrl: string, path: string, query?: Readonly<Record<string, string>>): string {
|
|
28
|
-
const url = new URL(path, baseUrl);
|
|
48
|
+
const url = new URL(path, parseBaseUrl(baseUrl));
|
|
29
49
|
if (query !== undefined) {
|
|
30
50
|
for (const [key, value] of Object.entries(query)) {
|
|
31
51
|
url.searchParams.set(key, value);
|
|
@@ -84,6 +104,77 @@ function validateRequestPath(method: string, path: string): void {
|
|
|
84
104
|
}
|
|
85
105
|
}
|
|
86
106
|
|
|
107
|
+
async function readResponseJson(response: Response): Promise<unknown> {
|
|
108
|
+
try {
|
|
109
|
+
return await response.json();
|
|
110
|
+
} catch {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function isAsciiLetter(character: string): boolean {
|
|
116
|
+
const lower = character.toLowerCase();
|
|
117
|
+
return lower >= 'a' && lower <= 'z';
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function isAsciiDigit(character: string): boolean {
|
|
121
|
+
return character >= '0' && character <= '9';
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function isSafeErrorCodeCharacter(character: string): boolean {
|
|
125
|
+
return isAsciiLetter(character)
|
|
126
|
+
|| isAsciiDigit(character)
|
|
127
|
+
|| character === '_'
|
|
128
|
+
|| character === '.'
|
|
129
|
+
|| character === ':'
|
|
130
|
+
|| character === '-';
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function isSafeErrorCode(value: string): boolean {
|
|
134
|
+
if (
|
|
135
|
+
value.length === 0
|
|
136
|
+
|| value.length > MAX_SAFE_ERROR_CODE_LENGTH
|
|
137
|
+
|| !isAsciiLetter(value.slice(0, 1))
|
|
138
|
+
) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
for (const character of value) {
|
|
142
|
+
if (!isSafeErrorCodeCharacter(character)) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function stringErrorCode(value: unknown): string | undefined {
|
|
150
|
+
if (typeof value !== 'object' || value === null) {
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
if ('error' in value && typeof value.error === 'string') {
|
|
154
|
+
return value.error;
|
|
155
|
+
}
|
|
156
|
+
if ('code' in value && typeof value.code === 'string') {
|
|
157
|
+
return value.code;
|
|
158
|
+
}
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function safeErrorCode(value: unknown): string | undefined {
|
|
163
|
+
const code = stringErrorCode(value);
|
|
164
|
+
return code !== undefined && isSafeErrorCode(code) ? code : undefined;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function formatApiError(response: Response, payload: unknown): string {
|
|
168
|
+
const status = response.statusText.length > 0
|
|
169
|
+
? `${String(response.status)} ${response.statusText}`
|
|
170
|
+
: String(response.status);
|
|
171
|
+
const code = safeErrorCode(payload);
|
|
172
|
+
if (code === undefined) {
|
|
173
|
+
return `API request failed: ${status}`;
|
|
174
|
+
}
|
|
175
|
+
return `API request failed: ${status} (${code})`;
|
|
176
|
+
}
|
|
177
|
+
|
|
87
178
|
function createProxiedRequest(
|
|
88
179
|
baseUrl: string,
|
|
89
180
|
credential: string,
|
|
@@ -99,11 +190,9 @@ function createProxiedRequest(
|
|
|
99
190
|
method,
|
|
100
191
|
signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
|
|
101
192
|
});
|
|
102
|
-
const json: unknown = await response
|
|
193
|
+
const json: unknown = await readResponseJson(response);
|
|
103
194
|
if (!response.ok) {
|
|
104
|
-
throw new Error(
|
|
105
|
-
`API request failed: ${String(response.status)} ${response.statusText} - ${JSON.stringify(json)}`,
|
|
106
|
-
);
|
|
195
|
+
throw new Error(formatApiError(response, json));
|
|
107
196
|
}
|
|
108
197
|
return json;
|
|
109
198
|
};
|