coolhand-cli 0.7.0 → 0.8.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.
Files changed (90) hide show
  1. package/README.md +21 -2
  2. package/dist/api/feedback-client.d.ts +17 -0
  3. package/dist/api/feedback-client.d.ts.map +1 -0
  4. package/dist/api/feedback-client.js +40 -0
  5. package/dist/api/feedback-client.js.map +1 -0
  6. package/dist/api/last-sync.d.ts +8 -6
  7. package/dist/api/last-sync.d.ts.map +1 -1
  8. package/dist/api/last-sync.js +27 -16
  9. package/dist/api/last-sync.js.map +1 -1
  10. package/dist/bin.js +0 -0
  11. package/dist/cli.d.ts +1 -1
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +170 -4
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/analyze-claude-sessions.d.ts +6 -0
  16. package/dist/commands/analyze-claude-sessions.d.ts.map +1 -1
  17. package/dist/commands/analyze-claude-sessions.js +60 -9
  18. package/dist/commands/analyze-claude-sessions.js.map +1 -1
  19. package/dist/commands/clients.d.ts.map +1 -1
  20. package/dist/commands/clients.js +2 -1
  21. package/dist/commands/clients.js.map +1 -1
  22. package/dist/commands/close-optimization.js +1 -1
  23. package/dist/commands/close-optimization.js.map +1 -1
  24. package/dist/commands/get-feedback.d.ts +3 -0
  25. package/dist/commands/get-feedback.d.ts.map +1 -0
  26. package/dist/commands/get-feedback.js +70 -0
  27. package/dist/commands/get-feedback.js.map +1 -0
  28. package/dist/commands/get-optimization.d.ts.map +1 -1
  29. package/dist/commands/get-optimization.js +61 -10
  30. package/dist/commands/get-optimization.js.map +1 -1
  31. package/dist/commands/mcp-call.d.ts.map +1 -1
  32. package/dist/commands/mcp-call.js +14 -50
  33. package/dist/commands/mcp-call.js.map +1 -1
  34. package/dist/commands/search-feedback.d.ts +3 -0
  35. package/dist/commands/search-feedback.d.ts.map +1 -0
  36. package/dist/commands/search-feedback.js +71 -0
  37. package/dist/commands/search-feedback.js.map +1 -0
  38. package/dist/commands/status.d.ts.map +1 -1
  39. package/dist/commands/status.js +2 -1
  40. package/dist/commands/status.js.map +1 -1
  41. package/dist/commands/whoami.js +1 -1
  42. package/dist/commands/whoami.js.map +1 -1
  43. package/dist/config.d.ts.map +1 -1
  44. package/dist/config.js +5 -1
  45. package/dist/config.js.map +1 -1
  46. package/dist/errors.d.ts +1 -1
  47. package/dist/errors.d.ts.map +1 -1
  48. package/dist/errors.js.map +1 -1
  49. package/dist/parse-when.d.ts +17 -0
  50. package/dist/parse-when.d.ts.map +1 -0
  51. package/dist/parse-when.js +49 -0
  52. package/dist/parse-when.js.map +1 -0
  53. package/dist/sessions/claude-scanner.d.ts +14 -1
  54. package/dist/sessions/claude-scanner.d.ts.map +1 -1
  55. package/dist/sessions/claude-scanner.js +205 -41
  56. package/dist/sessions/claude-scanner.js.map +1 -1
  57. package/dist/sessions/cowork-scanner.d.ts +2 -0
  58. package/dist/sessions/cowork-scanner.d.ts.map +1 -1
  59. package/dist/sessions/cowork-scanner.js +22 -9
  60. package/dist/sessions/cowork-scanner.js.map +1 -1
  61. package/dist/sessions/redact-secrets.d.ts +14 -0
  62. package/dist/sessions/redact-secrets.d.ts.map +1 -0
  63. package/dist/sessions/redact-secrets.js +47 -0
  64. package/dist/sessions/redact-secrets.js.map +1 -0
  65. package/dist/sessions/session-filter.d.ts +28 -0
  66. package/dist/sessions/session-filter.d.ts.map +1 -0
  67. package/dist/sessions/session-filter.js +38 -0
  68. package/dist/sessions/session-filter.js.map +1 -0
  69. package/dist/types.d.ts +35 -0
  70. package/dist/types.d.ts.map +1 -1
  71. package/dist/types.js.map +1 -1
  72. package/dist/version.d.ts +2 -2
  73. package/dist/version.js +1 -1
  74. package/package.json +2 -2
  75. package/dist/commands/accounts.d.ts +0 -3
  76. package/dist/commands/accounts.d.ts.map +0 -1
  77. package/dist/commands/accounts.js +0 -59
  78. package/dist/commands/accounts.js.map +0 -1
  79. package/dist/commands/add-optimization-comment.d.ts +0 -3
  80. package/dist/commands/add-optimization-comment.d.ts.map +0 -1
  81. package/dist/commands/add-optimization-comment.js +0 -28
  82. package/dist/commands/add-optimization-comment.js.map +0 -1
  83. package/dist/commands/capture-sessions.d.ts +0 -3
  84. package/dist/commands/capture-sessions.d.ts.map +0 -1
  85. package/dist/commands/capture-sessions.js +0 -79
  86. package/dist/commands/capture-sessions.js.map +0 -1
  87. package/dist/commands/create-optimization.d.ts +0 -3
  88. package/dist/commands/create-optimization.d.ts.map +0 -1
  89. package/dist/commands/create-optimization.js +0 -38
  90. package/dist/commands/create-optimization.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -46,6 +46,7 @@ export interface StatusOutput {
46
46
  client_id: string;
47
47
  client_name: string;
48
48
  masked_token: string;
49
+ masked_private_key: string;
49
50
  base_url: string;
50
51
  }>;
