@launchsecure/launch-kit 0.0.39 → 0.0.41

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 (113) hide show
  1. package/dist/chart-client/assets/index-Dd6IotOZ.css +1 -0
  2. package/dist/chart-client/index.html +2 -2
  3. package/dist/client/assets/index-DE0uje6k.css +32 -0
  4. package/dist/client/index.html +2 -2
  5. package/dist/council-client/assets/index-CGYusOCK.css +1 -0
  6. package/dist/council-client/assets/{index-jjBWyhry.js → index-DkTFX53U.js} +1 -1
  7. package/dist/council-client/index.html +2 -2
  8. package/dist/deck-client/assets/_baseUniq-mvYvzeEJ.js +1 -0
  9. package/dist/deck-client/assets/arc-CX4ylnp2.js +1 -0
  10. package/dist/deck-client/assets/architectureDiagram-Q4EWVU46-BkR-5IRK.js +36 -0
  11. package/dist/deck-client/assets/{blockDiagram-DXYQGD6D-CwAGy9lU.js → blockDiagram-DXYQGD6D-DVNQht7c.js} +2 -2
  12. package/dist/deck-client/assets/{c4Diagram-AHTNJAMY-L_g_SS21.js → c4Diagram-AHTNJAMY-Cbq1rlG8.js} +2 -2
  13. package/dist/deck-client/assets/channel-B9GC-CLn.js +1 -0
  14. package/dist/deck-client/assets/chunk-4BX2VUAB-D58Co4lU.js +1 -0
  15. package/dist/deck-client/assets/{chunk-4TB4RGXK-Bk0FUbxU.js → chunk-4TB4RGXK-BYvhTm3d.js} +1 -1
  16. package/dist/deck-client/assets/chunk-55IACEB6-oWukUhYg.js +1 -0
  17. package/dist/deck-client/assets/chunk-EDXVE4YY-Cm58kVnZ.js +1 -0
  18. package/dist/deck-client/assets/{chunk-FMBD7UC4-DqOvWr1k.js → chunk-FMBD7UC4-Dg-i7kzi.js} +1 -1
  19. package/dist/deck-client/assets/{chunk-OYMX7WX6-1Kd7yK5u.js → chunk-OYMX7WX6-C72wigPl.js} +1 -1
  20. package/dist/deck-client/assets/chunk-QZHKN3VN-CLgeuAKw.js +1 -0
  21. package/dist/deck-client/assets/chunk-YZCP3GAM-HDDlJ5oI.js +1 -0
  22. package/dist/deck-client/assets/classDiagram-6PBFFD2Q-CFBvYQ9j.js +1 -0
  23. package/dist/deck-client/assets/classDiagram-v2-HSJHXN6E-CFBvYQ9j.js +1 -0
  24. package/dist/deck-client/assets/clone-n-WQlAGe.js +1 -0
  25. package/dist/deck-client/assets/cose-bilkent-S5V4N54A-CUXQKg2M.js +1 -0
  26. package/dist/deck-client/assets/dagre-KV5264BT-C5M-fVDc.js +4 -0
  27. package/dist/deck-client/assets/diagram-5BDNPKRD-CcVsQ0S8.js +10 -0
  28. package/dist/deck-client/assets/diagram-G4DWMVQ6-DJswXyep.js +24 -0
  29. package/dist/deck-client/assets/diagram-MMDJMWI5-CGT76fm1.js +43 -0
  30. package/dist/deck-client/assets/diagram-TYMM5635-BBsYUNN6.js +24 -0
  31. package/dist/deck-client/assets/{erDiagram-SMLLAGMA-aiv9GZnL.js → erDiagram-SMLLAGMA-DKWYEHQS.js} +2 -2
  32. package/dist/deck-client/assets/{flowDiagram-DWJPFMVM-C6Fhvtsy.js → flowDiagram-DWJPFMVM-DLuDYIKT.js} +2 -2
  33. package/dist/deck-client/assets/ganttDiagram-T4ZO3ILL-B19b6Qtj.js +292 -0
  34. package/dist/deck-client/assets/gitGraphDiagram-UUTBAWPF-BYLAfYVS.js +106 -0
  35. package/dist/deck-client/assets/graph-CfzQUfPh.js +1 -0
  36. package/dist/deck-client/assets/index-DlwdTgE_.js +892 -0
  37. package/dist/deck-client/assets/index-evAPhGvM.css +1 -0
  38. package/dist/deck-client/assets/infoDiagram-42DDH7IO-Dp3mUA9c.js +2 -0
  39. package/dist/deck-client/assets/{ishikawaDiagram-UXIWVN3A-BwCUmUVt.js → ishikawaDiagram-UXIWVN3A-BhrNX_jI.js} +5 -5
  40. package/dist/deck-client/assets/{journeyDiagram-VCZTEJTY-C6qoqJmJ.js → journeyDiagram-VCZTEJTY-B5lJI492.js} +2 -2
  41. package/dist/deck-client/assets/{kanban-definition-6JOO6SKY-Dz1Tt3sA.js → kanban-definition-6JOO6SKY-D9-lmhQf.js} +2 -2
  42. package/dist/deck-client/assets/layout-CfIe_Su8.js +1 -0
  43. package/dist/deck-client/assets/linear-09ZFRoh_.js +1 -0
  44. package/dist/deck-client/assets/mermaid.core-BaQyIOvj.js +309 -0
  45. package/dist/deck-client/assets/min-CYwCzYaL.js +1 -0
  46. package/dist/deck-client/assets/{mindmap-definition-QFDTVHPH-CfXcK1qH.js → mindmap-definition-QFDTVHPH-CouFxf6C.js} +2 -2
  47. package/dist/deck-client/assets/pieDiagram-DEJITSTG-DMB1ufC0.js +30 -0
  48. package/dist/deck-client/assets/{quadrantDiagram-34T5L4WZ-CXwvZ1i1.js → quadrantDiagram-34T5L4WZ-CBiOKudN.js} +2 -2
  49. package/dist/deck-client/assets/{requirementDiagram-MS252O5E-Cl6xm0fR.js → requirementDiagram-MS252O5E-BMc3GJkx.js} +2 -2
  50. package/dist/deck-client/assets/sankeyDiagram-XADWPNL6-CxACUncm.js +10 -0
  51. package/dist/deck-client/assets/{sequenceDiagram-FGHM5R23-BC1MYBn6.js → sequenceDiagram-FGHM5R23-Ch-P3Mzc.js} +2 -2
  52. package/dist/deck-client/assets/stateDiagram-FHFEXIEX-Cy8n7Yzk.js +1 -0
  53. package/dist/deck-client/assets/stateDiagram-v2-QKLJ7IA2-C14VKCzi.js +1 -0
  54. package/dist/deck-client/assets/{timeline-definition-GMOUNBTQ-DKnITsD4.js → timeline-definition-GMOUNBTQ-C2V4sSkm.js} +2 -2
  55. package/dist/deck-client/assets/{vennDiagram-DHZGUBPP-BdajXRrh.js → vennDiagram-DHZGUBPP-YOqt4VbE.js} +2 -2
  56. package/dist/deck-client/assets/wardley-RL74JXVD-Bxo5x40D.js +162 -0
  57. package/dist/deck-client/assets/{wardleyDiagram-NUSXRM2D-B2hDCDl2.js → wardleyDiagram-NUSXRM2D-DW9SOqbx.js} +2 -2
  58. package/dist/deck-client/assets/{xychartDiagram-5P7HB3ND-CvnYFs51.js → xychartDiagram-5P7HB3ND-D-rZvZOL.js} +2 -2
  59. package/dist/deck-client/index.html +2 -2
  60. package/dist/server/beacon-monitor-entry.js +106 -24
  61. package/dist/server/chart-serve.js +544 -247
  62. package/dist/server/cli.js +1016 -324
  63. package/dist/server/council-entry.js +23 -4
  64. package/dist/server/council-serve.js +22 -3
  65. package/dist/server/deck-mcp-entry.js +523 -125
  66. package/dist/server/deck-serve.js +326 -40
  67. package/dist/server/graph-mcp-entry.js +1160 -357
  68. package/dist/server/init-entry.js +17 -7
  69. package/dist/server/orbit-entry.js +91 -7
  70. package/dist/server/recall-entry.js +94 -12
  71. package/dist/server/rover-entry.js +1 -1
  72. package/package.json +1 -1
  73. package/scaffolds/ls-marketplace/plugins/kit/skills/comms/SKILL.md +34 -1
  74. package/scaffolds/ls-marketplace/plugins/kit/skills/gen-test/SKILL.md +126 -0
  75. package/scaffolds/statusline/statusline-mcp.sh +68 -19
  76. package/scaffolds/statusline/statusline-wrapper.sh +12 -9
  77. package/dist/chart-client/assets/index-ysGpLeOW.css +0 -1
  78. package/dist/client/assets/index-CMN3tlGP.css +0 -32
  79. package/dist/council-client/assets/index-ChmNX6bZ.css +0 -1
  80. package/dist/deck-client/assets/_baseUniq-DOrnEQMI.js +0 -1
  81. package/dist/deck-client/assets/arc-DOWK7V3m.js +0 -1
  82. package/dist/deck-client/assets/architectureDiagram-Q4EWVU46-DPhzvk7q.js +0 -36
  83. package/dist/deck-client/assets/channel-DqiACUUq.js +0 -1
  84. package/dist/deck-client/assets/chunk-4BX2VUAB-RKm0LXpu.js +0 -1
  85. package/dist/deck-client/assets/chunk-55IACEB6-Cl3hja-M.js +0 -1
  86. package/dist/deck-client/assets/chunk-EDXVE4YY-CNIMQCV2.js +0 -1
  87. package/dist/deck-client/assets/chunk-QZHKN3VN-6_kraYpP.js +0 -1
  88. package/dist/deck-client/assets/chunk-YZCP3GAM-FgAwIWlo.js +0 -1
  89. package/dist/deck-client/assets/classDiagram-6PBFFD2Q-D23cq2C3.js +0 -1
  90. package/dist/deck-client/assets/classDiagram-v2-HSJHXN6E-D23cq2C3.js +0 -1
  91. package/dist/deck-client/assets/clone-C7jSigGq.js +0 -1
  92. package/dist/deck-client/assets/cose-bilkent-S5V4N54A-CigVnnPr.js +0 -1
  93. package/dist/deck-client/assets/dagre-KV5264BT-DHZXTktX.js +0 -4
  94. package/dist/deck-client/assets/diagram-5BDNPKRD-H5k0eauU.js +0 -10
  95. package/dist/deck-client/assets/diagram-G4DWMVQ6-Bg3dFhSY.js +0 -24
  96. package/dist/deck-client/assets/diagram-MMDJMWI5-CQLC410N.js +0 -43
  97. package/dist/deck-client/assets/diagram-TYMM5635-DFTCHVkP.js +0 -24
  98. package/dist/deck-client/assets/ganttDiagram-T4ZO3ILL-DSaGMPM4.js +0 -292
  99. package/dist/deck-client/assets/gitGraphDiagram-UUTBAWPF-DMjL2Vix.js +0 -106
  100. package/dist/deck-client/assets/graph-B7Vn5lkK.js +0 -1
  101. package/dist/deck-client/assets/index-BD36e-tD.js +0 -1196
  102. package/dist/deck-client/assets/index-CGbNOpk9.css +0 -1
  103. package/dist/deck-client/assets/infoDiagram-42DDH7IO-mNi4iygG.js +0 -2
  104. package/dist/deck-client/assets/layout-CZTyRhOG.js +0 -1
  105. package/dist/deck-client/assets/linear--7n7iEvd.js +0 -1
  106. package/dist/deck-client/assets/min-Bh130DN8.js +0 -1
  107. package/dist/deck-client/assets/pieDiagram-DEJITSTG-DjVHLAVw.js +0 -30
  108. package/dist/deck-client/assets/sankeyDiagram-XADWPNL6-BOH9sLyh.js +0 -10
  109. package/dist/deck-client/assets/stateDiagram-FHFEXIEX-kNp9bv8K.js +0 -1
  110. package/dist/deck-client/assets/stateDiagram-v2-QKLJ7IA2-hRsAFc2t.js +0 -1
  111. package/dist/deck-client/assets/wardley-RL74JXVD-BL802-su.js +0 -162
  112. /package/dist/chart-client/assets/{index-BlsuXuQ1.js → index-CrYM1-ac.js} +0 -0
  113. /package/dist/client/assets/{index-BA7BHBWT.js → index-BoIjawzY.js} +0 -0
