@kortix/sdk 0.12.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/core/client/kortix.d.ts +1 -0
  2. package/dist/core/client/kortix.d.ts.map +1 -1
  3. package/dist/core/client/kortix.js +1 -0
  4. package/dist/core/client/kortix.js.map +1 -1
  5. package/dist/core/rest/projects-client/channels.d.ts +4 -0
  6. package/dist/core/rest/projects-client/channels.d.ts.map +1 -1
  7. package/dist/core/rest/projects-client/channels.js.map +1 -1
  8. package/dist/core/rest/projects-client/github.d.ts +7 -1
  9. package/dist/core/rest/projects-client/github.d.ts.map +1 -1
  10. package/dist/core/rest/projects-client/github.js.map +1 -1
  11. package/dist/core/rest/projects-client/index.d.ts +1 -0
  12. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  13. package/dist/core/rest/projects-client/index.js +1 -0
  14. package/dist/core/rest/projects-client/index.js.map +1 -1
  15. package/dist/core/rest/projects-client/model-enablement.d.ts +9 -0
  16. package/dist/core/rest/projects-client/model-enablement.d.ts.map +1 -0
  17. package/dist/core/rest/projects-client/model-enablement.js +16 -0
  18. package/dist/core/rest/projects-client/model-enablement.js.map +1 -0
  19. package/dist/core/rest/projects-client/projects.d.ts +82 -3
  20. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  21. package/dist/core/rest/projects-client/projects.js +8 -0
  22. package/dist/core/rest/projects-client/projects.js.map +1 -1
  23. package/dist/core/rest/projects-client/secrets.d.ts +16 -0
  24. package/dist/core/rest/projects-client/secrets.d.ts.map +1 -1
  25. package/dist/core/rest/projects-client/secrets.js +3 -0
  26. package/dist/core/rest/projects-client/secrets.js.map +1 -1
  27. package/dist/core/rest/projects-client/session-costs.d.ts +131 -1
  28. package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -1
  29. package/dist/core/rest/projects-client/session-costs.js +83 -4
  30. package/dist/core/rest/projects-client/session-costs.js.map +1 -1
  31. package/dist/core/rest/projects-client/session-sandbox.d.ts +8 -0
  32. package/dist/core/rest/projects-client/session-sandbox.d.ts.map +1 -1
  33. package/dist/core/rest/projects-client/session-sandbox.js.map +1 -1
  34. package/dist/core/rest/projects-client/sessions.d.ts +43 -1
  35. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  36. package/dist/core/rest/projects-client/sessions.js +8 -0
  37. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  38. package/dist/kortix.esm.min.js +16 -16
  39. package/dist/kortix.global.js +16 -16
  40. package/dist/react/index.d.ts +1 -1
  41. package/dist/react/index.d.ts.map +1 -1
  42. package/dist/react/index.js.map +1 -1
  43. package/dist/react/model-flatten.d.ts +16 -4
  44. package/dist/react/model-flatten.d.ts.map +1 -1
  45. package/dist/react/model-flatten.js +12 -1
  46. package/dist/react/model-flatten.js.map +1 -1
  47. package/dist/react/opencode.d.ts +3 -2
  48. package/dist/react/opencode.d.ts.map +1 -1
  49. package/dist/react/opencode.js +3 -2
  50. package/dist/react/opencode.js.map +1 -1
  51. package/dist/react/provider-selection.d.ts +9 -0
  52. package/dist/react/provider-selection.d.ts.map +1 -1
  53. package/dist/react/provider-selection.js +23 -0
  54. package/dist/react/provider-selection.js.map +1 -1
  55. package/dist/react/session-title-sync.js +1 -1
  56. package/dist/react/session-title-sync.js.map +1 -1
  57. package/dist/react/use-model-enablement.d.ts +25 -0
  58. package/dist/react/use-model-enablement.d.ts.map +1 -0
  59. package/dist/react/use-model-enablement.js +92 -0
  60. package/dist/react/use-model-enablement.js.map +1 -0
  61. package/dist/react/use-opencode-local.d.ts +5 -4
  62. package/dist/react/use-opencode-local.d.ts.map +1 -1
  63. package/dist/react/use-opencode-local.js +20 -37
  64. package/dist/react/use-opencode-local.js.map +1 -1
  65. package/dist/react/use-session-send.d.ts +2 -0
  66. package/dist/react/use-session-send.d.ts.map +1 -1
  67. package/dist/react/use-session-send.js +3 -1
  68. package/dist/react/use-session-send.js.map +1 -1
  69. package/dist/react/use-session.d.ts +26 -1
  70. package/dist/react/use-session.d.ts.map +1 -1
  71. package/dist/react/use-session.js +65 -0
  72. package/dist/react/use-session.js.map +1 -1
  73. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  export * from './opencode.js';
