@cat-factory/contracts 0.295.0 → 0.297.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
@@ -131,6 +131,7 @@ export * from './public-decisions.js';
131
131
  export * from './notification-webhooks.js';
132
132
  export * from './personal-subscriptions.js';
133
133
  export * from './localModels.js';
134
+ export * from './known-local-models.js';
134
135
  export * from './openrouter.js';
135
136
  export * from './sandbox.js';
136
137
  export * from './workspace-settings.js';
@@ -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":"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,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,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,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,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,0BAA0B,CAAA;AACxC,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,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,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,4BAA4B,CAAA;AAC1C,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,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,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,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,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,wBAAwB,CAAA;AACtC,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,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B,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,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,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,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
package/dist/index.js CHANGED
@@ -131,6 +131,7 @@ export * from './public-decisions.js';
131
131
  export * from './notification-webhooks.js';
132
132
  export * from './personal-subscriptions.js';
133
133
  export * from './localModels.js';
134
+ export * from './known-local-models.js';
134
135
  export * from './openrouter.js';
135
136
  export * from './sandbox.js';
136
137
  export * from './workspace-settings.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,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,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,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,0BAA0B,CAAA;AACxC,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,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,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,4BAA4B,CAAA;AAC1C,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,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,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,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,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,wBAAwB,CAAA;AACtC,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,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B,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,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,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,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
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,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,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,mBAAmB,CAAA;AACjC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA;AACpC,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,0BAA0B,CAAA;AACxC,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,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,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,4BAA4B,CAAA;AAC1C,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,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,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,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,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,wBAAwB,CAAA;AACtC,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,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B,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,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,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,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,59 @@
1
+ /** One recognised local model family and what its weights can be given. */
2
+ export interface KnownLocalModel {
3
+ /** Stable family key, for tests and for anything that wants to group by family. */
4
+ family: string;
5
+ /** Display name, shown to the user beside the modality it implies. */
6
+ label: string;
7
+ /**
8
+ * Id fragments that identify the family, ALREADY SQUASHED the way {@link squashModelId}
9
+ * squashes a runner's id (lowercase, alphanumerics only), and matched as substrings. That is
10
+ * what lets one entry cover every shape the ecosystem serves the same weights under:
11
+ * `gemma4:12b` (Ollama), `google/gemma-4-12b` (LM Studio), `Gemma-4-12B-it-GGUF` (llama.cpp),
12
+ * `mlx-community/Gemma-4-12B-4bit` (MLX).
13
+ */
14
+ match: readonly string[];
15
+ /**
16
+ * Whether the family's weights accept IMAGE input.
17
+ *
18
+ * Every entry today says `true`, and that is a rule rather than a coincidence: an entry earns
19
+ * its place only where the platform's SILENCE would cost a capability. A text-only model
20
+ * behaves identically whether this table calls it `false` or says nothing (both withhold the
21
+ * run's design renders), so listing one would add a maintenance surface, and a wrong `false`
22
+ * would silently withhold pictures from a model that could have read them. The field is
23
+ * explicit anyway so a future entry that genuinely needs to correct an assumption can.
24
+ */
25
+ acceptsImages: boolean;
26
+ }
27
+ /**
28
+ * The recognised families. Each is here because its publisher documents image input for the
29
+ * open weights, verified against that publisher's own release material rather than inferred
30
+ * from a family resemblance.
31
+ *
32
+ * A family whose modality depends on the SIZE is deliberately ABSENT rather than approximated:
33
+ * Gemma 3 is the worked example (its 1B is text-only while its 4B and up are not), and an entry
34
+ * matching the family name would have told every `gemma3:1b` user their model reads images. When
35
+ * in doubt, leave it out: the user's own declaration is right there, and an absence self-corrects
36
+ * where a wrong entry does not.
37
+ */
38
+ export declare const KNOWN_LOCAL_MODELS: readonly KnownLocalModel[];
39
+ /**
40
+ * Reduce a runner-reported model id to its comparable core: the last path segment, lowercased,
41
+ * split on every non-alphanumeric run, packaging tokens dropped, the rest joined.
42
+ *
43
+ * One normalisation rather than a set of per-runner regexes, because the SAME weights arrive under
44
+ * wildly different spellings and the differences are all punctuation and packaging: an org
45
+ * prefix (`google/`), a size tag (`:12b`), a quantisation suffix (`-q4_k_m`), a format
46
+ * (`-gguf`, `-mlx`, `.gguf`), a hyphen where another registry uses none. Squashing both sides
47
+ * and testing for a substring absorbs all of it, and it keeps VERSION digits significant, which
48
+ * is what stops a `gemma4` entry from claiming a `gemma3` id.
49
+ */
50
+ export declare function squashModelId(id: string): string;
51
+ /**
52
+ * The recognised family for a runner-reported model id, or undefined when the platform knows
53
+ * nothing about it (the normal case for a fine-tune or a private build).
54
+ *
55
+ * Callers must treat undefined as "nobody has said", NEVER as "text only": that distinction is
56
+ * the whole reason `LocalModelDeclaration.acceptsImages` is three-state.
57
+ */
58
+ export declare function knownLocalModel(id: string | undefined | null): KnownLocalModel | undefined;
59
+ //# sourceMappingURL=known-local-models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-local-models.d.ts","sourceRoot":"","sources":["../src/known-local-models.ts"],"names":[],"mappings":"AAoBA,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB;;;;;;;;;OASG;IACH,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAoDxD,CAAA;AAgBD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,eAAe,GAAG,SAAS,CAK1F"}
@@ -0,0 +1,130 @@
1
+ // ---------------------------------------------------------------------------
2
+ // What the platform KNOWS about the popular locally-run model families, so the common
3
+ // case needs no declaration from the user.
4
+ //
5
+ // A local model has no `MODEL_CATALOG` entry: it lives on one person's machine, the runner's
6
+ // OpenAI-compatible `/models` probe returns ids and nothing else, and the id itself is free
7
+ // text. That is why `LocalModelDeclaration` exists. But most people run a handful of
8
+ // well-known open-weights families, and asking each of them to hand-declare that Gemma 4
9
+ // reads images is asking them to re-supply a fact this repo can simply carry.
10
+ //
11
+ // So there are two tiers, and the ESCAPE HATCH OUT-RANKS the table: a user's own declaration
12
+ // always wins, because they are the one who knows which build they pulled (a text-only quant,
13
+ // a fine-tune, a re-tagged local copy). This table only answers when they have said nothing.
14
+ //
15
+ // Lives in contracts, not kernel, because BOTH sides must agree about it: the SPA labels the
16
+ // "not set" option with what the table will do, and the engine folds the same answer onto the
17
+ // dispatched ref. A copy on either side would let the settings panel promise a model images
18
+ // that the run then withholds.
19
+ // ---------------------------------------------------------------------------
20
+ /**
21
+ * The recognised families. Each is here because its publisher documents image input for the
22
+ * open weights, verified against that publisher's own release material rather than inferred
23
+ * from a family resemblance.
24
+ *
25
+ * A family whose modality depends on the SIZE is deliberately ABSENT rather than approximated:
26
+ * Gemma 3 is the worked example (its 1B is text-only while its 4B and up are not), and an entry
27
+ * matching the family name would have told every `gemma3:1b` user their model reads images. When
28
+ * in doubt, leave it out: the user's own declaration is right there, and an absence self-corrects
29
+ * where a wrong entry does not.
30
+ */
31
+ export const KNOWN_LOCAL_MODELS = [
32
+ {
33
+ family: 'muse-glimmer',
34
+ label: 'Muse Glimmer',
35
+ // Meta's 30B agentic model: a dedicated perception encoder, interleaved text and images.
36
+ match: ['museglimmer'],
37
+ acceptsImages: true,
38
+ },
39
+ {
40
+ family: 'gemma4',
41
+ label: 'Gemma 4',
42
+ // Google ships native vision in EVERY Gemma 4 variant, 2B through 31B, which is what makes
43
+ // the bare family name safe to match here where `gemma3` is not.
44
+ match: ['gemma4'],
45
+ acceptsImages: true,
46
+ },
47
+ {
48
+ family: 'qwen-vl',
49
+ label: 'Qwen (VL)',
50
+ // Qwen's vision-language line, which is EXPLICIT in the id. The plain `qwen3.6` / `qwen3`
51
+ // builds are left unrecognised on purpose: the series is described as multimodal while
52
+ // vision is delivered by the `-VL` variants, and that ambiguity is not something to resolve
53
+ // by guessing on a user's behalf.
54
+ match: ['qwenvl', 'qwen2vl', 'qwen25vl', 'qwen3vl', 'qwen35vl', 'qwen36vl'],
55
+ acceptsImages: true,
56
+ },
57
+ {
58
+ family: 'llama4',
59
+ label: 'Llama 4',
60
+ // Natively multimodal across Scout and Maverick; the same fact `MODEL_CATALOG` already
61
+ // declares for the Workers AI flavour of Scout.
62
+ match: ['llama4'],
63
+ acceptsImages: true,
64
+ },
65
+ {
66
+ family: 'llava',
67
+ label: 'LLaVA',
68
+ match: ['llava'],
69
+ acceptsImages: true,
70
+ },
71
+ {
72
+ family: 'minicpm-v',
73
+ label: 'MiniCPM-V',
74
+ match: ['minicpmv'],
75
+ acceptsImages: true,
76
+ },
77
+ {
78
+ family: 'moondream',
79
+ label: 'Moondream',
80
+ match: ['moondream'],
81
+ acceptsImages: true,
82
+ },
83
+ ];
84
+ /**
85
+ * A token that describes how a build was PACKAGED rather than which weights it holds: the
86
+ * parameter size (`12b`, `8x7b`, `500m`), the quantisation (`q4_k_m`, `4bit`, `fp16`, `int8`) and
87
+ * the serialisation format (`gguf`, `mlx`, `awq`, …).
88
+ *
89
+ * Dropped BEFORE the squash, and that order is the whole point: the squash deletes exactly the
90
+ * separators that keep a size tag apart from the family name, so `gemma-4b-it` squashed whole
91
+ * reads as `gemma4bit`, which CONTAINS the `gemma4` fragment and would hand a Gemma 1 4B build
92
+ * the run's design renders. Removing the packaging first cannot create that adjacency, where a
93
+ * boundary rule applied after the squash has no boundary left to test.
94
+ */
95
+ const PACKAGING_TOKEN = /^(?:\d+(?:x\d+)?[bm]|\d+bits?|q\d\w*|fp\d+|bf\d+|int\d+|gguf|ggml|mlx|awq|gptq|exl\d+|safetensors)$/;
96
+ /**
97
+ * Reduce a runner-reported model id to its comparable core: the last path segment, lowercased,
98
+ * split on every non-alphanumeric run, packaging tokens dropped, the rest joined.
99
+ *
100
+ * One normalisation rather than a set of per-runner regexes, because the SAME weights arrive under
101
+ * wildly different spellings and the differences are all punctuation and packaging: an org
102
+ * prefix (`google/`), a size tag (`:12b`), a quantisation suffix (`-q4_k_m`), a format
103
+ * (`-gguf`, `-mlx`, `.gguf`), a hyphen where another registry uses none. Squashing both sides
104
+ * and testing for a substring absorbs all of it, and it keeps VERSION digits significant, which
105
+ * is what stops a `gemma4` entry from claiming a `gemma3` id.
106
+ */
107
+ export function squashModelId(id) {
108
+ const segment = id.split('/').pop() ?? id;
109
+ return segment
110
+ .toLowerCase()
111
+ .split(/[^a-z0-9]+/)
112
+ .filter((token) => token.length > 0 && !PACKAGING_TOKEN.test(token))
113
+ .join('');
114
+ }
115
+ /**
116
+ * The recognised family for a runner-reported model id, or undefined when the platform knows
117
+ * nothing about it (the normal case for a fine-tune or a private build).
118
+ *
119
+ * Callers must treat undefined as "nobody has said", NEVER as "text only": that distinction is
120
+ * the whole reason `LocalModelDeclaration.acceptsImages` is three-state.
121
+ */
122
+ export function knownLocalModel(id) {
123
+ if (!id)
124
+ return undefined;
125
+ const squashed = squashModelId(id);
126
+ if (!squashed)
127
+ return undefined;
128
+ return KNOWN_LOCAL_MODELS.find((known) => known.match.some((m) => squashed.includes(m)));
129
+ }
130
+ //# sourceMappingURL=known-local-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-local-models.js","sourceRoot":"","sources":["../src/known-local-models.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sFAAsF;AACtF,2CAA2C;AAC3C,EAAE;AACF,6FAA6F;AAC7F,4FAA4F;AAC5F,qFAAqF;AACrF,yFAAyF;AACzF,8EAA8E;AAC9E,EAAE;AACF,6FAA6F;AAC7F,8FAA8F;AAC9F,6FAA6F;AAC7F,EAAE;AACF,6FAA6F;AAC7F,8FAA8F;AAC9F,4FAA4F;AAC5F,+BAA+B;AAC/B,8EAA8E;AA6B9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D;QACE,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,cAAc;QACrB,yFAAyF;QACzF,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,SAAS;QAChB,2FAA2F;QAC3F,iEAAiE;QACjE,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,WAAW;QAClB,0FAA0F;QAC1F,uFAAuF;QACvF,4FAA4F;QAC5F,kCAAkC;QAClC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;QAC3E,aAAa,EAAE,IAAI;KACpB;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,SAAS;QAChB,uFAAuF;QACvF,gDAAgD;QAChD,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,aAAa,EAAE,IAAI;KACpB;IACD;QACE,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,CAAC,WAAW,CAAC;QACpB,aAAa,EAAE,IAAI;KACpB;CACF,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GACnB,qGAAqG,CAAA;AAEvG;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;IACzC,OAAO,OAAO;SACX,WAAW,EAAE;SACb,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnE,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,EAA6B;IAC3D,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAA;IACzB,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAA;IAClC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAC/B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC1F,CAAC"}
@@ -9,6 +9,30 @@ export declare function isLocalRunner(provider: string): boolean;
9
9
  export declare const LOCAL_RUNNER_DEFAULTS: Record<LocalRunner, string | null>;
