open-multi-agent-kit 0.93.0 → 0.94.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 (82) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +2 -2
  3. package/dist/core/agent-session.d.ts +7 -14
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +78 -347
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/package-manager.d.ts.map +1 -1
  8. package/dist/core/package-manager.js +11 -1
  9. package/dist/core/package-manager.js.map +1 -1
  10. package/dist/core/sandbox/default-policy.d.ts +14 -0
  11. package/dist/core/sandbox/default-policy.d.ts.map +1 -0
  12. package/dist/core/sandbox/default-policy.js +58 -0
  13. package/dist/core/sandbox/default-policy.js.map +1 -0
  14. package/dist/core/sdk.d.ts.map +1 -1
  15. package/dist/core/sdk.js +1 -1
  16. package/dist/core/sdk.js.map +1 -1
  17. package/dist/core/session-bash-runtime.d.ts +62 -0
  18. package/dist/core/session-bash-runtime.d.ts.map +1 -0
  19. package/dist/core/session-bash-runtime.js +167 -0
  20. package/dist/core/session-bash-runtime.js.map +1 -0
  21. package/dist/core/session-bash-service.d.ts +61 -0
  22. package/dist/core/session-bash-service.d.ts.map +1 -0
  23. package/dist/core/session-bash-service.js +155 -0
  24. package/dist/core/session-bash-service.js.map +1 -0
  25. package/dist/core/session-compaction-service.d.ts +48 -0
  26. package/dist/core/session-compaction-service.d.ts.map +1 -0
  27. package/dist/core/session-compaction-service.js +250 -0
  28. package/dist/core/session-compaction-service.js.map +1 -0
  29. package/dist/core/skills-catalog-cache.d.ts +25 -0
  30. package/dist/core/skills-catalog-cache.d.ts.map +1 -0
  31. package/dist/core/skills-catalog-cache.js +123 -0
  32. package/dist/core/skills-catalog-cache.js.map +1 -0
  33. package/dist/core/skills.d.ts +6 -0
  34. package/dist/core/skills.d.ts.map +1 -1
  35. package/dist/core/skills.js +25 -4
  36. package/dist/core/skills.js.map +1 -1
  37. package/dist/core/system-prompt.d.ts.map +1 -1
  38. package/dist/core/system-prompt.js +1 -1
  39. package/dist/core/system-prompt.js.map +1 -1
  40. package/dist/core/tools/bash.d.ts +3 -0
  41. package/dist/core/tools/bash.d.ts.map +1 -1
  42. package/dist/core/tools/bash.js +3 -2
  43. package/dist/core/tools/bash.js.map +1 -1
  44. package/dist/core/tools/diagnostics.d.ts +29 -0
  45. package/dist/core/tools/diagnostics.d.ts.map +1 -0
  46. package/dist/core/tools/diagnostics.js +325 -0
  47. package/dist/core/tools/diagnostics.js.map +1 -0
  48. package/dist/core/tools/index.d.ts +2 -1
  49. package/dist/core/tools/index.d.ts.map +1 -1
  50. package/dist/core/tools/index.js +18 -1
  51. package/dist/core/tools/index.js.map +1 -1
  52. package/dist/core/verified-bash-adapter.d.ts +18 -1
  53. package/dist/core/verified-bash-adapter.d.ts.map +1 -1
  54. package/dist/core/verified-bash-adapter.js +38 -1
  55. package/dist/core/verified-bash-adapter.js.map +1 -1
  56. package/dist/core/verified-bash-runtime.d.ts +13 -0
  57. package/dist/core/verified-bash-runtime.d.ts.map +1 -0
  58. package/dist/core/verified-bash-runtime.js +81 -0
  59. package/dist/core/verified-bash-runtime.js.map +1 -0
  60. package/dist/index.d.ts +4 -2
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +4 -2
  63. package/dist/index.js.map +1 -1
  64. package/dist/types/evidence.d.ts +1 -1
  65. package/dist/types/evidence.d.ts.map +1 -1
  66. package/dist/types/evidence.js.map +1 -1
  67. package/dist/utils/frontmatter.d.ts.map +1 -1
  68. package/dist/utils/frontmatter.js +31 -5
  69. package/dist/utils/frontmatter.js.map +1 -1
  70. package/docs/environment-variables.md +4 -0
  71. package/docs/sdk.md +10 -4
  72. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  73. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  74. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  75. package/examples/extensions/gondolin/package-lock.json +2 -2
  76. package/examples/extensions/gondolin/package.json +1 -1
  77. package/examples/extensions/sandbox/package-lock.json +2 -2
  78. package/examples/extensions/sandbox/package.json +1 -1
  79. package/examples/extensions/with-deps/package-lock.json +2 -2
  80. package/examples/extensions/with-deps/package.json +1 -1
  81. package/npm-shrinkwrap.json +15 -15
  82. package/package.json +5 -5