2
- export { answerQuestion, answerPermission, rejectQuestion, classifySendError, type KortixSendError, type KortixSendErrorKind, type SendState, } from './use-session.js';
2
+ export { answerQuestion, answerPermission, rejectQuestion, classifySendError, type KortixSendError, type KortixSendErrorConnector, type KortixSendErrorKind, type SendState, } from './use-session.js';
3
3
  export { BillingError, RequestTooLargeError, parseBillingError, isBillingError, formatBillingErrorForUI, type BillingErrorUI, } from '../core/http/api/errors.js';
4
4
  export { openEventStream, type EventStreamClient, type EventStreamHandle, type EventStreamTimers, type OpenCodeEvent, type OpenEventStreamOptions, } from '../core/stream/event-stream.js';
5
5
  export * from './use-kortix-master.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,cAAc,qBAAqB,CAAC;AAMpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAMhG,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,6BAA6B,CAAC;AAOrC,cAAc,qBAAqB,CAAC;AAMpC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAMhG,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,0EAA0E;AAC1E,gFAAgF;AAChF,qEAAqE;AACrE,cAAc,YAAY,CAAC;AAE3B,+EAA+E;AAC/E,qEAAqE;AACrE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAIlB,MAAM,eAAe,CAAC;AAEvB,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AAEjC,8EAA8E;AAC9E,0EAA0E;AAC1E,uEAAuE;AACvE,iEAAiE;AACjE,8BAA8B;AAC9B,OAAO,EACL,eAAe,GAMhB,MAAM,6BAA6B,CAAC;AAErC,0EAA0E;AAC1E,8DAA8D;AAC9D,sEAAsE;AACtE,yEAAyE;AACzE,4EAA4E;AAC5E,cAAc,qBAAqB,CAAC;AAEpC,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,GAajB,MAAM,oBAAoB,CAAC;AAE5B,yEAAyE;AACzE,mEAAmE;AACnE,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAiB,WAAW,EAAsB,MAAM,QAAQ,CAAC;AAEtF,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,oDAAoD;AACpD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEhG,8EAA8E;AAC9E,gFAAgF;AAChF,uEAAuE;AACvE,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,0EAA0E;AAC1E,gFAAgF;AAChF,qEAAqE;AACrE,cAAc,YAAY,CAAC;AAE3B,+EAA+E;AAC/E,qEAAqE;AACrE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAKlB,MAAM,eAAe,CAAC;AAEvB,qEAAqE;AACrE,8EAA8E;AAC9E,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AAEjC,8EAA8E;AAC9E,0EAA0E;AAC1E,uEAAuE;AACvE,iEAAiE;AACjE,8BAA8B;AAC9B,OAAO,EACL,eAAe,GAMhB,MAAM,6BAA6B,CAAC;AAErC,0EAA0E;AAC1E,8DAA8D;AAC9D,sEAAsE;AACtE,yEAAyE;AACzE,4EAA4E;AAC5E,cAAc,qBAAqB,CAAC;AAEpC,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,GAajB,MAAM,oBAAoB,CAAC;AAE5B,yEAAyE;AACzE,mEAAmE;AACnE,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAiB,WAAW,EAAsB,MAAM,QAAQ,CAAC;AAEtF,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,oDAAoD;AACpD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEhG,8EAA8E;AAC9E,gFAAgF;AAChF,uEAAuE;AACvE,wEAAwE;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -54,12 +54,24 @@ export interface FlatModel {
54
54
  lastUpdated?: string;
55
55
  /**
56
56
  * Whether the project OFFERS this model. Server-owned per-project
57
- * enablement, resolved by the API and enforced by the gateway the picker
58
- * renders the enabled ones and "Manage models" switches on this flag.
59
- * Neither re-derives it. Undefined on catalogs that don't carry enablement
60
- * (anything but `/model-picker`), which callers read as "not applicable".
57
+ * enablement, resolved by the API (`/model-picker`) the picker renders the
58
+ * enabled ones and "Manage models" switches on this flag. Neither re-derives
59
+ * it, and the gateway never refuses a request over it (display-only).
60
+ * Undefined on catalogs that don't carry enablement (anything but
61
+ * `/model-picker`), which callers read as "not applicable".
61
62
  */
62
63
  enabled?: boolean;
63
64
  }
65
+ /**
66
+ * Whether `key` may be offered/resolved from `models` — present in the catalog
67
+ * and not turned off by the server's per-project enablement (`enabled` above).
68
+ * THE one predicate for "is this model selectable?"; a second, client-local
69
+ * visibility heuristic beside it is exactly what made the session picker and
70
+ * "Manage models" disagree.
71
+ */
72
+ export declare function isOfferedModel(models: FlatModel[], key: {
73
+ providerID: string;
74
+ modelID: string;
75
+ }): boolean;
64
76
  export declare function flattenModels(providers: ProviderListResponse | undefined): FlatModel[];
65
77
  //# sourceMappingURL=model-flatten.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-flatten.d.ts","sourceRoot":"","sources":["../../src/react/model-flatten.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAsC1F;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,4DAA4D;IAC5D,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iCAC6B;IAC7B,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1F,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;wEACoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD,wBAAgB,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAAE,CA0DtF"}
