@knpkv/jira-clockify 1.5.0 → 1.6.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.
Files changed (102) hide show
  1. package/README.md +36 -5
  2. package/dist/package.json +15 -5
  3. package/dist/src/bin.js +16 -5
  4. package/dist/src/bin.js.map +1 -1
  5. package/dist/src/cli/CommandFailed.d.ts +27 -0
  6. package/dist/src/cli/CommandFailed.d.ts.map +1 -0
  7. package/dist/src/cli/CommandFailed.js +25 -0
  8. package/dist/src/cli/CommandFailed.js.map +1 -0
  9. package/dist/src/cli/auth.d.ts +23 -3
  10. package/dist/src/cli/auth.d.ts.map +1 -1
  11. package/dist/src/cli/auth.js +123 -102
  12. package/dist/src/cli/auth.js.map +1 -1
  13. package/dist/src/cli/config.d.ts +2 -1
  14. package/dist/src/cli/config.d.ts.map +1 -1
  15. package/dist/src/cli/config.js +43 -29
  16. package/dist/src/cli/config.js.map +1 -1
  17. package/dist/src/cli/fetchTicket.d.ts +3 -3
  18. package/dist/src/cli/fetchTicket.d.ts.map +1 -1
  19. package/dist/src/cli/fetchTicket.js +7 -7
  20. package/dist/src/cli/fetchTicket.js.map +1 -1
  21. package/dist/src/cli/layers.d.ts +6 -5
  22. package/dist/src/cli/layers.d.ts.map +1 -1
  23. package/dist/src/cli/layers.js +16 -15
  24. package/dist/src/cli/layers.js.map +1 -1
  25. package/dist/src/cli/list.d.ts +3 -2
  26. package/dist/src/cli/list.d.ts.map +1 -1
  27. package/dist/src/cli/list.js +11 -5
  28. package/dist/src/cli/list.js.map +1 -1
  29. package/dist/src/cli/reconcile.d.ts +12 -3
  30. package/dist/src/cli/reconcile.d.ts.map +1 -1
  31. package/dist/src/cli/reconcile.js +71 -23
  32. package/dist/src/cli/reconcile.js.map +1 -1
  33. package/dist/src/cli/root.d.ts.map +1 -1
  34. package/dist/src/cli/root.js +3 -3
  35. package/dist/src/cli/root.js.map +1 -1
  36. package/dist/src/cli/setup.d.ts +14 -4
  37. package/dist/src/cli/setup.d.ts.map +1 -1
  38. package/dist/src/cli/setup.js +45 -94
  39. package/dist/src/cli/setup.js.map +1 -1
  40. package/dist/src/cli/timer/discard.d.ts +1 -1
  41. package/dist/src/cli/timer/discard.d.ts.map +1 -1
  42. package/dist/src/cli/timer/discard.js +2 -1
  43. package/dist/src/cli/timer/discard.js.map +1 -1
  44. package/dist/src/cli/timer/log.d.ts +1 -1
  45. package/dist/src/cli/timer/log.d.ts.map +1 -1
  46. package/dist/src/cli/timer/log.js +2 -1
  47. package/dist/src/cli/timer/log.js.map +1 -1
  48. package/dist/src/cli/timer/start.d.ts +2 -1
  49. package/dist/src/cli/timer/start.d.ts.map +1 -1
  50. package/dist/src/cli/timer/start.js +6 -8
  51. package/dist/src/cli/timer/start.js.map +1 -1
  52. package/dist/src/cli/timer/stop.d.ts +1 -1
  53. package/dist/src/cli/timer/stop.d.ts.map +1 -1
  54. package/dist/src/cli/timer.d.ts.map +1 -1
  55. package/dist/src/cli/timer.js +8 -1
  56. package/dist/src/cli/timer.js.map +1 -1
  57. package/dist/src/cli/unknownCommand.d.ts +24 -0
  58. package/dist/src/cli/unknownCommand.d.ts.map +1 -0
  59. package/dist/src/cli/unknownCommand.js +84 -0
  60. package/dist/src/cli/unknownCommand.js.map +1 -0
  61. package/dist/src/cli/watch.d.ts +2 -2
  62. package/dist/src/cli/watch.d.ts.map +1 -1
  63. package/dist/src/services/ConfigService.d.ts +2 -0
  64. package/dist/src/services/ConfigService.d.ts.map +1 -1
  65. package/dist/src/services/ConfigService.js +2 -1
  66. package/dist/src/services/ConfigService.js.map +1 -1
  67. package/dist/src/services/IssueFacts.d.ts +2 -2
  68. package/dist/src/services/IssueFacts.d.ts.map +1 -1
  69. package/dist/src/services/IssueFacts.js +5 -5
  70. package/dist/src/services/IssueFacts.js.map +1 -1
  71. package/dist/src/services/JiraAccess.d.ts +140 -0
  72. package/dist/src/services/JiraAccess.d.ts.map +1 -0
  73. package/dist/src/services/JiraAccess.js +204 -0
  74. package/dist/src/services/JiraAccess.js.map +1 -0
  75. package/dist/src/services/ProviderSnapshots.d.ts +2 -2
  76. package/dist/src/services/ProviderSnapshots.d.ts.map +1 -1
  77. package/dist/src/services/ProviderSnapshots.js +14 -24
  78. package/dist/src/services/ProviderSnapshots.js.map +1 -1
  79. package/dist/src/services/ReconcileService.d.ts +2 -2
  80. package/dist/src/services/ReconcileService.d.ts.map +1 -1
  81. package/dist/src/services/ReconcileService.js +11 -4
  82. package/dist/src/services/ReconcileService.js.map +1 -1
  83. package/dist/src/services/SavedEntries.d.ts +1 -1
  84. package/dist/src/services/SavedEntries.d.ts.map +1 -1
  85. package/dist/src/services/TimerService.d.ts +3 -3
  86. package/dist/src/services/TimerService.d.ts.map +1 -1
  87. package/dist/src/services/TimerService.js +6 -17
  88. package/dist/src/services/TimerService.js.map +1 -1
  89. package/dist/src/testing/fakeHeadless.d.ts +1 -1
  90. package/dist/src/testing/fakeHeadless.d.ts.map +1 -1
  91. package/dist/src/testing/fakeHeadless.js +17 -7
  92. package/dist/src/testing/fakeHeadless.js.map +1 -1
  93. package/dist/src/tui/App.js +1 -1
  94. package/dist/src/tui/atoms/runtime.d.ts +1 -1
  95. package/dist/src/tui/atoms/runtime.d.ts.map +1 -1
  96. package/dist/src/utils/hints.d.ts +4 -2
  97. package/dist/src/utils/hints.d.ts.map +1 -1
  98. package/dist/src/utils/hints.js +4 -2
  99. package/dist/src/utils/hints.js.map +1 -1
  100. package/dist/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +7 -7
  102. package/skills/jcf/SKILL.md +9 -6
