@productbrain/cli 0.1.0-beta.1 → 0.1.0-beta.15

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 (278) hide show
  1. package/README.md +167 -0
  2. package/dist/__tests__/audit.test.d.ts +2 -0
  3. package/dist/__tests__/audit.test.d.ts.map +1 -0
  4. package/dist/__tests__/audit.test.js +394 -0
  5. package/dist/__tests__/audit.test.js.map +1 -0
  6. package/dist/__tests__/capture.test.d.ts +2 -0
  7. package/dist/__tests__/capture.test.d.ts.map +1 -0
  8. package/dist/__tests__/capture.test.js +86 -0
  9. package/dist/__tests__/capture.test.js.map +1 -0
  10. package/dist/__tests__/constellation.test.d.ts +2 -0
  11. package/dist/__tests__/constellation.test.d.ts.map +1 -0
  12. package/dist/__tests__/constellation.test.js +260 -0
  13. package/dist/__tests__/constellation.test.js.map +1 -0
  14. package/dist/__tests__/context-strategy.test.d.ts +2 -0
  15. package/dist/__tests__/context-strategy.test.d.ts.map +1 -0
  16. package/dist/__tests__/context-strategy.test.js +79 -0
  17. package/dist/__tests__/context-strategy.test.js.map +1 -0
  18. package/dist/__tests__/fields.test.d.ts +2 -0
  19. package/dist/__tests__/fields.test.d.ts.map +1 -0
  20. package/dist/__tests__/fields.test.js +238 -0
  21. package/dist/__tests__/fields.test.js.map +1 -0
  22. package/dist/__tests__/handshake.test.d.ts +2 -0
  23. package/dist/__tests__/handshake.test.d.ts.map +1 -0
  24. package/dist/__tests__/handshake.test.js +187 -0
  25. package/dist/__tests__/handshake.test.js.map +1 -0
  26. package/dist/__tests__/ingest.test.d.ts +2 -0
  27. package/dist/__tests__/ingest.test.d.ts.map +1 -0
  28. package/dist/__tests__/ingest.test.js +185 -0
  29. package/dist/__tests__/ingest.test.js.map +1 -0
  30. package/dist/__tests__/promote.test.d.ts +2 -0
  31. package/dist/__tests__/promote.test.d.ts.map +1 -0
  32. package/dist/__tests__/promote.test.js +139 -0
  33. package/dist/__tests__/promote.test.js.map +1 -0
  34. package/dist/__tests__/proposals.test.d.ts +2 -0
  35. package/dist/__tests__/proposals.test.d.ts.map +1 -0
  36. package/dist/__tests__/proposals.test.js +190 -0
  37. package/dist/__tests__/proposals.test.js.map +1 -0
  38. package/dist/__tests__/relate.test.d.ts +2 -0
  39. package/dist/__tests__/relate.test.d.ts.map +1 -0
  40. package/dist/__tests__/relate.test.js +105 -0
  41. package/dist/__tests__/relate.test.js.map +1 -0
  42. package/dist/__tests__/repo-detect.test.d.ts +2 -0
  43. package/dist/__tests__/repo-detect.test.d.ts.map +1 -0
  44. package/dist/__tests__/repo-detect.test.js +119 -0
  45. package/dist/__tests__/repo-detect.test.js.map +1 -0
  46. package/dist/__tests__/runner.test.d.ts +2 -0
  47. package/dist/__tests__/runner.test.d.ts.map +1 -0
  48. package/dist/__tests__/runner.test.js +215 -0
  49. package/dist/__tests__/runner.test.js.map +1 -0
  50. package/dist/__tests__/session-touch.test.d.ts +2 -0
  51. package/dist/__tests__/session-touch.test.d.ts.map +1 -0
  52. package/dist/__tests__/session-touch.test.js +134 -0
  53. package/dist/__tests__/session-touch.test.js.map +1 -0
  54. package/dist/__tests__/session.test.d.ts +2 -0
  55. package/dist/__tests__/session.test.d.ts.map +1 -0
  56. package/dist/__tests__/session.test.js +52 -0
  57. package/dist/__tests__/session.test.js.map +1 -0
  58. package/dist/__tests__/strip.test.d.ts +2 -0
  59. package/dist/__tests__/strip.test.d.ts.map +1 -0
  60. package/dist/__tests__/strip.test.js +136 -0
  61. package/dist/__tests__/strip.test.js.map +1 -0
  62. package/dist/__tests__/update.test.d.ts +2 -0
  63. package/dist/__tests__/update.test.d.ts.map +1 -0
  64. package/dist/__tests__/update.test.js +237 -0
  65. package/dist/__tests__/update.test.js.map +1 -0
  66. package/dist/commands/accept.d.ts +18 -0
  67. package/dist/commands/accept.d.ts.map +1 -0
  68. package/dist/commands/accept.js +72 -0
  69. package/dist/commands/accept.js.map +1 -0
  70. package/dist/commands/audit.d.ts +25 -0
  71. package/dist/commands/audit.d.ts.map +1 -0
  72. package/dist/commands/audit.js +188 -0
  73. package/dist/commands/audit.js.map +1 -0
  74. package/dist/commands/brand-pack.d.ts +2 -0
  75. package/dist/commands/brand-pack.d.ts.map +1 -0
  76. package/dist/commands/brand-pack.js +25 -0
  77. package/dist/commands/brand-pack.js.map +1 -0
  78. package/dist/commands/brief.d.ts +28 -0
  79. package/dist/commands/brief.d.ts.map +1 -0
  80. package/dist/commands/brief.js +70 -0
  81. package/dist/commands/brief.js.map +1 -0
  82. package/dist/commands/capture.d.ts +25 -0
  83. package/dist/commands/capture.d.ts.map +1 -0
  84. package/dist/commands/capture.js +103 -0
  85. package/dist/commands/capture.js.map +1 -0
  86. package/dist/commands/chain-walk.d.ts +14 -0
  87. package/dist/commands/chain-walk.d.ts.map +1 -0
  88. package/dist/commands/chain-walk.js +33 -0
  89. package/dist/commands/chain-walk.js.map +1 -0
  90. package/dist/commands/changes.d.ts +11 -0
  91. package/dist/commands/changes.d.ts.map +1 -0
  92. package/dist/commands/changes.js +41 -0
  93. package/dist/commands/changes.js.map +1 -0
  94. package/dist/commands/constellation.d.ts +11 -0
  95. package/dist/commands/constellation.d.ts.map +1 -0
  96. package/dist/commands/constellation.js +28 -0
  97. package/dist/commands/constellation.js.map +1 -0
  98. package/dist/commands/context.d.ts +2 -1
  99. package/dist/commands/context.d.ts.map +1 -1
  100. package/dist/commands/context.js +19 -9
  101. package/dist/commands/context.js.map +1 -1
  102. package/dist/commands/cross-cut.d.ts +11 -0
  103. package/dist/commands/cross-cut.d.ts.map +1 -0
  104. package/dist/commands/cross-cut.js +23 -0
  105. package/dist/commands/cross-cut.js.map +1 -0
  106. package/dist/commands/fields.d.ts +9 -0
  107. package/dist/commands/fields.d.ts.map +1 -0
  108. package/dist/commands/fields.js +26 -0
  109. package/dist/commands/fields.js.map +1 -0
  110. package/dist/commands/get.d.ts +8 -1
  111. package/dist/commands/get.d.ts.map +1 -1
  112. package/dist/commands/get.js +55 -6
  113. package/dist/commands/get.js.map +1 -1
  114. package/dist/commands/handshake.d.ts +18 -0
  115. package/dist/commands/handshake.d.ts.map +1 -0
  116. package/dist/commands/handshake.js +378 -0
  117. package/dist/commands/handshake.js.map +1 -0
  118. package/dist/commands/ingest.d.ts +14 -0
  119. package/dist/commands/ingest.d.ts.map +1 -0
  120. package/dist/commands/ingest.js +181 -0
  121. package/dist/commands/ingest.js.map +1 -0
  122. package/dist/commands/login.d.ts +5 -0
  123. package/dist/commands/login.d.ts.map +1 -0
  124. package/dist/commands/login.js +53 -0
  125. package/dist/commands/login.js.map +1 -0
  126. package/dist/commands/orient.d.ts +2 -0
  127. package/dist/commands/orient.d.ts.map +1 -1
  128. package/dist/commands/orient.js +17 -8
  129. package/dist/commands/orient.js.map +1 -1
  130. package/dist/commands/promote.d.ts +12 -0
  131. package/dist/commands/promote.d.ts.map +1 -0
  132. package/dist/commands/promote.js +48 -0
  133. package/dist/commands/promote.js.map +1 -0
  134. package/dist/commands/proposals.d.ts +9 -0
  135. package/dist/commands/proposals.d.ts.map +1 -0
  136. package/dist/commands/proposals.js +24 -0
  137. package/dist/commands/proposals.js.map +1 -0
  138. package/dist/commands/reject.d.ts +14 -0
  139. package/dist/commands/reject.d.ts.map +1 -0
  140. package/dist/commands/reject.js +37 -0
  141. package/dist/commands/reject.js.map +1 -0
  142. package/dist/commands/relate.d.ts +16 -0
  143. package/dist/commands/relate.d.ts.map +1 -0
  144. package/dist/commands/relate.js +80 -0
  145. package/dist/commands/relate.js.map +1 -0
  146. package/dist/commands/search.d.ts +1 -0
  147. package/dist/commands/search.d.ts.map +1 -1
  148. package/dist/commands/search.js +9 -3
  149. package/dist/commands/search.js.map +1 -1
  150. package/dist/commands/session.d.ts +20 -0
  151. package/dist/commands/session.d.ts.map +1 -0
  152. package/dist/commands/session.js +134 -0
  153. package/dist/commands/session.js.map +1 -0
  154. package/dist/commands/update.d.ts +16 -0
  155. package/dist/commands/update.d.ts.map +1 -0
  156. package/dist/commands/update.js +139 -0
  157. package/dist/commands/update.js.map +1 -0
  158. package/dist/commands/verify.d.ts +13 -0
  159. package/dist/commands/verify.d.ts.map +1 -0
  160. package/dist/commands/verify.js +43 -0
  161. package/dist/commands/verify.js.map +1 -0
  162. package/dist/formatters/audit.d.ts +46 -0
  163. package/dist/formatters/audit.d.ts.map +1 -0
  164. package/dist/formatters/audit.js +81 -0
  165. package/dist/formatters/audit.js.map +1 -0
  166. package/dist/formatters/brief.d.ts +112 -0
  167. package/dist/formatters/brief.d.ts.map +1 -0
  168. package/dist/formatters/brief.js +179 -0
  169. package/dist/formatters/brief.js.map +1 -0
  170. package/dist/formatters/capture.d.ts +30 -0
  171. package/dist/formatters/capture.d.ts.map +1 -0
  172. package/dist/formatters/capture.js +58 -0
  173. package/dist/formatters/capture.js.map +1 -0
  174. package/dist/formatters/chain-walk.d.ts +33 -0
  175. package/dist/formatters/chain-walk.d.ts.map +1 -0
  176. package/dist/formatters/chain-walk.js +54 -0
  177. package/dist/formatters/chain-walk.js.map +1 -0
  178. package/dist/formatters/changes.d.ts +25 -0
  179. package/dist/formatters/changes.d.ts.map +1 -0
  180. package/dist/formatters/changes.js +60 -0
  181. package/dist/formatters/changes.js.map +1 -0
  182. package/dist/formatters/constellation.d.ts +34 -0
  183. package/dist/formatters/constellation.d.ts.map +1 -0
  184. package/dist/formatters/constellation.js +38 -0
  185. package/dist/formatters/constellation.js.map +1 -0
  186. package/dist/formatters/cross-cut.d.ts +21 -0
  187. package/dist/formatters/cross-cut.d.ts.map +1 -0
  188. package/dist/formatters/cross-cut.js +32 -0
  189. package/dist/formatters/cross-cut.js.map +1 -0
  190. package/dist/formatters/entry.d.ts +11 -0
  191. package/dist/formatters/entry.d.ts.map +1 -1
  192. package/dist/formatters/entry.js +14 -1
  193. package/dist/formatters/entry.js.map +1 -1
  194. package/dist/formatters/fields.d.ts +32 -0
  195. package/dist/formatters/fields.d.ts.map +1 -0
  196. package/dist/formatters/fields.js +49 -0
  197. package/dist/formatters/fields.js.map +1 -0
  198. package/dist/formatters/handshake.d.ts +17 -0
  199. package/dist/formatters/handshake.d.ts.map +1 -0
  200. package/dist/formatters/handshake.js +51 -0
  201. package/dist/formatters/handshake.js.map +1 -0
  202. package/dist/formatters/orient.d.ts +1 -0
  203. package/dist/formatters/orient.d.ts.map +1 -1
  204. package/dist/formatters/orient.js +4 -2
  205. package/dist/formatters/orient.js.map +1 -1
  206. package/dist/formatters/promote.d.ts +29 -0
  207. package/dist/formatters/promote.d.ts.map +1 -0
  208. package/dist/formatters/promote.js +38 -0
  209. package/dist/formatters/promote.js.map +1 -0
  210. package/dist/formatters/proposals.d.ts +45 -0
  211. package/dist/formatters/proposals.d.ts.map +1 -0
  212. package/dist/formatters/proposals.js +62 -0
  213. package/dist/formatters/proposals.js.map +1 -0
  214. package/dist/formatters/relate.d.ts +12 -0
  215. package/dist/formatters/relate.d.ts.map +1 -0
  216. package/dist/formatters/relate.js +13 -0
  217. package/dist/formatters/relate.js.map +1 -0
  218. package/dist/formatters/session.d.ts +11 -0
  219. package/dist/formatters/session.d.ts.map +1 -0
  220. package/dist/formatters/session.js +51 -0
  221. package/dist/formatters/session.js.map +1 -0
  222. package/dist/formatters/update.d.ts +17 -0
  223. package/dist/formatters/update.d.ts.map +1 -0
  224. package/dist/formatters/update.js +43 -0
  225. package/dist/formatters/update.js.map +1 -0
  226. package/dist/formatters/verify.d.ts +11 -0
  227. package/dist/formatters/verify.d.ts.map +1 -0
  228. package/dist/formatters/verify.js +11 -0
  229. package/dist/formatters/verify.js.map +1 -0
  230. package/dist/generators/adapters.d.ts +10 -0
  231. package/dist/generators/adapters.d.ts.map +1 -0
  232. package/dist/generators/adapters.js +102 -0
  233. package/dist/generators/adapters.js.map +1 -0
  234. package/dist/generators/briefing-md.d.ts +8 -0
  235. package/dist/generators/briefing-md.d.ts.map +1 -0
  236. package/dist/generators/briefing-md.js +51 -0
  237. package/dist/generators/briefing-md.js.map +1 -0
  238. package/dist/generators/context-md.d.ts +8 -0
  239. package/dist/generators/context-md.d.ts.map +1 -0
  240. package/dist/generators/context-md.js +123 -0
  241. package/dist/generators/context-md.js.map +1 -0
  242. package/dist/generators/portable-knowledge.d.ts +72 -0
  243. package/dist/generators/portable-knowledge.d.ts.map +1 -0
  244. package/dist/generators/portable-knowledge.js +246 -0
  245. package/dist/generators/portable-knowledge.js.map +1 -0
  246. package/dist/generators/portable-knowledge.test.d.ts +2 -0
  247. package/dist/generators/portable-knowledge.test.d.ts.map +1 -0
  248. package/dist/generators/portable-knowledge.test.js +399 -0
  249. package/dist/generators/portable-knowledge.test.js.map +1 -0
  250. package/dist/index.d.ts +3 -2
  251. package/dist/index.d.ts.map +1 -1
  252. package/dist/index.js +466 -6
  253. package/dist/index.js.map +1 -1
  254. package/dist/lib/client.d.ts +34 -0
  255. package/dist/lib/client.d.ts.map +1 -1
  256. package/dist/lib/client.js +114 -9
  257. package/dist/lib/client.js.map +1 -1
  258. package/dist/lib/config.d.ts +19 -2
  259. package/dist/lib/config.d.ts.map +1 -1
  260. package/dist/lib/config.js +95 -14
  261. package/dist/lib/config.js.map +1 -1
  262. package/dist/lib/repo-detect.d.ts +14 -0
  263. package/dist/lib/repo-detect.d.ts.map +1 -0
  264. package/dist/lib/repo-detect.js +58 -0
  265. package/dist/lib/repo-detect.js.map +1 -0
  266. package/dist/lib/runner.d.ts +31 -0
  267. package/dist/lib/runner.d.ts.map +1 -0
  268. package/dist/lib/runner.js +65 -0
  269. package/dist/lib/runner.js.map +1 -0
  270. package/dist/lib/session.d.ts +17 -0
  271. package/dist/lib/session.d.ts.map +1 -0
  272. package/dist/lib/session.js +43 -0
  273. package/dist/lib/session.js.map +1 -0
  274. package/dist/lib/strip.d.ts +11 -0
  275. package/dist/lib/strip.d.ts.map +1 -0
  276. package/dist/lib/strip.js +26 -0
  277. package/dist/lib/strip.js.map +1 -0
  278. package/package.json +8 -4
