@tpsdev-ai/cli 0.2.0 → 0.3.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 (228) hide show
  1. package/README.md +65 -0
  2. package/bin/tps.cjs +22 -0
  3. package/bin/tps.ts +435 -0
  4. package/package.json +29 -5
  5. package/dist/bin/tps.d.ts +0 -3
  6. package/dist/bin/tps.d.ts.map +0 -1
  7. package/dist/bin/tps.js +0 -414
  8. package/dist/bin/tps.js.map +0 -1
  9. package/dist/src/cli/hire.d.ts +0 -16
  10. package/dist/src/cli/hire.d.ts.map +0 -1
  11. package/dist/src/cli/hire.js +0 -176
  12. package/dist/src/cli/hire.js.map +0 -1
  13. package/dist/src/cli/office.d.ts +0 -7
  14. package/dist/src/cli/office.d.ts.map +0 -1
  15. package/dist/src/cli/office.js +0 -51
  16. package/dist/src/cli/office.js.map +0 -1
  17. package/dist/src/cli/review.d.ts +0 -9
  18. package/dist/src/cli/review.d.ts.map +0 -1
  19. package/dist/src/cli/review.js +0 -109
  20. package/dist/src/cli/review.js.map +0 -1
  21. package/dist/src/cli/roster.d.ts +0 -6
  22. package/dist/src/cli/roster.d.ts.map +0 -1
  23. package/dist/src/cli/roster.js +0 -60
  24. package/dist/src/cli/roster.js.map +0 -1
  25. package/dist/src/commands/backup.d.ts +0 -19
  26. package/dist/src/commands/backup.d.ts.map +0 -1
  27. package/dist/src/commands/backup.js +0 -595
  28. package/dist/src/commands/backup.js.map +0 -1
  29. package/dist/src/commands/bootstrap.d.ts +0 -7
  30. package/dist/src/commands/bootstrap.d.ts.map +0 -1
  31. package/dist/src/commands/bootstrap.js +0 -255
  32. package/dist/src/commands/bootstrap.js.map +0 -1
  33. package/dist/src/commands/branch.d.ts +0 -14
  34. package/dist/src/commands/branch.d.ts.map +0 -1
  35. package/dist/src/commands/branch.js +0 -395
  36. package/dist/src/commands/branch.js.map +0 -1
  37. package/dist/src/commands/context.d.ts +0 -9
  38. package/dist/src/commands/context.d.ts.map +0 -1
  39. package/dist/src/commands/context.js +0 -57
  40. package/dist/src/commands/context.js.map +0 -1
  41. package/dist/src/commands/git.d.ts +0 -8
  42. package/dist/src/commands/git.d.ts.map +0 -1
  43. package/dist/src/commands/git.js +0 -53
  44. package/dist/src/commands/git.js.map +0 -1
  45. package/dist/src/commands/identity.d.ts +0 -13
  46. package/dist/src/commands/identity.d.ts.map +0 -1
  47. package/dist/src/commands/identity.js +0 -231
  48. package/dist/src/commands/identity.js.map +0 -1
  49. package/dist/src/commands/mail.d.ts +0 -12
  50. package/dist/src/commands/mail.d.ts.map +0 -1
  51. package/dist/src/commands/mail.js +0 -251
  52. package/dist/src/commands/mail.js.map +0 -1
  53. package/dist/src/commands/office-manager.d.ts +0 -147
  54. package/dist/src/commands/office-manager.d.ts.map +0 -1
  55. package/dist/src/commands/office-manager.js +0 -171
  56. package/dist/src/commands/office-manager.js.map +0 -1
  57. package/dist/src/commands/office.d.ts +0 -12
  58. package/dist/src/commands/office.d.ts.map +0 -1
  59. package/dist/src/commands/office.js +0 -480
  60. package/dist/src/commands/office.js.map +0 -1
  61. package/dist/src/commands/roster.d.ts +0 -10
  62. package/dist/src/commands/roster.d.ts.map +0 -1
  63. package/dist/src/commands/roster.js +0 -143
  64. package/dist/src/commands/roster.js.map +0 -1
  65. package/dist/src/commands/secrets.d.ts +0 -9
  66. package/dist/src/commands/secrets.d.ts.map +0 -1
  67. package/dist/src/commands/secrets.js +0 -54
  68. package/dist/src/commands/secrets.js.map +0 -1
  69. package/dist/src/commands/status.d.ts +0 -33
  70. package/dist/src/commands/status.d.ts.map +0 -1
  71. package/dist/src/commands/status.js +0 -407
  72. package/dist/src/commands/status.js.map +0 -1
  73. package/dist/src/generators/brief.d.ts +0 -6
  74. package/dist/src/generators/brief.d.ts.map +0 -1
  75. package/dist/src/generators/brief.js +0 -33
  76. package/dist/src/generators/brief.js.map +0 -1
  77. package/dist/src/generators/claude-code.d.ts +0 -18
  78. package/dist/src/generators/claude-code.d.ts.map +0 -1
  79. package/dist/src/generators/claude-code.js +0 -85
  80. package/dist/src/generators/claude-code.js.map +0 -1
  81. package/dist/src/generators/codex.d.ts +0 -23
  82. package/dist/src/generators/codex.d.ts.map +0 -1
  83. package/dist/src/generators/codex.js +0 -83
  84. package/dist/src/generators/codex.js.map +0 -1
  85. package/dist/src/generators/ollama.d.ts +0 -18
  86. package/dist/src/generators/ollama.d.ts.map +0 -1
  87. package/dist/src/generators/ollama.js +0 -97
  88. package/dist/src/generators/ollama.js.map +0 -1
  89. package/dist/src/generators/openclaw.d.ts +0 -15
  90. package/dist/src/generators/openclaw.d.ts.map +0 -1
  91. package/dist/src/generators/openclaw.js +0 -107
  92. package/dist/src/generators/openclaw.js.map +0 -1
  93. package/dist/src/generators/registry.d.ts +0 -36
  94. package/dist/src/generators/registry.d.ts.map +0 -1
  95. package/dist/src/generators/registry.js +0 -99
  96. package/dist/src/generators/registry.js.map +0 -1
  97. package/dist/src/schema/manifest.d.ts +0 -287
  98. package/dist/src/schema/manifest.d.ts.map +0 -1
  99. package/dist/src/schema/manifest.js +0 -65
  100. package/dist/src/schema/manifest.js.map +0 -1
  101. package/dist/src/schema/report.d.ts +0 -166
  102. package/dist/src/schema/report.d.ts.map +0 -1
  103. package/dist/src/schema/report.js +0 -90
  104. package/dist/src/schema/report.js.map +0 -1
  105. package/dist/src/schema/sanitizer.d.ts +0 -30
  106. package/dist/src/schema/sanitizer.d.ts.map +0 -1
  107. package/dist/src/schema/sanitizer.js +0 -99
  108. package/dist/src/schema/sanitizer.js.map +0 -1
  109. package/dist/src/soundstage/mock-llm.d.ts +0 -3
  110. package/dist/src/soundstage/mock-llm.d.ts.map +0 -1
  111. package/dist/src/soundstage/mock-llm.js +0 -68
  112. package/dist/src/soundstage/mock-llm.js.map +0 -1
  113. package/dist/src/utils/agent-info.d.ts +0 -28
  114. package/dist/src/utils/agent-info.d.ts.map +0 -1
  115. package/dist/src/utils/agent-info.js +0 -102
  116. package/dist/src/utils/agent-info.js.map +0 -1
  117. package/dist/src/utils/archive.d.ts +0 -20
  118. package/dist/src/utils/archive.d.ts.map +0 -1
  119. package/dist/src/utils/archive.js +0 -108
  120. package/dist/src/utils/archive.js.map +0 -1
  121. package/dist/src/utils/config-inject.d.ts +0 -27
  122. package/dist/src/utils/config-inject.d.ts.map +0 -1
  123. package/dist/src/utils/config-inject.js +0 -83
  124. package/dist/src/utils/config-inject.js.map +0 -1
  125. package/dist/src/utils/config.d.ts +0 -30
  126. package/dist/src/utils/config.d.ts.map +0 -1
  127. package/dist/src/utils/config.js +0 -55
  128. package/dist/src/utils/config.js.map +0 -1
  129. package/dist/src/utils/connection-state.d.ts +0 -27
  130. package/dist/src/utils/connection-state.d.ts.map +0 -1
  131. package/dist/src/utils/connection-state.js +0 -81
  132. package/dist/src/utils/connection-state.js.map +0 -1
  133. package/dist/src/utils/context.d.ts +0 -14
  134. package/dist/src/utils/context.d.ts.map +0 -1
  135. package/dist/src/utils/context.js +0 -68
  136. package/dist/src/utils/context.js.map +0 -1
  137. package/dist/src/utils/github-webhook.d.ts +0 -3
  138. package/dist/src/utils/github-webhook.d.ts.map +0 -1
  139. package/dist/src/utils/github-webhook.js +0 -105
  140. package/dist/src/utils/github-webhook.js.map +0 -1
  141. package/dist/src/utils/identity.d.ts +0 -124
  142. package/dist/src/utils/identity.d.ts.map +0 -1
  143. package/dist/src/utils/identity.js +0 -434
  144. package/dist/src/utils/identity.js.map +0 -1
  145. package/dist/src/utils/internal-mail.d.ts +0 -18
  146. package/dist/src/utils/internal-mail.d.ts.map +0 -1
  147. package/dist/src/utils/internal-mail.js +0 -75
  148. package/dist/src/utils/internal-mail.js.map +0 -1
  149. package/dist/src/utils/loop-detector.d.ts +0 -27
  150. package/dist/src/utils/loop-detector.d.ts.map +0 -1
  151. package/dist/src/utils/loop-detector.js +0 -42
  152. package/dist/src/utils/loop-detector.js.map +0 -1
  153. package/dist/src/utils/mail-handler.d.ts +0 -19
  154. package/dist/src/utils/mail-handler.d.ts.map +0 -1
  155. package/dist/src/utils/mail-handler.js +0 -94
  156. package/dist/src/utils/mail-handler.js.map +0 -1
  157. package/dist/src/utils/mail.d.ts +0 -22
  158. package/dist/src/utils/mail.d.ts.map +0 -1
  159. package/dist/src/utils/mail.js +0 -111
  160. package/dist/src/utils/mail.js.map +0 -1
  161. package/dist/src/utils/manifest.d.ts +0 -36
  162. package/dist/src/utils/manifest.d.ts.map +0 -1
  163. package/dist/src/utils/manifest.js +0 -94
  164. package/dist/src/utils/manifest.js.map +0 -1
  165. package/dist/src/utils/noise-ik-transport.d.ts +0 -18
  166. package/dist/src/utils/noise-ik-transport.d.ts.map +0 -1
  167. package/dist/src/utils/noise-ik-transport.js +0 -357
  168. package/dist/src/utils/noise-ik-transport.js.map +0 -1
  169. package/dist/src/utils/nono.d.ts +0 -72
  170. package/dist/src/utils/nono.d.ts.map +0 -1
  171. package/dist/src/utils/nono.js +0 -166
  172. package/dist/src/utils/nono.js.map +0 -1
  173. package/dist/src/utils/outbox.d.ts +0 -10
  174. package/dist/src/utils/outbox.d.ts.map +0 -1
  175. package/dist/src/utils/outbox.js +0 -29
  176. package/dist/src/utils/outbox.js.map +0 -1
  177. package/dist/src/utils/output.d.ts +0 -17
  178. package/dist/src/utils/output.d.ts.map +0 -1
  179. package/dist/src/utils/output.js +0 -83
  180. package/dist/src/utils/output.js.map +0 -1
  181. package/dist/src/utils/plain-tcp-transport.d.ts +0 -10
  182. package/dist/src/utils/plain-tcp-transport.d.ts.map +0 -1
  183. package/dist/src/utils/plain-tcp-transport.js +0 -209
  184. package/dist/src/utils/plain-tcp-transport.js.map +0 -1
  185. package/dist/src/utils/provision.d.ts +0 -2
  186. package/dist/src/utils/provision.d.ts.map +0 -1
  187. package/dist/src/utils/provision.js +0 -193
  188. package/dist/src/utils/provision.js.map +0 -1
  189. package/dist/src/utils/relay.d.ts +0 -30
  190. package/dist/src/utils/relay.d.ts.map +0 -1
  191. package/dist/src/utils/relay.js +0 -539
  192. package/dist/src/utils/relay.js.map +0 -1
  193. package/dist/src/utils/sandbox.d.ts +0 -37
  194. package/dist/src/utils/sandbox.d.ts.map +0 -1
  195. package/dist/src/utils/sandbox.js +0 -126
  196. package/dist/src/utils/sandbox.js.map +0 -1
  197. package/dist/src/utils/transport.d.ts +0 -62
  198. package/dist/src/utils/transport.d.ts.map +0 -1
  199. package/dist/src/utils/transport.js +0 -75
  200. package/dist/src/utils/transport.js.map +0 -1
  201. package/dist/src/utils/vault.d.ts +0 -21
  202. package/dist/src/utils/vault.d.ts.map +0 -1
  203. package/dist/src/utils/vault.js +0 -67
  204. package/dist/src/utils/vault.js.map +0 -1
  205. package/dist/src/utils/wall.d.ts +0 -5
  206. package/dist/src/utils/wall.d.ts.map +0 -1
  207. package/dist/src/utils/wall.js +0 -51
  208. package/dist/src/utils/wall.js.map +0 -1
  209. package/dist/src/utils/wire-delivery.d.ts +0 -10
  210. package/dist/src/utils/wire-delivery.d.ts.map +0 -1
  211. package/dist/src/utils/wire-delivery.js +0 -57
  212. package/dist/src/utils/wire-delivery.js.map +0 -1
  213. package/dist/src/utils/wire-frame.d.ts +0 -10
  214. package/dist/src/utils/wire-frame.d.ts.map +0 -1
  215. package/dist/src/utils/wire-frame.js +0 -66
  216. package/dist/src/utils/wire-frame.js.map +0 -1
  217. package/dist/src/utils/wire-mail.d.ts +0 -54
  218. package/dist/src/utils/wire-mail.d.ts.map +0 -1
  219. package/dist/src/utils/wire-mail.js +0 -24
  220. package/dist/src/utils/wire-mail.js.map +0 -1
  221. package/dist/src/utils/workspace.d.ts +0 -14
  222. package/dist/src/utils/workspace.d.ts.map +0 -1
  223. package/dist/src/utils/workspace.js +0 -53
  224. package/dist/src/utils/workspace.js.map +0 -1
  225. package/dist/src/utils/ws-noise-transport.d.ts +0 -18
  226. package/dist/src/utils/ws-noise-transport.d.ts.map +0 -1
  227. package/dist/src/utils/ws-noise-transport.js +0 -356
  228. package/dist/src/utils/ws-noise-transport.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"roster.js","sourceRoot":"","sources":["../../../src/commands/roster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAsB,MAAM,oBAAoB,CAAC;AACnJ,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAUtD,SAAS,eAAe,CAAC,KAAoB;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,CAAC,KAAK;QAAE,OAAO,WAAW,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACtE,OAAO,MAAM,CAAE,KAAiC,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB;IACrC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,kBAAkB,EAAE,CAAC;IAC9E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;gBACpB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC,CAAC;YAEJ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,KAAM,CAAC,WAAW,EAAE,CAC/G,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,aAAa,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,SAAS,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;gBAC5B,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;gBAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,QAAQ,EAAG,KAAK,CAAC,QAAgD,IAAI,EAAE;gBACvE,YAAY,EAAG,KAAK,CAAC,YAAoD,IAAI,EAAE;gBAC/E,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,cAAc,EAAE,IAAI,CAAC,kBAAkB;aACxC,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;gBACvG,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACvI,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,QAAQ,CAAC,CAAC;gBAC7D,MAAM,QAAQ,GAAI,KAAK,CAAC,QAAgD,IAAI,EAAE,CAAC;gBAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,WAAW,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,OAAO,GAA2E,EAAE,CAAC;YAC3F,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAI,CAAC,CAAC,QAAgD,IAAI,EAAE,CAAC;gBAC3E,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC;gBACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;oBAAE,SAAS;gBACpD,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE;oBACpB,OAAO,EAAE,IAAI,CAAC,OAAQ;oBACtB,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- interface SecretsArgs {
2
- action: "set" | "list" | "remove";
3
- key?: string;
4
- value?: string;
5
- json?: boolean;
6
- }
7
- export declare function runSecrets(args: SecretsArgs): Promise<void>;
8
- export {};
9
- //# sourceMappingURL=secrets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/commands/secrets.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDjE"}
@@ -1,54 +0,0 @@
1
- import { loadFromVault, saveToVault } from "../utils/identity.js";
2
- export async function runSecrets(args) {
3
- const vault = await loadFromVault();
4
- if (!vault) {
5
- console.error("No vault found. Run `tps identity init` first.");
6
- process.exit(1);
7
- }
8
- switch (args.action) {
9
- case "set": {
10
- if (!args.key || args.value === undefined) {
11
- console.error("Usage: tps secrets set <KEY>=<VALUE>");
12
- process.exit(1);
13
- }
14
- vault.secrets[args.key] = args.value;
15
- await saveToVault(vault);
16
- console.log(`Secret '${args.key}' updated.`);
17
- break;
18
- }
19
- case "list": {
20
- const keys = Object.keys(vault.secrets);
21
- if (args.json) {
22
- console.log(JSON.stringify(keys, null, 2));
23
- }
24
- else {
25
- if (keys.length === 0) {
26
- console.log("No secrets stored.");
27
- }
28
- else {
29
- console.log("Stored secrets:");
30
- for (const key of keys) {
31
- console.log(` ${key}`);
32
- }
33
- }
34
- }
35
- break;
36
- }
37
- case "remove": {
38
- if (!args.key) {
39
- console.error("Usage: tps secrets remove <KEY>");
40
- process.exit(1);
41
- }
42
- if (vault.secrets[args.key]) {
43
- delete vault.secrets[args.key];
44
- await saveToVault(vault);
45
- console.log(`Secret '${args.key}' removed.`);
46
- }
47
- else {
48
- console.log(`Secret '${args.key}' not found.`);
49
- }
50
- break;
51
- }
52
- }
53
- }
54
- //# sourceMappingURL=secrets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/commands/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAY,MAAM,sBAAsB,CAAC;AAS5E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAiB;IAChD,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAC7C,MAAM;QACR,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACjD,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,33 +0,0 @@
1
- export type AgentState = "online" | "idle" | "error" | "offline" | "zombie" | "stale";
2
- interface UsageEntry {
3
- ts: string;
4
- provider: string;
5
- model: string;
6
- inputTokens: number;
7
- outputTokens: number;
8
- estimatedCostUsd: number;
9
- }
10
- export interface HeartbeatArgs {
11
- agentId: string;
12
- workspace?: string;
13
- configPath?: string;
14
- status?: AgentState;
15
- nonono?: boolean;
16
- profile?: string;
17
- }
18
- export interface StatusArgs {
19
- agentId?: string;
20
- json?: boolean;
21
- prune?: boolean;
22
- autoPrune?: boolean;
23
- staleMinutes?: number;
24
- offlineHours?: number;
25
- cost?: boolean;
26
- shared?: boolean;
27
- costSince?: "day" | "week" | "month";
28
- }
29
- export declare function runHeartbeat(args: HeartbeatArgs): Promise<void>;
30
- export declare function runStatus(args: StatusArgs): Promise<void>;
31
- export declare function writeUsageEntry(agentId: string, entry: UsageEntry): void;
32
- export {};
33
- //# sourceMappingURL=status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtF,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAiCD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CACtC;AAuPD,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DrE;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoH/D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAOxE"}
@@ -1,407 +0,0 @@
1
- import { homedir } from "node:os";
2
- import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, writeFileSync, } from "node:fs";
3
- import { join, basename } from "node:path";
4
- import { spawnSync } from "node:child_process";
5
- import { sanitizeIdentifier } from "../schema/sanitizer.js";
6
- import { workspacePath as resolveWorkspacePath } from "../utils/workspace.js";
7
- import { readOpenClawConfig, resolveConfigPath, getAgentList } from "../utils/config.js";
8
- const STATUS_DIR = join(process.env.HOME || homedir(), ".tps", "status");
9
- const NODES_DIR = join(STATUS_DIR, "nodes");
10
- const ARCHIVE_DIR = join(STATUS_DIR, "archive");
11
- const DEFAULT_STALE_MS = 30 * 60 * 1000;
12
- const DEFAULT_OFFLINE_MS = 2 * 60 * 60 * 1000;
13
- const DEFAULT_PRUNE_MS = 7 * 24 * 60 * 60 * 1000;
14
- const STATUS_FILE_SIZE_LIMIT = 1024 * 1024; // 1MB
15
- function safeAgentDir(agentId) {
16
- const safe = sanitizeIdentifier(agentId);
17
- if (!safe || safe !== sanitizeIdentifier(safe))
18
- return "unknown";
19
- return safe;
20
- }
21
- function statusFilePath(agentId) {
22
- const id = safeAgentDir(agentId);
23
- return join(NODES_DIR, `${id}.json`);
24
- }
25
- function usageFilePath(agentId) {
26
- return join(NODES_DIR, safeAgentDir(agentId), "usage.jsonl");
27
- }
28
- function hostFingerprint() {
29
- return process.env.TPS_HOST_FINGERPRINT || process.env.HOSTNAME || "unknown-host";
30
- }
31
- function ensureDir(path) {
32
- mkdirSync(path, { recursive: true });
33
- }
34
- function nowIso() {
35
- return new Date().toISOString();
36
- }
37
- function defaultModel() {
38
- return process.env.npm_package_version || "unknown";
39
- }
40
- function isPidAlive(pid) {
41
- if (!pid || pid <= 0)
42
- return false;
43
- try {
44
- process.kill(pid, 0);
45
- return true;
46
- }
47
- catch {
48
- return false;
49
- }
50
- }
51
- function checkWorkspaceWritable(agentWorkspace) {
52
- const errs = [];
53
- try {
54
- const marker = join(agentWorkspace, `.tps-heartbeat-${Date.now()}.check`);
55
- writeFileSync(marker, "ok", "utf-8");
56
- writeFileSync(marker, "ok2", "utf-8");
57
- // clean best effort
58
- try {
59
- writeFileSync(marker, "ok", "utf-8");
60
- }
61
- catch { }
62
- }
63
- catch {
64
- errs.push("workspace write check failed");
65
- }
66
- return errs;
67
- }
68
- function checkGatewayHealth() {
69
- const check = spawnSync("openclaw", ["gateway", "status"], {
70
- encoding: "utf-8",
71
- timeout: 5000,
72
- });
73
- if (check.status !== 0) {
74
- return ["gateway unreachable"];
75
- }
76
- return [];
77
- }
78
- function checkQueueAge(workspace) {
79
- const inbox = join(workspace, "mail", "inbox", "new");
80
- if (!existsSync(inbox))
81
- return [];
82
- const now = Date.now();
83
- const stale = readdirSync(inbox)
84
- .map((name) => join(inbox, name))
85
- .filter((path) => existsSync(path))
86
- .filter((path) => now - statSync(path).mtimeMs > 60 * 60 * 1000);
87
- if (stale.length > 0) {
88
- return ["unprocessed mail >1h old"];
89
- }
90
- return [];
91
- }
92
- function readStatus(agentId) {
93
- const file = statusFilePath(agentId);
94
- if (!existsSync(file))
95
- return null;
96
- try {
97
- const raw = readFileSync(file, "utf-8");
98
- return JSON.parse(raw);
99
- }
100
- catch {
101
- return null;
102
- }
103
- }
104
- function writeStatus(agentId, payload) {
105
- ensureDir(NODES_DIR);
106
- ensureDir(join(NODES_DIR, safeAgentDir(agentId)));
107
- writeFileSync(statusFilePath(agentId), JSON.stringify(payload, null, 2) + "\n", "utf-8");
108
- }
109
- function aggregateCost(usageEntries) {
110
- const now = Date.now();
111
- const oneDay = 24 * 60 * 60 * 1000;
112
- const oneWeek = 7 * oneDay;
113
- const oneMonth = 31 * oneDay;
114
- return usageEntries.reduce((acc, entry) => {
115
- const ts = new Date(entry.ts).getTime();
116
- const cost = Number(entry.estimatedCostUsd) || 0;
117
- if (Number.isNaN(ts))
118
- return acc;
119
- const age = now - ts;
120
- if (age <= oneDay)
121
- acc.today += cost;
122
- if (age <= oneWeek)
123
- acc.week += cost;
124
- if (age <= oneMonth)
125
- acc.month += cost;
126
- return acc;
127
- }, { today: 0, week: 0, month: 0 });
128
- }
129
- function readUsageEntries(agentId) {
130
- const usagePath = usageFilePath(agentId);
131
- if (!existsSync(usagePath))
132
- return [];
133
- try {
134
- const raw = readFileSync(usagePath, "utf-8");
135
- const lines = raw.split("\n").map((line) => line.trim()).filter(Boolean);
136
- const out = [];
137
- for (const line of lines) {
138
- try {
139
- out.push(JSON.parse(line));
140
- }
141
- catch {
142
- // ignore
143
- }
144
- }
145
- return out;
146
- }
147
- catch {
148
- return [];
149
- }
150
- }
151
- function rotateUsage(agentId) {
152
- const usagePath = usageFilePath(agentId);
153
- if (!existsSync(usagePath))
154
- return;
155
- if (statSync(usagePath).size <= STATUS_FILE_SIZE_LIMIT)
156
- return;
157
- const baseDir = join(NODES_DIR, safeAgentId(agentId));
158
- ensureDir(baseDir);
159
- for (let slot = 3; slot >= 1; slot--) {
160
- const src = slot === 1 ? `${usagePath}.1` : `${usagePath}.${slot - 1}`;
161
- const dst = `${usagePath}.${slot}`;
162
- if (existsSync(src)) {
163
- renameSync(src, dst);
164
- }
165
- }
166
- if (existsSync(usagePath)) {
167
- renameSync(usagePath, `${usagePath}.1`);
168
- }
169
- }
170
- function safeAgentId(agentId) {
171
- const id = sanitizeIdentifier(agentId);
172
- return id || "unknown";
173
- }
174
- function resolveModel(agentId) {
175
- const cfgPath = resolveConfigPath();
176
- if (!cfgPath)
177
- return "unknown-model";
178
- try {
179
- const cfg = readOpenClawConfig(cfgPath);
180
- const list = getAgentList(cfg);
181
- const match = list.find((agent) => agent.id === agentId);
182
- const direct = match?.model;
183
- if (typeof direct === "string")
184
- return direct;
185
- return "unknown-model";
186
- }
187
- catch {
188
- return "unknown-model";
189
- }
190
- }
191
- function detectDangerState(profile, nonono, status) {
192
- if (nonono)
193
- return "⚠️ nonono";
194
- if (profile && profile !== "tps-status")
195
- return "⚠️ custom profile";
196
- return "";
197
- }
198
- function computeState(raw, now, staleMs, offlineMs) {
199
- const hb = new Date(raw.lastHeartbeat).getTime();
200
- if (raw.status === "error") {
201
- return "error";
202
- }
203
- if (raw.pid && raw.status === "online" && !isPidAlive(raw.pid)) {
204
- return "zombie";
205
- }
206
- if (now - hb >= offlineMs)
207
- return "offline";
208
- if (now - hb >= staleMs)
209
- return "stale";
210
- return raw.status || "idle";
211
- }
212
- function maybePrune(statusFiles, now) {
213
- ensureDir(ARCHIVE_DIR);
214
- for (const file of statusFiles) {
215
- const id = basename(file, ".json");
216
- const content = readStatus(id);
217
- if (!content?.lastHeartbeat)
218
- continue;
219
- if (now - new Date(content.lastHeartbeat).getTime() > DEFAULT_PRUNE_MS) {
220
- ensureDir(ARCHIVE_DIR);
221
- renameSync(file, join(ARCHIVE_DIR, `${id}.json`));
222
- }
223
- }
224
- }
225
- function listAgents() {
226
- if (!existsSync(NODES_DIR))
227
- return [];
228
- return readdirSync(NODES_DIR)
229
- .filter((name) => name.endsWith(".json"))
230
- .map((name) => name.slice(0, -5));
231
- }
232
- function parseArgsForCost(shared) {
233
- const out = {};
234
- for (const agent of listAgents()) {
235
- out[agent] = readUsageEntries(agent);
236
- }
237
- if (!shared)
238
- return out;
239
- // shared mode groups by provider key; for v1 keep same key mapping by config model
240
- return out;
241
- }
242
- export async function runHeartbeat(args) {
243
- const agentId = safeAgentId(args.agentId);
244
- const workspace = args.workspace || resolveWorkspacePath(agentId);
245
- const previous = readStatus(agentId);
246
- const state = "online";
247
- const checks = [];
248
- checks.push(...checkWorkspaceWritable(workspace));
249
- checks.push(...checkGatewayHealth());
250
- checks.push(...checkQueueAge(workspace));
251
- const now = nowIso();
252
- const nowMs = Date.now();
253
- const lastHeartbeat = new Date().toISOString();
254
- const prevHeartbeat = previous?.lastHeartbeat ? new Date(previous.lastHeartbeat).getTime() : nowMs;
255
- const uptime = previous?.uptime != null ? Number(previous.uptime) + Math.max(0, (nowMs - prevHeartbeat) / 1000) : 0;
256
- const lastError = checks.length ? checks[checks.length - 1] : undefined;
257
- const errors = previous?.errors ? [...previous.errors] : [];
258
- if (checks.length) {
259
- errors.push({ ts: now, reason: checks.join(",") });
260
- }
261
- const history = (previous?.heartbeatHistory || [])
262
- .filter((e) => Boolean(e?.ts))
263
- .slice(-9);
264
- const resolvedState = checks.length ? "error" : state;
265
- history.push({ ts: now, status: resolvedState, note: checks[0] });
266
- const status = {
267
- agentId,
268
- host: hostFingerprint(),
269
- model: resolveModel(agentId),
270
- status: resolvedState,
271
- lastHeartbeat: lastHeartbeat,
272
- lastActivity: now,
273
- sessionCount: (previous?.sessionCount || 0) + 1,
274
- errorCount: errors.filter((entry) => nowMs - new Date(entry.ts).getTime() < 24 * 60 * 60 * 1000).length,
275
- uptime,
276
- version: defaultModel(),
277
- pid: process.pid,
278
- lastError,
279
- workspace,
280
- heartbeatHistory: history,
281
- errors,
282
- runtimeProfile: args.profile,
283
- nonono: !!args.nonono,
284
- };
285
- writeStatus(agentId, status);
286
- rotateUsage(agentId);
287
- if (resolvedState === "error") {
288
- console.log(`⚠️ Heartbeat for ${agentId}: error (${checks.join("; ")})`);
289
- }
290
- else {
291
- console.log(`✅ Heartbeat for ${agentId}: ${resolvedState}`);
292
- }
293
- }
294
- export async function runStatus(args) {
295
- ensureDir(NODES_DIR);
296
- if (!args.agentId) {
297
- const now = Date.now();
298
- const staleMs = (args.staleMinutes || 30) * 60 * 1000;
299
- const offlineMs = (args.offlineHours || 2) * 60 * 60 * 1000;
300
- const statusPaths = readdirSync(NODES_DIR)
301
- .map((name) => join(NODES_DIR, name))
302
- .filter((name) => name.endsWith(".json") && existsSync(name));
303
- if (args.autoPrune) {
304
- maybePrune(statusPaths, now);
305
- }
306
- if (args.prune) {
307
- maybePrune(statusPaths, now);
308
- return;
309
- }
310
- const rows = statusPaths
311
- .map((p) => readStatus(basename(p, ".json")))
312
- .filter((r) => Boolean(r))
313
- .map((entry) => {
314
- const effective = computeState(entry, now, staleMs, offlineMs);
315
- const warning = detectDangerState(entry.runtimeProfile, entry.nonono);
316
- return {
317
- id: entry.agentId,
318
- state: effective,
319
- host: entry.host,
320
- model: entry.model,
321
- heartbeat: entry.lastHeartbeat,
322
- pid: entry.pid,
323
- warning,
324
- };
325
- });
326
- if (args.json) {
327
- console.log(JSON.stringify(rows, null, 2));
328
- return;
329
- }
330
- if (rows.length === 0) {
331
- console.log("No agents reported yet.");
332
- return;
333
- }
334
- const heading = [
335
- "agent",
336
- "state",
337
- "host",
338
- "model",
339
- "heartbeat",
340
- "pid",
341
- "warn",
342
- ].join("\t");
343
- console.log(heading);
344
- for (const row of rows) {
345
- console.log([
346
- row.id,
347
- row.state,
348
- row.host,
349
- row.model,
350
- row.heartbeat,
351
- row.pid ?? "-",
352
- row.warning ?? "",
353
- ].join("\t"));
354
- }
355
- return;
356
- }
357
- // Single-agent view
358
- const status = readStatus(args.agentId);
359
- if (!status) {
360
- console.error(`No status found for ${args.agentId}`);
361
- process.exit(1);
362
- }
363
- if (args.cost) {
364
- const usage = readUsageEntries(args.agentId);
365
- const cost = aggregateCost(usage);
366
- const report = {
367
- ...status,
368
- usage: {
369
- today: Number(cost.today.toFixed(4)),
370
- week: Number(cost.week.toFixed(4)),
371
- month: Number(cost.month.toFixed(4)),
372
- entries: usage.slice(-20),
373
- },
374
- };
375
- console.log(JSON.stringify(report, null, 2));
376
- return;
377
- }
378
- if (args.shared) {
379
- const all = parseArgsForCost(true);
380
- const total = Object.values(all)
381
- .flat()
382
- .reduce((sum, item) => sum + Number(item.estimatedCostUsd || 0), 0);
383
- console.log(JSON.stringify({ shared: { total: Number(total.toFixed(4)), providers: Object.keys(all).length } }, null, 2));
384
- return;
385
- }
386
- const staleMs = (args.staleMinutes || 30) * 60 * 1000;
387
- const offlineMs = (args.offlineHours || 2) * 60 * 60 * 1000;
388
- const effective = computeState(status, Date.now(), staleMs, offlineMs);
389
- const warning = detectDangerState(status.runtimeProfile, status.nonono);
390
- const payload = {
391
- ...status,
392
- derivedState: effective,
393
- warning,
394
- last10Heartbeats: (status.heartbeatHistory || []).slice(-10),
395
- recentErrors: (status.errors || []).slice(-10),
396
- };
397
- console.log(JSON.stringify(payload, null, 2));
398
- }
399
- export function writeUsageEntry(agentId, entry) {
400
- const safeAgent = safeAgentId(agentId);
401
- const usagePath = usageFilePath(safeAgent);
402
- const usageDir = join(NODES_DIR, safeAgent);
403
- ensureDir(usageDir);
404
- appendFileSync(usagePath, `${JSON.stringify(entry)}\n`, "utf-8");
405
- rotateUsage(safeAgent);
406
- }
407
- //# sourceMappingURL=status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { TPSReport } from "../schema/report.js";
2
- /**
3
- * Generates the OPERATIONS.md brief that teaches an agent how to interact with the TPS environment.
4
- */
5
- export declare function generateOperationalBrief(report: TPSReport, isBranch: boolean): string;
6
- //# sourceMappingURL=brief.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brief.d.ts","sourceRoot":"","sources":["../../../src/generators/brief.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CA6BrF"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Generates the OPERATIONS.md brief that teaches an agent how to interact with the TPS environment.
3
- */
4
- export function generateOperationalBrief(report, isBranch) {
5
- const name = report.name || report.identity.default_name;
6
- return `# Operations Manual: ${name}
7
-
8
- You are operating within the **Team Provisioning System (TPS)**.
9
- TPS is an Agent OS that enforces strict isolation boundaries. You do not share a context window with other agents. You must use the \`tps\` CLI to coordinate.
10
-
11
- ## 1. The Mailroom (Async Communication)
12
- You communicate with your team via asynchronous mail.
13
- - **Check your inbox**: \`tps mail check\` (run this periodically if you are waiting for a reply).
14
- - **Send a message**: \`tps mail send <agent-id> "<message>"\`
15
- - **Read history**: \`tps mail search <query>\`
16
-
17
- ## 2. The Roster (Finding Teammates)
18
- You are not alone. To find out who else is on your team and what they do:
19
- - **List all agents**: \`tps roster list\`
20
- - **Look up an agent's skills**: \`tps roster show <agent-id>\`
21
-
22
- ## 3. Git Worktrees (Safe Collaboration)
23
- When modifying code repositories, you must NEVER work directly in the main checkout if others are using it.
24
- - **Create your isolated workspace**: \`tps git worktree ${name.toLowerCase()} <path-to-repo>\`
25
- - Always perform your git operations (branching, committing, pushing) inside your dedicated worktree.
26
-
27
- ## 4. Security Boundaries
28
- ${isBranch ? "- You are running in a **Remote Branch Office**. You have local filesystem access within your workspace, but you must use the Mailroom to communicate with the host or other agents." : "- You are running under **nono** process isolation. Your filesystem access is restricted to your workspace, and your network access may be filtered."}
29
-
30
- Stick to your role, use the CLI tools provided, and file your TPS reports.
31
- `;
32
- }
33
- //# sourceMappingURL=brief.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brief.js","sourceRoot":"","sources":["../../../src/generators/brief.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,QAAiB;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;IAEzD,OAAO,wBAAwB,IAAI;;;;;;;;;;;;;;;;;;2DAkBsB,IAAI,CAAC,WAAW,EAAE;;;;EAI3E,QAAQ,CAAC,CAAC,CAAC,sLAAsL,CAAC,CAAC,CAAC,sJAAsJ;;;CAG3V,CAAC;AACF,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Claude Code generator — produces CLAUDE.md and .claude/settings.json
3
- * from a TPS report.
4
- */
5
- import type { TPSReport } from "../schema/report.js";
6
- export interface GeneratedClaudeCode {
7
- files: Record<string, string>;
8
- workspacePath: string;
9
- agentId: string;
10
- agentName: string;
11
- }
12
- export declare function generateClaudeCode(rawReport: TPSReport, options?: {
13
- name?: string;
14
- workspace?: string;
15
- branch?: boolean;
16
- }): GeneratedClaudeCode;
17
- export declare function writeClaudeCode(generated: GeneratedClaudeCode): string[];
18
- //# sourceMappingURL=claude-code.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/generators/claude-code.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOrD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACpE,mBAAmB,CAqErB;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAaxE"}