10
10
  /** Short display label per runner, shown in the picker as the provider label. */
11
11
  export declare const LOCAL_RUNNER_LABELS: Record<LocalRunner, string>;
12
+ /**
13
+ * One model a user has ENABLED on a runner, plus what they have DECLARED about it.
14
+ *
15
+ * The id alone is not enough, because a local model is not in the curated catalog: nothing
16
+ * upstream knows whether `muse-glimmer:30b` reads images the way a `MODEL_CATALOG` entry's
17
+ * flavour declares it. The OpenAI-compatible `/models` probe cannot answer it either (it
18
+ * returns ids and nothing else), so the person who pulled the weights is the only source
19
+ * there is, and this is where they say so.
20
+ *
21
+ * `acceptsImages` is deliberately THREE-STATE, mirroring `ModelRef.acceptsImages`:
22
+ * `true` (the runner serves it with image input), `false` (declared text-only) and ABSENT
23
+ * (nobody has said). The third is the default and is NOT a "no": a run withholds the design
24
+ * renders either way, but reports `unknown_model_image_input` rather than
25
+ * `model_no_image_input`, which is the difference between "declare it and this works" and
26
+ * "this model cannot". Collapsing them would let a multimodal local model read as text-only
27
+ * forever with nothing saying the platform never asked.
28
+ */
29
+ export declare const localModelDeclarationSchema: v.ObjectSchema<{
30
+ /** The model id as the runner serves it (e.g. `muse-glimmer:30b`). */
31
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
32
+ /** Whether this runner serves the model with IMAGE input. Absent ⇒ not declared. */
33
+ readonly acceptsImages: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
34
+ }, undefined>;
35
+ export type LocalModelDeclaration = v.InferOutput<typeof localModelDeclarationSchema>;
12
36
  /**
13
37
  * Why a runner base URL is refused by the deployment's local-runner policy. The SPA maps
14
38
  * each member to translated copy (`localModels.urlReason.*`), so the operator-facing
@@ -29,8 +53,20 @@ export declare const localModelEndpointSchema: v.ObjectSchema<{
29
53
  readonly baseUrl: v.StringSchema<undefined>;
30
54
  /** Whether a (write-only) API key is stored for this endpoint. */
