vibe-squire 2.3.2 → 3.0.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 (117) hide show
  1. package/README.md +8 -8
  2. package/dist/generated/prisma/internal/class.js +1 -1
  3. package/dist/generated/prisma/internal/class.js.map +1 -1
  4. package/dist/integrations/vibe-kanban/vibe-kanban-destination.module.js +10 -15
  5. package/dist/integrations/vibe-kanban/vibe-kanban-destination.module.js.map +1 -1
  6. package/dist/integrations/vibe-kanban/vk-board-adapter.service.d.ts +2 -2
  7. package/dist/integrations/vibe-kanban/vk-board-adapter.service.js +2 -2
  8. package/dist/integrations/vibe-kanban/vk-board-adapter.service.js.map +1 -1
  9. package/dist/integrations/vibe-kanban/{vk-mcp-integration.listener.d.ts → vk-board-integration.listener.d.ts} +3 -5
  10. package/dist/integrations/vibe-kanban/{vk-mcp-integration.listener.js → vk-board-integration.listener.js} +17 -22
  11. package/dist/integrations/vibe-kanban/vk-board-integration.listener.js.map +1 -0
  12. package/dist/integrations/vibe-kanban/vk-status.service.js +6 -6
  13. package/dist/integrations/vibe-kanban/vk-status.service.js.map +1 -1
  14. package/dist/integrations/vibe-kanban/vk-ui.controller.d.ts +2 -2
  15. package/dist/integrations/vibe-kanban/vk-ui.controller.js +2 -2
  16. package/dist/integrations/vibe-kanban/vk-ui.controller.js.map +1 -1
  17. package/dist/main.js +1 -1
  18. package/dist/main.js.map +1 -1
  19. package/dist/ports/destination-status.port.d.ts +1 -1
  20. package/dist/ports/injection-tokens.d.ts +0 -1
  21. package/dist/ports/injection-tokens.js +1 -2
  22. package/dist/ports/injection-tokens.js.map +1 -1
  23. package/dist/reinit/reinit.controller.js +1 -1
  24. package/dist/reinit/reinit.controller.js.map +1 -1
  25. package/dist/settings/core-settings.schema.js +1 -1
  26. package/dist/settings/core-settings.schema.js.map +1 -1
  27. package/dist/setup/setup-evaluation.service.d.ts +1 -1
  28. package/dist/setup/setup-evaluation.service.js +2 -2
  29. package/dist/setup/setup-evaluation.service.js.map +1 -1
  30. package/dist/status/dto/status-snapshot.dto.d.ts +1 -1
  31. package/dist/status/dto/status-snapshot.dto.js +4 -4
  32. package/dist/status/dto/status-snapshot.dto.js.map +1 -1
  33. package/dist/status/status-snapshot.schema.d.ts +1 -1
  34. package/dist/status/status-snapshot.schema.js +1 -1
  35. package/dist/status/status-snapshot.schema.js.map +1 -1
  36. package/dist/sync/poll-cycle/run-poll-prerequisites.d.ts +1 -1
  37. package/dist/sync/poll-cycle/run-poll-prerequisites.js +3 -3
  38. package/dist/sync/poll-cycle/run-poll-prerequisites.js.map +1 -1
  39. package/dist/sync/poll-cycle/vk-board-network-error-heuristic.d.ts +1 -0
  40. package/dist/sync/poll-cycle/vk-board-network-error-heuristic.js +16 -0
  41. package/dist/sync/poll-cycle/vk-board-network-error-heuristic.js.map +1 -0
  42. package/dist/sync/run-poll-cycle.service.js +4 -4
  43. package/dist/sync/run-poll-cycle.service.js.map +1 -1
  44. package/dist/sync/sync.controller.js +1 -1
  45. package/dist/sync/sync.controller.js.map +1 -1
  46. package/dist/tsconfig.build.tsbuildinfo +1 -1
  47. package/dist/ui/public/operator-dashboard.js +3 -3
  48. package/dist/ui/public/operator-mappings.js +1 -1
  49. package/dist/ui/ui-vibe-kanban-presenter.d.ts +3 -3
  50. package/dist/ui/ui-vibe-kanban-presenter.js +8 -8
  51. package/dist/ui/ui-vibe-kanban-presenter.js.map +1 -1
  52. package/dist/ui/ui.controller.js +1 -1
  53. package/dist/ui/ui.controller.js.map +1 -1
  54. package/dist/ui/views/dashboard.hbs +1 -1
  55. package/dist/ui/views/mappings.hbs +1 -1
  56. package/dist/ui/views/vibe-kanban.hbs +2 -2
  57. package/dist/vibe-kanban/read-vk-main-port.d.ts +1 -0
  58. package/dist/vibe-kanban/read-vk-main-port.js +32 -0
  59. package/dist/vibe-kanban/read-vk-main-port.js.map +1 -0
  60. package/dist/vibe-kanban/resolve-vk-backend-base-url.d.ts +1 -0
  61. package/dist/vibe-kanban/resolve-vk-backend-base-url.js +46 -0
  62. package/dist/vibe-kanban/resolve-vk-backend-base-url.js.map +1 -0
  63. package/dist/vibe-kanban/rest/vibe-kanban-api.client.d.ts +62 -0
  64. package/dist/vibe-kanban/rest/vibe-kanban-api.client.js +364 -0
  65. package/dist/vibe-kanban/rest/vibe-kanban-api.client.js.map +1 -0
  66. package/dist/vibe-kanban/rest/vk-api-envelope.schema.d.ts +7 -0
  67. package/dist/vibe-kanban/rest/vk-api-envelope.schema.js +10 -0
  68. package/dist/vibe-kanban/rest/vk-api-envelope.schema.js.map +1 -0
  69. package/dist/vibe-kanban/rest/vk-remote-api.schema.d.ts +91 -0
  70. package/dist/vibe-kanban/rest/vk-remote-api.schema.js +64 -0
  71. package/dist/vibe-kanban/rest/vk-remote-api.schema.js.map +1 -0
  72. package/dist/vibe-kanban/{vibe-kanban-mcp.service.d.ts → vibe-kanban-board.service.d.ts} +5 -9
  73. package/dist/vibe-kanban/vibe-kanban-board.service.js +134 -0
  74. package/dist/vibe-kanban/vibe-kanban-board.service.js.map +1 -0
  75. package/dist/vibe-kanban/vibe-kanban-context.controller.d.ts +2 -2
  76. package/dist/vibe-kanban/vibe-kanban-context.controller.js +12 -10
  77. package/dist/vibe-kanban/vibe-kanban-context.controller.js.map +1 -1
  78. package/dist/vibe-kanban/{vibe-kanban-mcp-configured.guard.d.ts → vibe-kanban-destination-configured.guard.d.ts} +1 -1
  79. package/dist/vibe-kanban/{vibe-kanban-mcp-configured.guard.js → vibe-kanban-destination-configured.guard.js} +9 -9
  80. package/dist/vibe-kanban/vibe-kanban-destination-configured.guard.js.map +1 -0
  81. package/dist/vibe-kanban/vibe-kanban-destination.d.ts +4 -0
  82. package/dist/vibe-kanban/vibe-kanban-destination.js +13 -0
  83. package/dist/vibe-kanban/vibe-kanban-destination.js.map +1 -0
  84. package/dist/vibe-kanban/{mcp-result/vk-mcp-tool-result.d.ts → vk-board-payload-normalize.d.ts} +1 -4
  85. package/dist/vibe-kanban/{mcp-result/vk-mcp-tool-result.js → vk-board-payload-normalize.js} +1 -48
  86. package/dist/vibe-kanban/{mcp-result/vk-mcp-tool-result.js.map → vk-board-payload-normalize.js.map} +1 -1
  87. package/dist/vibe-kanban/{mcp-result/vk-mcp-list-get-issue-response.schema.d.ts → vk-list-get-issue-response.schema.d.ts} +10 -10
  88. package/dist/vibe-kanban/{mcp-result/vk-mcp-list-get-issue-response.schema.js → vk-list-get-issue-response.schema.js} +14 -14
  89. package/dist/vibe-kanban/vk-list-get-issue-response.schema.js.map +1 -0
  90. package/dist/vibe-kanban/vk-port-file.schema.d.ts +6 -0
  91. package/dist/vibe-kanban/vk-port-file.schema.js +9 -0
  92. package/dist/vibe-kanban/vk-port-file.schema.js.map +1 -0
  93. package/package.json +3 -3
  94. package/prisma/schema.prisma +1 -1
  95. package/dist/integrations/vibe-kanban/vk-mcp-integration.listener.js.map +0 -1
  96. package/dist/ports/vk-mcp-stdio-session.port.d.ts +0 -5
  97. package/dist/ports/vk-mcp-stdio-session.port.js +0 -3
  98. package/dist/ports/vk-mcp-stdio-session.port.js.map +0 -1
  99. package/dist/sync/poll-cycle/mcp-network-error-heuristic.d.ts +0 -1
  100. package/dist/sync/poll-cycle/mcp-network-error-heuristic.js +0 -13
  101. package/dist/sync/poll-cycle/mcp-network-error-heuristic.js.map +0 -1
  102. package/dist/vibe-kanban/mcp-result/mcp-tool-result-text.d.ts +0 -3
  103. package/dist/vibe-kanban/mcp-result/mcp-tool-result-text.js +0 -26
  104. package/dist/vibe-kanban/mcp-result/mcp-tool-result-text.js.map +0 -1
  105. package/dist/vibe-kanban/mcp-result/vk-mcp-list-get-issue-response.schema.js.map +0 -1
  106. package/dist/vibe-kanban/transport/mcp-transport-config.d.ts +0 -5
  107. package/dist/vibe-kanban/transport/mcp-transport-config.js +0 -16
  108. package/dist/vibe-kanban/transport/mcp-transport-config.js.map +0 -1
  109. package/dist/vibe-kanban/transport/vk-mcp-stdio-session.service.d.ts +0 -20
  110. package/dist/vibe-kanban/transport/vk-mcp-stdio-session.service.js +0 -124
  111. package/dist/vibe-kanban/transport/vk-mcp-stdio-session.service.js.map +0 -1
  112. package/dist/vibe-kanban/transport/vk-stdio-command.schema.d.ts +0 -9
  113. package/dist/vibe-kanban/transport/vk-stdio-command.schema.js +0 -37
  114. package/dist/vibe-kanban/transport/vk-stdio-command.schema.js.map +0 -1
  115. package/dist/vibe-kanban/vibe-kanban-mcp-configured.guard.js.map +0 -1
  116. package/dist/vibe-kanban/vibe-kanban-mcp.service.js +0 -225
  117. package/dist/vibe-kanban/vibe-kanban-mcp.service.js.map +0 -1
