@cat-factory/contracts 0.238.0 → 0.239.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.
package/dist/index.d.ts CHANGED
@@ -118,5 +118,6 @@ export * from './kaizen.js';
118
118
  export * from './initiative.js';
119
119
  export * from './initiative-preset.js';
120
120
  export * from './test-secrets.js';
121
+ export * from './tool-servers.js';
121
122
  export * from './routes/index.js';
122
123
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -118,5 +118,6 @@ export * from './kaizen.js';
118
118
  export * from './initiative.js';
119
119
  export * from './initiative-preset.js';
120
120
  export * from './test-secrets.js';
121
+ export * from './tool-servers.js';
121
122
  export * from './routes/index.js';
122
123
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
@@ -61,6 +61,7 @@ export * from './service-fragment-defaults.js';
61
61
  export * from './services.js';
62
62
  export * from './test-secrets.js';
63
63
  export * from './capability-credentials.js';
64
+ export * from './tool-servers.js';
64
65
  export * from './validation-checks.js';
65
66
  export * from './slack.js';
66
67
  export * from './spec.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
@@ -64,6 +64,7 @@ export * from './service-fragment-defaults.js';
64
64
  export * from './services.js';
65
65
  export * from './test-secrets.js';
66
66
  export * from './capability-credentials.js';
67
+ export * from './tool-servers.js';
67
68
  export * from './validation-checks.js';
68
69
  export * from './slack.js';
69
70
  export * from './spec.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,103 @@