31
55
  readonly hasApiKey: v.BooleanSchema<undefined>;
32
- /** The model ids the user has enabled from this runner (surfaced in the picker). */
33
- readonly models: v.ArraySchema<v.StringSchema<undefined>, undefined>;
56
+ /** The models the user has enabled from this runner, with what they declared about each. */
57
+ readonly models: v.ArraySchema<v.ObjectSchema<{
58
+ /** The model id as the runner serves it (e.g. `muse-glimmer:30b`). */
59
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
60
+ /** Whether this runner serves the model with IMAGE input. Absent ⇒ not declared. */
61
+ readonly acceptsImages: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
62
+ }, undefined>, undefined>;
63
+ /**
64
+ * Whether part of this endpoint's stored model list could not be READ and was discarded (a row
65
+ * written before declarations existed held bare strings). Reported rather than swallowed because
66
+ * a discarded list and a runner nobody enabled a model on are the same `models: []` and opposite
67
+ * facts: only one of them is fixed by re-ticking, and nothing else anywhere would say so.
68
+ */
69
+ readonly unreadableModels: v.BooleanSchema<undefined>;
34
70
  /**
35
71
  * Why this stored endpoint is currently unusable under the deployment's runner-URL
36
72
  * policy, or `null` when it is fine. A row written while LAN hosts were permitted must
@@ -49,7 +85,12 @@ export declare const upsertLocalModelEndpointSchema: v.ObjectSchema<{
49
85
  readonly baseUrl: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 300, undefined>, v.UrlAction<string, undefined>]>;
50
86
  /** Optional bearer key (most local runners ignore it); stored encrypted at rest. */