@@ -44,11 +44,11 @@ export declare const runWatch: (options: {
44
44
  readonly agent: string;
45
45
  readonly intervalSeconds: number;
46
46
  readonly dryRun: boolean;
47
- }) => Effect.Effect<void, WatchUsageError, ConfigService | import("effect/FileSystem").FileSystem | IssueFacts | import("@knpkv/jira-api-client").JiraApiClient | import("@knpkv/jira-cli/JiraAuth").JiraAuth | import("effect/Path").Path | ReconcileService>;
47
+ }) => Effect.Effect<void, WatchUsageError, ConfigService | import("effect/FileSystem").FileSystem | IssueFacts | import("../services/JiraAccess.js").JiraAccess | import("@knpkv/jira-api-client").JiraApiClient | import("effect/Path").Path | ReconcileService>;
48
48
  export declare const watch: Command.Command<"watch", {
49
49
  readonly agent: Option.Option<string>;
50
50
  readonly interval: Option.Option<number>;
51
51
  readonly dryRun: boolean;
52
- }, {}, WatchUsageError, ConfigService | import("effect/FileSystem").FileSystem | IssueFacts | import("@knpkv/jira-api-client").JiraApiClient | import("@knpkv/jira-cli/JiraAuth").JiraAuth | import("effect/Path").Path | ReconcileService>;
52
+ }, {}, WatchUsageError, ConfigService | import("effect/FileSystem").FileSystem | IssueFacts | import("../services/JiraAccess.js").JiraAccess | import("@knpkv/jira-api-client").JiraApiClient | import("effect/Path").Path | ReconcileService>;
53
53
  export {};
54
54
  //# sourceMappingURL=watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAY,MAAM,QAAQ,CAAA;AACzE,OAAO,EAAoB,OAAO,EAAmB,MAAM,YAAY,CAAA;AAKvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAe,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;;;;AA4BlE,oGAAoG;AACpG,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC;IACA,SAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,SAAQ;CAClD;AA8CD,eAAO,MAAM,QAAQ,YAAa;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB,6PAuXI,CAAA;AAEL,eAAO,MAAM,KAAK;;;;2OA+BjB,CAAA"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/cli/watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAY,MAAM,QAAQ,CAAA;AACzE,OAAO,EAAoB,OAAO,EAAmB,MAAM,YAAY,CAAA;AAKvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAe,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;;;;AA4BlE,oGAAoG;AACpG,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC;IACA,SAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,SAAQ;CAClD;AA8CD,eAAO,MAAM,QAAQ,YAAa;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB,gQAuXI,CAAA;AAEL,eAAO,MAAM,KAAK;;;;8OA+BjB,CAAA"}
