@getfrontline/cli 1.0.1 → 1.0.4
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 +246 -246
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +29 -4
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/profiles.d.ts.map +1 -1
- package/dist/commands/auth/profiles.js +7 -11
- package/dist/commands/auth/profiles.js.map +1 -1
- package/dist/commands/object/activity.d.ts +3 -0
- package/dist/commands/object/activity.d.ts.map +1 -0
- package/dist/commands/object/{note.js → activity.js} +24 -19
- package/dist/commands/object/activity.js.map +1 -0
- package/dist/commands/object/export.js +3 -3
- package/dist/commands/object/field.js +5 -5
- package/dist/commands/object/index.js +10 -10
- package/dist/commands/object/index.js.map +1 -1
- package/dist/commands/object/option.js +4 -4
- package/dist/commands/object/record-type.js +4 -4
- package/dist/commands/object/record.js +8 -8
- package/dist/commands/object/relation.js +4 -4
- package/dist/commands/object/view.js +9 -9
- package/dist/commands/table/index.d.ts.map +1 -1
- package/dist/commands/table/index.js +0 -4
- package/dist/commands/table/index.js.map +1 -1
- package/dist/lib/cliVersion.d.ts +8 -0
- package/dist/lib/cliVersion.d.ts.map +1 -0
- package/dist/lib/cliVersion.js +26 -0
- package/dist/lib/cliVersion.js.map +1 -0
- package/dist/lib/config.js +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.d.ts +3 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +10 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/helpEpilog.d.ts.map +1 -1
- package/dist/lib/helpEpilog.js +35 -35
- package/dist/lib/helpEpilog.js.map +1 -1
- package/dist/lib/httpClient.d.ts.map +1 -1
- package/dist/lib/httpClient.js +35 -16
- package/dist/lib/httpClient.js.map +1 -1
- package/dist/lib/output.d.ts +10 -0
- package/dist/lib/output.d.ts.map +1 -1
- package/dist/lib/output.js +28 -12
- package/dist/lib/output.js.map +1 -1
- package/dist/max/commands/auth/login.d.ts.map +1 -1
- package/dist/max/commands/auth/login.js +22 -5
- package/dist/max/commands/auth/login.js.map +1 -1
- package/dist/max/commands/chat/repl.d.ts +9 -0
- package/dist/max/commands/chat/repl.d.ts.map +1 -1
- package/dist/max/commands/chat/repl.js +15 -11
- package/dist/max/commands/chat/repl.js.map +1 -1
- package/dist/max/commands/chat/send.d.ts.map +1 -1
- package/dist/max/commands/chat/send.js +17 -0
- package/dist/max/commands/chat/send.js.map +1 -1
- package/dist/max/lib/httpClient.d.ts.map +1 -1
- package/dist/max/lib/httpClient.js +11 -4
- package/dist/max/lib/httpClient.js.map +1 -1
- package/dist/max/ui/banner.d.ts.map +1 -1
- package/dist/max/ui/banner.js +6 -6
- package/dist/max/ui/banner.js.map +1 -1
- package/dist/max.js +15 -3
- package/dist/max.js.map +1 -1
- package/dist/skills/aggregations/SKILL.md +7 -7
- package/dist/skills/auth-and-profiles/SKILL.md +1 -1
- package/dist/skills/crm-setup/SKILL.md +76 -48
- package/dist/skills/crud-operations/SKILL.md +2 -2
- package/dist/skills/export-and-delete/SKILL.md +5 -5
- package/dist/skills/files/SKILL.md +4 -4
- package/dist/skills/filter-and-query/SKILL.md +7 -7
- package/dist/skills/frontline-internals/SKILL.md +209 -0
- package/dist/skills/max-auth/SKILL.md +76 -76
- package/dist/skills/max-chat/SKILL.md +111 -111
- package/dist/skills/notes-and-tasks/SKILL.md +29 -29
- package/dist/skills/pipeline-setup/SKILL.md +13 -13
- package/dist/skills/relations/SKILL.md +20 -15
- package/dist/skills/resource-creation/SKILL.md +70 -1
- package/dist/skills/schema-design/SKILL.md +21 -14
- package/package.json +7 -7
- package/dist/commands/object/note.d.ts +0 -3
- package/dist/commands/object/note.d.ts.map +0 -1
- package/dist/commands/object/note.js.map +0 -1
- package/dist/commands/table/note.d.ts +0 -3
- package/dist/commands/table/note.d.ts.map +0 -1
- package/dist/commands/table/note.js +0 -62
- package/dist/commands/table/note.js.map +0 -1
- package/dist/commands/table/task.d.ts +0 -3
- package/dist/commands/table/task.d.ts.map +0 -1
- package/dist/commands/table/task.js +0 -88
- package/dist/commands/table/task.js.map +0 -1
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAS,SAAQ,KAAK;IAGX;IAFpB,YACI,OAAe,EACC,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,CAAC;CACJ;AARD,4BAQC;AAED,MAAa,SAAU,SAAQ,QAAQ;IACnC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC5B,CAAC;CACJ;AALD,8BAKC;AAED,MAAa,QAAS,SAAQ,QAAQ;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAS,SAAQ,KAAK;IAGX;IAFpB,YACI,OAAe,EACC,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IAC3B,CAAC;CACJ;AARD,4BAQC;AAED,MAAa,SAAU,SAAQ,QAAQ;IACnC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC5B,CAAC;CACJ;AALD,8BAKC;AAED,MAAa,QAAS,SAAQ,QAAQ;IAOd;IACA;IAPpB,gEAAgE;IAChD,OAAO,CAAqB;IAC5B,aAAa,CAAqB;IAElD,YACI,OAAe,EACC,UAAkB,EAClB,IAAc;QAE9B,MAAM,QAAQ,GAAI,IAAkE,EAAE,KAAK,CAAC;QAC5F,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC;QAC5B,MAAM,UAAU,GAAG,QAAQ,EAAE,UAAU,CAAC;QACxC,MAAM,YAAY,GACd,IAAI,KAAK,cAAc,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,WAAW,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACxF,KAAK,CAAC,YAAY,CAAC,CAAC;QARJ,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAU;QAQ9B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;IACpC,CAAC;CACJ;AApBD,4BAoBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpEpilog.d.ts","sourceRoot":"","sources":["../../src/lib/helpEpilog.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,wBAAwB,wHACoF,CAAC;AAE1H,eAAO,MAAM,wBAAwB,wFACoD,CAAC;AAE1F,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"helpEpilog.d.ts","sourceRoot":"","sources":["../../src/lib/helpEpilog.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,wBAAwB,wHACoF,CAAC;AAE1H,eAAO,MAAM,wBAAwB,wFACoD,CAAC;AAE1F,eAAO,MAAM,yBAAyB,wDAAwD,CAAC;AAE/F,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,QAMzB,CAAC;AAET,iDAAiD;AACjD,eAAO,MAAM,2BAA2B,QAGhC,CAAC;AAET,eAAO,MAAM,kBAAkB,iKACmI,CAAC;AAEnK,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,wDAA4B,CAAC;AAE7D,gCAAgC;AAChC,eAAO,MAAM,cAAc,QAkBnB,CAAC;AAET,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,QAQ1B,CAAC"}
|
package/dist/lib/helpEpilog.js
CHANGED
|
@@ -8,49 +8,49 @@ exports.FRONTLINE_PROFILE_OPTION = "Credentials profile: uses that profile's sav
|
|
|
8
8
|
exports.FRONTLINE_API_KEY_OPTION = "Override API key for this run (else FRONTLINE_API_KEY env, else stored profile key)";
|
|
9
9
|
exports.FRONTLINE_BASE_URL_OPTION = "Advanced: override Public API base URL for this run";
|
|
10
10
|
/** Shown after `frontline --help`. */
|
|
11
|
-
exports.FRONTLINE_CLI_EPILOG = `
|
|
12
|
-
API key lookup order: --api-key flag > FRONTLINE_API_KEY env > stored profile key.
|
|
13
|
-
|
|
14
|
-
Output format:
|
|
15
|
-
Default: JSON on stdout (scripting-friendly). Errors go to stdout as JSON + a human line on stderr.
|
|
16
|
-
Opt-in: --pretty / --table on commands that support human-readable output.
|
|
11
|
+
exports.FRONTLINE_CLI_EPILOG = `
|
|
12
|
+
API key lookup order: --api-key flag > FRONTLINE_API_KEY env > stored profile key.
|
|
13
|
+
|
|
14
|
+
Output format:
|
|
15
|
+
Default: JSON on stdout (scripting-friendly). Errors go to stdout as JSON + a human line on stderr.
|
|
16
|
+
Opt-in: --pretty / --table on commands that support human-readable output.
|
|
17
17
|
`.trim();
|
|
18
18
|
/** Shown after `frontline auth login --help`. */
|
|
19
|
-
exports.FRONTLINE_AUTH_LOGIN_EPILOG = `
|
|
20
|
-
Examples:
|
|
21
|
-
$ frontline auth login flk_abc123
|
|
19
|
+
exports.FRONTLINE_AUTH_LOGIN_EPILOG = `
|
|
20
|
+
Examples:
|
|
21
|
+
$ frontline auth login flk_abc123
|
|
22
22
|
`.trim();
|
|
23
23
|
exports.MAX_PROFILE_OPTION = "Max profile: uses the per-user API key and Public API base URL from the Frontline CLI profile of the same name (`max config-path` shows the Max-only store).";
|
|
24
24
|
/** Public API root for Max commands (same as `frontline --base-url`, typically …/public/v1). */
|
|
25
25
|
exports.MAX_BASE_URL_OPTION = exports.FRONTLINE_BASE_URL_OPTION;
|
|
26
26
|
/** Shown after `max --help`. */
|
|
27
|
-
exports.MAX_CLI_EPILOG = `
|
|
28
|
-
Authentication:
|
|
29
|
-
Bearer = per-user API key (USER type; same as SoR / Public API). The same key
|
|
30
|
-
is saved to the Max store AND the Frontline CLI store under the same profile
|
|
31
|
-
name, so \`max\` and \`frontline\` commands share credentials.
|
|
32
|
-
|
|
33
|
-
Lookup order: --api-key flag > MAX_API_KEY env > FRONTLINE_API_KEY env >
|
|
34
|
-
Max profile apiKey > Frontline profile apiKey (same name).
|
|
35
|
-
|
|
36
|
-
Chat / send stdout:
|
|
37
|
-
Default: one-line JSON (last API body). \`--pretty\`: assistant text from \`data\`.
|
|
38
|
-
\`--json\`: POST response only, no polling. Interactive \`max chat\` REPL prints
|
|
39
|
-
plain assistant text when possible.
|
|
40
|
-
|
|
41
|
-
NOTE: The hosted browser login (Firebase id token) flow is currently disabled.
|
|
42
|
-
The code is preserved for when SSO is re-enabled.
|
|
43
|
-
|
|
44
|
-
Config file: max config-path
|
|
27
|
+
exports.MAX_CLI_EPILOG = `
|
|
28
|
+
Authentication:
|
|
29
|
+
Bearer = per-user API key (USER type; same as SoR / Public API). The same key
|
|
30
|
+
is saved to the Max store AND the Frontline CLI store under the same profile
|
|
31
|
+
name, so \`max\` and \`frontline\` commands share credentials.
|
|
32
|
+
|
|
33
|
+
Lookup order: --api-key flag > MAX_API_KEY env > FRONTLINE_API_KEY env >
|
|
34
|
+
Max profile apiKey > Frontline profile apiKey (same name).
|
|
35
|
+
|
|
36
|
+
Chat / send stdout:
|
|
37
|
+
Default: one-line JSON (last API body). \`--pretty\`: assistant text from \`data\`.
|
|
38
|
+
\`--json\`: POST response only, no polling. Interactive \`max chat\` REPL prints
|
|
39
|
+
plain assistant text when possible.
|
|
40
|
+
|
|
41
|
+
NOTE: The hosted browser login (Firebase id token) flow is currently disabled.
|
|
42
|
+
The code is preserved for when SSO is re-enabled.
|
|
43
|
+
|
|
44
|
+
Config file: max config-path
|
|
45
45
|
`.trim();
|
|
46
46
|
/** Shown after `max auth login --help` (subcommand help does not include root epilog). */
|
|
47
|
-
exports.MAX_AUTH_LOGIN_EPILOG = `
|
|
48
|
-
Per-user API key:
|
|
49
|
-
Create one in the Frontline web app (Settings -> API keys -> "Create key").
|
|
50
|
-
The CLI stores it in the Max store AND in the Frontline CLI store under the
|
|
51
|
-
same profile name, so \`frontline\` and \`max\` commands can reuse it.
|
|
52
|
-
|
|
53
|
-
Examples:
|
|
54
|
-
$ max auth login flk_abc123
|
|
47
|
+
exports.MAX_AUTH_LOGIN_EPILOG = `
|
|
48
|
+
Per-user API key:
|
|
49
|
+
Create one in the Frontline web app (Settings -> API keys -> "Create key").
|
|
50
|
+
The CLI stores it in the Max store AND in the Frontline CLI store under the
|
|
51
|
+
same profile name, so \`frontline\` and \`max\` commands can reuse it.
|
|
52
|
+
|
|
53
|
+
Examples:
|
|
54
|
+
$ max auth login flk_abc123
|
|
55
55
|
`.trim();
|
|
56
56
|
//# sourceMappingURL=helpEpilog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpEpilog.js","sourceRoot":"","sources":["../../src/lib/helpEpilog.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,wBAAwB,GACjC,qHAAqH,CAAC;AAE7G,QAAA,wBAAwB,GACjC,qFAAqF,CAAC;AAE7E,QAAA,yBAAyB,
|
|
1
|
+
{"version":3,"file":"helpEpilog.js","sourceRoot":"","sources":["../../src/lib/helpEpilog.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,wBAAwB,GACjC,qHAAqH,CAAC;AAE7G,QAAA,wBAAwB,GACjC,qFAAqF,CAAC;AAE7E,QAAA,yBAAyB,GAAG,qDAAqD,CAAC;AAE/F,sCAAsC;AACzB,QAAA,oBAAoB,GAAG;;;;;;CAMnC,CAAC,IAAI,EAAE,CAAC;AAET,iDAAiD;AACpC,QAAA,2BAA2B,GAAG;;;CAG1C,CAAC,IAAI,EAAE,CAAC;AAEI,QAAA,kBAAkB,GAC3B,8JAA8J,CAAC;AAEnK,gGAAgG;AACnF,QAAA,mBAAmB,GAAG,iCAAyB,CAAC;AAE7D,gCAAgC;AACnB,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;CAkB7B,CAAC,IAAI,EAAE,CAAC;AAET,0FAA0F;AAC7E,QAAA,qBAAqB,GAAG;;;;;;;;CAQpC,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../src/lib/httpClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../src/lib/httpClient.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,IAAI,EAAE,sBAAsB;IAMxC,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,UAAU;YAQJ,OAAO;IAgErB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7E,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAInC,+EAA+E;IACzE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAa9D,qFAAqF;IAC/E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY7C,mFAAmF;IAC7E,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;YAetD,iBAAiB;CA2BlC;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAyD5E"}
|
package/dist/lib/httpClient.js
CHANGED
|
@@ -6,6 +6,7 @@ const errors_1 = require("./errors");
|
|
|
6
6
|
const config_1 = require("./config");
|
|
7
7
|
const auth_1 = require("./auth");
|
|
8
8
|
const output_1 = require("./output");
|
|
9
|
+
const cliVersion_1 = require("./cliVersion");
|
|
9
10
|
class FrontlineClient {
|
|
10
11
|
apiKey;
|
|
11
12
|
baseUrl;
|
|
@@ -16,12 +17,11 @@ class FrontlineClient {
|
|
|
16
17
|
this.debug = opts.debug ?? false;
|
|
17
18
|
}
|
|
18
19
|
buildHeaders(extra) {
|
|
19
|
-
return {
|
|
20
|
+
return (0, cliVersion_1.buildPublicApiCliHeaders)("frontline", {
|
|
20
21
|
Authorization: `Bearer ${this.apiKey}`,
|
|
21
22
|
"Content-Type": "application/json",
|
|
22
|
-
"User-Agent": "frontline-cli",
|
|
23
23
|
...(extra ?? {}),
|
|
24
|
-
};
|
|
24
|
+
});
|
|
25
25
|
}
|
|
26
26
|
buildUrl(path, params) {
|
|
27
27
|
const base = this.baseUrl.endsWith("/") ? this.baseUrl : this.baseUrl + "/";
|
|
@@ -69,8 +69,13 @@ class FrontlineClient {
|
|
|
69
69
|
const exitCode = (0, output_1.httpStatusToExitCode)(res.status);
|
|
70
70
|
const payload = (json ?? {});
|
|
71
71
|
const errData = payload.error ?? payload;
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const code = errData?.code ?? "api_error";
|
|
73
|
+
const suggestion = errData?.suggestion ||
|
|
74
|
+
(code === "cli_outdated"
|
|
75
|
+
? "Update with: npm i -g @getfrontline/cli (or your package manager equivalent)."
|
|
76
|
+
: undefined);
|
|
77
|
+
(0, output_1.error)(code, errData?.message ?? `HTTP ${res.status}`, exitCode, {
|
|
78
|
+
suggestion,
|
|
74
79
|
details: errData?.details,
|
|
75
80
|
});
|
|
76
81
|
}
|
|
@@ -121,10 +126,9 @@ class FrontlineClient {
|
|
|
121
126
|
const startedAt = Date.now();
|
|
122
127
|
const res = await fetch(url, {
|
|
123
128
|
method: "POST",
|
|
124
|
-
headers: {
|
|
129
|
+
headers: (0, cliVersion_1.buildPublicApiCliHeaders)("frontline", {
|
|
125
130
|
Authorization: `Bearer ${this.apiKey}`,
|
|
126
|
-
|
|
127
|
-
},
|
|
131
|
+
}),
|
|
128
132
|
body: formData,
|
|
129
133
|
});
|
|
130
134
|
this.logRequest("POST", url, startedAt, res.status);
|
|
@@ -143,8 +147,13 @@ class FrontlineClient {
|
|
|
143
147
|
}
|
|
144
148
|
const errData = payload.error ??
|
|
145
149
|
payload;
|
|
146
|
-
|
|
147
|
-
|
|
150
|
+
const code = errData?.code ?? "api_error";
|
|
151
|
+
const suggestion = errData?.suggestion ||
|
|
152
|
+
(code === "cli_outdated"
|
|
153
|
+
? "Update with: npm i -g @getfrontline/cli (or your package manager equivalent)."
|
|
154
|
+
: undefined);
|
|
155
|
+
(0, output_1.error)(code, errData?.message ?? `HTTP ${res.status}`, exitCode, {
|
|
156
|
+
suggestion,
|
|
148
157
|
details: errData?.details,
|
|
149
158
|
});
|
|
150
159
|
}
|
|
@@ -168,11 +177,10 @@ async function apiGet(options) {
|
|
|
168
177
|
const startedAt = Date.now();
|
|
169
178
|
const res = await fetch(url.toString(), {
|
|
170
179
|
method: "GET",
|
|
171
|
-
headers: {
|
|
180
|
+
headers: (0, cliVersion_1.buildPublicApiCliHeaders)("frontline", {
|
|
172
181
|
Authorization: `Bearer ${apiKey}`,
|
|
173
182
|
Accept: "application/json",
|
|
174
|
-
|
|
175
|
-
},
|
|
183
|
+
}),
|
|
176
184
|
});
|
|
177
185
|
if (options.debug) {
|
|
178
186
|
const elapsed = Date.now() - startedAt;
|
|
@@ -186,9 +194,20 @@ async function apiGet(options) {
|
|
|
186
194
|
throw new errors_1.APIError(`Invalid JSON response from API`, res.status);
|
|
187
195
|
}
|
|
188
196
|
if (res.status >= 400) {
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
|
|
197
|
+
const payload = data;
|
|
198
|
+
let msg;
|
|
199
|
+
if (typeof payload.error === "object" && payload.error && "message" in payload.error) {
|
|
200
|
+
msg = String(payload.error.message ?? `API returned ${res.status}`);
|
|
201
|
+
}
|
|
202
|
+
else if (typeof payload.error === "string") {
|
|
203
|
+
msg = payload.error;
|
|
204
|
+
}
|
|
205
|
+
else if (typeof payload.message === "string") {
|
|
206
|
+
msg = payload.message;
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
msg = `API returned ${res.status}`;
|
|
210
|
+
}
|
|
192
211
|
throw new errors_1.APIError(String(msg), res.status, data);
|
|
193
212
|
}
|
|
194
213
|
return data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../src/lib/httpClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../src/lib/httpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/output.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
export declare const brand: {
|
|
3
|
+
primary: chalk.Chalk;
|
|
4
|
+
accent: chalk.Chalk;
|
|
5
|
+
success: chalk.Chalk;
|
|
6
|
+
warning: chalk.Chalk;
|
|
7
|
+
danger: chalk.Chalk;
|
|
8
|
+
muted: chalk.Chalk;
|
|
9
|
+
};
|
|
1
10
|
/**
|
|
2
11
|
* Output helpers for the CLI.
|
|
3
12
|
*
|
|
@@ -35,4 +44,5 @@ export declare function printTable(rows: Record<string, unknown>[] | readonly Re
|
|
|
35
44
|
export declare function printKeyValue(data: Record<string, unknown>): void;
|
|
36
45
|
export declare function printSuccess(message: string): void;
|
|
37
46
|
export declare function printError(message: string, hint?: string): void;
|
|
47
|
+
export declare function printSectionTitle(title: string, subtitle?: string): void;
|
|
38
48
|
//# sourceMappingURL=output.d.ts.map
|
package/dist/lib/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,KAAK;;;;;;;CAOjB,CAAC;AAEF;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAEX,gDAAgD;AAChD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO3D;AAID,+CAA+C;AAC/C,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAG5C;AAED,qFAAqF;AACrF,wBAAgB,KAAK,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAiC,EAC3C,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAClE,KAAK,CAeP;AAED,iEAAiE;AACjE,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE7C;AAED,wBAAgB,UAAU,CACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACpE,OAAO,CAAC,EAAE,MAAM,EAAE,GACnB,IAAI,CA2BN;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOjE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAG/D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAGxE"}
|
package/dist/lib/output.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EXIT_CODES = void 0;
|
|
6
|
+
exports.EXIT_CODES = exports.brand = void 0;
|
|
7
7
|
exports.httpStatusToExitCode = httpStatusToExitCode;
|
|
8
8
|
exports.success = success;
|
|
9
9
|
exports.error = error;
|
|
@@ -13,7 +13,16 @@ exports.printTable = printTable;
|
|
|
13
13
|
exports.printKeyValue = printKeyValue;
|
|
14
14
|
exports.printSuccess = printSuccess;
|
|
15
15
|
exports.printError = printError;
|
|
16
|
+
exports.printSectionTitle = printSectionTitle;
|
|
16
17
|
const chalk_1 = __importDefault(require("chalk"));
|
|
18
|
+
exports.brand = {
|
|
19
|
+
primary: chalk_1.default.hex("#00C2FF"),
|
|
20
|
+
accent: chalk_1.default.hex("#8B5CF6"),
|
|
21
|
+
success: chalk_1.default.hex("#22C55E"),
|
|
22
|
+
warning: chalk_1.default.hex("#F59E0B"),
|
|
23
|
+
danger: chalk_1.default.hex("#EF4444"),
|
|
24
|
+
muted: chalk_1.default.hex("#8A94A6"),
|
|
25
|
+
};
|
|
17
26
|
/**
|
|
18
27
|
* Output helpers for the CLI.
|
|
19
28
|
*
|
|
@@ -67,14 +76,14 @@ function error(code, message, exitCode = exports.EXIT_CODES.GENERAL_ERROR, opts)
|
|
|
67
76
|
},
|
|
68
77
|
};
|
|
69
78
|
process.stdout.write(JSON.stringify(errorObj, null, 2) + "\n");
|
|
70
|
-
process.stderr.write(
|
|
79
|
+
process.stderr.write(`${exports.brand.danger.bold("Error:")} ${message}\n`);
|
|
71
80
|
if (opts?.suggestion)
|
|
72
|
-
process.stderr.write(
|
|
81
|
+
process.stderr.write(`${exports.brand.warning("Hint:")} ${opts.suggestion}\n`);
|
|
73
82
|
process.exit(exitCode);
|
|
74
83
|
}
|
|
75
84
|
/** Print a human progress/status line to stderr (never JSON). */
|
|
76
85
|
function info(message) {
|
|
77
|
-
process.stderr.write(message
|
|
86
|
+
process.stderr.write(`${exports.brand.primary("i")} ${exports.brand.muted(message)}\n`);
|
|
78
87
|
}
|
|
79
88
|
// ── Opt-in pretty helpers (used by --pretty / --table) ──
|
|
80
89
|
function printJson(data) {
|
|
@@ -82,7 +91,7 @@ function printJson(data) {
|
|
|
82
91
|
}
|
|
83
92
|
function printTable(rows, columns) {
|
|
84
93
|
if (rows.length === 0) {
|
|
85
|
-
console.log(
|
|
94
|
+
console.log(exports.brand.warning("No results found."));
|
|
86
95
|
return;
|
|
87
96
|
}
|
|
88
97
|
const cols = columns ?? Object.keys(rows[0]);
|
|
@@ -94,9 +103,11 @@ function printTable(rows, columns) {
|
|
|
94
103
|
widths[col] = Math.max(widths[col], val.length);
|
|
95
104
|
}
|
|
96
105
|
}
|
|
97
|
-
const header = cols
|
|
98
|
-
|
|
99
|
-
|
|
106
|
+
const header = cols
|
|
107
|
+
.map((col) => exports.brand.primary.bold(col.toUpperCase().padEnd(widths[col])))
|
|
108
|
+
.join(" ");
|
|
109
|
+
console.log(header);
|
|
110
|
+
console.log(exports.brand.muted(cols.map((col) => "─".repeat(widths[col])).join(" ")));
|
|
100
111
|
for (const row of rows) {
|
|
101
112
|
const line = cols.map((col) => formatCell(row[col]).padEnd(widths[col])).join(" ");
|
|
102
113
|
console.log(line);
|
|
@@ -108,16 +119,21 @@ function printKeyValue(data) {
|
|
|
108
119
|
return;
|
|
109
120
|
const maxKeyLen = Math.max(...keys.map((k) => k.length));
|
|
110
121
|
for (const [key, value] of Object.entries(data)) {
|
|
111
|
-
console.log(`${
|
|
122
|
+
console.log(`${exports.brand.primary.bold(key.padEnd(maxKeyLen))} ${formatCell(value)}`);
|
|
112
123
|
}
|
|
113
124
|
}
|
|
114
125
|
function printSuccess(message) {
|
|
115
|
-
console.log(
|
|
126
|
+
console.log(`${exports.brand.success.bold("✓")} ${message}`);
|
|
116
127
|
}
|
|
117
128
|
function printError(message, hint) {
|
|
118
|
-
console.error(
|
|
129
|
+
console.error(`${exports.brand.danger.bold("Error:")} ${message}`);
|
|
119
130
|
if (hint)
|
|
120
|
-
console.error(
|
|
131
|
+
console.error(`${exports.brand.warning("Hint:")} ${hint}`);
|
|
132
|
+
}
|
|
133
|
+
function printSectionTitle(title, subtitle) {
|
|
134
|
+
console.log(exports.brand.primary.bold(title));
|
|
135
|
+
if (subtitle)
|
|
136
|
+
console.log(exports.brand.muted(subtitle));
|
|
121
137
|
}
|
|
122
138
|
function formatCell(value) {
|
|
123
139
|
if (value === null || value === undefined)
|
package/dist/lib/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":";;;;;;AAmCA,oDAOC;AAKD,0BAGC;AAGD,sBAoBC;AAGD,oBAEC;AAID,8BAEC;AAED,gCA8BC;AAED,sCAOC;AAED,oCAEC;AAED,gCAGC;AAED,8CAGC;AA3ID,kDAA0B;AAEb,QAAA,KAAK,GAAG;IACjB,OAAO,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,MAAM,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,OAAO,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,OAAO,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7B,MAAM,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,KAAK,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AAEU,QAAA,UAAU,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC;CACL,CAAC;AAEX,gDAAgD;AAChD,SAAgB,oBAAoB,CAAC,MAAc;IAC/C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,kBAAU,CAAC,OAAO,CAAC;IAC7D,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,kBAAU,CAAC,SAAS,CAAC;IAClE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,kBAAU,CAAC,iBAAiB,CAAC;IAC1E,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,kBAAU,CAAC,SAAS,CAAC;IAChD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,kBAAU,CAAC,QAAQ,CAAC;IAC/C,OAAO,kBAAU,CAAC,aAAa,CAAC;AACpC,CAAC;AAED,0DAA0D;AAE1D,+CAA+C;AAC/C,SAAgB,OAAO,CAAC,IAAa;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,kBAAU,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,qFAAqF;AACrF,SAAgB,KAAK,CACjB,IAAY,EACZ,OAAe,EACf,WAAmB,kBAAU,CAAC,aAAa,EAC3C,IAAiE;IAEjE,MAAM,QAAQ,GAA4B;QACtC,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACH,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;KACJ,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACpE,IAAI,IAAI,EAAE,UAAU;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,iEAAiE;AACjE,SAAgB,IAAI,CAAC,OAAe;IAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,aAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,aAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,2DAA2D;AAE3D,SAAgB,SAAS,CAAC,IAAa;IACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,UAAU,CACtB,IAAoE,EACpE,OAAkB;IAElB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAChD,OAAO;IACX,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,IAAI;SACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACvE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACL,CAAC;AAED,SAAgB,aAAa,CAAC,IAA6B;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;AACL,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,UAAU,CAAC,OAAe,EAAE,IAAa;IACrD,OAAO,CAAC,KAAK,CAAC,GAAG,aAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3D,IAAI,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,GAAG,aAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAa,EAAE,QAAiB;IAC9D,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,aAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACtD,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/max/commands/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/max/commands/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC,eAAO,MAAM,eAAe,SAqEtB,CAAC"}
|
|
@@ -8,22 +8,31 @@ const output_1 = require("../../../lib/output");
|
|
|
8
8
|
const auth_1 = require("../../../lib/auth");
|
|
9
9
|
const banner_1 = require("../../ui/banner");
|
|
10
10
|
const helpEpilog_1 = require("../../../lib/helpEpilog");
|
|
11
|
+
function printNextSteps() {
|
|
12
|
+
console.log();
|
|
13
|
+
console.log(output_1.brand.primary.bold("Start here"));
|
|
14
|
+
console.log(` ${output_1.brand.primary("max chat")} ${output_1.brand.muted("Open Max in your terminal")}`);
|
|
15
|
+
console.log(` ${output_1.brand.primary('max "Summarize my day"')} ${output_1.brand.muted("Send a quick message")}`);
|
|
16
|
+
console.log(` ${output_1.brand.primary("frontline auth whoami")} ${output_1.brand.muted("Verify the shared profile")}`);
|
|
17
|
+
}
|
|
11
18
|
exports.maxLoginCommand = new commander_1.Command("login")
|
|
12
19
|
.description("Store a per-user API key on the chosen profile. Saves the key to BOTH the Max store and the Frontline store under the same profile name, so `max` and `frontline` commands share credentials.")
|
|
13
20
|
.argument("<api-key>", "Your Frontline per-user API key (generated in the Frontline web app)")
|
|
14
21
|
.option("--profile <name>", helpEpilog_1.MAX_PROFILE_OPTION)
|
|
15
22
|
.option("--base-url <url>", `Public API base URL for this profile (…/public/v1; default: ${(0, config_1.getDefaultBaseUrl)()})`)
|
|
23
|
+
.option("--json", "Output the saved profile as JSON")
|
|
16
24
|
.addHelpText("after", `\n${helpEpilog_1.MAX_AUTH_LOGIN_EPILOG}\n`)
|
|
17
25
|
.action(async (apiKey, options, cmd) => {
|
|
18
26
|
try {
|
|
19
|
-
await (0, banner_1.printMaxWelcome)();
|
|
20
27
|
const trimmed = apiKey.trim();
|
|
21
28
|
if (!trimmed) {
|
|
22
29
|
(0, output_1.printError)("API key cannot be empty.");
|
|
23
30
|
process.exitCode = 1;
|
|
24
31
|
return;
|
|
25
32
|
}
|
|
26
|
-
const allOpts = typeof cmd.optsWithGlobals === "function"
|
|
33
|
+
const allOpts = typeof cmd.optsWithGlobals === "function"
|
|
34
|
+
? cmd.optsWithGlobals()
|
|
35
|
+
: options;
|
|
27
36
|
const profileName = allOpts.profile ?? (0, maxConfig_1.getMaxCurrentProfile)();
|
|
28
37
|
if (allOpts.profile) {
|
|
29
38
|
(0, maxConfig_1.setMaxCurrentProfile)(profileName);
|
|
@@ -42,12 +51,20 @@ exports.maxLoginCommand = new commander_1.Command("login")
|
|
|
42
51
|
apiKey: trimmed,
|
|
43
52
|
baseUrl: nextFrontBaseUrl,
|
|
44
53
|
});
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
const output = {
|
|
55
|
+
authenticated: true,
|
|
47
56
|
profile: profileName,
|
|
48
57
|
keyPreview: (0, auth_1.redactToken)(trimmed),
|
|
49
58
|
publicApiBaseUrl: nextFrontBaseUrl,
|
|
50
|
-
}
|
|
59
|
+
};
|
|
60
|
+
if (allOpts.json) {
|
|
61
|
+
(0, output_1.printJson)(output);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
await (0, banner_1.printMaxWelcome)();
|
|
65
|
+
(0, output_1.printSuccess)(`Profile "${profileName}" is ready and shared with Frontline CLI.`);
|
|
66
|
+
(0, output_1.printKeyValue)(output);
|
|
67
|
+
printNextSteps();
|
|
51
68
|
}
|
|
52
69
|
catch (err) {
|
|
53
70
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/max/commands/auth/login.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,+CAKyB;AACzB,gDAK6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/max/commands/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
export interface ReplOptions {
|
|
3
|
+
profile?: string;
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
apiBaseUrl?: string;
|
|
6
|
+
apiKey?: string;
|
|
7
|
+
debug?: boolean;
|
|
8
|
+
timeout?: string;
|
|
9
|
+
}
|
|
2
10
|
export declare const maxChatReplCommand: Command;
|
|
11
|
+
export declare function runMaxChatRepl(options?: ReplOptions): Promise<void>;
|
|
3
12
|
//# sourceMappingURL=repl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../../src/max/commands/chat/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../../src/max/commands/chat/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,eAAO,MAAM,kBAAkB,SAYzB,CAAC;AAEP,wBAAsB,cAAc,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF7E"}
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.maxChatReplCommand = void 0;
|
|
7
|
+
exports.runMaxChatRepl = runMaxChatRepl;
|
|
7
8
|
const commander_1 = require("commander");
|
|
8
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
10
|
const readline_1 = require("readline");
|
|
@@ -12,11 +13,11 @@ const maxConfig_1 = require("../../maxConfig");
|
|
|
12
13
|
const output_1 = require("../../../lib/output");
|
|
13
14
|
const helpEpilog_1 = require("../../../lib/helpEpilog");
|
|
14
15
|
function printReplHelp() {
|
|
15
|
-
console.log(
|
|
16
|
-
console.log("
|
|
17
|
-
console.log("
|
|
18
|
-
console.log("
|
|
19
|
-
console.log("
|
|
16
|
+
console.log(output_1.brand.primary.bold("\nCommands"));
|
|
17
|
+
console.log(`${output_1.brand.primary(":help")} Show this help`);
|
|
18
|
+
console.log(`${output_1.brand.primary(":new")} Start a new conversation`);
|
|
19
|
+
console.log(`${output_1.brand.primary(":conv <id>")} Switch to a conversation id`);
|
|
20
|
+
console.log(`${output_1.brand.primary(":exit")} Exit`);
|
|
20
21
|
console.log();
|
|
21
22
|
}
|
|
22
23
|
exports.maxChatReplCommand = new commander_1.Command("repl")
|
|
@@ -28,14 +29,17 @@ exports.maxChatReplCommand = new commander_1.Command("repl")
|
|
|
28
29
|
.option("--debug", "Show debug information")
|
|
29
30
|
.option("--timeout <seconds>", "Polling timeout in seconds", "60")
|
|
30
31
|
.action(async (options) => {
|
|
32
|
+
await runMaxChatRepl(options);
|
|
33
|
+
});
|
|
34
|
+
async function runMaxChatRepl(options = {}) {
|
|
31
35
|
const profileName = options.profile ?? (0, maxConfig_1.getMaxCurrentProfile)();
|
|
32
36
|
const profile = (0, maxConfig_1.getMaxProfile)(profileName);
|
|
33
37
|
const conv = profile?.lastConversationId;
|
|
34
|
-
console.log(
|
|
35
|
-
console.log(
|
|
36
|
-
console.log(
|
|
38
|
+
console.log(`${output_1.brand.primary.bold("Max Chat")} ${chalk_1.default.white("by Frontline")}`);
|
|
39
|
+
console.log(output_1.brand.muted(`Profile: ${profileName}${typeof conv === "number" ? ` | Conversation: ${conv}` : ""}`));
|
|
40
|
+
console.log(output_1.brand.muted('Type ":help" for commands. Press Ctrl+C to exit.\n'));
|
|
37
41
|
const rl = (0, readline_1.createInterface)({ input: process.stdin, output: process.stdout });
|
|
38
|
-
rl.setPrompt(
|
|
42
|
+
rl.setPrompt(output_1.brand.primary("> "));
|
|
39
43
|
rl.prompt();
|
|
40
44
|
let forceNew = false;
|
|
41
45
|
rl.on("line", async (line) => {
|
|
@@ -97,8 +101,8 @@ exports.maxChatReplCommand = new commander_1.Command("repl")
|
|
|
97
101
|
rl.close();
|
|
98
102
|
});
|
|
99
103
|
rl.on("close", () => {
|
|
100
|
-
console.log(
|
|
104
|
+
console.log(output_1.brand.muted("\nBye.\n"));
|
|
101
105
|
process.exitCode = 0;
|
|
102
106
|
});
|
|
103
|
-
}
|
|
107
|
+
}
|
|
104
108
|
//# sourceMappingURL=repl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../../src/max/commands/chat/repl.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../../src/max/commands/chat/repl.ts"],"names":[],"mappings":";;;;;;AAwCA,wCAuFC;AA/HD,yCAAoC;AACpC,kDAA0B;AAC1B,uCAA2C;AAC3C,iCAAoC;AACpC,+CAAwF;AACxF,gDAAsE;AACtE,wDAAkF;AAWlF,SAAS,aAAa;IAClB,OAAO,CAAC,GAAG,CAAC,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,cAAK,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,GAAG,cAAK,CAAC,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,GAAG,cAAK,CAAC,OAAO,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,GAAG,cAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,EAAE,CAAC;AAClB,CAAC;AAEY,QAAA,kBAAkB,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KAChD,WAAW,CACR,4GAA4G,CAC/G;KACA,MAAM,CAAC,kBAAkB,EAAE,+BAAkB,CAAC;KAC9C,MAAM,CAAC,kBAAkB,EAAE,gCAAmB,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,mDAAmD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;KACnE,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC;KAC3C,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,IAAI,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;IACnC,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEA,KAAK,UAAU,cAAc,CAAC,UAAuB,EAAE;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,gCAAoB,GAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,EAAE,kBAAkB,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CACP,cAAK,CAAC,KAAK,CACP,YAAY,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzF,CACJ,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,cAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE/E,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,EAAE,CAAC,SAAS,CAAC,cAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,EAAE,CAAC;IAEZ,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACvC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnB,aAAa,EAAE,CAAC;YAChB,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAClB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAA,4BAAgB,EAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC;YACjE,IAAA,qBAAY,EAAC,mDAAmD,CAAC,CAAC;YAClE,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxC,IAAA,mBAAU,EAAC,0BAA0B,CAAC,CAAC;gBACvC,EAAE,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACX,CAAC;YACD,QAAQ,GAAG,KAAK,CAAC;YACjB,IAAA,4BAAgB,EAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAA,qBAAY,EAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YAChD,EAAE,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,eAAe;QACf,IAAI,CAAC;YACD,MAAM,IAAA,iBAAU,EAAC,CAAC,IAAI,CAAC,EAAE;gBACrB,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,IAAI;aACjB,CAAC,CAAC;QACP,CAAC;gBAAS,CAAC;YACP,QAAQ,GAAG,KAAK,CAAC;YACjB,EAAE,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACjB,EAAE,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAChB,OAAO,CAAC,GAAG,CAAC,cAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../../src/max/commands/chat/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../../src/max/commands/chat/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,MAAM,WAAW,WAAW;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAwDD,eAAO,MAAM,cAAc,SAqBrB,CAAC;AAEP,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8G5F"}
|