1
+ {"version":3,"file":"model-flatten.d.ts","sourceRoot":"","sources":["../../src/react/model-flatten.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAsC1F;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,4DAA4D;IAC5D,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iCAC6B;IAC7B,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1F,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;wEACoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EAAE,EACnB,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAGT;AAiBD,wBAAgB,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAAG,SAAS,EAAE,CA0DtF"}
@@ -2,6 +2,17 @@ import { GATEWAY_PROVIDER_IDS } from './use-opencode-sessions/index.js';
2
2
  function hasCapabilities(model) {
3
3
  return 'capabilities' in model && model.capabilities != null;
4
4
  }
5
+ /**
6
+ * Whether `key` may be offered/resolved from `models` — present in the catalog
7
+ * and not turned off by the server's per-project enablement (`enabled` above).
8
+ * THE one predicate for "is this model selectable?"; a second, client-local
9
+ * visibility heuristic beside it is exactly what made the session picker and
10
+ * "Manage models" disagree.
11
+ */
12
+ export function isOfferedModel(models, key) {
13
+ const model = models.find((m) => m.providerID === key.providerID && m.modelID === key.modelID);
14
+ return !!model && model.enabled !== false;
15
+ }
5
16
  export function flattenModels(providers) {
6
17
  if (!providers)
7
18
  return [];
@@ -34,7 +45,7 @@ export function flattenModels(providers) {
34
45
  else {
35
46
  capabilities = {
36
47
  reasoning: model.reasoning ?? false,
37
- vision: model.modalities?.input?.includes('image') ?? false,
48
+ vision: model.modalities?.input?.includes('image') ?? model.attachment ?? false,
38
49
  toolcall: model.tool_call ?? false,
39
50
  };
40
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-flatten.js","sourceRoot":"","sources":["../../src/react/model-flatten.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-flatten.js","sourceRoot":"","sources":["../../src/react/model-flatten.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAA6B,MAAM,yBAAyB,CAAC;AAkC1F,SAAS,eAAe,CAAC,KAAiB;IACxC,OAAO,cAAc,IAAI,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;AAC/D,CAAC;AA6DD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAmB,EACnB,GAA4C;IAE5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/F,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC;AAC5C,CAAC;AAiBD,MAAM,UAAU,aAAa,CAAC,SAA2C;IACvE,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QACxC,wEAAwE;QACxE,6EAA6E;QAC7E,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAgC,EAAE,CAAC;YACvF,0EAA0E;YAC1E,yDAAyD;YACzD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa;gBAAE,SAAS;YAC9D,oEAAoE;YACpE,mEAAmE;YACnE,IAAI,YAAuC,CAAC;YAC5C,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;gBAChC,YAAY,GAAG;oBACb,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;oBAClC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK;oBAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;iBACjC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG;oBACb,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK;oBACnC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAK,KAA2B,CAAC,UAAU,IAAI,KAAK;oBACtG,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK;iBACnC,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,UAAU,EAAE,CAAC,CAAC,EAAE;gBAChB,YAAY,EAAE,CAAC,CAAC,IAAI;gBACpB,OAAO;gBACP,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;gBACjE,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,YAAY;gBACZ,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO;gBACnC,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBACd,CAAC,CAAC;wBACE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;wBAC5B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;qBAC/B;oBACH,CAAC,CAAC,SAAS;gBACb,cAAc,EAAE,CAAC,CAAC,MAAM;gBACxB,QAAQ,EAAG,KAA2B,CAAC,QAAQ;gBAC/C,gBAAgB,EAAG,KAA2B,CAAC,iBAAiB;gBAChE,WAAW,EAAG,KAA2B,CAAC,WAAW;gBACrD,WAAW,EAAG,KAA2B,CAAC,YAAY;gBACtD,WAAW,EAAG,KAA2B,CAAC,YAAY;gBACtD,OAAO,EAAG,KAA2B,CAAC,OAAO;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -16,6 +16,7 @@ export * from './use-opencode-sessions/index.js';
16
16
  export * from './use-opencode-events/index.js';
17
17
  export * from './use-opencode-local.js';
18
18
  export * from './use-model-defaults.js';
19
+ export * from './use-model-enablement.js';
19
20
  export * from './use-session-model-selection.js';
20
21
  export * from './use-opencode-mcp.js';
21
22
  export * from './use-opencode-pty.js';
@@ -52,8 +53,8 @@ export * from './use-canonical-opencode-session.js';
52
53
  export * from './use-gateway-catalog-sync.js';
53
54
  export * from './use-visible-agents.js';
54
55
  export * from './provider-refresh.js';
55
- export { flattenModels, type FlatModel } from './model-flatten.js';
56
- export { GATEWAY_PROVIDER_IDS, LLM_PROVIDER_CREDENTIALS, connectedGatewayProviderIdsFromSecretNames, filterToGatewayProviders, filterToNativeProviders, mergeProjectSecretConnectedProviders, mergeProviderLists, normalizeProviderList, projectLlmCatalogToProviderList, providerListHasGateway, providerListHasModels, } from './provider-selection.js';
56
+ export { flattenModels, isOfferedModel, type FlatModel } from './model-flatten.js';
57
+ export { GATEWAY_PROVIDER_IDS, LLM_PROVIDER_CREDENTIALS, connectedGatewayProviderIdsFromSecretNames, filterToGatewayProviders, applyEnablementToProviderList, filterToNativeProviders, mergeProjectSecretConnectedProviders, mergeProviderLists, normalizeProviderList, projectLlmCatalogToProviderList, providerListHasGateway, providerListHasModels, } from './provider-selection.js';
57
58
  export { useProjectModels } from './use-project-models.js';
58
59
  export { useProjectConfig } from './use-project-config.js';
59
60
  export type { ProjectConfigSummary } from '../core/rest/projects-client/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export * from './use-opencode-sessions/index.js';
37
37
  export * from './use-opencode-events/index.js';
38
38
  export * from './use-opencode-local.js';
39
39
  export * from './use-model-defaults.js';
40
+ export * from './use-model-enablement.js';
40
41
  export * from './use-session-model-selection.js';
41
42
  export * from './use-opencode-mcp.js';
42
43
  export * from './use-opencode-pty.js';
@@ -104,8 +105,8 @@ export * from './provider-refresh.js';
104
105
  // picker BEFORE a session runtime exists (e.g. on a "new session" screen) by
105
106
  // feeding `project(id).llmCatalog()` through these, with correct provider/model
106
107
  // ids — no guessing the gateway-vs-BYOK key format.
107
- export { flattenModels } from './model-flatten.js';
108
- export { GATEWAY_PROVIDER_IDS, LLM_PROVIDER_CREDENTIALS, connectedGatewayProviderIdsFromSecretNames, filterToGatewayProviders, filterToNativeProviders, mergeProjectSecretConnectedProviders, mergeProviderLists, normalizeProviderList, projectLlmCatalogToProviderList, providerListHasGateway, providerListHasModels, } from './provider-selection.js';
108
+ export { flattenModels, isOfferedModel } from './model-flatten.js';
109
+ export { GATEWAY_PROVIDER_IDS, LLM_PROVIDER_CREDENTIALS, connectedGatewayProviderIdsFromSecretNames, filterToGatewayProviders, applyEnablementToProviderList, filterToNativeProviders, mergeProjectSecretConnectedProviders, mergeProviderLists, normalizeProviderList, projectLlmCatalogToProviderList, providerListHasGateway, providerListHasModels, } from './provider-selection.js';
109
110
  export { useProjectModels } from './use-project-models.js';
110
111
  export { useProjectConfig } from './use-project-config.js';
111
112
  // ── The one-hook session surface ─────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/react/opencode.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;;GAYG;AAEH,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,kFAAkF;AAClF,6EAA6E;AAC7E,0BAA0B;AAC1B,EAAE;AACF,gEAAgE;AAChE,iFAAiF;AACjF,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAChF,yEAAyE;AACzE,8EAA8E;AAC9E,yEAAyE;AACzE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACjF,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EACL,yBAAyB,IAAI,wBAAwB,EACrD,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,IAAI,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAChG,OAAO,EACL,qBAAqB,IAAI,oBAAoB,EAC7C,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,IAAI,iBAAiB,EACvC,sBAAsB,IAAI,qBAAqB,EAC/C,sBAAsB,IAAI,qBAAqB,EAC/C,mBAAmB,IAAI,kBAAkB,GAC1C,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,uBAAuB,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,sBAAsB,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,gBAAgB,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,wBAAwB,IAAI,uBAAuB,EACnD,2BAA2B,IAAI,0BAA0B,GAC1D,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACrG,OAAO,EACL,wBAAwB,IAAI,uBAAuB,EACnD,2BAA2B,IAAI,0BAA0B,GAC1D,MAAM,kCAAkC,CAAC;AAC1C,4EAA4E;AAC5E,+CAA+C;AAC/C,sEAAsE;AACtE,+EAA+E;AAC/E,8EAA8E;AAC9E,4EAA4E;AAC5E,4DAA4D;AAC5D,yEAAyE;AACzE,2EAA2E;AAC3E,4BAA4B;AAC5B,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,2BAA2B;AAC3B,cAAc,yBAAyB,CAAC;AACxC,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,0CAA0C;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,uBAAuB,IAAI,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAC7G,OAAO,EACL,yBAAyB,GAG1B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,IAAI,yBAAyB,GACvD,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpF,cAAc,wBAAwB,CAAC;AACvC,+EAA+E;AAC/E,2EAA2E;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,oDAAoD;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,0CAA0C,EAC1C,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,oCAAoC,EACpC,kBAAkB,EAClB,qBAAqB,EACrB,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,8EAA8E;AAC9E,kFAAkF;AAClF,0DAA0D;AAC1D,OAAO,EACL,UAAU,GAIX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GAEvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,GAEnB,MAAM,uBAAuB,CAAC"}
@@ -33,5 +33,14 @@ export declare function mergeProjectSecretConnectedProviders(providers: Provider
33
33
  authRequirement: ProviderAuthRequirement;
34
34
  }>): ProviderListResponse;
35
35
  export declare function connectedGatewayProviderIdsFromSecretNames(secretNames: Set<string>): Set<string>;
36
+ /**
37
+ * Restamp `enabled` on a gateway ProviderListResponse from an overrides map
38
+ * (`wireModelId -> enabled`), touching only the models the map names. Pure —
39
+ * returns a new list. Used to optimistically update the cached
40
+ * `['project-providers', :id, 'gateway']` query when "Manage models" writes an
41
+ * override, so the session picker (which renders from THAT cache, staleTime
42
+ * Infinity) reflects the toggle without waiting for the refetch.
43
+ */
44
+ export declare function applyEnablementToProviderList(providers: ProviderListResponse, overrides: Record<string, boolean>): ProviderListResponse;
36
45
  export declare function projectLlmCatalogToProviderList(catalog: ProjectLlmCatalogResponse): ProviderListResponse;
37
46
  //# sourceMappingURL=provider-selection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-selection.d.ts","sourceRoot":"","sources":["../../src/react/provider-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAG7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAGE,CAAC;AAIJ,eAAO,MAAM,oBAAoB,aAAsB,CAAC;AAGxD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,oBAAoB,CAiC3F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAO1F;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAM3F;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,oBAAoB,CAS9F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,oBAAoB,GAC9B,oBAAoB,CAmBtB;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,oBAAoB,GAAG,oBAAoB,CAS7F;AAED,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,mBAAmB,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,uBAAuB,CAAA;CAAE,CAAC,GACnF,oBAAoB,CAuBtB;AAED,wBAAgB,0CAA0C,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAWhG;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,yBAAyB,GACjC,oBAAoB,CAmBtB"}
1
+ {"version":3,"file":"provider-selection.d.ts","sourceRoot":"","sources":["../../src/react/provider-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAG7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,uBAAuB,CAAC;CAC1C,CAGE,CAAC;AAIJ,eAAO,MAAM,oBAAoB,aAAsB,CAAC;AAGxD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,oBAAoB,CAiC3F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAO1F;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAM3F;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,oBAAoB,CAS9F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,oBAAoB,GAC9B,oBAAoB,CAmBtB;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,oBAAoB,GAAG,oBAAoB,CAS7F;AAED,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,mBAAmB,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,uBAAuB,CAAA;CAAE,CAAC,GACnF,oBAAoB,CAuBtB;AAED,wBAAgB,0CAA0C,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAWhG;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,oBAAoB,EAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,oBAAoB,CAgBtB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,yBAAyB,GACjC,oBAAoB,CAmBtB"}
@@ -141,6 +141,29 @@ export function connectedGatewayProviderIdsFromSecretNames(secretNames) {
141
141
  }
142
142
  return ids;
143
143
  }
144
+ /**
145
+ * Restamp `enabled` on a gateway ProviderListResponse from an overrides map
146
+ * (`wireModelId -> enabled`), touching only the models the map names. Pure —
147
+ * returns a new list. Used to optimistically update the cached
148
+ * `['project-providers', :id, 'gateway']` query when "Manage models" writes an
149
+ * override, so the session picker (which renders from THAT cache, staleTime
150
+ * Infinity) reflects the toggle without waiting for the refetch.
151
+ */
152
+ export function applyEnablementToProviderList(providers, overrides) {
153
+ const all = Array.isArray(providers.all) ? providers.all : [];
154
+ return {
155
+ ...providers,
156
+ all: all.map((provider) => ({
157
+ ...provider,
158
+ models: Object.fromEntries(Object.entries(provider.models ?? {}).map(([id, model]) => [
159
+ id,
160
+ overrides[id] === undefined
161
+ ? model
162
+ : { ...model, enabled: overrides[id] },
163
+ ])),
164
+ })),
165
+ };
166
+ }
144
167
  export function projectLlmCatalogToProviderList(catalog) {
145
168
  const models = Object.fromEntries(Object.entries(catalog.models ?? {}).filter(([modelId]) => modelId !== 'auto' && modelId !== 'kortix/auto'));
146
169
  const firstModelId = Object.keys(models)[0];
@@ -1 +1 @@
1
- {"version":3,"file":"provider-selection.js","sourceRoot":"","sources":["../../src/react/provider-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-selection.js","sourceRoot":"","sources":["../../src/react/provider-selection.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  const DEFAULT_TITLE_REFRESH_DELAYS_MS = [0, 5_000, 5_000, 10_000, 10_000, 15_000, 20_000];
2
2
  function readRealTitle(value) {
3
3
  const title = typeof value === 'string' ? value.trim() : '';
4
- if (!title || /^new session\b/i.test(title))
4
+ if (!title || /^new (?:session|agent)\b/i.test(title))
5
5
  return null;
6
6
  return title;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-title-sync.js","sourceRoot":"","sources":["../../src/react/session-title-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-title-sync.js","sourceRoot":"","sources":["../../src/react/session-title-sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface UseModelEnablement {
2
+ /** True while the project has made no exceptions to the catalog default. */
3
+ usingDefaults: boolean;
4
+ /**
5
+ * The model `auto` resolves to. It cannot be turned off, so render its switch
6
+ * locked rather than letting the user click into a 409.
7
+ */
8
+ defaultModel: string | undefined;
9
+ /** Pin a wire model on/off, as an exception to the default. */
10
+ setEnabled: (wireModel: string, enabled: boolean) => Promise<void>;
11
+ /** Drop every exception so the catalog default applies again. */
12
+ resetToDefaults: () => Promise<void>;
13
+ isUpdating: boolean;
14
+ }
15
+ /**
16
+ * Server-owned per-project model enablement. Every model served by
17
+ * `/model-picker` already carries its own resolved `enabled` flag — read THAT
18
+ * to render a switch or filter a list. This hook only handles the writes.
19
+ *
20
+ * Writes are EXCEPTIONS, never the resolved set: a project that pins its whole
21
+ * list would stop tracking "the latest", and every future model would arrive
22
+ * switched off.
23
+ */
24
+ export declare function useModelEnablement(projectId: string | null | undefined): UseModelEnablement;
25
+ //# sourceMappingURL=use-model-enablement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-model-enablement.d.ts","sourceRoot":"","sources":["../../src/react/use-model-enablement.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,aAAa,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+DAA+D;IAC/D,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,iEAAiE;IACjE,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,kBAAkB,CAuF3F"}
@@ -0,0 +1,92 @@
1
+ 'use client';
2
+ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
3
+ import { useCallback, useMemo } from 'react';
4
+ import { getProjectModelPicker } from '../core/rest/projects-client/index.js';
5
+ import { setProjectModelEnablement } from '../core/rest/projects-client/model-enablement.js';
6
+ import { applyEnablementToProviderList } from './provider-selection.js';
7
+ /**
8
+ * Server-owned per-project model enablement. Every model served by
9
+ * `/model-picker` already carries its own resolved `enabled` flag — read THAT
10
+ * to render a switch or filter a list. This hook only handles the writes.
11
+ *
12
+ * Writes are EXCEPTIONS, never the resolved set: a project that pins its whole
13
+ * list would stop tracking "the latest", and every future model would arrive
14
+ * switched off.
15
+ */
16
+ export function useModelEnablement(projectId) {
17
+ const queryClient = useQueryClient();
18
+ const queryKey = useMemo(() => ['project-model-picker', projectId], [projectId]);
19
+ // The session picker does NOT render from the query above — it renders from
20
+ // the gateway provider list (`useOpenCodeProviders`), a SECOND cache of the
21
+ // same `/model-picker` payload with `staleTime: Infinity`. Every write must
22
+ // restamp + invalidate it too, or the composer keeps offering the
23
+ // pre-toggle list until a hard refresh.
24
+ const providersKey = useMemo(() => ['project-providers', projectId, 'gateway'], [projectId]);
25
+ const { data } = useQuery({
26
+ queryKey,
27
+ queryFn: () => getProjectModelPicker(projectId),
28
+ enabled: !!projectId,
29
+ staleTime: 30_000,
30
+ retry: false,
31
+ });
32
+ const mutation = useMutation({
33
+ mutationFn: (next) => setProjectModelEnablement(projectId, next),
34
+ // Apply the new flags to the cached picker payload up front. Every surface
35
+ // reads `enabled` off THIS query — the switch and the session picker both —
36
+ // so without it the UI sits on the pre-toggle answer until the round trip
37
+ // lands (and any picker that is currently unmounted keeps serving the stale
38
+ // list when it remounts, which reads as "I had to hard refresh").
39
+ onMutate: async (next) => {
40
+ await queryClient.cancelQueries({ queryKey });
41
+ await queryClient.cancelQueries({ queryKey: providersKey });
42
+ const previous = queryClient.getQueryData(queryKey);
43
+ const previousProviders = queryClient.getQueryData(providersKey);
44
+ if (previous) {
45
+ queryClient.setQueryData(queryKey, {
46
+ ...previous,
47
+ models: Object.fromEntries(Object.entries(previous.models ?? {}).map(([id, model]) => [
48
+ id,
49
+ next[id] === undefined ? model : { ...model, enabled: next[id] },
50
+ ])),
51
+ modelOverrides: next,
52
+ usingDefaults: Object.keys(next).length === 0,
53
+ });
54
+ }
55
+ if (previousProviders) {
56
+ queryClient.setQueryData(providersKey, applyEnablementToProviderList(previousProviders, next));
57
+ }
58
+ return { previous, previousProviders };
59
+ },
60
+ // A rejected write (e.g. 409 on the project default) must not leave the UI
61
+ // showing a state the server refused.
62
+ onError: (_err, _next, context) => {
63
+ if (context?.previous)
64
+ queryClient.setQueryData(queryKey, context.previous);
65
+ if (context?.previousProviders) {
66
+ queryClient.setQueryData(providersKey, context.previousProviders);
67
+ }
68
+ },
69
+ // `refetchType: 'all'` so an unmounted picker's cache is refreshed too, not
70
+ // just marked stale. The providers refetch also rewrites its localStorage
71
+ // seed, so the next cold paint starts from the post-toggle list.
72
+ onSettled: () => {
73
+ void queryClient.invalidateQueries({ queryKey, refetchType: 'all' });
74
+ void queryClient.invalidateQueries({ queryKey: providersKey, refetchType: 'all' });
75
+ },
76
+ });
77
+ // The stored exceptions, served alongside the resolved flags so a toggle is
78
+ // a merge into what's already there rather than a fresh full set.
79
+ const overrides = useMemo(() => data?.modelOverrides ?? {}, [data]);
80
+ return {
81
+ usingDefaults: data?.usingDefaults ?? true,
82
+ defaultModel: data?.defaultModel,
83
+ setEnabled: useCallback(async (wireModel, enabled) => {
84
+ await mutation.mutateAsync({ ...overrides, [wireModel]: enabled });
85
+ }, [overrides, mutation]),
86
+ resetToDefaults: useCallback(async () => {
87
+ await mutation.mutateAsync({});
88
+ }, [mutation]),
89
+ isUpdating: mutation.isPending,
90
+ };
91
+ }
92
+ //# sourceMappingURL=use-model-enablement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-model-enablement.js","sourceRoot":"","sources":["../../src/react/use-model-enablement.ts"],"names":[],"mappings":"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"}
@@ -30,9 +30,10 @@ export interface UseOpenCodeLocalOptions {
30
30
  */
31
31
  defaultAgentName?: string | null;
32
32
  /**
33
- * Free-tier gate for model visibility, threaded straight into `useModelStore`.
34
- * A host that doesn't have a billing/account concept can omit it (default
35
- * `false` nothing is gated).
33
+ * @deprecated Inert. Entitlement is resolved server-side into each model's
34
+ * `enabled` flag by `/model-picker` (`freeManagedOnly` drops managed models
35
+ * for free-tier accounts before the catalog is even served), so there is
36
+ * nothing left to gate client-side.
36
37
  */
37
38
  freeTier?: boolean;
38
39
  /**
@@ -143,5 +144,5 @@ export declare function resolveCurrentAgentName(input: {
143
144
  explicitAgentName?: string;
144
145
  lastAgentName?: string;
145
146
  }): string | undefined;
146
- export declare function useOpenCodeLocal({ agents: rawAgents, providers, config, sessionId, boundAgentName, defaultAgentName, freeTier, resolveServerDefault, }: UseOpenCodeLocalOptions): OpenCodeLocal;
147
+ export declare function useOpenCodeLocal({ agents: rawAgents, providers, config, sessionId, boundAgentName, defaultAgentName, resolveServerDefault, }: UseOpenCodeLocalOptions): OpenCodeLocal;
147
148
  //# sourceMappingURL=use-opencode-local.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-opencode-local.d.ts","sourceRoot":"","sources":["../../src/react/use-opencode-local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-opencode-local.d.ts","sourceRoot":"","sources":["../../src/react/use-opencode-local.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,12 @@
9
9
  * - Recent model list persisted via useModelStore
10
10
  * - Variant persistence via useModelStore
11
11
  */
12
- import { flattenModels } from './model-flatten.js';
12
+ import { flattenModels, isOfferedModel } from './model-flatten.js';
13
13
  import { featureFlags } from '../core/http/feature-flags.js';
14
- import { listProjectSecrets } from '../core/rest/projects-client/index.js';
15
- import { useQuery } from '@tanstack/react-query';
16
14
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
17
- import { useKortixRouteProjectId } from './route-project.js';
18
15
  import { createAgentSelectionScope } from './agent-selection-scope.js';
19
- import { connectedGatewayProviderIdsFromSecretNames, normalizeProviderList, } from './provider-selection.js';
16
+ import { useKortixRouteProjectId } from './route-project.js';
17
+ import { normalizeProviderList } from './provider-selection.js';
20
18
  import { useModelStore } from './use-model-store.js';
21
19
  // ============================================================================
22
20
  // Helpers
@@ -122,35 +120,21 @@ export function resolveCurrentAgentName(input) {
122
120
  // ============================================================================
123
121
  // Hook
124
122
  // ============================================================================
125
- export function useOpenCodeLocal({ agents: rawAgents, providers, config, sessionId, boundAgentName, defaultAgentName, freeTier, resolveServerDefault, }) {
123
+ export function useOpenCodeLocal({ agents: rawAgents, providers, config, sessionId, boundAgentName, defaultAgentName, resolveServerDefault, }) {
126
124
  // ---- Flatten models from providers (shared with the chat input, so the
127
125
  // gateway-only allowlist applies here too — native providers never leak in) ----
128
126
  const flatModels = useMemo(() => flattenModels(providers), [providers]);
129
127
  const projectId = useKortixRouteProjectId();
130
128
  const providerMode = useMemo(() => modelProviderMode(providers), [providers]);
131
- const secretsQuery = useQuery({
132
- queryKey: ['project-secrets', projectId],
133
- queryFn: () => listProjectSecrets(projectId),
134
- enabled: !!projectId && providerMode === 'gateway',
135
- staleTime: 10_000,
136
- });
137
- const connectedProviderIds = useMemo(() => {
138
- if (providerMode !== 'gateway')
139
- return undefined;
140
- const data = secretsQuery.data;
141
- const items = Array.isArray(data) ? data : (data?.items ?? []);
142
- return connectedGatewayProviderIdsFromSecretNames(new Set(items.map((secret) => secret.name)));
143
- }, [providerMode, secretsQuery.data]);
144
- // ---- Model store (persisted: visibility, recent, variant) ----
145
- const modelStore = useModelStore(flatModels, {
146
- connectedProviderIds,
147
- freeTier: providerMode === 'gateway' && !!freeTier,
148
- });
149
- // ---- Model validation: a model is valid only if it's in the flattened list,
150
- // which is already filtered to connected + gateway-only providers. This keeps
151
- // default/recent resolution from ever selecting a native (bypass) model. ----
152
- const isModelValid = useCallback((model) => flatModels.some((m) => m.providerID === model.providerID && m.modelID === model.modelID) &&
153
- modelStore.isVisible(model), [flatModels, modelStore]);
129
+ // ---- Model store (persisted: recent, variant, per-agent/session selection) ----
130
+ const modelStore = useModelStore(flatModels);
131
+ // ---- Model validation: a model is valid only if it's in the flattened list
132
+ // (already filtered to connected + gateway-only providers, so default/recent
133
+ // resolution can never select a native bypass model) AND the server hasn't
134
+ // turned it off for this project (`enabled`, stamped by `/model-picker`).
135
+ // The SAME predicate the session picker renders with — a second, client-only
136
+ // visibility rule here is what let a hidden model stay resolvable. ----
137
+ const isModelValid = useCallback((model) => isOfferedModel(flatModels, model), [flatModels]);
154
138
  // ---- First valid model from a list of fallback sources ----
155
139
  const getFirstValidModel = useCallback((...modelFns) => {
156
140
  for (const modelFn of modelFns) {
@@ -164,7 +148,6 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
164
148
  }, [isModelValid]);
165
149
  // ---- Find FlatModel from ModelKey ----
166
150
  const findModel = useCallback((key) => flatModels.find((m) => m.modelID === key.modelID && m.providerID === key.providerID), [flatModels]);
167
- const isModelDefaultVisible = useCallback((model) => modelStore.isVisible(model), [modelStore]);
168
151
  // ---- Agent state — persisted per-session in localStorage so switching tabs preserves selection ----
169
152
  // Project-only agents (orchestrator/project-maintainer/worker) are hidden
170
153
  // when the project paradigm is off; their bodies reference project
@@ -265,18 +248,18 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
265
248
  const configured = defaults[p.id];
266
249
  if (configured) {
267
250
  const key = { providerID: p.id, modelID: configured };
268
- if (isModelValid(key) && isModelDefaultVisible(key))
251
+ if (isModelValid(key))
269
252
  return key;
270
253
  }
271
254
  for (const modelID of Object.keys(p.models)) {
272
255
  const key = { providerID: p.id, modelID };
273
- if (isModelValid(key) && isModelDefaultVisible(key))
256
+ if (isModelValid(key))
274
257
  return key;
275
258
  }
276
259
  }
277
260
  }
278
261
  return undefined;
279
- }, [config?.model, modelStore.recent, providers, isModelValid, isModelDefaultVisible]);
262
+ }, [config?.model, modelStore.recent, providers, isModelValid]);
280
263
  // ---- Explicit per-conversation/per-agent picks (highest priority, localStorage) ----
281
264
  const explicitModelKey = useMemo(() => getFirstValidModel(
282
265
  // Per-session model (user's explicit choice in this session — survives reload)
@@ -335,9 +318,6 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
335
318
  if (scopedSessionModelKey && next) {
336
319
  modelStore.setSessionModel(scopedSessionModelKey, next);
337
320
  }
338
- if (model) {
339
- modelStore.setVisibility(model, true);
340
- }
341
321
  if (options?.recent && model) {
342
322
  modelStore.pushRecent(model);
343
323
  // Per-session and per-agent overrides already take priority in the
@@ -486,7 +466,10 @@ export function useOpenCodeLocal({ agents: rawAgents, providers, config, session
486
466
  recent: recentModels,
487
467
  list: flatModels,
488
468
  set: setModel,
489
- visible: modelStore.isVisible,
469
+ // The server's enablement answer, not the localStorage heuristic — the
470
+ // one predicate every surface (picker list, stash replay, default
471
+ // resolution) agrees on.
472
+ visible: isModelValid,
490
473
  setVisibility: modelStore.setVisibility,
491
474
  cycle: cycleModel,
492
475
  hasSessionModel,