@@ -85,6 +85,8 @@ export interface ConfigServiceContract {
85
85
  readonly get: Effect.Effect<JcfConfig>;
86
86
  readonly set: (patch: Partial<JcfConfig>) => Effect.Effect<void>;
87
87
  readonly configDir: Effect.Effect<string>;
88
+ /** Whether `~/.jcf/config.json` exists; when it does not, `get` is jcf's defaults. */
89
+ readonly fileExists: Effect.Effect<boolean>;
88
90
  }
89
91
  declare const ConfigService_base: Context.ServiceClass<ConfigService, "jcf/ConfigService", ConfigServiceContract>;
90
92
  export declare class ConfigService extends ConfigService_base {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigService.d.ts","sourceRoot":"","sources":["../../../src/services/ConfigService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAGnC,OAAO,EAA+B,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAE7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,SAAS;IACxB,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjD;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAA;IACtC;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,gBAAgB,EAAE,UAAU,GAAG,KAAK,CAAA;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACzD,sHAAsH;IACtH,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACtD;AAED,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,EAAE,SAiB9B,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACtC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAC1C;;AAED,qBAAa,aAAc,SAAQ,kBAA4E;CAAG;AAkDlH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,YAAa,MAAM,KAAG,OAAO,CAAC,SAAS,CAuCnE,CAAA;AAED,eAAO,MAAM,KAAK,sFAyCjB,CAAA"}
1
+ {"version":3,"file":"ConfigService.d.ts","sourceRoot":"","sources":["../../../src/services/ConfigService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAGnC,OAAO,EAA+B,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAE7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,WAAW,SAAS;IACxB,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjD;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAA;IACtC;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,gBAAgB,EAAE,UAAU,GAAG,KAAK,CAAA;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACzD,sHAAsH;IACtH,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACtD;AAED,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,EAAE,SAiB9B,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACtC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACzC,sFAAsF;IACtF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAC5C;;AAED,qBAAa,aAAc,SAAQ,kBAA4E;CAAG;AAkDlH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,YAAa,MAAM,KAAG,OAAO,CAAC,SAAS,CAuCnE,CAAA;AAED,eAAO,MAAM,KAAK,sFA0CjB,CAAA"}
@@ -164,7 +164,8 @@ export const layer = Layer.effect(ConfigService, Effect.gen(function* () {
164
164
  const current = yield* read;
165
165
  yield* write({ ...current, ...patch });
166
166
  }).pipe(Effect.catch(() => Effect.void)),
167
- configDir: Effect.succeed(dir)
167
+ configDir: Effect.succeed(dir),
168
+ fileExists: fs.exists(filePath).pipe(Effect.orElseSucceed(() => false))
168
169
  };
169
170
  }));
170
171
  //# sourceMappingURL=ConfigService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigService.js","sourceRoot":"","sources":["../../../src/services/ConfigService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigService.js","sourceRoot":"","sources":["../../../src/services/ConfigService.ts"],"names":[],"mappings":"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"}
@@ -20,13 +20,13 @@
20
20
  * @module
21
21
  */
22
22
  import { JiraApiClient } from "@knpkv/jira-api-client";
23
- import { JiraAuth } from "@knpkv/jira-cli/JiraAuth";
24
23
  import * as Context from "effect/Context";
25
24
  import * as Effect from "effect/Effect";
26
25
  import * as FileSystem from "effect/FileSystem";
27
26
  import * as Layer from "effect/Layer";
28
27
  import * as Path from "effect/Path";
29
28
  import { HomeDirectory } from "./HomeDirectory.js";
29
+ import { JiraAccess } from "./JiraAccess.js";
30
30
  /** What Jira says about one Issue Key. */
