@oh-my-pi/pi-catalog 18.8.7 → 18.8.9

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/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [18.8.8] - 2026-10-10
6
+
7
+ ### Added
8
+
9
+ - Added the `connection-bound-native-history` rule axis for Responses hosts that reject native history items from an earlier connection, set for GitHub Copilot ([#15148](https://github.com/can1357/oh-my-pi/pull/15148) by [@will-bogusz](https://github.com/will-bogusz))
10
+
11
+ ### Fixed
12
+
13
+ - Fixed Devin's discovered models not marking the account's default model, the one Devin's own CLI starts the account on (SWE-2 High on Pro, SWE-1.6 Slow on Free); when it is an effort lane of a family, the family starts at that effort. Cursor's discovered models no longer carry that marker, so Cursor keeps its existing startup selection ([#15115](https://github.com/can1357/oh-my-pi/pull/15115) by [@will-bogusz](https://github.com/will-bogusz))
14
+
5
15
  ## [18.8.7] - 2026-10-09
6
16
 
7
17
  ### Added
@@ -878,6 +878,13 @@ export interface ResolvedOpenAIResponsesCompat extends ResolvedOpenAISharedCompa
878
878
  * `PI_MUSE_STORE_RESPONSES`); stored runs retain prompts and outputs on the provider.
879
879
  */
880
880
  storeResponses: boolean;
881
+ /**
882
+ * Whether the host binds native history items (`encrypted_content`, item
883
+ * ids) to the connection that issued them, so a new process must rebuild
884
+ * prior turns from message content until its first successful response.
885
+ * Rule-owned: GitHub Copilot.
886
+ */
887
+ connectionBoundNativeHistory: boolean;
881
888
  streamIdleTimeoutMs?: number;
882
889
  vercelGatewayRouting?: OpenAICompat["vercelGatewayRouting"];
883
890
  /** The model sits behind Vercel AI Gateway's Responses endpoint. */
@@ -1343,7 +1350,7 @@ export interface Model<TApi extends Api = Api> {
1343
1350
  isNew?: boolean;
1344
1351
  /** Upstream marks this model as beta / preview quality. */
1345
1352
  isBeta?: boolean;
1346
- /** Authenticated provider catalog marks this as the account's default model. */
1353
+ /** Authenticated catalog marks this as the account's default; the startup pick prefers it over `default-model`. */
1347
1354
  isProviderDefault?: boolean;
1348
1355
  /** Upstream marks this model as one of its recommended picks. */
1349
1356
  isRecommended?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi/pi-catalog",
3
- "version": "18.8.7",
3
+ "version": "18.8.9",
4
4
  "description": "Model catalog for omp: bundled model database, provider discovery descriptors, model identity, classification, and equivalence",
5
5
  "keywords": [
6
6
  "ai",
@@ -93,12 +93,12 @@
93
93
  "gen:proto": "bun scripts/generate-protocols.ts"
94
94
  },
95
95
  "dependencies": {
96
- "@oh-my-pi/omptype": "18.8.7",
97
- "@oh-my-pi/pi-utils": "18.8.7"
96
+ "@oh-my-pi/omptype": "18.8.9",
97
+ "@oh-my-pi/pi-utils": "18.8.9"
98
98
  },
99
99
  "devDependencies": {
100
100
  "@bgotink/kdl": "0.4.0",
101
- "@oh-my-pi/pi-ai": "18.8.7",
101
+ "@oh-my-pi/pi-ai": "18.8.9",
102
102
  "@types/bun": "^1.3.14"
103
103
  },
104
104
  "engines": {
@@ -169,6 +169,7 @@ export const AXES: Readonly<Record<string, AxisDef>> = {
169
169
  "requires-thinking-as-text": wire("requiresThinkingAsText", ["openai"]),
170
170
  "requires-tool-result-name": wire("requiresToolResultName", ["openai"]),
171
171
  "strict-responses-pairing": wire("strictResponsesPairing", ["openai-responses"]),
172
+ "connection-bound-native-history": wire("connectionBoundNativeHistory", ["openai-responses"]),
172
173
  "stateful-responses": wire("statefulResponses", ["openai-responses"]),
173
174
  "requires-reasoning-off-juice-instruction": wire("requiresReasoningOffJuiceInstruction", ["openai-responses"]),
174
175
  "supports-all-turns-reasoning-context": wire("supportsAllTurnsReasoningContext", ["openai-responses"]),
@@ -795,6 +795,7 @@ function resolveOpenAIResponsesPolicy(
795
795
  (LOCAL_OPENAI_COMPAT_PROVIDERS[backendProvider] === true || hasLocalLoopbackBaseUrl(baseUrl)),
796
796
  supportsObfuscationOptOut: isOpenAIUrl || provider === "openai",
797
797
  storeResponses: false,
798
+ connectionBoundNativeHistory: false,
798
799
  officialEndpoint: isOfficialOpenAIEndpoint(provider, baseUrl),
799
800
  harmonyLeakMitigation: false,
800
801
  rejectRootObjectUnion: false,
@@ -857,6 +858,7 @@ function pickResponsesOnly(compat: ResolvedOpenAIResponsesCompat): ResponsesOnly
857
858
  supportsImageDetailOriginal: compat.supportsImageDetailOriginal,
858
859
  supportsObfuscationOptOut: compat.supportsObfuscationOptOut,
859
860
  storeResponses: compat.storeResponses,
861
+ connectionBoundNativeHistory: compat.connectionBoundNativeHistory,
860
862
  supportsAllTurnsReasoningContext: compat.supportsAllTurnsReasoningContext,
861
863
  supportsConfigurationUpdate: compat.supportsConfigurationUpdate,
862
864
  supportsSteering: compat.supportsSteering,
@@ -14,8 +14,8 @@ provider "devin" {
14
14
  // bundle would misstate every other account's entitlements and leave zombie
15
15
  // rows behind (see CREDENTIAL_SCOPED_PROVIDERS in generate-models.ts). Both
16
16
  // SWE-1.6 lanes are verified live against `GetCliModelConfigs`; the
17
- // seed's `default-model` (`swe-1-6`) must resolve synchronously at
18
- // boot, before credential-scoped runtime discovery replaces the seed. Field
17
+ // seed's `default-model` (`swe-1-6`) must resolve synchronously at boot;
18
+ // discovery then replaces the seed and the account default it marks wins. Field
19
19
  // shape mirrors `devinModelSpec` so seeded and discovered rows are
20
20
  // indistinguishable downstream.
21
21
  seed api="devin-agent" base-url="https://server.codeium.com" bundle="always" {
@@ -10,6 +10,10 @@ provider "github-copilot" {
10
10
  // tool schemas and does not support the context-management beta or field.
11
11
  disable-strict-tools #true
12
12
  supports-context-management #false
13
+ // Responses items from an earlier connection answer `401 input item does
14
+ // not belong to this connection`: a resumed session rebuilds prior turns
15
+ // until its first response.
16
+ connection-bound-native-history #true
13
17
  class "anthropic" {
14
18
  revision ">=4 <4.6" {
15
19
  thinking-efforts "minimal" "low" "medium" "high" "xhigh"