@@ -200,7 +200,7 @@ var init_cred_shape = __esm({
200
200
  });
201
201
 
202
202
  // src/server/mcp-client.ts
203
- function mcpConfigFromCourse(projectRoot) {
203
+ function mcpConfigForProfile(projectRoot, name) {
204
204
  let cred;
205
205
  try {
206
206
  cred = readCredFile(projectRoot);
@@ -210,7 +210,7 @@ function mcpConfigFromCourse(projectRoot) {
210
210
  if (!cred) return null;
211
211
  const nested = toNested(cred);
212
212
  if (!nested) return null;
213
- const profile = nested.profiles[nested.active];
213
+ const profile = nested.profiles[name];
214
214
  if (!profile?.pat || !profile.serverUrl || !profile.orgSlug || !profile.projectSlug) {
215
215
  return null;
216
216
  }
@@ -223,6 +223,18 @@ function mcpConfigFromCourse(projectRoot) {
223
223
  }
224
224
  };
225
225
  }
226
+ function mcpConfigFromCourse(projectRoot) {
227
+ let cred;
228
+ try {
229
+ cred = readCredFile(projectRoot);
230
+ } catch {
231
+ return null;
232
+ }
233
+ if (!cred) return null;
234
+ const nested = toNested(cred);
235
+ if (!nested) return null;
236
+ return mcpConfigForProfile(projectRoot, nested.active);
237
+ }
226
238
  function loadMcpConfig(projectRoot) {
227
239
  if (_config) return _config;
228
240
  const fromCourse = mcpConfigFromCourse(projectRoot);
@@ -323,7 +335,13 @@ async function callTool(toolName, args) {
323
335
  }
324
336
  const textContent = result.result?.content?.[0]?.text;
325
337
  if (!textContent) return null;
326
- return JSON.parse(textContent);
338
+ try {
339
+ return JSON.parse(textContent);
340
+ } catch {
341
+ const match = textContent.match(/──+\s*Error\s*──+\s*\n([\s\S]*?)(?:\n\n──|$)/i);
342
+ const message = (match?.[1] ?? textContent).trim();
343
+ throw new Error(message || "MCP tool returned an unparseable response");
344
+ }
327
345
  }
328
346
  async function readDiscussion(discussionId) {
329
347
  const result = await callTool("communication_read", {
@@ -350,7 +368,7 @@ async function writeReply(parentId, body, title) {
350
368
  });
351
369
  return { id: result.created.id };
352
370
  }
353
- var import_node_fs3, import_node_path3, _config, _requestId, _sessionId;
371
+ var import_node_fs3, import_node_path3, _config, _requestId, _sessionId, _overrideLock;
354
372
  var init_mcp_client = __esm({
355
373
  "src/server/mcp-client.ts"() {
356
374
  "use strict";
@@ -360,6 +378,7 @@ var init_mcp_client = __esm({
360
378
  _config = null;
361
379
  _requestId = 0;
362
380
  _sessionId = null;
381
+ _overrideLock = Promise.resolve();
363
382
  }
364
383
  });
365
384
 
@@ -298,7 +298,7 @@ function readCredFile(repoRoot) {
298
298
  var _config = null;
299
299
  var _requestId = 0;
300
300
  var _sessionId = null;
301
- function mcpConfigFromCourse(projectRoot) {
301
+ function mcpConfigForProfile(projectRoot, name) {
302
302
  let cred;
303
303
  try {
304
304
  cred = readCredFile(projectRoot);
@@ -308,7 +308,7 @@ function mcpConfigFromCourse(projectRoot) {
308
308
  if (!cred) return null;
309
309
  const nested = toNested(cred);
310
310
  if (!nested) return null;
311
- const profile = nested.profiles[nested.active];
311
+ const profile = nested.profiles[name];
312
312
  if (!profile?.pat || !profile.serverUrl || !profile.orgSlug || !profile.projectSlug) {
313
313
  return null;
314
314
  }
@@ -321,6 +321,18 @@ function mcpConfigFromCourse(projectRoot) {
321
321
  }
322
322
  };
323
323
  }
324
+ function mcpConfigFromCourse(projectRoot) {
325
+ let cred;
326
+ try {
327
+ cred = readCredFile(projectRoot);
328
+ } catch {
329
+ return null;
330
+ }
331
+ if (!cred) return null;
332
+ const nested = toNested(cred);
333
+ if (!nested) return null;
334
+ return mcpConfigForProfile(projectRoot, nested.active);
335
+ }
324
336
  function loadMcpConfig(projectRoot) {
325
337
  if (_config) return _config;
326
338
  const fromCourse = mcpConfigFromCourse(projectRoot);
@@ -347,6 +359,7 @@ function loadMcpConfig(projectRoot) {
347
359
  };
348
360
  return _config;
349
361
  }
362
+ var _overrideLock = Promise.resolve();
350
363
  function parseSSE(text) {
351
364
  const lines = text.split("\n");
352
365
  for (const line of lines) {
@@ -421,7 +434,13 @@ async function callTool(toolName, args) {
421
434
  }
422
435
  const textContent = result.result?.content?.[0]?.text;
423
436
  if (!textContent) return null;
424
- return JSON.parse(textContent);
437
+ try {
438
+ return JSON.parse(textContent);
439
+ } catch {
440
+ const match = textContent.match(/──+\s*Error\s*──+\s*\n([\s\S]*?)(?:\n\n──|$)/i);
441
+ const message = (match?.[1] ?? textContent).trim();
442
+ throw new Error(message || "MCP tool returned an unparseable response");
443
+ }
425
444
  }
426
445
  async function readDiscussion(discussionId) {
427
446
  const result = await callTool("communication_read", {