51
87
  readonly apiKey: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 400, undefined>]>, undefined>;
52
- readonly models: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
88
+ readonly models: v.ArraySchema<v.ObjectSchema<{
89
+ /** The model id as the runner serves it (e.g. `muse-glimmer:30b`). */
90
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
91
+ /** Whether this runner serves the model with IMAGE input. Absent ⇒ not declared. */
92
+ readonly acceptsImages: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
93
+ }, undefined>, undefined>;
53
94
  }, undefined>;
54
95
  export type UpsertLocalModelEndpointInput = v.InferOutput<typeof upsertLocalModelEndpointSchema>;
55
96
  /** Probe a runner endpoint for reachability + the models it currently serves. */
@@ -62,7 +103,11 @@ export type TestLocalModelEndpointInput = v.InferOutput<typeof testLocalModelEnd
62
103
  /** The result of probing a runner endpoint's `/models`. */
63
104
  export declare const localModelEndpointTestResultSchema: v.ObjectSchema<{
64
105
  readonly reachable: v.BooleanSchema<undefined>;
65
- /** Model ids the runner reports (empty when unreachable). */
106
+ /**
107
+ * Model ids the runner reports (empty when unreachable). Bare ids, NOT declarations: the
108
+ * probe reads an OpenAI-compatible `/models` list, which carries no modality, and inventing
109
+ * one here would put a guess where {@link localModelDeclarationSchema} keeps an absence.
110
+ */
66
111
  readonly models: v.ArraySchema<v.StringSchema<undefined>, undefined>;
67
112
  /** Human-readable failure reason when `reachable` is false. */
68
113
  readonly error: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"localModels.d.ts","sourceRoot":"","sources":["../src/localModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B,oFAAoF;AACpF,eAAO,MAAM,aAAa,YAAI,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAC1F,eAAO,MAAM,iBAAiB,4FAA4B,CAAA;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAMpE,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAM3D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,YACnC,aAAa,EACb,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,mBAAmB,EACnB,gBAAgB,CACR,CAAA;AACV,eAAO,MAAM,0BAA0B,gLAAuC,CAAA;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;IAInC,kEAAkE;;IAElE,oFAAoF;;IAEpF;;;;;OAKG;;;;aAIH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAO/E,qFAAqF;AACrF,eAAO,MAAM,8BAA8B;;;;IAIzC,oFAAoF;;;aAGpF,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAEhG,iFAAiF;AACjF,eAAO,MAAM,4BAA4B;;;;aAIvC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAE5F,2DAA2D;AAC3D,eAAO,MAAM,kCAAkC;;IAE7C,6DAA6D;;IAE7D,+DAA+D;;IAE/D;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kCAAkC,CAAC,CAAA"}
1
+ {"version":3,"file":"localModels.d.ts","sourceRoot":"","sources":["../src/localModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B,oFAAoF;AACpF,eAAO,MAAM,aAAa,YAAI,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAC1F,eAAO,MAAM,iBAAiB,4FAA4B,CAAA;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAMpE,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAM3D,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B;IACtC,sEAAsE;;IAEtE,oFAAoF;;aAEpF,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,YACnC,aAAa,EACb,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,mBAAmB,EACnB,gBAAgB,CACR,CAAA;AACV,eAAO,MAAM,0BAA0B,gLAAuC,CAAA;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;IAInC,kEAAkE;;IAElE,4FAA4F;;QAnC5F,sEAAsE;;QAEtE,oFAAoF;;;IAmCpF;;;;;OAKG;;IAEH;;;;;OAKG;;;;aAIH,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAM/E,qFAAqF;AACrF,eAAO,MAAM,8BAA8B;;;;IAIzC,oFAAoF;;;QAjEpF,sEAAsE;;QAEtE,oFAAoF;;;aAkEpF,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAEhG,iFAAiF;AACjF,eAAO,MAAM,4BAA4B;;;;aAIvC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAE5F,2DAA2D;AAC3D,eAAO,MAAM,kCAAkC;;IAE7C;;;;OAIG;;IAEH,+DAA+D;;IAE/D;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kCAAkC,CAAC,CAAA"}
@@ -34,6 +34,29 @@ export const LOCAL_RUNNER_LABELS = {
34
34
  vllm: 'vLLM',
35
35
  custom: 'Custom',
36
36
  };
37
+ /**
38
+ * One model a user has ENABLED on a runner, plus what they have DECLARED about it.
39
+ *
40
+ * The id alone is not enough, because a local model is not in the curated catalog: nothing
41
+ * upstream knows whether `muse-glimmer:30b` reads images the way a `MODEL_CATALOG` entry's
42
+ * flavour declares it. The OpenAI-compatible `/models` probe cannot answer it either (it
43
+ * returns ids and nothing else), so the person who pulled the weights is the only source
44
+ * there is, and this is where they say so.
45
+ *
46
+ * `acceptsImages` is deliberately THREE-STATE, mirroring `ModelRef.acceptsImages`:
47
+ * `true` (the runner serves it with image input), `false` (declared text-only) and ABSENT
48
+ * (nobody has said). The third is the default and is NOT a "no": a run withholds the design
49
+ * renders either way, but reports `unknown_model_image_input` rather than
50
+ * `model_no_image_input`, which is the difference between "declare it and this works" and
51
+ * "this model cannot". Collapsing them would let a multimodal local model read as text-only
52
+ * forever with nothing saying the platform never asked.
53
+ */
54
+ export const localModelDeclarationSchema = v.object({
55
+ /** The model id as the runner serves it (e.g. `muse-glimmer:30b`). */
56
+ id: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200)),
57
+ /** Whether this runner serves the model with IMAGE input. Absent ⇒ not declared. */
58
+ acceptsImages: v.optional(v.boolean()),
59
+ });
37
60
  /**
38
61
  * Why a runner base URL is refused by the deployment's local-runner policy. The SPA maps
39
62
  * each member to translated copy (`localModels.urlReason.*`), so the operator-facing
@@ -60,8 +83,15 @@ export const localModelEndpointSchema = v.object({
60
83
  baseUrl: v.string(),
61
84
  /** Whether a (write-only) API key is stored for this endpoint. */
