clawdex-mobile 5.1.3-internal.9 → 5.2.3

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 (48) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +6 -55
  3. package/bin/clawdex.js +2 -2
  4. package/docs/setup-and-operations.md +13 -100
  5. package/docs/troubleshooting.md +2 -71
  6. package/package.json +17 -6
  7. package/scripts/setup-secure-dev.sh +5 -79
  8. package/scripts/setup-wizard.sh +37 -87
  9. package/scripts/start-bridge-secure.js +9 -269
  10. package/services/cursor-app-server/README.md +39 -0
  11. package/services/cursor-app-server/dist/appServer.d.ts +52 -0
  12. package/services/cursor-app-server/dist/appServer.js +780 -0
  13. package/services/cursor-app-server/dist/appServer.js.map +1 -0
  14. package/services/cursor-app-server/dist/cursorWorkspace.d.ts +7 -0
  15. package/services/cursor-app-server/dist/cursorWorkspace.js +126 -0
  16. package/services/cursor-app-server/dist/cursorWorkspace.js.map +1 -0
  17. package/services/cursor-app-server/dist/index.d.ts +4 -0
  18. package/services/cursor-app-server/dist/index.js +4 -0
  19. package/services/cursor-app-server/dist/index.js.map +1 -0
  20. package/services/cursor-app-server/dist/input.d.ts +27 -0
  21. package/services/cursor-app-server/dist/input.js +143 -0
  22. package/services/cursor-app-server/dist/input.js.map +1 -0
  23. package/services/cursor-app-server/dist/jsonRpc.d.ts +15 -0
  24. package/services/cursor-app-server/dist/jsonRpc.js +93 -0
  25. package/services/cursor-app-server/dist/jsonRpc.js.map +1 -0
  26. package/services/cursor-app-server/dist/projection.d.ts +8 -0
  27. package/services/cursor-app-server/dist/projection.js +507 -0
  28. package/services/cursor-app-server/dist/projection.js.map +1 -0
  29. package/services/cursor-app-server/dist/sdkDriver.d.ts +50 -0
  30. package/services/cursor-app-server/dist/sdkDriver.js +166 -0
  31. package/services/cursor-app-server/dist/sdkDriver.js.map +1 -0
  32. package/services/cursor-app-server/dist/stdio.d.ts +2 -0
  33. package/services/cursor-app-server/dist/stdio.js +7 -0
  34. package/services/cursor-app-server/dist/stdio.js.map +1 -0
  35. package/services/cursor-app-server/dist/types.d.ts +218 -0
  36. package/services/cursor-app-server/dist/types.js +2 -0
  37. package/services/cursor-app-server/dist/types.js.map +1 -0
  38. package/services/cursor-app-server/package.json +43 -0
  39. package/services/rust-bridge/Cargo.lock +1 -1
  40. package/services/rust-bridge/Cargo.toml +1 -1
  41. package/services/rust-bridge/src/main.rs +1703 -353
  42. package/vendor/bridge-binaries/darwin-arm64/codex-rust-bridge +0 -0
  43. package/vendor/bridge-binaries/darwin-x64/codex-rust-bridge +0 -0
  44. package/vendor/bridge-binaries/linux-arm64/codex-rust-bridge +0 -0
  45. package/vendor/bridge-binaries/linux-armv7l/codex-rust-bridge +0 -0
  46. package/vendor/bridge-binaries/linux-x64/codex-rust-bridge +0 -0
  47. package/vendor/bridge-binaries/win32-x64/codex-rust-bridge.exe +0 -0
  48. package/scripts/codespaces-bootstrap.js +0 -297
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appServer.js","sourceRoot":"","sources":["../src/appServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface CursorTranscriptWorkspaceOptions {
2
+ agentId: string;
3
+ projectsDir?: string;
4
+ knownCwds: string[];
5
+ }
6
+ export declare function findCursorTranscriptWorkspaceCwd({ agentId, projectsDir, knownCwds, }: CursorTranscriptWorkspaceOptions): Promise<string | null>;
7
+ export declare function cursorProjectDirName(cwd: string): string;
@@ -0,0 +1,126 @@
1
+ import { constants } from 'node:fs';
2
+ import { access, readdir } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import { dirname, join } from 'node:path';
5
+ export async function findCursorTranscriptWorkspaceCwd({ agentId, projectsDir = defaultCursorProjectsDir(), knownCwds, }) {
6
+ const projectDirNames = await findTranscriptProjectDirNames(projectsDir, agentId);
7
+ for (const projectDirName of projectDirNames) {
8
+ const cwd = await resolveProjectDirNameToCwd(projectDirName, knownCwds);
9
+ if (cwd) {
10
+ return cwd;
11
+ }
12
+ }
13
+ return null;
14
+ }
15
+ export function cursorProjectDirName(cwd) {
16
+ return cwd.replace(/^\/+/, '').replaceAll('/', '-');
17
+ }
18
+ function defaultCursorProjectsDir() {
19
+ return join(homedir(), '.cursor', 'projects');
20
+ }
21
+ async function findTranscriptProjectDirNames(projectsDir, agentId) {
22
+ let entries;
23
+ try {
24
+ entries = await readdir(projectsDir, { withFileTypes: true });
25
+ }
26
+ catch {
27
+ return [];
28
+ }
29
+ const matches = [];
30
+ for (const entry of entries) {
31
+ if (!entry.isDirectory()) {
32
+ continue;
33
+ }
34
+ const transcriptPath = join(projectsDir, entry.name, 'agent-transcripts', agentId, `${agentId}.jsonl`);
35
+ if (await pathExists(transcriptPath)) {
36
+ matches.push(entry.name);
37
+ }
38
+ }
39
+ return matches;
40
+ }
41
+ async function resolveProjectDirNameToCwd(projectDirName, knownCwds) {
42
+ for (const cwd of knownCwds) {
43
+ if (cursorProjectDirName(cwd) === projectDirName) {
44
+ return cwd;
45
+ }
46
+ }
47
+ for (const searchRoot of candidateSearchRoots(knownCwds)) {
48
+ const direct = await findWorkspaceChild(searchRoot, projectDirName);
49
+ if (direct) {
50
+ return direct;
51
+ }
52
+ }
53
+ return null;
54
+ }
55
+ function candidateSearchRoots(knownCwds) {
56
+ const roots = new Set();
57
+ for (const cwd of knownCwds) {
58
+ let root = dirname(cwd);
59
+ for (let depth = 0; depth < 2; depth += 1) {
60
+ if (!root || root === '.' || root === dirname(root)) {
61
+ break;
62
+ }
63
+ roots.add(root);
64
+ root = dirname(root);
65
+ }
66
+ }
67
+ return [...roots];
68
+ }
69
+ async function findWorkspaceChild(searchRoot, projectDirName) {
70
+ let entries;
71
+ try {
72
+ entries = await readdir(searchRoot, { withFileTypes: true });
73
+ }
74
+ catch {
75
+ return null;
76
+ }
77
+ for (const entry of entries) {
78
+ if (!entry.isDirectory()) {
79
+ continue;
80
+ }
81
+ const candidate = join(searchRoot, entry.name);
82
+ if (cursorProjectDirName(candidate) === projectDirName) {
83
+ return candidate;
84
+ }
85
+ }
86
+ for (const entry of entries) {
87
+ if (!entry.isDirectory()) {
88
+ continue;
89
+ }
90
+ const childRoot = join(searchRoot, entry.name);
91
+ const direct = await findWorkspaceGrandchild(childRoot, projectDirName);
92
+ if (direct) {
93
+ return direct;
94
+ }
95
+ }
96
+ return null;
97
+ }
98
+ async function findWorkspaceGrandchild(searchRoot, projectDirName) {
99
+ let entries;
100
+ try {
101
+ entries = await readdir(searchRoot, { withFileTypes: true });
102
+ }
103
+ catch {
104
+ return null;
105
+ }
106
+ for (const entry of entries) {
107
+ if (!entry.isDirectory()) {
108
+ continue;
109
+ }
110
+ const candidate = join(searchRoot, entry.name);
111
+ if (cursorProjectDirName(candidate) === projectDirName) {
112
+ return candidate;
113
+ }
114
+ }
115
+ return null;
116
+ }
117
+ async function pathExists(path) {
118
+ try {
119
+ await access(path, constants.F_OK);
120
+ return true;
121
+ }
122
+ catch {
123
+ return false;
124
+ }
125
+ }
126
+ //# sourceMappingURL=cursorWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursorWorkspace.js","sourceRoot":"","sources":["../src/cursorWorkspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQ1C,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,EACrD,OAAO,EACP,WAAW,GAAG,wBAAwB,EAAE,EACxC,SAAS,GACwB;IACjC,MAAM,eAAe,GAAG,MAAM,6BAA6B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClF,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACxE,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,WAAmB,EACnB,OAAe;IAEf,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CACzB,WAAW,EACX,KAAK,CAAC,IAAI,EACV,mBAAmB,EACnB,OAAO,EACP,GAAG,OAAO,QAAQ,CACnB,CAAC;QACF,IAAI,MAAM,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,cAAsB,EACtB,SAAmB;IAEnB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAmB;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM;YACR,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,UAAkB,EAClB,cAAsB;IAEtB,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,oBAAoB,CAAC,SAAS,CAAC,KAAK,cAAc,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACxE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,UAAkB,EAClB,cAAsB;IAEtB,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,oBAAoB,CAAC,SAAS,CAAC,KAAK,cAAc,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { CursorAppServer, createCursorAppServerFromEnv } from './appServer.js';
2
+ export { JsonRpcStdioServer } from './jsonRpc.js';
3
+ export { CursorSdkDriver } from './sdkDriver.js';
4
+ export type { AppServerNotification, CursorAgentHandle, CursorAgentInfo, CursorAgentMessage, CursorAppServerOptions, CursorDriver, CursorModelListItem, CursorRunHandle, CursorRunResult, CursorRunStatus, CursorStreamMessage, ModelSelection, ThreadContentEntry, ThreadItem, ThreadLifecycleStatus, ThreadRecord, ThreadTurn, } from './types.js';
@@ -0,0 +1,4 @@
1
+ export { CursorAppServer, createCursorAppServerFromEnv } from './appServer.js';
2
+ export { JsonRpcStdioServer } from './jsonRpc.js';
3
+ export { CursorSdkDriver } from './sdkDriver.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,27 @@
1
+ export interface ParsedThreadStartParams {
2
+ cwd: string | null;
3
+ name: string | null;
4
+ model: string | null;
5
+ }
6
+ export interface ParsedTurnStartParams {
7
+ threadId: string;
8
+ prompt: string;
9
+ imagePaths: string[];
10
+ cwd: string | null;
11
+ model: string | null;
12
+ collaborationMode: CursorCollaborationMode | null;
13
+ }
14
+ export type CursorCollaborationMode = 'default' | 'plan' | 'ask';
15
+ export interface ParsedThreadIdParams {
16
+ threadId: string;
17
+ cwd: string | null;
18
+ }
19
+ export interface ParsedListParams {
20
+ cwd: string | null;
21
+ limit?: number;
22
+ cursor?: string;
23
+ }
24
+ export declare function parseThreadStartParams(value: unknown): ParsedThreadStartParams;
25
+ export declare function parseTurnStartParams(value: unknown): ParsedTurnStartParams;
26
+ export declare function parseThreadIdParams(value: unknown): ParsedThreadIdParams;
27
+ export declare function parseListParams(value: unknown): ParsedListParams;
@@ -0,0 +1,143 @@
1
+ import { z } from 'zod';
2
+ const textInputSchema = z.object({
3
+ type: z.literal('text'),
4
+ text: z.string(),
5
+ });
6
+ const mentionInputSchema = z.object({
7
+ type: z.literal('mention'),
8
+ path: z.string(),
9
+ name: z.string().optional(),
10
+ });
11
+ const localImageInputSchema = z.object({
12
+ type: z.literal('localImage'),
13
+ path: z.string(),
14
+ });
15
+ const unsupportedInputSchema = z.object({
16
+ type: z.string(),
17
+ });
18
+ const turnParamsSchema = z.object({
19
+ threadId: z.string().min(1),
20
+ input: z.array(z.unknown()).min(1),
21
+ cwd: z.string().optional().nullable(),
22
+ model: z.string().optional().nullable(),
23
+ collaborationMode: z.unknown().optional().nullable(),
24
+ });
25
+ const threadStartParamsSchema = z.object({
26
+ cwd: z.string().optional().nullable(),
27
+ name: z.string().optional().nullable(),
28
+ threadName: z.string().optional().nullable(),
29
+ model: z.string().optional().nullable(),
30
+ });
31
+ const threadIdParamsSchema = z.object({
32
+ threadId: z.string().min(1),
33
+ cwd: z.string().optional().nullable(),
34
+ });
35
+ const listParamsSchema = z.object({
36
+ cwd: z.string().optional().nullable(),
37
+ limit: z.number().int().positive().max(1000).optional(),
38
+ cursor: z.string().optional().nullable(),
39
+ });
40
+ export function parseThreadStartParams(value) {
41
+ const parsed = threadStartParamsSchema.parse(value ?? {});
42
+ return {
43
+ cwd: normalizeNullableString(parsed.cwd),
44
+ name: normalizeNullableString(parsed.threadName) ?? normalizeNullableString(parsed.name),
45
+ model: normalizeNullableString(parsed.model),
46
+ };
47
+ }
48
+ export function parseTurnStartParams(value) {
49
+ const parsed = turnParamsSchema.parse(value ?? {});
50
+ const input = turnInputToPromptAndImages(parsed.input);
51
+ return {
52
+ threadId: parsed.threadId.trim(),
53
+ prompt: input.prompt,
54
+ imagePaths: input.imagePaths,
55
+ cwd: normalizeNullableString(parsed.cwd),
56
+ model: normalizeNullableString(parsed.model),
57
+ collaborationMode: normalizeCollaborationMode(parsed.collaborationMode),
58
+ };
59
+ }
60
+ function normalizeCollaborationMode(value) {
61
+ const rawMode = typeof value === 'string'
62
+ ? value
63
+ : value && typeof value === 'object' && 'mode' in value
64
+ ? value.mode
65
+ : null;
66
+ if (typeof rawMode !== 'string') {
67
+ return null;
68
+ }
69
+ const normalized = rawMode.trim().toLowerCase();
70
+ if (normalized === 'default' || normalized === 'plan' || normalized === 'ask') {
71
+ return normalized;
72
+ }
73
+ return null;
74
+ }
75
+ export function parseThreadIdParams(value) {
76
+ const parsed = threadIdParamsSchema.parse(value ?? {});
77
+ return {
78
+ threadId: parsed.threadId.trim(),
79
+ cwd: normalizeNullableString(parsed.cwd),
80
+ };
81
+ }
82
+ export function parseListParams(value) {
83
+ const parsed = listParamsSchema.parse(value ?? {});
84
+ return {
85
+ cwd: normalizeNullableString(parsed.cwd),
86
+ limit: parsed.limit,
87
+ cursor: normalizeNullableString(parsed.cursor) ?? undefined,
88
+ };
89
+ }
90
+ function turnInputToPromptAndImages(input) {
91
+ const textParts = [];
92
+ const mentions = [];
93
+ const imagePaths = [];
94
+ for (const entry of input) {
95
+ const text = textInputSchema.safeParse(entry);
96
+ if (text.success) {
97
+ const value = text.data.text.trim();
98
+ if (value) {
99
+ textParts.push(value);
100
+ }
101
+ continue;
102
+ }
103
+ const mention = mentionInputSchema.safeParse(entry);
104
+ if (mention.success) {
105
+ const path = mention.data.path.trim();
106
+ if (path) {
107
+ mentions.push(mention.data.name ? `${mention.data.name}: ${path}` : path);
108
+ }
109
+ continue;
110
+ }
111
+ const localImage = localImageInputSchema.safeParse(entry);
112
+ if (localImage.success) {
113
+ const path = localImage.data.path.trim();
114
+ if (path) {
115
+ imagePaths.push(path);
116
+ }
117
+ continue;
118
+ }
119
+ const unsupported = unsupportedInputSchema.safeParse(entry);
120
+ const type = unsupported.success ? unsupported.data.type : typeof entry;
121
+ throw new Error(`unsupported Cursor turn input item: ${type}`);
122
+ }
123
+ if (textParts.length === 0 && mentions.length === 0 && imagePaths.length === 0) {
124
+ throw new Error('turn/start requires non-empty text or mention input');
125
+ }
126
+ const prompt = [
127
+ textParts.join('\n\n'),
128
+ mentions.length > 0
129
+ ? `Referenced workspace paths:\n${mentions.map((path) => `- ${path}`).join('\n')}`
130
+ : '',
131
+ ]
132
+ .filter((part) => part.trim().length > 0)
133
+ .join('\n\n');
134
+ return {
135
+ prompt: prompt || 'Analyze the attached image.',
136
+ imagePaths,
137
+ };
138
+ }
139
+ function normalizeNullableString(value) {
140
+ const trimmed = value?.trim();
141
+ return trimmed ? trimmed : null;
142
+ }
143
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Readable, Writable } from 'node:stream';
2
+ import type { CursorAppServer } from './appServer.js';
3
+ export declare class JsonRpcStdioServer {
4
+ private readonly appServer;
5
+ private readonly input;
6
+ private readonly output;
7
+ private readline;
8
+ private unsubscribeNotifications;
9
+ constructor(appServer: CursorAppServer, input: Readable, output: Writable);
10
+ start(): void;
11
+ stop(): void;
12
+ private handleLine;
13
+ private writeError;
14
+ private write;
15
+ }
@@ -0,0 +1,93 @@
1
+ import { createInterface } from 'node:readline';
2
+ export class JsonRpcStdioServer {
3
+ appServer;
4
+ input;
5
+ output;
6
+ readline = null;
7
+ unsubscribeNotifications = null;
8
+ constructor(appServer, input, output) {
9
+ this.appServer = appServer;
10
+ this.input = input;
11
+ this.output = output;
12
+ }
13
+ start() {
14
+ if (this.readline) {
15
+ return;
16
+ }
17
+ this.unsubscribeNotifications = this.appServer.onNotification((notification) => {
18
+ this.write({
19
+ jsonrpc: '2.0',
20
+ method: notification.method,
21
+ params: notification.params,
22
+ });
23
+ });
24
+ this.readline = createInterface({
25
+ input: this.input,
26
+ crlfDelay: Infinity,
27
+ });
28
+ this.readline.on('line', (line) => {
29
+ void this.handleLine(line);
30
+ });
31
+ this.readline.on('close', () => {
32
+ this.stop();
33
+ });
34
+ }
35
+ stop() {
36
+ this.unsubscribeNotifications?.();
37
+ this.unsubscribeNotifications = null;
38
+ this.readline?.close();
39
+ this.readline = null;
40
+ }
41
+ async handleLine(line) {
42
+ const trimmed = line.trim();
43
+ if (!trimmed) {
44
+ return;
45
+ }
46
+ let request;
47
+ try {
48
+ request = JSON.parse(trimmed);
49
+ }
50
+ catch {
51
+ this.writeError(null, {
52
+ code: -32700,
53
+ message: 'parse error',
54
+ });
55
+ return;
56
+ }
57
+ if (!request.method || typeof request.method !== 'string') {
58
+ this.writeError(request.id ?? null, {
59
+ code: -32600,
60
+ message: 'invalid JSON-RPC request',
61
+ });
62
+ return;
63
+ }
64
+ if (request.id === undefined || request.id === null) {
65
+ return;
66
+ }
67
+ try {
68
+ const result = await this.appServer.request(request.method, request.params);
69
+ this.write({
70
+ jsonrpc: '2.0',
71
+ id: request.id,
72
+ result,
73
+ });
74
+ }
75
+ catch (error) {
76
+ this.writeError(request.id, {
77
+ code: -32000,
78
+ message: error instanceof Error ? error.message : String(error),
79
+ });
80
+ }
81
+ }
82
+ writeError(id, error) {
83
+ this.write({
84
+ jsonrpc: '2.0',
85
+ id,
86
+ error,
87
+ });
88
+ }
89
+ write(payload) {
90
+ this.output.write(`${JSON.stringify(payload)}\n`);
91
+ }
92
+ }
93
+ //# sourceMappingURL=jsonRpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonRpc.js","sourceRoot":"","sources":["../src/jsonRpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CursorAgentInfo, CursorAgentMessage, CursorStreamMessage, ThreadItem, ThreadRecord, ThreadTurn } from './types.js';
2
+ export declare function projectAgentInfoToThread(agent: CursorAgentInfo, cwd: string, turns?: ThreadTurn[]): ThreadRecord;
3
+ export declare function messagesToTurns(messages: CursorAgentMessage[]): ThreadTurn[];
4
+ export declare function displayableCursorAgentName(name: string | null | undefined, agentId: string): string | null;
5
+ export declare function isGenericCursorAgentName(name: string | null | undefined, agentId: string): boolean;
6
+ export declare function streamMessageToThreadItem(message: CursorStreamMessage): ThreadItem | null;
7
+ export declare function readMessageText(value: unknown): string;
8
+ export declare function toPreview(value: string): string;