@agentteams/cli 0.1.96 → 0.1.98

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 (224) hide show
  1. package/.eslintcache +1 -1
  2. package/README.md +81 -23
  3. package/dist/auth/credentialStore.d.ts +70 -10
  4. package/dist/auth/credentialStore.d.ts.map +1 -1
  5. package/dist/auth/credentialStore.js +207 -20
  6. package/dist/auth/credentialStore.js.map +1 -1
  7. package/dist/auth/fileCredentialStore.d.ts +172 -0
  8. package/dist/auth/fileCredentialStore.d.ts.map +1 -0
  9. package/dist/auth/fileCredentialStore.js +445 -0
  10. package/dist/auth/fileCredentialStore.js.map +1 -0
  11. package/dist/auth/personalTokenClient.d.ts +7 -1
  12. package/dist/auth/personalTokenClient.d.ts.map +1 -1
  13. package/dist/auth/personalTokenClient.js +19 -4
  14. package/dist/auth/personalTokenClient.js.map +1 -1
  15. package/dist/auth/personalTokenStore.d.ts +1 -1
  16. package/dist/auth/personalTokenStore.d.ts.map +1 -1
  17. package/dist/auth/personalTokenStore.js +7 -2
  18. package/dist/auth/personalTokenStore.js.map +1 -1
  19. package/dist/auth/refreshLock.d.ts +5 -2
  20. package/dist/auth/refreshLock.d.ts.map +1 -1
  21. package/dist/auth/refreshLock.js +8 -4
  22. package/dist/auth/refreshLock.js.map +1 -1
  23. package/dist/auth/slotHash.d.ts +15 -0
  24. package/dist/auth/slotHash.d.ts.map +1 -0
  25. package/dist/auth/slotHash.js +18 -0
  26. package/dist/auth/slotHash.js.map +1 -0
  27. package/dist/commands/auth.d.ts +8 -1
  28. package/dist/commands/auth.d.ts.map +1 -1
  29. package/dist/commands/auth.js +41 -7
  30. package/dist/commands/auth.js.map +1 -1
  31. package/dist/commands/coaction.d.ts.map +1 -1
  32. package/dist/commands/coaction.js +6 -21
  33. package/dist/commands/coaction.js.map +1 -1
  34. package/dist/commands/codeReview.d.ts.map +1 -1
  35. package/dist/commands/codeReview.js +1 -2
  36. package/dist/commands/codeReview.js.map +1 -1
  37. package/dist/commands/doctor.js +1 -1
  38. package/dist/commands/doctor.js.map +1 -1
  39. package/dist/commands/document.d.ts +0 -1
  40. package/dist/commands/document.d.ts.map +1 -1
  41. package/dist/commands/document.js +1 -1
  42. package/dist/commands/document.js.map +1 -1
  43. package/dist/commands/init.d.ts +1 -0
  44. package/dist/commands/init.d.ts.map +1 -1
  45. package/dist/commands/init.js +2 -0
  46. package/dist/commands/init.js.map +1 -1
  47. package/dist/commands/plan.d.ts.map +1 -1
  48. package/dist/commands/plan.js +10 -53
  49. package/dist/commands/plan.js.map +1 -1
  50. package/dist/commands/postmortem.d.ts.map +1 -1
  51. package/dist/commands/postmortem.js +1 -5
  52. package/dist/commands/postmortem.js.map +1 -1
  53. package/dist/commands/report.d.ts.map +1 -1
  54. package/dist/commands/report.js +1 -5
  55. package/dist/commands/report.js.map +1 -1
  56. package/dist/commands/task.js +2 -2
  57. package/dist/commands/task.js.map +1 -1
  58. package/dist/index.js +3 -1350
  59. package/dist/index.js.map +1 -1
  60. package/dist/mcp/context.d.ts +1 -1
  61. package/dist/mcp/context.js +1 -1
  62. package/dist/mcp/context.js.map +1 -1
  63. package/dist/mcp-registration/index.js +3 -3
  64. package/dist/mcp-registration/index.js.map +1 -1
  65. package/dist/mcp-registration/serverSpec.d.ts +1 -1
  66. package/dist/program/agentConfig.d.ts +3 -0
  67. package/dist/program/agentConfig.d.ts.map +1 -0
  68. package/dist/program/agentConfig.js +14 -0
  69. package/dist/program/agentConfig.js.map +1 -0
  70. package/dist/program/attachment.d.ts +3 -0
  71. package/dist/program/attachment.d.ts.map +1 -0
  72. package/dist/program/attachment.js +17 -0
  73. package/dist/program/attachment.js.map +1 -0
  74. package/dist/program/auth.d.ts +3 -0
  75. package/dist/program/auth.d.ts.map +1 -0
  76. package/dist/program/auth.js +39 -0
  77. package/dist/program/auth.js.map +1 -0
  78. package/dist/program/changeSet.d.ts +4 -0
  79. package/dist/program/changeSet.d.ts.map +1 -0
  80. package/dist/program/changeSet.js +53 -0
  81. package/dist/program/changeSet.js.map +1 -0
  82. package/dist/program/coaction.d.ts +7 -0
  83. package/dist/program/coaction.d.ts.map +1 -0
  84. package/dist/program/coaction.js +81 -0
  85. package/dist/program/coaction.js.map +1 -0
  86. package/dist/program/codeReview.d.ts +4 -0
  87. package/dist/program/codeReview.d.ts.map +1 -0
  88. package/dist/program/codeReview.js +100 -0
  89. package/dist/program/codeReview.js.map +1 -0
  90. package/dist/program/comment.d.ts +4 -0
  91. package/dist/program/comment.d.ts.map +1 -0
  92. package/dist/program/comment.js +50 -0
  93. package/dist/program/comment.js.map +1 -0
  94. package/dist/program/config.d.ts +3 -0
  95. package/dist/program/config.d.ts.map +1 -0
  96. package/dist/program/config.js +9 -0
  97. package/dist/program/config.js.map +1 -0
  98. package/dist/program/convention.d.ts +4 -0
  99. package/dist/program/convention.d.ts.map +1 -0
  100. package/dist/program/convention.js +37 -0
  101. package/dist/program/convention.js.map +1 -0
  102. package/dist/program/dependency.d.ts +3 -0
  103. package/dist/program/dependency.d.ts.map +1 -0
  104. package/dist/program/dependency.js +15 -0
  105. package/dist/program/dependency.js.map +1 -0
  106. package/dist/program/doctor.d.ts +6 -0
  107. package/dist/program/doctor.d.ts.map +1 -0
  108. package/dist/program/doctor.js +31 -0
  109. package/dist/program/doctor.js.map +1 -0
  110. package/dist/program/document.d.ts +7 -0
  111. package/dist/program/document.d.ts.map +1 -0
  112. package/dist/program/document.js +87 -0
  113. package/dist/program/document.js.map +1 -0
  114. package/dist/program/feedback.d.ts +3 -0
  115. package/dist/program/feedback.d.ts.map +1 -0
  116. package/dist/program/feedback.js +10 -0
  117. package/dist/program/feedback.js.map +1 -0
  118. package/dist/program/index.d.ts +3 -0
  119. package/dist/program/index.d.ts.map +1 -0
  120. package/dist/program/index.js +66 -0
  121. package/dist/program/index.js.map +1 -0
  122. package/dist/program/init.d.ts +6 -0
  123. package/dist/program/init.d.ts.map +1 -0
  124. package/dist/program/init.js +50 -0
  125. package/dist/program/init.js.map +1 -0
  126. package/dist/program/linear.d.ts +3 -0
  127. package/dist/program/linear.d.ts.map +1 -0
  128. package/dist/program/linear.js +25 -0
  129. package/dist/program/linear.js.map +1 -0
  130. package/dist/program/mcp.d.ts +6 -0
  131. package/dist/program/mcp.d.ts.map +1 -0
  132. package/dist/program/mcp.js +95 -0
  133. package/dist/program/mcp.js.map +1 -0
  134. package/dist/program/options/completionReport.d.ts +5 -0
  135. package/dist/program/options/completionReport.d.ts.map +1 -0
  136. package/dist/program/options/completionReport.js +19 -0
  137. package/dist/program/options/completionReport.js.map +1 -0
  138. package/dist/program/options/connection.d.ts +3 -0
  139. package/dist/program/options/connection.d.ts.map +1 -0
  140. package/dist/program/options/connection.js +8 -0
  141. package/dist/program/options/connection.js.map +1 -0
  142. package/dist/program/options/output.d.ts +3 -0
  143. package/dist/program/options/output.d.ts.map +1 -0
  144. package/dist/program/options/output.js +6 -0
  145. package/dist/program/options/output.js.map +1 -0
  146. package/dist/program/options/pagination.d.ts +3 -0
  147. package/dist/program/options/pagination.d.ts.map +1 -0
  148. package/dist/program/options/pagination.js +6 -0
  149. package/dist/program/options/pagination.js.map +1 -0
  150. package/dist/program/options/resource.d.ts +6 -0
  151. package/dist/program/options/resource.d.ts.map +1 -0
  152. package/dist/program/options/resource.js +29 -0
  153. package/dist/program/options/resource.js.map +1 -0
  154. package/dist/program/plan.d.ts +7 -0
  155. package/dist/program/plan.d.ts.map +1 -0
  156. package/dist/program/plan.js +137 -0
  157. package/dist/program/plan.js.map +1 -0
  158. package/dist/program/postmortem.d.ts +4 -0
  159. package/dist/program/postmortem.d.ts.map +1 -0
  160. package/dist/program/postmortem.js +27 -0
  161. package/dist/program/postmortem.js.map +1 -0
  162. package/dist/program/report.d.ts +4 -0
  163. package/dist/program/report.d.ts.map +1 -0
  164. package/dist/program/report.js +38 -0
  165. package/dist/program/report.js.map +1 -0
  166. package/dist/program/resolve.d.ts +6 -0
  167. package/dist/program/resolve.d.ts.map +1 -0
  168. package/dist/program/resolve.js +30 -0
  169. package/dist/program/resolve.js.map +1 -0
  170. package/dist/program/search.d.ts +6 -0
  171. package/dist/program/search.d.ts.map +1 -0
  172. package/dist/program/search.js +43 -0
  173. package/dist/program/search.js.map +1 -0
  174. package/dist/program/shared.d.ts +32 -0
  175. package/dist/program/shared.d.ts.map +1 -0
  176. package/dist/program/shared.js +96 -0
  177. package/dist/program/shared.js.map +1 -0
  178. package/dist/program/sync.d.ts +6 -0
  179. package/dist/program/sync.d.ts.map +1 -0
  180. package/dist/program/sync.js +35 -0
  181. package/dist/program/sync.js.map +1 -0
  182. package/dist/program/task.d.ts +3 -0
  183. package/dist/program/task.d.ts.map +1 -0
  184. package/dist/program/task.js +13 -0
  185. package/dist/program/task.js.map +1 -0
  186. package/dist/program/worktree.d.ts +3 -0
  187. package/dist/program/worktree.d.ts.map +1 -0
  188. package/dist/program/worktree.js +30 -0
  189. package/dist/program/worktree.js.map +1 -0
  190. package/dist/types/index.d.ts +3 -1
  191. package/dist/types/index.d.ts.map +1 -1
  192. package/dist/utils/apiContext.d.ts.map +1 -1
  193. package/dist/utils/apiContext.js +6 -1
  194. package/dist/utils/apiContext.js.map +1 -1
  195. package/dist/utils/apiKeyInput.d.ts +1 -3
  196. package/dist/utils/apiKeyInput.d.ts.map +1 -1
  197. package/dist/utils/apiKeyInput.js +1 -9
  198. package/dist/utils/apiKeyInput.js.map +1 -1
  199. package/dist/utils/apiOrigin.d.ts +43 -0
  200. package/dist/utils/apiOrigin.d.ts.map +1 -0
  201. package/dist/utils/apiOrigin.js +78 -0
  202. package/dist/utils/apiOrigin.js.map +1 -0
  203. package/dist/utils/authFormat.d.ts.map +1 -1
  204. package/dist/utils/authFormat.js +32 -11
  205. package/dist/utils/authFormat.js.map +1 -1
  206. package/dist/utils/config.d.ts +10 -4
  207. package/dist/utils/config.d.ts.map +1 -1
  208. package/dist/utils/config.js +13 -5
  209. package/dist/utils/config.js.map +1 -1
  210. package/dist/utils/httpClient.d.ts.map +1 -1
  211. package/dist/utils/httpClient.js +50 -0
  212. package/dist/utils/httpClient.js.map +1 -1
  213. package/dist/utils/initOutput.d.ts.map +1 -1
  214. package/dist/utils/initOutput.js +14 -3
  215. package/dist/utils/initOutput.js.map +1 -1
  216. package/dist/utils/outputPolicy.d.ts +6 -7
  217. package/dist/utils/outputPolicy.d.ts.map +1 -1
  218. package/dist/utils/outputPolicy.js +0 -5
  219. package/dist/utils/outputPolicy.js.map +1 -1
  220. package/dist/utils/projectRootHash.d.ts +30 -0
  221. package/dist/utils/projectRootHash.d.ts.map +1 -0
  222. package/dist/utils/projectRootHash.js +43 -0
  223. package/dist/utils/projectRootHash.js.map +1 -0
  224. package/package.json +1 -1
