open-multi-agent-kit 0.90.7 → 0.90.8

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 (65) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +11 -10
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +1 -1
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/core/agent-session.d.ts +3 -0
  7. package/dist/core/agent-session.d.ts.map +1 -1
  8. package/dist/core/agent-session.js +26 -3
  9. package/dist/core/agent-session.js.map +1 -1
  10. package/dist/core/context-budget-headroom.d.ts.map +1 -1
  11. package/dist/core/context-budget-headroom.js +5 -1
  12. package/dist/core/context-budget-headroom.js.map +1 -1
  13. package/dist/core/context-budget-v2-cache-provider.d.ts +4 -2
  14. package/dist/core/context-budget-v2-cache-provider.d.ts.map +1 -1
  15. package/dist/core/context-budget-v2-cache-provider.js +9 -5
  16. package/dist/core/context-budget-v2-cache-provider.js.map +1 -1
  17. package/dist/core/context-budget-v2-selection.d.ts.map +1 -1
  18. package/dist/core/context-budget-v2-selection.js +9 -0
  19. package/dist/core/context-budget-v2-selection.js.map +1 -1
  20. package/dist/core/extensions/loader.d.ts.map +1 -1
  21. package/dist/core/extensions/loader.js +4 -0
  22. package/dist/core/extensions/loader.js.map +1 -1
  23. package/dist/core/extensions/types.d.ts +2 -0
  24. package/dist/core/extensions/types.d.ts.map +1 -1
  25. package/dist/core/extensions/types.js.map +1 -1
  26. package/dist/core/loop-gates.d.ts.map +1 -1
  27. package/dist/core/loop-gates.js +25 -1
  28. package/dist/core/loop-gates.js.map +1 -1
  29. package/dist/core/pi-package-intake.d.ts +1 -0
  30. package/dist/core/pi-package-intake.d.ts.map +1 -1
  31. package/dist/core/pi-package-intake.js +7 -0
  32. package/dist/core/pi-package-intake.js.map +1 -1
  33. package/dist/core/settings-manager.d.ts +10 -0
  34. package/dist/core/settings-manager.d.ts.map +1 -1
  35. package/dist/core/settings-manager.js +15 -0
  36. package/dist/core/settings-manager.js.map +1 -1
  37. package/dist/guardrails/evidence-system.d.ts +8 -1
  38. package/dist/guardrails/evidence-system.d.ts.map +1 -1
  39. package/dist/guardrails/evidence-system.js +154 -16
  40. package/dist/guardrails/evidence-system.js.map +1 -1
  41. package/dist/modes/interactive/components/control-panel-layout.d.ts.map +1 -1
  42. package/dist/modes/interactive/components/control-panel-layout.js +1 -1
  43. package/dist/modes/interactive/components/control-panel-layout.js.map +1 -1
  44. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  45. package/dist/modes/interactive/components/footer.js +1 -1
  46. package/dist/modes/interactive/components/footer.js.map +1 -1
  47. package/dist/types/evidence.d.ts +4 -0
  48. package/dist/types/evidence.d.ts.map +1 -1
  49. package/dist/types/evidence.js.map +1 -1
  50. package/docs/compaction.md +6 -0
  51. package/docs/providers.md +6 -0
  52. package/docs/settings.md +17 -2
  53. package/examples/extensions/correctness-wall/README.md +6 -6
  54. package/examples/extensions/correctness-wall/index.ts +37 -11
  55. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  56. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  57. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  58. package/examples/extensions/gondolin/package-lock.json +2 -2
  59. package/examples/extensions/gondolin/package.json +1 -1
  60. package/examples/extensions/sandbox/package-lock.json +2 -2
  61. package/examples/extensions/sandbox/package.json +1 -1
  62. package/examples/extensions/with-deps/package-lock.json +2 -2
  63. package/examples/extensions/with-deps/package.json +1 -1
  64. package/npm-shrinkwrap.json +12 -12
  65. package/package.json +4 -4
@@ -17,6 +17,7 @@ import {
17
17
  buildRegeneratePacket,
18
18
  capRepairHints,
19
19
  evaluateCorrectnessWall,
20
+ parseOaTransportModeFromEnv,
20
21
  parseRepairBudget,
21
22
  shouldOfferRepair,
22
23
  } from "../../../../adaptorch-wpl/src/index.ts";