@@ -0,0 +1,28 @@
1
+ /**
2
+ * pb constellation <entry-id> — compound view: entry + grouped relations.
3
+ * BET-181 Slice 3: agents can assess a shaped bet from this single output.
4
+ *
5
+ * Chain: DEC-299 (agent-native, JSON-default), STD-65 (structured, parseable, minimal),
6
+ * ARCH-25 (orient view model pattern), DEC-99 (ALLOWED_RELATION_TYPES as SSOT)
7
+ */
8
+ import { getConfigOrGuide } from '../lib/config.js';
9
+ import { mcpCall } from '../lib/client.js';
10
+ import { runCliCommand } from '../lib/runner.js';
11
+ import { formatConstellation } from '../formatters/constellation.js';
12
+ export async function runConstellation(options) {
13
+ const config = await getConfigOrGuide(() => runConstellation(options));
14
+ if (!config)
15
+ return;
16
+ await runCliCommand({
17
+ fn: () => mcpCall('chain.getConstellation', {
18
+ entryId: options.entryId,
19
+ }),
20
+ formatPretty: (result) => {
21
+ if (!result?.entry) {
22
+ throw new Error(`Entry "${options.entryId}" not found.`);
23
+ }
24
+ return formatConstellation(result);
25
+ },
26
+ });
27
+ }
28
+ //# sourceMappingURL=constellation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constellation.js","sourceRoot":"","sources":["../../src/commands/constellation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAA4B,MAAM,gCAAgC,CAAC;AAE/F,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,aAAa,CAAsB;QACvC,EAAE,EAAE,GAAG,EAAE,CACP,OAAO,CAAsB,wBAAwB,EAAE;YACrD,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * pb context <entry-id> — gather and display constellation context.
3
- * Pipe-friendly: when stdout is not a TTY, output clean markdown (no ANSI codes).
3
+ * BET-181 Slice 0: routes through runCliCommand for JSON-default output.
4
+ * Previously: pipe-friendly via process.stdout.isTTY — now delegated to runner.
4
5
  */