@@ -0,0 +1,43 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { dirname } from 'node:path';
3
+ import { findProjectConfig } from './config.js';
4
+ /**
5
+ * Hash of the project root the CLI is operating in, sent as `X-AgentTeams-Project-Root-Hash`.
6
+ *
7
+ * The server uses it to tell which `AgentConfig` a personal-token request came from: `AgentConfig`
8
+ * stores the absolute path the agent was registered at (`authPath`), so hashing both sides with the
9
+ * *same* rules turns "which folder is this" into an equality check without ever putting a plaintext
10
+ * absolute path on the wire. Sending the path itself would undo the reason `agentteams init`
11
+ * encrypts it (`commands/init.ts` `encryptAuthPath`).
12
+ *
13
+ * ## Normalization contract (the API mirror in `api/src/utils/projectRootHash.ts` must match)
14
+ *
15
+ * 1. The input is an absolute path — the directory that owns `.agentteams/config.json`, not
16
+ * `process.cwd()`. Running from a subdirectory must produce the same hash.
17
+ * 2. `\` becomes `/`, so a Windows path has one spelling on both sides.
18
+ * 3. Trailing separators are dropped, except when that would empty a POSIX root (`/`).
19
+ * 4. **Case is left alone.** Lowercasing would make two directories that differ only by case
20
+ * collide on a case-sensitive filesystem, and a collision here attributes a record to the wrong
21
+ * agent. A Windows path spelled with different casing than at registration simply fails to
22
+ * match, and the server falls back to matching on `machineId` alone — an empty tool axis is the
23
+ * intended failure mode, a wrong one is not.
24
+ * 5. The digest is lowercase hex SHA-256 of the UTF-8 bytes.
25
+ */
26
+ export const normalizeProjectRootPath = (absolutePath) => {
27
+ const withForwardSlashes = absolutePath.replace(/\\/g, '/');
28
+ const withoutTrailingSlash = withForwardSlashes.replace(/\/+$/, '');
29
+ return withoutTrailingSlash.length > 0 ? withoutTrailingSlash : '/';
30
+ };
31
+ export const hashProjectRootPath = (absolutePath) => createHash('sha256').update(normalizeProjectRootPath(absolutePath), 'utf8').digest('hex');
32
+ /**
33
+ * Resolve the project root for `startDir` and hash it, or return `null` when there is no project
34
+ * config to anchor on. `null` means the header is omitted — never sent empty.
35
+ */
36
+ export const resolveProjectRootHash = (startDir = process.cwd()) => {
37
+ const configPath = findProjectConfig(startDir);
38
+ if (!configPath)
39
+ return null;
40
+ // configPath is `<root>/.agentteams/config.json`, so the root is two levels up.
41
+ return hashProjectRootPath(dirname(dirname(configPath)));
42
+ };
43
+ //# sourceMappingURL=projectRootHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectRootHash.js","sourceRoot":"","sources":["../../src/utils/projectRootHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAU,EAAE;IACvE,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAoB,EAAU,EAAE,CAClE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE5F;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE,EAAiB,EAAE;IACxF,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,gFAAgF;IAChF,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/cli",
3
- "version": "0.1.96",
3
+ "version": "0.1.98",
4
4
  "description": "CLI tool for AgentTeams API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",