@@ -39,7 +39,7 @@
39
39
  const m = {
40
40
  ok: 'Reachable.',
41
41
  degraded: 'Degraded — some calls may fail.',
42
- error: 'Error — check MCP stdio command and server.',
42
+ error: 'Error — check Vibe Kanban is running and signed in on this machine.',
43
43
  unknown: 'Not probed yet.',
44
44
  };
45
45
  return m[d.state] || String(d.state);
@@ -110,7 +110,7 @@
110
110
  'Mappings: ' + String(setup.mappingCount ?? 0),
111
111
  ]
112
112
  : [
113
- 'Finish MCP and routing (see checklist on dashboard).',
113
+ 'Finish board settings and routing (see checklist on dashboard).',
114
114
  setupReasonHuman(setup.reason),
115
115
  ];
116
116
  parts.push(card('Setup', setupDot, setupLines));
@@ -120,7 +120,7 @@
120
120
  if (dest.state === 'ok') destDot = 'status-ok';
121
121
  else if (dest.state === 'degraded') destDot = 'status-warn';
122
122
  else if (dest.state === 'error') destDot = 'status-err';
123
- const destLines = ['Vibe Kanban (MCP).', destHuman(dest)];
123
+ const destLines = ['Vibe Kanban (local API).', destHuman(dest)];
124
124
  if (dest.message) destLines.push(dest.message);
