@tickernelz/paperclip-pro-adapter-openclaw-gateway 2026.925.0

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.
Files changed (55) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +85 -0
  3. package/dist/cli/format-event.d.ts +2 -0
  4. package/dist/cli/format-event.d.ts.map +1 -0
  5. package/dist/cli/format-event.js +20 -0
  6. package/dist/cli/format-event.js.map +1 -0
  7. package/dist/cli/index.d.ts +2 -0
  8. package/dist/cli/index.d.ts.map +1 -0
  9. package/dist/cli/index.js +2 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/index.d.ts +8 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +52 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/server/execute-dispatch.test.d.ts +2 -0
  16. package/dist/server/execute-dispatch.test.d.ts.map +1 -0
  17. package/dist/server/execute-dispatch.test.js +192 -0
  18. package/dist/server/execute-dispatch.test.js.map +1 -0
  19. package/dist/server/execute.d.ts +21 -0
  20. package/dist/server/execute.d.ts.map +1 -0
  21. package/dist/server/execute.js +1209 -0
  22. package/dist/server/execute.js.map +1 -0
  23. package/dist/server/execute.test.d.ts +2 -0
  24. package/dist/server/execute.test.d.ts.map +1 -0
  25. package/dist/server/execute.test.js +101 -0
  26. package/dist/server/execute.test.js.map +1 -0
  27. package/dist/server/index.d.ts +3 -0
  28. package/dist/server/index.d.ts.map +1 -0
  29. package/dist/server/index.js +3 -0
  30. package/dist/server/index.js.map +1 -0
  31. package/dist/server/test.d.ts +3 -0
  32. package/dist/server/test.d.ts.map +1 -0
  33. package/dist/server/test.js +290 -0
  34. package/dist/server/test.js.map +1 -0
  35. package/dist/shared/stream.d.ts +5 -0
  36. package/dist/shared/stream.d.ts.map +1 -0
  37. package/dist/shared/stream.js +13 -0
  38. package/dist/shared/stream.js.map +1 -0
  39. package/dist/ui/build-config.d.ts +3 -0
  40. package/dist/ui/build-config.d.ts.map +1 -0
  41. package/dist/ui/build-config.js +85 -0
  42. package/dist/ui/build-config.js.map +1 -0
  43. package/dist/ui/build-config.test.d.ts +2 -0
  44. package/dist/ui/build-config.test.d.ts.map +1 -0
  45. package/dist/ui/build-config.test.js +49 -0
  46. package/dist/ui/build-config.test.js.map +1 -0
  47. package/dist/ui/index.d.ts +3 -0
  48. package/dist/ui/index.d.ts.map +1 -0
  49. package/dist/ui/index.js +3 -0
  50. package/dist/ui/index.js.map +1 -0
  51. package/dist/ui/parse-stdout.d.ts +3 -0
  52. package/dist/ui/parse-stdout.d.ts.map +1 -0
  53. package/dist/ui/parse-stdout.js +64 -0
  54. package/dist/ui/parse-stdout.js.map +1 -0
  55. package/package.json +59 -0
