@tabbio-technologies/cli 1.3.0 → 1.3.1

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/CHANGELOG.md ADDED
@@ -0,0 +1,47 @@
1
+ # Changelog
2
+
3
+ ## 1.3.1 - 2026-09-27
4
+
5
+ ### Fixed
6
+
7
+ - Remove private repository and issue tracker links from the public npm package metadata.
8
+
9
+ ## 1.3.0 - 2026-09-27
10
+
11
+ ### Added
12
+
13
+ - Sign in and out from the interactive home and chat screens.
14
+ - Result cards for jobs, applications, CVs, skills, automations, and generated files.
15
+ - Save generated pages, documents, slides, images, and CV exports to disk, with chat commands to open and inspect them.
16
+ - Apply to a job from its numbered result card and open related links from chat.
17
+
18
+ ### Changed
19
+
20
+ - Use `--remember` for chat mode preferences; `--no-save` controls generated file saving.
21
+ - Keep bare or unknown slash commands in the command palette instead of sending them to the agent.
22
+
23
+ ### Fixed
24
+
25
+ - Suppress repeated text in streamed answers and persist the trimmed answer on the API.
26
+ - Wait for the `/threads` screen state in the terminal UI test instead of relying on a fixed delay.
27
+ - Save generated files in non-interactive chat, report save failures in NDJSON, and surface document PDF download errors.
28
+ - Return a failing exit status for partial agent errors and failed automatic saves; save the exact artifact version produced by each tool.
29
+ - Stop interactive file downloads when chat closes or the account changes.
30
+
31
+ ### Security
32
+
33
+ - Create saved artifact folders and downloaded files with private local permissions.
34
+ - Strip terminal controls from streamed answers, research sources, and other server-provided labels.
35
+
36
+ ## 1.2.8 - 2026-09-26
37
+
38
+ ### Added
39
+
40
+ - Browser and email sign-in using the Tabbio app session.
41
+ - MCP tool commands, streaming agent chat, approvals, and artifact commands.
42
+ - Machine-readable output and a stdio MCP bridge for other clients.
43
+
44
+ ### Security
45
+
46
+ - Direct MCP tool calls use server-side credit metering and approval checks.
47
+ - The CLI does not create personal MCP tokens for app-session sign-in.
package/README.md CHANGED
@@ -10,7 +10,7 @@ It is a thin client. Every capability comes from the same API the Tabbio apps
10
10
  use, over the same authentication, so the CLI can never do more than you can do
11
11
  in the app.
12
12
 
13
- Version 1.2.8. Where this guide and the code disagree, the code is right.
13
+ Version 1.3.1. Where this guide and the code disagree, the code is right.
14
14
 