125
125
  if (dest.lastOkAt) destLines.push('Last OK: ' + fmtIso(dest.lastOkAt));
126
126
  parts.push(card('Destination', destDot, destLines));
@@ -36,7 +36,7 @@
36
36
  repoSel.appendChild(opt);
37
37
  }
38
38
  if (!repos.length) {
39
- setMkErr('No repositories returned from MCP.');
39
+ setMkErr('No repositories returned from Vibe Kanban.');
40
40
  }
41
41
  } catch (e) {
42
42
  setMkErr(e instanceof Error ? e.message : String(e));
@@ -1,14 +1,14 @@
1
1
  import type { SupportedDestinationType } from '../config/integration-types';
2
2
  import type { SettingsService } from '../settings/settings.service';
3
3
  import type { SetupEvaluationService } from '../setup/setup-evaluation.service';
4
- import type { VibeKanbanMcpService } from '../vibe-kanban/vibe-kanban-mcp.service';
4
+ import type { VibeKanbanBoardService } from '../vibe-kanban/vibe-kanban-board.service';
5
5
  import type { UiNavEntry } from '../ports/ui-nav.types';
6
- export declare const VK_PAGE_ORG_ERROR_NO_MCP = "Vibe Kanban MCP is not available (this UI requires VIBE_SQUIRE_DESTINATION_TYPE=vibe_kanban).";
6
+ export declare const VK_PAGE_ORG_ERROR_WRONG_DESTINATION = "Vibe Kanban is not available (this UI requires VIBE_SQUIRE_DESTINATION_TYPE=vibe_kanban).";
7
7
  export declare function buildVibeKanbanPageLocals(deps: {
8
8
  settings: SettingsService;
9
9
  destinationType: SupportedDestinationType;
10
10
  setupEvaluation: Pick<SetupEvaluationService, 'evaluate'>;
11
- vk: Pick<VibeKanbanMcpService, 'listOrganizations' | 'listProjects'>;
11
+ vk: Pick<VibeKanbanBoardService, 'listOrganizations' | 'listProjects'>;
12
12
  uiNavEntries: UiNavEntry[];
13
13
  saved?: string;
14
14
  err?: string;
@@ -1,24 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VK_PAGE_ORG_ERROR_NO_MCP = void 0;
3
+ exports.VK_PAGE_ORG_ERROR_WRONG_DESTINATION = void 0;
4
4
  exports.buildVibeKanbanPageLocals = buildVibeKanbanPageLocals;
5
- const mcp_transport_config_1 = require("../vibe-kanban/transport/mcp-transport-config");
5
+ const vibe_kanban_destination_1 = require("../vibe-kanban/vibe-kanban-destination");
6
6
  const vk_executors_1 = require("../config/vk-executors");
7
7
  const setting_labels_1 = require("./setting-labels");
8
8
  const ui_presenter_1 = require("./ui-presenter");
9
- exports.VK_PAGE_ORG_ERROR_NO_MCP = 'Vibe Kanban MCP is not available (this UI requires VIBE_SQUIRE_DESTINATION_TYPE=vibe_kanban).';
9
+ exports.VK_PAGE_ORG_ERROR_WRONG_DESTINATION = 'Vibe Kanban is not available (this UI requires VIBE_SQUIRE_DESTINATION_TYPE=vibe_kanban).';
10
10
  async function buildVibeKanbanPageLocals(deps) {
11
11
  const { settings, destinationType, setupEvaluation, vk, uiNavEntries, saved, err, } = deps;
12
12
  const values = settings.listEffectiveNonSecret();
13
13
  await setupEvaluation.evaluate();
14
- const mcpBoardPicker = (0, mcp_transport_config_1.isVibeKanbanMcpConfigured)(destinationType);
15
- const orgError = !mcpBoardPicker ? exports.VK_PAGE_ORG_ERROR_NO_MCP : null;
14
+ const vkBoardPicker = (0, vibe_kanban_destination_1.isVibeKanbanBoardDestination)(destinationType);
15
+ const orgError = !vkBoardPicker ? exports.VK_PAGE_ORG_ERROR_WRONG_DESTINATION : null;
16
16
  const boardOrg = settings.getEffective('default_organization_id');
17
17
  const boardProj = settings.getEffective('default_project_id');
18
18
  let vkBoardOrganizations = [];
19
19
  let vkBoardProjects = [];
20
20
  let vkBoardListError = null;
21
- if (mcpBoardPicker) {
21
+ if (vkBoardPicker) {
22
22
  try {
23
23
  vkBoardOrganizations = await vk.listOrganizations();
24
24
  }
@@ -37,7 +37,7 @@ async function buildVibeKanbanPageLocals(deps) {
37
37
  }
38
38
  }
39
39
  }
40
- const hasVkProjectPick = mcpBoardPicker &&
40
+ const hasVkProjectPick = vkBoardPicker &&
41
41
  boardOrg.trim().length > 0 &&
42
42
  vkBoardOrganizations.some((o) => o.id === boardOrg.trim());
43
43
  const vkBoardProjectsEmpty = hasVkProjectPick && vkBoardProjects.length === 0;
@@ -48,7 +48,7 @@ async function buildVibeKanbanPageLocals(deps) {
48
48
  ...(0, ui_presenter_1.uiNavLocals)(uiNavEntries),
49
49
  saved: saved === '1',
50
50
  error: err ? decodeURIComponent(err) : null,
51
- mcpBoardPicker,
51
+ vkBoardPicker,
52
52
  boardOrg,
53
53
  boardProj,
54
54
  kanbanDoneStatus: values.kanban_done_status ?? '',
@@ -1 +1 @@
1
- {"version":3,"file":"ui-vibe-kanban-presenter.js","sourceRoot":"","sources":["../../src/ui/ui-vibe-kanban-presenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-vibe-kanban-presenter.js","sourceRoot":"","sources":["../../src/ui/ui-vibe-kanban-presenter.ts"],"names":[],"mappings":"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"}
@@ -104,7 +104,7 @@ let UiController = class UiController {
104
104
  ...(0, ui_presenter_1.uiNavLocals)(this.uiNav.getEntries()),
105
105
  rows,
106
106
  error: err ? decodeURIComponent(err) : null,
107
- kanbanMcpPicker: ev.destinationMcpConfigured,
107
+ kanbanBoardPicker: ev.vibeKanbanBoardActive,
108
108
  };
109
109
  }
110
110
  async postMapping(body, res) {
@@ -1 +1 @@
1
- {"version":3,"file":"ui.controller.js","sourceRoot":"","sources":["../../src/ui/ui.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.controller.js","sourceRoot":"","sources":["../../src/ui/ui.controller.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@
38
38
 
39
39
  <div class="card actions-row">
40
40
  <button type="button" id="btn-sync" class="btn primary" {{#unless manualSync.canRun}}disabled{{/unless}} title="Run one full sync cycle now (same as the scheduler, but immediate)">Sync now</button>
41
- <button type="button" id="btn-reinit" class="btn" style="display: none" title="Refresh settings cache, probe MCP if configured, reset scout backoff">Reinit</button>
41
+ <button type="button" id="btn-reinit" class="btn" style="display: none" title="Refresh settings cache, probe Vibe Kanban if configured, reset scout backoff">Reinit</button>
42
42
  </div>
43
43
 
44
44
  <div id="status-overview" class="status-grid" aria-live="polite"></div>
@@ -18,7 +18,7 @@
18
18
  <input name="githubRepo" class="input" placeholder="owner/repo" required autocomplete="off" />
19
19
  </label>
20
20
  </div>
21
- {{#if kanbanMcpPicker}}
21
+ {{#if kanbanBoardPicker}}
22
22
  <input type="hidden" name="vibeKanbanRepoId" id="h-vk-repo" value="" />
23
23
  <div class="form-row">
24
24
  <label class="field inline grow">
@@ -16,10 +16,10 @@
16
16
  <span class="field-label">{{vkLabels.default_organization_id}}</span>
17
17
  <span class="field-key muted">default_organization_id · default_project_id</span>
18
18
  <p class="muted" style="margin: 0.25rem 0 0.75rem; font-size: 0.9rem">
19
- Required for sync. {{#if mcpBoardPicker}}Choose organization, then project.{{else}}Paste UUIDs from Vibe Kanban (dropdowns require MCP configured outside this page).{{/if}}
19
+ Required for sync. {{#if vkBoardPicker}}Choose organization, then project.{{else}}Paste UUIDs from Vibe Kanban (dropdowns require VIBE_SQUIRE_DESTINATION_TYPE=vibe_kanban).{{/if}}
20
20
  Click <strong>Save</strong> when done.
21
21
  </p>
22
- {{#if mcpBoardPicker}}
22
+ {{#if vkBoardPicker}}
23
23
  <input type="hidden" name="default_organization_id" id="vk-in-org" value="{{boardOrg}}" />
24
24
  <input type="hidden" name="default_project_id" id="vk-in-proj" value="{{boardProj}}" />
25
25
  {{#if vkBoardListError}}
@@ -0,0 +1 @@
1
+ export declare function readVkMainPortFromPortFile(): Promise<number>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readVkMainPortFromPortFile = readVkMainPortFromPortFile;
4
+ const promises_1 = require("node:fs/promises");
5
+ const node_path_1 = require("node:path");
6
+ const node_os_1 = require("node:os");
7
+ const vk_port_file_schema_1 = require("./vk-port-file.schema");
8
+ const APP_NAME = 'vibe-kanban';
9
+ async function readVkMainPortFromPortFile() {
10
+ const path = (0, node_path_1.join)((0, node_os_1.tmpdir)(), APP_NAME, `${APP_NAME}.port`);
11
+ const raw = await (0, promises_1.readFile)(path, 'utf8');
12
+ const trimmed = raw.trim();
13
+ let parsedJson;
14
+ try {
15
+ parsedJson = JSON.parse(trimmed);
16
+ }
17
+ catch {
18
+ parsedJson = null;
19
+ }
20
+ if (parsedJson != null && typeof parsedJson === 'object') {
21
+ const jsonTry = vk_port_file_schema_1.vkPortFileJsonSchema.safeParse(parsedJson);
22
+ if (jsonTry.success) {
23
+ return jsonTry.data.main_port;
24
+ }
25
+ }
26
+ const legacy = Number.parseInt(trimmed, 10);
27
+ if (!Number.isFinite(legacy) || legacy < 1 || legacy > 65535) {
28
+ throw new Error(`Invalid Vibe Kanban port file at ${path}: expected JSON with main_port or a port number`);
29
+ }
30
+ return legacy;
31
+ }
32
+ //# sourceMappingURL=read-vk-main-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-vk-main-port.js","sourceRoot":"","sources":["../../src/vibe-kanban/read-vk-main-port.ts"],"names":[],"mappings":";;AAWA,gEAuBC;AAlCD,+CAA4C;AAC5C,yCAAiC;AACjC,qCAAiC;AACjC,+DAA6D;AAE7D,MAAM,QAAQ,GAAG,aAAsB,CAAC;AAMjC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,0CAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,iDAAiD,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function resolveVkBackendBaseUrl(env?: NodeJS.ProcessEnv): Promise<string>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveVkBackendBaseUrl = resolveVkBackendBaseUrl;
4
+ const read_vk_main_port_1 = require("./read-vk-main-port");
5
+ const HOST_ENV_SQUIRE = 'VIBE_SQUIRE_VK_HOST';
6
+ const PORT_ENV_SQUIRE = 'VIBE_SQUIRE_VK_PORT';
7
+ const URL_ENV_SQUIRE = 'VIBE_SQUIRE_VK_BACKEND_URL';
8
+ const URL_ENV_VK = 'VIBE_BACKEND_URL';
9
+ const HOST_ENV_LEGACY = 'MCP_HOST';
10
+ const HOST_ENV_GENERIC = 'HOST';
11
+ const PORT_ENV_LEGACY = 'MCP_PORT';
12
+ const PORT_ENV_BACKEND = 'BACKEND_PORT';
13
+ const PORT_ENV_GENERIC = 'PORT';
14
+ function trimUrl(url) {
15
+ return url.trim().replace(/\/+$/, '');
16
+ }
17
+ function parsePort(portStr) {
18
+ const n = Number.parseInt(portStr.trim(), 10);
19
+ if (!Number.isFinite(n) || n < 1 || n > 65535) {
20
+ throw new Error(`Invalid Vibe Kanban backend port: ${portStr}`);
21
+ }
22
+ return n;
23
+ }
24
+ async function resolveVkBackendBaseUrl(env = process.env) {
25
+ const fromSquire = env[URL_ENV_SQUIRE]?.trim();
26
+ if (fromSquire) {
27
+ return trimUrl(fromSquire);
28
+ }
29
+ const fromVk = env[URL_ENV_VK]?.trim();
30
+ if (fromVk) {
31
+ return trimUrl(fromVk);
32
+ }
33
+ const host = env[HOST_ENV_SQUIRE]?.trim() ||
34
+ env[HOST_ENV_LEGACY]?.trim() ||
35
+ env[HOST_ENV_GENERIC]?.trim() ||
36
+ '127.0.0.1';
37
+ const portStr = env[PORT_ENV_SQUIRE]?.trim() ||
38
+ env[PORT_ENV_LEGACY]?.trim() ||
39
+ env[PORT_ENV_BACKEND]?.trim() ||
40
+ env[PORT_ENV_GENERIC]?.trim();
41
+ const port = portStr
42
+ ? parsePort(portStr)
43
+ : await (0, read_vk_main_port_1.readVkMainPortFromPortFile)();
44
+ return `http://${host}:${port}`;
45
+ }
46
+ //# sourceMappingURL=resolve-vk-backend-base-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-vk-backend-base-url.js","sourceRoot":"","sources":["../../src/vibe-kanban/resolve-vk-backend-base-url.ts"],"names":[],"mappings":";;AAoCA,0DA6BC;AAjED,2DAAiE;AAEjE,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,cAAc,GAAG,4BAA4B,CAAC;AAGpD,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAUM,KAAK,UAAU,uBAAuB,CAC3C,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;IAC/C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GACR,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE;QAC5B,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE;QAC5B,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;QAC7B,WAAW,CAAC;IAEd,MAAM,OAAO,GACX,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE;QAC5B,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE;QAC5B,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE;QAC7B,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC;IAEhC,MAAM,IAAI,GAAG,OAAO;QAClB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,MAAM,IAAA,8CAA0B,GAAE,CAAC;IAEvC,OAAO,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { type VkRemoteIssueRow } from './vk-remote-api.schema';
2
+ export declare function normalizeExecutorForVkApi(executor: string): string;
3
+ export declare class VibeKanbanApiClient {
4
+ private request;
5
+ listOrganizations(): Promise<Array<{
6
+ id: string;
7
+ name: string;
8
+ slug: string;
9
+ is_personal?: boolean;
10
+ }>>;
11
+ listProjects(organizationId: string): Promise<Array<{
12
+ id: string;
13
+ name: string;
14
+ organization_id: string;
15
+ created_at?: string;
16
+ updated_at?: string;
17
+ }>>;
18
+ listRepos(): Promise<Array<{
19
+ id: string;
20
+ name: string;
21
+ }>>;
22
+ private fetchProjectStatuses;
23
+ listIssuesForProject(projectId: string, opts?: {
24
+ search?: string;
25
+ limit?: number;
26
+ offset?: number;
27
+ }): Promise<Array<{
28
+ id: string;
29
+ title?: string;
30
+ status?: string;
31
+ description?: string;
32
+ }>>;
33
+ getIssue(issueId: string): Promise<VkRemoteIssueRow | null>;
34
+ getIssueAsBoardRow(issueId: string): Promise<{
35
+ id: string;
36
+ title?: string;
37
+ status?: string;
38
+ description?: string;
39
+ } | null>;
40
+ createIssue(params: {
41
+ projectId: string;
42
+ title: string;
43
+ description: string;
44
+ }): Promise<string>;
45
+ updateIssueStatus(issueId: string, statusName: string): Promise<void>;
46
+ startWorkspace(params: {
47
+ name: string;
48
+ executor: string;
49
+ repositories: Array<{
50
+ repoId: string;
51
+ branch: string;
52
+ }>;
53
+ issueId?: string;
54
+ prompt?: string;
55
+ variant?: string;
56
+ }): Promise<string>;
57
+ private linkWorkspaceToIssue;
58
+ deleteWorkspace(workspaceId: string, opts?: {
59
+ deleteBranches?: boolean;
60
+ }): Promise<void>;
61
+ probe(): Promise<void>;
62
+ }