@knpkv/jira-cli 1.5.1 → 1.6.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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @knpkv/jira-cli
2
2
 
3
+ ## 1.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#479](https://github.com/knpkv/npm/pull/479) [`1ef1847`](https://github.com/knpkv/npm/commit/1ef1847c867f83de237dec1c454b6bb5e40183ef) Thanks [@konopkov](https://github.com/konopkov)! - One error report for every Atlassian CLI (`jira`, `confluence`, `atlassian`), from the new `@knpkv/atlassian-common/cli` subpath (`handleCliError`, `withCliErrorHandling`, `Verbose`, `commandArgs`, `verboseRequested`).
8
+
9
+ - A failed command prints the error's message; a defect prints `Error: <message>`. The full cause, with stack traces, prints only with the new global `--verbose` flag or `DEBUG=1`.
10
+ - jira: stderr no longer prints the pretty-printed cause and stack trace by default.
11
+ - atlassian: tagged errors print their message instead of `String(error)`, and defects are reported too.
12
+ - Help and usage errors that the CLI already rendered are not printed a second time. Exit codes are unchanged.
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [[`1ef1847`](https://github.com/knpkv/npm/commit/1ef1847c867f83de237dec1c454b6bb5e40183ef)]:
17
+ - @knpkv/atlassian-common@1.9.0
18
+
3
19
  ## 1.5.1
4
20
 
5
21
  ### Patch Changes
package/README.md CHANGED
@@ -299,3 +299,11 @@ const direct = Effect.gen(function* () {
299
299
  ## License
300
300
 
301
301
  MIT
302
+
303
+ ## Troubleshooting
304
+
305
+ A failed command prints the error message. Add `--verbose` (or set `DEBUG=1`) to print the full cause with stack traces:
306
+
307
+ ```bash
308
+ jira --verbose auth status
309
+ ```
package/dist/bin.js CHANGED
@@ -8,12 +8,13 @@
8
8
  */
9
9
  import { NodeRuntime, NodeStdio } from "@effect/platform-node";
10
10
  import { makeInstallCommand } from "@knpkv/agent-skills";
11
+ import { commandArgs, Verbose, withCliErrorHandling } from "@knpkv/atlassian-common/cli";
11
12
  import { Command } from "effect/cli";
12
13
  import * as Console from "effect/Console";
13
14
  import * as Effect from "effect/Effect";
14
15
  import * as Stdio from "effect/Stdio";
15
16
  import pkg from "../package.json" with { type: "json" };
16
- import { AppLayer, authCommand, AuthOnlyLayer, getLayerType, handleError, issueCommand, MinimalLayer, versionCommand } from "./commands/index.js";
17
+ import { AppLayer, authCommand, AuthOnlyLayer, getLayerType, issueCommand, MinimalLayer, versionCommand } from "./commands/index.js";
17
18
  const skillsInstall = makeInstallCommand({
18
19
  description: "Install the Jira agent skill",
19
20
  name: "install",
@@ -21,7 +22,7 @@ const skillsInstall = makeInstallCommand({
21
22
  });
22
23
  const skillsCommand = Command.make("skills", {}, () => Console.log("Usage: jira skills install")).pipe(Command.withDescription("Local write agent skill commands"), Command.withSubcommands([skillsInstall]));
23
24
  // === Main command ===
24
- const jira = Command.make("jira").pipe(Command.withDescription("Jira CLI commands"), Command.withSubcommands([
25
+ const jira = Command.make("jira").pipe(Command.withDescription("Jira CLI commands"), Command.withGlobalFlags([Verbose]), Command.withSubcommands([
25
26
  authCommand,
26
27
  issueCommand,
27
28
  skillsCommand,
@@ -34,13 +35,16 @@ const cli = Command.runWith(jira, {
34
35
  const program = Effect.gen(function* () {
35
36
  const stdio = yield* Stdio.Stdio;
36
37
  const args = yield* stdio.args;
37
- const layerType = getLayerType(args);
38
+ const layerType = getLayerType(commandArgs(args));
38
39
  const layer = layerType === "full"
39
40
  ? AppLayer
40
41
  : layerType === "auth"
41
42
  ? AuthOnlyLayer
42
43
  : MinimalLayer;
43
44
  return yield* cli(args).pipe(Effect.provide(layer));
44
- }).pipe(Effect.provide(NodeStdio.layer), Effect.catchCause((cause) => handleError(cause).pipe(Effect.andThen(Effect.failCause(cause)))));
45
+ }).pipe(withCliErrorHandling,
46
+ // Executable entry point: the host's stdio is provided once for this process.
47
+ // @effect-diagnostics-next-line strictEffectProvide:off
48
+ Effect.provide(NodeStdio.layer));
45
49
  NodeRuntime.runMain(program, { disableErrorReporting: true });
46
50
  //# sourceMappingURL=bin.js.map
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACvD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACf,MAAM,qBAAqB,CAAA;AAE5B,MAAM,aAAa,GAAG,kBAAkB,CAAC;IACvC,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,CAAC,MAAM,CAAC;CACjB,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CACpG,OAAO,CAAC,eAAe,CAAC,kCAAkC,CAAC,EAC3D,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,CACzC,CAAA;AAED,uBAAuB;AACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACpC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAC5C,OAAO,CAAC,eAAe,CAAC;IACtB,WAAW;IACX,YAAY;IACZ,aAAa;IACb,cAAc;CACf,CAAC,CACH,CAAA;AAED,kBAAkB;AAClB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;IAChC,OAAO,EAAE,GAAG,CAAC,OAAO;CACrB,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM;QAChC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS,KAAK,MAAM;YACtB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,YAAY,CAAA;IAEhB,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CACtB,CAAA;AACH,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAA;AAED,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACvD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACf,MAAM,qBAAqB,CAAA;AAE5B,MAAM,aAAa,GAAG,kBAAkB,CAAC;IACvC,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,CAAC,MAAM,CAAC;CACjB,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CACpG,OAAO,CAAC,eAAe,CAAC,kCAAkC,CAAC,EAC3D,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,CACzC,CAAA;AAED,uBAAuB;AACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACpC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAC5C,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,EAClC,OAAO,CAAC,eAAe,CAAC;IACtB,WAAW;IACX,YAAY;IACZ,aAAa;IACb,cAAc;CACf,CAAC,CACH,CAAA;AAED,kBAAkB;AAClB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;IAChC,OAAO,EAAE,GAAG,CAAC,OAAO;CACrB,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM;QAChC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS,KAAK,MAAM;YACtB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,YAAY,CAAA;IAEhB,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CACtB,CAAA;AACH,CAAC,CAAC,CAAC,IAAI,CACL,oBAAoB;AACpB,8EAA8E;AAC9E,wDAAwD;AACxD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAChC,CAAA;AAED,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAA"}
@@ -4,7 +4,6 @@
4
4
  * @module
5
5
  */
6
6
  export { authCommand } from "./auth.js";
7
- export { handleError } from "./errorHandler.js";
8
7
  export { issueCommand } from "./issue.js";
9
8
  export { attachmentCommand } from "./issueAttachment.js";
10
9
  export { AppLayer, AuthOnlyLayer, getLayerType, MinimalLayer } from "./layers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
@@ -4,7 +4,6 @@
4
4
  * @module
5
5
  */
6
6
  export { authCommand } from "./auth.js";
7
- export { handleError } from "./errorHandler.js";
8
7
  export { issueCommand } from "./issue.js";
9
8
  export { attachmentCommand } from "./issueAttachment.js";
10
9
  export { AppLayer, AuthOnlyLayer, getLayerType, MinimalLayer } from "./layers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knpkv/jira-cli",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "CLI tool to fetch Jira tickets and export to markdown",
5
5
  "license": "MIT",
6
6
  "author": "knpkv",
@@ -61,7 +61,7 @@
61
61
  "gray-matter": "^4.0.3",
62
62
  "js-yaml": "5.4.2",
63
63
  "@knpkv/agent-skills": "^0.3.3",
64
- "@knpkv/atlassian-common": "1.8.0",
64
+ "@knpkv/atlassian-common": "1.9.0",
65
65
  "@knpkv/jira-api-client": "2.0.0"
66
66
  },
67
67
  "devDependencies": {
package/src/bin.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { NodeRuntime, NodeStdio } from "@effect/platform-node"
10
10
  import { makeInstallCommand } from "@knpkv/agent-skills"
11
+ import { commandArgs, Verbose, withCliErrorHandling } from "@knpkv/atlassian-common/cli"
11
12
  import { Command } from "effect/cli"
12
13
  import * as Console from "effect/Console"
13
14
  import * as Effect from "effect/Effect"
@@ -18,7 +19,6 @@ import {
18
19
  authCommand,
19
20
  AuthOnlyLayer,
20
21
  getLayerType,
21
- handleError,
22
22
  issueCommand,
23
23
  MinimalLayer,
24
24
  versionCommand
@@ -38,6 +38,7 @@ const skillsCommand = Command.make("skills", {}, () => Console.log("Usage: jira
38
38
  // === Main command ===
39
39
  const jira = Command.make("jira").pipe(
40
40
  Command.withDescription("Jira CLI commands"),
41
+ Command.withGlobalFlags([Verbose]),
41
42
  Command.withSubcommands([
42
43
  authCommand,
43
44
  issueCommand,
@@ -54,7 +55,7 @@ const cli = Command.runWith(jira, {
54
55
  const program = Effect.gen(function*() {
55
56
  const stdio = yield* Stdio.Stdio
56
57
  const args = yield* stdio.args
57
- const layerType = getLayerType(args)
58
+ const layerType = getLayerType(commandArgs(args))
58
59
  const layer = layerType === "full"
59
60
  ? AppLayer
60
61
  : layerType === "auth"
@@ -65,8 +66,10 @@ const program = Effect.gen(function*() {
65
66
  Effect.provide(layer)
66
67
  )
67
68
  }).pipe(
68
- Effect.provide(NodeStdio.layer),
69
- Effect.catchCause((cause) => handleError(cause).pipe(Effect.andThen(Effect.failCause(cause))))
69
+ withCliErrorHandling,
70
+ // Executable entry point: the host's stdio is provided once for this process.
71
+ // @effect-diagnostics-next-line strictEffectProvide:off
72
+ Effect.provide(NodeStdio.layer)
70
73
  )
71
74
 
72
75
  NodeRuntime.runMain(program, { disableErrorReporting: true })
@@ -5,7 +5,6 @@
5
5
  */
6
6
 
7
7
  export { authCommand } from "./auth.js"
8
- export { handleError } from "./errorHandler.js"
9
8
  export { issueCommand } from "./issue.js"
10
9
  export { attachmentCommand } from "./issueAttachment.js"
11
10
  export { AppLayer, AuthOnlyLayer, getLayerType, MinimalLayer } from "./layers.js"
@@ -1,17 +1,9 @@
1
1
  import { defineConfig } from "vitest/config"
2
+ import { workspaceSourceAlias } from "../../vitest.workspace-sources.ts"
2
3
 
3
4
  export default defineConfig({
4
5
  resolve: {
5
- alias: {
6
- "@knpkv/atlassian-common/attachments":
7
- new URL("../atlassian-common/src/attachments.ts", import.meta.url).pathname,
8
- "@knpkv/atlassian-common/auth": new URL("../atlassian-common/src/auth/index.ts", import.meta.url).pathname,
9
- "@knpkv/atlassian-common/cli-auth":
10
- new URL("../atlassian-common/src/cli-auth/index.ts", import.meta.url).pathname,
11
- "@knpkv/atlassian-common/config": new URL("../atlassian-common/src/config/index.ts", import.meta.url).pathname,
12
- "@knpkv/agent-skills": new URL("../agent-skills/src/index.ts", import.meta.url).pathname,
13
- "@knpkv/jira-api-client": new URL("../jira-api-client/src/index.ts", import.meta.url).pathname
14
- }
6
+ alias: [...workspaceSourceAlias]
15
7
  },
16
8
  test: {
17
9
  include: ["test/integration.test.ts"],
package/vitest.config.ts CHANGED
@@ -1,17 +1,9 @@
1
1
  import { defineConfig } from "vitest/config"
2
+ import { workspaceSourceAlias } from "../../vitest.workspace-sources.ts"
2
3
 
3
4
  export default defineConfig({
4
5
  resolve: {
5
- alias: {
6
- "@knpkv/atlassian-common/attachments":
7
- new URL("../atlassian-common/src/attachments.ts", import.meta.url).pathname,
8
- "@knpkv/atlassian-common/auth": new URL("../atlassian-common/src/auth/index.ts", import.meta.url).pathname,
9
- "@knpkv/atlassian-common/cli-auth":
10
- new URL("../atlassian-common/src/cli-auth/index.ts", import.meta.url).pathname,
11
- "@knpkv/atlassian-common/config": new URL("../atlassian-common/src/config/index.ts", import.meta.url).pathname,
12
- "@knpkv/agent-skills": new URL("../agent-skills/src/index.ts", import.meta.url).pathname,
13
- "@knpkv/jira-api-client": new URL("../jira-api-client/src/index.ts", import.meta.url).pathname
14
- }
6
+ alias: [...workspaceSourceAlias]
15
7
  },
16
8
  test: {
17
9
  include: ["test/**/*.test.ts"],
@@ -1,13 +0,0 @@
1
- /**
2
- * Effect-idiomatic error handler — uses Cause.pretty for structured failure output.
3
- *
4
- * @internal
5
- */
6
- import * as Cause from "effect/Cause";
7
- import type * as Effect from "effect/Effect";
8
- /**
9
- * Handle errors from CLI execution.
10
- * Logs the pretty-printed cause to stderr via Console.error.
11
- */
12
- export declare const handleError: <E>(cause: Cause.Cause<E>) => Effect.Effect<void>;
13
- //# sourceMappingURL=errorHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/commands/errorHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAuC,CAAA"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Effect-idiomatic error handler — uses Cause.pretty for structured failure output.
3
- *
4
- * @internal
5
- */
6
- import * as Cause from "effect/Cause";
7
- import * as Console from "effect/Console";
8
- /**
9
- * Handle errors from CLI execution.
10
- * Logs the pretty-printed cause to stderr via Console.error.
11
- */
12
- export const handleError = (cause) => Console.error(Cause.pretty(cause));
13
- //# sourceMappingURL=errorHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../src/commands/errorHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAGzC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAqB,EAAuB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Effect-idiomatic error handler — uses Cause.pretty for structured failure output.
3
- *
4
- * @internal
5
- */
6
- import * as Cause from "effect/Cause"
7
- import * as Console from "effect/Console"
8
- import type * as Effect from "effect/Effect"
9
-
10
- /**
11
- * Handle errors from CLI execution.
12
- * Logs the pretty-printed cause to stderr via Console.error.
13
- */
14
- export const handleError = <E>(cause: Cause.Cause<E>): Effect.Effect<void> => Console.error(Cause.pretty(cause))