@agentteams/cli 0.1.56 → 0.1.58-dev.224

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 (127) hide show
  1. package/.prettierignore +4 -0
  2. package/.prettierrc.json +6 -0
  3. package/README.md +7 -7
  4. package/dist/api/coaction.d.ts.map +1 -1
  5. package/dist/api/coaction.js +3 -9
  6. package/dist/api/coaction.js.map +1 -1
  7. package/dist/api/codeReview.d.ts.map +1 -1
  8. package/dist/api/codeReview.js +1 -3
  9. package/dist/api/codeReview.js.map +1 -1
  10. package/dist/api/comment.d.ts.map +1 -1
  11. package/dist/api/comment.js +1 -3
  12. package/dist/api/comment.js.map +1 -1
  13. package/dist/api/document.d.ts.map +1 -1
  14. package/dist/api/document.js +8 -4
  15. package/dist/api/document.js.map +1 -1
  16. package/dist/api/feedback.d.ts +1 -1
  17. package/dist/api/feedback.js +1 -1
  18. package/dist/api/linear.d.ts.map +1 -1
  19. package/dist/api/linear.js.map +1 -1
  20. package/dist/api/member.d.ts +1 -1
  21. package/dist/api/plan.d.ts.map +1 -1
  22. package/dist/api/plan.js +1 -3
  23. package/dist/api/plan.js.map +1 -1
  24. package/dist/api/postmortem.d.ts.map +1 -1
  25. package/dist/api/postmortem.js +1 -3
  26. package/dist/api/postmortem.js.map +1 -1
  27. package/dist/api/report.d.ts.map +1 -1
  28. package/dist/api/report.js +1 -3
  29. package/dist/api/report.js.map +1 -1
  30. package/dist/commands/agentConfig.d.ts.map +1 -1
  31. package/dist/commands/agentConfig.js +9 -3
  32. package/dist/commands/agentConfig.js.map +1 -1
  33. package/dist/commands/agentConfigCommand.d.ts.map +1 -1
  34. package/dist/commands/agentConfigCommand.js.map +1 -1
  35. package/dist/commands/attachment.d.ts.map +1 -1
  36. package/dist/commands/attachment.js +31 -31
  37. package/dist/commands/attachment.js.map +1 -1
  38. package/dist/commands/coaction.d.ts.map +1 -1
  39. package/dist/commands/coaction.js +11 -9
  40. package/dist/commands/coaction.js.map +1 -1
  41. package/dist/commands/codeReview.d.ts.map +1 -1
  42. package/dist/commands/codeReview.js +5 -2
  43. package/dist/commands/codeReview.js.map +1 -1
  44. package/dist/commands/convention.d.ts +20 -2
  45. package/dist/commands/convention.d.ts.map +1 -1
  46. package/dist/commands/convention.js +152 -107
  47. package/dist/commands/convention.js.map +1 -1
  48. package/dist/commands/conventionRouter.d.ts.map +1 -1
  49. package/dist/commands/conventionRouter.js +4 -2
  50. package/dist/commands/conventionRouter.js.map +1 -1
  51. package/dist/commands/dependency.d.ts.map +1 -1
  52. package/dist/commands/dependency.js +3 -1
  53. package/dist/commands/dependency.js.map +1 -1
  54. package/dist/commands/dependencyCommand.d.ts.map +1 -1
  55. package/dist/commands/dependencyCommand.js.map +1 -1
  56. package/dist/commands/document.d.ts.map +1 -1
  57. package/dist/commands/document.js +79 -83
  58. package/dist/commands/document.js.map +1 -1
  59. package/dist/commands/feedback.js +13 -13
  60. package/dist/commands/index.d.ts.map +1 -1
  61. package/dist/commands/index.js +13 -14
  62. package/dist/commands/index.js.map +1 -1
  63. package/dist/commands/init.d.ts.map +1 -1
  64. package/dist/commands/init.js +7 -8
  65. package/dist/commands/init.js.map +1 -1
  66. package/dist/commands/linear.d.ts.map +1 -1
  67. package/dist/commands/linear.js +1 -1
  68. package/dist/commands/linear.js.map +1 -1
  69. package/dist/commands/plan.d.ts +1 -0
  70. package/dist/commands/plan.d.ts.map +1 -1
  71. package/dist/commands/plan.js +104 -100
  72. package/dist/commands/plan.js.map +1 -1
  73. package/dist/commands/postmortem.d.ts.map +1 -1
  74. package/dist/commands/postmortem.js +6 -4
  75. package/dist/commands/postmortem.js.map +1 -1
  76. package/dist/commands/report.d.ts.map +1 -1
  77. package/dist/commands/report.js +12 -58
  78. package/dist/commands/report.js.map +1 -1
  79. package/dist/commands/search.d.ts.map +1 -1
  80. package/dist/commands/search.js.map +1 -1
  81. package/dist/index.js +6 -5
  82. package/dist/index.js.map +1 -1
  83. package/dist/types/index.d.ts +1 -1
  84. package/dist/utils/atomicWrite.d.ts.map +1 -1
  85. package/dist/utils/atomicWrite.js +2 -2
  86. package/dist/utils/atomicWrite.js.map +1 -1
  87. package/dist/utils/authServer.d.ts.map +1 -1
  88. package/dist/utils/authServer.js +2 -5
  89. package/dist/utils/authServer.js.map +1 -1
  90. package/dist/utils/config.d.ts +1 -1
  91. package/dist/utils/config.d.ts.map +1 -1
  92. package/dist/utils/config.js +9 -15
  93. package/dist/utils/config.js.map +1 -1
  94. package/dist/utils/git.d.ts.map +1 -1
  95. package/dist/utils/git.js +1 -3
  96. package/dist/utils/git.js.map +1 -1
  97. package/dist/utils/httpClient.d.ts +1 -1
  98. package/dist/utils/httpClient.d.ts.map +1 -1
  99. package/dist/utils/httpClient.js +7 -7
  100. package/dist/utils/httpClient.js.map +1 -1
  101. package/dist/utils/initOutput.d.ts.map +1 -1
  102. package/dist/utils/initOutput.js.map +1 -1
  103. package/dist/utils/outputPolicy.d.ts.map +1 -1
  104. package/dist/utils/outputPolicy.js +1 -3
  105. package/dist/utils/outputPolicy.js.map +1 -1
  106. package/dist/utils/parsers.d.ts +11 -3
  107. package/dist/utils/parsers.d.ts.map +1 -1
  108. package/dist/utils/parsers.js +34 -17
  109. package/dist/utils/parsers.js.map +1 -1
  110. package/dist/utils/planFormat.d.ts.map +1 -1
  111. package/dist/utils/planFormat.js +1 -1
  112. package/dist/utils/planFormat.js.map +1 -1
  113. package/dist/utils/planPreviewHtmlSafety.d.ts.map +1 -1
  114. package/dist/utils/planPreviewHtmlSafety.js +15 -15
  115. package/dist/utils/planPreviewHtmlSafety.js.map +1 -1
  116. package/dist/utils/report.d.ts +22 -0
  117. package/dist/utils/report.d.ts.map +1 -0
  118. package/dist/utils/report.js +79 -0
  119. package/dist/utils/report.js.map +1 -0
  120. package/dist/utils/spinner.d.ts.map +1 -1
  121. package/dist/utils/spinner.js.map +1 -1
  122. package/dist/utils/updateCheck.d.ts.map +1 -1
  123. package/dist/utils/updateCheck.js +11 -3
  124. package/dist/utils/updateCheck.js.map +1 -1
  125. package/eslint.config.mjs +111 -0
  126. package/package.json +9 -2
  127. package/tsconfig.test.json +10 -0