62
85
  hasApiKey: v.boolean(),
63
- /** The model ids the user has enabled from this runner (surfaced in the picker). */
64
- models: v.array(v.string()),
86
+ /** The models the user has enabled from this runner, with what they declared about each. */
87
+ models: v.array(localModelDeclarationSchema),
88
+ /**
89
+ * Whether part of this endpoint's stored model list could not be READ and was discarded (a row
90
+ * written before declarations existed held bare strings). Reported rather than swallowed because
91
+ * a discarded list and a runner nobody enabled a model on are the same `models: []` and opposite
92
+ * facts: only one of them is fixed by re-ticking, and nothing else anywhere would say so.
93
+ */
94
+ unreadableModels: v.boolean(),
65
95
  /**
66
96
  * Why this stored endpoint is currently unusable under the deployment's runner-URL
67
97
  * policy, or `null` when it is fine. A row written while LAN hosts were permitted must
@@ -75,7 +105,6 @@ export const localModelEndpointSchema = v.object({
75
105
  const baseUrlSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(300), v.url());
76
106
  const labelSchema = v.pipe(v.string(), v.trim(), v.maxLength(60));
77
107
  const apiKeySchema = v.pipe(v.string(), v.maxLength(400));
78
- const modelIdSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200));
79
108
  /** Create or replace the signed-in user's endpoint for a runner (one per runner). */
