@tickernelz/paperclip-pro-plugin-workspace-diff 2026.925.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 +22 -0
- package/dist/contracts.d.ts +334 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +122 -0
- package/dist/contracts.js.map +1 -0
- package/dist/diff-model.d.ts +46 -0
- package/dist/diff-model.d.ts.map +1 -0
- package/dist/diff-model.js +87 -0
- package/dist/diff-model.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.d.ts +4 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +34 -0
- package/dist/manifest.js.map +1 -0
- package/dist/ui/index.d.ts +7 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +29993 -0
- package/dist/ui/index.js.map +7 -0
- package/dist/worker.d.ts +8 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +89 -0
- package/dist/worker.js.map +1 -0
- package/dist/workspace-diff.d.ts +9 -0
- package/dist/workspace-diff.d.ts.map +1 -0
- package/dist/workspace-diff.js +714 -0
- package/dist/workspace-diff.js.map +1 -0
- package/package.json +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Paperclip AI
|
|
4
|
+
Copyright (c) 2026 Zhafron Adani Kautsar (paperclip-pro fork modifications)
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { z } from "@tickernelz/paperclip-pro-plugin-sdk";
|
|
2
|
+
export declare const workspaceDiffViewSchema: z.ZodEnum<{
|
|
3
|
+
head: "head";
|
|
4
|
+
"working-tree": "working-tree";
|
|
5
|
+
}>;
|
|
6
|
+
export declare const workspaceDiffFileStatusSchema: z.ZodEnum<{
|
|
7
|
+
added: "added";
|
|
8
|
+
copied: "copied";
|
|
9
|
+
deleted: "deleted";
|
|
10
|
+
modified: "modified";
|
|
11
|
+
renamed: "renamed";
|
|
12
|
+
type_changed: "type_changed";
|
|
13
|
+
unknown: "unknown";
|
|
14
|
+
untracked: "untracked";
|
|
15
|
+
}>;
|
|
16
|
+
export declare const workspaceDiffPatchKindSchema: z.ZodEnum<{
|
|
17
|
+
head: "head";
|
|
18
|
+
staged: "staged";
|
|
19
|
+
unstaged: "unstaged";
|
|
20
|
+
untracked: "untracked";
|
|
21
|
+
}>;
|
|
22
|
+
export declare const workspaceDiffWarningCodeSchema: z.ZodEnum<{
|
|
23
|
+
base_ref_invalid: "base_ref_invalid";
|
|
24
|
+
base_ref_missing: "base_ref_missing";
|
|
25
|
+
binary_file: "binary_file";
|
|
26
|
+
file_count_truncated: "file_count_truncated";
|
|
27
|
+
file_oversized: "file_oversized";
|
|
28
|
+
git_command_failed: "git_command_failed";
|
|
29
|
+
missing_cwd: "missing_cwd";
|
|
30
|
+
non_git_workspace: "non_git_workspace";
|
|
31
|
+
patch_truncated: "patch_truncated";
|
|
32
|
+
path_filter_invalid: "path_filter_invalid";
|
|
33
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
34
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
35
|
+
}>;
|
|
36
|
+
export declare const workspaceDiffQuerySchema: z.ZodPipe<z.ZodObject<{
|
|
37
|
+
view: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
38
|
+
head: "head";
|
|
39
|
+
"working-tree": "working-tree";
|
|
40
|
+
}>>>;
|
|
41
|
+
baseRef: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
42
|
+
includeUntracked: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
|
|
43
|
+
false: "false";
|
|
44
|
+
true: "true";
|
|
45
|
+
}>]>, z.ZodTransform<boolean, "false" | "true" | boolean>>>>;
|
|
46
|
+
path: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
47
|
+
paths: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
48
|
+
}, z.core.$loose>, z.ZodTransform<{
|
|
49
|
+
view: "head" | "working-tree";
|
|
50
|
+
baseRef: string | null;
|
|
51
|
+
includeUntracked: boolean;
|
|
52
|
+
paths: string[];
|
|
53
|
+
}, {
|
|
54
|
+
[x: string]: unknown;
|
|
55
|
+
view: "head" | "working-tree";
|
|
56
|
+
baseRef?: string | null | undefined;
|
|
57
|
+
includeUntracked: boolean;
|
|
58
|
+
path?: string | string[] | undefined;
|
|
59
|
+
paths?: string | string[] | undefined;
|
|
60
|
+
}>>;
|
|
61
|
+
export declare const workspaceDiffWarningSchema: z.ZodObject<{
|
|
62
|
+
code: z.ZodEnum<{
|
|
63
|
+
base_ref_invalid: "base_ref_invalid";
|
|
64
|
+
base_ref_missing: "base_ref_missing";
|
|
65
|
+
binary_file: "binary_file";
|
|
66
|
+
file_count_truncated: "file_count_truncated";
|
|
67
|
+
file_oversized: "file_oversized";
|
|
68
|
+
git_command_failed: "git_command_failed";
|
|
69
|
+
missing_cwd: "missing_cwd";
|
|
70
|
+
non_git_workspace: "non_git_workspace";
|
|
71
|
+
patch_truncated: "patch_truncated";
|
|
72
|
+
path_filter_invalid: "path_filter_invalid";
|
|
73
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
74
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
75
|
+
}>;
|
|
76
|
+
message: z.ZodString;
|
|
77
|
+
path: z.ZodNullable<z.ZodString>;
|
|
78
|
+
}, z.core.$strict>;
|
|
79
|
+
export declare const workspaceDiffCapsSchema: z.ZodObject<{
|
|
80
|
+
maxFiles: z.ZodNumber;
|
|
81
|
+
maxFileBytes: z.ZodNumber;
|
|
82
|
+
maxPatchBytes: z.ZodNumber;
|
|
83
|
+
maxTotalPatchBytes: z.ZodNumber;
|
|
84
|
+
}, z.core.$strict>;
|
|
85
|
+
export declare const workspaceDiffFilePatchSchema: z.ZodObject<{
|
|
86
|
+
kind: z.ZodEnum<{
|
|
87
|
+
head: "head";
|
|
88
|
+
staged: "staged";
|
|
89
|
+
unstaged: "unstaged";
|
|
90
|
+
untracked: "untracked";
|
|
91
|
+
}>;
|
|
92
|
+
patch: z.ZodNullable<z.ZodString>;
|
|
93
|
+
additions: z.ZodNumber;
|
|
94
|
+
deletions: z.ZodNumber;
|
|
95
|
+
binary: z.ZodBoolean;
|
|
96
|
+
oversized: z.ZodBoolean;
|
|
97
|
+
truncated: z.ZodBoolean;
|
|
98
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
99
|
+
code: z.ZodEnum<{
|
|
100
|
+
base_ref_invalid: "base_ref_invalid";
|
|
101
|
+
base_ref_missing: "base_ref_missing";
|
|
102
|
+
binary_file: "binary_file";
|
|
103
|
+
file_count_truncated: "file_count_truncated";
|
|
104
|
+
file_oversized: "file_oversized";
|
|
105
|
+
git_command_failed: "git_command_failed";
|
|
106
|
+
missing_cwd: "missing_cwd";
|
|
107
|
+
non_git_workspace: "non_git_workspace";
|
|
108
|
+
patch_truncated: "patch_truncated";
|
|
109
|
+
path_filter_invalid: "path_filter_invalid";
|
|
110
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
111
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
112
|
+
}>;
|
|
113
|
+
message: z.ZodString;
|
|
114
|
+
path: z.ZodNullable<z.ZodString>;
|
|
115
|
+
}, z.core.$strict>>;
|
|
116
|
+
}, z.core.$strict>;
|
|
117
|
+
export declare const workspaceDiffFileSchema: z.ZodObject<{
|
|
118
|
+
path: z.ZodString;
|
|
119
|
+
oldPath: z.ZodNullable<z.ZodString>;
|
|
120
|
+
status: z.ZodEnum<{
|
|
121
|
+
added: "added";
|
|
122
|
+
copied: "copied";
|
|
123
|
+
deleted: "deleted";
|
|
124
|
+
modified: "modified";
|
|
125
|
+
renamed: "renamed";
|
|
126
|
+
type_changed: "type_changed";
|
|
127
|
+
unknown: "unknown";
|
|
128
|
+
untracked: "untracked";
|
|
129
|
+
}>;
|
|
130
|
+
staged: z.ZodBoolean;
|
|
131
|
+
unstaged: z.ZodBoolean;
|
|
132
|
+
untracked: z.ZodBoolean;
|
|
133
|
+
binary: z.ZodBoolean;
|
|
134
|
+
oversized: z.ZodBoolean;
|
|
135
|
+
truncated: z.ZodBoolean;
|
|
136
|
+
additions: z.ZodNumber;
|
|
137
|
+
deletions: z.ZodNumber;
|
|
138
|
+
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
139
|
+
patches: z.ZodArray<z.ZodObject<{
|
|
140
|
+
kind: z.ZodEnum<{
|
|
141
|
+
head: "head";
|
|
142
|
+
staged: "staged";
|
|
143
|
+
unstaged: "unstaged";
|
|
144
|
+
untracked: "untracked";
|
|
145
|
+
}>;
|
|
146
|
+
patch: z.ZodNullable<z.ZodString>;
|
|
147
|
+
additions: z.ZodNumber;
|
|
148
|
+
deletions: z.ZodNumber;
|
|
149
|
+
binary: z.ZodBoolean;
|
|
150
|
+
oversized: z.ZodBoolean;
|
|
151
|
+
truncated: z.ZodBoolean;
|
|
152
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
153
|
+
code: z.ZodEnum<{
|
|
154
|
+
base_ref_invalid: "base_ref_invalid";
|
|
155
|
+
base_ref_missing: "base_ref_missing";
|
|
156
|
+
binary_file: "binary_file";
|
|
157
|
+
file_count_truncated: "file_count_truncated";
|
|
158
|
+
file_oversized: "file_oversized";
|
|
159
|
+
git_command_failed: "git_command_failed";
|
|
160
|
+
missing_cwd: "missing_cwd";
|
|
161
|
+
non_git_workspace: "non_git_workspace";
|
|
162
|
+
patch_truncated: "patch_truncated";
|
|
163
|
+
path_filter_invalid: "path_filter_invalid";
|
|
164
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
165
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
166
|
+
}>;
|
|
167
|
+
message: z.ZodString;
|
|
168
|
+
path: z.ZodNullable<z.ZodString>;
|
|
169
|
+
}, z.core.$strict>>;
|
|
170
|
+
}, z.core.$strict>>;
|
|
171
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
172
|
+
code: z.ZodEnum<{
|
|
173
|
+
base_ref_invalid: "base_ref_invalid";
|
|
174
|
+
base_ref_missing: "base_ref_missing";
|
|
175
|
+
binary_file: "binary_file";
|
|
176
|
+
file_count_truncated: "file_count_truncated";
|
|
177
|
+
file_oversized: "file_oversized";
|
|
178
|
+
git_command_failed: "git_command_failed";
|
|
179
|
+
missing_cwd: "missing_cwd";
|
|
180
|
+
non_git_workspace: "non_git_workspace";
|
|
181
|
+
patch_truncated: "patch_truncated";
|
|
182
|
+
path_filter_invalid: "path_filter_invalid";
|
|
183
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
184
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
185
|
+
}>;
|
|
186
|
+
message: z.ZodString;
|
|
187
|
+
path: z.ZodNullable<z.ZodString>;
|
|
188
|
+
}, z.core.$strict>>;
|
|
189
|
+
}, z.core.$strict>;
|
|
190
|
+
export declare const workspaceDiffStatsSchema: z.ZodObject<{
|
|
191
|
+
fileCount: z.ZodNumber;
|
|
192
|
+
stagedFileCount: z.ZodNumber;
|
|
193
|
+
unstagedFileCount: z.ZodNumber;
|
|
194
|
+
untrackedFileCount: z.ZodNumber;
|
|
195
|
+
binaryFileCount: z.ZodNumber;
|
|
196
|
+
oversizedFileCount: z.ZodNumber;
|
|
197
|
+
truncatedFileCount: z.ZodNumber;
|
|
198
|
+
additions: z.ZodNumber;
|
|
199
|
+
deletions: z.ZodNumber;
|
|
200
|
+
}, z.core.$strict>;
|
|
201
|
+
export declare const workspaceDiffResponseSchema: z.ZodObject<{
|
|
202
|
+
workspaceId: z.ZodString;
|
|
203
|
+
companyId: z.ZodString;
|
|
204
|
+
view: z.ZodEnum<{
|
|
205
|
+
head: "head";
|
|
206
|
+
"working-tree": "working-tree";
|
|
207
|
+
}>;
|
|
208
|
+
baseRef: z.ZodNullable<z.ZodString>;
|
|
209
|
+
defaultBaseRef: z.ZodNullable<z.ZodString>;
|
|
210
|
+
headSha: z.ZodNullable<z.ZodString>;
|
|
211
|
+
includeUntracked: z.ZodBoolean;
|
|
212
|
+
paths: z.ZodArray<z.ZodString>;
|
|
213
|
+
files: z.ZodArray<z.ZodObject<{
|
|
214
|
+
path: z.ZodString;
|
|
215
|
+
oldPath: z.ZodNullable<z.ZodString>;
|
|
216
|
+
status: z.ZodEnum<{
|
|
217
|
+
added: "added";
|
|
218
|
+
copied: "copied";
|
|
219
|
+
deleted: "deleted";
|
|
220
|
+
modified: "modified";
|
|
221
|
+
renamed: "renamed";
|
|
222
|
+
type_changed: "type_changed";
|
|
223
|
+
unknown: "unknown";
|
|
224
|
+
untracked: "untracked";
|
|
225
|
+
}>;
|
|
226
|
+
staged: z.ZodBoolean;
|
|
227
|
+
unstaged: z.ZodBoolean;
|
|
228
|
+
untracked: z.ZodBoolean;
|
|
229
|
+
binary: z.ZodBoolean;
|
|
230
|
+
oversized: z.ZodBoolean;
|
|
231
|
+
truncated: z.ZodBoolean;
|
|
232
|
+
additions: z.ZodNumber;
|
|
233
|
+
deletions: z.ZodNumber;
|
|
234
|
+
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
235
|
+
patches: z.ZodArray<z.ZodObject<{
|
|
236
|
+
kind: z.ZodEnum<{
|
|
237
|
+
head: "head";
|
|
238
|
+
staged: "staged";
|
|
239
|
+
unstaged: "unstaged";
|
|
240
|
+
untracked: "untracked";
|
|
241
|
+
}>;
|
|
242
|
+
patch: z.ZodNullable<z.ZodString>;
|
|
243
|
+
additions: z.ZodNumber;
|
|
244
|
+
deletions: z.ZodNumber;
|
|
245
|
+
binary: z.ZodBoolean;
|
|
246
|
+
oversized: z.ZodBoolean;
|
|
247
|
+
truncated: z.ZodBoolean;
|
|
248
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
249
|
+
code: z.ZodEnum<{
|
|
250
|
+
base_ref_invalid: "base_ref_invalid";
|
|
251
|
+
base_ref_missing: "base_ref_missing";
|
|
252
|
+
binary_file: "binary_file";
|
|
253
|
+
file_count_truncated: "file_count_truncated";
|
|
254
|
+
file_oversized: "file_oversized";
|
|
255
|
+
git_command_failed: "git_command_failed";
|
|
256
|
+
missing_cwd: "missing_cwd";
|
|
257
|
+
non_git_workspace: "non_git_workspace";
|
|
258
|
+
patch_truncated: "patch_truncated";
|
|
259
|
+
path_filter_invalid: "path_filter_invalid";
|
|
260
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
261
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
262
|
+
}>;
|
|
263
|
+
message: z.ZodString;
|
|
264
|
+
path: z.ZodNullable<z.ZodString>;
|
|
265
|
+
}, z.core.$strict>>;
|
|
266
|
+
}, z.core.$strict>>;
|
|
267
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
268
|
+
code: z.ZodEnum<{
|
|
269
|
+
base_ref_invalid: "base_ref_invalid";
|
|
270
|
+
base_ref_missing: "base_ref_missing";
|
|
271
|
+
binary_file: "binary_file";
|
|
272
|
+
file_count_truncated: "file_count_truncated";
|
|
273
|
+
file_oversized: "file_oversized";
|
|
274
|
+
git_command_failed: "git_command_failed";
|
|
275
|
+
missing_cwd: "missing_cwd";
|
|
276
|
+
non_git_workspace: "non_git_workspace";
|
|
277
|
+
patch_truncated: "patch_truncated";
|
|
278
|
+
path_filter_invalid: "path_filter_invalid";
|
|
279
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
280
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
281
|
+
}>;
|
|
282
|
+
message: z.ZodString;
|
|
283
|
+
path: z.ZodNullable<z.ZodString>;
|
|
284
|
+
}, z.core.$strict>>;
|
|
285
|
+
}, z.core.$strict>>;
|
|
286
|
+
stats: z.ZodObject<{
|
|
287
|
+
fileCount: z.ZodNumber;
|
|
288
|
+
stagedFileCount: z.ZodNumber;
|
|
289
|
+
unstagedFileCount: z.ZodNumber;
|
|
290
|
+
untrackedFileCount: z.ZodNumber;
|
|
291
|
+
binaryFileCount: z.ZodNumber;
|
|
292
|
+
oversizedFileCount: z.ZodNumber;
|
|
293
|
+
truncatedFileCount: z.ZodNumber;
|
|
294
|
+
additions: z.ZodNumber;
|
|
295
|
+
deletions: z.ZodNumber;
|
|
296
|
+
}, z.core.$strict>;
|
|
297
|
+
warnings: z.ZodArray<z.ZodObject<{
|
|
298
|
+
code: z.ZodEnum<{
|
|
299
|
+
base_ref_invalid: "base_ref_invalid";
|
|
300
|
+
base_ref_missing: "base_ref_missing";
|
|
301
|
+
binary_file: "binary_file";
|
|
302
|
+
file_count_truncated: "file_count_truncated";
|
|
303
|
+
file_oversized: "file_oversized";
|
|
304
|
+
git_command_failed: "git_command_failed";
|
|
305
|
+
missing_cwd: "missing_cwd";
|
|
306
|
+
non_git_workspace: "non_git_workspace";
|
|
307
|
+
patch_truncated: "patch_truncated";
|
|
308
|
+
path_filter_invalid: "path_filter_invalid";
|
|
309
|
+
symlink_target_outside_workspace: "symlink_target_outside_workspace";
|
|
310
|
+
workspace_path_invalid: "workspace_path_invalid";
|
|
311
|
+
}>;
|
|
312
|
+
message: z.ZodString;
|
|
313
|
+
path: z.ZodNullable<z.ZodString>;
|
|
314
|
+
}, z.core.$strict>>;
|
|
315
|
+
caps: z.ZodObject<{
|
|
316
|
+
maxFiles: z.ZodNumber;
|
|
317
|
+
maxFileBytes: z.ZodNumber;
|
|
318
|
+
maxPatchBytes: z.ZodNumber;
|
|
319
|
+
maxTotalPatchBytes: z.ZodNumber;
|
|
320
|
+
}, z.core.$strict>;
|
|
321
|
+
truncated: z.ZodBoolean;
|
|
322
|
+
}, z.core.$strict>;
|
|
323
|
+
export type WorkspaceDiffView = z.infer<typeof workspaceDiffViewSchema>;
|
|
324
|
+
export type WorkspaceDiffFileStatus = z.infer<typeof workspaceDiffFileStatusSchema>;
|
|
325
|
+
export type WorkspaceDiffPatchKind = z.infer<typeof workspaceDiffPatchKindSchema>;
|
|
326
|
+
export type WorkspaceDiffWarningCode = z.infer<typeof workspaceDiffWarningCodeSchema>;
|
|
327
|
+
export type WorkspaceDiffQueryOptions = z.infer<typeof workspaceDiffQuerySchema>;
|
|
328
|
+
export type WorkspaceDiffWarning = z.infer<typeof workspaceDiffWarningSchema>;
|
|
329
|
+
export type WorkspaceDiffCaps = z.infer<typeof workspaceDiffCapsSchema>;
|
|
330
|
+
export type WorkspaceDiffFilePatch = z.infer<typeof workspaceDiffFilePatchSchema>;
|
|
331
|
+
export type WorkspaceDiffFile = z.infer<typeof workspaceDiffFileSchema>;
|
|
332
|
+
export type WorkspaceDiffStats = z.infer<typeof workspaceDiffStatsSchema>;
|
|
333
|
+
export type WorkspaceDiffResponse = z.infer<typeof workspaceDiffResponseSchema>;
|
|
334
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,sCAAsC,CAAC;AAEzD,eAAO,MAAM,uBAAuB;;;EAAmC,CAAC;AAExE,eAAO,MAAM,6BAA6B;;;;;;;;;EASxC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;EAAsD,CAAC;AAEhG,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;EAazC,CAAC;AAkBH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;GAchC,CAAC;AAEN,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;kBAI5B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;kBAKzB,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAS9B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAezB,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;kBAU1B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAc7B,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { z } from "@tickernelz/paperclip-pro-plugin-sdk";
|
|
2
|
+
export const workspaceDiffViewSchema = z.enum(["working-tree", "head"]);
|
|
3
|
+
export const workspaceDiffFileStatusSchema = z.enum([
|
|
4
|
+
"added",
|
|
5
|
+
"modified",
|
|
6
|
+
"deleted",
|
|
7
|
+
"renamed",
|
|
8
|
+
"copied",
|
|
9
|
+
"type_changed",
|
|
10
|
+
"untracked",
|
|
11
|
+
"unknown",
|
|
12
|
+
]);
|
|
13
|
+
export const workspaceDiffPatchKindSchema = z.enum(["staged", "unstaged", "head", "untracked"]);
|
|
14
|
+
export const workspaceDiffWarningCodeSchema = z.enum([
|
|
15
|
+
"base_ref_missing",
|
|
16
|
+
"base_ref_invalid",
|
|
17
|
+
"binary_file",
|
|
18
|
+
"file_count_truncated",
|
|
19
|
+
"file_oversized",
|
|
20
|
+
"git_command_failed",
|
|
21
|
+
"missing_cwd",
|
|
22
|
+
"non_git_workspace",
|
|
23
|
+
"patch_truncated",
|
|
24
|
+
"path_filter_invalid",
|
|
25
|
+
"symlink_target_outside_workspace",
|
|
26
|
+
"workspace_path_invalid",
|
|
27
|
+
]);
|
|
28
|
+
const queryBooleanSchema = z
|
|
29
|
+
.union([z.boolean(), z.enum(["true", "false"])])
|
|
30
|
+
.transform((value) => value === true || value === "true");
|
|
31
|
+
function normalizePathQuery(value) {
|
|
32
|
+
if (value == null)
|
|
33
|
+
return [];
|
|
34
|
+
const values = Array.isArray(value) ? value : [value];
|
|
35
|
+
return values.flatMap((entry) => {
|
|
36
|
+
if (typeof entry !== "string")
|
|
37
|
+
return [];
|
|
38
|
+
return entry
|
|
39
|
+
.split(",")
|
|
40
|
+
.map((filePath) => filePath.trim())
|
|
41
|
+
.filter(Boolean);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export const workspaceDiffQuerySchema = z
|
|
45
|
+
.object({
|
|
46
|
+
view: workspaceDiffViewSchema.optional().default("working-tree"),
|
|
47
|
+
baseRef: z.string().trim().min(1).max(240).optional().nullable(),
|
|
48
|
+
includeUntracked: queryBooleanSchema.optional().default(true),
|
|
49
|
+
path: z.union([z.string(), z.array(z.string())]).optional(),
|
|
50
|
+
paths: z.union([z.string(), z.array(z.string())]).optional(),
|
|
51
|
+
})
|
|
52
|
+
.passthrough()
|
|
53
|
+
.transform((value) => ({
|
|
54
|
+
view: value.view,
|
|
55
|
+
baseRef: value.baseRef?.trim() || null,
|
|
56
|
+
includeUntracked: value.includeUntracked,
|
|
57
|
+
paths: normalizePathQuery(value.paths ?? value.path),
|
|
58
|
+
}));
|
|
59
|
+
export const workspaceDiffWarningSchema = z.object({
|
|
60
|
+
code: workspaceDiffWarningCodeSchema,
|
|
61
|
+
message: z.string(),
|
|
62
|
+
path: z.string().nullable(),
|
|
63
|
+
}).strict();
|
|
64
|
+
export const workspaceDiffCapsSchema = z.object({
|
|
65
|
+
maxFiles: z.number().int().positive(),
|
|
66
|
+
maxFileBytes: z.number().int().positive(),
|
|
67
|
+
maxPatchBytes: z.number().int().positive(),
|
|
68
|
+
maxTotalPatchBytes: z.number().int().positive(),
|
|
69
|
+
}).strict();
|
|
70
|
+
export const workspaceDiffFilePatchSchema = z.object({
|
|
71
|
+
kind: workspaceDiffPatchKindSchema,
|
|
72
|
+
patch: z.string().nullable(),
|
|
73
|
+
additions: z.number().int().nonnegative(),
|
|
74
|
+
deletions: z.number().int().nonnegative(),
|
|
75
|
+
binary: z.boolean(),
|
|
76
|
+
oversized: z.boolean(),
|
|
77
|
+
truncated: z.boolean(),
|
|
78
|
+
warnings: z.array(workspaceDiffWarningSchema),
|
|
79
|
+
}).strict();
|
|
80
|
+
export const workspaceDiffFileSchema = z.object({
|
|
81
|
+
path: z.string(),
|
|
82
|
+
oldPath: z.string().nullable(),
|
|
83
|
+
status: workspaceDiffFileStatusSchema,
|
|
84
|
+
staged: z.boolean(),
|
|
85
|
+
unstaged: z.boolean(),
|
|
86
|
+
untracked: z.boolean(),
|
|
87
|
+
binary: z.boolean(),
|
|
88
|
+
oversized: z.boolean(),
|
|
89
|
+
truncated: z.boolean(),
|
|
90
|
+
additions: z.number().int().nonnegative(),
|
|
91
|
+
deletions: z.number().int().nonnegative(),
|
|
92
|
+
sizeBytes: z.number().int().nonnegative().nullable(),
|
|
93
|
+
patches: z.array(workspaceDiffFilePatchSchema),
|
|
94
|
+
warnings: z.array(workspaceDiffWarningSchema),
|
|
95
|
+
}).strict();
|
|
96
|
+
export const workspaceDiffStatsSchema = z.object({
|
|
97
|
+
fileCount: z.number().int().nonnegative(),
|
|
98
|
+
stagedFileCount: z.number().int().nonnegative(),
|
|
99
|
+
unstagedFileCount: z.number().int().nonnegative(),
|
|
100
|
+
untrackedFileCount: z.number().int().nonnegative(),
|
|
101
|
+
binaryFileCount: z.number().int().nonnegative(),
|
|
102
|
+
oversizedFileCount: z.number().int().nonnegative(),
|
|
103
|
+
truncatedFileCount: z.number().int().nonnegative(),
|
|
104
|
+
additions: z.number().int().nonnegative(),
|
|
105
|
+
deletions: z.number().int().nonnegative(),
|
|
106
|
+
}).strict();
|
|
107
|
+
export const workspaceDiffResponseSchema = z.object({
|
|
108
|
+
workspaceId: z.string(),
|
|
109
|
+
companyId: z.string(),
|
|
110
|
+
view: workspaceDiffViewSchema,
|
|
111
|
+
baseRef: z.string().nullable(),
|
|
112
|
+
defaultBaseRef: z.string().nullable(),
|
|
113
|
+
headSha: z.string().nullable(),
|
|
114
|
+
includeUntracked: z.boolean(),
|
|
115
|
+
paths: z.array(z.string()),
|
|
116
|
+
files: z.array(workspaceDiffFileSchema),
|
|
117
|
+
stats: workspaceDiffStatsSchema,
|
|
118
|
+
warnings: z.array(workspaceDiffWarningSchema),
|
|
119
|
+
caps: workspaceDiffCapsSchema,
|
|
120
|
+
truncated: z.boolean(),
|
|
121
|
+
}).strict();
|
|
122
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { WorkspaceDiffFile, WorkspaceDiffFilePatch, WorkspaceDiffResponse, WorkspaceDiffWarning } from "./contracts.js";
|
|
2
|
+
export type DiffRenderMode = "unified" | "split";
|
|
3
|
+
export interface DiffPatchViewModel {
|
|
4
|
+
kind: WorkspaceDiffFilePatch["kind"];
|
|
5
|
+
patch: string | null;
|
|
6
|
+
lineCount: number;
|
|
7
|
+
additions: number;
|
|
8
|
+
deletions: number;
|
|
9
|
+
binary: boolean;
|
|
10
|
+
oversized: boolean;
|
|
11
|
+
truncated: boolean;
|
|
12
|
+
warnings: WorkspaceDiffWarning[];
|
|
13
|
+
}
|
|
14
|
+
export interface DiffFileViewModel {
|
|
15
|
+
path: string;
|
|
16
|
+
oldPath: string | null;
|
|
17
|
+
status: WorkspaceDiffFile["status"];
|
|
18
|
+
additions: number;
|
|
19
|
+
deletions: number;
|
|
20
|
+
binary: boolean;
|
|
21
|
+
oversized: boolean;
|
|
22
|
+
truncated: boolean;
|
|
23
|
+
warnings: WorkspaceDiffWarning[];
|
|
24
|
+
patchKinds: WorkspaceDiffFilePatch["kind"][];
|
|
25
|
+
patches: DiffPatchViewModel[];
|
|
26
|
+
patch: string | null;
|
|
27
|
+
lineCount: number;
|
|
28
|
+
longDiff: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface DiffSummaryViewModel {
|
|
31
|
+
changedLabel: string;
|
|
32
|
+
lineLabel: string;
|
|
33
|
+
warningCount: number;
|
|
34
|
+
truncated: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare const LONG_DIFF_LINE_THRESHOLD = 400;
|
|
37
|
+
export declare function statusLabel(status: WorkspaceDiffFile["status"]): string;
|
|
38
|
+
export declare function fileName(filePath: string): string;
|
|
39
|
+
export declare function buildFilePatches(file: WorkspaceDiffFile): DiffPatchViewModel[];
|
|
40
|
+
export declare function buildFilePatch(file: WorkspaceDiffFile): string | null;
|
|
41
|
+
export declare function isLongDiffFile(file: Pick<DiffFileViewModel, "lineCount">): boolean;
|
|
42
|
+
export declare function toFileViewModels(diff: WorkspaceDiffResponse | null | undefined): DiffFileViewModel[];
|
|
43
|
+
export declare function diffSummary(diff: WorkspaceDiffResponse | null | undefined): DiffSummaryViewModel;
|
|
44
|
+
export declare function nextExpandedFileSet(current: ReadonlySet<string>, filePath: string): Set<string>;
|
|
45
|
+
export declare function initialExpandedFileSet(files: readonly DiffFileViewModel[]): Set<string>;
|
|
46
|
+
//# sourceMappingURL=diff-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-model.d.ts","sourceRoot":"","sources":["../src/diff-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7C,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAaD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,UAE9D;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,UAExC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB,EAAE,CAgB9E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAErE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,WAExE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,EAAE,CAqBpG;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAAG,oBAAoB,CAahG;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,GAAG,CAAC,MAAM,CAAC,CAKb;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAEvF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
const STATUS_LABELS = {
|
|
2
|
+
added: "Added",
|
|
3
|
+
modified: "Modified",
|
|
4
|
+
deleted: "Deleted",
|
|
5
|
+
renamed: "Renamed",
|
|
6
|
+
copied: "Copied",
|
|
7
|
+
type_changed: "Type changed",
|
|
8
|
+
untracked: "Untracked",
|
|
9
|
+
unknown: "Changed",
|
|
10
|
+
};
|
|
11
|
+
export const LONG_DIFF_LINE_THRESHOLD = 400;
|
|
12
|
+
export function statusLabel(status) {
|
|
13
|
+
return STATUS_LABELS[status] ?? "Changed";
|
|
14
|
+
}
|
|
15
|
+
export function fileName(filePath) {
|
|
16
|
+
return filePath.split("/").filter(Boolean).pop() ?? filePath;
|
|
17
|
+
}
|
|
18
|
+
export function buildFilePatches(file) {
|
|
19
|
+
return file.patches.map((patch) => {
|
|
20
|
+
const textPatch = patch.patch?.trimEnd() ?? null;
|
|
21
|
+
const lineCount = textPatch ? textPatch.split("\n").length : 0;
|
|
22
|
+
return {
|
|
23
|
+
kind: patch.kind,
|
|
24
|
+
patch: textPatch && textPatch.length > 0 ? textPatch : null,
|
|
25
|
+
lineCount,
|
|
26
|
+
additions: patch.additions,
|
|
27
|
+
deletions: patch.deletions,
|
|
28
|
+
binary: patch.binary,
|
|
29
|
+
oversized: patch.oversized,
|
|
30
|
+
truncated: patch.truncated,
|
|
31
|
+
warnings: patch.warnings,
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export function buildFilePatch(file) {
|
|
36
|
+
return buildFilePatches(file).find((patch) => patch.patch)?.patch ?? null;
|
|
37
|
+
}
|
|
38
|
+
export function isLongDiffFile(file) {
|
|
39
|
+
return file.lineCount > LONG_DIFF_LINE_THRESHOLD;
|
|
40
|
+
}
|
|
41
|
+
export function toFileViewModels(diff) {
|
|
42
|
+
return (diff?.files ?? []).map((file) => {
|
|
43
|
+
const patches = buildFilePatches(file);
|
|
44
|
+
const lineCount = patches.reduce((count, patch) => count + patch.lineCount, 0);
|
|
45
|
+
return {
|
|
46
|
+
path: file.path,
|
|
47
|
+
oldPath: file.oldPath,
|
|
48
|
+
status: file.status,
|
|
49
|
+
additions: file.additions,
|
|
50
|
+
deletions: file.deletions,
|
|
51
|
+
binary: file.binary,
|
|
52
|
+
oversized: file.oversized,
|
|
53
|
+
truncated: file.truncated,
|
|
54
|
+
warnings: file.warnings,
|
|
55
|
+
patchKinds: file.patches.map((patch) => patch.kind),
|
|
56
|
+
patches,
|
|
57
|
+
patch: patches.find((patch) => patch.patch)?.patch ?? null,
|
|
58
|
+
lineCount,
|
|
59
|
+
longDiff: isLongDiffFile({ lineCount }),
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
export function diffSummary(diff) {
|
|
64
|
+
const stats = diff?.stats;
|
|
65
|
+
const fileCount = stats?.fileCount ?? 0;
|
|
66
|
+
const additions = stats?.additions ?? 0;
|
|
67
|
+
const deletions = stats?.deletions ?? 0;
|
|
68
|
+
const warningCount = diff?.warnings.length ?? 0;
|
|
69
|
+
return {
|
|
70
|
+
changedLabel: `${fileCount} ${fileCount === 1 ? "file" : "files"}`,
|
|
71
|
+
lineLabel: `+${additions} / -${deletions}`,
|
|
72
|
+
warningCount,
|
|
73
|
+
truncated: Boolean(diff?.truncated),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export function nextExpandedFileSet(current, filePath) {
|
|
77
|
+
const next = new Set(current);
|
|
78
|
+
if (next.has(filePath))
|
|
79
|
+
next.delete(filePath);
|
|
80
|
+
else
|
|
81
|
+
next.add(filePath);
|
|
82
|
+
return next;
|
|
83
|
+
}
|
|
84
|
+
export function initialExpandedFileSet(files) {
|
|
85
|
+
return new Set(files.filter((file) => !file.longDiff).map((file) => file.path));
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=diff-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-model.js","sourceRoot":"","sources":["../src/diff-model.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":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC"}
|