@ghostystudio/cli 0.98.0 → 0.100.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/README.md +9 -0
- package/dist/index.js +247 -156
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -124,6 +124,7 @@ ghosty turns stats [--since 14d] [--all] · push log --user EMAIL [--since 2d]
|
|
|
124
124
|
ghosty support ls|show|reply --all [--status open|waiting_customer|resolved] · support resolve|reopen <id> · support link <id> <issue|PR>
|
|
125
125
|
ghosty staff ls [staff] [client] [--all] · staff assign|unassign <staff> <client> [--reason] # staff on client accounts (logged)
|
|
126
126
|
ghosty settings ls|set|unset <KEY> [value] # platform switches (+id/-id edits a list)
|
|
127
|
+
ghosty app ls · app suggest <build> · app min <build> --yes [--platform ios|android|notch] # app version gates: the "update" notice and the minimum build
|
|
127
128
|
ghosty ads watch [ls] · ads watch run [--dry-run] # campaign watch: paused campaigns, billing, token, numbers without ad leads
|
|
128
129
|
ghosty agents doctor --user EMAIL [agent] [--turns 8] · usage --images [--plan free] [--by user]
|
|
129
130
|
ghosty novedades ls|create|set|test|send|rm [--title] [--body] [--image FILE] [--link] [--to] [--publish] [--at]
|
|
@@ -156,6 +157,14 @@ Every command has its own help with examples: `ghosty <command> --help` or `ghos
|
|
|
156
157
|
|
|
157
158
|
Exit codes: `0` ok · `1` API error · `2` usage error · `3` not signed in.
|
|
158
159
|
|
|
160
|
+
### Changes in 0.100.0
|
|
161
|
+
|
|
162
|
+
- `app ls | suggest <build> | min <build> --yes [--platform ios|android|notch]` (staff): the apps' version gates without opening /admin/settings. `suggest` raises the dismissible "update" notice (do it once the build is live in the store); `min` stops older builds and asks for confirmation; `min` can never be above `suggest`. Only that number changes; the emergency flags stay in the panel. Logged as `platform.app-config`.
|
|
163
|
+
|
|
164
|
+
### Changes in 0.99.0
|
|
165
|
+
|
|
166
|
+
- `channels whatsapp connect <id>` now starts or resumes the connection and gives a link that works on any screen for 1 hour, in case the phone doesn't finish the Meta sign-in. Running it again never opens a second one and tells you whether it finished. Connecting needs no balance and doesn't turn the agent on.
|
|
167
|
+
|
|
159
168
|
### Changes in 0.98.0
|
|
160
169
|
|
|
161
170
|
- `brief pause <days|YYYY-MM-DD>` skips your morning brief for 1 to 90 days and it comes back on its own; `brief resume` removes the pause. `brief show` tells you when it returns, and `brief on|off` clears the pause.
|
package/dist/index.js
CHANGED
|
@@ -593,6 +593,13 @@ var init_server_messages = __esm({
|
|
|
593
593
|
["flags.{} tiene que ser true o false", "flags.{} must be true or false"],
|
|
594
594
|
["minBuild tiene que ser un entero \u2265 0", "minBuild must be an integer \u2265 0"],
|
|
595
595
|
["suggestBuild tiene que ser un entero \u2265 0", "suggestBuild must be an integer \u2265 0"],
|
|
596
|
+
["La build tiene que ser un entero \u2265 0", "The build must be an integer \u2265 0"],
|
|
597
|
+
["La config guardada no es v\xE1lida ({}); arr\xE9glala en /admin/settings", "The saved config is invalid ({}); fix it in /admin/settings"],
|
|
598
|
+
["field tiene que ser minBuild o suggestBuild", "field must be minBuild or suggestBuild"],
|
|
599
|
+
["minBuild ({}) no puede pasar a suggestBuild ({}): sube primero suggestBuild", "minBuild ({}) can't be above suggestBuild ({}): raise suggestBuild first"],
|
|
600
|
+
["platform tiene que ser ios, android o notch", "platform must be ios, android or notch"],
|
|
601
|
+
["{} tiene que ser un objeto {minBuild, suggestBuild}", "{} must be an object {minBuild, suggestBuild}"],
|
|
602
|
+
["{}.minBuild y {}.suggestBuild tienen que ser enteros \u2265 0", "{}.minBuild and {}.suggestBuild must be integers \u2265 0"],
|
|
596
603
|
["\xAB{}\xBB no parece correo.", `"{}" doesn't look like an email.`],
|
|
597
604
|
// — Tools del agente (tools/dispatch): los lee el modelo, pero también pueden salir por el CLI
|
|
598
605
|
["Pon en tu respuesta: [Nota de voz]({})", "Put in your reply: [Nota de voz]({})"],
|
|
@@ -1183,7 +1190,7 @@ async function postLong(path2, body, timeoutMs = 9e5) {
|
|
|
1183
1190
|
const req = httpsRequest(`${base}${path2}`, {
|
|
1184
1191
|
method: "POST",
|
|
1185
1192
|
timeout: timeoutMs,
|
|
1186
|
-
headers: { authorization: `Bearer ${token}`, "user-agent": `ghosty-cli/${"0.
|
|
1193
|
+
headers: { authorization: `Bearer ${token}`, "user-agent": `ghosty-cli/${"0.100.0"}`, "content-type": "application/json", "content-length": Buffer.byteLength(data) }
|
|
1187
1194
|
}, (res) => {
|
|
1188
1195
|
let buf = "";
|
|
1189
1196
|
res.on("data", (c) => buf += c);
|
|
@@ -1225,7 +1232,7 @@ async function request(path2, opts = {}, retried = false) {
|
|
|
1225
1232
|
method: opts.method ?? (opts.body !== void 0 || opts.raw !== void 0 ? "POST" : "GET"),
|
|
1226
1233
|
headers: {
|
|
1227
1234
|
authorization: `Bearer ${token}`,
|
|
1228
|
-
"user-agent": `ghosty-cli/${"0.
|
|
1235
|
+
"user-agent": `ghosty-cli/${"0.100.0"}`,
|
|
1229
1236
|
"accept-language": lang(),
|
|
1230
1237
|
...opts.body !== void 0 ? { "content-type": "application/json" } : {},
|
|
1231
1238
|
...opts.headers
|
|
@@ -1345,9 +1352,9 @@ var init_mteams = __esm({
|
|
|
1345
1352
|
}
|
|
1346
1353
|
});
|
|
1347
1354
|
|
|
1348
|
-
//
|
|
1355
|
+
// ../../node_modules/yaml/dist/nodes/identity.js
|
|
1349
1356
|
var require_identity = __commonJS({
|
|
1350
|
-
"
|
|
1357
|
+
"../../node_modules/yaml/dist/nodes/identity.js"(exports) {
|
|
1351
1358
|
"use strict";
|
|
1352
1359
|
var ALIAS = /* @__PURE__ */ Symbol.for("yaml.alias");
|
|
1353
1360
|
var DOC = /* @__PURE__ */ Symbol.for("yaml.document");
|
|
@@ -1402,9 +1409,9 @@ var require_identity = __commonJS({
|
|
|
1402
1409
|
}
|
|
1403
1410
|
});
|
|
1404
1411
|
|
|
1405
|
-
//
|
|
1412
|
+
// ../../node_modules/yaml/dist/visit.js
|
|
1406
1413
|
var require_visit = __commonJS({
|
|
1407
|
-
"
|
|
1414
|
+
"../../node_modules/yaml/dist/visit.js"(exports) {
|
|
1408
1415
|
"use strict";
|
|
1409
1416
|
var identity = require_identity();
|
|
1410
1417
|
var BREAK = /* @__PURE__ */ Symbol("break visit");
|
|
@@ -1560,9 +1567,9 @@ var require_visit = __commonJS({
|
|
|
1560
1567
|
}
|
|
1561
1568
|
});
|
|
1562
1569
|
|
|
1563
|
-
//
|
|
1570
|
+
// ../../node_modules/yaml/dist/doc/directives.js
|
|
1564
1571
|
var require_directives = __commonJS({
|
|
1565
|
-
"
|
|
1572
|
+
"../../node_modules/yaml/dist/doc/directives.js"(exports) {
|
|
1566
1573
|
"use strict";
|
|
1567
1574
|
var identity = require_identity();
|
|
1568
1575
|
var visit = require_visit();
|
|
@@ -1731,9 +1738,9 @@ var require_directives = __commonJS({
|
|
|
1731
1738
|
}
|
|
1732
1739
|
});
|
|
1733
1740
|
|
|
1734
|
-
//
|
|
1741
|
+
// ../../node_modules/yaml/dist/doc/anchors.js
|
|
1735
1742
|
var require_anchors = __commonJS({
|
|
1736
|
-
"
|
|
1743
|
+
"../../node_modules/yaml/dist/doc/anchors.js"(exports) {
|
|
1737
1744
|
"use strict";
|
|
1738
1745
|
var identity = require_identity();
|
|
1739
1746
|
var visit = require_visit();
|
|
@@ -1801,9 +1808,9 @@ var require_anchors = __commonJS({
|
|
|
1801
1808
|
}
|
|
1802
1809
|
});
|
|
1803
1810
|
|
|
1804
|
-
//
|
|
1811
|
+
// ../../node_modules/yaml/dist/doc/applyReviver.js
|
|
1805
1812
|
var require_applyReviver = __commonJS({
|
|
1806
|
-
"
|
|
1813
|
+
"../../node_modules/yaml/dist/doc/applyReviver.js"(exports) {
|
|
1807
1814
|
"use strict";
|
|
1808
1815
|
function applyReviver(reviver, obj, key, val) {
|
|
1809
1816
|
if (val && typeof val === "object") {
|
|
@@ -1851,9 +1858,9 @@ var require_applyReviver = __commonJS({
|
|
|
1851
1858
|
}
|
|
1852
1859
|
});
|
|
1853
1860
|
|
|
1854
|
-
//
|
|
1861
|
+
// ../../node_modules/yaml/dist/nodes/toJS.js
|
|
1855
1862
|
var require_toJS = __commonJS({
|
|
1856
|
-
"
|
|
1863
|
+
"../../node_modules/yaml/dist/nodes/toJS.js"(exports) {
|
|
1857
1864
|
"use strict";
|
|
1858
1865
|
var identity = require_identity();
|
|
1859
1866
|
function toJS(value, arg, ctx) {
|
|
@@ -1881,9 +1888,9 @@ var require_toJS = __commonJS({
|
|
|
1881
1888
|
}
|
|
1882
1889
|
});
|
|
1883
1890
|
|
|
1884
|
-
//
|
|
1891
|
+
// ../../node_modules/yaml/dist/nodes/Node.js
|
|
1885
1892
|
var require_Node = __commonJS({
|
|
1886
|
-
"
|
|
1893
|
+
"../../node_modules/yaml/dist/nodes/Node.js"(exports) {
|
|
1887
1894
|
"use strict";
|
|
1888
1895
|
var applyReviver = require_applyReviver();
|
|
1889
1896
|
var identity = require_identity();
|
|
@@ -1922,9 +1929,9 @@ var require_Node = __commonJS({
|
|
|
1922
1929
|
}
|
|
1923
1930
|
});
|
|
1924
1931
|
|
|
1925
|
-
//
|
|
1932
|
+
// ../../node_modules/yaml/dist/nodes/Alias.js
|
|
1926
1933
|
var require_Alias = __commonJS({
|
|
1927
|
-
"
|
|
1934
|
+
"../../node_modules/yaml/dist/nodes/Alias.js"(exports) {
|
|
1928
1935
|
"use strict";
|
|
1929
1936
|
var anchors = require_anchors();
|
|
1930
1937
|
var visit = require_visit();
|
|
@@ -2040,9 +2047,9 @@ var require_Alias = __commonJS({
|
|
|
2040
2047
|
}
|
|
2041
2048
|
});
|
|
2042
2049
|
|
|
2043
|
-
//
|
|
2050
|
+
// ../../node_modules/yaml/dist/nodes/Scalar.js
|
|
2044
2051
|
var require_Scalar = __commonJS({
|
|
2045
|
-
"
|
|
2052
|
+
"../../node_modules/yaml/dist/nodes/Scalar.js"(exports) {
|
|
2046
2053
|
"use strict";
|
|
2047
2054
|
var identity = require_identity();
|
|
2048
2055
|
var Node = require_Node();
|
|
@@ -2070,9 +2077,9 @@ var require_Scalar = __commonJS({
|
|
|
2070
2077
|
}
|
|
2071
2078
|
});
|
|
2072
2079
|
|
|
2073
|
-
//
|
|
2080
|
+
// ../../node_modules/yaml/dist/doc/createNode.js
|
|
2074
2081
|
var require_createNode = __commonJS({
|
|
2075
|
-
"
|
|
2082
|
+
"../../node_modules/yaml/dist/doc/createNode.js"(exports) {
|
|
2076
2083
|
"use strict";
|
|
2077
2084
|
var Alias = require_Alias();
|
|
2078
2085
|
var identity = require_identity();
|
|
@@ -2145,9 +2152,9 @@ var require_createNode = __commonJS({
|
|
|
2145
2152
|
}
|
|
2146
2153
|
});
|
|
2147
2154
|
|
|
2148
|
-
//
|
|
2155
|
+
// ../../node_modules/yaml/dist/nodes/Collection.js
|
|
2149
2156
|
var require_Collection = __commonJS({
|
|
2150
|
-
"
|
|
2157
|
+
"../../node_modules/yaml/dist/nodes/Collection.js"(exports) {
|
|
2151
2158
|
"use strict";
|
|
2152
2159
|
var createNode = require_createNode();
|
|
2153
2160
|
var identity = require_identity();
|
|
@@ -2288,9 +2295,9 @@ var require_Collection = __commonJS({
|
|
|
2288
2295
|
}
|
|
2289
2296
|
});
|
|
2290
2297
|
|
|
2291
|
-
//
|
|
2298
|
+
// ../../node_modules/yaml/dist/stringify/stringifyComment.js
|
|
2292
2299
|
var require_stringifyComment = __commonJS({
|
|
2293
|
-
"
|
|
2300
|
+
"../../node_modules/yaml/dist/stringify/stringifyComment.js"(exports) {
|
|
2294
2301
|
"use strict";
|
|
2295
2302
|
var stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, "#");
|
|
2296
2303
|
function indentComment(comment, indent) {
|
|
@@ -2305,9 +2312,9 @@ var require_stringifyComment = __commonJS({
|
|
|
2305
2312
|
}
|
|
2306
2313
|
});
|
|
2307
2314
|
|
|
2308
|
-
//
|
|
2315
|
+
// ../../node_modules/yaml/dist/stringify/foldFlowLines.js
|
|
2309
2316
|
var require_foldFlowLines = __commonJS({
|
|
2310
|
-
"
|
|
2317
|
+
"../../node_modules/yaml/dist/stringify/foldFlowLines.js"(exports) {
|
|
2311
2318
|
"use strict";
|
|
2312
2319
|
var FOLD_FLOW = "flow";
|
|
2313
2320
|
var FOLD_BLOCK = "block";
|
|
@@ -2441,9 +2448,9 @@ ${indent}${text.slice(fold + 1, end2)}`;
|
|
|
2441
2448
|
}
|
|
2442
2449
|
});
|
|
2443
2450
|
|
|
2444
|
-
//
|
|
2451
|
+
// ../../node_modules/yaml/dist/stringify/stringifyString.js
|
|
2445
2452
|
var require_stringifyString = __commonJS({
|
|
2446
|
-
"
|
|
2453
|
+
"../../node_modules/yaml/dist/stringify/stringifyString.js"(exports) {
|
|
2447
2454
|
"use strict";
|
|
2448
2455
|
var Scalar = require_Scalar();
|
|
2449
2456
|
var foldFlowLines = require_foldFlowLines();
|
|
@@ -2724,9 +2731,9 @@ ${indent}`);
|
|
|
2724
2731
|
}
|
|
2725
2732
|
});
|
|
2726
2733
|
|
|
2727
|
-
//
|
|
2734
|
+
// ../../node_modules/yaml/dist/stringify/stringify.js
|
|
2728
2735
|
var require_stringify = __commonJS({
|
|
2729
|
-
"
|
|
2736
|
+
"../../node_modules/yaml/dist/stringify/stringify.js"(exports) {
|
|
2730
2737
|
"use strict";
|
|
2731
2738
|
var anchors = require_anchors();
|
|
2732
2739
|
var identity = require_identity();
|
|
@@ -2848,9 +2855,9 @@ ${ctx.indent}${str}`;
|
|
|
2848
2855
|
}
|
|
2849
2856
|
});
|
|
2850
2857
|
|
|
2851
|
-
//
|
|
2858
|
+
// ../../node_modules/yaml/dist/stringify/stringifyPair.js
|
|
2852
2859
|
var require_stringifyPair = __commonJS({
|
|
2853
|
-
"
|
|
2860
|
+
"../../node_modules/yaml/dist/stringify/stringifyPair.js"(exports) {
|
|
2854
2861
|
"use strict";
|
|
2855
2862
|
var identity = require_identity();
|
|
2856
2863
|
var Scalar = require_Scalar();
|
|
@@ -2981,9 +2988,9 @@ ${ctx.indent}`;
|
|
|
2981
2988
|
}
|
|
2982
2989
|
});
|
|
2983
2990
|
|
|
2984
|
-
//
|
|
2991
|
+
// ../../node_modules/yaml/dist/log.js
|
|
2985
2992
|
var require_log = __commonJS({
|
|
2986
|
-
"
|
|
2993
|
+
"../../node_modules/yaml/dist/log.js"(exports) {
|
|
2987
2994
|
"use strict";
|
|
2988
2995
|
var node_process = __require("process");
|
|
2989
2996
|
function debug(logLevel, ...messages) {
|
|
@@ -3003,9 +3010,9 @@ var require_log = __commonJS({
|
|
|
3003
3010
|
}
|
|
3004
3011
|
});
|
|
3005
3012
|
|
|
3006
|
-
//
|
|
3013
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/merge.js
|
|
3007
3014
|
var require_merge = __commonJS({
|
|
3008
|
-
"
|
|
3015
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports) {
|
|
3009
3016
|
"use strict";
|
|
3010
3017
|
var identity = require_identity();
|
|
3011
3018
|
var Scalar = require_Scalar();
|
|
@@ -3063,9 +3070,9 @@ var require_merge = __commonJS({
|
|
|
3063
3070
|
}
|
|
3064
3071
|
});
|
|
3065
3072
|
|
|
3066
|
-
//
|
|
3073
|
+
// ../../node_modules/yaml/dist/nodes/addPairToJSMap.js
|
|
3067
3074
|
var require_addPairToJSMap = __commonJS({
|
|
3068
|
-
"
|
|
3075
|
+
"../../node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports) {
|
|
3069
3076
|
"use strict";
|
|
3070
3077
|
var log = require_log();
|
|
3071
3078
|
var merge = require_merge();
|
|
@@ -3127,9 +3134,9 @@ var require_addPairToJSMap = __commonJS({
|
|
|
3127
3134
|
}
|
|
3128
3135
|
});
|
|
3129
3136
|
|
|
3130
|
-
//
|
|
3137
|
+
// ../../node_modules/yaml/dist/nodes/Pair.js
|
|
3131
3138
|
var require_Pair = __commonJS({
|
|
3132
|
-
"
|
|
3139
|
+
"../../node_modules/yaml/dist/nodes/Pair.js"(exports) {
|
|
3133
3140
|
"use strict";
|
|
3134
3141
|
var createNode = require_createNode();
|
|
3135
3142
|
var stringifyPair = require_stringifyPair();
|
|
@@ -3167,9 +3174,9 @@ var require_Pair = __commonJS({
|
|
|
3167
3174
|
}
|
|
3168
3175
|
});
|
|
3169
3176
|
|
|
3170
|
-
//
|
|
3177
|
+
// ../../node_modules/yaml/dist/stringify/stringifyCollection.js
|
|
3171
3178
|
var require_stringifyCollection = __commonJS({
|
|
3172
|
-
"
|
|
3179
|
+
"../../node_modules/yaml/dist/stringify/stringifyCollection.js"(exports) {
|
|
3173
3180
|
"use strict";
|
|
3174
3181
|
var identity = require_identity();
|
|
3175
3182
|
var stringify = require_stringify();
|
|
@@ -3318,9 +3325,9 @@ ${indent}${end}`;
|
|
|
3318
3325
|
}
|
|
3319
3326
|
});
|
|
3320
3327
|
|
|
3321
|
-
//
|
|
3328
|
+
// ../../node_modules/yaml/dist/nodes/YAMLMap.js
|
|
3322
3329
|
var require_YAMLMap = __commonJS({
|
|
3323
|
-
"
|
|
3330
|
+
"../../node_modules/yaml/dist/nodes/YAMLMap.js"(exports) {
|
|
3324
3331
|
"use strict";
|
|
3325
3332
|
var stringifyCollection = require_stringifyCollection();
|
|
3326
3333
|
var addPairToJSMap = require_addPairToJSMap();
|
|
@@ -3462,9 +3469,9 @@ var require_YAMLMap = __commonJS({
|
|
|
3462
3469
|
}
|
|
3463
3470
|
});
|
|
3464
3471
|
|
|
3465
|
-
//
|
|
3472
|
+
// ../../node_modules/yaml/dist/schema/common/map.js
|
|
3466
3473
|
var require_map = __commonJS({
|
|
3467
|
-
"
|
|
3474
|
+
"../../node_modules/yaml/dist/schema/common/map.js"(exports) {
|
|
3468
3475
|
"use strict";
|
|
3469
3476
|
var identity = require_identity();
|
|
3470
3477
|
var YAMLMap = require_YAMLMap();
|
|
@@ -3484,9 +3491,9 @@ var require_map = __commonJS({
|
|
|
3484
3491
|
}
|
|
3485
3492
|
});
|
|
3486
3493
|
|
|
3487
|
-
//
|
|
3494
|
+
// ../../node_modules/yaml/dist/nodes/YAMLSeq.js
|
|
3488
3495
|
var require_YAMLSeq = __commonJS({
|
|
3489
|
-
"
|
|
3496
|
+
"../../node_modules/yaml/dist/nodes/YAMLSeq.js"(exports) {
|
|
3490
3497
|
"use strict";
|
|
3491
3498
|
var createNode = require_createNode();
|
|
3492
3499
|
var stringifyCollection = require_stringifyCollection();
|
|
@@ -3600,9 +3607,9 @@ var require_YAMLSeq = __commonJS({
|
|
|
3600
3607
|
}
|
|
3601
3608
|
});
|
|
3602
3609
|
|
|
3603
|
-
//
|
|
3610
|
+
// ../../node_modules/yaml/dist/schema/common/seq.js
|
|
3604
3611
|
var require_seq = __commonJS({
|
|
3605
|
-
"
|
|
3612
|
+
"../../node_modules/yaml/dist/schema/common/seq.js"(exports) {
|
|
3606
3613
|
"use strict";
|
|
3607
3614
|
var identity = require_identity();
|
|
3608
3615
|
var YAMLSeq = require_YAMLSeq();
|
|
@@ -3622,9 +3629,9 @@ var require_seq = __commonJS({
|
|
|
3622
3629
|
}
|
|
3623
3630
|
});
|
|
3624
3631
|
|
|
3625
|
-
//
|
|
3632
|
+
// ../../node_modules/yaml/dist/schema/common/string.js
|
|
3626
3633
|
var require_string = __commonJS({
|
|
3627
|
-
"
|
|
3634
|
+
"../../node_modules/yaml/dist/schema/common/string.js"(exports) {
|
|
3628
3635
|
"use strict";
|
|
3629
3636
|
var stringifyString = require_stringifyString();
|
|
3630
3637
|
var string = {
|
|
@@ -3641,9 +3648,9 @@ var require_string = __commonJS({
|
|
|
3641
3648
|
}
|
|
3642
3649
|
});
|
|
3643
3650
|
|
|
3644
|
-
//
|
|
3651
|
+
// ../../node_modules/yaml/dist/schema/common/null.js
|
|
3645
3652
|
var require_null = __commonJS({
|
|
3646
|
-
"
|
|
3653
|
+
"../../node_modules/yaml/dist/schema/common/null.js"(exports) {
|
|
3647
3654
|
"use strict";
|
|
3648
3655
|
var Scalar = require_Scalar();
|
|
3649
3656
|
var nullTag = {
|
|
@@ -3659,9 +3666,9 @@ var require_null = __commonJS({
|
|
|
3659
3666
|
}
|
|
3660
3667
|
});
|
|
3661
3668
|
|
|
3662
|
-
//
|
|
3669
|
+
// ../../node_modules/yaml/dist/schema/core/bool.js
|
|
3663
3670
|
var require_bool = __commonJS({
|
|
3664
|
-
"
|
|
3671
|
+
"../../node_modules/yaml/dist/schema/core/bool.js"(exports) {
|
|
3665
3672
|
"use strict";
|
|
3666
3673
|
var Scalar = require_Scalar();
|
|
3667
3674
|
var boolTag = {
|
|
@@ -3683,9 +3690,9 @@ var require_bool = __commonJS({
|
|
|
3683
3690
|
}
|
|
3684
3691
|
});
|
|
3685
3692
|
|
|
3686
|
-
//
|
|
3693
|
+
// ../../node_modules/yaml/dist/stringify/stringifyNumber.js
|
|
3687
3694
|
var require_stringifyNumber = __commonJS({
|
|
3688
|
-
"
|
|
3695
|
+
"../../node_modules/yaml/dist/stringify/stringifyNumber.js"(exports) {
|
|
3689
3696
|
"use strict";
|
|
3690
3697
|
function stringifyNumber({ format, minFractionDigits, tag, value }) {
|
|
3691
3698
|
if (typeof value === "bigint")
|
|
@@ -3710,9 +3717,9 @@ var require_stringifyNumber = __commonJS({
|
|
|
3710
3717
|
}
|
|
3711
3718
|
});
|
|
3712
3719
|
|
|
3713
|
-
//
|
|
3720
|
+
// ../../node_modules/yaml/dist/schema/core/float.js
|
|
3714
3721
|
var require_float = __commonJS({
|
|
3715
|
-
"
|
|
3722
|
+
"../../node_modules/yaml/dist/schema/core/float.js"(exports) {
|
|
3716
3723
|
"use strict";
|
|
3717
3724
|
var Scalar = require_Scalar();
|
|
3718
3725
|
var stringifyNumber = require_stringifyNumber();
|
|
@@ -3756,9 +3763,9 @@ var require_float = __commonJS({
|
|
|
3756
3763
|
}
|
|
3757
3764
|
});
|
|
3758
3765
|
|
|
3759
|
-
//
|
|
3766
|
+
// ../../node_modules/yaml/dist/schema/core/int.js
|
|
3760
3767
|
var require_int = __commonJS({
|
|
3761
|
-
"
|
|
3768
|
+
"../../node_modules/yaml/dist/schema/core/int.js"(exports) {
|
|
3762
3769
|
"use strict";
|
|
3763
3770
|
var stringifyNumber = require_stringifyNumber();
|
|
3764
3771
|
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
|
|
@@ -3801,9 +3808,9 @@ var require_int = __commonJS({
|
|
|
3801
3808
|
}
|
|
3802
3809
|
});
|
|
3803
3810
|
|
|
3804
|
-
//
|
|
3811
|
+
// ../../node_modules/yaml/dist/schema/core/schema.js
|
|
3805
3812
|
var require_schema = __commonJS({
|
|
3806
|
-
"
|
|
3813
|
+
"../../node_modules/yaml/dist/schema/core/schema.js"(exports) {
|
|
3807
3814
|
"use strict";
|
|
3808
3815
|
var map = require_map();
|
|
3809
3816
|
var _null = require_null();
|
|
@@ -3829,9 +3836,9 @@ var require_schema = __commonJS({
|
|
|
3829
3836
|
}
|
|
3830
3837
|
});
|
|
3831
3838
|
|
|
3832
|
-
//
|
|
3839
|
+
// ../../node_modules/yaml/dist/schema/json/schema.js
|
|
3833
3840
|
var require_schema2 = __commonJS({
|
|
3834
|
-
"
|
|
3841
|
+
"../../node_modules/yaml/dist/schema/json/schema.js"(exports) {
|
|
3835
3842
|
"use strict";
|
|
3836
3843
|
var Scalar = require_Scalar();
|
|
3837
3844
|
var map = require_map();
|
|
@@ -3896,9 +3903,9 @@ var require_schema2 = __commonJS({
|
|
|
3896
3903
|
}
|
|
3897
3904
|
});
|
|
3898
3905
|
|
|
3899
|
-
//
|
|
3906
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/binary.js
|
|
3900
3907
|
var require_binary = __commonJS({
|
|
3901
|
-
"
|
|
3908
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports) {
|
|
3902
3909
|
"use strict";
|
|
3903
3910
|
var node_buffer = __require("buffer");
|
|
3904
3911
|
var Scalar = require_Scalar();
|
|
@@ -3962,9 +3969,9 @@ var require_binary = __commonJS({
|
|
|
3962
3969
|
}
|
|
3963
3970
|
});
|
|
3964
3971
|
|
|
3965
|
-
//
|
|
3972
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/pairs.js
|
|
3966
3973
|
var require_pairs = __commonJS({
|
|
3967
|
-
"
|
|
3974
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports) {
|
|
3968
3975
|
"use strict";
|
|
3969
3976
|
var identity = require_identity();
|
|
3970
3977
|
var Pair = require_Pair();
|
|
@@ -4040,9 +4047,9 @@ ${cn.comment}` : item.comment;
|
|
|
4040
4047
|
}
|
|
4041
4048
|
});
|
|
4042
4049
|
|
|
4043
|
-
//
|
|
4050
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/omap.js
|
|
4044
4051
|
var require_omap = __commonJS({
|
|
4045
|
-
"
|
|
4052
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports) {
|
|
4046
4053
|
"use strict";
|
|
4047
4054
|
var identity = require_identity();
|
|
4048
4055
|
var toJS = require_toJS();
|
|
@@ -4118,9 +4125,9 @@ var require_omap = __commonJS({
|
|
|
4118
4125
|
}
|
|
4119
4126
|
});
|
|
4120
4127
|
|
|
4121
|
-
//
|
|
4128
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/bool.js
|
|
4122
4129
|
var require_bool2 = __commonJS({
|
|
4123
|
-
"
|
|
4130
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports) {
|
|
4124
4131
|
"use strict";
|
|
4125
4132
|
var Scalar = require_Scalar();
|
|
4126
4133
|
function boolStringify({ value, source }, ctx) {
|
|
@@ -4150,9 +4157,9 @@ var require_bool2 = __commonJS({
|
|
|
4150
4157
|
}
|
|
4151
4158
|
});
|
|
4152
4159
|
|
|
4153
|
-
//
|
|
4160
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/float.js
|
|
4154
4161
|
var require_float2 = __commonJS({
|
|
4155
|
-
"
|
|
4162
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports) {
|
|
4156
4163
|
"use strict";
|
|
4157
4164
|
var Scalar = require_Scalar();
|
|
4158
4165
|
var stringifyNumber = require_stringifyNumber();
|
|
@@ -4199,9 +4206,9 @@ var require_float2 = __commonJS({
|
|
|
4199
4206
|
}
|
|
4200
4207
|
});
|
|
4201
4208
|
|
|
4202
|
-
//
|
|
4209
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/int.js
|
|
4203
4210
|
var require_int2 = __commonJS({
|
|
4204
|
-
"
|
|
4211
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports) {
|
|
4205
4212
|
"use strict";
|
|
4206
4213
|
var stringifyNumber = require_stringifyNumber();
|
|
4207
4214
|
var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
|
|
@@ -4278,9 +4285,9 @@ var require_int2 = __commonJS({
|
|
|
4278
4285
|
}
|
|
4279
4286
|
});
|
|
4280
4287
|
|
|
4281
|
-
//
|
|
4288
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/set.js
|
|
4282
4289
|
var require_set = __commonJS({
|
|
4283
|
-
"
|
|
4290
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports) {
|
|
4284
4291
|
"use strict";
|
|
4285
4292
|
var identity = require_identity();
|
|
4286
4293
|
var Pair = require_Pair();
|
|
@@ -4367,9 +4374,9 @@ var require_set = __commonJS({
|
|
|
4367
4374
|
}
|
|
4368
4375
|
});
|
|
4369
4376
|
|
|
4370
|
-
//
|
|
4377
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
|
|
4371
4378
|
var require_timestamp = __commonJS({
|
|
4372
|
-
"
|
|
4379
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports) {
|
|
4373
4380
|
"use strict";
|
|
4374
4381
|
var stringifyNumber = require_stringifyNumber();
|
|
4375
4382
|
function parseSexagesimal(str, asBigInt) {
|
|
@@ -4455,9 +4462,9 @@ var require_timestamp = __commonJS({
|
|
|
4455
4462
|
}
|
|
4456
4463
|
});
|
|
4457
4464
|
|
|
4458
|
-
//
|
|
4465
|
+
// ../../node_modules/yaml/dist/schema/yaml-1.1/schema.js
|
|
4459
4466
|
var require_schema3 = __commonJS({
|
|
4460
|
-
"
|
|
4467
|
+
"../../node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports) {
|
|
4461
4468
|
"use strict";
|
|
4462
4469
|
var map = require_map();
|
|
4463
4470
|
var _null = require_null();
|
|
@@ -4499,9 +4506,9 @@ var require_schema3 = __commonJS({
|
|
|
4499
4506
|
}
|
|
4500
4507
|
});
|
|
4501
4508
|
|
|
4502
|
-
//
|
|
4509
|
+
// ../../node_modules/yaml/dist/schema/tags.js
|
|
4503
4510
|
var require_tags = __commonJS({
|
|
4504
|
-
"
|
|
4511
|
+
"../../node_modules/yaml/dist/schema/tags.js"(exports) {
|
|
4505
4512
|
"use strict";
|
|
4506
4513
|
var map = require_map();
|
|
4507
4514
|
var _null = require_null();
|
|
@@ -4593,9 +4600,9 @@ var require_tags = __commonJS({
|
|
|
4593
4600
|
}
|
|
4594
4601
|
});
|
|
4595
4602
|
|
|
4596
|
-
//
|
|
4603
|
+
// ../../node_modules/yaml/dist/schema/Schema.js
|
|
4597
4604
|
var require_Schema = __commonJS({
|
|
4598
|
-
"
|
|
4605
|
+
"../../node_modules/yaml/dist/schema/Schema.js"(exports) {
|
|
4599
4606
|
"use strict";
|
|
4600
4607
|
var identity = require_identity();
|
|
4601
4608
|
var map = require_map();
|
|
@@ -4625,9 +4632,9 @@ var require_Schema = __commonJS({
|
|
|
4625
4632
|
}
|
|
4626
4633
|
});
|
|
4627
4634
|
|
|
4628
|
-
//
|
|
4635
|
+
// ../../node_modules/yaml/dist/stringify/stringifyDocument.js
|
|
4629
4636
|
var require_stringifyDocument = __commonJS({
|
|
4630
|
-
"
|
|
4637
|
+
"../../node_modules/yaml/dist/stringify/stringifyDocument.js"(exports) {
|
|
4631
4638
|
"use strict";
|
|
4632
4639
|
var identity = require_identity();
|
|
4633
4640
|
var stringify = require_stringify();
|
|
@@ -4705,9 +4712,9 @@ var require_stringifyDocument = __commonJS({
|
|
|
4705
4712
|
}
|
|
4706
4713
|
});
|
|
4707
4714
|
|
|
4708
|
-
//
|
|
4715
|
+
// ../../node_modules/yaml/dist/doc/Document.js
|
|
4709
4716
|
var require_Document = __commonJS({
|
|
4710
|
-
"
|
|
4717
|
+
"../../node_modules/yaml/dist/doc/Document.js"(exports) {
|
|
4711
4718
|
"use strict";
|
|
4712
4719
|
var Alias = require_Alias();
|
|
4713
4720
|
var Collection = require_Collection();
|
|
@@ -5014,9 +5021,9 @@ var require_Document = __commonJS({
|
|
|
5014
5021
|
}
|
|
5015
5022
|
});
|
|
5016
5023
|
|
|
5017
|
-
//
|
|
5024
|
+
// ../../node_modules/yaml/dist/errors.js
|
|
5018
5025
|
var require_errors = __commonJS({
|
|
5019
|
-
"
|
|
5026
|
+
"../../node_modules/yaml/dist/errors.js"(exports) {
|
|
5020
5027
|
"use strict";
|
|
5021
5028
|
var YAMLError = class extends Error {
|
|
5022
5029
|
constructor(name, pos, code, message) {
|
|
@@ -5079,9 +5086,9 @@ ${pointer}
|
|
|
5079
5086
|
}
|
|
5080
5087
|
});
|
|
5081
5088
|
|
|
5082
|
-
//
|
|
5089
|
+
// ../../node_modules/yaml/dist/compose/resolve-props.js
|
|
5083
5090
|
var require_resolve_props = __commonJS({
|
|
5084
|
-
"
|
|
5091
|
+
"../../node_modules/yaml/dist/compose/resolve-props.js"(exports) {
|
|
5085
5092
|
"use strict";
|
|
5086
5093
|
function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
|
|
5087
5094
|
let spaceBefore = false;
|
|
@@ -5213,9 +5220,9 @@ var require_resolve_props = __commonJS({
|
|
|
5213
5220
|
}
|
|
5214
5221
|
});
|
|
5215
5222
|
|
|
5216
|
-
//
|
|
5223
|
+
// ../../node_modules/yaml/dist/compose/util-contains-newline.js
|
|
5217
5224
|
var require_util_contains_newline = __commonJS({
|
|
5218
|
-
"
|
|
5225
|
+
"../../node_modules/yaml/dist/compose/util-contains-newline.js"(exports) {
|
|
5219
5226
|
"use strict";
|
|
5220
5227
|
function containsNewline(key) {
|
|
5221
5228
|
if (!key)
|
|
@@ -5255,9 +5262,9 @@ var require_util_contains_newline = __commonJS({
|
|
|
5255
5262
|
}
|
|
5256
5263
|
});
|
|
5257
5264
|
|
|
5258
|
-
//
|
|
5265
|
+
// ../../node_modules/yaml/dist/compose/util-flow-indent-check.js
|
|
5259
5266
|
var require_util_flow_indent_check = __commonJS({
|
|
5260
|
-
"
|
|
5267
|
+
"../../node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports) {
|
|
5261
5268
|
"use strict";
|
|
5262
5269
|
var utilContainsNewline = require_util_contains_newline();
|
|
5263
5270
|
function flowIndentCheck(indent, fc, onError) {
|
|
@@ -5273,9 +5280,9 @@ var require_util_flow_indent_check = __commonJS({
|
|
|
5273
5280
|
}
|
|
5274
5281
|
});
|
|
5275
5282
|
|
|
5276
|
-
//
|
|
5283
|
+
// ../../node_modules/yaml/dist/compose/util-map-includes.js
|
|
5277
5284
|
var require_util_map_includes = __commonJS({
|
|
5278
|
-
"
|
|
5285
|
+
"../../node_modules/yaml/dist/compose/util-map-includes.js"(exports) {
|
|
5279
5286
|
"use strict";
|
|
5280
5287
|
var identity = require_identity();
|
|
5281
5288
|
function mapIncludes(ctx, items, search) {
|
|
@@ -5289,9 +5296,9 @@ var require_util_map_includes = __commonJS({
|
|
|
5289
5296
|
}
|
|
5290
5297
|
});
|
|
5291
5298
|
|
|
5292
|
-
//
|
|
5299
|
+
// ../../node_modules/yaml/dist/compose/resolve-block-map.js
|
|
5293
5300
|
var require_resolve_block_map = __commonJS({
|
|
5294
|
-
"
|
|
5301
|
+
"../../node_modules/yaml/dist/compose/resolve-block-map.js"(exports) {
|
|
5295
5302
|
"use strict";
|
|
5296
5303
|
var Pair = require_Pair();
|
|
5297
5304
|
var YAMLMap = require_YAMLMap();
|
|
@@ -5397,9 +5404,9 @@ var require_resolve_block_map = __commonJS({
|
|
|
5397
5404
|
}
|
|
5398
5405
|
});
|
|
5399
5406
|
|
|
5400
|
-
//
|
|
5407
|
+
// ../../node_modules/yaml/dist/compose/resolve-block-seq.js
|
|
5401
5408
|
var require_resolve_block_seq = __commonJS({
|
|
5402
|
-
"
|
|
5409
|
+
"../../node_modules/yaml/dist/compose/resolve-block-seq.js"(exports) {
|
|
5403
5410
|
"use strict";
|
|
5404
5411
|
var YAMLSeq = require_YAMLSeq();
|
|
5405
5412
|
var resolveProps = require_resolve_props();
|
|
@@ -5448,9 +5455,9 @@ var require_resolve_block_seq = __commonJS({
|
|
|
5448
5455
|
}
|
|
5449
5456
|
});
|
|
5450
5457
|
|
|
5451
|
-
//
|
|
5458
|
+
// ../../node_modules/yaml/dist/compose/resolve-end.js
|
|
5452
5459
|
var require_resolve_end = __commonJS({
|
|
5453
|
-
"
|
|
5460
|
+
"../../node_modules/yaml/dist/compose/resolve-end.js"(exports) {
|
|
5454
5461
|
"use strict";
|
|
5455
5462
|
function resolveEnd(end, offset, reqSpace, onError) {
|
|
5456
5463
|
let comment = "";
|
|
@@ -5491,9 +5498,9 @@ var require_resolve_end = __commonJS({
|
|
|
5491
5498
|
}
|
|
5492
5499
|
});
|
|
5493
5500
|
|
|
5494
|
-
//
|
|
5501
|
+
// ../../node_modules/yaml/dist/compose/resolve-flow-collection.js
|
|
5495
5502
|
var require_resolve_flow_collection = __commonJS({
|
|
5496
|
-
"
|
|
5503
|
+
"../../node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports) {
|
|
5497
5504
|
"use strict";
|
|
5498
5505
|
var identity = require_identity();
|
|
5499
5506
|
var Pair = require_Pair();
|
|
@@ -5685,9 +5692,9 @@ var require_resolve_flow_collection = __commonJS({
|
|
|
5685
5692
|
}
|
|
5686
5693
|
});
|
|
5687
5694
|
|
|
5688
|
-
//
|
|
5695
|
+
// ../../node_modules/yaml/dist/compose/compose-collection.js
|
|
5689
5696
|
var require_compose_collection = __commonJS({
|
|
5690
|
-
"
|
|
5697
|
+
"../../node_modules/yaml/dist/compose/compose-collection.js"(exports) {
|
|
5691
5698
|
"use strict";
|
|
5692
5699
|
var identity = require_identity();
|
|
5693
5700
|
var Scalar = require_Scalar();
|
|
@@ -5750,9 +5757,9 @@ var require_compose_collection = __commonJS({
|
|
|
5750
5757
|
}
|
|
5751
5758
|
});
|
|
5752
5759
|
|
|
5753
|
-
//
|
|
5760
|
+
// ../../node_modules/yaml/dist/compose/resolve-block-scalar.js
|
|
5754
5761
|
var require_resolve_block_scalar = __commonJS({
|
|
5755
|
-
"
|
|
5762
|
+
"../../node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports) {
|
|
5756
5763
|
"use strict";
|
|
5757
5764
|
var Scalar = require_Scalar();
|
|
5758
5765
|
function resolveBlockScalar(ctx, scalar, onError) {
|
|
@@ -5933,9 +5940,9 @@ var require_resolve_block_scalar = __commonJS({
|
|
|
5933
5940
|
}
|
|
5934
5941
|
});
|
|
5935
5942
|
|
|
5936
|
-
//
|
|
5943
|
+
// ../../node_modules/yaml/dist/compose/resolve-flow-scalar.js
|
|
5937
5944
|
var require_resolve_flow_scalar = __commonJS({
|
|
5938
|
-
"
|
|
5945
|
+
"../../node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports) {
|
|
5939
5946
|
"use strict";
|
|
5940
5947
|
var Scalar = require_Scalar();
|
|
5941
5948
|
var resolveEnd = require_resolve_end();
|
|
@@ -6154,9 +6161,9 @@ var require_resolve_flow_scalar = __commonJS({
|
|
|
6154
6161
|
}
|
|
6155
6162
|
});
|
|
6156
6163
|
|
|
6157
|
-
//
|
|
6164
|
+
// ../../node_modules/yaml/dist/compose/compose-scalar.js
|
|
6158
6165
|
var require_compose_scalar = __commonJS({
|
|
6159
|
-
"
|
|
6166
|
+
"../../node_modules/yaml/dist/compose/compose-scalar.js"(exports) {
|
|
6160
6167
|
"use strict";
|
|
6161
6168
|
var identity = require_identity();
|
|
6162
6169
|
var Scalar = require_Scalar();
|
|
@@ -6235,9 +6242,9 @@ var require_compose_scalar = __commonJS({
|
|
|
6235
6242
|
}
|
|
6236
6243
|
});
|
|
6237
6244
|
|
|
6238
|
-
//
|
|
6245
|
+
// ../../node_modules/yaml/dist/compose/util-empty-scalar-position.js
|
|
6239
6246
|
var require_util_empty_scalar_position = __commonJS({
|
|
6240
|
-
"
|
|
6247
|
+
"../../node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports) {
|
|
6241
6248
|
"use strict";
|
|
6242
6249
|
function emptyScalarPosition(offset, before, pos) {
|
|
6243
6250
|
if (before) {
|
|
@@ -6265,9 +6272,9 @@ var require_util_empty_scalar_position = __commonJS({
|
|
|
6265
6272
|
}
|
|
6266
6273
|
});
|
|
6267
6274
|
|
|
6268
|
-
//
|
|
6275
|
+
// ../../node_modules/yaml/dist/compose/compose-node.js
|
|
6269
6276
|
var require_compose_node = __commonJS({
|
|
6270
|
-
"
|
|
6277
|
+
"../../node_modules/yaml/dist/compose/compose-node.js"(exports) {
|
|
6271
6278
|
"use strict";
|
|
6272
6279
|
var Alias = require_Alias();
|
|
6273
6280
|
var identity = require_identity();
|
|
@@ -6371,9 +6378,9 @@ var require_compose_node = __commonJS({
|
|
|
6371
6378
|
}
|
|
6372
6379
|
});
|
|
6373
6380
|
|
|
6374
|
-
//
|
|
6381
|
+
// ../../node_modules/yaml/dist/compose/compose-doc.js
|
|
6375
6382
|
var require_compose_doc = __commonJS({
|
|
6376
|
-
"
|
|
6383
|
+
"../../node_modules/yaml/dist/compose/compose-doc.js"(exports) {
|
|
6377
6384
|
"use strict";
|
|
6378
6385
|
var Document = require_Document();
|
|
6379
6386
|
var composeNode = require_compose_node();
|
|
@@ -6414,9 +6421,9 @@ var require_compose_doc = __commonJS({
|
|
|
6414
6421
|
}
|
|
6415
6422
|
});
|
|
6416
6423
|
|
|
6417
|
-
//
|
|
6424
|
+
// ../../node_modules/yaml/dist/compose/composer.js
|
|
6418
6425
|
var require_composer = __commonJS({
|
|
6419
|
-
"
|
|
6426
|
+
"../../node_modules/yaml/dist/compose/composer.js"(exports) {
|
|
6420
6427
|
"use strict";
|
|
6421
6428
|
var node_process = __require("process");
|
|
6422
6429
|
var directives = require_directives();
|
|
@@ -6622,9 +6629,9 @@ ${end.comment}` : end.comment;
|
|
|
6622
6629
|
}
|
|
6623
6630
|
});
|
|
6624
6631
|
|
|
6625
|
-
//
|
|
6632
|
+
// ../../node_modules/yaml/dist/parse/cst-scalar.js
|
|
6626
6633
|
var require_cst_scalar = __commonJS({
|
|
6627
|
-
"
|
|
6634
|
+
"../../node_modules/yaml/dist/parse/cst-scalar.js"(exports) {
|
|
6628
6635
|
"use strict";
|
|
6629
6636
|
var resolveBlockScalar = require_resolve_block_scalar();
|
|
6630
6637
|
var resolveFlowScalar = require_resolve_flow_scalar();
|
|
@@ -6807,9 +6814,9 @@ var require_cst_scalar = __commonJS({
|
|
|
6807
6814
|
}
|
|
6808
6815
|
});
|
|
6809
6816
|
|
|
6810
|
-
//
|
|
6817
|
+
// ../../node_modules/yaml/dist/parse/cst-stringify.js
|
|
6811
6818
|
var require_cst_stringify = __commonJS({
|
|
6812
|
-
"
|
|
6819
|
+
"../../node_modules/yaml/dist/parse/cst-stringify.js"(exports) {
|
|
6813
6820
|
"use strict";
|
|
6814
6821
|
var stringify = (cst) => "type" in cst ? stringifyToken(cst) : stringifyItem(cst);
|
|
6815
6822
|
function stringifyToken(token) {
|
|
@@ -6868,9 +6875,9 @@ var require_cst_stringify = __commonJS({
|
|
|
6868
6875
|
}
|
|
6869
6876
|
});
|
|
6870
6877
|
|
|
6871
|
-
//
|
|
6878
|
+
// ../../node_modules/yaml/dist/parse/cst-visit.js
|
|
6872
6879
|
var require_cst_visit = __commonJS({
|
|
6873
|
-
"
|
|
6880
|
+
"../../node_modules/yaml/dist/parse/cst-visit.js"(exports) {
|
|
6874
6881
|
"use strict";
|
|
6875
6882
|
var BREAK = /* @__PURE__ */ Symbol("break visit");
|
|
6876
6883
|
var SKIP2 = /* @__PURE__ */ Symbol("skip children");
|
|
@@ -6930,9 +6937,9 @@ var require_cst_visit = __commonJS({
|
|
|
6930
6937
|
}
|
|
6931
6938
|
});
|
|
6932
6939
|
|
|
6933
|
-
//
|
|
6940
|
+
// ../../node_modules/yaml/dist/parse/cst.js
|
|
6934
6941
|
var require_cst = __commonJS({
|
|
6935
|
-
"
|
|
6942
|
+
"../../node_modules/yaml/dist/parse/cst.js"(exports) {
|
|
6936
6943
|
"use strict";
|
|
6937
6944
|
var cstScalar = require_cst_scalar();
|
|
6938
6945
|
var cstStringify = require_cst_stringify();
|
|
@@ -7032,9 +7039,9 @@ var require_cst = __commonJS({
|
|
|
7032
7039
|
}
|
|
7033
7040
|
});
|
|
7034
7041
|
|
|
7035
|
-
//
|
|
7042
|
+
// ../../node_modules/yaml/dist/parse/lexer.js
|
|
7036
7043
|
var require_lexer = __commonJS({
|
|
7037
|
-
"
|
|
7044
|
+
"../../node_modules/yaml/dist/parse/lexer.js"(exports) {
|
|
7038
7045
|
"use strict";
|
|
7039
7046
|
var cst = require_cst();
|
|
7040
7047
|
function isEmpty(ch) {
|
|
@@ -7621,9 +7628,9 @@ var require_lexer = __commonJS({
|
|
|
7621
7628
|
}
|
|
7622
7629
|
});
|
|
7623
7630
|
|
|
7624
|
-
//
|
|
7631
|
+
// ../../node_modules/yaml/dist/parse/line-counter.js
|
|
7625
7632
|
var require_line_counter = __commonJS({
|
|
7626
|
-
"
|
|
7633
|
+
"../../node_modules/yaml/dist/parse/line-counter.js"(exports) {
|
|
7627
7634
|
"use strict";
|
|
7628
7635
|
var LineCounter = class {
|
|
7629
7636
|
constructor() {
|
|
@@ -7652,9 +7659,9 @@ var require_line_counter = __commonJS({
|
|
|
7652
7659
|
}
|
|
7653
7660
|
});
|
|
7654
7661
|
|
|
7655
|
-
//
|
|
7662
|
+
// ../../node_modules/yaml/dist/parse/parser.js
|
|
7656
7663
|
var require_parser = __commonJS({
|
|
7657
|
-
"
|
|
7664
|
+
"../../node_modules/yaml/dist/parse/parser.js"(exports) {
|
|
7658
7665
|
"use strict";
|
|
7659
7666
|
var node_process = __require("process");
|
|
7660
7667
|
var cst = require_cst();
|
|
@@ -8526,9 +8533,9 @@ var require_parser = __commonJS({
|
|
|
8526
8533
|
}
|
|
8527
8534
|
});
|
|
8528
8535
|
|
|
8529
|
-
//
|
|
8536
|
+
// ../../node_modules/yaml/dist/public-api.js
|
|
8530
8537
|
var require_public_api = __commonJS({
|
|
8531
|
-
"
|
|
8538
|
+
"../../node_modules/yaml/dist/public-api.js"(exports) {
|
|
8532
8539
|
"use strict";
|
|
8533
8540
|
var composer = require_composer();
|
|
8534
8541
|
var Document = require_Document();
|
|
@@ -8623,9 +8630,9 @@ var require_public_api = __commonJS({
|
|
|
8623
8630
|
}
|
|
8624
8631
|
});
|
|
8625
8632
|
|
|
8626
|
-
//
|
|
8633
|
+
// ../../node_modules/yaml/dist/index.js
|
|
8627
8634
|
var require_dist = __commonJS({
|
|
8628
|
-
"
|
|
8635
|
+
"../../node_modules/yaml/dist/index.js"(exports) {
|
|
8629
8636
|
"use strict";
|
|
8630
8637
|
var composer = require_composer();
|
|
8631
8638
|
var Document = require_Document();
|
|
@@ -9064,9 +9071,9 @@ ${dim(t(`Next: ghosty use ${r.workspace} \xB7 ghosty partner enable ${r.workspac
|
|
|
9064
9071
|
if (v.combo) steps.push({ label: "combo", path: wsPath(slug, "/combo"), body: { combo: v.combo } });
|
|
9065
9072
|
if (cap !== void 0) steps.push({ label: "model-cap", path: wsPath(slug, "/model-cap"), body: { cap } });
|
|
9066
9073
|
if (house !== void 0) steps.push({ label: "house-claude", path: wsPath(slug, "/house-claude"), body: { on: house } });
|
|
9067
|
-
const
|
|
9074
|
+
const show3 = (x) => x === null ? t("plan's", "el del plan") : x === true ? "on" : x === false ? "off" : String(x);
|
|
9068
9075
|
const plans = await Promise.all(steps.map(async (st) => ({ ...st, plan: await api(st.path, { method: "POST", body: { ...st.body, dryRun: true } }) })));
|
|
9069
|
-
const lines = plans.map((p) => `${p.plan.workspace}: ${p.label} ${
|
|
9076
|
+
const lines = plans.map((p) => `${p.plan.workspace}: ${p.label} ${show3(p.plan.from)} \u2192 ${show3(p.plan.to)}`);
|
|
9070
9077
|
const pending = plans.filter((p) => p.plan.changed);
|
|
9071
9078
|
if (!pending.length) return out(plans.map((p) => p.plan), () => dim(t(`Nothing to do: ${slug} already has that.`, `Nada que hacer: ${slug} ya lo tiene.`)));
|
|
9072
9079
|
if (v["dry-run"]) return out(plans.map((p) => p.plan), () => `${lines.join("\n")}
|
|
@@ -9077,7 +9084,7 @@ ${dim(t("Dry run: nothing changed.", "Simulaci\xF3n: no cambi\xF3 nada."))}`);
|
|
|
9077
9084
|
${t("Change it?", "\xBFCambiarlo?")}`, { yes: v.yes, retry });
|
|
9078
9085
|
const done = [];
|
|
9079
9086
|
for (const p of pending) done.push(await api(p.path, { method: "POST", body: p.body }));
|
|
9080
|
-
return out(done, () => done.map((r, i) => `${lavender("\u2713")} ${r.workspace}: ${pending[i].label} ${
|
|
9087
|
+
return out(done, () => done.map((r, i) => `${lavender("\u2713")} ${r.workspace}: ${pending[i].label} ${show3(r.to)}`).join("\n"));
|
|
9081
9088
|
}
|
|
9082
9089
|
if (sub === "renew") {
|
|
9083
9090
|
slug = needSpace(slug ?? context, ex);
|
|
@@ -11286,7 +11293,7 @@ async function call(path2, v, init = {}) {
|
|
|
11286
11293
|
"x-ghosty-ts": ts,
|
|
11287
11294
|
"x-ghosty-sig": sig,
|
|
11288
11295
|
"content-type": "application/json",
|
|
11289
|
-
"user-agent": `ghosty-cli/${"0.
|
|
11296
|
+
"user-agent": `ghosty-cli/${"0.100.0"}`
|
|
11290
11297
|
},
|
|
11291
11298
|
body: method === "GET" ? void 0 : raw
|
|
11292
11299
|
});
|
|
@@ -13142,6 +13149,15 @@ async function contactsCmd(id, v) {
|
|
|
13142
13149
|
return lines.join("\n");
|
|
13143
13150
|
});
|
|
13144
13151
|
}
|
|
13152
|
+
async function whatsappConnectCmd(id, v) {
|
|
13153
|
+
const r = await api(`/api/v2/agents/${enc11(id)}/whatsapp/connect`, { method: "POST", body: {} });
|
|
13154
|
+
if (globals.json) return out(r);
|
|
13155
|
+
if (r.state === "connected") return out(r, () => `${lavender("\u2713")} ${t(`Connected${r.phoneNumber ? `: ${r.phoneNumber}` : ""}. It doesn't answer yet: ghosty channels whatsapp enable ${id} <number>`, `Conectado${r.phoneNumber ? `: ${r.phoneNumber}` : ""}. Todav\xEDa no contesta: ghosty channels whatsapp enable ${id} <n\xFAmero>`)}`);
|
|
13156
|
+
if (r.state === "other_owner") throw new CliError(t("That number already belongs to another account; nothing changed.", "Ese n\xFAmero ya es de otra cuenta; no se cambi\xF3 nada."));
|
|
13157
|
+
info(`${lavender("\u203A")} ${r.url}
|
|
13158
|
+
${dim(t("Open it where you can sign in to Meta, then run this again to confirm.", "\xC1brela donde puedas entrar a Meta y luego corre esto otra vez para confirmar."))}`);
|
|
13159
|
+
if (!v["no-open"] && r.url) await openUrl(r.url);
|
|
13160
|
+
}
|
|
13145
13161
|
|
|
13146
13162
|
// src/commands/board.ts
|
|
13147
13163
|
init_api();
|
|
@@ -14104,6 +14120,14 @@ var HELPS_ES = {
|
|
|
14104
14120
|
"unset borra la fila: vuelve a mandar el env o el default del c\xF3digo."
|
|
14105
14121
|
]
|
|
14106
14122
|
},
|
|
14123
|
+
app: {
|
|
14124
|
+
summary: "Compuertas de versi\xF3n de las apps (staff de Ghosty): suggestBuild le ense\xF1a a las builds menores un aviso de \xABactualiza\xBB que se puede cerrar; minBuild deja sin entrar a las builds menores hasta que actualicen. iOS por default; Android y Notch con --platform. Cada cambio queda en la bit\xE1cora; los flags de emergencia siguen en /admin/settings.",
|
|
14125
|
+
flags: [["--platform P", "ios (default), android o notch"], ["--yes", "min: sin confirmaci\xF3n (obligatorio sin terminal)"]],
|
|
14126
|
+
notes: [
|
|
14127
|
+
"Sube suggestBuild s\xF3lo cuando esa build ya est\xE1 en la tienda: el aviso manda a la gente all\xE1.",
|
|
14128
|
+
"minBuild nunca puede pasar de suggestBuild; sube primero el aviso."
|
|
14129
|
+
]
|
|
14130
|
+
},
|
|
14107
14131
|
audit: {
|
|
14108
14132
|
summary: "La bit\xE1cora (AuditEvent): qui\xE9n entr\xF3 \xABcomo\xBB qui\xE9n, qu\xE9 cambi\xF3 en la ficha y en los canales de un agente, pausas y respuestas desde el CLI, traspasos, staff que entra o sale. El staff de Ghosty ve todo; cualquier otra cuenta, s\xF3lo lo de sus espacios y agentes.",
|
|
14109
14133
|
flags: [
|
|
@@ -14719,7 +14743,8 @@ HELPS.channels = {
|
|
|
14719
14743
|
"ghosty channels messenger ls <agent-id> [--orphans]",
|
|
14720
14744
|
"ghosty channels messenger status <agent-id> # who answers each page, last webhook, token health",
|
|
14721
14745
|
"ghosty channels messenger on|off <agent-id> <page> [--take] [--dry-run] [--yes]",
|
|
14722
|
-
"ghosty channels whatsapp
|
|
14746
|
+
"ghosty channels whatsapp connect <agent-id> [--no-open] # starts or resumes it: a link for any screen; connecting needs no balance and does not turn the agent on",
|
|
14747
|
+
"ghosty channels messenger connect <agent-id> [--no-open] # opens Channels: Meta sign-in in the browser",
|
|
14723
14748
|
"ghosty channels whatsapp link <agent-id> --integration <formmy-id> --answer on|off [--forward] [--dry-run] [--yes]",
|
|
14724
14749
|
"ghosty channels whatsapp unlink <agent-id> --integration <formmy-id> [--dry-run] [--yes]",
|
|
14725
14750
|
"ghosty channels whatsapp history <agent-id> --integration <formmy-id> [--days 7] [--media] [--dry-run] [--yes]",
|
|
@@ -15130,6 +15155,22 @@ HELPS.settings = {
|
|
|
15130
15155
|
],
|
|
15131
15156
|
learn: `${REF}#ajustes`
|
|
15132
15157
|
};
|
|
15158
|
+
HELPS.app = {
|
|
15159
|
+
summary: 'App version gates (Ghosty staff): suggestBuild shows a dismissible "update" notice to older builds; minBuild stops older builds until they update. iOS by default; Android and Notch with --platform. Every change is logged; the emergency flags stay in /admin/settings.',
|
|
15160
|
+
usage: ["ghosty app ls", "ghosty app suggest <build> [--platform ios|android|notch]", "ghosty app min <build> [--platform ios|android|notch] --yes"],
|
|
15161
|
+
flags: [["--platform P", "ios (default), android or notch"], ["--yes", "min: skip the confirmation (required without a terminal)"]],
|
|
15162
|
+
examples: [
|
|
15163
|
+
"ghosty app ls",
|
|
15164
|
+
"ghosty app suggest 106",
|
|
15165
|
+
"ghosty app suggest 14 --platform android",
|
|
15166
|
+
"ghosty app min 95 --yes"
|
|
15167
|
+
],
|
|
15168
|
+
notes: [
|
|
15169
|
+
"Raise suggestBuild only once that build is live in the store: the notice sends people there.",
|
|
15170
|
+
"minBuild can never be above suggestBuild; raise the notice first."
|
|
15171
|
+
],
|
|
15172
|
+
learn: `${REF}#versiones-de-las-apps`
|
|
15173
|
+
};
|
|
15133
15174
|
HELPS.audit = {
|
|
15134
15175
|
summary: "The audit log (AuditEvent): who logged in \xABas\xBB whom, what changed on an agent's page and channels, pauses and replies from the CLI, transfers, staff in and out. Ghosty staff see everything; anyone else, only the events of their own workspaces and agents.",
|
|
15135
15176
|
usage: ["ghosty audit ls [--workspace SLUG] [--agent ID] [--actor EMAIL] [--action A] [--since 7d] [--limit 50] [--full]"],
|
|
@@ -17016,6 +17057,48 @@ async function settingsCmd(sub, key, value) {
|
|
|
17016
17057
|
throw usage(t(`Unknown settings subcommand: ${sub}.`, `Subcomando de settings desconocido: ${sub}.`), "ghosty settings ls|set|unset <KEY> [value]");
|
|
17017
17058
|
}
|
|
17018
17059
|
|
|
17060
|
+
// src/commands/app.ts
|
|
17061
|
+
init_api();
|
|
17062
|
+
init_util();
|
|
17063
|
+
init_i18n();
|
|
17064
|
+
var PLATFORMS = ["ios", "android", "notch"];
|
|
17065
|
+
var gateOf = (c, p) => p === "ios" ? { minBuild: c.minBuild, suggestBuild: c.suggestBuild } : c[p] ?? { minBuild: 0, suggestBuild: 0 };
|
|
17066
|
+
var show2 = (c) => {
|
|
17067
|
+
const rows = PLATFORMS.map((p) => ({ platform: p, minBuild: gateOf(c, p).minBuild, suggestBuild: gateOf(c, p).suggestBuild }));
|
|
17068
|
+
const flags = Object.entries(c.flags ?? {}).map(([k, v]) => `${k}=${v}`).join(" ");
|
|
17069
|
+
return `${table(rows, ["platform", "minBuild", "suggestBuild"])}
|
|
17070
|
+
${dim(t("flags (edit them in /admin/settings): ", "flags (se cambian en /admin/settings): "))}${flags || dim(t("(none)", "(ninguno)"))}`;
|
|
17071
|
+
};
|
|
17072
|
+
async function appCmd(sub, build, v) {
|
|
17073
|
+
if (!sub || sub === "ls" || sub === "list") {
|
|
17074
|
+
const r = await api("/api/v2/staff/app-config");
|
|
17075
|
+
return out(r, () => show2(r.config));
|
|
17076
|
+
}
|
|
17077
|
+
if (sub === "suggest" || sub === "min") {
|
|
17078
|
+
const line2 = `ghosty app ${sub} <build> [--platform ios|android|notch]${sub === "min" ? " --yes" : ""}`;
|
|
17079
|
+
const value = Number(build);
|
|
17080
|
+
if (!build || !Number.isInteger(value) || value < 0) throw usage(t("Missing the build number.", "Falta el n\xFAmero de build."), line2);
|
|
17081
|
+
const platform = v.platform ?? "ios";
|
|
17082
|
+
if (!PLATFORMS.includes(platform)) throw usage(t("--platform is ios, android or notch.", "--platform es ios, android o notch."), line2);
|
|
17083
|
+
const field = sub === "suggest" ? "suggestBuild" : "minBuild";
|
|
17084
|
+
if (sub === "min") {
|
|
17085
|
+
const retry = `ghosty app min ${value} --platform ${platform}`;
|
|
17086
|
+
requireYesIfHeadless(v.yes, retry);
|
|
17087
|
+
await confirm(
|
|
17088
|
+
t(
|
|
17089
|
+
`Builds below ${value} on ${platform} will stop working and must update. Continue?`,
|
|
17090
|
+
`Las builds menores a ${value} en ${platform} dejar\xE1n de funcionar y tendr\xE1n que actualizar. \xBFSeguir?`
|
|
17091
|
+
),
|
|
17092
|
+
{ yes: v.yes, retry }
|
|
17093
|
+
);
|
|
17094
|
+
}
|
|
17095
|
+
const r = await api("/api/v2/staff/app-config", { method: "POST", body: { platform, field, value } });
|
|
17096
|
+
const lower = r.to < r.from ? ` ${dim(t("(lower than before)", "(menor que antes)"))}` : "";
|
|
17097
|
+
return out(r, () => `${lavender("\u2713")} ${r.platform} ${r.field}: ${r.from} \u2192 ${r.to}${lower}`);
|
|
17098
|
+
}
|
|
17099
|
+
throw usage(t(`Unknown app subcommand: ${sub}.`, `Subcomando de app desconocido: ${sub}.`), "ghosty app ls|suggest|min <build> [--platform ios|android|notch]");
|
|
17100
|
+
}
|
|
17101
|
+
|
|
17019
17102
|
// src/commands/coupons.ts
|
|
17020
17103
|
init_api();
|
|
17021
17104
|
init_i18n();
|
|
@@ -17426,6 +17509,7 @@ ${bold("Workspaces")} ${dim("(changing them: Ghosty staff)")}
|
|
|
17426
17509
|
staff ls [staff-email] [client-email] Ghosty staff assigned to client accounts (staff) [--all: also revoked]
|
|
17427
17510
|
staff assign|unassign <staff> <client> Staff sees and runs that account's agents, documents, databases and boards as themselves (no keys, billing or transfers; logged) [--reason]
|
|
17428
17511
|
settings ls|set|unset <KEY> [value] Platform switches (staff): who answers /c without an account, native subagents\u2026 [+id/-id edits a list]
|
|
17512
|
+
app ls|suggest|min <build> App version gates (staff): the "update" notice and the minimum build [--platform ios|android|notch] [--yes]
|
|
17429
17513
|
coupons ls|create|set <CODE> Redeemable coupons (staff): balance in cost pesos and an optional lent plan until a date; created as a draft [--credit 50] [--plan pro|power|max --until 2026-11-13] [--max 100] [--eligibility hackathon:<event>: accepted people only] [--agent ID: each account gets its own copy] [--from DATE: the lent plan starts then] [--redeem-by DATE: last day to redeem] [--convert-promo STRIPE_CODE: offered when the plan ends] [--on|--off] [--note]
|
|
17430
17514
|
coupons show <CODE> Who redeemed it: plan window (pending/active/ended) and who converted to a paid plan (staff)
|
|
17431
17515
|
coupons redeem <CODE> Redeem a coupon for your account (also /canjear?codigo=CODE)
|
|
@@ -17500,7 +17584,8 @@ ${bold("Configure an agent")}
|
|
|
17500
17584
|
mcp get|set <id> MCP servers [--file servers.json] (http headers accept \${turn.token})
|
|
17501
17585
|
mcp connect <id> --name N --url U Add one remote MCP by its URL; opens the browser if it asks for OAuth [--from-env VAR: its token] [--no-open]
|
|
17502
17586
|
channels whatsapp ls|enable|disable <id> [number] Which WhatsApp Business numbers it answers [--dry-run]
|
|
17503
|
-
channels whatsapp
|
|
17587
|
+
channels whatsapp connect <id> Starts or resumes connecting a number and gives a link you can open on any screen; run it again to see how it went [--no-open]
|
|
17588
|
+
channels messenger connect <id> Opens the agent's Channels page to connect a page with Meta (browser sign-in) [--no-open]
|
|
17504
17589
|
channels whatsapp integrations <id> Its owner's WhatsApp Business numbers in Formmy (number, who answers today, who answered last, Integration id) [--orphans: answered by nobody but with turns]
|
|
17505
17590
|
channels messenger ls <id> The workspace's Messenger pages: who answers now and who answered last [--orphans]
|
|
17506
17591
|
channels messenger status <id> Each page: who answers, last webhook and token health (asks Meta now)
|
|
@@ -17655,6 +17740,7 @@ ${bold("Espacios")} ${dim("(cambiarlos: staff de Ghosty)")}
|
|
|
17655
17740
|
staff ls [correo-staff] [correo-cliente] Staff de Ghosty asignado a cuentas cliente (staff) [--all: tambi\xE9n revocadas]
|
|
17656
17741
|
staff assign|unassign <staff> <cliente> El staff ve y opera agentes, documentos, bases y tableros de esa cuenta como s\xED mismo (sin llaves, cobro ni traspasos; queda en bit\xE1cora) [--reason]
|
|
17657
17742
|
settings ls|set|unset <CLAVE> [valor] Perillas de la plataforma (staff): qui\xE9n atiende /c sin cuenta, subagentes nativos\u2026 [+id/-id edita una lista]
|
|
17743
|
+
app ls|suggest|min <build> Compuertas de versi\xF3n de las apps (staff): el aviso de \xABactualiza\xBB y la build m\xEDnima [--platform ios|android|notch] [--yes]
|
|
17658
17744
|
coupons ls|create|set <C\xD3DIGO> Cupones canjeables (staff): saldo en pesos de costo y un plan prestado opcional hasta una fecha; nacen como borrador [--credit 50] [--plan pro|power|max --until 2026-11-13] [--max 100] [--eligibility hackathon:<evento>: s\xF3lo aceptados] [--agent ID: cada cuenta recibe su copia] [--from FECHA: el plan prestado arranca ah\xED] [--redeem-by FECHA: \xFAltimo d\xEDa para canjear] [--convert-promo C\xD3DIGO_STRIPE: se ofrece al terminar el plan] [--on|--off] [--note]
|
|
17659
17745
|
coupons show <C\xD3DIGO> Qui\xE9n lo canje\xF3: ventana del plan (por empezar/activo/termin\xF3) y qui\xE9n ya paga un plan (staff)
|
|
17660
17746
|
coupons redeem <C\xD3DIGO> Canjea un cup\xF3n para tu cuenta (tambi\xE9n /canjear?codigo=C\xD3DIGO)
|
|
@@ -17729,7 +17815,8 @@ ${bold("Configurar un agente")}
|
|
|
17729
17815
|
mcp get|set <id> Servidores MCP [--file servers.json] (headers http admiten \${turn.token})
|
|
17730
17816
|
mcp connect <id> --name N --url U Agrega un MCP remoto con su URL; abre el navegador si pide OAuth [--from-env VAR: su token] [--no-open]
|
|
17731
17817
|
channels whatsapp ls|enable|disable <id> [n\xFAmero] Qu\xE9 n\xFAmeros de WhatsApp Business contesta [--dry-run]
|
|
17732
|
-
channels whatsapp
|
|
17818
|
+
channels whatsapp connect <id> Abre o retoma la conexi\xF3n de un n\xFAmero y da una liga para abrir en cualquier pantalla; c\xF3rrelo otra vez para ver c\xF3mo va [--no-open]
|
|
17819
|
+
channels messenger connect <id> Abre la p\xE1gina Canales del agente para conectar una p\xE1gina con Meta (inicio de sesi\xF3n en el navegador) [--no-open]
|
|
17733
17820
|
channels whatsapp integrations <id> Los n\xFAmeros de WhatsApp Business de su due\xF1o en Formmy (n\xFAmero, qui\xE9n contesta hoy, qui\xE9n contest\xF3 al \xFAltimo, id de la Integration) [--orphans: sin qui\xE9n conteste pero con turnos]
|
|
17734
17821
|
channels messenger ls <id> Las p\xE1ginas de Messenger del espacio: qui\xE9n contesta hoy y qui\xE9n contest\xF3 al \xFAltimo [--orphans]
|
|
17735
17822
|
channels messenger status <id> Cada p\xE1gina: qui\xE9n contesta, \xFAltimo webhook y salud del token (le pregunta a Meta en el momento)
|
|
@@ -18123,6 +18210,7 @@ async function main() {
|
|
|
18123
18210
|
user: { type: "string" },
|
|
18124
18211
|
why: { type: "boolean" },
|
|
18125
18212
|
surface: { type: "string" },
|
|
18213
|
+
platform: { type: "string" },
|
|
18126
18214
|
image: { type: "string" },
|
|
18127
18215
|
link: { type: "string" },
|
|
18128
18216
|
button: { type: "string" },
|
|
@@ -18178,7 +18266,7 @@ async function main() {
|
|
|
18178
18266
|
const tokens = splitTokens(pos, v);
|
|
18179
18267
|
globals.token = tokens.session;
|
|
18180
18268
|
globals.profile = v.profile;
|
|
18181
|
-
if (v.version) return out({ version: "0.
|
|
18269
|
+
if (v.version) return out({ version: "0.100.0" }, () => "0.100.0");
|
|
18182
18270
|
for (const n of normalizeArgs(pos, v)) if (!globals.json) info(dim(n));
|
|
18183
18271
|
const context = (await readConfig()).workspace;
|
|
18184
18272
|
if (!explicitToken()?.startsWith("gat_")) {
|
|
@@ -18289,7 +18377,8 @@ async function main() {
|
|
|
18289
18377
|
case "channels":
|
|
18290
18378
|
if (a1 === "connect" && ["whatsapp", "wa", "messenger", "fb"].includes(sub ?? "")) {
|
|
18291
18379
|
if (!a2) throw usage(t("Missing agent id.", "Falta el id del agente."), `ghosty channels ${sub} connect <agent-id>`);
|
|
18292
|
-
|
|
18380
|
+
if (sub === "whatsapp" || sub === "wa") return whatsappConnectCmd(a2, v);
|
|
18381
|
+
return openPage(`/app/agents/${encodeURIComponent(a2)}/canales`, t("Connect Messenger (Meta sign-in in your browser)", "Conectar Messenger (inicio de sesi\xF3n de Meta en tu navegador)"), v);
|
|
18293
18382
|
}
|
|
18294
18383
|
if (a1 === "groups") return groupsCmd(pos.slice(3).filter((x) => x !== void 0), v);
|
|
18295
18384
|
return channelsCmd(sub, a1, a2, pos.slice(4).join(" ") || void 0, v);
|
|
@@ -18353,6 +18442,8 @@ async function main() {
|
|
|
18353
18442
|
return staffCmd(sub, a1, a2, v);
|
|
18354
18443
|
case "settings":
|
|
18355
18444
|
return settingsCmd(sub, a1, a2);
|
|
18445
|
+
case "app":
|
|
18446
|
+
return appCmd(sub, a1, v);
|
|
18356
18447
|
case "coupons":
|
|
18357
18448
|
return couponsCmd(sub, a1, v);
|
|
18358
18449
|
case "ads":
|
|
@@ -18385,7 +18476,7 @@ async function main() {
|
|
|
18385
18476
|
throw unknown(cmd, cmd, COMMANDS, "ghosty --help");
|
|
18386
18477
|
}
|
|
18387
18478
|
}
|
|
18388
|
-
var notice = updateNotice("0.
|
|
18479
|
+
var notice = updateNotice("0.100.0").catch(() => null);
|
|
18389
18480
|
main().then(
|
|
18390
18481
|
async () => {
|
|
18391
18482
|
const n = process.stderr.isTTY ? await notice : null;
|
package/package.json
CHANGED