forkoff 1.0.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.
- package/LICENSE +17 -0
- package/README.md +173 -0
- package/dist/api.d.ts +44 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +76 -0
- package/dist/api.js.map +1 -0
- package/dist/approval.d.ts +46 -0
- package/dist/approval.d.ts.map +1 -0
- package/dist/approval.js +119 -0
- package/dist/approval.js.map +1 -0
- package/dist/config.d.ts +36 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +209 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +868 -0
- package/dist/index.js.map +1 -0
- package/dist/integration.d.ts +30 -0
- package/dist/integration.d.ts.map +1 -0
- package/dist/integration.js +84 -0
- package/dist/integration.js.map +1 -0
- package/dist/terminal.d.ts +25 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +171 -0
- package/dist/terminal.js.map +1 -0
- package/dist/tools/claude-hooks.d.ts +97 -0
- package/dist/tools/claude-hooks.d.ts.map +1 -0
- package/dist/tools/claude-hooks.js +348 -0
- package/dist/tools/claude-hooks.js.map +1 -0
- package/dist/tools/claude-process.d.ts +271 -0
- package/dist/tools/claude-process.d.ts.map +1 -0
- package/dist/tools/claude-process.js +931 -0
- package/dist/tools/claude-process.js.map +1 -0
- package/dist/tools/claude-sessions.d.ts +60 -0
- package/dist/tools/claude-sessions.d.ts.map +1 -0
- package/dist/tools/claude-sessions.js +285 -0
- package/dist/tools/claude-sessions.js.map +1 -0
- package/dist/tools/detector.d.ts +64 -0
- package/dist/tools/detector.d.ts.map +1 -0
- package/dist/tools/detector.js +383 -0
- package/dist/tools/detector.js.map +1 -0
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/transcript-streamer.d.ts +68 -0
- package/dist/transcript-streamer.d.ts.map +1 -0
- package/dist/transcript-streamer.js +459 -0
- package/dist/transcript-streamer.js.map +1 -0
- package/dist/websocket.d.ts +133 -0
- package/dist/websocket.d.ts.map +1 -0
- package/dist/websocket.js +247 -0
- package/dist/websocket.js.map +1 -0
- package/nul +0 -0
- package/package.json +54 -0
package/dist/config.js
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.config = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const os = __importStar(require("os"));
|
|
40
|
+
const node_machine_id_1 = require("node-machine-id");
|
|
41
|
+
const uuid_1 = require("uuid");
|
|
42
|
+
// SECURITY: Helper to check if URL is local (allows insecure connections for local dev)
|
|
43
|
+
function isLocalUrl(url) {
|
|
44
|
+
try {
|
|
45
|
+
const parsed = new URL(url);
|
|
46
|
+
const host = parsed.hostname.toLowerCase();
|
|
47
|
+
return host === 'localhost' ||
|
|
48
|
+
host === '127.0.0.1' ||
|
|
49
|
+
host.startsWith('192.168.') ||
|
|
50
|
+
host.startsWith('10.') ||
|
|
51
|
+
host.startsWith('172.16.') ||
|
|
52
|
+
host.startsWith('172.17.') ||
|
|
53
|
+
host.startsWith('172.18.') ||
|
|
54
|
+
host.startsWith('172.19.') ||
|
|
55
|
+
host.startsWith('172.2') ||
|
|
56
|
+
host.startsWith('172.30.') ||
|
|
57
|
+
host.startsWith('172.31.');
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// SECURITY: Enforce secure protocol for non-local URLs
|
|
64
|
+
function enforceSecureUrl(url, type) {
|
|
65
|
+
if (isLocalUrl(url)) {
|
|
66
|
+
return url; // Allow insecure for local development
|
|
67
|
+
}
|
|
68
|
+
// For non-local URLs, enforce HTTPS/WSS
|
|
69
|
+
if (type === 'api' && url.startsWith('http://')) {
|
|
70
|
+
console.warn('[Config] SECURITY: Upgrading insecure API URL to HTTPS');
|
|
71
|
+
return url.replace('http://', 'https://');
|
|
72
|
+
}
|
|
73
|
+
if (type === 'ws' && url.startsWith('ws://')) {
|
|
74
|
+
console.warn('[Config] SECURITY: Upgrading insecure WebSocket URL to WSS');
|
|
75
|
+
return url.replace('ws://', 'wss://');
|
|
76
|
+
}
|
|
77
|
+
return url;
|
|
78
|
+
}
|
|
79
|
+
const defaultConfig = {
|
|
80
|
+
deviceId: null,
|
|
81
|
+
deviceName: os.hostname(),
|
|
82
|
+
apiUrl: 'https://api.forkoff.app/api',
|
|
83
|
+
wsUrl: 'wss://api.forkoff.app',
|
|
84
|
+
pairingCode: null,
|
|
85
|
+
pairedAt: null,
|
|
86
|
+
userId: null,
|
|
87
|
+
};
|
|
88
|
+
class Config {
|
|
89
|
+
constructor() {
|
|
90
|
+
this.configPath = this.getConfigPath();
|
|
91
|
+
this.data = this.load();
|
|
92
|
+
}
|
|
93
|
+
getConfigPath() {
|
|
94
|
+
const configDir = process.platform === 'win32'
|
|
95
|
+
? path.join(process.env.APPDATA || os.homedir(), 'forkoff-cli')
|
|
96
|
+
: path.join(os.homedir(), '.config', 'forkoff-cli');
|
|
97
|
+
if (!fs.existsSync(configDir)) {
|
|
98
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
99
|
+
}
|
|
100
|
+
return path.join(configDir, 'config.json');
|
|
101
|
+
}
|
|
102
|
+
load() {
|
|
103
|
+
try {
|
|
104
|
+
if (fs.existsSync(this.configPath)) {
|
|
105
|
+
const content = fs.readFileSync(this.configPath, 'utf-8');
|
|
106
|
+
return { ...defaultConfig, ...JSON.parse(content) };
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
// If config is corrupted, use defaults
|
|
111
|
+
}
|
|
112
|
+
return { ...defaultConfig };
|
|
113
|
+
}
|
|
114
|
+
save() {
|
|
115
|
+
fs.writeFileSync(this.configPath, JSON.stringify(this.data, null, 2));
|
|
116
|
+
}
|
|
117
|
+
get deviceId() {
|
|
118
|
+
return this.data.deviceId;
|
|
119
|
+
}
|
|
120
|
+
set deviceId(value) {
|
|
121
|
+
this.data.deviceId = value;
|
|
122
|
+
this.save();
|
|
123
|
+
}
|
|
124
|
+
get deviceName() {
|
|
125
|
+
return this.data.deviceName;
|
|
126
|
+
}
|
|
127
|
+
set deviceName(value) {
|
|
128
|
+
this.data.deviceName = value;
|
|
129
|
+
this.save();
|
|
130
|
+
}
|
|
131
|
+
get apiUrl() {
|
|
132
|
+
// SECURITY: Enforce HTTPS for non-local URLs
|
|
133
|
+
return enforceSecureUrl(this.data.apiUrl, 'api');
|
|
134
|
+
}
|
|
135
|
+
set apiUrl(value) {
|
|
136
|
+
// SECURITY: Enforce HTTPS for non-local URLs when setting
|
|
137
|
+
this.data.apiUrl = enforceSecureUrl(value, 'api');
|
|
138
|
+
this.save();
|
|
139
|
+
}
|
|
140
|
+
get wsUrl() {
|
|
141
|
+
// SECURITY: Enforce WSS for non-local URLs
|
|
142
|
+
return enforceSecureUrl(this.data.wsUrl, 'ws');
|
|
143
|
+
}
|
|
144
|
+
set wsUrl(value) {
|
|
145
|
+
// SECURITY: Enforce WSS for non-local URLs when setting
|
|
146
|
+
this.data.wsUrl = enforceSecureUrl(value, 'ws');
|
|
147
|
+
this.save();
|
|
148
|
+
}
|
|
149
|
+
get pairingCode() {
|
|
150
|
+
return this.data.pairingCode;
|
|
151
|
+
}
|
|
152
|
+
set pairingCode(value) {
|
|
153
|
+
this.data.pairingCode = value;
|
|
154
|
+
this.save();
|
|
155
|
+
}
|
|
156
|
+
get pairedAt() {
|
|
157
|
+
return this.data.pairedAt;
|
|
158
|
+
}
|
|
159
|
+
set pairedAt(value) {
|
|
160
|
+
this.data.pairedAt = value;
|
|
161
|
+
this.save();
|
|
162
|
+
}
|
|
163
|
+
get userId() {
|
|
164
|
+
return this.data.userId;
|
|
165
|
+
}
|
|
166
|
+
set userId(value) {
|
|
167
|
+
this.data.userId = value;
|
|
168
|
+
this.save();
|
|
169
|
+
}
|
|
170
|
+
get isPaired() {
|
|
171
|
+
return !!this.userId && !!this.deviceId;
|
|
172
|
+
}
|
|
173
|
+
// Get unique machine identifier
|
|
174
|
+
getMachineId() {
|
|
175
|
+
try {
|
|
176
|
+
return (0, node_machine_id_1.machineIdSync)();
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// Fallback to stored or new UUID
|
|
180
|
+
if (!this.data.machineId) {
|
|
181
|
+
this.data.machineId = (0, uuid_1.v4)();
|
|
182
|
+
this.save();
|
|
183
|
+
}
|
|
184
|
+
return this.data.machineId;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
// Get device info for registration
|
|
188
|
+
getDeviceInfo() {
|
|
189
|
+
return {
|
|
190
|
+
name: this.deviceName,
|
|
191
|
+
type: 'desktop',
|
|
192
|
+
platform: os.platform(),
|
|
193
|
+
hostname: os.hostname(),
|
|
194
|
+
machineId: this.getMachineId(),
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
// Reset all config
|
|
198
|
+
reset() {
|
|
199
|
+
this.data = { ...defaultConfig };
|
|
200
|
+
this.save();
|
|
201
|
+
}
|
|
202
|
+
// Get config file path
|
|
203
|
+
getPath() {
|
|
204
|
+
return this.configPath;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
exports.config = new Config();
|
|
208
|
+
exports.default = exports.config;
|
|
209
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|