@@ -1,7 +1,14 @@
1
1
  import { existsSync, readdirSync, statSync, unlinkSync } from 'node:fs';
2
2
  import { join, resolve } from 'node:path';
3
3
  const STALE_CACHE_AGE_MS = 3 * 24 * 60 * 60 * 1000;
4
- const CACHE_DIRS = ['active-plan', 'active-coaction', 'temp'];
4
+ // .agentteams 기준 상대 경로. 대부분 cli/ 하위이지만 evidence는 .agentteams 직속이다.
5
+ const CACHE_DIRS = [
6
+ ['cli', 'active-plan'],
7
+ ['cli', 'active-coaction'],
8
+ ['cli', 'temp'],
9
+ ['cli', 'documents'],
10
+ ['evidence'],
11
+ ];
5
12
  export function splitCsv(value) {
6
13
  if (typeof value !== 'string') {
7
14
  return [];
@@ -42,9 +49,7 @@ export function toPositiveInteger(value) {
42
49
  return undefined;
43
50
  }
44
51
  export function interpretEscapes(content) {
45
- return content
46
- .replace(/\\r\\n/g, '\r\n')
47
- .replace(/\\n/g, '\n');
52
+ return content.replace(/\\r\\n/g, '\r\n').replace(/\\n/g, '\n');
48
53
  }
49
54
  export function stripFrontmatter(content) {
50
55
  return content.replace(/^---[\r\n][\s\S]*?[\r\n]---[\r\n]?/, '').trimStart();
@@ -63,32 +68,43 @@ export function toSafeFileName(input) {
63
68
  /**
64
69
  * 업로드에 사용된 파일이 .agentteams/cli/temp/ 경로에 있을 경우 삭제합니다.
65
70
  * convention 파일 등 실제 소스 파일은 삭제하지 않습니다.
71
+ *
72
+ * - `options.keep`(=`--keep-temp`)가 true면 업로드 후에도 temp 원본을 보존합니다.
73
+ * - 입력으로 받은 파일을 말없이 지우지 않도록, 실제 삭제 시 stderr로 한 줄 알립니다
74
+ * (정본은 서버에 있으므로 temp 사본은 소모성입니다).
66
75
  */
67
- export function deleteIfTempFile(fileInput) {
76
+ export function deleteIfTempFile(fileInput, options) {
68
77
  const resolved = resolve(fileInput);
69
78
  const normalized = resolved.replace(/\\/g, '/');
70
- if (normalized.includes('/.agentteams/cli/temp/') && existsSync(resolved)) {
71
- try {
72
- unlinkSync(resolved);
73
- }
74
- catch {
75
- // 삭제 실패는 무시 (읽기 전용 파일시스템 등 예외 상황)
76
- }
79
+ if (!normalized.includes('/.agentteams/cli/temp/') || !existsSync(resolved)) {
80
+ return;
81
+ }
82
+ if (options?.keep) {
83
+ return;
84
+ }
85
+ try {
86
+ unlinkSync(resolved);
87
+ process.stderr.write(`Removed temp upload file: ${resolved} (use --keep-temp to preserve)\n`);
88
+ }
89
+ catch {
90
+ // 삭제 실패는 무시 (읽기 전용 파일시스템 등 예외 상황)
77
91
  }
78
92
  }
79
93
  /**
80
- * .agentteams/cli/{active-plan,active-coaction,temp} 안에서 mtime이 3일 초과된
81
- * .md 파일을 best-effort로 정리합니다. 디렉토리/파일 접근 실패는 모두 무시합니다.
94
+ * .agentteams/cli/{active-plan,active-coaction,temp,documents} .agentteams/evidence
95
+ * 안에서 mtime이 3일 초과된 일반 파일을 best-effort로 정리합니다. temp/evidence에는
96
+ * .md 외에 html/json/txt/png 등 다양한 산출물이 쌓이므로 확장자를 가리지 않고
97
+ * 정리합니다. 하위 디렉토리는 건너뛰며, 디렉토리/파일 접근 실패는 모두 무시합니다.
82
98
  */
83
99
  export function pruneStaleCacheFiles(projectRoot) {
84
100
  const cutoff = Date.now() - STALE_CACHE_AGE_MS;
85
101
  for (const sub of CACHE_DIRS) {
86
- const dir = join(projectRoot, '.agentteams', 'cli', sub);
102
+ const dir = join(projectRoot, '.agentteams', ...sub);
87
103
  if (!existsSync(dir))
88
104
  continue;
89
105
  let files;
90
106
  try {
91
- files = readdirSync(dir).filter((f) => f.endsWith('.md'));
107
+ files = readdirSync(dir);
92
108
  }
93
109
  catch {
94
110
  continue;
@@ -96,7 +112,8 @@ export function pruneStaleCacheFiles(projectRoot) {
96
112
  for (const file of files) {
97
113
  const filePath = join(dir, file);
98
114
  try {
99
- if (statSync(filePath).mtimeMs < cutoff) {
115
+ const stat = statSync(filePath);
116
+ if (stat.isFile() && stat.mtimeMs < cutoff) {
100
117
  unlinkSync(filePath);
101
118
  }
102
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/utils/parsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/utils/parsers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"planFormat.d.ts","sourceRoot":"","sources":["../../src/utils/planFormat.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,CAAA;CAAE,CAc1F;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,OAAO,EACxB,YAAY,EAAE;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAsBnC"}
1
+ {"version":3,"file":"planFormat.d.ts","sourceRoot":"","sources":["../../src/utils/planFormat.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,CAAA;CAAE,CAe1F;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,OAAO,EACxB,YAAY,EAAE;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAsBnC"}
@@ -3,7 +3,7 @@ export function normalizeDependencies(raw) {
3
3
  return { blocking: [], dependents: [] };
4
4
  }
5
5
  const root = raw;
6
- const data = (root.data && typeof root.data === 'object' && !Array.isArray(root.data))
6
+ const data = root.data && typeof root.data === 'object' && !Array.isArray(root.data)
7
7
  ? root.data
8
8
  : root;
9
9
  const blocking = Array.isArray(data.blocking) ? data.blocking : [];
@@ -1 +1 @@
1
- {"version":3,"file":"planFormat.js","sourceRoot":"","sources":["../../src/utils/planFormat.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,GAA8B,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,CAAC,CAAE,IAAI,CAAC,IAAgC;QACxC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,eAAwB,EACxB,YAAoD;IAEpD,MAAM,QAAQ,GAA4B;QACxC,YAAY;KACb,CAAC;IAEF,IAAI,CAAC,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,GAAG,eAA0C,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1B,MAAM,QAAQ,GACZ,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/D,CAAC,CAAC,EAAE,GAAI,OAAmC,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IAErC,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,QAAQ;KACsB,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"planFormat.js","sourceRoot":"","sources":["../../src/utils/planFormat.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,GAA8B,CAAC;IAC5C,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACrE,CAAC,CAAE,IAAI,CAAC,IAAgC;QACxC,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,eAAwB,EACxB,YAAoD;IAEpD,MAAM,QAAQ,GAA4B;QACxC,YAAY;KACb,CAAC;IAEF,IAAI,CAAC,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,GAAG,eAA0C,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1B,MAAM,QAAQ,GACZ,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC/D,CAAC,CAAC,EAAE,GAAI,OAAmC,EAAE;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IAErC,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,QAAQ;KACsB,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"planPreviewHtmlSafety.d.ts","sourceRoot":"","sources":["../../src/utils/planPreviewHtmlSafety.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAQrC,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,KAAG,2BAqC5D,CAAC"}
1
+ {"version":3,"file":"planPreviewHtmlSafety.d.ts","sourceRoot":"","sources":["../../src/utils/planPreviewHtmlSafety.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAU1F,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,KAAG,2BAqC5D,CAAC"}
@@ -1,39 +1,39 @@
1
1
  const hasRemoteDependency = (html) => {
2
- return /\b(?:src|href)\s*=\s*["']https?:\/\//i.test(html)
3
- || /@import\s+(?:url\()?["']?https?:\/\//i.test(html)
4
- || /url\(\s*["']?https?:\/\//i.test(html);
2
+ return (/\b(?:src|href)\s*=\s*["']https?:\/\//i.test(html) ||
3
+ /@import\s+(?:url\()?["']?https?:\/\//i.test(html) ||
4
+ /url\(\s*["']?https?:\/\//i.test(html));
5
5
  };
6
6
  export const validatePlanPreviewHtmlSafety = (html) => {
7
7
  const reasons = [];
8
- const trimmedHtml = typeof html === "string" ? html.trim() : "";
8
+ const trimmedHtml = typeof html === 'string' ? html.trim() : '';
9
9
  const lowerHtml = trimmedHtml.toLowerCase();
10
10
  if (trimmedHtml.length === 0) {
11
- reasons.push("HTML content is empty");
11
+ reasons.push('HTML content is empty');
12
12
  }
13
13
  if (/<script\b/i.test(trimmedHtml)) {
14
- reasons.push("script tags are not allowed");
14
+ reasons.push('script tags are not allowed');
15
15
  }
16
16
  if (/\son[a-z]+\s*=/i.test(trimmedHtml)) {
17
- reasons.push("inline event handlers are not allowed");
17
+ reasons.push('inline event handlers are not allowed');
18
18
  }
19
19
  if (/<form\b/i.test(trimmedHtml)) {
20
- reasons.push("form elements are not allowed");
20
+ reasons.push('form elements are not allowed');
21
21
  }
22
22
  if (hasRemoteDependency(trimmedHtml)) {
23
- reasons.push("remote assets and CSS imports are not allowed");
23
+ reasons.push('remote assets and CSS imports are not allowed');
24
24
  }
25
25
  if (!/:root\b/i.test(trimmedHtml)) {
26
- reasons.push("theme CSS must define :root tokens");
26
+ reasons.push('theme CSS must define :root tokens');
27
27
  }
28
28
  if (!/--text\b/i.test(trimmedHtml) || !/var\(\s*--text\s*\)/i.test(trimmedHtml)) {
29
- reasons.push("theme CSS must define and use --text via var(--text)");
29
+ reasons.push('theme CSS must define and use --text via var(--text)');
30
30
  }
31
- if (!/@media\s*\(\s*prefers-color-scheme\s*:\s*dark\s*\)/i.test(trimmedHtml)
32
- && !/\[data-theme\s*=\s*["']?night["']?\]/i.test(trimmedHtml)) {
33
- reasons.push("theme CSS must include a dark mode rule using prefers-color-scheme or [data-theme=\"night\"]");
31
+ if (!/@media\s*\(\s*prefers-color-scheme\s*:\s*dark\s*\)/i.test(trimmedHtml) &&
32
+ !/\[data-theme\s*=\s*["']?night["']?\]/i.test(trimmedHtml)) {
33
+ reasons.push('theme CSS must include a dark mode rule using prefers-color-scheme or [data-theme="night"]');
34
34
  }
35
35
  if (!/body[^{]*\{[^}]*background(?:-color)?\s*:\s*transparent\b/is.test(lowerHtml)) {
36
- reasons.push("theme CSS must keep body background transparent");
36
+ reasons.push('theme CSS must keep body background transparent');
37
37
  }
38
38
  return reasons.length === 0 ? { ok: true } : { ok: false, reasons };
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"planPreviewHtmlSafety.js","sourceRoot":"","sources":["../../src/utils/planPreviewHtmlSafety.ts"],"names":[],"mappings":"AAIA,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE;IACpD,OAAO,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;WACpD,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;WAClD,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAY,EAA+B,EAAE;IACzF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACvE,CAAC;IACD,IACE,CAAC,qDAAqD,CAAC,IAAI,CAAC,WAAW,CAAC;WACrE,CAAC,uCAAuC,CAAC,IAAI,CAAC,WAAW,CAAC,EAC7D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,CAAC,6DAA6D,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACtE,CAAC,CAAC"}
1
+ {"version":3,"file":"planPreviewHtmlSafety.js","sourceRoot":"","sources":["../../src/utils/planPreviewHtmlSafety.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE;IACpD,OAAO,CACL,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;QAClD,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;QAClD,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CACvC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAY,EAA+B,EAAE;IACzF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACvE,CAAC;IACD,IACE,CAAC,qDAAqD,CAAC,IAAI,CAAC,WAAW,CAAC;QACxE,CAAC,uCAAuC,CAAC,IAAI,CAAC,WAAW,CAAC,EAC1D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,CAAC,6DAA6D,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACtE,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface ReportPayload {
2
+ title: string;
3
+ content: string;
4
+ status?: string;
5
+ qualityScore?: number;
6
+ commitHash?: string;
7
+ branchName?: string;
8
+ filesModified?: number;
9
+ linesAdded?: number;
10
+ linesDeleted?: number;
11
+ durationSeconds?: number;
12
+ commitStart?: string;
13
+ commitEnd?: string;
14
+ pullRequestId?: string;
15
+ reviewRecommendation?: string;
16
+ reviewReason?: string;
17
+ }
18
+ export declare function parseReportOptions(options: any, { planStartCommit, defaultStatus, }?: {
19
+ planStartCommit?: string;
20
+ defaultStatus?: string;
21
+ }): ReportPayload | undefined;
22
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/utils/report.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,GAAG,EACZ,EACE,eAAe,EACf,aAAa,GACd,GAAE;IACD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACnB,GACL,aAAa,GAAG,SAAS,CAuE3B"}
@@ -0,0 +1,79 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import { collectGitMetrics } from './git.js';
4
+ import { toNonEmptyString, toNonNegativeInteger } from './parsers.js';
5
+ import { printFileInfo } from './spinner.js';
6
+ export function parseReportOptions(options, { planStartCommit, defaultStatus, } = {}) {
7
+ const fileOption = options.reportFile ?? options.file;
8
+ if (!fileOption) {
9
+ return undefined;
10
+ }
11
+ const filePath = resolve(fileOption);
12
+ if (!existsSync(filePath)) {
13
+ throw new Error(`File not found: ${fileOption}`);
14
+ }
15
+ const content = readFileSync(filePath, 'utf-8');
16
+ printFileInfo(fileOption, content);
17
+ if (!content || content.trim().length === 0) {
18
+ throw new Error('Report file is empty.');
19
+ }
20
+ const title = (options.reportTitle ?? options.title ?? options.summary);
21
+ if (!title || title.trim().length === 0) {
22
+ const titleOptionName = options.reportTitle !== undefined ? '--report-title' : '--title';
23
+ throw new Error(`${titleOptionName} is required when creating or attaching a completion report.`);
24
+ }
25
+ const status = toNonEmptyString(options.reportStatus) ?? toNonEmptyString(options.status) ?? defaultStatus;
26
+ const autoGitMetrics = options.git === false ? {} : collectGitMetrics(undefined, { startCommit: planStartCommit });
27
+ const commitHash = toNonEmptyString(options.commitHash) ?? autoGitMetrics.commitHash;
28
+ const branchName = toNonEmptyString(options.branchName) ?? autoGitMetrics.branchName;
29
+ const filesModified = toNonNegativeInteger(options.filesModified) ?? autoGitMetrics.filesModified;
30
+ const linesAdded = toNonNegativeInteger(options.linesAdded) ?? autoGitMetrics.linesAdded;
31
+ const linesDeleted = toNonNegativeInteger(options.linesDeleted) ?? autoGitMetrics.linesDeleted;
32
+ const durationSeconds = toNonNegativeInteger(options.durationSeconds);
33
+ const commitStart = toNonEmptyString(options.commitStart) ?? planStartCommit;
34
+ const commitEnd = toNonEmptyString(options.commitEnd) ?? autoGitMetrics.commitHash;
35
+ const pullRequestId = toNonEmptyString(options.pullRequestId);
36
+ const qualityScore = toNonNegativeInteger(options.qualityScore);
37
+ const reviewRecommendationRaw = toNonEmptyString(options.reviewRecommendation);
38
+ const reviewRecommendation = reviewRecommendationRaw === 'REQUIRED' || reviewRecommendationRaw === 'NOT_NEEDED'
39
+ ? reviewRecommendationRaw
40
+ : reviewRecommendationRaw !== undefined
41
+ ? (() => {
42
+ console.warn(`Ignoring invalid --review-recommendation "${reviewRecommendationRaw}" (expected REQUIRED or NOT_NEEDED)`);
43
+ return undefined;
44
+ })()
45
+ : undefined;
46
+ const reviewReason = toNonEmptyString(options.reviewReason);
47
+ const payload = {
48
+ title: title.trim(),
49
+ content: content.trim(),
50
+ };
51
+ if (status !== undefined)
52
+ payload.status = status;
53
+ if (qualityScore !== undefined)
54
+ payload.qualityScore = qualityScore;
55
+ if (commitHash !== undefined)
56
+ payload.commitHash = commitHash;
57
+ if (branchName !== undefined)
58
+ payload.branchName = branchName;
59
+ if (filesModified !== undefined)
60
+ payload.filesModified = filesModified;
61
+ if (linesAdded !== undefined)
62
+ payload.linesAdded = linesAdded;
63
+ if (linesDeleted !== undefined)
64
+ payload.linesDeleted = linesDeleted;
65
+ if (durationSeconds !== undefined)
66
+ payload.durationSeconds = durationSeconds;
67
+ if (commitStart !== undefined)
68
+ payload.commitStart = commitStart;
69
+ if (commitEnd !== undefined)
70
+ payload.commitEnd = commitEnd;
71
+ if (pullRequestId !== undefined)
72
+ payload.pullRequestId = pullRequestId;
73
+ if (reviewRecommendation !== undefined)
74
+ payload.reviewRecommendation = reviewRecommendation;
75
+ if (reviewReason !== undefined)
76
+ payload.reviewReason = reviewReason;
77
+ return payload;
78
+ }
79
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/utils/report.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAKpC,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAGtD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGvE"}
1
+ {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAKpC,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAYzG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAGtD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,GAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,EAAoB,EACpB,WAAoB;IAEpB,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAa;IAChE,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC7D,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,KAAa;IAC/D,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,GAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,IAAY,EAAE,EAAoB,EAAE,WAAoB;IAC3F,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAe;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAa;IAChE,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC7D,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,KAAa;IAC/D,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateCheck.d.ts","sourceRoot":"","sources":["../../src/utils/updateCheck.ts"],"names":[],"mappings":"AASA,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,wBAAgB,SAAS,IAAI,SAAS,GAAG,IAAI,CAQ5C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAShD;AAuBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CASxE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuB/E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW3E"}
1
+ {"version":3,"file":"updateCheck.d.ts","sourceRoot":"","sources":["../../src/utils/updateCheck.ts"],"names":[],"mappings":"AASA,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,wBAAgB,SAAS,IAAI,SAAS,GAAG,IAAI,CAQ5C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAShD;AAoBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CASxE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuB/E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmB3E"}
@@ -92,9 +92,17 @@ export function formatUpdateMessage(current, latest) {
92
92
  return [
93
93
  '',
94
94
  chalk.yellow('╭─────────────────────────────────────────────────────────────╮'),
95
- chalk.yellow('│') + chalk.bold.yellow(' ACTION REQUIRED: CLI update available') + chalk.yellow(' │'),
96
- chalk.yellow('│') + ` ${current} ${chalk.green(latest)}` + ' '.repeat(Math.max(0, 48 - current.length - latest.length)) + chalk.yellow('│'),
97
- chalk.yellow('│') + chalk.cyan(` Run: npm install -g ${PACKAGE_NAME}`) + ' '.repeat(Math.max(0, 22 - PACKAGE_NAME.length + 25)) + chalk.yellow('│'),
95
+ chalk.yellow('│') +
96
+ chalk.bold.yellow(' ACTION REQUIRED: CLI update available') +
97
+ chalk.yellow(' │'),
98
+ chalk.yellow('│') +
99
+ ` ${current} → ${chalk.green(latest)}` +
100
+ ' '.repeat(Math.max(0, 48 - current.length - latest.length)) +
101
+ chalk.yellow('│'),
102
+ chalk.yellow('│') +
103
+ chalk.cyan(` Run: npm install -g ${PACKAGE_NAME}`) +
104
+ ' '.repeat(Math.max(0, 22 - PACKAGE_NAME.length + 25)) +
105
+ chalk.yellow('│'),
98
106
  chalk.yellow('│') + ' Update to get the latest conventions and features.' + ' '.repeat(8) + chalk.yellow('│'),
99
107
  chalk.yellow('╰─────────────────────────────────────────────────────────────╯'),
100
108
  '',
@@ -1 +1 @@
1
- {"version":3,"file":"updateCheck.js","sourceRoot":"","sources":["../../src/utils/updateCheck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateCheck.js","sourceRoot":"","sources":["../../src/utils/updateCheck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { defineConfig, globalIgnores } from 'eslint/config';
2
+ import js from '@eslint/js';
3
+ import tseslint from 'typescript-eslint';
4
+
5
+ const nodeGlobals = {
6
+ process: 'readonly',
7
+ console: 'readonly',
8
+ Buffer: 'readonly',
9
+ __dirname: 'readonly',
10
+ __filename: 'readonly',
11
+ global: 'readonly',
12
+ globalThis: 'readonly',
13
+ URL: 'readonly',
14
+ URLSearchParams: 'readonly',
15
+ setTimeout: 'readonly',
16
+ clearTimeout: 'readonly',
17
+ setInterval: 'readonly',
18
+ clearInterval: 'readonly',
19
+ setImmediate: 'readonly',
20
+ queueMicrotask: 'readonly',
21
+ fetch: 'readonly',
22
+ TextEncoder: 'readonly',
23
+ TextDecoder: 'readonly',
24
+ AbortController: 'readonly',
25
+ AbortSignal: 'readonly',
26
+ Request: 'readonly',
27
+ RequestInit: 'readonly',
28
+ Response: 'readonly',
29
+ Headers: 'readonly',
30
+ FormData: 'readonly',
31
+ ReadableStream: 'readonly',
32
+ WritableStream: 'readonly',
33
+ TransformStream: 'readonly',
34
+ Blob: 'readonly',
35
+ File: 'readonly',
36
+ crypto: 'readonly',
37
+ performance: 'readonly',
38
+ btoa: 'readonly',
39
+ atob: 'readonly',
40
+ structuredClone: 'readonly',
41
+ };
42
+
43
+ const jestGlobals = {
44
+ describe: 'readonly',
45
+ it: 'readonly',
46
+ test: 'readonly',
47
+ expect: 'readonly',
48
+ beforeAll: 'readonly',
49
+ beforeEach: 'readonly',
50
+ afterAll: 'readonly',
51
+ afterEach: 'readonly',
52
+ jest: 'readonly',
53
+ };
54
+
55
+ const ruleOverrides = {
56
+ 'no-redeclare': 'off',
57
+ '@typescript-eslint/no-redeclare': 'off',
58
+ 'no-regex-spaces': 'off',
59
+ 'no-useless-escape': 'off',
60
+ 'no-unused-vars': 'off',
61
+ '@typescript-eslint/no-unused-vars': [
62
+ 'warn',
63
+ {
64
+ argsIgnorePattern: '^_',
65
+ varsIgnorePattern: '^_',
66
+ caughtErrorsIgnorePattern: '^_',
67
+ },
68
+ ],
69
+ '@typescript-eslint/no-explicit-any': 'warn',
70
+ '@typescript-eslint/no-empty-function': 'off',
71
+ '@typescript-eslint/ban-ts-comment': 'warn',
72
+ 'no-empty': 'off',
73
+ };
74
+
75
+ export default defineConfig([
76
+ js.configs.recommended,
77
+ ...tseslint.configs.recommended,
78
+ {
79
+ files: ['src/**/*.ts'],
80
+ plugins: {
81
+ '@typescript-eslint': tseslint.plugin,
82
+ },
83
+ languageOptions: {
84
+ parser: tseslint.parser,
85
+ parserOptions: {
86
+ projectService: false,
87
+ project: ['./tsconfig.json'],
88
+ tsconfigRootDir: import.meta.dirname,
89
+ },
90
+ globals: nodeGlobals,
91
+ },
92
+ rules: ruleOverrides,
93
+ },
94
+ {
95
+ files: ['test/**/*.ts'],
96
+ plugins: {
97
+ '@typescript-eslint': tseslint.plugin,
98
+ },
99
+ languageOptions: {
100
+ parser: tseslint.parser,
101
+ parserOptions: {
102
+ projectService: false,
103
+ project: ['./tsconfig.test.json'],
104
+ tsconfigRootDir: import.meta.dirname,
105
+ },
106
+ globals: { ...nodeGlobals, ...jestGlobals },
107
+ },
108
+ rules: ruleOverrides,
109
+ },
110
+ globalIgnores(['dist/**', 'node_modules/**', 'coverage/**']),
111
+ ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/cli",
3
- "version": "0.1.56",
3
+ "version": "0.1.58-dev.224",
4
4
  "description": "CLI tool for AgentTeams API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,6 +15,9 @@
15
15
  "typecheck": "tsc --noEmit",
16
16
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
17
17
  "test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
18
+ "lint": "eslint 'src/**/*.ts' 'test/**/*.ts'",
19
+ "format": "prettier --write .",
20
+ "format:check": "prettier --check .",
18
21
  "prepublishOnly": "npm run build"
19
22
  },
20
23
  "keywords": [
@@ -46,10 +49,14 @@
46
49
  "ora": "^9.4.0"
47
50
  },
48
51
  "devDependencies": {
52
+ "@eslint/js": "^9.39.4",
49
53
  "@types/jest": "^29.5.14",
50
54
  "@types/node": "^25.9.1",
55
+ "eslint": "^9.39.4",
51
56
  "jest": "^29.7.0",
57
+ "prettier": "^3.8.4",
52
58
  "ts-jest": "^29.4.11",
53
- "typescript": "^6.0.3"
59
+ "typescript": "^6.0.3",
60
+ "typescript-eslint": "^8.61.0"
54
61
  }
55
62
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "rootDir": ".",
5
+ "noEmit": true,
6
+ "types": ["node", "jest"]
7
+ },
8
+ "include": ["src/**/*", "test/**/*"],
9
+ "exclude": ["node_modules", "dist"]
10
+ }