@getpaseo/cli 0.1.30 → 0.1.33
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/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +54 -110
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent/archive.d.ts +3 -3
- package/dist/commands/agent/archive.d.ts.map +1 -1
- package/dist/commands/agent/archive.js +19 -19
- package/dist/commands/agent/archive.js.map +1 -1
- package/dist/commands/agent/attach.d.ts +2 -1
- package/dist/commands/agent/attach.d.ts.map +1 -1
- package/dist/commands/agent/attach.js +29 -24
- package/dist/commands/agent/attach.js.map +1 -1
- package/dist/commands/agent/delete.d.ts +3 -2
- package/dist/commands/agent/delete.d.ts.map +1 -1
- package/dist/commands/agent/delete.js +24 -17
- package/dist/commands/agent/delete.js.map +1 -1
- package/dist/commands/agent/index.d.ts +1 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +37 -89
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/inspect.d.ts +3 -2
- package/dist/commands/agent/inspect.d.ts.map +1 -1
- package/dist/commands/agent/inspect.js +58 -53
- package/dist/commands/agent/inspect.js.map +1 -1
- package/dist/commands/agent/logs.d.ts +4 -3
- package/dist/commands/agent/logs.d.ts.map +1 -1
- package/dist/commands/agent/logs.js +34 -25
- package/dist/commands/agent/logs.js.map +1 -1
- package/dist/commands/agent/ls.d.ts +3 -2
- package/dist/commands/agent/ls.d.ts.map +1 -1
- package/dist/commands/agent/ls.js +41 -32
- package/dist/commands/agent/ls.js.map +1 -1
- package/dist/commands/agent/mode.d.ts +3 -3
- package/dist/commands/agent/mode.d.ts.map +1 -1
- package/dist/commands/agent/mode.js +20 -20
- package/dist/commands/agent/mode.js.map +1 -1
- package/dist/commands/agent/run.d.ts +7 -6
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +100 -81
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/send.d.ts +4 -3
- package/dist/commands/agent/send.d.ts.map +1 -1
- package/dist/commands/agent/send.js +64 -55
- package/dist/commands/agent/send.js.map +1 -1
- package/dist/commands/agent/stop.d.ts +3 -2
- package/dist/commands/agent/stop.d.ts.map +1 -1
- package/dist/commands/agent/stop.js +24 -17
- package/dist/commands/agent/stop.js.map +1 -1
- package/dist/commands/agent/update.d.ts +2 -2
- package/dist/commands/agent/update.d.ts.map +1 -1
- package/dist/commands/agent/update.js +28 -28
- package/dist/commands/agent/update.js.map +1 -1
- package/dist/commands/agent/wait.d.ts +4 -3
- package/dist/commands/agent/wait.d.ts.map +1 -1
- package/dist/commands/agent/wait.js +40 -34
- package/dist/commands/agent/wait.js.map +1 -1
- package/dist/commands/daemon/index.d.ts +1 -1
- package/dist/commands/daemon/index.d.ts.map +1 -1
- package/dist/commands/daemon/index.js +24 -30
- package/dist/commands/daemon/index.js.map +1 -1
- package/dist/commands/daemon/local-daemon.d.ts +1 -1
- package/dist/commands/daemon/local-daemon.d.ts.map +1 -1
- package/dist/commands/daemon/local-daemon.js +61 -59
- package/dist/commands/daemon/local-daemon.js.map +1 -1
- package/dist/commands/daemon/pair.d.ts +1 -1
- package/dist/commands/daemon/pair.d.ts.map +1 -1
- package/dist/commands/daemon/pair.js +9 -10
- package/dist/commands/daemon/pair.js.map +1 -1
- package/dist/commands/daemon/restart.d.ts +3 -3
- package/dist/commands/daemon/restart.d.ts.map +1 -1
- package/dist/commands/daemon/restart.js +26 -26
- package/dist/commands/daemon/restart.js.map +1 -1
- package/dist/commands/daemon/runtime-toolchain.d.ts.map +1 -1
- package/dist/commands/daemon/runtime-toolchain.js +5 -5
- package/dist/commands/daemon/runtime-toolchain.js.map +1 -1
- package/dist/commands/daemon/start.d.ts +3 -3
- package/dist/commands/daemon/start.d.ts.map +1 -1
- package/dist/commands/daemon/start.js +15 -15
- package/dist/commands/daemon/start.js.map +1 -1
- package/dist/commands/daemon/status.d.ts +2 -2
- package/dist/commands/daemon/status.d.ts.map +1 -1
- package/dist/commands/daemon/status.js +64 -64
- package/dist/commands/daemon/status.js.map +1 -1
- package/dist/commands/daemon/stop.d.ts +3 -3
- package/dist/commands/daemon/stop.d.ts.map +1 -1
- package/dist/commands/daemon/stop.js +15 -15
- package/dist/commands/daemon/stop.js.map +1 -1
- package/dist/commands/onboard.d.ts +3 -3
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/onboard.js +76 -73
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/permit/allow.d.ts +2 -2
- package/dist/commands/permit/allow.d.ts.map +1 -1
- package/dist/commands/permit/allow.js +23 -23
- package/dist/commands/permit/allow.js.map +1 -1
- package/dist/commands/permit/deny.d.ts +3 -3
- package/dist/commands/permit/deny.d.ts.map +1 -1
- package/dist/commands/permit/deny.js +16 -16
- package/dist/commands/permit/deny.js.map +1 -1
- package/dist/commands/permit/index.d.ts +1 -1
- package/dist/commands/permit/index.d.ts.map +1 -1
- package/dist/commands/permit/index.js +21 -23
- package/dist/commands/permit/index.js.map +1 -1
- package/dist/commands/permit/ls.d.ts +2 -2
- package/dist/commands/permit/ls.d.ts.map +1 -1
- package/dist/commands/permit/ls.js +11 -11
- package/dist/commands/permit/ls.js.map +1 -1
- package/dist/commands/provider/index.d.ts +1 -1
- package/dist/commands/provider/index.d.ts.map +1 -1
- package/dist/commands/provider/index.js +11 -13
- package/dist/commands/provider/index.js.map +1 -1
- package/dist/commands/provider/ls.d.ts +2 -2
- package/dist/commands/provider/ls.d.ts.map +1 -1
- package/dist/commands/provider/ls.js +23 -23
- package/dist/commands/provider/ls.js.map +1 -1
- package/dist/commands/provider/models.d.ts +2 -2
- package/dist/commands/provider/models.d.ts.map +1 -1
- package/dist/commands/provider/models.js +15 -15
- package/dist/commands/provider/models.js.map +1 -1
- package/dist/commands/speech/download.d.ts.map +1 -1
- package/dist/commands/speech/download.js.map +1 -1
- package/dist/commands/speech/index.d.ts +1 -1
- package/dist/commands/speech/index.d.ts.map +1 -1
- package/dist/commands/speech/index.js +10 -12
- package/dist/commands/speech/index.js.map +1 -1
- package/dist/commands/speech/models.d.ts.map +1 -1
- package/dist/commands/speech/models.js.map +1 -1
- package/dist/commands/worktree/archive.d.ts +3 -3
- package/dist/commands/worktree/archive.d.ts.map +1 -1
- package/dist/commands/worktree/archive.js +20 -20
- package/dist/commands/worktree/archive.js.map +1 -1
- package/dist/commands/worktree/index.d.ts +1 -1
- package/dist/commands/worktree/index.d.ts.map +1 -1
- package/dist/commands/worktree/index.js +10 -12
- package/dist/commands/worktree/index.js.map +1 -1
- package/dist/commands/worktree/ls.d.ts +2 -2
- package/dist/commands/worktree/ls.d.ts.map +1 -1
- package/dist/commands/worktree/ls.js +19 -19
- package/dist/commands/worktree/ls.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/output/index.d.ts +7 -7
- package/dist/output/index.d.ts.map +1 -1
- package/dist/output/index.js +6 -6
- package/dist/output/index.js.map +1 -1
- package/dist/output/json.d.ts +1 -1
- package/dist/output/json.d.ts.map +1 -1
- package/dist/output/json.js +1 -1
- package/dist/output/json.js.map +1 -1
- package/dist/output/quiet.d.ts +1 -1
- package/dist/output/quiet.d.ts.map +1 -1
- package/dist/output/quiet.js +3 -3
- package/dist/output/quiet.js.map +1 -1
- package/dist/output/render.d.ts +1 -1
- package/dist/output/render.d.ts.map +1 -1
- package/dist/output/render.js +21 -21
- package/dist/output/render.js.map +1 -1
- package/dist/output/table.d.ts +1 -1
- package/dist/output/table.d.ts.map +1 -1
- package/dist/output/table.js +18 -18
- package/dist/output/table.js.map +1 -1
- package/dist/output/types.d.ts +4 -4
- package/dist/output/types.d.ts.map +1 -1
- package/dist/output/with-output.d.ts +2 -2
- package/dist/output/with-output.d.ts.map +1 -1
- package/dist/output/with-output.js +12 -12
- package/dist/output/with-output.js.map +1 -1
- package/dist/output/yaml.d.ts +1 -1
- package/dist/output/yaml.d.ts.map +1 -1
- package/dist/output/yaml.js +2 -2
- package/dist/output/yaml.js.map +1 -1
- package/dist/utils/client-id.d.ts.map +1 -1
- package/dist/utils/client-id.js.map +1 -1
- package/dist/utils/client.d.ts +3 -3
- package/dist/utils/client.d.ts.map +1 -1
- package/dist/utils/client.js +37 -35
- package/dist/utils/client.js.map +1 -1
- package/dist/utils/command-options.d.ts +1 -1
- package/dist/utils/command-options.d.ts.map +1 -1
- package/dist/utils/command-options.js +4 -4
- package/dist/utils/command-options.js.map +1 -1
- package/dist/utils/duration.js +3 -3
- package/dist/utils/duration.js.map +1 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/timeline.d.ts +1 -1
- package/dist/utils/timeline.d.ts.map +1 -1
- package/dist/utils/timeline.js +2 -2
- package/dist/utils/timeline.js.map +1 -1
- package/package.json +3 -3
package/dist/output/render.js
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Selects the appropriate renderer based on output options.
|
|
5
5
|
*/
|
|
6
|
-
import chalk from
|
|
7
|
-
import YAML from
|
|
8
|
-
import { renderTable } from
|
|
9
|
-
import { renderJson } from
|
|
10
|
-
import { renderYaml } from
|
|
11
|
-
import { renderQuiet } from
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
import YAML from "yaml";
|
|
8
|
+
import { renderTable } from "./table.js";
|
|
9
|
+
import { renderJson } from "./json.js";
|
|
10
|
+
import { renderYaml } from "./yaml.js";
|
|
11
|
+
import { renderQuiet } from "./quiet.js";
|
|
12
12
|
/** Default output options */
|
|
13
13
|
export const defaultOutputOptions = {
|
|
14
|
-
format:
|
|
14
|
+
format: "table",
|
|
15
15
|
quiet: false,
|
|
16
16
|
noHeaders: false,
|
|
17
17
|
noColor: false,
|
|
@@ -25,11 +25,11 @@ export function render(result, options = {}) {
|
|
|
25
25
|
}
|
|
26
26
|
// Dispatch to format-specific renderer
|
|
27
27
|
switch (opts.format) {
|
|
28
|
-
case
|
|
28
|
+
case "json":
|
|
29
29
|
return renderJson(result, opts);
|
|
30
|
-
case
|
|
30
|
+
case "yaml":
|
|
31
31
|
return renderYaml(result, opts);
|
|
32
|
-
case
|
|
32
|
+
case "table":
|
|
33
33
|
default:
|
|
34
34
|
return renderTable(result, opts);
|
|
35
35
|
}
|
|
@@ -41,38 +41,38 @@ export function toCommandError(error) {
|
|
|
41
41
|
}
|
|
42
42
|
if (error instanceof Error) {
|
|
43
43
|
return {
|
|
44
|
-
code:
|
|
44
|
+
code: "UNKNOWN_ERROR",
|
|
45
45
|
message: error.message,
|
|
46
46
|
details: error.stack,
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
return {
|
|
50
|
-
code:
|
|
50
|
+
code: "UNKNOWN_ERROR",
|
|
51
51
|
message: String(error),
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
/** Type guard for CommandError */
|
|
55
55
|
function isCommandError(error) {
|
|
56
|
-
return (typeof error ===
|
|
56
|
+
return (typeof error === "object" &&
|
|
57
57
|
error !== null &&
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
typeof error.code ===
|
|
61
|
-
typeof error.message ===
|
|
58
|
+
"code" in error &&
|
|
59
|
+
"message" in error &&
|
|
60
|
+
typeof error.code === "string" &&
|
|
61
|
+
typeof error.message === "string");
|
|
62
62
|
}
|
|
63
63
|
/** Render an error to string based on output options */
|
|
64
64
|
export function renderError(error, options = {}) {
|
|
65
65
|
const opts = { ...defaultOutputOptions, ...options };
|
|
66
|
-
if (opts.format ===
|
|
66
|
+
if (opts.format === "json") {
|
|
67
67
|
return JSON.stringify({ error }, null, 2);
|
|
68
68
|
}
|
|
69
|
-
if (opts.format ===
|
|
69
|
+
if (opts.format === "yaml") {
|
|
70
70
|
return YAML.stringify({ error });
|
|
71
71
|
}
|
|
72
72
|
// Table/default format: human-readable error
|
|
73
|
-
const prefix = opts.noColor ?
|
|
73
|
+
const prefix = opts.noColor ? "Error: " : chalk.red("Error: ");
|
|
74
74
|
const message = error.message;
|
|
75
|
-
if (error.details && typeof error.details ===
|
|
75
|
+
if (error.details && typeof error.details === "string") {
|
|
76
76
|
return `${prefix}${message}\n${error.details}`;
|
|
77
77
|
}
|
|
78
78
|
return `${prefix}${message}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/output/render.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/output/render.ts"],"names":[],"mappings":"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"}
|
package/dist/output/table.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders structured data as aligned ASCII tables with optional color support.
|
|
5
5
|
*/
|
|
6
|
-
import type { AnyCommandResult, OutputOptions, OutputSchema } from
|
|
6
|
+
import type { AnyCommandResult, OutputOptions, OutputSchema } from "./types.js";
|
|
7
7
|
/** Render a list result as a table */
|
|
8
8
|
export declare function renderTable<T>(result: AnyCommandResult<T>, options: OutputOptions): string;
|
|
9
9
|
/** Render just a table header (for streaming) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/output/table.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/output/table.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAa,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA2H3F,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAyB1F;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,MAAM,CAIR;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,MAAM,CAIR"}
|
package/dist/output/table.js
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders structured data as aligned ASCII tables with optional color support.
|
|
5
5
|
*/
|
|
6
|
-
import chalk from
|
|
6
|
+
import chalk from "chalk";
|
|
7
7
|
// ANSI escape code regex for stripping colors when measuring width
|
|
8
8
|
const ANSI_REGEX =
|
|
9
9
|
// eslint-disable-next-line no-control-regex
|
|
10
10
|
/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
|
|
11
11
|
/** Strip ANSI escape codes from a string */
|
|
12
12
|
function stripAnsi(str) {
|
|
13
|
-
return str.replace(ANSI_REGEX,
|
|
13
|
+
return str.replace(ANSI_REGEX, "");
|
|
14
14
|
}
|
|
15
15
|
/** Get visible string length (excluding ANSI codes) */
|
|
16
16
|
function visibleLength(str) {
|
|
@@ -21,16 +21,16 @@ function padCell(cell, width, align) {
|
|
|
21
21
|
const visible = visibleLength(cell);
|
|
22
22
|
const padding = Math.max(0, width - visible);
|
|
23
23
|
switch (align) {
|
|
24
|
-
case
|
|
25
|
-
return
|
|
26
|
-
case
|
|
24
|
+
case "right":
|
|
25
|
+
return " ".repeat(padding) + cell;
|
|
26
|
+
case "center": {
|
|
27
27
|
const left = Math.floor(padding / 2);
|
|
28
28
|
const right = padding - left;
|
|
29
|
-
return
|
|
29
|
+
return " ".repeat(left) + cell + " ".repeat(right);
|
|
30
30
|
}
|
|
31
|
-
case
|
|
31
|
+
case "left":
|
|
32
32
|
default:
|
|
33
|
-
return cell +
|
|
33
|
+
return cell + " ".repeat(padding);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
/** Apply a chalk color to a string */
|
|
@@ -54,14 +54,14 @@ function applyColor(str, colorName) {
|
|
|
54
54
|
}
|
|
55
55
|
/** Extract value from item using field definition */
|
|
56
56
|
function getValue(item, field) {
|
|
57
|
-
return typeof field ===
|
|
57
|
+
return typeof field === "function" ? field(item) : item[field];
|
|
58
58
|
}
|
|
59
59
|
/** Render a single table row */
|
|
60
60
|
function renderRow(item, columns, widths, options) {
|
|
61
61
|
return columns
|
|
62
62
|
.map((col, colIndex) => {
|
|
63
63
|
const value = getValue(item, col.field);
|
|
64
|
-
let cell = String(value ??
|
|
64
|
+
let cell = String(value ?? "");
|
|
65
65
|
const width = widths[colIndex];
|
|
66
66
|
// Apply color if enabled
|
|
67
67
|
if (col.color && !options.noColor) {
|
|
@@ -70,15 +70,15 @@ function renderRow(item, columns, widths, options) {
|
|
|
70
70
|
cell = applyColor(cell, colorName);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
return padCell(cell, width ?? 0, col.align ??
|
|
73
|
+
return padCell(cell, width ?? 0, col.align ?? "left");
|
|
74
74
|
})
|
|
75
|
-
.join(
|
|
75
|
+
.join(" ");
|
|
76
76
|
}
|
|
77
77
|
/** Render header row */
|
|
78
78
|
function renderHeader(columns, widths, options) {
|
|
79
79
|
const headerRow = columns
|
|
80
|
-
.map((col, i) => padCell(col.header, widths[i] ?? 0, col.align ??
|
|
81
|
-
.join(
|
|
80
|
+
.map((col, i) => padCell(col.header, widths[i] ?? 0, col.align ?? "left"))
|
|
81
|
+
.join(" ");
|
|
82
82
|
return options.noColor ? headerRow : chalk.bold(headerRow);
|
|
83
83
|
}
|
|
84
84
|
/** Calculate column widths based on content and hints */
|
|
@@ -89,7 +89,7 @@ function calculateWidths(data, columns, includeHeaders) {
|
|
|
89
89
|
// Check all data values
|
|
90
90
|
for (const item of data) {
|
|
91
91
|
const value = getValue(item, col.field);
|
|
92
|
-
const str = String(value ??
|
|
92
|
+
const str = String(value ?? "");
|
|
93
93
|
maxWidth = Math.max(maxWidth, visibleLength(str));
|
|
94
94
|
}
|
|
95
95
|
// Apply width hint if specified (minimum width)
|
|
@@ -102,9 +102,9 @@ function calculateWidths(data, columns, includeHeaders) {
|
|
|
102
102
|
/** Render a list result as a table */
|
|
103
103
|
export function renderTable(result, options) {
|
|
104
104
|
const { schema } = result;
|
|
105
|
-
const data = result.type ===
|
|
105
|
+
const data = result.type === "list" ? result.data : [result.data];
|
|
106
106
|
if (data.length === 0) {
|
|
107
|
-
return
|
|
107
|
+
return "";
|
|
108
108
|
}
|
|
109
109
|
const columns = schema.columns;
|
|
110
110
|
const includeHeaders = !options.noHeaders;
|
|
@@ -118,7 +118,7 @@ export function renderTable(result, options) {
|
|
|
118
118
|
for (const item of data) {
|
|
119
119
|
lines.push(renderRow(item, columns, widths, options));
|
|
120
120
|
}
|
|
121
|
-
return lines.join(
|
|
121
|
+
return lines.join("\n");
|
|
122
122
|
}
|
|
123
123
|
/** Render just a table header (for streaming) */
|
|
124
124
|
export function renderTableHeader(schema, options, widths) {
|
package/dist/output/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/output/table.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAA6B,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/output/table.ts"],"names":[],"mappings":"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"}
|
package/dist/output/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Commands return CommandResult<T> which contains both data and rendering metadata.
|
|
6
6
|
*/
|
|
7
7
|
/** Supported output formats */
|
|
8
|
-
export type OutputFormat =
|
|
8
|
+
export type OutputFormat = "table" | "json" | "yaml";
|
|
9
9
|
/** Options controlling output rendering */
|
|
10
10
|
export interface OutputOptions {
|
|
11
11
|
/** Output format (table, json, yaml) */
|
|
@@ -26,7 +26,7 @@ export interface ColumnDef<T> {
|
|
|
26
26
|
/** Optional width hint (characters) */
|
|
27
27
|
width?: number;
|
|
28
28
|
/** Optional alignment */
|
|
29
|
-
align?:
|
|
29
|
+
align?: "left" | "right" | "center";
|
|
30
30
|
/** Optional color function - returns chalk color name */
|
|
31
31
|
color?: (value: unknown, item: T) => string | undefined;
|
|
32
32
|
}
|
|
@@ -41,7 +41,7 @@ export interface OutputSchema<T> {
|
|
|
41
41
|
}
|
|
42
42
|
/** Result type for commands returning a single item */
|
|
43
43
|
export interface SingleResult<T> {
|
|
44
|
-
type:
|
|
44
|
+
type: "single";
|
|
45
45
|
/** The structured data to render */
|
|
46
46
|
data: T;
|
|
47
47
|
/** Schema describing how to render this data (for item type T) */
|
|
@@ -49,7 +49,7 @@ export interface SingleResult<T> {
|
|
|
49
49
|
}
|
|
50
50
|
/** Result type for commands returning a list */
|
|
51
51
|
export interface ListResult<T> {
|
|
52
|
-
type:
|
|
52
|
+
type: "list";
|
|
53
53
|
/** The structured data to render */
|
|
54
54
|
data: T[];
|
|
55
55
|
/** Schema describing how to render this data (for item type T) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/output/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/output/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IACxC,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,yDAAyD;IACzD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;CACzD;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;IACzC,0CAA0C;IAC1C,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,uDAAuD;IACvD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;CAClC;AAED,uDAAuD;AACvD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,oCAAoC;IACpC,IAAI,EAAE,CAAC,CAAC;IACR,kEAAkE;IAClE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACzB;AAED,gDAAgD;AAChD,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,kEAAkE;IAClE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACzB;AAED,yCAAyC;AACzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAElE,sFAAsF;AACtF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAE/D,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Wraps command handlers to automatically render results and handle errors.
|
|
5
5
|
*/
|
|
6
|
-
import type { Command } from
|
|
7
|
-
import type { AnyCommandResult, OutputOptions } from
|
|
6
|
+
import type { Command } from "commander";
|
|
7
|
+
import type { AnyCommandResult, OutputOptions } from "./types.js";
|
|
8
8
|
/** Options that include output settings from global options */
|
|
9
9
|
export interface CommandOptions extends Partial<OutputOptions> {
|
|
10
10
|
[key: string]: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-output.d.ts","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"with-output.d.ts","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhF,+DAA+D;AAC/D,MAAM,WAAW,cAAe,SAAQ,OAAO,CAAC,aAAa,CAAC;IAC5D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAwCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAClD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACrF,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAsBhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,aAAa,CAEvF"}
|
|
@@ -3,34 +3,34 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Wraps command handlers to automatically render results and handle errors.
|
|
5
5
|
*/
|
|
6
|
-
import { render, renderError, toCommandError, defaultOutputOptions } from
|
|
6
|
+
import { render, renderError, toCommandError, defaultOutputOptions } from "./render.js";
|
|
7
7
|
function normalizeFormat(raw) {
|
|
8
|
-
const value = typeof raw ===
|
|
8
|
+
const value = typeof raw === "string" ? raw.trim().toLowerCase() : "";
|
|
9
9
|
// Common user expectation: "cli" means "table/human"
|
|
10
|
-
if (value ===
|
|
11
|
-
return
|
|
12
|
-
if (value ===
|
|
10
|
+
if (value === "cli")
|
|
11
|
+
return "table";
|
|
12
|
+
if (value === "table" || value === "json" || value === "yaml")
|
|
13
13
|
return value;
|
|
14
14
|
const error = {
|
|
15
|
-
code:
|
|
15
|
+
code: "INVALID_FORMAT",
|
|
16
16
|
message: `Unsupported output format: ${String(raw)}`,
|
|
17
|
-
details:
|
|
17
|
+
details: "Supported formats: table, json, yaml",
|
|
18
18
|
};
|
|
19
19
|
throw error;
|
|
20
20
|
}
|
|
21
21
|
/** Extract output options from command options */
|
|
22
22
|
function extractOutputOptions(options) {
|
|
23
|
-
const hasStructuredOutputSchema = typeof options.outputSchema ===
|
|
23
|
+
const hasStructuredOutputSchema = typeof options.outputSchema === "string" && options.outputSchema.trim().length > 0;
|
|
24
24
|
if (hasStructuredOutputSchema) {
|
|
25
25
|
return {
|
|
26
|
-
format:
|
|
26
|
+
format: "json",
|
|
27
27
|
quiet: false,
|
|
28
28
|
noHeaders: options.headers === false,
|
|
29
29
|
noColor: options.color === false,
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
return {
|
|
33
|
-
format: options.json ?
|
|
33
|
+
format: options.json ? "json" : normalizeFormat(options.format ?? defaultOutputOptions.format),
|
|
34
34
|
quiet: options.quiet ?? defaultOutputOptions.quiet,
|
|
35
35
|
noHeaders: options.headers === false, // Commander uses --no-headers -> headers: false
|
|
36
36
|
noColor: options.color === false, // Commander uses --no-color -> color: false
|
|
@@ -66,13 +66,13 @@ export function withOutput(handler) {
|
|
|
66
66
|
const result = await handler(...args);
|
|
67
67
|
const output = render(result, outputOptions);
|
|
68
68
|
if (output) {
|
|
69
|
-
process.stdout.write(output +
|
|
69
|
+
process.stdout.write(output + "\n");
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
catch (error) {
|
|
73
73
|
const commandError = toCommandError(error);
|
|
74
74
|
const errorOutput = renderError(commandError, outputOptions);
|
|
75
|
-
process.stderr.write(errorOutput +
|
|
75
|
+
process.stderr.write(errorOutput + "\n");
|
|
76
76
|
process.exit(1);
|
|
77
77
|
}
|
|
78
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-output.js","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"with-output.js","sourceRoot":"","sources":["../../src/output/with-output.ts"],"names":[],"mappings":"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"}
|
package/dist/output/yaml.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders structured data as YAML for machine consumption and human readability.
|
|
5
5
|
*/
|
|
6
|
-
import type { AnyCommandResult, OutputOptions } from
|
|
6
|
+
import type { AnyCommandResult, OutputOptions } from "./types.js";
|
|
7
7
|
/** Render command result as YAML */
|
|
8
8
|
export declare function renderYaml<T>(result: AnyCommandResult<T>, _options: OutputOptions): string;
|
|
9
9
|
/** Render a single item as YAML document (for streaming) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/output/yaml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/output/yaml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElE,oCAAoC;AACpC,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAyB1F;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAGlF"}
|
package/dist/output/yaml.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Renders structured data as YAML for machine consumption and human readability.
|
|
5
5
|
*/
|
|
6
|
-
import YAML from
|
|
6
|
+
import YAML from "yaml";
|
|
7
7
|
/** Render command result as YAML */
|
|
8
8
|
export function renderYaml(result, _options) {
|
|
9
9
|
const { schema } = result;
|
|
10
10
|
// Apply custom serializer if provided
|
|
11
11
|
if (schema.serialize) {
|
|
12
|
-
if (result.type ===
|
|
12
|
+
if (result.type === "list") {
|
|
13
13
|
// If all items serialize to the same object, return just one
|
|
14
14
|
// This handles the case where a list of key-value rows should serialize
|
|
15
15
|
// to a single structured object
|
package/dist/output/yaml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/output/yaml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/output/yaml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,oCAAoC;AACpC,MAAM,UAAU,UAAU,CAAI,MAA2B,EAAE,QAAuB;IAChF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE1B,sCAAsC;IACtC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,6DAA6D;YAC7D,wEAAwE;YACxE,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAI,IAAO,EAAE,SAAgC;IACxE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-id.d.ts","sourceRoot":"","sources":["../../src/utils/client-id.ts"],"names":[],"mappings":"AAqBA,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"client-id.d.ts","sourceRoot":"","sources":["../../src/utils/client-id.ts"],"names":[],"mappings":"AAqBA,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAuB9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-id.js","sourceRoot":"","sources":["../../src/utils/client-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,uBAAuB,GAAG,IAAI,CAClC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EACnD,eAAe,CAChB,CAAC;AAEF,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"client-id.js","sourceRoot":"","sources":["../../src/utils/client-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,uBAAuB,GAAG,IAAI,CAClC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EACnD,eAAe,CAChB,CAAC;AAEF,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,GAAG,QAAQ,CAAC;YAC1B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAAkC,EAAE,IAAI,CAAC;QACvD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,SAAS,CAAC,uBAAuB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,cAAc,GAAG,SAAS,CAAC;IAC3B,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/utils/client.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { DaemonClient } from
|
|
1
|
+
import { DaemonClient } from "@getpaseo/server";
|
|
2
2
|
export interface ConnectOptions {
|
|
3
3
|
host?: string;
|
|
4
4
|
timeout?: number;
|
|
5
5
|
}
|
|
6
6
|
type DaemonTarget = {
|
|
7
|
-
type:
|
|
7
|
+
type: "tcp";
|
|
8
8
|
url: string;
|
|
9
9
|
} | {
|
|
10
|
-
type:
|
|
10
|
+
type: "ipc";
|
|
11
11
|
url: string;
|
|
12
12
|
socketPath: string;
|
|
13
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,YAAY,EAAE,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAK9E,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,KAAK,YAAY,GACb;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuB9D;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAErF;AAuDD,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,EAAE,CAaxF;AAWD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA2B9D;AAqBD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAiDrF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAM/F;AAED,2CAA2C;AAC3C,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,IAAI,CAsCnF"}
|