31
31
  export interface IssueFact {
32
32
  readonly key: string;
@@ -122,6 +122,6 @@ export declare const mergeCache: (options: {
122
122
  }) => IssueCache;
123
123
  /** `key in (A-1, A-2)`, for the keys a search is about. */
124
124
  export declare const keyClause: (keys: ReadonlyArray<string>) => string;
125
- export declare const layer: Layer.Layer<IssueFacts, never, FileSystem.FileSystem | HomeDirectory | JiraApiClient | JiraAuth | Path.Path>;
125
+ export declare const layer: Layer.Layer<IssueFacts, never, FileSystem.FileSystem | HomeDirectory | JiraAccess | JiraApiClient | Path.Path>;
126
126
  export {};
127
127
  //# sourceMappingURL=IssueFacts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IssueFacts.d.ts","sourceRoot":"","sources":["../../../src/services/IssueFacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssueFacts.d.ts","sourceRoot":"","sources":["../../../src/services/IssueFacts.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,6 @@
20
20
  * @module
21
21
  */
22
22
  import { JiraApiClient } from "@knpkv/jira-api-client";
23
- import { JiraAuth } from "@knpkv/jira-cli/JiraAuth";
24
23
  import * as Clock from "effect/Clock";
25
24
  import * as Context from "effect/Context";
26
25
  import * as Effect from "effect/Effect";
@@ -32,6 +31,7 @@ import * as Predicate from "effect/Predicate";
32
31
  import * as Schema from "effect/Schema";
33
32
  import { isTicketKey } from "../agent/sessions.js";
34
33
  import { HomeDirectory } from "./HomeDirectory.js";
34
+ import { JiraAccess } from "./JiraAccess.js";
35
35
  export class IssueFacts extends Context.Service()("jcf/IssueFacts") {
36
36
  }
37
37
  /** Admit unknown tickets, but withhold a positive other-owner fact unless explicitly overridden. */
@@ -192,7 +192,7 @@ export const layer = Layer.effect(IssueFacts, Effect.gen(function* () {
192
192
  const path = yield* Path.Path;
193
193
  const home = (yield* HomeDirectory).path;
194
194
  const jira = yield* JiraApiClient;
195
- const auth = yield* JiraAuth;
195
+ const access = yield* JiraAccess;
196
196
  const dir = path.join(home, CACHE_DIR);
197
197
  const filePath = path.join(dir, CACHE_FILE);
198
198
  const readCache = Effect.gen(function* () {
@@ -238,11 +238,11 @@ export const layer = Layer.effect(IssueFacts, Effect.gen(function* () {
238
238
  // A logged-out Jira resolves an empty cloudId into a URL Atlassian answers with a 404,
239
239
  // which would otherwise look exactly like "none of these issues exist" — and mark every
240
240
  // ticket as somebody else's.
241
- const loggedIn = yield* auth.isLoggedIn().pipe(Effect.orElseSucceed(() => false));
242
- if (!loggedIn)
241
+ const connection = yield* access.connection.pipe(Effect.orElseSucceed(() => Option.none()));
242
+ if (Option.isNone(connection))
243
243
  return { checked: false, facts: new Map() };
244
244
  const mine = yield* accountId.pipe(Effect.orElseSucceed(() => null));
245
- const cloudId = yield* auth.getCloudId().pipe(Effect.orElseSucceed(() => ""));
245
+ const cloudId = connection.value.cloudId;
246
246
  if (mine === null || cloudId === "")
247
247
  return { checked: false, facts: new Map() };
248
248
  const cache = yield* readCache;
@@ -1 +1 @@
1
- {"version":3,"file":"IssueFacts.js","sourceRoot":"","sources":["../../../src/services/IssueFacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssueFacts.js","sourceRoot":"","sources":["../../../src/services/IssueFacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * How jcf reaches Jira: an API token (`jcf auth jira token`) or the OAuth app (`jcf auth jira login`).
3
+ *
4
+ * **Mental model**
5
+ *
6
+ * - **One connection value.** {@link JiraConnection} carries the credential, the site, its cloud id and
7
+ * the account together, read at once, so a caller never addresses one site while authenticating or
8
+ * scoping against another.
9
+ * - **The API token wins.** `~/.jcf/jira.json` is used when present; otherwise the OAuth login.
10
+ * - **Not connected is a value**, `Option.none()`, distinct from an unreadable credential file.
11
+ * - **The token file** is written atomically with mode `0600` and is never printed.
12
+ *
13
+ * @module
14
+ */
15
+ import type { JiraApiCredential } from "@knpkv/jira-api-client";
16
+ import { JiraAuth } from "@knpkv/jira-cli/JiraAuth";
17
+ import * as Context from "effect/Context";
18
+ import * as Effect from "effect/Effect";
19
+ import * as FileSystem from "effect/FileSystem";
20
+ import * as HttpClient from "effect/http/HttpClient";
21
+ import * as Layer from "effect/Layer";
22
+ import * as Option from "effect/Option";
23
+ import * as Path from "effect/Path";
24
+ import * as Redacted from "effect/Redacted";
25
+ import * as Schema from "effect/Schema";
26
+ import { HomeDirectory } from "./HomeDirectory.js";
27
+ export { CONNECT_JIRA_COMMAND as connectJiraCommand } from "../utils/hints.js";
28
+ /** What `~/.jcf/jira.json` holds. The token stays in this file and in request headers only. */
29
+ declare const StoredToken: Schema.Struct<{
30
+ readonly siteUrl: Schema.String;
31
+ /**
32
+ * Where requests go: the site itself for a classic token, or Atlassian's gateway for the site
33
+ * (`https://api.atlassian.com/ex/jira/<cloudId>`) for a scoped token, which the site refuses.
34
+ */
35
+ readonly apiUrl: Schema.String;
36
+ readonly cloudId: Schema.String;
37
+ readonly email: Schema.String;
38
+ readonly apiToken: Schema.String;
39
+ readonly accountId: Schema.String;
40
+ readonly displayName: Schema.String;
41
+ }>;
42
+ export interface StoredToken extends Schema.Schema.Type<typeof StoredToken> {
43
+ }
44
+ export interface JiraConnection {
45
+ readonly method: "api-token" | "oauth";
46
+ readonly credential: JiraApiCredential;
47
+ readonly cloudId: string;
48
+ readonly siteUrl: string;
49
+ /** Empty when an OAuth login has not cached its account yet. */
50
+ readonly accountId: string;
51
+ readonly displayName: string;
52
+ }
53
+ declare const JiraAccessUnreadable_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
54
+ readonly _tag: "JiraAccessUnreadable";
55
+ } & Readonly<A>;
56
+ /** The Jira credential exists but cannot be read. */
57
+ export declare class JiraAccessUnreadable extends JiraAccessUnreadable_base<{
58
+ readonly path: string;
59
+ }> {
60
+ get message(): string;
61
+ }
62
+ declare const JiraTokenNotSaved_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
63
+ readonly _tag: "JiraTokenNotSaved";
64
+ } & Readonly<A>;
65
+ /** The token file could not be written. */
66
+ export declare class JiraTokenNotSaved extends JiraTokenNotSaved_base<{
67
+ readonly path: string;
68
+ }> {
69
+ get message(): string;
70
+ }
71
+ declare const JiraSiteInvalid_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
72
+ readonly _tag: "JiraSiteInvalid";
73
+ } & Readonly<A>;
74
+ /** What the user typed is not a Jira Cloud address, so no token is sent to it. */
75
+ export declare class JiraSiteInvalid extends JiraSiteInvalid_base<{
76
+ readonly input: string;
77
+ }> {
78
+ get message(): string;
79
+ }
80
+ declare const JiraLoginChanged_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
81
+ readonly _tag: "JiraLoginChanged";
82
+ } & Readonly<A>;
83
+ /** The OAuth login changed between reading its token and its profile; nothing mixed is used. */
84
+ export declare class JiraLoginChanged extends JiraLoginChanged_base<{}> {
85
+ get message(): string;
86
+ }
87
+ declare const JiraSiteNotFound_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
88
+ readonly _tag: "JiraSiteNotFound";
89
+ } & Readonly<A>;
90
+ /** Nothing answers as a Jira Cloud site at the address. */
91
+ export declare class JiraSiteNotFound extends JiraSiteNotFound_base<{
92
+ readonly siteUrl: string;
93
+ }> {
94
+ get message(): string;
95
+ }
96
+ declare const JiraUnreachable_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
97
+ readonly _tag: "JiraUnreachable";
98
+ } & Readonly<A>;
99
+ /** The site could not be reached at all. */
100
+ export declare class JiraUnreachable extends JiraUnreachable_base<{
101
+ readonly siteUrl: string;
102
+ }> {
103
+ get message(): string;
104
+ }
105
+ declare const JiraTokenRejected_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
106
+ readonly _tag: "JiraTokenRejected";
107
+ } & Readonly<A>;
108
+ /** The site answered, and refused the email and token. */
109
+ export declare class JiraTokenRejected extends JiraTokenRejected_base<{
110
+ readonly siteUrl: string;
111
+ readonly email: string;
112
+ }> {
113
+ get message(): string;
114
+ }
115
+ export type JiraTokenVerificationError = JiraSiteInvalid | JiraSiteNotFound | JiraUnreachable | JiraTokenRejected;
116
+ export interface JiraAccessContract {
117
+ /** The current connection, or none when Jira is not connected. Re-read on every call. */
118
+ readonly connection: Effect.Effect<Option.Option<JiraConnection>, JiraAccessUnreadable | JiraLoginChanged>;
119
+ /** Checks a site, email and token against Jira and returns what would be stored. Saves nothing. */
120
+ readonly verifyToken: (input: {
121
+ readonly site: string;
122
+ readonly email: string;
123
+ readonly apiToken: Redacted.Redacted<string>;
124
+ }) => Effect.Effect<StoredToken, JiraTokenVerificationError>;
125
+ readonly saveToken: (token: StoredToken) => Effect.Effect<void, JiraTokenNotSaved>;
126
+ /** Removes the token file. True when there was one. */
127
+ readonly removeToken: Effect.Effect<boolean, JiraTokenNotSaved>;
128
+ }
129
+ declare const JiraAccess_base: Context.ServiceClass<JiraAccess, "jcf/JiraAccess", JiraAccessContract>;
130
+ export declare class JiraAccess extends JiraAccess_base {
131
+ }
132
+ /**
133
+ * The origin of a Jira Cloud site the user typed: `team`, `team.atlassian.net` and a pasted Jira URL
134
+ * all name `https://team.atlassian.net`. Only `*.atlassian.net` over https is accepted, because the
135
+ * token is sent to this host: a typo or a look-alike domain must fail before any credential leaves.
136
+ * Plain http on loopback is the one exception, for stand-ins in tests.
137
+ */
138
+ export declare const siteOrigin: (input: string) => Option.Option<string>;
139
+ export declare const layer: Layer.Layer<JiraAccess, never, FileSystem.FileSystem | HomeDirectory | HttpClient.HttpClient | JiraAuth | Path.Path>;
140
+ //# sourceMappingURL=JiraAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JiraAccess.d.ts","sourceRoot":"","sources":["../../../src/services/JiraAccess.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ import { JiraAuth } from "@knpkv/jira-cli/JiraAuth";
2
+ import * as Context from "effect/Context";
3
+ import * as Data from "effect/Data";
4
+ import * as Effect from "effect/Effect";
5
+ import { Base64 } from "effect/encoding";
6
+ import * as FileSystem from "effect/FileSystem";
7
+ import * as HttpClient from "effect/http/HttpClient";
8
+ import * as HttpClientRequest from "effect/http/HttpClientRequest";
9
+ import * as Layer from "effect/Layer";
10
+ import * as Option from "effect/Option";
11
+ import * as Path from "effect/Path";
12
+ import * as Predicate from "effect/Predicate";
13
+ import * as Random from "effect/Random";
14
+ import * as Redacted from "effect/Redacted";
15
+ import * as Schema from "effect/Schema";
16
+ import { CONNECT_JIRA_COMMAND as connectJiraCommand } from "../utils/hints.js";
17
+ import { HomeDirectory } from "./HomeDirectory.js";
18
+ export { CONNECT_JIRA_COMMAND as connectJiraCommand } from "../utils/hints.js";
19
+ /** What `~/.jcf/jira.json` holds. The token stays in this file and in request headers only. */
20
+ const StoredToken = Schema.Struct({
21
+ siteUrl: Schema.String,
22
+ /**
23
+ * Where requests go: the site itself for a classic token, or Atlassian's gateway for the site
24
+ * (`https://api.atlassian.com/ex/jira/<cloudId>`) for a scoped token, which the site refuses.
25
+ */
26
+ apiUrl: Schema.String,
27
+ cloudId: Schema.String,
28
+ email: Schema.String,
29
+ apiToken: Schema.String,
30
+ accountId: Schema.String,
31
+ displayName: Schema.String
32
+ });
33
+ const decodeStoredToken = Schema.decodeUnknownEffect(Schema.fromJsonString(StoredToken));
34
+ /** The Jira credential exists but cannot be read. */
35
+ export class JiraAccessUnreadable extends Data.TaggedError("JiraAccessUnreadable") {
36
+ get message() {
37
+ return `Could not read the Jira credential in ${this.path}. Run ${connectJiraCommand} to connect Jira again.`;
38
+ }
39
+ }
40
+ /** The token file could not be written. */
41
+ export class JiraTokenNotSaved extends Data.TaggedError("JiraTokenNotSaved") {
42
+ get message() {
43
+ return `Could not save the Jira token to ${this.path}. Check that the folder is writable.`;
44
+ }
45
+ }
46
+ /** What the user typed is not a Jira Cloud address, so no token is sent to it. */
47
+ export class JiraSiteInvalid extends Data.TaggedError("JiraSiteInvalid") {
48
+ get message() {
49
+ return `"${this.input}" is not a Jira Cloud address. API tokens work with Jira Cloud sites, ` +
50
+ "which end in .atlassian.net, such as your-team.atlassian.net.";
51
+ }
52
+ }
53
+ /** The OAuth login changed between reading its token and its profile; nothing mixed is used. */
54
+ export class JiraLoginChanged extends Data.TaggedError("JiraLoginChanged") {
55
+ get message() {
56
+ return "The Jira OAuth login changed while it was being read. Try again.";
57
+ }
58
+ }
59
+ /** Nothing answers as a Jira Cloud site at the address. */
60
+ export class JiraSiteNotFound extends Data.TaggedError("JiraSiteNotFound") {
61
+ get message() {
62
+ return `No Jira Cloud site answers at ${this.siteUrl}. Check the address in your browser's Jira tab.`;
63
+ }
64
+ }
65
+ /** The site could not be reached at all. */
66
+ export class JiraUnreachable extends Data.TaggedError("JiraUnreachable") {
67
+ get message() {
68
+ return `Could not reach ${this.siteUrl}. Check your network connection and try again.`;
69
+ }
70
+ }
71
+ /** The site answered, and refused the email and token. */
72
+ export class JiraTokenRejected extends Data.TaggedError("JiraTokenRejected") {
73
+ get message() {
74
+ return `${this.siteUrl} rejected the API token for ${this.email}. Use the email you sign in to Atlassian with, ` +
75
+ "and a token from https://id.atlassian.com/manage-profile/security/api-tokens.";
76
+ }
77
+ }
78
+ export class JiraAccess extends Context.Service()("jcf/JiraAccess") {
79
+ }
80
+ const loopbackHosts = new Set(["localhost", "127.0.0.1", "[::1]"]);
81
+ /**
82
+ * The origin of a Jira Cloud site the user typed: `team`, `team.atlassian.net` and a pasted Jira URL
83
+ * all name `https://team.atlassian.net`. Only `*.atlassian.net` over https is accepted, because the
84
+ * token is sent to this host: a typo or a look-alike domain must fail before any credential leaves.
85
+ * Plain http on loopback is the one exception, for stand-ins in tests.
86
+ */
87
+ export const siteOrigin = (input) => {
88
+ const trimmed = input.trim();
89
+ if (trimmed === "")
90
+ return Option.none();
91
+ const withScheme = /^[a-z][a-z0-9+.-]*:\/\//iu.test(trimmed) ? trimmed : `https://${trimmed}`;
92
+ const url = URL.parse(withScheme);
93
+ if (url === null || url.username !== "" || url.password !== "")
94
+ return Option.none();
95
+ if (url.protocol === "http:" && loopbackHosts.has(url.hostname))
96
+ return Option.some(url.origin);
97
+ if (url.protocol !== "https:" || url.port !== "")
98
+ return Option.none();
99
+ const host = url.hostname.includes(".") ? url.hostname : `${url.hostname}.atlassian.net`;
100
+ return /^[a-z0-9][a-z0-9-]*\.atlassian\.net$/u.test(host) ? Option.some(`https://${host}`) : Option.none();
101
+ };
102
+ const TenantInfo = Schema.Struct({ cloudId: Schema.NonEmptyString });
103
+ const Myself = Schema.Struct({ accountId: Schema.NonEmptyString, displayName: Schema.String });
104
+ export const layer = Layer.effect(JiraAccess, Effect.gen(function* () {
105
+ const fs = yield* FileSystem.FileSystem;
106
+ const path = yield* Path.Path;
107
+ const httpClient = yield* HttpClient.HttpClient;
108
+ const oauth = yield* JiraAuth;
109
+ const directory = path.join((yield* HomeDirectory).path, ".jcf");
110
+ const file = path.join(directory, "jira.json");
111
+ const tokenConnection = Effect.gen(function* () {
112
+ if (!(yield* fs.exists(file)))
113
+ return Option.none();
114
+ const stored = yield* fs.readFileString(file).pipe(Effect.flatMap(decodeStoredToken));
115
+ return Option.some({
116
+ method: "api-token",
117
+ credential: {
118
+ type: "basic",
119
+ email: stored.email,
120
+ apiToken: Redacted.make(stored.apiToken),
121
+ siteUrl: stored.apiUrl
122
+ },
123
+ cloudId: stored.cloudId,
124
+ siteUrl: stored.siteUrl,
125
+ accountId: stored.accountId,
126
+ displayName: stored.displayName
127
+ });
128
+ }).pipe(Effect.mapError(() => new JiraAccessUnreadable({ path: file })));
129
+ // The token is refreshed first, then site and account come from one profile object holding that
130
+ // same token. Reading them separately could pair one profile's token with another's site.
131
+ const oauthConnection = Effect.gen(function* () {
132
+ if (!(yield* oauth.isLoggedIn()))
133
+ return Option.none();
134
+ const accessToken = yield* oauth.getAccessToken();
135
+ const profile = yield* oauth.getActiveProfile();
136
+ if (profile === null)
137
+ return Option.none();
138
+ if (profile.token.access_token !== Redacted.value(accessToken))
139
+ return yield* new JiraLoginChanged();
140
+ const { cloud_id: cloudId, site_url: siteUrl, user } = profile.token;
141
+ return Option.some({
142
+ method: "oauth",
143
+ credential: { type: "oauth2", accessToken, cloudId },
144
+ cloudId,
145
+ siteUrl,
146
+ accountId: user?.account_id ?? "",
147
+ displayName: user?.name ?? ""
148
+ });
149
+ }).pipe(Effect.mapError((error) => Predicate.isTagged(error, "JiraLoginChanged")
150
+ ? new JiraLoginChanged()
151
+ : new JiraAccessUnreadable({ path: "the Jira OAuth login" })));
152
+ const connection = tokenConnection.pipe(Effect.flatMap((token) => Option.isSome(token) ? Effect.succeed(token) : oauthConnection));
153
+ const verifyToken = (input) => Effect.gen(function* () {
154
+ const siteUrl = yield* Option.match(siteOrigin(input.site), {
155
+ onNone: () => Effect.fail(new JiraSiteInvalid({ input: input.site })),
156
+ onSome: Effect.succeed
157
+ });
158
+ const unreachable = () => new JiraUnreachable({ siteUrl });
159
+ const notFound = () => new JiraSiteNotFound({ siteUrl });
160
+ const tenant = yield* httpClient.execute(HttpClientRequest.get(`${siteUrl}/_edge/tenant_info`)).pipe(Effect.mapError(unreachable));
161
+ if (tenant.status !== 200)
162
+ return yield* notFound();
163
+ const { cloudId } = yield* tenant.json.pipe(Effect.flatMap(Schema.decodeUnknownEffect(TenantInfo)), Effect.mapError(notFound));
164
+ const authorization = `Basic ${Base64.encode(`${input.email}:${Redacted.value(input.apiToken)}`)}`;
165
+ const askMyself = (apiUrl) => httpClient.execute(HttpClientRequest.get(`${apiUrl}/rest/api/3/myself`).pipe(HttpClientRequest.setHeader("Authorization", authorization), HttpClientRequest.setHeader("Accept", "application/json"))).pipe(Effect.mapError(unreachable));
166
+ const refused = (status) => status === 401 || status === 403;
167
+ // A classic token works on the site; a scoped one only through Atlassian's gateway for it.
168
+ const gateway = `https://api.atlassian.com/ex/jira/${cloudId}`;
169
+ const onSite = yield* askMyself(siteUrl);
170
+ const apiUrl = refused(onSite.status) ? gateway : siteUrl;
171
+ const myself = apiUrl === gateway ? yield* askMyself(gateway) : onSite;
172
+ if (refused(myself.status))
173
+ return yield* new JiraTokenRejected({ siteUrl, email: input.email });
174
+ if (myself.status !== 200)
175
+ return yield* unreachable();
176
+ const user = yield* myself.json.pipe(Effect.flatMap(Schema.decodeUnknownEffect(Myself)), Effect.mapError(notFound));
177
+ return {
178
+ siteUrl,
179
+ apiUrl,
180
+ cloudId,
181
+ email: input.email,
182
+ apiToken: Redacted.value(input.apiToken),
183
+ accountId: user.accountId,
184
+ displayName: user.displayName
185
+ };
186
+ });
187
+ // Written beside the target and renamed over it, so a reader never sees half a file and the token
188
+ // is never readable by anyone else, not even for the moment before a chmod.
189
+ const saveToken = (token) => Effect.gen(function* () {
190
+ yield* fs.makeDirectory(directory, { recursive: true, mode: 0o700 });
191
+ const pending = `${file}.${yield* Random.nextIntBetween(0, 1_000_000_000)}.tmp`;
192
+ yield* fs.writeFileString(pending, JSON.stringify(token, null, 2), { mode: 0o600 });
193
+ yield* fs.chmod(pending, 0o600);
194
+ yield* fs.rename(pending, file).pipe(Effect.tapError(() => fs.remove(pending).pipe(Effect.ignore)));
195
+ }).pipe(Effect.mapError(() => new JiraTokenNotSaved({ path: file })));
196
+ const removeToken = Effect.gen(function* () {
197
+ if (!(yield* fs.exists(file)))
198
+ return false;
199
+ yield* fs.remove(file);
200
+ return true;
201
+ }).pipe(Effect.mapError(() => new JiraTokenNotSaved({ path: file })));
202
+ return { connection, verifyToken, saveToken, removeToken };
203
+ }));
204
+ //# sourceMappingURL=JiraAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JiraAccess.js","sourceRoot":"","sources":["../../../src/services/JiraAccess.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /** Private provider coordinates and pinned authenticated clients; never serialize these snapshots. */
2
2
  import { type AuthenticatedClockifyApi, type ClockifyApiConfigContract } from "@knpkv/clockify-api-client";
3
3
  import { make as makeJiraApi } from "@knpkv/jira-api-client";
4
- import { JiraAuth } from "@knpkv/jira-cli/JiraAuth";
5
4
  import { Effect, Schema } from "effect";
6
5
  import * as HttpClient from "effect/http/HttpClient";
7
6
  import { ClockifyAuth } from "./ClockifyAuth.js";
7
+ import { JiraAccess } from "./JiraAccess.js";
8
8
  declare const ProviderSnapshotError_base: Schema.Class<ProviderSnapshotError, Schema.TaggedStruct<"ProviderSnapshotError", {
9
9
  readonly message: Schema.String;
10
10
  readonly cause: Schema.optionalKey<Schema.Defect>;
@@ -36,6 +36,6 @@ export type JiraWriteState = {
36
36
  export declare const make: Effect.Effect<{
37
37
  clockify: Effect.Effect<ClockifyWriteSnapshot, ProviderSnapshotError, never>;
38
38
  jira: Effect.Effect<JiraWriteState, never, never>;
39
- }, never, ClockifyAuth | HttpClient.HttpClient | JiraAuth>;
39
+ }, never, ClockifyAuth | HttpClient.HttpClient | JiraAccess>;
40
40
  export {};
41
41
  //# sourceMappingURL=ProviderSnapshots.d.ts.map