1
+ import { ContractNoBody } from '@toad-contracts/valibot';
2
+ export declare const listToolServersContract: {
3
+ readonly method: "get";
4
+ readonly pathResolver: () => string;
5
+ readonly responsesByStatusCode: {
6
+ readonly '4xx': import("valibot").ObjectSchema<{
7
+ readonly error: import("valibot").ObjectSchema<{
8
+ readonly code: import("valibot").StringSchema<undefined>;
9
+ readonly message: import("valibot").StringSchema<undefined>;
10
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
11
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
12
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
13
+ readonly message: import("valibot").StringSchema<undefined>;
14
+ }, undefined>, undefined>, undefined>;
15
+ }, undefined>;
16
+ }, undefined>;
17
+ readonly '5xx': import("valibot").ObjectSchema<{
18
+ readonly error: import("valibot").ObjectSchema<{
19
+ readonly code: import("valibot").StringSchema<undefined>;
20
+ readonly message: import("valibot").StringSchema<undefined>;
21
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
22
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
23
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
24
+ readonly message: import("valibot").StringSchema<undefined>;
25
+ }, undefined>, undefined>, undefined>;
26
+ }, undefined>;
27
+ }, undefined>;
28
+ readonly 200: import("valibot").ObjectSchema<{
29
+ readonly servers: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
30
+ readonly id: import("valibot").StringSchema<undefined>;
31
+ readonly label: import("valibot").StringSchema<undefined>;
32
+ readonly transport: import("valibot").PicklistSchema<["stdio", "http"], undefined>;
33
+ readonly target: import("valibot").StringSchema<undefined>;
34
+ readonly guidance: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
35
+ readonly declaredBy: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
36
+ readonly servableHarnesses: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
37
+ readonly allowedTools: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>, undefined>;
38
+ readonly credentials: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
39
+ readonly key: import("valibot").StringSchema<undefined>;
40
+ readonly required: import("valibot").BooleanSchema<undefined>;
41
+ readonly usage: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
42
+ }, undefined>, undefined>;
43
+ readonly probeable: import("valibot").BooleanSchema<undefined>;
44
+ readonly notProbeableReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["stdio_transport", "container_local_url", "url_not_allowed"], undefined>, undefined>;
45
+ }, undefined>, undefined>;
46
+ }, undefined>;
47
+ };
48
+ };
49
+ export declare const probeToolServerContract: {
50
+ readonly method: "post";
51
+ readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
52
+ id: import("valibot").StringSchema<undefined>;
53
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
54
+ readonly pathResolver: ({ id }: {
55
+ id: string;
56
+ }) => string;
57
+ readonly requestBodySchema: typeof ContractNoBody;
58
+ readonly responsesByStatusCode: {
59
+ readonly '4xx': import("valibot").ObjectSchema<{
60
+ readonly error: import("valibot").ObjectSchema<{
61
+ readonly code: import("valibot").StringSchema<undefined>;
62
+ readonly message: import("valibot").StringSchema<undefined>;
63
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
64
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
65
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
66
+ readonly message: import("valibot").StringSchema<undefined>;
67
+ }, undefined>, undefined>, undefined>;
68
+ }, undefined>;
69
+ }, undefined>;
70
+ readonly '5xx': import("valibot").ObjectSchema<{
71
+ readonly error: import("valibot").ObjectSchema<{
72
+ readonly code: import("valibot").StringSchema<undefined>;
73
+ readonly message: import("valibot").StringSchema<undefined>;
74
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
75
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
76
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
77
+ readonly message: import("valibot").StringSchema<undefined>;
78
+ }, undefined>, undefined>, undefined>;
79
+ }, undefined>;
80
+ }, undefined>;
81
+ readonly 200: import("valibot").ObjectSchema<{
82
+ readonly serverId: import("valibot").StringSchema<undefined>;
83
+ readonly status: import("valibot").PicklistSchema<["ok", "credentials_missing", "credential_refused", "unreachable", "http_error", "protocol_error", "not_probeable"], undefined>;
84
+ readonly notProbeableReason: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["stdio_transport", "container_local_url", "url_not_allowed"], undefined>, undefined>;
85
+ readonly serverName: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
86
+ readonly serverVersion: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
87
+ readonly protocolVersion: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
88
+ readonly toolCount: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
89
+ readonly tools: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>, undefined>;
90
+ readonly toolsComplete: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
91
+ readonly allowedTools: import("valibot").OptionalSchema<import("valibot").ObjectSchema<{
92
+ readonly declared: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
93
+ readonly unmatched: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
94
+ readonly checked: import("valibot").BooleanSchema<undefined>;
95
+ }, undefined>, undefined>;
96
+ readonly unresolvedCredentials: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>, undefined>;
97
+ readonly refusedCredentials: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>, undefined>;
98
+ readonly httpStatus: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
99
+ readonly error: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
100
+ }, undefined>;
101
+ };
102
+ };
103
+ //# sourceMappingURL=tool-servers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-servers.d.ts","sourceRoot":"","sources":["../../src/routes/tool-servers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAmB3E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlC,CAAA;AAKF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUlC,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
2
+ import { toolServerProbeResultSchema, toolServersViewSchema } from '../tool-servers.js';
3
+ import { errorResponses, singleStringParam } from './_shared.js';
4
+ // ---------------------------------------------------------------------------
5
+ // Per-workspace TOOL SERVER (MCP) operability route contracts. Mounted under
6
+ // `/workspaces/:workspaceId`, so the paths here are relative to that prefix.
7
+ //
8
+ // Both routes are `secrets.manage`-gated INCLUDING the read, like the credential checklist beside
9
+ // them and for the same reason: the projection names the credential keys the deployment's
10
+ // capabilities want. See ToolServerController.
11
+ //
12
+ // Workspace-scoped even though the DECLARATIONS are deployment-wide, because the credentials are
13
+ // not: the per-workspace capability-credential store sits in front of the environment resolver per
14
+ // key, so "does this server work" has a different answer per board, and a probe that resolved
15
+ // against nothing in particular would report the deployment's own environment as every tenant's
16
+ // answer.
17
+ // ---------------------------------------------------------------------------
18
+ export const listToolServersContract = defineApiContract({
19
+ method: 'get',
20
+ pathResolver: () => '/tool-servers',
21
+ responsesByStatusCode: { 200: toolServersViewSchema, ...errorResponses },
22
+ });
23
+ // A POST rather than a GET: the probe SPENDS something (an outbound request carrying a resolved
24
+ // credential, and a vendor's rate limit), so it must not be safe to retry from a browser's cache or
25
+ // a link prefetch. The same shape every neighbouring connection type's `/test` endpoint has.
26
+ export const probeToolServerContract = defineApiContract({
27
+ method: 'post',
28
+ requestPathParamsSchema: singleStringParam('id'),
29
+ pathResolver: ({ id }) => `/tool-servers/${id}/test`,
30
+ // Nothing to send: WHAT is probed is the path, and everything else the probe needs (the
31
+ // declaration, the workspace's credentials) is resolved server-side from state a caller could not
32
+ // usefully override. A body would be a way to ask the deployment to send a credential of the
33
+ // caller's choosing to an endpoint of the deployment's.
34
+ requestBodySchema: ContractNoBody,
35
+ responsesByStatusCode: { 200: toolServerProbeResultSchema, ...errorResponses },
36
+ });
37
+ //# sourceMappingURL=tool-servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-servers.js","sourceRoot":"","sources":["../../src/routes/tool-servers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACvF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,EAAE;AACF,kGAAkG;AAClG,0FAA0F;AAC1F,+CAA+C;AAC/C,EAAE;AACF,iGAAiG;AACjG,mGAAmG;AACnG,8FAA8F;AAC9F,gGAAgG;AAChG,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;IACnC,qBAAqB,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,GAAG,cAAc,EAAE;CACzE,CAAC,CAAA;AAEF,gGAAgG;AAChG,oGAAoG;AACpG,6FAA6F;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;IACvD,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,iBAAiB,CAAC,IAAI,CAAC;IAChD,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,iBAAiB,EAAE,OAAO;IACpD,wFAAwF;IACxF,kGAAkG;IAClG,6FAA6F;IAC7F,wDAAwD;IACxD,iBAAiB,EAAE,cAAc;IACjC,qBAAqB,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,GAAG,cAAc,EAAE;CAC/E,CAAC,CAAA"}
@@ -0,0 +1,257 @@
1
+ import * as v from 'valibot';
2
+ /** Which transport a declaration uses, mirroring kernel's `McpTransport['kind']`. */
3
+ export declare const toolServerTransportSchema: v.PicklistSchema<["stdio", "http"], undefined>;
4
+ export type ToolServerTransport = v.InferOutput<typeof toolServerTransportSchema>;
5
+ /**
6
+ * Why a declared server cannot be probed from the deployment, when it cannot.
7
+ *
8
+ * This is NOT a fault vocabulary: every member describes a server that may be working perfectly on
9
+ * a run. What is missing is a vantage point — the backend is not the run container, and the probe
10
+ * refuses rather than reaching for the nearest thing it CAN talk to. Each member needs a different
11
+ * response from the operator, which is why they are separate:
12
+ *
13
+ * - `stdio_transport` — the server is a child process the harness spawns inside the run container.
14
+ * The backend has no container to spawn it in, and on the Worker no process model at all. There
15
+ * is nothing to fix: verify it from a run.
16
+ * - `container_local_url` — an `http` server on loopback means "beside the agent, in its own
17
+ * container". Probing that address from the backend would reach the BACKEND's own loopback, which
18
+ * is a different machine and quite possibly a real service, so the answer would be about the
19
+ * wrong process whether it succeeded or failed. Refused rather than attempted.
20
+ * - `url_not_allowed` — the url fails the transport rule (`isAllowedMcpHttpUrl`: https, or plain
21
+ * http on loopback). Boot validation already refuses such a declaration, so reaching this means
22
+ * the definition arrived from somewhere this process never boot-validated (a mothership-mode
23
+ * node), and the probe holds the same floor the dispatch does.
24
+ */
25
+ export declare const toolServerNotProbeableReasonSchema: v.PicklistSchema<["stdio_transport", "container_local_url", "url_not_allowed"], undefined>;
26
+ export type ToolServerNotProbeableReason = v.InferOutput<typeof toolServerNotProbeableReasonSchema>;
27
+ /**
28
+ * One credential a declaration asks for, by NAME.
29
+ *
30
+ * `usage` is the declaration's own note on what value belongs here. It is the same field the
31
+ * credential checklist renders, and a tool server's half of it exists because the checklist can only
32
+ * say what the declaration says: a bare `SLACK_MCP_TOKEN` names neither the token TYPE nor its
33
+ * scopes, so without it the operator goes back to the deployment's source.
34
+ */
35
+ export declare const toolServerCredentialSchema: v.ObjectSchema<{
36
+ readonly key: v.StringSchema<undefined>;
37
+ readonly required: v.BooleanSchema<undefined>;
38
+ readonly usage: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
39
+ }, undefined>;
40
+ export type ToolServerCredential = v.InferOutput<typeof toolServerCredentialSchema>;
41
+ /**
42
+ * One declared tool server, as an operator sees it.
43
+ *
44
+ * The point of the whole record is that a declaration has FOUR independent ways of not reaching a
45
+ * run, and until this surface existed they were visible in four different places (the deployment's
46
+ * source, a boot log, a run's prompt, and nowhere): which kinds declare it, which harnesses can
47
+ * serve it, whether its credentials resolve, and whether the endpoint answers. The first two are
48
+ * static facts stated here; the last two are what {@link toolServerProbeResultSchema} settles.
49
+ */
50
+ export declare const toolServerViewSchema: v.ObjectSchema<{
51
+ readonly id: v.StringSchema<undefined>;
52
+ readonly label: v.StringSchema<undefined>;
53
+ readonly transport: v.PicklistSchema<["stdio", "http"], undefined>;
54
+ /**
55
+ * What the declaration points at: the url for an `http` server, the command for a `stdio` one.
56
+ * Rendered so the operator can recognise WHICH server a row is, and stripped of any userinfo
57
+ * credential a url carried, because this reaches a browser.
58
+ */
59
+ readonly target: v.StringSchema<undefined>;
60
+ /** The definition's `guidance` — what the AGENT is told the server is for. */
61
+ readonly guidance: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
62
+ /**
63
+ * The agent kinds this server is declared for, own declarations and `assignToolServers` alike.
64
+ *
65
+ * EMPTY is a real and reportable state: a server registered by id and attached to no kind never
66
+ * reaches a dispatch, so its credentials are keys an operator would fill in for no run. Nothing
67
+ * else says so — boot validation checks declarations reachable FROM a kind, so an orphan registry
68
+ * entry passes every check silently.
69
+ */
70
+ readonly declaredBy: v.ArraySchema<v.StringSchema<undefined>, undefined>;
71
+ /**
72
+ * Which harnesses could serve it: the definition's own `harnesses` narrowed to the CLIs whose MCP
73
+ * client reaches its transport. Free-form strings on purpose — these are CLI names
74
+ * (`claude-code`, `codex`, `pi`), not translated copy, and duplicating kernel's closed
75
+ * `HarnessKind` union here would be a second list to keep in step for no reader's benefit.
76
+ *
77
+ * EMPTY means the declaration can never run anywhere (an `http` server narrowed to `codex`, whose
78
+ * client is stdio-only). Boot warns about that; it is repeated here because a boot warning is not
79
+ * where anyone looks.
80
+ */
81
+ readonly servableHarnesses: v.ArraySchema<v.StringSchema<undefined>, undefined>;
82
+ /** The tools the agent may call, when the definition narrowed them. Absent ⇒ all of them. */
83
+ readonly allowedTools: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
84
+ /** The credentials it asks for, by name. */
85
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
86
+ readonly key: v.StringSchema<undefined>;
87
+ readonly required: v.BooleanSchema<undefined>;
88
+ readonly usage: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
89
+ }, undefined>, undefined>;
90
+ /** Whether this deployment can reach the server to probe it. */
91
+ readonly probeable: v.BooleanSchema<undefined>;
92
+ /** Why not, when `probeable` is false. Always present in that case, absent otherwise. */
93
+ readonly notProbeableReason: v.OptionalSchema<v.PicklistSchema<["stdio_transport", "container_local_url", "url_not_allowed"], undefined>, undefined>;
94
+ }, undefined>;
95
+ export type ToolServerView = v.InferOutput<typeof toolServerViewSchema>;
96
+ /** What the tool-server surface returns: every declaration this deployment registered. */
97
+ export declare const toolServersViewSchema: v.ObjectSchema<{
98
+ readonly servers: v.ArraySchema<v.ObjectSchema<{
99
+ readonly id: v.StringSchema<undefined>;
100
+ readonly label: v.StringSchema<undefined>;
101
+ readonly transport: v.PicklistSchema<["stdio", "http"], undefined>;
102
+ /**
103
+ * What the declaration points at: the url for an `http` server, the command for a `stdio` one.
104
+ * Rendered so the operator can recognise WHICH server a row is, and stripped of any userinfo
105
+ * credential a url carried, because this reaches a browser.
106
+ */
107
+ readonly target: v.StringSchema<undefined>;
108
+ /** The definition's `guidance` — what the AGENT is told the server is for. */
109
+ readonly guidance: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
110
+ /**
111
+ * The agent kinds this server is declared for, own declarations and `assignToolServers` alike.
112
+ *
113
+ * EMPTY is a real and reportable state: a server registered by id and attached to no kind never
114
+ * reaches a dispatch, so its credentials are keys an operator would fill in for no run. Nothing
115
+ * else says so — boot validation checks declarations reachable FROM a kind, so an orphan registry
116
+ * entry passes every check silently.
117
+ */
118
+ readonly declaredBy: v.ArraySchema<v.StringSchema<undefined>, undefined>;
119
+ /**
120
+ * Which harnesses could serve it: the definition's own `harnesses` narrowed to the CLIs whose MCP
121
+ * client reaches its transport. Free-form strings on purpose — these are CLI names
122
+ * (`claude-code`, `codex`, `pi`), not translated copy, and duplicating kernel's closed
123
+ * `HarnessKind` union here would be a second list to keep in step for no reader's benefit.
124
+ *
125
+ * EMPTY means the declaration can never run anywhere (an `http` server narrowed to `codex`, whose
126
+ * client is stdio-only). Boot warns about that; it is repeated here because a boot warning is not
127
+ * where anyone looks.
128
+ */
129
+ readonly servableHarnesses: v.ArraySchema<v.StringSchema<undefined>, undefined>;
130
+ /** The tools the agent may call, when the definition narrowed them. Absent ⇒ all of them. */
131
+ readonly allowedTools: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
132
+ /** The credentials it asks for, by name. */
133
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
134
+ readonly key: v.StringSchema<undefined>;
135
+ readonly required: v.BooleanSchema<undefined>;
136
+ readonly usage: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
137
+ }, undefined>, undefined>;
138
+ /** Whether this deployment can reach the server to probe it. */
139
+ readonly probeable: v.BooleanSchema<undefined>;
140
+ /** Why not, when `probeable` is false. Always present in that case, absent otherwise. */
141
+ readonly notProbeableReason: v.OptionalSchema<v.PicklistSchema<["stdio_transport", "container_local_url", "url_not_allowed"], undefined>, undefined>;
142
+ }, undefined>, undefined>;
143
+ }, undefined>;
144
+ export type ToolServersView = v.InferOutput<typeof toolServersViewSchema>;
145
+ /**
146
+ * The verdict of one probe. A CLOSED vocabulary, and the members are split by the fix they call for
147
+ * rather than by where in the code the failure happened:
148
+ *
149
+ * - `ok` — the server completed the MCP handshake and answered `tools/list`.
150
+ * - `credentials_missing` — a `required` credential did not resolve, so nothing was sent. This is
151
+ * the same condition that makes a dispatch drop the server under `missing_secret`, reached
152
+ * without spending a run to find out.
153
+ * - `credential_refused` — a credential's LOOKUP key names a platform configuration variable, so
154
+ * the probe refused to resolve it (the dispatch's `reserved_secret`). Kept apart from the above
155
+ * because setting the variable is precisely what must not help: the DECLARATION is what changes.
156
+ * - `unreachable` — the request never got an answer (DNS, TLS, connection refused, timeout). The
157
+ * endpoint or the network is the fix.
158
+ * - `http_error` — something answered with a status that is not an MCP response. `401`/`403` is the
159
+ * credential being wrong (as opposed to absent, which is `credentials_missing`); `404` is usually
160
+ * a url pointing at the wrong path. `httpStatus` carries which.
161
+ * - `protocol_error` — it answered, but not as an MCP server: a non-JSON body, a JSON-RPC error, a
162
+ * protocol version it would not negotiate. The url probably names something that is not this
163
+ * server.
164
+ * - `not_probeable` — the probe was refused before it began; see
165
+ * {@link toolServerNotProbeableReasonSchema}.
166
+ */
167
+ export declare const toolServerProbeStatusSchema: v.PicklistSchema<["ok", "credentials_missing", "credential_refused", "unreachable", "http_error", "protocol_error", "not_probeable"], undefined>;
168
+ export type ToolServerProbeStatus = v.InferOutput<typeof toolServerProbeStatusSchema>;
169
+ /**
170
+ * Whether the tools the definition NARROWED to actually exist on the server.
171
+ *
172
+ * The first thing in the platform that can answer it. `allowedTools` is held to a NAME pattern at
173
+ * registration, at dispatch and at the job boundary, but no layer can check a well-formed name
174
+ * against reality: a typo'd `search_issue` narrows claude-code's allow-list to a pattern matching
175
+ * nothing while the prompt goes on advertising the name, which is the "told about a tool it cannot
176
+ * call" failure the whole unavailability vocabulary exists to prevent.
177
+ *
178
+ * `checked` is why this is an object rather than a bare list. `tools/list` is PAGINATED, and the
179
+ * probe reads a bounded number of pages; if a cursor was still outstanding, a name's absence from
180
+ * what came back is not evidence it is absent from the server. So an unread tail makes the verdict
181
+ * `checked: false` and `unmatched` empty, rather than reporting names as missing on the strength of
182
+ * a partial read.
183
+ */
184
+ export declare const toolServerAllowedToolsCheckSchema: v.ObjectSchema<{
185
+ readonly declared: v.ArraySchema<v.StringSchema<undefined>, undefined>;
186
+ /** Declared names the server does not expose. Empty when `checked` is false. */
187
+ readonly unmatched: v.ArraySchema<v.StringSchema<undefined>, undefined>;
188
+ /** Whether the full tool list was read, and therefore whether `unmatched` means anything. */
189
+ readonly checked: v.BooleanSchema<undefined>;
190
+ }, undefined>;
191
+ export type ToolServerAllowedToolsCheck = v.InferOutput<typeof toolServerAllowedToolsCheckSchema>;
192
+ /** What one probe answered. */
193
+ export declare const toolServerProbeResultSchema: v.ObjectSchema<{
194
+ readonly serverId: v.StringSchema<undefined>;
195
+ readonly status: v.PicklistSchema<["ok", "credentials_missing", "credential_refused", "unreachable", "http_error", "protocol_error", "not_probeable"], undefined>;
196
+ /** Present when `status` is `not_probeable`, absent otherwise. */
197
+ readonly notProbeableReason: v.OptionalSchema<v.PicklistSchema<["stdio_transport", "container_local_url", "url_not_allowed"], undefined>, undefined>;
198
+ /** The `serverInfo` the handshake returned. Present on `ok`. */
199
+ readonly serverName: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
200
+ readonly serverVersion: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
201
+ /** The protocol version the server negotiated. Present on `ok`. */
202
+ readonly protocolVersion: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
203
+ /**
204
+ * How many tools the server exposed across the pages that were read. Present on `ok`.
205
+ *
206
+ * Read WITH `toolsComplete`: a count off a truncated read is a floor, not a total, and the two
207
+ * fields exist separately so the surface can say which it is holding.
208
+ */
209
+ readonly toolCount: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
210
+ /** The tool names read, capped — see {@link MCP_PROBE_TOOL_NAME_CAP}. Present on `ok`. */
211
+ readonly tools: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
212
+ /** Whether every page of `tools/list` was read. Present on `ok`. */
213
+ readonly toolsComplete: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
214
+ /** The `allowedTools` reconciliation, when the definition narrowed them and the probe answered. */
215
+ readonly allowedTools: v.OptionalSchema<v.ObjectSchema<{
216
+ readonly declared: v.ArraySchema<v.StringSchema<undefined>, undefined>;
217
+ /** Declared names the server does not expose. Empty when `checked` is false. */
218
+ readonly unmatched: v.ArraySchema<v.StringSchema<undefined>, undefined>;
219
+ /** Whether the full tool list was read, and therefore whether `unmatched` means anything. */
220
+ readonly checked: v.BooleanSchema<undefined>;
221
+ }, undefined>, undefined>;
222
+ /** Which declared credentials did not resolve. Present on `credentials_missing`. */
223
+ readonly unresolvedCredentials: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
224
+ /** Which declared credential named a platform variable. Present on `credential_refused`. */
225
+ readonly refusedCredentials: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
226
+ /** The status something answered with. Present on `http_error`. */
227
+ readonly httpStatus: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
228
+ /**
229
+ * The failure in prose, for the disclosure behind the translated description. Scrubbed through
230
+ * `redactSecrets` at the emit site: a fetch error routinely echoes the request url, and this one
231
+ * carries a credential header.
232
+ */
233
+ readonly error: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
234
+ }, undefined>;
235
+ export type ToolServerProbeResult = v.InferOutput<typeof toolServerProbeResultSchema>;
236
+ /**
237
+ * How many tool NAMES a probe result carries back.
238
+ *
239
+ * The list is for recognition ("yes, that is the Slack server") and for the `allowedTools`
240
+ * reconciliation, which is computed on the backend against everything read rather than against this
241
+ * prefix — so capping the wire list narrows what a human scrolls and never what was checked.
242
+ * `toolCount` states the real figure, so a truncated list is visible rather than implied.
243
+ */
244
+ export declare const MCP_PROBE_TOOL_NAME_CAP = 100;
245
+ /**
246
+ * Pages of `tools/list` one probe reads before it stops and reports the read as incomplete.
247
+ *
248
+ * A bound rather than a full drain, because a probe is an interactive request an operator waits on
249
+ * and the page size is the SERVER's choice: an unbounded loop hands a remote server control of how
250
+ * long this endpoint runs. Three pages covers every real server's tool table; a cursor still
251
+ * outstanding after the third means the answer is "it works, and it has more tools than this can
252
+ * enumerate", which is a true and useful answer.
253
+ */
254
+ export declare const MCP_PROBE_MAX_PAGES = 3;
255
+ /** How long a probe waits for the whole handshake-plus-list exchange. */
256
+ export declare const MCP_PROBE_TIMEOUT_MS = 10000;
257
+ //# sourceMappingURL=tool-servers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-servers.d.ts","sourceRoot":"","sources":["../src/tool-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA8B5B,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,gDAAgC,CAAA;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kCAAkC,4FAI7C,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEnG;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;aAIrC,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;IAI/B;;;;OAIG;;IAEH,8EAA8E;;IAE9E;;;;;;;OAOG;;IAEH;;;;;;;;;OASG;;IAEH,6FAA6F;;IAE7F,4CAA4C;;;;;;IAE5C,gEAAgE;;IAEhE,yFAAyF;;aAEzF,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB;;;;;QAxChC;;;;WAIG;;QAEH,8EAA8E;;QAE9E;;;;;;;WAOG;;QAEH;;;;;;;;;WASG;;QAEH,6FAA6F;;QAE7F,4CAA4C;;;;;;QAE5C,gEAAgE;;QAEhE,yFAAyF;;;aAQzF,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,2BAA2B,kJAQtC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iCAAiC;;IAE5C,gFAAgF;;IAEhF,6FAA6F;;aAE7F,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iCAAiC,CAAC,CAAA;AAEjG,+BAA+B;AAC/B,eAAO,MAAM,2BAA2B;;;IAGtC,kEAAkE;;IAElE,gEAAgE;;;IAGhE,mEAAmE;;IAEnE;;;;;OAKG;;IAEH,0FAA0F;;IAE1F,oEAAoE;;IAEpE,mGAAmG;;;QA7BnG,gFAAgF;;QAEhF,6FAA6F;;;IA6B7F,oFAAoF;;IAEpF,4FAA4F;;IAE5F,mEAAmE;;IAEnE;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,yEAAyE;AACzE,eAAO,MAAM,oBAAoB,QAAS,CAAA"}
@@ -0,0 +1,234 @@
1
+ import * as v from 'valibot';
2
+ // ---------------------------------------------------------------------------
3
+ // The OPERATOR-facing projection of the tool servers (MCP) a deployment registered, plus the
4
+ // result of PROBING one.
5
+ //
6
+ // The registry itself is deployment CODE — a `McpServerDefinition` on the `AgentKindRegistry`, with
7
+ // its credentials resolved per dispatch through the kernel `ToolSecretResolver`. Everything an
8
+ // operator could previously learn about it, they learned by reading that code or by starting a run
9
+ // and reading the agent's own prompt: boot validation names a broken DECLARATION, and a dispatch
10
+ // names a server it DROPPED, but nothing said whether a server that survives both actually answers.
11
+ //
12
+ // So this module is two vocabularies:
13
+ //
14
+ // - {@link toolServerViewSchema}, the non-secret projection of one declaration (what it is, which
15
+ // kinds get it, which harnesses can serve it, which credentials it asks for BY NAME, and
16
+ // whether the deployment can probe it at all);
17
+ // - {@link toolServerProbeResultSchema}, the verdict of speaking `initialize` + `tools/list` to it
18
+ // for real.
19
+ //
20
+ // Both live here rather than in kernel because the SPA has to state the same judgements to a human,
21
+ // and the SPA cannot see kernel. The probe STATUS in particular is a rule both sides agree about:
22
+ // the backend decides it, the SPA maps each member to translated copy and a remedy, and a member
23
+ // added on one side only would render as a blank chip.
24
+ //
25
+ // Nothing here carries a credential VALUE. A key NAME is as far as it goes, which is why the whole
26
+ // surface is `secrets.manage`-gated (the same judgement the credential checklist makes: what
27
+ // variables a deployment's capabilities want is not viewer-tier information).
28
+ // ---------------------------------------------------------------------------
29
+ /** Which transport a declaration uses, mirroring kernel's `McpTransport['kind']`. */
30
+ export const toolServerTransportSchema = v.picklist(['stdio', 'http']);
31
+ /**
32
+ * Why a declared server cannot be probed from the deployment, when it cannot.
33
+ *
34
+ * This is NOT a fault vocabulary: every member describes a server that may be working perfectly on
35
+ * a run. What is missing is a vantage point — the backend is not the run container, and the probe
36
+ * refuses rather than reaching for the nearest thing it CAN talk to. Each member needs a different
37
+ * response from the operator, which is why they are separate:
38
+ *
39
+ * - `stdio_transport` — the server is a child process the harness spawns inside the run container.
40
+ * The backend has no container to spawn it in, and on the Worker no process model at all. There
41
+ * is nothing to fix: verify it from a run.
42
+ * - `container_local_url` — an `http` server on loopback means "beside the agent, in its own
43
+ * container". Probing that address from the backend would reach the BACKEND's own loopback, which
44
+ * is a different machine and quite possibly a real service, so the answer would be about the
45
+ * wrong process whether it succeeded or failed. Refused rather than attempted.
46
+ * - `url_not_allowed` — the url fails the transport rule (`isAllowedMcpHttpUrl`: https, or plain
47
+ * http on loopback). Boot validation already refuses such a declaration, so reaching this means
48
+ * the definition arrived from somewhere this process never boot-validated (a mothership-mode
49
+ * node), and the probe holds the same floor the dispatch does.
50
+ */
51
+ export const toolServerNotProbeableReasonSchema = v.picklist([
52
+ 'stdio_transport',
53
+ 'container_local_url',
54
+ 'url_not_allowed',
55
+ ]);
56
+ /**
57
+ * One credential a declaration asks for, by NAME.
58
+ *
59
+ * `usage` is the declaration's own note on what value belongs here. It is the same field the
60
+ * credential checklist renders, and a tool server's half of it exists because the checklist can only
61
+ * say what the declaration says: a bare `SLACK_MCP_TOKEN` names neither the token TYPE nor its
62
+ * scopes, so without it the operator goes back to the deployment's source.
63
+ */
64
+ export const toolServerCredentialSchema = v.object({
65
+ key: v.string(),
66
+ required: v.boolean(),
67
+ usage: v.optional(v.string()),
68
+ });
69
+ /**
70
+ * One declared tool server, as an operator sees it.
71
+ *
72
+ * The point of the whole record is that a declaration has FOUR independent ways of not reaching a
73
+ * run, and until this surface existed they were visible in four different places (the deployment's
74
+ * source, a boot log, a run's prompt, and nowhere): which kinds declare it, which harnesses can
75
+ * serve it, whether its credentials resolve, and whether the endpoint answers. The first two are
76
+ * static facts stated here; the last two are what {@link toolServerProbeResultSchema} settles.
77
+ */
78
+ export const toolServerViewSchema = v.object({
79
+ id: v.string(),
80
+ label: v.string(),
81
+ transport: toolServerTransportSchema,
82
+ /**
83
+ * What the declaration points at: the url for an `http` server, the command for a `stdio` one.
84
+ * Rendered so the operator can recognise WHICH server a row is, and stripped of any userinfo
85
+ * credential a url carried, because this reaches a browser.
86
+ */
87
+ target: v.string(),
88
+ /** The definition's `guidance` — what the AGENT is told the server is for. */
89
+ guidance: v.optional(v.string()),
90
+ /**
91
+ * The agent kinds this server is declared for, own declarations and `assignToolServers` alike.
92
+ *
93
+ * EMPTY is a real and reportable state: a server registered by id and attached to no kind never
94
+ * reaches a dispatch, so its credentials are keys an operator would fill in for no run. Nothing
95
+ * else says so — boot validation checks declarations reachable FROM a kind, so an orphan registry
96
+ * entry passes every check silently.
97
+ */
98
+ declaredBy: v.array(v.string()),
99
+ /**
100
+ * Which harnesses could serve it: the definition's own `harnesses` narrowed to the CLIs whose MCP
101
+ * client reaches its transport. Free-form strings on purpose — these are CLI names
102
+ * (`claude-code`, `codex`, `pi`), not translated copy, and duplicating kernel's closed
103
+ * `HarnessKind` union here would be a second list to keep in step for no reader's benefit.
104
+ *
105
+ * EMPTY means the declaration can never run anywhere (an `http` server narrowed to `codex`, whose
106
+ * client is stdio-only). Boot warns about that; it is repeated here because a boot warning is not
107
+ * where anyone looks.
108
+ */
109
+ servableHarnesses: v.array(v.string()),
110
+ /** The tools the agent may call, when the definition narrowed them. Absent ⇒ all of them. */
111
+ allowedTools: v.optional(v.array(v.string())),
112
+ /** The credentials it asks for, by name. */
113
+ credentials: v.array(toolServerCredentialSchema),
114
+ /** Whether this deployment can reach the server to probe it. */
115
+ probeable: v.boolean(),
116
+ /** Why not, when `probeable` is false. Always present in that case, absent otherwise. */
117
+ notProbeableReason: v.optional(toolServerNotProbeableReasonSchema),
118
+ });
119
+ /** What the tool-server surface returns: every declaration this deployment registered. */
120
+ export const toolServersViewSchema = v.object({
121
+ servers: v.array(toolServerViewSchema),
122
+ });
123
+ /**
124
+ * The verdict of one probe. A CLOSED vocabulary, and the members are split by the fix they call for
125
+ * rather than by where in the code the failure happened:
126
+ *
127
+ * - `ok` — the server completed the MCP handshake and answered `tools/list`.
128
+ * - `credentials_missing` — a `required` credential did not resolve, so nothing was sent. This is
129
+ * the same condition that makes a dispatch drop the server under `missing_secret`, reached
130
+ * without spending a run to find out.
131
+ * - `credential_refused` — a credential's LOOKUP key names a platform configuration variable, so
132
+ * the probe refused to resolve it (the dispatch's `reserved_secret`). Kept apart from the above
133
+ * because setting the variable is precisely what must not help: the DECLARATION is what changes.
134
+ * - `unreachable` — the request never got an answer (DNS, TLS, connection refused, timeout). The
135
+ * endpoint or the network is the fix.
136
+ * - `http_error` — something answered with a status that is not an MCP response. `401`/`403` is the
137
+ * credential being wrong (as opposed to absent, which is `credentials_missing`); `404` is usually
138
+ * a url pointing at the wrong path. `httpStatus` carries which.
139
+ * - `protocol_error` — it answered, but not as an MCP server: a non-JSON body, a JSON-RPC error, a
140
+ * protocol version it would not negotiate. The url probably names something that is not this
141
+ * server.
142
+ * - `not_probeable` — the probe was refused before it began; see
143
+ * {@link toolServerNotProbeableReasonSchema}.
144
+ */
145
+ export const toolServerProbeStatusSchema = v.picklist([
146
+ 'ok',
147
+ 'credentials_missing',
148
+ 'credential_refused',
149
+ 'unreachable',
150
+ 'http_error',
151
+ 'protocol_error',
152
+ 'not_probeable',
153
+ ]);
154
+ /**
155
+ * Whether the tools the definition NARROWED to actually exist on the server.
156
+ *
157
+ * The first thing in the platform that can answer it. `allowedTools` is held to a NAME pattern at
158
+ * registration, at dispatch and at the job boundary, but no layer can check a well-formed name
159
+ * against reality: a typo'd `search_issue` narrows claude-code's allow-list to a pattern matching
160
+ * nothing while the prompt goes on advertising the name, which is the "told about a tool it cannot
161
+ * call" failure the whole unavailability vocabulary exists to prevent.
162
+ *
163
+ * `checked` is why this is an object rather than a bare list. `tools/list` is PAGINATED, and the
164
+ * probe reads a bounded number of pages; if a cursor was still outstanding, a name's absence from
165
+ * what came back is not evidence it is absent from the server. So an unread tail makes the verdict
166
+ * `checked: false` and `unmatched` empty, rather than reporting names as missing on the strength of
167
+ * a partial read.
168
+ */
169
+ export const toolServerAllowedToolsCheckSchema = v.object({
170
+ declared: v.array(v.string()),
171
+ /** Declared names the server does not expose. Empty when `checked` is false. */
172
+ unmatched: v.array(v.string()),
173
+ /** Whether the full tool list was read, and therefore whether `unmatched` means anything. */
174
+ checked: v.boolean(),
175
+ });
176
+ /** What one probe answered. */
177
+ export const toolServerProbeResultSchema = v.object({
178
+ serverId: v.string(),
179
+ status: toolServerProbeStatusSchema,
180
+ /** Present when `status` is `not_probeable`, absent otherwise. */
181
+ notProbeableReason: v.optional(toolServerNotProbeableReasonSchema),
182
+ /** The `serverInfo` the handshake returned. Present on `ok`. */
183
+ serverName: v.optional(v.string()),
184
+ serverVersion: v.optional(v.string()),
185
+ /** The protocol version the server negotiated. Present on `ok`. */
186
+ protocolVersion: v.optional(v.string()),
187
+ /**
188
+ * How many tools the server exposed across the pages that were read. Present on `ok`.
189
+ *
190
+ * Read WITH `toolsComplete`: a count off a truncated read is a floor, not a total, and the two
191
+ * fields exist separately so the surface can say which it is holding.
192
+ */
193
+ toolCount: v.optional(v.number()),
194
+ /** The tool names read, capped — see {@link MCP_PROBE_TOOL_NAME_CAP}. Present on `ok`. */
195
+ tools: v.optional(v.array(v.string())),
196
+ /** Whether every page of `tools/list` was read. Present on `ok`. */
197
+ toolsComplete: v.optional(v.boolean()),
198
+ /** The `allowedTools` reconciliation, when the definition narrowed them and the probe answered. */
199
+ allowedTools: v.optional(toolServerAllowedToolsCheckSchema),
200
+ /** Which declared credentials did not resolve. Present on `credentials_missing`. */
201
+ unresolvedCredentials: v.optional(v.array(v.string())),
202
+ /** Which declared credential named a platform variable. Present on `credential_refused`. */
203
+ refusedCredentials: v.optional(v.array(v.string())),
204
+ /** The status something answered with. Present on `http_error`. */
205
+ httpStatus: v.optional(v.number()),
206
+ /**
207
+ * The failure in prose, for the disclosure behind the translated description. Scrubbed through
208
+ * `redactSecrets` at the emit site: a fetch error routinely echoes the request url, and this one
209
+ * carries a credential header.
210
+ */
211
+ error: v.optional(v.string()),
212
+ });
213
+ /**
214
+ * How many tool NAMES a probe result carries back.
215
+ *
216
+ * The list is for recognition ("yes, that is the Slack server") and for the `allowedTools`
217
+ * reconciliation, which is computed on the backend against everything read rather than against this
218
+ * prefix — so capping the wire list narrows what a human scrolls and never what was checked.
219
+ * `toolCount` states the real figure, so a truncated list is visible rather than implied.
220
+ */
221
+ export const MCP_PROBE_TOOL_NAME_CAP = 100;
222
+ /**
223
+ * Pages of `tools/list` one probe reads before it stops and reports the read as incomplete.
224
+ *
225
+ * A bound rather than a full drain, because a probe is an interactive request an operator waits on
226
+ * and the page size is the SERVER's choice: an unbounded loop hands a remote server control of how
227
+ * long this endpoint runs. Three pages covers every real server's tool table; a cursor still
228
+ * outstanding after the third means the answer is "it works, and it has more tools than this can
229
+ * enumerate", which is a true and useful answer.
230
+ */
231
+ export const MCP_PROBE_MAX_PAGES = 3;
232
+ /** How long a probe waits for the whole handshake-plus-list exchange. */
233
+ export const MCP_PROBE_TIMEOUT_MS = 10_000;
234
+ //# sourceMappingURL=tool-servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-servers.js","sourceRoot":"","sources":["../src/tool-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,6FAA6F;AAC7F,yBAAyB;AACzB,EAAE;AACF,oGAAoG;AACpG,+FAA+F;AAC/F,mGAAmG;AACnG,iGAAiG;AACjG,oGAAoG;AACpG,EAAE;AACF,sCAAsC;AACtC,EAAE;AACF,oGAAoG;AACpG,6FAA6F;AAC7F,mDAAmD;AACnD,qGAAqG;AACrG,gBAAgB;AAChB,EAAE;AACF,oGAAoG;AACpG,kGAAkG;AAClG,iGAAiG;AACjG,uDAAuD;AACvD,EAAE;AACF,mGAAmG;AACnG,6FAA6F;AAC7F,8EAA8E;AAC9E,8EAA8E;AAE9E,qFAAqF;AACrF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAGtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC3D,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;CAClB,CAAC,CAAA;AAGF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAA;AAGF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,yBAAyB;IACpC;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,8EAA8E;IAC9E,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B;;;;;;;;;OASG;IACH,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACtC,6FAA6F;IAC7F,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,4CAA4C;IAC5C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;IAChD,gEAAgE;IAChE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,yFAAyF;IACzF,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACnE,CAAC,CAAA;AAGF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACvC,CAAC,CAAA;AAGF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,QAAQ,CAAC;IACpD,IAAI;IACJ,qBAAqB;IACrB,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,eAAe;CAChB,CAAC,CAAA;AAGF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,gFAAgF;IAChF,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,6FAA6F;IAC7F,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAA;AAGF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,2BAA2B;IACnC,kEAAkE;IAClE,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAClE,gEAAgE;IAChE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,mEAAmE;IACnE,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACvC;;;;;OAKG;IACH,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,0FAA0F;IAC1F,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,oEAAoE;IACpE,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACtC,mGAAmG;IACnG,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC3D,oFAAoF;IACpF,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,4FAA4F;IAC5F,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,mEAAmE;IACnE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAA;AAGF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAE1C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAEpC,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/contracts",
3
- "version": "0.238.0",
3
+ "version": "0.239.0",
4
4
  "description": "Valibot wire contract shared between the Agent Architecture Board frontend and backend.",
5
5
  "repository": {
6
6
  "type": "git",