@phpsandbox/sdk 0.0.2

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 (90) hide show
  1. package/README.md +718 -0
  2. package/dist/auth.d.ts +14 -0
  3. package/dist/auth.d.ts.map +1 -0
  4. package/dist/auth.js +12 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/beacon/index.d.ts +169 -0
  7. package/dist/beacon/index.d.ts.map +1 -0
  8. package/dist/beacon/index.js +537 -0
  9. package/dist/beacon/index.js.map +1 -0
  10. package/dist/beacon/navigator.d.ts +141 -0
  11. package/dist/beacon/navigator.d.ts.map +1 -0
  12. package/dist/beacon/navigator.js +246 -0
  13. package/dist/beacon/navigator.js.map +1 -0
  14. package/dist/beacon/types.d.ts +230 -0
  15. package/dist/beacon/types.d.ts.map +1 -0
  16. package/dist/beacon/types.js +2 -0
  17. package/dist/beacon/types.js.map +1 -0
  18. package/dist/browser/phpsandbox-sdk.esm.js +4755 -0
  19. package/dist/browser/phpsandbox-sdk.esm.js.map +7 -0
  20. package/dist/browser/phpsandbox-sdk.esm.min.js +27 -0
  21. package/dist/browser/phpsandbox-sdk.esm.min.js.map +7 -0
  22. package/dist/browser/phpsandbox-sdk.iife.js +4766 -0
  23. package/dist/browser/phpsandbox-sdk.iife.js.map +7 -0
  24. package/dist/browser/phpsandbox-sdk.iife.min.js +27 -0
  25. package/dist/browser/phpsandbox-sdk.iife.min.js.map +7 -0
  26. package/dist/composer.d.ts +45 -0
  27. package/dist/composer.d.ts.map +1 -0
  28. package/dist/composer.js +30 -0
  29. package/dist/composer.js.map +1 -0
  30. package/dist/container.d.ts +66 -0
  31. package/dist/container.d.ts.map +1 -0
  32. package/dist/container.js +56 -0
  33. package/dist/container.js.map +1 -0
  34. package/dist/events/index.d.ts +23 -0
  35. package/dist/events/index.d.ts.map +1 -0
  36. package/dist/events/index.js +46 -0
  37. package/dist/events/index.js.map +1 -0
  38. package/dist/filesystem.d.ts +483 -0
  39. package/dist/filesystem.d.ts.map +1 -0
  40. package/dist/filesystem.js +244 -0
  41. package/dist/filesystem.js.map +1 -0
  42. package/dist/git.d.ts +42 -0
  43. package/dist/git.d.ts.map +1 -0
  44. package/dist/git.js +18 -0
  45. package/dist/git.js.map +1 -0
  46. package/dist/index.d.ts +167 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +265 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/laravel.d.ts +23 -0
  51. package/dist/laravel.d.ts.map +1 -0
  52. package/dist/laravel.js +12 -0
  53. package/dist/laravel.js.map +1 -0
  54. package/dist/log.d.ts +13 -0
  55. package/dist/log.d.ts.map +1 -0
  56. package/dist/log.js +12 -0
  57. package/dist/log.js.map +1 -0
  58. package/dist/lsp.d.ts +57 -0
  59. package/dist/lsp.d.ts.map +1 -0
  60. package/dist/lsp.js +69 -0
  61. package/dist/lsp.js.map +1 -0
  62. package/dist/repl.d.ts +41 -0
  63. package/dist/repl.d.ts.map +1 -0
  64. package/dist/repl.js +27 -0
  65. package/dist/repl.js.map +1 -0
  66. package/dist/shell.d.ts +29 -0
  67. package/dist/shell.d.ts.map +1 -0
  68. package/dist/shell.js +29 -0
  69. package/dist/shell.js.map +1 -0
  70. package/dist/socket/index.d.ts +229 -0
  71. package/dist/socket/index.d.ts.map +1 -0
  72. package/dist/socket/index.js +825 -0
  73. package/dist/socket/index.js.map +1 -0
  74. package/dist/terminal.d.ts +97 -0
  75. package/dist/terminal.d.ts.map +1 -0
  76. package/dist/terminal.js +87 -0
  77. package/dist/terminal.js.map +1 -0
  78. package/dist/types.d.ts +16 -0
  79. package/dist/types.d.ts.map +1 -0
  80. package/dist/types.js +16 -0
  81. package/dist/types.js.map +1 -0
  82. package/dist/utils/disposable.d.ts +7 -0
  83. package/dist/utils/disposable.d.ts.map +1 -0
  84. package/dist/utils/disposable.js +20 -0
  85. package/dist/utils/disposable.js.map +1 -0
  86. package/dist/utils/promise.d.ts +13 -0
  87. package/dist/utils/promise.d.ts.map +1 -0
  88. package/dist/utils/promise.js +21 -0
  89. package/dist/utils/promise.js.map +1 -0
  90. package/package.json +67 -0
