forkit-connect 0.1.30 → 0.1.31
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/QUICKSTART.md +6 -10
- package/README.md +5 -3
- package/dist/cli.js +116 -12
- package/package.json +1 -1
package/QUICKSTART.md
CHANGED
|
@@ -20,28 +20,24 @@ export PATH="$HOME/.local/bin:$PATH"
|
|
|
20
20
|
## Recommended First Run
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
forkit-connect init
|
|
24
23
|
forkit-connect login
|
|
25
|
-
forkit-connect workspace
|
|
26
|
-
forkit-connect runtime register
|
|
24
|
+
forkit-connect workspace status
|
|
27
25
|
forkit-connect scan
|
|
28
26
|
forkit-connect inbox
|
|
29
|
-
forkit-connect
|
|
27
|
+
forkit-connect runtime status
|
|
30
28
|
forkit-connect status
|
|
31
|
-
forkit-connect start
|
|
32
29
|
```
|
|
33
30
|
|
|
34
31
|
## What Each Step Does
|
|
35
32
|
|
|
36
|
-
- `init` creates local Connect identity and privacy posture metadata.
|
|
37
33
|
- `login` completes the device-login flow against Forkit.dev.
|
|
38
|
-
- `workspace
|
|
39
|
-
- `runtime register` creates or reuses a governed runtime for the current repo/worktree and stores its runtime key locally.
|
|
34
|
+
- `workspace status` shows whether this account already has governed workspace/project scope.
|
|
40
35
|
- `scan` detects supported local runtimes and AI models.
|
|
41
36
|
- `inbox` shows what is ready to connect, what needs confirmation, and what is already connected.
|
|
42
|
-
- `
|
|
37
|
+
- `runtime status` shows runtime connection and signal posture.
|
|
43
38
|
- `status` summarizes readiness, daemon state, discovery counts, and next recommended action.
|
|
44
|
-
|
|
39
|
+
|
|
40
|
+
Advanced users can run `forkit-connect init` when they explicitly want to prepare or reset local identity and privacy posture before login.
|
|
45
41
|
|
|
46
42
|
## Useful Next Commands
|
|
47
43
|
|
package/README.md
CHANGED
|
@@ -31,7 +31,9 @@ Published npm install:
|
|
|
31
31
|
```bash
|
|
32
32
|
npx forkit-connect --help
|
|
33
33
|
npm install -g forkit-connect
|
|
34
|
-
forkit-connect
|
|
34
|
+
forkit-connect login
|
|
35
|
+
forkit-connect scan
|
|
36
|
+
forkit-connect inbox
|
|
35
37
|
```
|
|
36
38
|
|
|
37
39
|
From `integrations/connect`:
|
|
@@ -57,8 +59,8 @@ If `~/.local/bin` is already on your `PATH`, the command is immediately accessib
|
|
|
57
59
|
|
|
58
60
|
## Public Commands
|
|
59
61
|
|
|
60
|
-
- `forkit-connect init` — initialize local Connect identity and privacy posture
|
|
61
62
|
- `forkit-connect login` — link this device to Forkit.dev with the device flow
|
|
63
|
+
- `forkit-connect init` — optional advanced local identity and privacy posture setup
|
|
62
64
|
- `forkit-connect scan` — discover local runtimes and AI models
|
|
63
65
|
- `forkit-connect inbox` — review the Smart Registration Inbox
|
|
64
66
|
- `forkit-connect connect <modelNameOrDiscoveryHash>` — prepare or sync a passport draft for a detected model
|
|
@@ -125,7 +127,7 @@ npm install /absolute/path/to/forkit-connect-0.1.24.tgz
|
|
|
125
127
|
npx forkit-connect --help
|
|
126
128
|
npx forkit-connect status
|
|
127
129
|
npx forkit-connect inbox
|
|
128
|
-
npx forkit-connect
|
|
130
|
+
npx forkit-connect login
|
|
129
131
|
```
|
|
130
132
|
|
|
131
133
|
For a user-space Ubuntu install that creates a stable command path, prefer `pnpm run install:ubuntu`.
|
package/dist/cli.js
CHANGED
|
@@ -173,6 +173,103 @@ function advancedUsage() {
|
|
|
173
173
|
console.log(cliKeyLine('--api-key', 'Runtime signal API key used by runtime observe'));
|
|
174
174
|
console.log(cliKeyLine('--draft-only', 'Allow private continuation when governed publish is blocked'));
|
|
175
175
|
}
|
|
176
|
+
function commandUsage(command) {
|
|
177
|
+
switch (command) {
|
|
178
|
+
case 'init':
|
|
179
|
+
printCliHeader('Init', 'Prepare local Connect identity and privacy posture without signing in.');
|
|
180
|
+
console.log(cliKeyLine('usage', 'forkit-connect init'));
|
|
181
|
+
console.log(cliKeyLine('when', 'Optional local setup; most users should start with forkit-connect login'));
|
|
182
|
+
console.log(cliKeyLine('privacy', 'Creates local metadata state only; no model files, prompts, outputs, or secrets are uploaded'));
|
|
183
|
+
console.log(cliKeyLine('next', 'forkit-connect login'));
|
|
184
|
+
return true;
|
|
185
|
+
case 'login':
|
|
186
|
+
printCliHeader('Login', 'Pair this machine with Forkit.dev through browser device approval.');
|
|
187
|
+
console.log(cliKeyLine('usage', 'forkit-connect login [--no-browser]'));
|
|
188
|
+
console.log(cliKeyLine('opens', `${DEFAULT_BASE_URL}/connect/verify`));
|
|
189
|
+
console.log(cliKeyLine('stores', 'Session reference in secure local storage where available'));
|
|
190
|
+
console.log(cliKeyLine('privacy', 'No model files, prompts, outputs, or secrets are uploaded'));
|
|
191
|
+
console.log(cliKeyLine('--no-browser', 'Print the approval URL instead of opening a browser'));
|
|
192
|
+
return true;
|
|
193
|
+
case 'logout':
|
|
194
|
+
printCliHeader('Logout', 'Remove the stored Forkit.dev session from this device.');
|
|
195
|
+
console.log(cliKeyLine('usage', 'forkit-connect logout'));
|
|
196
|
+
console.log(cliKeyLine('keeps', 'Local discovery state and reviewed metadata remain on this device'));
|
|
197
|
+
return true;
|
|
198
|
+
case 'changes':
|
|
199
|
+
printCliHeader('Changes', 'Review local evidence, runtime signal history, and queued metadata.');
|
|
200
|
+
console.log(cliKeyLine('usage', 'forkit-connect changes [--json] [--limit <count>]'));
|
|
201
|
+
console.log(cliKeyLine('safe', 'Read-only local review; does not publish or sync by itself'));
|
|
202
|
+
return true;
|
|
203
|
+
case 'start':
|
|
204
|
+
printCliHeader('Start', 'Open the guided launcher or run the local daemon loop.');
|
|
205
|
+
console.log(cliKeyLine('usage', 'forkit-connect start [--plain] [--foreground]'));
|
|
206
|
+
console.log(cliKeyLine('plain', 'Use --plain for non-interactive terminals'));
|
|
207
|
+
console.log(cliKeyLine('foreground', 'Use --foreground to run sync loop in this terminal'));
|
|
208
|
+
return true;
|
|
209
|
+
case 'stop':
|
|
210
|
+
printCliHeader('Stop', 'Stop the local Connect daemon without deleting local state.');
|
|
211
|
+
console.log(cliKeyLine('usage', 'forkit-connect stop'));
|
|
212
|
+
console.log(cliKeyLine('safe', 'Does not revoke account access or remove local metadata'));
|
|
213
|
+
return true;
|
|
214
|
+
case 'sync':
|
|
215
|
+
printCliHeader('Sync', 'Flush approved metadata-only queue items to Forkit.dev.');
|
|
216
|
+
console.log(cliKeyLine('usage', 'forkit-connect sync [--json]'));
|
|
217
|
+
console.log(cliKeyLine('requires', 'Signed-in account and approved local queue items'));
|
|
218
|
+
return true;
|
|
219
|
+
case 'scan':
|
|
220
|
+
case 'discover':
|
|
221
|
+
printCliHeader('Scan', 'Discover local models, agents, and runtimes with metadata-only checks.');
|
|
222
|
+
console.log(cliKeyLine('usage', 'forkit-connect scan [--json] [--dry-run]'));
|
|
223
|
+
console.log(cliKeyLine('checks', 'Ollama, LM Studio, OpenAI-compatible local servers, and local model folders'));
|
|
224
|
+
console.log(cliKeyLine('next', 'forkit-connect inbox'));
|
|
225
|
+
return true;
|
|
226
|
+
case 'inbox':
|
|
227
|
+
printCliHeader('Inbox', 'Review detected records before creating or connecting Passports.');
|
|
228
|
+
console.log(cliKeyLine('usage', 'forkit-connect inbox [--json]'));
|
|
229
|
+
console.log(cliKeyLine('safe', 'Review-only by default; create/publish actions are explicit'));
|
|
230
|
+
return true;
|
|
231
|
+
case 'status':
|
|
232
|
+
printCliHeader('Status', 'Show account, device, queue, runtime, and scope posture.');
|
|
233
|
+
console.log(cliKeyLine('usage', 'forkit-connect status [--json]'));
|
|
234
|
+
console.log(cliKeyLine('next', 'If session is expired, run forkit-connect login'));
|
|
235
|
+
return true;
|
|
236
|
+
case 'workspace':
|
|
237
|
+
printCliHeader('Workspace', 'Manage governed workspace and project scope for Signal and Protocol accounts.');
|
|
238
|
+
console.log(cliKeyLine('usage', 'forkit-connect workspace status [--json]'));
|
|
239
|
+
console.log(cliKeyLine('usage', 'forkit-connect workspace select --workspace <id> --project <id>'));
|
|
240
|
+
console.log(cliKeyLine('note', 'Origin remains personal/public; governed scope starts with Signal'));
|
|
241
|
+
return true;
|
|
242
|
+
case 'runtime':
|
|
243
|
+
printCliHeader('Runtime', 'Review and connect local runtime posture without uploading runtime data.');
|
|
244
|
+
console.log(cliKeyLine('usage', 'forkit-connect runtime status [--json]'));
|
|
245
|
+
console.log(cliKeyLine('usage', 'forkit-connect runtime review [--json]'));
|
|
246
|
+
console.log(cliKeyLine('privacy', 'Metadata-only status, heartbeat, and lifecycle evidence'));
|
|
247
|
+
return true;
|
|
248
|
+
case 'doctor':
|
|
249
|
+
printCliHeader('Doctor', 'Diagnose local setup, secure storage, runtime availability, and session truth.');
|
|
250
|
+
console.log(cliKeyLine('usage', 'forkit-connect doctor [--json]'));
|
|
251
|
+
console.log(cliKeyLine('healthy', 'PASS/WARN/FAIL checks with clear next action'));
|
|
252
|
+
return true;
|
|
253
|
+
case 'update-check':
|
|
254
|
+
printCliHeader('Update Check', 'Compare npm CLI and desktop installer release channels.');
|
|
255
|
+
console.log(cliKeyLine('usage', 'forkit-connect update-check'));
|
|
256
|
+
console.log(cliKeyLine('cli', 'Uses the public npm forkit-connect latest version'));
|
|
257
|
+
console.log(cliKeyLine('desktop', 'Uses Forkit Connect desktop installer metadata separately'));
|
|
258
|
+
return true;
|
|
259
|
+
case 'connect':
|
|
260
|
+
printCliHeader('Connect', 'Prepare or sync a detected model into a passport-ready flow.');
|
|
261
|
+
console.log(cliKeyLine('usage', 'forkit-connect connect <modelNameOrDiscoveryHash>'));
|
|
262
|
+
console.log(cliKeyLine('review', 'Use forkit-connect inbox first to choose the right target'));
|
|
263
|
+
return true;
|
|
264
|
+
case 'register':
|
|
265
|
+
printCliHeader('Register', 'Register ready local models through the reviewed Connect flow.');
|
|
266
|
+
console.log(cliKeyLine('usage', 'forkit-connect register <modelNameOrDiscoveryHash>'));
|
|
267
|
+
console.log(cliKeyLine('safe', 'Governed accounts require workspace/project scope before registration'));
|
|
268
|
+
return true;
|
|
269
|
+
default:
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
176
273
|
function showUsage() {
|
|
177
274
|
if (hasFlag('--advanced-help')) {
|
|
178
275
|
advancedUsage();
|
|
@@ -2613,6 +2710,25 @@ function printTrayStatus(status, menu) {
|
|
|
2613
2710
|
async function run() {
|
|
2614
2711
|
const args = process.argv.slice(2);
|
|
2615
2712
|
const command = args[0];
|
|
2713
|
+
if (!command) {
|
|
2714
|
+
showUsage();
|
|
2715
|
+
return;
|
|
2716
|
+
}
|
|
2717
|
+
if (command === 'version' || command === '--version' || command === '-v') {
|
|
2718
|
+
console.log((0, update_1.getCurrentConnectVersion)());
|
|
2719
|
+
return;
|
|
2720
|
+
}
|
|
2721
|
+
if (isHelpCommand(command)) {
|
|
2722
|
+
showUsage();
|
|
2723
|
+
return;
|
|
2724
|
+
}
|
|
2725
|
+
if (hasFlag('--help') || hasFlag('-h')) {
|
|
2726
|
+
if (!commandUsage(command)) {
|
|
2727
|
+
showUsage();
|
|
2728
|
+
process.exitCode = 2;
|
|
2729
|
+
}
|
|
2730
|
+
return;
|
|
2731
|
+
}
|
|
2616
2732
|
const service = new service_1.ConnectV1Service();
|
|
2617
2733
|
const sessionRef = getArg('--session-ref');
|
|
2618
2734
|
const workspaceId = getArg('--workspace');
|
|
@@ -2627,18 +2743,6 @@ async function run() {
|
|
|
2627
2743
|
if (sessionRef !== null) {
|
|
2628
2744
|
service.setSessionRef(sessionRef);
|
|
2629
2745
|
}
|
|
2630
|
-
if (!command) {
|
|
2631
|
-
showUsage();
|
|
2632
|
-
return;
|
|
2633
|
-
}
|
|
2634
|
-
if (command === 'version' || command === '--version' || command === '-v') {
|
|
2635
|
-
console.log((0, update_1.getCurrentConnectVersion)());
|
|
2636
|
-
return;
|
|
2637
|
-
}
|
|
2638
|
-
if (isHelpCommand(command)) {
|
|
2639
|
-
showUsage();
|
|
2640
|
-
return;
|
|
2641
|
-
}
|
|
2642
2746
|
const runPublicConnectInit = () => {
|
|
2643
2747
|
printConnectInit(service.initializeConnectIdentity());
|
|
2644
2748
|
};
|