51
52
  default_client_id: string | null;
@@ -91,6 +92,7 @@ export interface SearchOptimizationsOptions {
91
92
  export interface GetOptimizationOptions {
92
93
  id: string;
93
94
  json?: boolean;
95
+ full?: boolean;
94
96
  clientId?: string;
95
97
  }
96
98
  export interface CloseOptimizationOptions {
@@ -111,6 +113,39 @@ export interface AnalyzeClaudeSessionsOptions {
111
113
  dryRun?: boolean;
112
114
  clientId?: string;
113
115
  json?: boolean;
116
+ /** Raw --since value (date or Nh/Nd/Nw shorthand); parsed in the command so bad input
117
+ * surfaces as a CliError rather than a crash in the flag layer. */
118
+ since?: string;
119
+ /** Raw --until value, same formats as since. */
120
+ until?: string;
121
+ /** Override for the Claude Code scan root (--projects-dir). */
122
+ projectsDir?: string;
123
+ /** Only upload sessions whose project folder matches one of these (--project, repeatable). */
124
+ projects?: string[];
125
+ /** Never upload sessions whose project folder matches one of these (--exclude-project). */
126
+ excludeProjects?: string[];
127
+ }
128
+ export interface SearchFeedbackOptions {
129
+ sentiment?: 'positive' | 'negative' | 'neutral';
130
+ search?: string;
131
+ creatorId?: string;
132
+ workloadId?: string;
133
+ /** Only feedback linked to an LLM request log. Mutually exclusive with `unmatched`. */
134
+ matched?: boolean;
135
+ /** Only feedback not linked to an LLM request log. Mutually exclusive with `matched`. */
136
+ unmatched?: boolean;
137
+ since?: string;
138
+ sortBy?: 'created_at' | 'updated_at';
139
+ sortDir?: 'asc' | 'desc';
140
+ page?: number;
141
+ perPage?: number;
142
+ json?: boolean;
143
+ clientId?: string;
144
+ }
145
+ export interface GetFeedbackOptions {
146
+ id: string;
147
+ json?: boolean;
148
+ clientId?: string;
114
149
  }
115
150
  export interface ComplaintBoxOptions {
116
151
  complaint: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA0JA,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA+LA,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC"}
package/dist/version.d.ts CHANGED
@@ -2,10 +2,10 @@
2
2
  * Auto-generated from package.json — do not edit manually.
3
3
  * Run `npm run sync-version` or `npm run build` to regenerate.
4
4
  */
5
- export declare const PACKAGE_VERSION = "0.7.0";
5
+ export declare const PACKAGE_VERSION = "0.8.0";
6
6
  export declare const PACKAGE_NAME = "coolhand-cli";
7
7
  /**
8
8
  * Full package identifier
9
9
  */
10
- export declare const PACKAGE_IDENTIFIER = "coolhand-cli-0.7.0";
10
+ export declare const PACKAGE_IDENTIFIER = "coolhand-cli-0.8.0";
11
11
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Auto-generated from package.json — do not edit manually.
3
3
  * Run `npm run sync-version` or `npm run build` to regenerate.
4
4
  */
5
- export const PACKAGE_VERSION = '0.7.0';
5
+ export const PACKAGE_VERSION = '0.8.0';
6
6
  export const PACKAGE_NAME = 'coolhand-cli';
7
7
  /**
8
8
  * Full package identifier
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coolhand-cli",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "CLI for authenticating with Coolhand and retrieving API tokens from a local dev environment",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -59,7 +59,7 @@
59
59
  "smoke": "node dist/bin.js --version"
60
60
  },
61
61
  "dependencies": {
62
- "coolhand-node": "^0.8.0",
62
+ "coolhand-node": "^0.10.0",
63
63
  "mockttp": "^4.2.1"
64
64
  },
65
65
  "overrides": {
@@ -1,3 +0,0 @@
1
- import type { AccountsOptions } from '../types.js';
2
- export declare function run(positional: string[], opts: AccountsOptions): Promise<number>;
3
- //# sourceMappingURL=accounts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/commands/accounts.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4CnD,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAYtF"}
@@ -1,59 +0,0 @@
1
- import { CliError, ExitCode } from '../errors.js';
2
- import { logger } from '../logger.js';
3
- import { loadConfig, setDefault } from '../config.js';
4
- import { maskToken } from '../mask.js';
5
- import { buildStatusOutput } from './status.js';
6
- async function listAccounts(opts) {
7
- const cfg = await loadConfig();
8
- const output = buildStatusOutput(cfg);
9
- if (opts.json) {
10
- logger.json(output);
11
- return ExitCode.OK;
12
- }
13
- if (!output.configured) {
14
- logger.info('No accounts configured. Run `coolhand login` to add one.');
15
- return ExitCode.OK;
16
- }
17
- for (const acct of output.accounts) {
18
- const marker = acct.account_id === output.default_account_id ? '* ' : ' ';
19
- logger.info(`${marker}${acct.account_id} ${acct.account_name} ${acct.masked_token} ${acct.base_url}`);
20
- }
21
- return ExitCode.OK;
22
- }
23
- async function useAccount(accountId, opts) {
24
- if (!accountId) {
25
- throw new CliError('INVALID_ARGS', 'accounts use requires an account id');
26
- }
27
- const cfg = await setDefault(accountId);
28
- const entry = cfg.accounts[accountId];
29
- if (opts.json) {
30
- logger.json({
31
- ok: true,
32
- default_account_id: cfg.default_account_id,
33
- account: {
34
- account_id: entry.account_id,
35
- account_name: entry.account_name,
36
- masked_token: maskToken(entry.api_key),
37
- base_url: entry.base_url,
38
- },
39
- });
40
- }
41
- else {
42
- logger.info(`Default account is now "${entry.account_name}" (${entry.account_id}).`);
43
- }
44
- return ExitCode.OK;
45
- }
46
- export async function run(positional, opts) {
47
- const sub = positional[0];
48
- if (!sub) {
49
- return listAccounts(opts);
50
- }
51
- if (sub === 'use') {
52
- return useAccount(positional[1] ?? '', opts);
53
- }
54
- if (sub === 'list') {
55
- return listAccounts(opts);
56
- }
57
- throw new CliError('INVALID_ARGS', `Unknown accounts subcommand: ${sub}`);
58
- }
59
- //# sourceMappingURL=accounts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/commands/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,KAAK,UAAU,YAAY,CAAC,IAAqB;IAC/C,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,QAAQ,CAAC,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,IAAqB;IAChE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,qCAAqC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,IAAI;YACR,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;YAC1C,OAAO,EAAE;gBACP,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;gBACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,YAAY,MAAM,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,QAAQ,CAAC,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,UAAoB,EAAE,IAAqB;IACnE,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,gCAAgC,GAAG,EAAE,CAAC,CAAC;AAC5E,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { AddOptimizationCommentOptions } from '../types.js';
2
- export declare function run(opts: AddOptimizationCommentOptions): Promise<number>;
3
- //# sourceMappingURL=add-optimization-comment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-optimization-comment.d.ts","sourceRoot":"","sources":["../../src/commands/add-optimization-comment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAEjE,wBAAsB,GAAG,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB9E"}
@@ -1,28 +0,0 @@
1
- import { CliError, ExitCode } from '../errors.js';
2
- import { logger, redact } from '../logger.js';
3
- import { mcpCall } from './mcp-call.js';
4
- export async function run(opts) {
5
- try {
6
- const result = await mcpCall('add_optimization_comment', { id: opts.id, comment: opts.comment }, { clientId: opts.clientId });
7
- if (opts.json) {
8
- logger.json({ ok: true, result });
9
- }
10
- else {
11
- logger.info(JSON.stringify(result, null, 2));
12
- }
13
- return ExitCode.OK;
14
- }
15
- catch (err) {
16
- if (err instanceof CliError) {
17
- if (opts.json) {
18
- logger.json({ ok: false, error: err.code, message: redact(err.message) });
19
- }
20
- else {
21
- logger.info(`Error: ${redact(err.message)} [${err.code}]`);
22
- }
23
- return err.exitCode;
24
- }
25
- throw err;
26
- }
27
- }
28
- //# sourceMappingURL=add-optimization-comment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-optimization-comment.js","sourceRoot":"","sources":["../../src/commands/add-optimization-comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAmC;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9H,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { CaptureSessionsOptions } from '../types.js';
2
- export declare function run(opts: CaptureSessionsOptions): Promise<number>;
3
- //# sourceMappingURL=capture-sessions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capture-sessions.d.ts","sourceRoot":"","sources":["../../src/commands/capture-sessions.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAK1D,wBAAsB,GAAG,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwEvE"}
@@ -1,79 +0,0 @@
1
- import { CliError, ExitCode } from '../errors.js';
2
- import { logger, redact } from '../logger.js';
3
- import { scanSessions, sessionIdOf } from '../sessions/claude-scanner.js';
4
- import { loadCaptureState, isSubmitted, markSubmitted, saveCaptureState, } from '../sessions/capture-state.js';
5
- import { loadConfig, getClient } from '../config.js';
6
- import { logRequest } from '../log-request.js';
7
- /** Errors that apply to every session (auth/config), so the run should abort, not keep retrying. */
8
- const FATAL_CODES = new Set(['NOT_CONFIGURED', 'CLIENT_NOT_FOUND', 'INVALID_BASE_URL']);
9
- export async function run(opts) {
10
- try {
11
- const { envelopes, sessionCount } = await scanSessions();
12
- // Scope the "already submitted" list to the client we're submitting to, so the same sessions
13
- // can be sent to a different client if needed.
14
- const cfg = await loadConfig();
15
- const stateClientId = getClient(cfg, opts.clientId)?.client_id ?? opts.clientId ?? '_default';
16
- const state = await loadCaptureState();
17
- const pending = envelopes.filter((e) => !isSubmitted(state, stateClientId, sessionIdOf(e)));
18
- const skipped = envelopes.length - pending.length;
19
- if (opts.dryRun) {
20
- if (opts.json) {
21
- logger.json({ ok: true, dryRun: true, sessions: sessionCount, toSubmit: pending.length, skipped });
22
- }
23
- else {
24
- logger.info(`Dry run: found ${sessionCount} session(s), ${pending.length} new to submit, ` +
25
- `${skipped} already submitted. Nothing sent.`);
26
- }
27
- return ExitCode.OK;
28
- }
29
- let submitted = 0;
30
- let failed = 0;
31
- try {
32
- for (const envelope of pending) {
33
- try {
34
- await logRequest(envelope, { clientId: opts.clientId });
35
- markSubmitted(state, stateClientId, sessionIdOf(envelope));
36
- submitted += 1;
37
- }
38
- catch (err) {
39
- if (err instanceof CliError && FATAL_CODES.has(err.code)) {
40
- throw err;
41
- }
42
- failed += 1;
43
- logger.warn(`Failed to submit session: ${redact(err.message)}`);
44
- }
45
- }
46
- }
47
- finally {
48
- // Persist whatever we recorded, even if a fatal error aborts the run partway.
49
- try {
50
- await saveCaptureState(state);
51
- }
52
- catch (err) {
53
- logger.warn(`Failed to save capture state: ${redact(err.message)}`);
54
- }
55
- }
56
- if (opts.json) {
57
- logger.json({ ok: failed === 0, sessions: sessionCount, submitted, skipped, failed });
58
- }
59
- else {
60
- const failureNote = failed > 0 ? `, ${failed} failed` : '';
61
- const skippedNote = skipped > 0 ? `, ${skipped} already submitted` : '';
62
- logger.info(`Submitted ${submitted} session(s) of ${sessionCount} scanned${skippedNote}${failureNote}.`);
63
- }
64
- return failed === 0 ? ExitCode.OK : ExitCode.USER_ERROR;
65
- }
66
- catch (err) {
67
- if (err instanceof CliError) {
68
- if (opts.json) {
69
- logger.json({ ok: false, error: err.code, message: redact(err.message) });
70
- }
71
- else {
72
- logger.info(`Error: ${redact(err.message)} [${err.code}]`);
73
- }
74
- return err.exitCode;
75
- }
76
- throw err;
77
- }
78
- }
79
- //# sourceMappingURL=capture-sessions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capture-sessions.js","sourceRoot":"","sources":["../../src/commands/capture-sessions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { CreateOptimizationOptions } from '../types.js';
2
- export declare function run(opts: CreateOptimizationOptions): Promise<number>;
3
- //# sourceMappingURL=create-optimization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-optimization.d.ts","sourceRoot":"","sources":["../../src/commands/create-optimization.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,wBAAsB,GAAG,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC1E"}
@@ -1,38 +0,0 @@
1
- import { CliError, ExitCode } from '../errors.js';
2
- import { logger, redact } from '../logger.js';
3
- import { mcpCall } from './mcp-call.js';
4
- export async function run(opts) {
5
- try {
6
- const args = {};
7
- if (opts.title !== undefined) {
8
- args.title = opts.title;
9
- }
10
- if (opts.analysis !== undefined) {
11
- args.analysis = opts.analysis;
12
- }
13
- if (opts.plan !== undefined) {
14
- args.plan = opts.plan;
15
- }
16
- const result = await mcpCall('create_optimization', args, { clientId: opts.clientId });
17
- if (opts.json) {
18
- logger.json({ ok: true, result });
19
- }
20
- else {
21
- logger.info(JSON.stringify(result, null, 2));
22
- }
23
- return ExitCode.OK;
24
- }
25
- catch (err) {
26
- if (err instanceof CliError) {
27
- if (opts.json) {
28
- logger.json({ ok: false, error: err.code, message: redact(err.message) });
29
- }
30
- else {
31
- logger.info(`Error: ${redact(err.message)} [${err.code}]`);
32
- }
33
- return err.exitCode;
34
- }
35
- throw err;
36
- }
37
- }
38
- //# sourceMappingURL=create-optimization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-optimization.js","sourceRoot":"","sources":["../../src/commands/create-optimization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAA+B;IACvD,IAAI,CAAC;QACH,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}