@@ -105,6 +106,11 @@ function receiptSigningSecret(): string | undefined {
105
106
  return v && v.length > 0 ? v : undefined;
106
107
  }
107
108
 
109
+ function isUnboundMcpCall(value: unknown): boolean {
110
+ const message = value instanceof Error ? value.message : typeof value === "string" ? value : "";
111
+ return /callMcpTool is not bound/i.test(message);
112
+ }
113
+
108
114
  function shortBlockReason(card: VerdictCard): string {
109
115
  if (card.blocked_reasons.length > 0) return card.blocked_reasons[0];
110
116
  if (card.next_actions.length > 0) return card.next_actions[0];
@@ -379,8 +385,10 @@ export default function (omk: ExtensionAPI) {
379
385
  const approvedWriteScope = parseApprovedScope();
380
386
  const runIds = parseRunIdsFromEnv();
381
387
  const adjudicationFixturePath = resolveAdjudicationFixturePath(undefined);
382
- const hookOaEnabled = runIds.length > 0 && adjudicationFixturePath !== undefined;
383
- const previewOnly = !hookOaEnabled;
388
+ const hookOaEnabled =
389
+ runIds.length > 0 &&
390
+ (adjudicationFixturePath !== undefined || (parseOaTransportModeFromEnv() === "mcp" && omk.isMcpToolBound()));
391
+ let previewOnly = !hookOaEnabled;
384
392
 
385
393
  const input = event.input as EditInput;
386
394
  const preview =
@@ -413,19 +421,37 @@ export default function (omk: ExtensionAPI) {
413
421
  return undefined;
414
422
  }
415
423
 
416
- const { verdictCard, receipt } = await evaluateDiff({
417
- kind,
418
- diffText: preview,
419
- approvedWriteScope,
420
- previewOnly,
421
- runIds: hookOaEnabled ? runIds : undefined,
422
- adjudicationFixturePath: hookOaEnabled ? adjudicationFixturePath : undefined,
423
- });
424
+ const fixturelessLiveCall =
425
+ hookOaEnabled && adjudicationFixturePath === undefined && parseOaTransportModeFromEnv() === "mcp";
426
+ let evaluation: Awaited<ReturnType<typeof evaluateDiff>>;
427
+ try {
428
+ evaluation = await evaluateDiff({
429
+ kind,
430
+ diffText: preview,
431
+ approvedWriteScope,
432
+ previewOnly,
433
+ runIds: hookOaEnabled ? runIds : undefined,
434
+ adjudicationFixturePath: hookOaEnabled ? adjudicationFixturePath : undefined,
435
+ });
436
+ } catch (error) {
437
+ if (!fixturelessLiveCall || !isUnboundMcpCall(error)) throw error;
438
+ previewOnly = true;
439
+ evaluation = await evaluateDiff({ kind, diffText: preview, approvedWriteScope, previewOnly: true });
440
+ }
441
+ if (
442
+ fixturelessLiveCall &&
443
+ evaluation.receipt.adjudicationReasonCode === "RUN_FETCH_FAILED" &&
444
+ evaluation.verdictCard.blocked_reasons.some(isUnboundMcpCall)
445
+ ) {
446
+ previewOnly = true;
447
+ evaluation = await evaluateDiff({ kind, diffText: preview, approvedWriteScope, previewOnly: true });
448
+ }
449
+ const { verdictCard, receipt } = evaluation;
424
450
 
425
451
  await persistToolCallVerdict(ctx, mode, verdictCard, {
426
452
  tool: event.toolName,
427
453
  previewOnly,
428
- usedOaFixture: hookOaEnabled,
454
+ usedOaFixture: adjudicationFixturePath !== undefined,
429
455
  wall_version: receipt.wall_version,
430
456
  });
431
457
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider",
3
- "version": "0.90.7",
3
+ "version": "0.90.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-custom-provider",
9
- "version": "0.90.7",
9
+ "version": "0.90.8",
10
10
  "dependencies": {
11
11
  "@anthropic-ai/sdk": "^0.52.0"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-anthropic",
3
3
  "private": true,
4
- "version": "0.90.7",
4
+ "version": "0.90.8",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-gitlab-duo",
3
3
  "private": true,
4
- "version": "0.90.7",
4
+ "version": "0.90.8",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-gondolin",
3
- "version": "0.90.7",
3
+ "version": "0.90.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-gondolin",
9
- "version": "0.90.7",
9
+ "version": "0.90.8",
10
10
  "dependencies": {
11
11
  "@earendil-works/gondolin": "0.12.0"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-gondolin",
3
3
  "private": true,
4
- "version": "0.90.7",
4
+ "version": "0.90.8",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-sandbox",
3
- "version": "0.90.7",
3
+ "version": "0.90.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-sandbox",
9
- "version": "0.90.7",
9
+ "version": "0.90.8",
10
10
  "dependencies": {
11
11
  "@anthropic-ai/sandbox-runtime": "0.0.26"
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-sandbox",
3
3
  "private": true,
4
- "version": "0.90.7",
4
+ "version": "0.90.8",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-with-deps",
3
- "version": "0.90.7",
3
+ "version": "0.90.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-with-deps",
9
- "version": "0.90.7",
9
+ "version": "0.90.8",
10
10
  "dependencies": {
11
11
  "ms": "^2.1.3"
12
12
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omk-extension-with-deps",
3
3
  "private": true,
4
- "version": "0.90.7",
4
+ "version": "0.90.8",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "clean": "echo 'nothing to clean'",
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "open-multi-agent-kit",
3
- "version": "0.90.7",
3
+ "version": "0.90.8",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-multi-agent-kit",
9
- "version": "0.90.7",
9
+ "version": "0.90.8",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "omk-agent-core": "^0.90.7",
13
- "omk-ai": "^0.90.7",
14
- "omk-tui": "^0.90.7",
12
+ "omk-agent-core": "^0.90.8",
13
+ "omk-ai": "^0.90.8",
14
+ "omk-tui": "^0.90.8",
15
15
  "@silvia-odwyer/photon-node": "0.3.4",
16
16
  "chalk": "5.6.2",
17
17
  "cross-spawn": "7.0.6",
@@ -1423,11 +1423,11 @@
1423
1423
  }
1424
1424
  },
1425
1425
  "node_modules/omk-agent-core": {
1426
- "version": "0.90.7",
1427
- "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-0.90.7.tgz",
1426
+ "version": "0.90.8",
1427
+ "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-0.90.8.tgz",
1428
1428
  "license": "MIT",
1429
1429
  "dependencies": {
1430
- "omk-ai": "^0.90.7",
1430
+ "omk-ai": "^0.90.8",
1431
1431
  "ignore": "7.0.5",
1432
1432
  "typebox": "1.1.38",
1433
1433
  "yaml": "2.9.0"
@@ -1437,8 +1437,8 @@
1437
1437
  }
1438
1438
  },
1439
1439
  "node_modules/omk-ai": {
1440
- "version": "0.90.7",
1441
- "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-0.90.7.tgz",
1440
+ "version": "0.90.8",
1441
+ "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-0.90.8.tgz",
1442
1442
  "license": "MIT",
1443
1443
  "dependencies": {
1444
1444
  "@anthropic-ai/sdk": "0.91.1",
@@ -1460,8 +1460,8 @@
1460
1460
  }
1461
1461
  },
1462
1462
  "node_modules/omk-tui": {
1463
- "version": "0.90.7",
1464
- "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-0.90.7.tgz",
1463
+ "version": "0.90.8",
1464
+ "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-0.90.8.tgz",
1465
1465
  "license": "MIT",
1466
1466
  "dependencies": {
1467
1467
  "get-east-asian-width": "1.6.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-multi-agent-kit",
3
- "version": "0.90.7",
3
+ "version": "0.90.8",
4
4
  "description": "OMK (Open Multi-Agent Kit) coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "omkConfig": {
@@ -41,9 +41,9 @@
41
41
  "prepublishOnly": "npm run clean && npm run build && npm run shrinkwrap"
42
42
  },
43
43
  "dependencies": {
44
- "omk-agent-core": "^0.90.7",
45
- "omk-ai": "^0.90.7",
46
- "omk-tui": "^0.90.7",
44
+ "omk-agent-core": "^0.90.8",
45
+ "omk-ai": "^0.90.8",
46
+ "omk-tui": "^0.90.8",
47
47
  "@silvia-odwyer/photon-node": "0.3.4",
48
48
  "chalk": "5.6.2",
49
49
  "cross-spawn": "7.0.6",