80
109
  export const upsertLocalModelEndpointSchema = v.object({
81
110
  provider: localRunnerSchema,
@@ -83,7 +112,7 @@ export const upsertLocalModelEndpointSchema = v.object({
83
112
  baseUrl: baseUrlSchema,
84
113
  /** Optional bearer key (most local runners ignore it); stored encrypted at rest. */
85
114
  apiKey: v.optional(apiKeySchema),
86
- models: v.array(modelIdSchema),
115
+ models: v.array(localModelDeclarationSchema),
87
116
  });
88
117
  /** Probe a runner endpoint for reachability + the models it currently serves. */
89
118
  export const testLocalModelEndpointSchema = v.object({
@@ -94,7 +123,11 @@ export const testLocalModelEndpointSchema = v.object({
94
123
  /** The result of probing a runner endpoint's `/models`. */
95
124
  export const localModelEndpointTestResultSchema = v.object({
96
125
  reachable: v.boolean(),
97
- /** Model ids the runner reports (empty when unreachable). */
126
+ /**
127
+ * Model ids the runner reports (empty when unreachable). Bare ids, NOT declarations: the
128
+ * probe reads an OpenAI-compatible `/models` list, which carries no modality, and inventing
129
+ * one here would put a guess where {@link localModelDeclarationSchema} keeps an absence.
130
+ */
98
131
  models: v.array(v.string()),
99
132
  /** Human-readable failure reason when `reachable` is false. */
100
133
  error: v.optional(v.string()),
@@ -1 +1 @@
1
- {"version":3,"file":"localModels.js","sourceRoot":"","sources":["../src/localModels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localModels.js","sourceRoot":"","sources":["../src/localModels.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,152 @@ export declare const publicBootstrapJobSchema: v.ObjectSchema<{
94
94
  readonly updatedAt: v.NumberSchema<undefined>;
95
95
  }, undefined>;
96
96
  export type PublicBootstrapJob = v.InferOutput<typeof publicBootstrapJobSchema>;
97
+ /**
98
+ * A repository the workspace's connection can reach, whether or not this workspace links it yet.
99
+ *
100
+ * The discovery read for adoption, and a superset of {@link publicRepoSchema}'s population by
101
+ * design: that one lists what is linked (so every row carries a `repoId` a service can be created
102
+ * against), this one lists what COULD be. `linked` is the join between them.
103
+ *
104
+ * A small projection, like every other shape here: enough to recognise a repository, decide whether
105
+ * to adopt it, and name it in the adopt call. It carries `serviceId` and `linkedElsewhere` for the
106
+ * same reason `GET /api/v1/repos` does, and derived by the same account-scoped judgement: whether a
107
+ * repository is SPOKEN FOR is the question a caller asks immediately after "can I reach it", and the
108
+ * answer does not depend on this workspace having linked it. A repository already backing a service
109
+ * on another board of the account is unusable here, so a discovery read that could not say so would
110
+ * green-light an adopt whose next call fails.
111
+ */
112
+ export declare const publicAvailableRepoSchema: v.ObjectSchema<{
113
+ /** The provider's id for the repo, as `GET /api/v1/repos` reports it once linked. */
114
+ readonly repoId: v.NumberSchema<undefined>;
115
+ readonly provider: v.PicklistSchema<["github", "gitlab"], undefined>;
116
+ readonly owner: v.StringSchema<undefined>;
117
+ readonly name: v.StringSchema<undefined>;
118
+ /** The branch a run would base its work on. Empty when the provider reports none. */
119
+ readonly defaultBranch: v.StringSchema<undefined>;
120
+ readonly private: v.BooleanSchema<undefined>;
121
+ /** Whether THIS workspace already links it, i.e. whether it appears in `GET /api/v1/repos`. */
122
+ readonly linked: v.BooleanSchema<undefined>;
123
+ /**
124
+ * Whether it is flagged as hosting several services.
125
+ *
126
+ * A board-owned flag carried on the linked projection, so an unlinked repository answers false
127
+ * because nobody has flagged it, not because it was examined. `linked` is what says which of the
128
+ * two this is.
129
+ */
130
+ readonly monorepo: v.BooleanSchema<undefined>;
131
+ /**
132
+ * The service on THIS board that the repository already backs, or null.
133
+ *
134
+ * Null means "no service here holds it", which is not the same as free: read it with
135
+ * `linkedElsewhere`, exactly as on `GET /api/v1/repos`.
136
+ */
137
+ readonly serviceId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
138
+ /**
139
+ * True when a service homed on ANOTHER board of this account already backs it, so
140
+ * `POST /api/v1/services` will refuse it here.
141
+ *
142
+ * That service's id is withheld rather than reported, because it names a block this key cannot
143
+ * read. The flag is what stops the withholding reading as availability.
144
+ */
145
+ readonly linkedElsewhere: v.BooleanSchema<undefined>;
146
+ /**
147
+ * True when it is reachable only through the SIGNED-IN USER's own token rather than the
148
+ * workspace's connection.
149
+ *
150
+ * Always false on this surface, and published rather than omitted because it is the one field that
151
+ * says why a repository a person can see in the app may be missing here: an API key authenticates
152
+ * as the workspace, so a repository only somebody's personal token reaches is not reachable by a
153
+ * key at all. A caller comparing this list against what a colleague sees needs that stated.
154
+ */
155
+ readonly personal: v.BooleanSchema<undefined>;
156
+ }, undefined>;
157
+ export type PublicAvailableRepo = v.InferOutput<typeof publicAvailableRepoSchema>;
158
+ export declare const publicAvailableRepoListSchema: v.ObjectSchema<{
159
+ readonly repos: v.ArraySchema<v.ObjectSchema<{
160
+ /** The provider's id for the repo, as `GET /api/v1/repos` reports it once linked. */
161
+ readonly repoId: v.NumberSchema<undefined>;
162
+ readonly provider: v.PicklistSchema<["github", "gitlab"], undefined>;
163
+ readonly owner: v.StringSchema<undefined>;
164
+ readonly name: v.StringSchema<undefined>;
165
+ /** The branch a run would base its work on. Empty when the provider reports none. */
166
+ readonly defaultBranch: v.StringSchema<undefined>;
167
+ readonly private: v.BooleanSchema<undefined>;
168
+ /** Whether THIS workspace already links it, i.e. whether it appears in `GET /api/v1/repos`. */
169
+ readonly linked: v.BooleanSchema<undefined>;
170
+ /**
171
+ * Whether it is flagged as hosting several services.
172
+ *
173
+ * A board-owned flag carried on the linked projection, so an unlinked repository answers false
174
+ * because nobody has flagged it, not because it was examined. `linked` is what says which of the
175
+ * two this is.
176
+ */
177
+ readonly monorepo: v.BooleanSchema<undefined>;
178
+ /**
179
+ * The service on THIS board that the repository already backs, or null.
180
+ *
181
+ * Null means "no service here holds it", which is not the same as free: read it with
182
+ * `linkedElsewhere`, exactly as on `GET /api/v1/repos`.
183
+ */
184
+ readonly serviceId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
185
+ /**
186
+ * True when a service homed on ANOTHER board of this account already backs it, so
187
+ * `POST /api/v1/services` will refuse it here.
188
+ *
189
+ * That service's id is withheld rather than reported, because it names a block this key cannot
190
+ * read. The flag is what stops the withholding reading as availability.
191
+ */
192
+ readonly linkedElsewhere: v.BooleanSchema<undefined>;
193
+ /**
194
+ * True when it is reachable only through the SIGNED-IN USER's own token rather than the
195
+ * workspace's connection.
196
+ *
197
+ * Always false on this surface, and published rather than omitted because it is the one field that
198
+ * says why a repository a person can see in the app may be missing here: an API key authenticates
199
+ * as the workspace, so a repository only somebody's personal token reaches is not reachable by a
200
+ * key at all. A caller comparing this list against what a colleague sees needs that stated.
201
+ */
202
+ readonly personal: v.BooleanSchema<undefined>;
203
+ }, undefined>, undefined>;
204
+ /**
205
+ * True when a provider read behind this list stopped at a cap, so repositories the connection can
206
+ * reach are missing from `repos`.
207
+ *
208
+ * Published because an absent row is the one observation this read exists to make actionable, and
209
+ * a capped browse produces an absent row for a repository that exists, is reachable, and would
210
+ * link fine. Without this flag those two are the same answer, and a caller told "one that does not
211
+ * exist appears in neither read" would conclude the wrong one.
212
+ *
213
+ * A point-read (`q=owner/name`) is never truncated: it resolves the exact slug directly, which is
214
+ * why it is the authoritative way to ask about ONE repository, and why a truncated browse is a
215
+ * reason to narrow the query rather than to give up.
216
+ */
217
+ readonly truncated: v.BooleanSchema<undefined>;
218
+ }, undefined>;
219
+ export type PublicAvailableRepoList = v.InferOutput<typeof publicAvailableRepoListSchema>;
220
+ /**
221
+ * Adopt a repository into this workspace, by name.
222
+ *
223
+ * By NAME rather than by the `repoId` its sibling reads report, and that asymmetry is deliberate: a
224
+ * caller setting a workspace up from configuration knows `owner/name` (a person typed it, or a
225
+ * template holds it) and cannot know a provider's numeric id for a repository no public read lists.
226
+ * Taking the name makes this one call sufficient, so a headless setup never has to search first, and
227
+ * the response carries the `repoId` for the `POST /api/v1/services` call that follows.
228
+ *
229
+ * The owner is required rather than defaulted to the connected account, because an installation can
230
+ * reach several owners and a request that guessed one would silently adopt a look-alike.
231
+ */
232
+ export declare const linkPublicRepoSchema: v.ObjectSchema<{
233
+ /**
234
+ * The account the repository lives under, exactly as `GET /api/v1/repos/available` reports it:
235
+ * a user or organisation on GitHub, and on GitLab a namespace PATH, which may name a group and
236
+ * its subgroups (`group/subgroup`).
237
+ */
238
+ readonly owner: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "Only letters, digits, '.', '_', '-' and '/' between segments are allowed">, v.CheckAction<string, "No path segment may be '.' or '..'">, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 255, undefined>]>;
239
+ /** The repository's name, matched case-insensitively as both providers treat it. */
240
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.RegexAction<string, "Only letters, digits, '.', '_' and '-' are allowed">, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 100, undefined>]>;
241
+ }, undefined>;
242
+ export type LinkPublicRepoInput = v.InferOutput<typeof linkPublicRepoSchema>;
97
243
  /**
98
244
  * How the manifests at `path` are rendered. `raw` (the default) treats the path as a manifest file
99
245
  * or a flat directory of valid YAML; `kustomize` treats it as an overlay directory, which only the
@@ -1 +1 @@
1
- {"version":3,"file":"public-provisioning.d.ts","sourceRoot":"","sources":["../src/public-provisioning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-provisioning.d.ts","sourceRoot":"","sources":["../src/public-provisioning.ts"],"names":[],"mappings":"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"}