15
15
  - [Install](#install)
16
16
  - [First run](#first-run)
@@ -744,7 +744,7 @@ function warn(message, hint) {
744
744
  // src/core/version.ts
745
745
  import { readFileSync as readFileSync2 } from "node:fs";
746
746
  import { join as join3 } from "node:path";
747
- var CLI_VERSION = true ? "1.3.0" : readPackageField("version") ?? "0.0.0-dev";
747
+ var CLI_VERSION = true ? "1.3.1" : readPackageField("version") ?? "0.0.0-dev";
748
748
  var CLI_PACKAGE_NAME = true ? "@tabbio-technologies/cli" : readPackageField("name") ?? "@tabbio-technologies/cli";
749
749
  function userAgent() {
750
750
  return `tabbio-cli/${CLI_VERSION} node/${process.versions.node} ${process.platform}-${process.arch}`;
@@ -2097,4 +2097,4 @@ export {
2097
2097
  readGlobalOptions,
2098
2098
  createCommandContext
2099
2099
  };
2100
- //# sourceMappingURL=chunk-XR6APSWD.js.map
2100
+ //# sourceMappingURL=chunk-GGJEDG3P.js.map
@@ -15,7 +15,7 @@ import {
15
15
  readCachedCatalog,
16
16
  relativeTime,
17
17
  writeOut
18
- } from "./chunk-XR6APSWD.js";
18
+ } from "./chunk-GGJEDG3P.js";
19
19
  import {
20
20
  theme
21
21
  } from "./chunk-VHHZFMIF.js";
@@ -174,4 +174,4 @@ export {
174
174
  mcpSummary,
175
175
  registerStatusCommand
176
176
  };
177
- //# sourceMappingURL=chunk-FO6AU5UZ.js.map
177
+ //# sourceMappingURL=chunk-KBIQKZUK.js.map
@@ -41,7 +41,7 @@ import {
41
41
  usageError,
42
42
  warn,
43
43
  writeOut
44
- } from "./chunk-XR6APSWD.js";
44
+ } from "./chunk-GGJEDG3P.js";
45
45
  import {
46
46
  activeCommandSignal
47
47
  } from "./chunk-NK5RPNSV.js";
@@ -3525,4 +3525,4 @@ export {
3525
3525
  describeUser,
3526
3526
  registerLoginCommand
3527
3527
  };
3528
- //# sourceMappingURL=chunk-WRDHOZD7.js.map
3528
+ //# sourceMappingURL=chunk-KHLGZ5IV.js.map
@@ -64,7 +64,7 @@ import {
64
64
  supportsHyperlinks,
65
65
  unavailableNotices,
66
66
  waitForArtifact
67
- } from "./chunk-WRDHOZD7.js";
67
+ } from "./chunk-KHLGZ5IV.js";
68
68
  import {
69
69
  clipLines,
70
70
  displayWidth,
@@ -101,7 +101,7 @@ import {
101
101
  readCachedCatalog,
102
102
  relativeTime,
103
103
  toCliError
104
- } from "./chunk-XR6APSWD.js";
104
+ } from "./chunk-GGJEDG3P.js";
105
105
  import "./chunk-NK5RPNSV.js";
106
106
  import {
107
107
  theme
@@ -3272,7 +3272,7 @@ function createUiServices(ctx, opts = {}) {
3272
3272
  saveCvExport: (cvId, exportOpts) => saveCvExportToDisk(ctx, cvId, exportOpts ?? {}),
3273
3273
  readSavedPreview: (path, maxLines) => readSavedPreview(path, maxLines),
3274
3274
  async loadStatus() {
3275
- const { collectStatus } = await import("./status-P5E6N54K.js");
3275
+ const { collectStatus } = await import("./status-2C7BECKK.js");
3276
3276
  const report = await collectStatus(ctx);
3277
3277
  const who = report.user ? report.user.name ? `${report.user.name} <${report.user.email}>` : report.user.email : "not signed in";
3278
3278
  const rows = [
@@ -4742,4 +4742,4 @@ export {
4742
4742
  runShowResult,
4743
4743
  runToolForm
4744
4744
  };
4745
- //# sourceMappingURL=entry-E22QDWDP.js.map
4745
+ //# sourceMappingURL=entry-ZAXWZSEE.js.map
@@ -4,7 +4,7 @@ import {
4
4
  mcpSummary,
5
5
  registerStatusCommand,
6
6
  registerWhoamiCommand
7
- } from "./chunk-FO6AU5UZ.js";
7
+ } from "./chunk-KBIQKZUK.js";
8
8
  import {
9
9
  ARTIFACT_KINDS,
10
10
  ARTIFACT_PRODUCING_TOOL_IDS,
@@ -81,7 +81,7 @@ import {
81
81
  uniquePath,
82
82
  waitForArtifact,
83
83
  writeJson
84
- } from "./chunk-WRDHOZD7.js";
84
+ } from "./chunk-KHLGZ5IV.js";
85
85
  import {
86
86
  TerminalTextSanitizer,
87
87
  safeTerminalText
@@ -138,7 +138,7 @@ import {
138
138
  usageError,
139
139
  warn,
140
140
  writeOut
141
- } from "./chunk-XR6APSWD.js";
141
+ } from "./chunk-GGJEDG3P.js";
142
142
  import {
143
143
  activeCommandSignal,
144
144
  cancelActiveCommand
@@ -1496,7 +1496,7 @@ function registerChatCommand(program) {
1496
1496
  return;
1497
1497
  }
1498
1498
  assertInteractive("Chat");
1499
- const { runChat } = await import("./entry-E22QDWDP.js");
1499
+ const { runChat } = await import("./entry-ZAXWZSEE.js");
1500
1500
  await runChat(ctx, {
1501
1501
  mode: opts.mode,
1502
1502
  companyId: opts.company,
@@ -1989,7 +1989,7 @@ function registerDoctorCommand(program) {
1989
1989
  // src/commands/home.ts
1990
1990
  function registerHome() {
1991
1991
  setHomeHandler(async (ctx) => {
1992
- const { runHome } = await import("./entry-E22QDWDP.js");
1992
+ const { runHome } = await import("./entry-ZAXWZSEE.js");
1993
1993
  await runHome(ctx, { saveArtifacts: resolveSaveArtifacts(void 0) });
1994
1994
  });
1995
1995
  }
@@ -2450,19 +2450,19 @@ function registerWorkflowsCommand(program) {
2450
2450
  function installInteractiveUi() {
2451
2451
  const hooks = {
2452
2452
  async browseTools(ctx, tools, options) {
2453
- const { runBrowseTools } = await import("./entry-E22QDWDP.js");
2453
+ const { runBrowseTools } = await import("./entry-ZAXWZSEE.js");
2454
2454
  return runBrowseTools(ctx, tools, options);
2455
2455
  },
2456
2456
  async runToolForm(ctx, tool, initial, options) {
2457
- const { runToolForm } = await import("./entry-E22QDWDP.js");
2457
+ const { runToolForm } = await import("./entry-ZAXWZSEE.js");
2458
2458
  return runToolForm(ctx, tool, initial, options);
2459
2459
  },
2460
2460
  async approvalPrompt(ctx, approval) {
2461
- const { runApprovalPrompt } = await import("./entry-E22QDWDP.js");
2461
+ const { runApprovalPrompt } = await import("./entry-ZAXWZSEE.js");
2462
2462
  return runApprovalPrompt(ctx, approval);
2463
2463
  },
2464
2464
  async showResult(ctx, tool, result, meta) {
2465
- const { runShowResult } = await import("./entry-E22QDWDP.js");
2465
+ const { runShowResult } = await import("./entry-ZAXWZSEE.js");
2466
2466
  return runShowResult(ctx, tool, result, meta);
2467
2467
  }
2468
2468
  };
@@ -2691,4 +2691,4 @@ export {
2691
2691
  scanArgv,
2692
2692
  setHomeHandler
2693
2693
  };
2694
- //# sourceMappingURL=program-HOHDF6FM.js.map
2694
+ //# sourceMappingURL=program-J6GENE2V.js.map
@@ -4,8 +4,8 @@ import {
4
4
  collectStatus,
5
5
  mcpSummary,
6
6
  registerStatusCommand
7
- } from "./chunk-FO6AU5UZ.js";
8
- import "./chunk-XR6APSWD.js";
7
+ } from "./chunk-KBIQKZUK.js";
8
+ import "./chunk-GGJEDG3P.js";
9
9
  import "./chunk-NK5RPNSV.js";
10
10
  import "./chunk-VHHZFMIF.js";
11
11
  export {
@@ -13,4 +13,4 @@ export {
13
13
  mcpSummary,
14
14
  registerStatusCommand
15
15
  };
16
- //# sourceMappingURL=status-P5E6N54K.js.map
16
+ //# sourceMappingURL=status-2C7BECKK.js.map
package/dist/cli.js CHANGED
@@ -59,7 +59,7 @@ function flush(stream) {
59
59
  else stream.write("", () => resolve());
60
60
  });
61
61
  }
62
- var { runCli } = await import("./chunks/program-HOHDF6FM.js");
62
+ var { runCli } = await import("./chunks/program-J6GENE2V.js");
63
63
  var code = await runCli(process.argv);
64
64
  await Promise.all([flush(process.stdout), flush(process.stderr)]);
65
65
  process.exitCode = interrupted ? 130 : code;
package/package.json CHANGED
@@ -1,15 +1,9 @@
1
1
  {
2
2
  "name": "@tabbio-technologies/cli",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Tabbio in your terminal: every Tabbio tool, streaming chat, approvals and a stdio MCP bridge.",
5
5
  "license": "UNLICENSED",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/ibilalchaudhary/tabbio-v2.git",
9
- "directory": "apps/cli"
10
- },
11
6
  "homepage": "https://www.tabbio.com/en/cli",
12
- "bugs": "https://github.com/ibilalchaudhary/tabbio-v2/issues",
13
7
  "keywords": ["tabbio", "career", "cli", "mcp"],
14
8
  "publishConfig": { "access": "public" },
15
9
  "type": "module",
@@ -17,7 +11,8 @@
17
11
  "tabbio": "dist/cli.js"
18
12
  },
19
13
  "files": [
20
- "dist"
14
+ "dist",
15
+ "CHANGELOG.md"
21
16
  ],
22
17
  "engines": {
23
18
  "node": ">=20"