@@ -0,0 +1,483 @@
1
+ import type { Action, Disposable, NotebookInstance } from './index.js';
2
+ import { ErrorEvent } from './types.js';
3
+ export interface FileInfo {
4
+ binary: boolean;
5
+ contents: string | null;
6
+ language: string;
7
+ }
8
+ export interface FileResult {
9
+ name: string;
10
+ directory: string;
11
+ relativePath: string;
12
+ /**
13
+ * Same value as `relativePath`.
14
+ */
15
+ path: string;
16
+ }
17
+ export declare enum FileType {
18
+ /**
19
+ * File is unknown (neither file, directory nor symbolic link).
20
+ */
21
+ Unknown = 0,
22
+ /**
23
+ * File is a normal file.
24
+ */
25
+ File = 1,
26
+ /**
27
+ * File is a directory.
28
+ */
29
+ Directory = 2,
30
+ /**
31
+ * File is a symbolic link.
32
+ *
33
+ * Note: even when the file is a symbolic link, you can test for
34
+ * `FileType.File` and `FileType.Directory` to know the type of
35
+ * the target the link points to.
36
+ */
37
+ SymbolicLink = 64
38
+ }
39
+ export interface Stats {
40
+ mtime: number;
41
+ size: number;
42
+ ctime: number;
43
+ type: FileType;
44
+ permissions?: number;
45
+ }
46
+ export interface FileOverwriteOptions {
47
+ overwrite: boolean;
48
+ }
49
+ export interface FileWriteOptions extends FileOverwriteOptions {
50
+ create: boolean;
51
+ unlock: boolean;
52
+ atomic: false | {
53
+ postfix: string;
54
+ };
55
+ }
56
+ export interface FileDeleteOptions {
57
+ recursive: boolean;
58
+ useTrash: boolean;
59
+ atomic: false | {
60
+ postfix: string;
61
+ };
62
+ }
63
+ export interface SearchOptions {
64
+ /**
65
+ * The maximum number of results to be returned.
66
+ */
67
+ maxResults?: number;
68
+ /**
69
+ * Files that match an `includes` glob pattern should be included in the search.
70
+ */
71
+ includes: string[];
72
+ /**
73
+ * Files that match an `excludes` glob pattern should be excluded from the search.
74
+ */
75
+ excludes: string[];
76
+ /**
77
+ * Whether external files that exclude files, like .gitignore, should be respected.
78
+ * See the vscode setting `"search.useIgnoreFiles"`.
79
+ */
80
+ useIgnoreFiles: boolean;
81
+ /**
82
+ * Whether symlinks should be followed while searching.
83
+ * See the vscode setting `"search.followSymlinks"`.
84
+ */
85
+ followSymlinks: boolean;
86
+ /**
87
+ * Whether global files that exclude files, like .gitignore, should be respected.
88
+ * See the vscode setting `"search.useGlobalIgnoreFiles"`.
89
+ */
90
+ useGlobalIgnoreFiles: boolean;
91
+ /**
92
+ * Whether files in parent directories that exclude files, like .gitignore, should be respected.
93
+ * See the vscode setting `"search.useParentIgnoreFiles"`.
94
+ */
95
+ useParentIgnoreFiles: boolean;
96
+ }
97
+ export interface FileSearchOptions extends SearchOptions {
98
+ /**
99
+ * The maximum number of results to be returned.
100
+ */
101
+ maxResults?: number;
102
+ }
103
+ export interface TextSearchPreviewOptions {
104
+ /**
105
+ * The maximum number of lines in the preview.
106
+ * Only search providers that support multiline search will ever return more than one line in the match.
107
+ */
108
+ matchLines: number;
109
+ /**
110
+ * The maximum number of characters included per line.
111
+ */
112
+ charsPerLine: number;
113
+ }
114
+ export interface TextSearchQuery {
115
+ id?: string;
116
+ /**
117
+ * The text pattern to search for.
118
+ */
119
+ pattern: string;
120
+ /**
121
+ * Whether or not `pattern` should match multiple lines of text.
122
+ */
123
+ isMultiline?: boolean;
124
+ /**
125
+ * Whether or not `pattern` should be interpreted as a regular expression.
126
+ */
127
+ isRegExp?: boolean;
128
+ /**
129
+ * Whether or not the search should be case-sensitive.
130
+ */
131
+ isCaseSensitive?: boolean;
132
+ /**
133
+ * Whether or not to search for whole word matches only.
134
+ */
135
+ isWordMatch?: boolean;
136
+ }
137
+ export interface TextSearchOptions extends SearchOptions {
138
+ /**
139
+ * The maximum number of results to be returned.
140
+ */
141
+ maxResults: number;
142
+ /**
143
+ * Options to specify the size of the result text preview.
144
+ */
145
+ previewOptions?: TextSearchPreviewOptions;
146
+ /**
147
+ * Exclude files larger than `maxFileSize` in bytes.
148
+ */
149
+ maxFileSize?: number;
150
+ /**
151
+ * Interpret files using this encoding.
152
+ * See the vscode setting `"files.encoding"`
153
+ */
154
+ encoding?: string;
155
+ /**
156
+ * Number of lines of context to include before each match.
157
+ */
158
+ beforeContext?: number;
159
+ /**
160
+ * Number of lines of context to include after each match.
161
+ */
162
+ afterContext?: number;
163
+ }
164
+ /**
165
+ * A line of context surrounding a TextSearchMatch.
166
+ */
167
+ export interface TextSearchContext {
168
+ /**
169
+ * The uri for the matching document.
170
+ */
171
+ path: string;
172
+ /**
173
+ * One line of text.
174
+ * previewOptions.charsPerLine applies to this
175
+ */
176
+ text: string;
177
+ /**
178
+ * The line number of this line of context.
179
+ */
180
+ lineNumber: number;
181
+ }
182
+ /**
183
+ * A preview of the text result.
184
+ */
185
+ export interface TextSearchMatchPreview {
186
+ /**
187
+ * The matching lines of text, or a portion of the matching line that contains the match.
188
+ */
189
+ text: string;
190
+ /**
191
+ * The Range within `text` corresponding to the text of the match.
192
+ * The number of matches must match the TextSearchMatch's range property.
193
+ */
194
+ matches: SearchRange[];
195
+ }
196
+ export interface SearchRange {
197
+ startLine: number;
198
+ startColumn: number;
199
+ endLine: number;
200
+ endColumn: number;
201
+ }
202
+ /**
203
+ * A match from a text search
204
+ */
205
+ export interface TextSearchMatch {
206
+ lineNumber: number;
207
+ /**
208
+ * The uri for the matching document.
209
+ */
210
+ path: string;
211
+ /**
212
+ * The range of the match within the document, or multiple ranges for multiple matches.
213
+ */
214
+ ranges: SearchRange[];
215
+ /**
216
+ * A preview of the text match.
217
+ */
218
+ preview: TextSearchMatchPreview;
219
+ }
220
+ /**
221
+ * A line of context surrounding a TextSearchMatch.
222
+ */
223
+ export interface TextSearchContext {
224
+ /**
225
+ * The uri for the matching document.
226
+ */
227
+ path: string;
228
+ /**
229
+ * One line of text.
230
+ * previewOptions.charsPerLine applies to this
231
+ */
232
+ text: string;
233
+ /**
234
+ * The line number of this line of context.
235
+ */
236
+ lineNumber: number;
237
+ }
238
+ export type TextSearchResult = TextSearchMatch | TextSearchContext;
239
+ interface RelativePattern {
240
+ /**
241
+ * A base file path to which this pattern will be matched against relatively.
242
+ */
243
+ readonly base: string;
244
+ /**
245
+ * A file glob pattern like `*.{ts,js}` that will be matched on file paths
246
+ * relative to the base path.
247
+ *
248
+ * Example: Given a base of `/home/work/folder` and a file path of `/home/work/folder/index.js`,
249
+ * the file glob pattern will match on `index.js`.
250
+ */
251
+ readonly pattern: string;
252
+ }
253
+ interface WatchOptionsWithoutCorrelation {
254
+ /**
255
+ * Set to `true` to watch for changes recursively in a folder
256
+ * and all of its children.
257
+ */
258
+ recursive: boolean;
259
+ /**
260
+ * A set of glob patterns or paths to exclude from watching.
261
+ * Paths can be relative or absolute and when relative are
262
+ * resolved against the watched folder. Glob patterns are
263
+ * always matched relative to the watched folder.
264
+ */
265
+ excludes: string[];
266
+ /**
267
+ * An optional set of glob patterns or paths to include for
268
+ * watching. If not provided, all paths are considered for
269
+ * events.
270
+ * Paths can be relative or absolute and when relative are
271
+ * resolved against the watched folder. Glob patterns are
272
+ * always matched relative to the watched folder.
273
+ */
274
+ includes?: Array<string | RelativePattern>;
275
+ /**
276
+ * If provided, allows to filter the events that the watcher should consider
277
+ * for emitting. If not provided, all events are emitted.
278
+ *
279
+ * For example, to emit added and updated events, set to:
280
+ * `FileChangeFilter.ADDED | FileChangeFilter.UPDATED`.
281
+ */
282
+ filter?: FileChangeFilter;
283
+ }
284
+ interface WatchOptions extends WatchOptionsWithoutCorrelation {
285
+ /**
286
+ * If provided, file change events from the watcher that
287
+ * are a result of this watch request will carry the same
288
+ * id.
289
+ */
290
+ readonly correlationId?: number;
291
+ }
292
+ declare const enum FileChangeFilter {
293
+ UPDATED = 2,
294
+ ADDED = 4,
295
+ DELETED = 8
296
+ }
297
+ /**
298
+ * Possible changes that can occur to a file.
299
+ */
300
+ export declare const enum FileChangeType {
301
+ UPDATED = 1,
302
+ ADDED = 2,
303
+ DELETED = 3
304
+ }
305
+ /**
306
+ * Identifies a single change in a file.
307
+ */
308
+ export interface FileChange {
309
+ /**
310
+ * The type of change that occurred to the file.
311
+ */
312
+ type: FileChangeType;
313
+ /**
314
+ * Whether the change is a file or a directory.
315
+ */
316
+ isFile: boolean;
317
+ /**
318
+ * Whether the file exists.
319
+ */
320
+ exists: boolean;
321
+ /**
322
+ * The unified resource identifier of the file that changed.
323
+ */
324
+ readonly path: string;
325
+ /**
326
+ * If provided when starting the file watcher, the correlation
327
+ * identifier will match the original file watching request as
328
+ * a way to identify the original component that is interested
329
+ * in the change.
330
+ */
331
+ readonly cId?: number;
332
+ }
333
+ export interface ReadFileRangeResult {
334
+ lineStart: number;
335
+ lineEnd: number;
336
+ content: string;
337
+ error: string | null;
338
+ }
339
+ export interface FilesystemActions {
340
+ 'fs.info': Action<{
341
+ path: string;
342
+ }, FileInfo>;
343
+ 'fs.write': Action<{
344
+ path: string;
345
+ contents: string;
346
+ }, boolean>;
347
+ 'fs.mkdir': Action<{
348
+ path: string;
349
+ }, boolean>;
350
+ 'fs.remove': Action<{
351
+ path: string;
352
+ type: 'file' | 'directory';
353
+ }, boolean>;
354
+ 'fs.move': Action<{
355
+ from: string;
356
+ to: string;
357
+ }, boolean>;
358
+ 'fs.find': Action<{
359
+ query: string;
360
+ options: FileSearchOptions;
361
+ }, FileResult[]>;
362
+ 'fs.textSearch': Action<{
363
+ query: TextSearchQuery;
364
+ options: TextSearchOptions;
365
+ }, [boolean, TextSearchMatch[]]>;
366
+ 'fs.readFile': Action<{
367
+ path: string;
368
+ lineRange?: {
369
+ lineStart: number;
370
+ lineEnd: number;
371
+ };
372
+ }, string | Uint8Array | ReadFileRangeResult>;
373
+ 'fs.writeFile': Action<{
374
+ path: string;
375
+ contents: Uint8Array;
376
+ options: FileWriteOptions;
377
+ }, void>;
378
+ 'fs.stat': Action<{
379
+ path: string;
380
+ }, Stats>;
381
+ 'fs.rename': Action<{
382
+ from: string;
383
+ to: string;
384
+ options: FileOverwriteOptions;
385
+ }, void>;
386
+ 'fs.delete': Action<{
387
+ path: string;
388
+ options: FileDeleteOptions;
389
+ }, void>;
390
+ 'fs.copy': Action<{
391
+ source: string;
392
+ destination: string;
393
+ options: FileOverwriteOptions;
394
+ }, void>;
395
+ 'fs.readDirectory': Action<{
396
+ path: string;
397
+ include: string[];
398
+ exclude: string[];
399
+ }, [string, FileType, number | null][]>;
400
+ 'fs.createDirectory': Action<{
401
+ path: string;
402
+ }, void>;
403
+ 'fs.watch': Action<{
404
+ path: string;
405
+ options: WatchOptions;
406
+ }, void>;
407
+ 'fs.download': Action<{
408
+ id: string;
409
+ exclude?: string[];
410
+ include?: string[];
411
+ }, void>;
412
+ 'fs.unwatch': Action<{
413
+ path: string;
414
+ }, void>;
415
+ 'fs.tree': Action<{
416
+ path: string;
417
+ }, string>;
418
+ 'fs.tail': Action<{
419
+ path: string;
420
+ lines: number;
421
+ }, string>;
422
+ }
423
+ interface FilesystemEventData {
424
+ 'fs.watch': FileChange;
425
+ 'fs.download': Uint8Array;
426
+ 'fs.text.search': TextSearchResult | false;
427
+ }
428
+ type PrefixKey<K extends keyof FilesystemEventData> = `${K}.${string}`;
429
+ export type FilesystemEvents = FilesystemEventData & {
430
+ [K in keyof FilesystemEventData as PrefixKey<K>]: FilesystemEventData[K];
431
+ };
432
+ export declare enum FilesystemErrorType {
433
+ Unavailable = "Unavailable",
434
+ NoPermissions = "NoPermissions",
435
+ FileExists = "FileExists",
436
+ FileNotFound = "FileNotFound",
437
+ FileIsADirectory = "FileIsADirectory",
438
+ FileNotADirectory = "FileNotADirectory"
439
+ }
440
+ export declare class FilesystemError extends ErrorEvent {
441
+ readonly name: FilesystemErrorType;
442
+ constructor(inner: ErrorEvent, name: FilesystemErrorType);
443
+ }
444
+ declare class FilesystemSubscription {
445
+ private path;
446
+ private okra;
447
+ private disposable;
448
+ constructor(path: string, okra: NotebookInstance, disposable: Disposable);
449
+ dispose(): void;
450
+ }
451
+ export declare class Filesystem {
452
+ protected okra: NotebookInstance;
453
+ private watches;
454
+ constructor(okra: NotebookInstance);
455
+ private watchOkraConnection;
456
+ info(path: string): Promise<FileInfo>;
457
+ write(path: string, contents: string): Promise<boolean>;
458
+ find(query: string, options?: Partial<FileSearchOptions>): Promise<FileResult[]>;
459
+ search(query: TextSearchQuery, options?: Partial<TextSearchOptions>, onMatch?: (result: TextSearchResult | false) => boolean | Promise<boolean> | void | Promise<void>): Promise<[boolean, TextSearchMatch[]]>;
460
+ mkdir(path: string): Promise<boolean>;
461
+ move(from: string, to: string): Promise<boolean>;
462
+ remove(path: string, type: 'file' | 'directory'): Promise<boolean>;
463
+ readFile(path: string): Promise<Uint8Array>;
464
+ readFile(path: string, lineRange: {
465
+ lineStart: number;
466
+ lineEnd: number;
467
+ }): Promise<ReadFileRangeResult>;
468
+ tail(path: string, lines?: number): Promise<string>;
469
+ writeFile(path: string, contents: Uint8Array, options: FileWriteOptions): Promise<void>;
470
+ stat(path: string): Promise<Stats>;
471
+ rename(from: string, to: string, options: FileOverwriteOptions): Promise<void>;
472
+ delete(path: string, options: FileDeleteOptions): Promise<void>;
473
+ copy(source: string, destination: string, options: FileOverwriteOptions): Promise<void>;
474
+ readDirectory(path: string, include?: string[], exclude?: string[]): Promise<[string, FileType, number | null][]>;
475
+ createDirectory(path: string): Promise<void>;
476
+ watch(path: string, options: WatchOptions, onDidChange: (e: FileChange) => void): FilesystemSubscription;
477
+ exists(path: string): Promise<boolean>;
478
+ download(chunk?: (data: Uint8Array) => void, exclude?: string[], include?: string[]): Promise<Blob>;
479
+ tree(path?: string): Promise<string>;
480
+ protected handleError(e: unknown): never;
481
+ }
482
+ export {};
483
+ //# sourceMappingURL=filesystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"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"}