5
6
  export declare function runContext(options: {
6
7
  entryId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5E"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E"}
@@ -1,18 +1,28 @@
1
1
  /**
2
2
  * pb context <entry-id> — gather and display constellation context.
3
- * Pipe-friendly: when stdout is not a TTY, output clean markdown (no ANSI codes).
3
+ * BET-181 Slice 0: routes through runCliCommand for JSON-default output.
4
+ * Previously: pipe-friendly via process.stdout.isTTY — now delegated to runner.
4
5
  */
6
+ import { getConfigOrGuide } from '../lib/config.js';
5
7
  import { mcpCall } from '../lib/client.js';
8
+ import { runCliCommand, isJsonMode } from '../lib/runner.js';
6
9
  import { formatContext } from '../formatters/context.js';
7
10
  export async function runContext(options) {
8
- const result = await mcpCall('chain.gatherContext', {
9
- entryId: options.entryId,
10
- maxHops: 2,
11
+ const config = await getConfigOrGuide(() => runContext(options));
12
+ if (!config)
13
+ return;
14
+ await runCliCommand({
15
+ fn: () => mcpCall('chain.gatherContext', {
16
+ entryId: options.entryId,
17
+ maxHops: 2,
18
+ }),
19
+ formatPretty: (result) => {
20
+ if (!result?.root) {
21
+ throw new Error(`Entry "${options.entryId}" not found.`);
22
+ }
23
+ // In pretty mode, use tty: true for rich terminal output
24
+ return formatContext(result, { tty: !isJsonMode() });
25
+ },
11
26
  });
12
- if (!result?.root) {
13
- throw new Error(`Entry "${options.entryId}" not found.`);
14
- }
15
- const tty = Boolean(process.stdout.isTTY);
16
- console.log(formatContext(result, { tty }));
17
27
  }
18
28
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAsB,MAAM,0BAA0B,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA4B;IAC3D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAgB,qBAAqB,EAAE;QACjE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAsB,MAAM,0BAA0B,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA4B;IAC3D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,aAAa,CAAgB;QACjC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAgB,qBAAqB,EAAE;YACtD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,CAAC;SACX,CAAC;QACF,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;YAC3D,CAAC;YACD,yDAAyD;YACzD,OAAO,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * pb cross-cut --type <relation-type> — structural aggregation across the workspace.
3
+ * BET-239 Slice 3: cross-cutting relation view.
4
+ *
5
+ * Shows all relations of a given type grouped by source collection.
6
+ * Chain: DEC-299 (agent-native, JSON-default), STD-65 (structured, parseable, minimal)
7
+ */
8
+ export declare function runCrossCut(options: {
9
+ type: string;
10
+ }): Promise<void>;
11
+ //# sourceMappingURL=cross-cut.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-cut.d.ts","sourceRoot":"","sources":["../../src/commands/cross-cut.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAW1E"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * pb cross-cut --type <relation-type> — structural aggregation across the workspace.
3
+ * BET-239 Slice 3: cross-cutting relation view.
4
+ *
5
+ * Shows all relations of a given type grouped by source collection.
6
+ * Chain: DEC-299 (agent-native, JSON-default), STD-65 (structured, parseable, minimal)
7
+ */
8
+ import { getConfigOrGuide } from '../lib/config.js';
9
+ import { mcpCall } from '../lib/client.js';
10
+ import { runCliCommand } from '../lib/runner.js';
11
+ import { formatCrossCut } from '../formatters/cross-cut.js';
12
+ export async function runCrossCut(options) {
13
+ const config = await getConfigOrGuide(() => runCrossCut(options));
14
+ if (!config)
15
+ return;
16
+ await runCliCommand({
17
+ fn: () => mcpCall('chain.structuralAggregation', {
18
+ relationType: options.type,
19
+ }),
20
+ formatPretty: (result) => formatCrossCut(result, options.type),
21
+ });
22
+ }
23
+ //# sourceMappingURL=cross-cut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-cut.js","sourceRoot":"","sources":["../../src/commands/cross-cut.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAuB,MAAM,4BAA4B,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAyB;IACzD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,aAAa,CAAiB;QAClC,EAAE,EAAE,GAAG,EAAE,CACP,OAAO,CAAiB,6BAA6B,EAAE;YACrD,YAAY,EAAE,OAAO,CAAC,IAAI;SAC3B,CAAC;QACJ,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * pb fields <collection> — display all field definitions for a collection.
3
+ * BET-181 Slice 2: Schema discovery for CLI agents (DEC-299).
4
+ * Chain: BET-181, STD-101 (SSOT — fields derive from collection doc, no hardcoded lists)
5
+ */
6
+ export declare function runFields(options: {
7
+ collectionSlug: string;
8
+ }): Promise<void>;
9
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/commands/fields.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,wBAAsB,SAAS,CAAC,OAAO,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * pb fields <collection> — display all field definitions for a collection.
3
+ * BET-181 Slice 2: Schema discovery for CLI agents (DEC-299).
4
+ * Chain: BET-181, STD-101 (SSOT — fields derive from collection doc, no hardcoded lists)
5
+ */
6
+ import { getConfigOrGuide } from '../lib/config.js';
7
+ import { mcpCall } from '../lib/client.js';
8
+ import { runCliCommand } from '../lib/runner.js';
9
+ import { formatFields } from '../formatters/fields.js';
10
+ export async function runFields(options) {
11
+ const config = await getConfigOrGuide(() => runFields(options));
12
+ if (!config)
13
+ return;
14
+ await runCliCommand({
15
+ fn: async () => {
16
+ const result = await mcpCall('chain.getCollectionFields', { slug: options.collectionSlug });
17
+ if (!result) {
18
+ throw new Error(`Collection '${options.collectionSlug}' not found. ` +
19
+ `Run 'pb fields' with a valid collection slug (e.g. bets, decisions, tensions).`);
20
+ }
21
+ return result;
22
+ },
23
+ formatPretty: (result) => formatFields(result),
24
+ });
25
+ }
26
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/commands/fields.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAA+B,MAAM,yBAAyB,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAmC;IACjE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,aAAa,CAAyB;QAC1C,EAAE,EAAE,KAAK,IAAI,EAAE;YACb,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,2BAA2B,EAC3B,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,CACjC,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,eAAe,OAAO,CAAC,cAAc,eAAe;oBACpD,gFAAgF,CACjF,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +1,15 @@
1
1
  /**
2
2
  * pb get — display full entry by ID (data, relations, last 10 history events).
3
- * BET-108 Slice 3.
3
+ * BET-108 Slice 3. BET-181 Slice 0: routes through runCliCommand for JSON-default output.
4
4
  */
5
5
  export declare function runGet(options: {
6
6
  entryId: string;
7
7
  }): Promise<void>;
8
+ /**
9
+ * pb get-many — fetch multiple entries in parallel.
10
+ * Resolves TEN-703 context-loading gap for multi-agent orchestration startup.
11
+ */
12
+ export declare function runGetMany(options: {
13
+ entryIds: string[];
14
+ }): Promise<void>;
8
15
  //# sourceMappingURL=get.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,wBAAsB,MAAM,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,wBAAsB,MAAM,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcxE;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C/E"}
@@ -1,17 +1,66 @@
1
1
  /**
2
2
  * pb get — display full entry by ID (data, relations, last 10 history events).
3
- * BET-108 Slice 3.
3
+ * BET-108 Slice 3. BET-181 Slice 0: routes through runCliCommand for JSON-default output.
4
4
  */
5
+ import { getConfigOrGuide } from '../lib/config.js';
5
6
  import { mcpCall } from '../lib/client.js';
7
+ import { runCliCommand, isJsonMode } from '../lib/runner.js';
6
8
  import { formatEntry } from '../formatters/entry.js';
9
+ import { stripConvexInternals } from '../lib/strip.js';
7
10
  export async function runGet(options) {
8
- const entry = await mcpCall('chain.getEntry', {
9
- entryId: options.entryId,
11
+ const config = await getConfigOrGuide(() => runGet(options));
12
+ if (!config)
13
+ return;
14
+ await runCliCommand({
15
+ fn: async () => {
16
+ const entry = await mcpCall('chain.getEntry', { entryId: options.entryId });
17
+ if (!entry) {
18
+ throw new Error(`Entry '${options.entryId}' not found.`);
19
+ }
20
+ return entry;
21
+ },
22
+ formatPretty: (entry) => formatEntry(entry),
10
23
  });
11
- if (!entry) {
12
- console.error(`Entry '${options.entryId}' not found.`);
24
+ }
25
+ /**
26
+ * pb get-many — fetch multiple entries in parallel.
27
+ * Resolves TEN-703 context-loading gap for multi-agent orchestration startup.
28
+ */
29
+ export async function runGetMany(options) {
30
+ const config = await getConfigOrGuide(() => runGetMany(options));
31
+ if (!config)
32
+ return;
33
+ if (options.entryIds.length === 0) {
34
+ process.stderr.write('No entry IDs provided.\n');
13
35
  process.exit(1);
14
36
  }
15
- console.log(formatEntry(entry));
37
+ const results = await Promise.all(options.entryIds.map((id) => mcpCall('chain.getEntry', { entryId: id }).then((entry) => ({ id, entry, error: null }), (err) => ({ id, entry: null, error: err instanceof Error ? err.message : String(err) }))));
38
+ const json = isJsonMode();
39
+ if (json) {
40
+ const output = results.map((result) => {
41
+ if (result.error)
42
+ return { id: result.id, error: result.error };
43
+ if (!result.entry)
44
+ return { id: result.id, error: 'not found' };
45
+ return { id: result.id, entry: stripConvexInternals(result.entry) };
46
+ });
47
+ process.stdout.write(JSON.stringify(output) + '\n');
48
+ return;
49
+ }
50
+ let first = true;
51
+ for (const result of results) {
52
+ if (!first)
53
+ process.stdout.write('\n' + '─'.repeat(60) + '\n\n');
54
+ first = false;
55
+ if (result.error) {
56
+ process.stderr.write(`${result.id}: ${result.error}\n`);
57
+ }
58
+ else if (!result.entry) {
59
+ process.stderr.write(`${result.id}: not found\n`);
60
+ }
61
+ else {
62
+ process.stdout.write(formatEntry(result.entry) + '\n');
63
+ }
64
+ }
16
65
  }
17
66
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAqB,MAAM,wBAAwB,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAA4B;IACvD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAsB,gBAAgB,EAAE;QACjE,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * pb handshake — generate context files for AI developer tools.
3
+ * The fourth delivery surface: context export (GLO-63, DEC-161).
4
+ */
5
+ export declare function runHandshakeInit(options?: {
6
+ level?: string;
7
+ dryRun?: boolean;
8
+ }): Promise<void>;
9
+ interface HandshakeOptions {
10
+ force?: boolean;
11
+ dryRun?: boolean;
12
+ level?: string;
13
+ /** When true, suppress all progress output. Used when handshake is called as a sub-step. */
14
+ quiet?: boolean;
15
+ }
16
+ export declare function runHandshake(options?: HandshakeOptions): Promise<void>;
17
+ export {};
18
+ //# sourceMappingURL=handshake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/commands/handshake.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4LH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CxG;AACD,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAsBD,wBAAsB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqLhF"}