@@ -0,0 +1,85 @@
1
+ function parseJsonObject(text) {
2
+ const trimmed = text.trim();
3
+ if (!trimmed)
4
+ return null;
5
+ try {
6
+ const parsed = JSON.parse(trimmed);
7
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
8
+ return null;
9
+ return parsed;
10
+ }
11
+ catch {
12
+ return null;
13
+ }
14
+ }
15
+ export function buildOpenClawGatewayConfig(v) {
16
+ const ac = {};
17
+ // Required / Primary fields
18
+ if (v.url)
19
+ ac.url = v.url;
20
+ if (v.authToken)
21
+ ac.authToken = v.authToken;
22
+ if (v.password)
23
+ ac.password = v.password;
24
+ if (v.agentId)
25
+ ac.agentId = v.agentId;
26
+ // Session routing fields
27
+ if (v.sessionKeyStrategy)
28
+ ac.sessionKeyStrategy = v.sessionKeyStrategy;
29
+ if (v.sessionKey)
30
+ ac.sessionKey = v.sessionKey;
31
+ // Timeout fields
32
+ if (typeof v.timeoutSec === "number")
33
+ ac.timeoutSec = v.timeoutSec;
34
+ if (typeof v.waitTimeoutMs === "number")
35
+ ac.waitTimeoutMs = v.waitTimeoutMs;
36
+ // Device auth fields
37
+ if (typeof v.disableDeviceAuth === "boolean")
38
+ ac.disableDeviceAuth = v.disableDeviceAuth;
39
+ if (typeof v.autoPairOnFirstConnect === "boolean")
40
+ ac.autoPairOnFirstConnect = v.autoPairOnFirstConnect;
41
+ if (v.devicePrivateKeyPem)
42
+ ac.devicePrivateKeyPem = v.devicePrivateKeyPem;
43
+ // Gateway identity fields
44
+ if (v.role)
45
+ ac.role = v.role;
46
+ if (v.scopes) {
47
+ const parsed = v.scopes.split(",").map((s) => s.trim()).filter(Boolean);
48
+ if (parsed.length > 0)
49
+ ac.scopes = parsed;
50
+ }
51
+ // Paperclip API override
52
+ if (v.paperclipApiUrl)
53
+ ac.paperclipApiUrl = v.paperclipApiUrl;
54
+ // Headers — parse headersJson first, then inject authToken on top
55
+ const headers = parseJsonObject(v.headersJson ?? "");
56
+ if (headers)
57
+ ac.headers = headers;
58
+ if (v.authToken) {
59
+ const h = ac.headers ?? {};
60
+ h["x-openclaw-token"] = v.authToken;
61
+ ac.headers = h;
62
+ }
63
+ // Payload template
64
+ const payloadTemplate = parseJsonObject(v.payloadTemplateJson ?? "");
65
+ if (payloadTemplate)
66
+ ac.payloadTemplate = payloadTemplate;
67
+ // Workspace runtime (from runtimeServicesJson)
68
+ const runtimeServices = parseJsonObject(v.runtimeServicesJson ?? "");
69
+ if (runtimeServices && Array.isArray(runtimeServices.services)) {
70
+ ac.workspaceRuntime = runtimeServices;
71
+ }
72
+ // Safe defaults — applied when fields are not explicitly set
73
+ if (ac.timeoutSec == null)
74
+ ac.timeoutSec = 120;
75
+ if (ac.waitTimeoutMs == null)
76
+ ac.waitTimeoutMs = 120000;
77
+ if (!ac.sessionKeyStrategy)
78
+ ac.sessionKeyStrategy = "issue";
79
+ if (!ac.role)
80
+ ac.role = "operator";
81
+ if (!ac.scopes)
82
+ ac.scopes = ["operator.admin"];
83
+ return ac;
84
+ }
85
+ //# sourceMappingURL=build-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-config.js","sourceRoot":"","sources":["../../src/ui/build-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=build-config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-config.test.d.ts","sourceRoot":"","sources":["../../src/ui/build-config.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { buildOpenClawGatewayConfig } from "./build-config.js";
3
+ function baseValues() {
4
+ return {
5
+ adapterType: "openclaw_gateway",
6
+ cwd: "",
7
+ promptTemplate: "",
8
+ model: "",
9
+ thinkingEffort: "",
10
+ chrome: false,
11
+ dangerouslySkipPermissions: false,
12
+ search: false,
13
+ fastMode: false,
14
+ dangerouslyBypassSandbox: false,
15
+ command: "",
16
+ args: "",
17
+ extraArgs: "",
18
+ envVars: "",
19
+ envBindings: {},
20
+ url: "wss://gateway.example/ws",
21
+ bootstrapPrompt: "",
22
+ maxTurnsPerRun: 0,
23
+ heartbeatEnabled: false,
24
+ intervalSec: 0,
25
+ };
26
+ }
27
+ describe("buildOpenClawGatewayConfig", () => {
28
+ it("applies the documented timeout defaults when unset (timeoutSec=120, waitTimeoutMs=120000)", () => {
29
+ const config = buildOpenClawGatewayConfig(baseValues());
30
+ expect(config.timeoutSec).toBe(120);
31
+ expect(config.waitTimeoutMs).toBe(120000);
32
+ });
33
+ it("preserves explicit timeout values when provided", () => {
34
+ const config = buildOpenClawGatewayConfig({
35
+ ...baseValues(),
36
+ timeoutSec: 45,
37
+ waitTimeoutMs: 9000,
38
+ });
39
+ expect(config.timeoutSec).toBe(45);
40
+ expect(config.waitTimeoutMs).toBe(9000);
41
+ });
42
+ it("applies the documented identity defaults when unset", () => {
43
+ const config = buildOpenClawGatewayConfig(baseValues());
44
+ expect(config.sessionKeyStrategy).toBe("issue");
45
+ expect(config.role).toBe("operator");
46
+ expect(config.scopes).toEqual(["operator.admin"]);
47
+ });
48
+ });
49
+ //# sourceMappingURL=build-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-config.test.js","sourceRoot":"","sources":["../../src/ui/build-config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,SAAS,UAAU;IACjB,OAAO;QACL,WAAW,EAAE,kBAAkB;QAC/B,GAAG,EAAE,EAAE;QACP,cAAc,EAAE,EAAE;QAClB,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;QAClB,MAAM,EAAE,KAAK;QACb,0BAA0B,EAAE,KAAK;QACjC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,wBAAwB,EAAE,KAAK;QAC/B,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,0BAA0B;QAC/B,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,KAAK;QACvB,WAAW,EAAE,CAAC;KACf,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,2FAA2F,EAAE,GAAG,EAAE;QACnG,MAAM,MAAM,GAAG,0BAA0B,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,0BAA0B,CAAC;YACxC,GAAG,UAAU,EAAE;YACf,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,MAAM,GAAG,0BAA0B,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { parseOpenClawGatewayStdoutLine } from "./parse-stdout.js";
2
+ export { buildOpenClawGatewayConfig } from "./build-config.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { parseOpenClawGatewayStdoutLine } from "./parse-stdout.js";
2
+ export { buildOpenClawGatewayConfig } from "./build-config.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TranscriptEntry } from "@tickernelz/paperclip-pro-adapter-utils";
2
+ export declare function parseOpenClawGatewayStdoutLine(line: string, ts: string): TranscriptEntry[];
3
+ //# sourceMappingURL=parse-stdout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-stdout.d.ts","sourceRoot":"","sources":["../../src/ui/parse-stdout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAwD/E,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,EAAE,CAkB1F"}
@@ -0,0 +1,64 @@
1
+ import { normalizeOpenClawGatewayStreamLine } from "../shared/stream.js";
2
+ function safeJsonParse(text) {
3
+ try {
4
+ return JSON.parse(text);
5
+ }
6
+ catch {
7
+ return null;
8
+ }
9
+ }
10
+ function asRecord(value) {
11
+ if (typeof value !== "object" || value === null || Array.isArray(value))
12
+ return null;
13
+ return value;
14
+ }
15
+ function asString(value) {
16
+ return typeof value === "string" ? value : "";
17
+ }
18
+ function parseAgentEventLine(line, ts) {
19
+ const match = line.match(/^\[openclaw-gateway:event\]\s+run=([^\s]+)\s+stream=([^\s]+)\s+data=(.*)$/s);
20
+ if (!match)
21
+ return [{ kind: "stdout", ts, text: line }];
22
+ const stream = asString(match[2]).toLowerCase();
23
+ const data = asRecord(safeJsonParse(asString(match[3]).trim()));
24
+ if (stream === "assistant") {
25
+ const delta = asString(data?.delta);
26
+ if (delta.length > 0) {
27
+ return [{ kind: "assistant", ts, text: delta, delta: true }];
28
+ }
29
+ const text = asString(data?.text);
30
+ if (text.length > 0) {
31
+ return [{ kind: "assistant", ts, text }];
32
+ }
33
+ return [];
34
+ }
35
+ if (stream === "error") {
36
+ const message = asString(data?.error) || asString(data?.message);
37
+ return message ? [{ kind: "stderr", ts, text: message }] : [];
38
+ }
39
+ if (stream === "lifecycle") {
40
+ const phase = asString(data?.phase).toLowerCase();
41
+ const message = asString(data?.error) || asString(data?.message);
42
+ if ((phase === "error" || phase === "failed" || phase === "cancelled") && message) {
43
+ return [{ kind: "stderr", ts, text: message }];
44
+ }
45
+ }
46
+ return [];
47
+ }
48
+ export function parseOpenClawGatewayStdoutLine(line, ts) {
49
+ const normalized = normalizeOpenClawGatewayStreamLine(line);
50
+ if (normalized.stream === "stderr") {
51
+ return [{ kind: "stderr", ts, text: normalized.line }];
52
+ }
53
+ const trimmed = normalized.line.trim();
54
+ if (!trimmed)
55
+ return [];
56
+ if (trimmed.startsWith("[openclaw-gateway:event]")) {
57
+ return parseAgentEventLine(trimmed, ts);
58
+ }
59
+ if (trimmed.startsWith("[openclaw-gateway]")) {
60
+ return [{ kind: "system", ts, text: trimmed.replace(/^\[openclaw-gateway\]\s*/, "") }];
61
+ }
62
+ return [{ kind: "stdout", ts, text: normalized.line }];
63
+ }
64
+ //# sourceMappingURL=parse-stdout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-stdout.js","sourceRoot":"","sources":["../../src/ui/parse-stdout.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@tickernelz/paperclip-pro-adapter-openclaw-gateway",
3
+ "version": "2026.925.0",
4
+ "license": "MIT",
5
+ "homepage": "https://github.com/tickernelz/paperclip-pro",
6
+ "bugs": {
7
+ "url": "https://github.com/tickernelz/paperclip-pro/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/tickernelz/paperclip-pro",
12
+ "directory": "packages/adapters/openclaw-gateway"
13
+ },
14
+ "type": "module",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ },
20
+ "./server": {
21
+ "types": "./dist/server/index.d.ts",
22
+ "import": "./dist/server/index.js"
23
+ },
24
+ "./ui": {
25
+ "types": "./dist/ui/index.d.ts",
26
+ "import": "./dist/ui/index.js"
27
+ },
28
+ "./cli": {
29
+ "types": "./dist/cli/index.d.ts",
30
+ "import": "./dist/cli/index.js"
31
+ }
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "files": [
37
+ "dist"
38
+ ],
39
+ "dependencies": {
40
+ "@tickernelz/paperclip-pro-adapter-utils": "2026.925.0",
41
+ "picocolors": "^1.1.1",
42
+ "ws": "^8.21.3"
43
+ },
44
+ "devDependencies": {
45
+ "@types/node": "^24.0.0",
46
+ "@types/ws": "^8.18.1",
47
+ "typescript": "^7.0.2"
48
+ },
49
+ "engines": {
50
+ "node": ">=24.11.0"
51
+ },
52
+ "scripts": {
53
+ "build": "tsc",
54
+ "clean": "rm -rf dist",
55
+ "typecheck": "tsc --noEmit"
56
+ },
57
+ "main": "./dist/index.js",
58
+ "types": "./dist/index.d.ts"
59
+ }