@tui-sandbox/library 10.1.0 → 10.2.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/CHANGELOG.md +14 -0
- package/dist/browser/assets/index-C2ZGI5iI.js +37 -0
- package/dist/browser/index.html +1 -1
- package/dist/src/server/blockingCommandInputSchema.d.ts +3 -55
- package/dist/src/server/blockingCommandInputSchema.js +1 -1
- package/dist/src/server/blockingCommandInputSchema.js.map +1 -1
- package/dist/src/server/blockingCommandInputSchema.test.js +9 -7
- package/dist/src/server/blockingCommandInputSchema.test.js.map +1 -1
- package/dist/src/server/dirtree/index.d.ts +9 -4
- package/dist/src/server/dirtree/index.js +9 -0
- package/dist/src/server/dirtree/index.js.map +1 -1
- package/dist/src/server/dirtree/index.test.js +15 -0
- package/dist/src/server/dirtree/index.test.js.map +1 -1
- package/dist/src/server/neovim/environment/createTempDir.js +1 -1
- package/dist/src/server/server.d.ts +19 -65
- package/dist/src/server/server.js +2 -2
- package/dist/src/server/server.js.map +1 -1
- package/dist/src/server/utilities/tabId.d.ts +1 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -10
- package/src/server/blockingCommandInputSchema.test.ts +9 -7
- package/src/server/blockingCommandInputSchema.ts +1 -1
- package/src/server/dirtree/index.test.ts +15 -0
- package/src/server/dirtree/index.ts +21 -5
- package/src/server/neovim/environment/createTempDir.ts +1 -1
- package/src/server/server.ts +2 -2
- package/dist/browser/assets/index-BmeFKAKi.js +0 -9
package/dist/browser/index.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<title>tui-sandbox integration tests</title>
|
|
6
|
-
<script type="module" crossorigin src="/assets/index-
|
|
6
|
+
<script type="module" crossorigin src="/assets/index-C2ZGI5iI.js"></script>
|
|
7
7
|
<link rel="stylesheet" crossorigin href="/assets/index-D6fBrqAi.css">
|
|
8
8
|
</head>
|
|
9
9
|
<body>
|
|
@@ -1,70 +1,18 @@
|
|
|
1
1
|
import "core-js/proposals/async-explicit-resource-management.js";
|
|
2
2
|
import type { Except } from "type-fest";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
export declare const blockingCommandInputSchema: z.
|
|
4
|
+
export declare const blockingCommandInputSchema: z.ZodObject<{
|
|
5
5
|
command: z.ZodString;
|
|
6
6
|
shell: z.ZodOptional<z.ZodString>;
|
|
7
7
|
tabId: z.ZodObject<{
|
|
8
8
|
tabId: z.ZodString;
|
|
9
|
-
},
|
|
10
|
-
tabId: string;
|
|
11
|
-
}, {
|
|
12
|
-
tabId: string;
|
|
13
|
-
}>;
|
|
9
|
+
}, {}>;
|
|
14
10
|
allowFailure: z.ZodOptional<z.ZodBoolean>;
|
|
15
11
|
cwd: z.ZodOptional<z.ZodString>;
|
|
16
12
|
cwdRelative: z.ZodOptional<z.ZodString>;
|
|
17
13
|
envOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
18
14
|
uid: z.ZodOptional<z.ZodNumber>;
|
|
19
15
|
gid: z.ZodOptional<z.ZodNumber>;
|
|
20
|
-
},
|
|
21
|
-
tabId: {
|
|
22
|
-
tabId: string;
|
|
23
|
-
};
|
|
24
|
-
command: string;
|
|
25
|
-
shell?: string | undefined;
|
|
26
|
-
allowFailure?: boolean | undefined;
|
|
27
|
-
cwd?: string | undefined;
|
|
28
|
-
cwdRelative?: string | undefined;
|
|
29
|
-
envOverrides?: Record<string, string> | undefined;
|
|
30
|
-
uid?: number | undefined;
|
|
31
|
-
gid?: number | undefined;
|
|
32
|
-
}, {
|
|
33
|
-
tabId: {
|
|
34
|
-
tabId: string;
|
|
35
|
-
};
|
|
36
|
-
command: string;
|
|
37
|
-
shell?: string | undefined;
|
|
38
|
-
allowFailure?: boolean | undefined;
|
|
39
|
-
cwd?: string | undefined;
|
|
40
|
-
cwdRelative?: string | undefined;
|
|
41
|
-
envOverrides?: Record<string, string> | undefined;
|
|
42
|
-
uid?: number | undefined;
|
|
43
|
-
gid?: number | undefined;
|
|
44
|
-
}>, {
|
|
45
|
-
tabId: {
|
|
46
|
-
tabId: string;
|
|
47
|
-
};
|
|
48
|
-
command: string;
|
|
49
|
-
shell?: string | undefined;
|
|
50
|
-
allowFailure?: boolean | undefined;
|
|
51
|
-
cwd?: string | undefined;
|
|
52
|
-
cwdRelative?: string | undefined;
|
|
53
|
-
envOverrides?: Record<string, string> | undefined;
|
|
54
|
-
uid?: number | undefined;
|
|
55
|
-
gid?: number | undefined;
|
|
56
|
-
}, {
|
|
57
|
-
tabId: {
|
|
58
|
-
tabId: string;
|
|
59
|
-
};
|
|
60
|
-
command: string;
|
|
61
|
-
shell?: string | undefined;
|
|
62
|
-
allowFailure?: boolean | undefined;
|
|
63
|
-
cwd?: string | undefined;
|
|
64
|
-
cwdRelative?: string | undefined;
|
|
65
|
-
envOverrides?: Record<string, string> | undefined;
|
|
66
|
-
uid?: number | undefined;
|
|
67
|
-
gid?: number | undefined;
|
|
68
|
-
}>;
|
|
16
|
+
}, {}>;
|
|
69
17
|
export type BlockingCommandClientInput = Except<BlockingCommandInput, "tabId">;
|
|
70
18
|
export type BlockingCommandInput = z.infer<typeof blockingCommandInputSchema>;
|
|
@@ -10,7 +10,7 @@ export const blockingCommandInputSchema = z
|
|
|
10
10
|
// absolute cwd
|
|
11
11
|
cwd: z.string().optional(),
|
|
12
12
|
cwdRelative: z.string().optional(),
|
|
13
|
-
envOverrides: z.record(z.string()).optional(),
|
|
13
|
+
envOverrides: z.record(z.string(), z.string()).optional(),
|
|
14
14
|
uid: z.number().optional(),
|
|
15
15
|
gid: z.number().optional(),
|
|
16
16
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockingCommandInputSchema.js","sourceRoot":"","sources":["../../../src/server/blockingCommandInputSchema.ts"],"names":[],"mappings":"AAAA,OAAO,yDAAyD,CAAA;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,WAAW;IAClB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEpC,eAAe;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"blockingCommandInputSchema.js","sourceRoot":"","sources":["../../../src/server/blockingCommandInputSchema.ts"],"names":[],"mappings":"AAAA,OAAO,yDAAyD,CAAA;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,WAAW;IAClB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEpC,eAAe;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC;KACD,MAAM,CACL,IAAI,CAAC,EAAE;AACL,oCAAoC;AACpC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,EACjC,EAAE,OAAO,EAAE,yFAAyF,EAAE,CACvG,CAAA"}
|
|
@@ -9,13 +9,15 @@ describe("blockingCommandInputSchema", () => {
|
|
|
9
9
|
cwdRelative: "cwdRelative",
|
|
10
10
|
});
|
|
11
11
|
expect(fails.error).toMatchInlineSnapshot(`
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
ZodError {
|
|
13
|
+
"issues": [
|
|
14
|
+
{
|
|
15
|
+
"code": "custom",
|
|
16
|
+
"message": "Both cwd and cwdRelative provided. Please provide either but not both at the same time.",
|
|
17
|
+
"path": [],
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
}
|
|
19
21
|
`);
|
|
20
22
|
});
|
|
21
23
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockingCommandInputSchema.test.js","sourceRoot":"","sources":["../../../src/server/blockingCommandInputSchema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,iCAAiC,CAAA;AAEvG,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,kEAAkE;QAClE,MAAM,KAAK,GAAG,0BAA0B,CAAC,SAAS,CAAC;YACjD,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,GAAG,EAAE,KAAK;YACV,WAAW,EAAE,aAAa;SACa,CAAC,CAAA;QAE1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"blockingCommandInputSchema.test.js","sourceRoot":"","sources":["../../../src/server/blockingCommandInputSchema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,iCAAiC,CAAA;AAEvG,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,kEAAkE;QAClE,MAAM,KAAK,GAAG,0BAA0B,CAAC,SAAS,CAAC;YACjD,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACvB,GAAG,EAAE,KAAK;YACV,WAAW,EAAE,aAAa;SACa,CAAC,CAAA;QAE1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;KAUzC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Dree } from "dree";
|
|
2
|
-
import { Type } from "dree";
|
|
3
2
|
type TreeResult = {
|
|
4
3
|
dree: Dree | undefined;
|
|
5
4
|
allFiles: Dree[];
|
|
@@ -7,16 +6,22 @@ type TreeResult = {
|
|
|
7
6
|
/** Convert a directory tree to a TypeScript type. This is useful for testing
|
|
8
7
|
* as the initial state of the test directory is fully known in tests. */
|
|
9
8
|
export declare function getDirectoryTree(path: string): TreeResult;
|
|
9
|
+
type TreeNode = FileNode | FileSymlinkNode | DirectoryNode;
|
|
10
10
|
type FileNode = {
|
|
11
|
-
type:
|
|
11
|
+
type: "file";
|
|
12
12
|
name: string;
|
|
13
13
|
};
|
|
14
|
+
type FileSymlinkNode = {
|
|
15
|
+
type: "file-symlink";
|
|
16
|
+
name: string;
|
|
17
|
+
/** The target of the symlink, a filepath. */
|
|
18
|
+
target: string;
|
|
19
|
+
};
|
|
14
20
|
type DirectoryNode = {
|
|
15
|
-
type:
|
|
21
|
+
type: "directory";
|
|
16
22
|
name: string;
|
|
17
23
|
contents: Record<string, TreeNode>;
|
|
18
24
|
};
|
|
19
|
-
type TreeNode = FileNode | DirectoryNode;
|
|
20
25
|
export declare function convertDree(root: Dree | undefined): TreeNode;
|
|
21
26
|
export declare function buildSchemaForDirectoryTree(result: TreeResult, name: string): Promise<string>;
|
|
22
27
|
export declare function buildTestDirectorySchema(testDirectoryPath: string): Promise<string>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { scan, Type } from "dree";
|
|
2
|
+
import { readlinkSync } from "fs";
|
|
2
3
|
import { format, resolveConfig } from "prettier";
|
|
3
4
|
import { fileURLToPath } from "url";
|
|
4
5
|
import { jsonToZod } from "./json-to-zod.js";
|
|
@@ -23,6 +24,14 @@ export function convertDree(root) {
|
|
|
23
24
|
return { type: Type.DIRECTORY, name: "root", contents: {} };
|
|
24
25
|
}
|
|
25
26
|
if (root.type === Type.FILE) {
|
|
27
|
+
if (root.isSymbolicLink) {
|
|
28
|
+
const target = readlinkSync(root.path);
|
|
29
|
+
return {
|
|
30
|
+
name: root.name,
|
|
31
|
+
type: "file-symlink",
|
|
32
|
+
target,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
26
35
|
return {
|
|
27
36
|
name: root.name,
|
|
28
37
|
type: root.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAI5C;yEACyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAW,EAAE,CAAA;IAC3B,MAAM,MAAM,GAAG,IAAI,CACjB,IAAI,EACJ;QACE,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC/B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,KAAK;KACnB,EACD,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CACa,CAAA,CAAC,iDAAiD;IAElE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAA;AAChD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,6 +116,18 @@ describe("dirtree", () => {
|
|
|
116
116
|
"subdirectory-file.txt": z.object({ name: z.literal("subdirectory-file.txt"), type: z.literal("file") }),
|
|
117
117
|
}),
|
|
118
118
|
}),
|
|
119
|
+
"symlink-target.txt": z.object({
|
|
120
|
+
name: z.literal("symlink-target.txt"),
|
|
121
|
+
type: z.literal("file-symlink"),
|
|
122
|
+
target: z.literal("symlink-test/symlink-target.txt"),
|
|
123
|
+
}),
|
|
124
|
+
"symlink-test": z.object({
|
|
125
|
+
name: z.literal("symlink-test/"),
|
|
126
|
+
type: z.literal("directory"),
|
|
127
|
+
contents: z.object({
|
|
128
|
+
"symlink-target.txt": z.object({ name: z.literal("symlink-target.txt"), type: z.literal("file") }),
|
|
129
|
+
}),
|
|
130
|
+
}),
|
|
119
131
|
}),
|
|
120
132
|
})
|
|
121
133
|
|
|
@@ -152,6 +164,9 @@ describe("dirtree", () => {
|
|
|
152
164
|
"routes",
|
|
153
165
|
"subdirectory/subdirectory-file.txt",
|
|
154
166
|
"subdirectory",
|
|
167
|
+
"symlink-target.txt",
|
|
168
|
+
"symlink-test/symlink-target.txt",
|
|
169
|
+
"symlink-test",
|
|
155
170
|
"."
|
|
156
171
|
])
|
|
157
172
|
export type MyTestDirectoryFile = z.infer<typeof testDirectoryFiles>"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1E,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAC3B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CACxG,CAAA;IAED,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAA;QAEpC,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAEjF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1E,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAC3B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CACxG,CAAA;IAED,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAA;QAEpC,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAEjF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4JpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -16,7 +16,7 @@ export async function createTempDir(config) {
|
|
|
16
16
|
return;
|
|
17
17
|
if (entry === ".repro")
|
|
18
18
|
return;
|
|
19
|
-
execSync(`cp -
|
|
19
|
+
execSync(`cp -R '${path.join(config.testEnvironmentPath, entry)}' ${dir}/`);
|
|
20
20
|
});
|
|
21
21
|
console.log(`Created test directory at ${dir}`);
|
|
22
22
|
const tree = convertDree(getDirectoryTree(dir).dree);
|
|
@@ -6,72 +6,26 @@ import type { DirectoriesConfig, TestServerConfig } from "./updateTestdirectoryS
|
|
|
6
6
|
declare const luaCodeInputSchema: z.ZodObject<{
|
|
7
7
|
tabId: z.ZodObject<{
|
|
8
8
|
tabId: z.ZodString;
|
|
9
|
-
},
|
|
10
|
-
tabId: string;
|
|
11
|
-
}, {
|
|
12
|
-
tabId: string;
|
|
13
|
-
}>;
|
|
9
|
+
}, {}>;
|
|
14
10
|
luaCode: z.ZodString;
|
|
15
|
-
},
|
|
16
|
-
tabId: {
|
|
17
|
-
tabId: string;
|
|
18
|
-
};
|
|
19
|
-
luaCode: string;
|
|
20
|
-
}, {
|
|
21
|
-
tabId: {
|
|
22
|
-
tabId: string;
|
|
23
|
-
};
|
|
24
|
-
luaCode: string;
|
|
25
|
-
}>;
|
|
11
|
+
}, {}>;
|
|
26
12
|
export type LuaCodeClientInput = Except<LuaCodeInput, "tabId">;
|
|
27
13
|
export type LuaCodeInput = z.infer<typeof luaCodeInputSchema>;
|
|
28
14
|
declare const pollLuaCodeInputSchema: z.ZodObject<{
|
|
29
15
|
tabId: z.ZodObject<{
|
|
30
16
|
tabId: z.ZodString;
|
|
31
|
-
},
|
|
32
|
-
tabId: string;
|
|
33
|
-
}, {
|
|
34
|
-
tabId: string;
|
|
35
|
-
}>;
|
|
17
|
+
}, {}>;
|
|
36
18
|
luaAssertion: z.ZodString;
|
|
37
19
|
timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
38
|
-
},
|
|
39
|
-
tabId: {
|
|
40
|
-
tabId: string;
|
|
41
|
-
};
|
|
42
|
-
luaAssertion: string;
|
|
43
|
-
timeoutMs: number;
|
|
44
|
-
}, {
|
|
45
|
-
tabId: {
|
|
46
|
-
tabId: string;
|
|
47
|
-
};
|
|
48
|
-
luaAssertion: string;
|
|
49
|
-
timeoutMs?: number | undefined;
|
|
50
|
-
}>;
|
|
20
|
+
}, {}>;
|
|
51
21
|
export type PollLuaCodeClientInput = Except<z.input<typeof pollLuaCodeInputSchema>, "tabId">;
|
|
52
22
|
declare const exCommandInputSchema: z.ZodObject<{
|
|
53
23
|
tabId: z.ZodObject<{
|
|
54
24
|
tabId: z.ZodString;
|
|
55
|
-
},
|
|
56
|
-
tabId: string;
|
|
57
|
-
}, {
|
|
58
|
-
tabId: string;
|
|
59
|
-
}>;
|
|
25
|
+
}, {}>;
|
|
60
26
|
command: z.ZodString;
|
|
61
27
|
log: z.ZodOptional<z.ZodBoolean>;
|
|
62
|
-
},
|
|
63
|
-
tabId: {
|
|
64
|
-
tabId: string;
|
|
65
|
-
};
|
|
66
|
-
command: string;
|
|
67
|
-
log?: boolean | undefined;
|
|
68
|
-
}, {
|
|
69
|
-
tabId: {
|
|
70
|
-
tabId: string;
|
|
71
|
-
};
|
|
72
|
-
command: string;
|
|
73
|
-
log?: boolean | undefined;
|
|
74
|
-
}>;
|
|
28
|
+
}, {}>;
|
|
75
29
|
export type ExCommandClientInput = Except<ExCommandInput, "tabId">;
|
|
76
30
|
export type ExCommandInput = z.infer<typeof exCommandInputSchema>;
|
|
77
31
|
/** @private */
|
|
@@ -101,12 +55,12 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
101
55
|
tabId: string;
|
|
102
56
|
};
|
|
103
57
|
startTerminalArguments: {
|
|
58
|
+
additionalEnvironmentVariables?: Record<string, string> | undefined;
|
|
104
59
|
commandToRun: string[];
|
|
105
60
|
terminalDimensions: {
|
|
106
61
|
cols: number;
|
|
107
62
|
rows: number;
|
|
108
63
|
};
|
|
109
|
-
additionalEnvironmentVariables?: Record<string, string> | undefined;
|
|
110
64
|
};
|
|
111
65
|
};
|
|
112
66
|
output: void;
|
|
@@ -122,10 +76,6 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
122
76
|
}>;
|
|
123
77
|
runBlockingShellCommand: import("@trpc/server").TRPCMutationProcedure<{
|
|
124
78
|
input: {
|
|
125
|
-
tabId: {
|
|
126
|
-
tabId: string;
|
|
127
|
-
};
|
|
128
|
-
command: string;
|
|
129
79
|
shell?: string | undefined;
|
|
130
80
|
allowFailure?: boolean | undefined;
|
|
131
81
|
cwd?: string | undefined;
|
|
@@ -133,6 +83,10 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
133
83
|
envOverrides?: Record<string, string> | undefined;
|
|
134
84
|
uid?: number | undefined;
|
|
135
85
|
gid?: number | undefined;
|
|
86
|
+
tabId: {
|
|
87
|
+
tabId: string;
|
|
88
|
+
};
|
|
89
|
+
command: string;
|
|
136
90
|
};
|
|
137
91
|
output: import("./types.js").BlockingShellCommandOutput;
|
|
138
92
|
}>;
|
|
@@ -149,6 +103,8 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
149
103
|
tabId: string;
|
|
150
104
|
};
|
|
151
105
|
startNeovimArguments: {
|
|
106
|
+
additionalEnvironmentVariables?: Record<string, string> | undefined;
|
|
107
|
+
startupScriptModifications?: string[] | undefined;
|
|
152
108
|
terminalDimensions: {
|
|
153
109
|
cols: number;
|
|
154
110
|
rows: number;
|
|
@@ -156,8 +112,6 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
156
112
|
filename: string | {
|
|
157
113
|
openInVerticalSplits: string[];
|
|
158
114
|
};
|
|
159
|
-
additionalEnvironmentVariables?: Record<string, string> | undefined;
|
|
160
|
-
startupScriptModifications?: string[] | undefined;
|
|
161
115
|
};
|
|
162
116
|
};
|
|
163
117
|
output: import("./types.js").TestDirectory;
|
|
@@ -189,10 +143,6 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
189
143
|
}>;
|
|
190
144
|
runBlockingShellCommand: import("@trpc/server").TRPCMutationProcedure<{
|
|
191
145
|
input: {
|
|
192
|
-
tabId: {
|
|
193
|
-
tabId: string;
|
|
194
|
-
};
|
|
195
|
-
command: string;
|
|
196
146
|
shell?: string | undefined;
|
|
197
147
|
allowFailure?: boolean | undefined;
|
|
198
148
|
cwd?: string | undefined;
|
|
@@ -200,6 +150,10 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
200
150
|
envOverrides?: Record<string, string> | undefined;
|
|
201
151
|
uid?: number | undefined;
|
|
202
152
|
gid?: number | undefined;
|
|
153
|
+
tabId: {
|
|
154
|
+
tabId: string;
|
|
155
|
+
};
|
|
156
|
+
command: string;
|
|
203
157
|
};
|
|
204
158
|
output: import("./types.js").BlockingShellCommandOutput;
|
|
205
159
|
}>;
|
|
@@ -214,21 +168,21 @@ export declare function createAppRouter(config: DirectoriesConfig): Promise<impo
|
|
|
214
168
|
}>;
|
|
215
169
|
waitForLuaCode: import("@trpc/server").TRPCMutationProcedure<{
|
|
216
170
|
input: {
|
|
171
|
+
timeoutMs?: number | undefined;
|
|
217
172
|
tabId: {
|
|
218
173
|
tabId: string;
|
|
219
174
|
};
|
|
220
175
|
luaAssertion: string;
|
|
221
|
-
timeoutMs?: number | undefined;
|
|
222
176
|
};
|
|
223
177
|
output: import("./types.js").RunLuaCodeOutput;
|
|
224
178
|
}>;
|
|
225
179
|
runExCommand: import("@trpc/server").TRPCMutationProcedure<{
|
|
226
180
|
input: {
|
|
181
|
+
log?: boolean | undefined;
|
|
227
182
|
tabId: {
|
|
228
183
|
tabId: string;
|
|
229
184
|
};
|
|
230
185
|
command: string;
|
|
231
|
-
log?: boolean | undefined;
|
|
232
186
|
};
|
|
233
187
|
output: import("./types.js").RunExCommandOutput;
|
|
234
188
|
}>;
|
|
@@ -31,7 +31,7 @@ export async function createAppRouter(config) {
|
|
|
31
31
|
tabId: tabIdSchema,
|
|
32
32
|
startTerminalArguments: z.object({
|
|
33
33
|
commandToRun: z.array(z.string()),
|
|
34
|
-
additionalEnvironmentVariables: z.record(z.string()).optional(),
|
|
34
|
+
additionalEnvironmentVariables: z.record(z.string(), z.string()).optional(),
|
|
35
35
|
terminalDimensions: z.object({
|
|
36
36
|
cols: z.number(),
|
|
37
37
|
rows: z.number(),
|
|
@@ -64,7 +64,7 @@ export async function createAppRouter(config) {
|
|
|
64
64
|
cols: z.number(),
|
|
65
65
|
rows: z.number(),
|
|
66
66
|
}),
|
|
67
|
-
additionalEnvironmentVariables: z.record(z.string()).optional(),
|
|
67
|
+
additionalEnvironmentVariables: z.record(z.string(), z.string()).optional(),
|
|
68
68
|
}),
|
|
69
69
|
}))
|
|
70
70
|
.mutation(options => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AACA,OAAO,yDAAyD,CAAA;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAIhF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,WAAW;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACjD,CAAC,CAAA;AAGF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA;AAIF,eAAe;AACf,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAyB;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;gBACvF,OAAO,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAC7F,CAAC,CAAC;YAEF,KAAK,EAAE,IAAI,CAAC,SAAS;iBAClB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,WAAW;gBAClB,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;oBAC/B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBACjC,8BAA8B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"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"}
|