package/docs/sdk.md CHANGED
@@ -505,14 +505,16 @@ const { session } = await createAgentSession({ resourceLoader: loader });
505
505
 
506
506
  Specify which built-in tools to enable:
507
507
 
508
- - Built-in tool names: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`
509
- - Default built-ins: `read`, `bash`, `edit`, `write`
508
+ - Built-in tool names: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`, `diagnostics`
509
+ - Default built-ins: `read`, `bash`, `edit`, `write`, `diagnostics`
510
510
  - `noTools: "all"` disables all tools
511
511
  - `noTools: "builtin"` disables default built-ins while keeping extension and custom tools enabled
512
512
  - `excludeTools` disables specific built-in, extension, or custom tool names after any `tools` allowlist is applied
513
513
 
514
514
  The `edit` tool returns `details.diff` for OMK's TUI display and `details.patch` as a standard unified patch for SDK consumers.
515
515
 
516
+ The `diagnostics` tool runs the project's own checkers and normalizes the result — `tsc --noEmit` for TypeScript, `pyright`/`ruff` for Python, `go vet` for Go, `cargo check` for Rust. Missing checkers or project markers are reported as `skipped` in the tool result instead of failing. Output is capped at 50 diagnostics and cached for 5 s.
517
+
516
518
  ```typescript
517
519
  import { createAgentSession } from "open-multi-agent-kit";
518
520
 
@@ -1130,7 +1132,11 @@ RPC mode is preferred when:
1130
1132
 
1131
1133
  ## Evidence and Verification
1132
1134
 
1133
- Execution-bound evidence is an optional, application-driven layer. It records a declared verification command and reported outcome between two artifact-set snapshots, then binds that record to a tamper-evident ledger. `VerifiedEvidenceExecutor` never executes the declared command. The opt-in `executeVerifiedBash()` adapter invokes caller-supplied `BashOperations`; `executeVerifiedLocalBash()` instead derives the shell identity and runner from OMK's built-in local backend. The default CLI and AgentSession bash paths remain unverified. The repository CI workflow is the sole built-in callsite: it runs the release-consistency verifier through the local adapter.
1135
+ Execution-bound evidence records a declared verification command and reported outcome between two artifact-set snapshots, then binds that record to a tamper-evident ledger. `VerifiedEvidenceExecutor` never executes the declared command. `executeVerifiedBash()` invokes caller-supplied `BashOperations`; `executeVerifiedLocalBash()` derives the shell identity and runner from OMK's built-in local backend.
1136
+
1137
+ **Default path (opt-out):** when an AgentSession has a replay ledger (persisted sessions create one automatically), LLM-callable `bash` and interactive/RPC `executeBash` bind through `executeVerifiedBash` with `executor: "bash-tool"` and receipts under `<sessionFile>.evidence/receipts` (or `cwd/.omk/session-evidence/<goalId>/receipts` for ephemeral sessions). Session workspace scope is git-aware: inside a worktree, the receipt binds the toplevel plus the sorted dirty set (capped at 32 paths, 1 s TTL). Set `OMK_VERIFIED_BASH=0` to restore the legacy unverified path. Custom `createBashTool()` calls stay unverified unless the caller wraps operations with `createVerifiedBashOperations()`. CI still runs release-consistency through `executeVerifiedLocalBash()` with `executor: "ci-runner"`.
1138
+
1139
+ **Default sandbox (opt-out):** session bash also carries a default `audit`-mode sandbox preflight (workspace-write policy rooted at the session cwd). The spawn stays unwrapped, but every decision is appended to the replay ledger as a `sandbox_audit` event, giving a tamper-evident audit trail. `OMK_BASH_SANDBOX=enforce` activates the real OS backend — macOS `sandbox-exec` seatbelt or Linux `bwrap` bubblewrap — and fails closed when neither is installed; `OMK_BASH_SANDBOX=0` disables the preflight entirely.
1134
1140
 
1135
1141
  ### Recorded and invoked inputs
1136
1142
 
@@ -1164,7 +1170,7 @@ Injected runners must follow the built-in terminal protocol: return an integer e
1164
1170
 
1165
1171
  `.github/workflows/ci.yml` invokes the compiled `dist/verify-ci.js` entry after the normal repository check. That entry runs only `node scripts/check-release-consistency.mjs` through `executeVerifiedLocalBash()` with `executor: "ci-runner"`, applies a strict `EvidenceGate`, writes receipts, ledger, and report under `.omk/ci-evidence`, and returns a non-zero process exit when the gate is blocked. CI uploads that directory as `verified-release-consistency`.
1166
1172
 
1167
- This callsite does not wrap the full build, check, or test suite and does not enable receipts for interactive, RPC, or SDK-created AgentSession bash calls. Its workspace freshness scope is limited to the root and coding-agent package manifests.
1173
+ This callsite does not wrap the full build, check, or test suite. Session bash receipts (default-on above) use an empty artifact set and do not replace CI's manifest-scoped release-consistency gate. CI workspace freshness remains limited to the root and coding-agent package manifests.
1168
1174
 
1169
1175
  ### Execution ordering
1170
1176
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omk-extension-custom-provider-anthropic",
3
- "version": "0.93.0",
3
+ "version": "0.94.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-custom-provider-anthropic",
9
- "version": "0.93.0",
9
+ "version": "0.94.0",
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.93.0",
4
+ "version": "0.94.0",
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.93.0",
4
+ "version": "0.94.0",
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.93.0",
3
+ "version": "0.94.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-gondolin",
9
- "version": "0.93.0",
9
+ "version": "0.94.0",
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.93.0",
4
+ "version": "0.94.0",
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.93.0",
3
+ "version": "0.94.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-sandbox",
9
- "version": "0.93.0",
9
+ "version": "0.94.0",
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.93.0",
4
+ "version": "0.94.0",
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.93.0",
3
+ "version": "0.94.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omk-extension-with-deps",
9
- "version": "0.93.0",
9
+ "version": "0.94.0",
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.93.0",
4
+ "version": "0.94.0",
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.93.0",
3
+ "version": "0.94.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "open-multi-agent-kit",
9
- "version": "0.93.0",
9
+ "version": "0.94.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
- "omk-agent-core": "^0.93.0",
13
- "omk-ai": "^0.93.0",
14
- "omk-tui": "^0.93.0",
12
+ "omk-agent-core": "^0.94.0",
13
+ "omk-ai": "^0.94.0",
14
+ "omk-tui": "^0.94.0",
15
15
  "@silvia-odwyer/photon-node": "0.3.4",
16
16
  "chalk": "5.6.2",
17
17
  "cross-spawn": "7.0.6",
@@ -26,7 +26,7 @@
26
26
  "typebox": "1.1.38",
27
27
  "undici": "8.5.0",
28
28
  "yaml": "2.9.0",
29
- "omk-adaptorch-wpl": "^0.93.0"
29
+ "omk-adaptorch-wpl": "^0.94.0"
30
30
  },
31
31
  "optionalDependencies": {
32
32
  "@mariozechner/clipboard": "0.3.9"
@@ -1424,19 +1424,19 @@
1424
1424
  }
1425
1425
  },
1426
1426
  "node_modules/omk-adaptorch-wpl": {
1427
- "version": "0.93.0",
1428
- "resolved": "https://registry.npmjs.org/omk-adaptorch-wpl/-/omk-adaptorch-wpl-0.93.0.tgz",
1427
+ "version": "0.94.0",
1428
+ "resolved": "https://registry.npmjs.org/omk-adaptorch-wpl/-/omk-adaptorch-wpl-0.94.0.tgz",
1429
1429
  "license": "MIT",
1430
1430
  "engines": {
1431
1431
  "node": ">=22.19.0"
1432
1432
  }
1433
1433
  },
1434
1434
  "node_modules/omk-agent-core": {
1435
- "version": "0.93.0",
1436
- "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-0.93.0.tgz",
1435
+ "version": "0.94.0",
1436
+ "resolved": "https://registry.npmjs.org/omk-agent-core/-/omk-agent-core-0.94.0.tgz",
1437
1437
  "license": "MIT",
1438
1438
  "dependencies": {
1439
- "omk-ai": "^0.93.0",
1439
+ "omk-ai": "^0.94.0",
1440
1440
  "ignore": "7.0.5",
1441
1441
  "typebox": "1.1.38",
1442
1442
  "yaml": "2.9.0"
@@ -1446,8 +1446,8 @@
1446
1446
  }
1447
1447
  },
1448
1448
  "node_modules/omk-ai": {
1449
- "version": "0.93.0",
1450
- "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-0.93.0.tgz",
1449
+ "version": "0.94.0",
1450
+ "resolved": "https://registry.npmjs.org/omk-ai/-/omk-ai-0.94.0.tgz",
1451
1451
  "license": "MIT",
1452
1452
  "dependencies": {
1453
1453
  "@anthropic-ai/sdk": "0.91.1",
@@ -1469,8 +1469,8 @@
1469
1469
  }
1470
1470
  },
1471
1471
  "node_modules/omk-tui": {
1472
- "version": "0.93.0",
1473
- "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-0.93.0.tgz",
1472
+ "version": "0.94.0",
1473
+ "resolved": "https://registry.npmjs.org/omk-tui/-/omk-tui-0.94.0.tgz",
1474
1474
  "license": "MIT",
1475
1475
  "dependencies": {
1476
1476
  "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.93.0",
3
+ "version": "0.94.0",
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": {
@@ -44,9 +44,9 @@
44
44
  "postinstall": "node ./scripts/link-workspace-deps.mjs"
45
45
  },
46
46
  "dependencies": {
47
- "omk-agent-core": "^0.93.0",
48
- "omk-ai": "^0.93.0",
49
- "omk-tui": "^0.93.0",
47
+ "omk-agent-core": "^0.94.0",
48
+ "omk-ai": "^0.94.0",
49
+ "omk-tui": "^0.94.0",
50
50
  "@silvia-odwyer/photon-node": "0.3.4",
51
51
  "chalk": "5.6.2",
52
52
  "cross-spawn": "7.0.6",
@@ -61,7 +61,7 @@
61
61
  "typebox": "1.1.38",
62
62
  "undici": "8.5.0",
63
63
  "yaml": "2.9.0",
64
- "omk-adaptorch-wpl": "^0.93.0"
64
+ "omk-adaptorch-wpl": "^0.94.0"
65
65
  },
66
66
  "overrides": {
67
67
  "rimraf": "6.1.2",