@velum-labs/cursorkit 0.1.0 → 0.1.1

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 CHANGED
@@ -28,16 +28,6 @@ pass through to an upstream. See `docs/configuration.md` for all config.
28
28
  ## CLI
29
29
 
30
30
  ```bash
31
- ck
32
- ck test
33
- ck --use-default-profile
34
- ck --print
35
- ck doctor
36
- ck cert
37
- ck route
38
- ck route status
39
- ck route rollback
40
- ck stop
41
31
  cursorkit serve
42
32
  cursorkit doctor
43
33
  cursorkit desktop-cert
@@ -45,6 +35,16 @@ cursorkit desktop-proxy
45
35
  cursorkit desktop-doctor
46
36
  cursorkit capture
47
37
  cursorkit fixtures
38
+ cursorkit ck
39
+ cursorkit ck test
40
+ cursorkit ck --use-default-profile
41
+ cursorkit ck --print
42
+ cursorkit ck doctor
43
+ cursorkit ck cert
44
+ cursorkit ck route
45
+ cursorkit ck route status
46
+ cursorkit ck route rollback
47
+ cursorkit ck stop
48
48
  cursorkit --help
49
49
  ```
50
50
 
@@ -66,18 +66,19 @@ capabilities explicitly. It does not own fan-out, judge synthesis, lifecycle,
66
66
  receipts, or live Cursor tool-call replay; desktop routes remain observed-only
67
67
  until fixture-backed evidence proves stability.
68
68
 
69
- `ck` is the recommended desktop test launcher. It starts the desktop bridge plus
70
- a local HTTP CONNECT proxy, opens an isolated Cursor profile with
69
+ `cursorkit ck` is the recommended desktop test launcher. It starts the desktop
70
+ bridge plus a local HTTP CONNECT proxy, opens an isolated Cursor profile with
71
71
  `--proxy-server`, and reports whether route inventory traffic reaches the
72
72
  bridge. For isolated desktop UI tests, it also seeds/activates local models
73
73
  additively in Cursor's settings-backed model picker state. It does not install
74
74
  certificates, edit `/etc/hosts`, modify `pf`, or kill your normal Cursor app.
75
75
  Inside this repo, use `pnpm ck`; when installed or linked as a package, use
76
- `ck` directly. If the isolated profile cannot complete browser login,
77
- `ck --use-default-profile` reuses your current Cursor auth state while keeping
78
- the same non-privileged routing attempt.
79
- Use `ck test --use-default-profile` for a bounded desktop smoke test that reports
80
- whether route inventory and the known model-list RPCs reached the bridge.
76
+ `cursorkit ck` directly. If the isolated profile cannot complete browser login,
77
+ `cursorkit ck --use-default-profile` reuses your current Cursor auth state while
78
+ keeping the same non-privileged routing attempt.
79
+ Use `cursorkit ck test --use-default-profile` for a bounded desktop smoke test
80
+ that reports whether route inventory and the known model-list RPCs reached the
81
+ bridge.
81
82
 
82
83
  The project knowledge base for observed Cursor behavior is `docs/learnings.md`.
83
84
  Read it before changing route interception, model metadata, or desktop proxy
@@ -1,8 +1,9 @@
1
1
  import { type ChildProcess } from "node:child_process";
2
2
  import fs from "node:fs";
3
+ import { Command } from "commander";
3
4
  import { type LocalModelConfig } from "./config.js";
4
5
  import { type DesktopConnectProxy } from "./desktopConnectProxy.js";
5
- export type CkCommand = "launch" | "test" | "doctor" | "cert" | "route" | "stop" | "help";
6
+ export type CkCommand = "launch" | "test" | "doctor" | "cert" | "route" | "stop";
6
7
  export type CkProfileMode = "isolated" | "default";
7
8
  export type CkRouteMethod = "pf" | "direct";
8
9
  export type CkRouteAction = "plan" | "status" | "rollback";
@@ -116,6 +117,16 @@ interface CkState {
116
117
  }
117
118
  export declare const CK_STATE_DIR: string;
118
119
  export declare const CK_STATE_PATH: string;
120
+ /**
121
+ * Build the commander program for `ck`. `dispatch` receives the resolved
122
+ * {@link CkArgs}; the real binary runs the command while {@link parseCkArgs}
123
+ * captures the args for tests.
124
+ */
125
+ export declare function buildCkProgram(dispatch: (args: CkArgs) => void | Promise<void>): Command;
126
+ /**
127
+ * Pure argument parser built on the commander program: returns the resolved
128
+ * {@link CkArgs} (or throws on invalid input) without running the command.
129
+ */
119
130
  export declare function parseCkArgs(argv: string[]): CkArgs;
120
131
  export declare function buildCkLaunchPlan(options: {
121
132
  env: NodeJS.ProcessEnv;
@@ -139,6 +150,8 @@ export declare function containsPrivilegedCommand(spec: CommandSpec): boolean;
139
150
  export declare function routeInventoryTimeoutDiagnosis(): string[];
140
151
  export declare function analyzeRouteInventoryLog(logText: string): DesktopTestReport;
141
152
  export declare function runCk(argv?: string[]): Promise<void>;
153
+ /** Attach the `ck` desktop launcher as a subcommand group of another program. */
154
+ export declare function registerCk(program: Command): void;
142
155
  export declare function chooseBridgePort(): Promise<number>;
143
156
  export declare function seedCursorAuthFromDefault(plan: Pick<CkLaunchPlan, "profileMode" | "userDataDir" | "seedAuthFromDefault">): CursorAuthSeedStatus;
144
157
  export declare function seedLocalModelsIntoCursorState(plan: Pick<CkLaunchPlan, "agentHttpPort" | "bridge" | "profileMode" | "userDataDir">): CursorLocalModelSeedStatus;