impel-cli 0.18.15-beta.8 → 0.18.15-beta.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/README.md CHANGED
@@ -128,7 +128,7 @@ when a compatible version or commit changes. If Cursor changes any reviewed
128
128
  local-agent, provider-priority, or model-transport source contract, Impel keeps
129
129
  the previous managed generation intact and refuses the update until the patch is
130
130
  reviewed. `experimental cursor open` performs this prepare step before every
131
- launch. A real packaged GUI battle test proves that Cursor 3.12.17 can run
131
+ launch. A real packaged GUI battle test proves that Cursor 3.13.25 can run
132
132
  Agent through the selected tenant's gateway with Cursor's own non-secret smoke
133
133
  identity. The logical `default` model is resolved by the gateway to its
134
134
  registered Cursor default; explicit gateway models continue to use Responses.
@@ -2,7 +2,7 @@
2
2
 
3
3
  This hidden macOS experiment runs the stable Cursor desktop Agent against the
4
4
  selected Impel tenant without a real Cursor account or Cursor-routed BYOK. It is
5
- validated against Cursor 3.12.17 and remains separate from the public
5
+ validated against Cursor 3.13.25 and remains separate from the public
6
6
  `impel setup` / `impel update` state machine:
7
7
 
8
8
  ```sh
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impel-cli",
3
- "version": "0.18.15-beta.8",
3
+ "version": "0.18.15-beta.9",
4
4
  "description": "Prepare isolated Claude and Codex workspaces for every accessible Impel tenant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -36,7 +36,7 @@ const CURSOR_VERIFIED_EXTENSIONS = Object.freeze([
36
36
 
37
37
  const CURSOR_LOCAL_RUNTIME_FILE = "extensions/cursor-local-agent-runtime/dist/main.js";
38
38
  const CURSOR_REASONING_TRANSPORT_DISABLED = 'void 0===a?(delete e.reasoning,delete e.reasoning_effort):"output_config.effort"===a.param?';
39
- const CURSOR_REASONING_TRANSPORT_ENABLED = 'void 0===a?"responses"===o?(e.reasoning=Object.assign(Object.assign({},eBt(e.reasoning)?e.reasoning:{}),{effort:i}),delete e.reasoning_effort):(delete e.reasoning,delete e.reasoning_effort):"output_config.effort"===a.param?';
39
+ const CURSOR_REASONING_TRANSPORT_ENABLED = 'void 0===a?"responses"===o?(e.reasoning=Object.assign(Object.assign({},qRt(e.reasoning)?e.reasoning:{}),{effort:i}),delete e.reasoning_effort):(delete e.reasoning,delete e.reasoning_effort):"output_config.effort"===a.param?';
40
40
  const CURSOR_HELPER_BUNDLES = Object.freeze([
41
41
  "Cursor Helper (GPU).app",
42
42
  "Cursor Helper (Plugin).app",
@@ -47,8 +47,8 @@ const PRODUCT_FILE = "product.json";
47
47
  const PACKAGE_FILE = "package.json";
48
48
  const LOCAL_MODE_DISABLED = "localMode:!1";
49
49
  const LOCAL_MODE_ENABLED = "localMode:!0";
50
- const PERSONAL_DATA_IMPORT_GUARD = "if(!os.localMode)";
51
- const MANAGED_DATA_IMPORT_GUARD = "if(os.localMode )";
50
+ const PERSONAL_DATA_IMPORT_GUARD = "if(!Ui.localMode)";
51
+ const MANAGED_DATA_IMPORT_GUARD = "if(Ui.localMode )";
52
52
  const DISABLE_LIBRARY_VALIDATION_ENTITLEMENT = "com.apple.security.cs.disable-library-validation";
53
53
  const DIRECT_PROVIDER_ENV_KEYS = Object.freeze([
54
54
  "ANTHROPIC_API_KEY",
@@ -332,8 +332,13 @@ function assertLocalRuntimeContract(resourcesRoot) {
332
332
  throw new Error(`Cursor local-agent runtime contract changed (missing ${missing.join(", ")}); review this update before use`);
333
333
  }
334
334
  const responseEndpointSelection = /\.includes\("responses"\)\|\|[^?]{0,120}\.includes\("openai_responses"\)\?"responses":/u;
335
- const extendedPickerCompatibility = /\.includes\("chat_completions"\)\|\|[^)]{0,120}\.includes\("anthropic_messages"\)/u;
336
- if (!responseEndpointSelection.test(runtime) || !extendedPickerCompatibility.test(runtime)) {
335
+ const chatCompletionsEndpointSelection = /\.includes\("chat_completions"\)\|\|[^?]{0,120}\.includes\("openai_chat"\)\?"chat_completions":/u;
336
+ const anthropicApiTypeSelection = /\.includes\("anthropic_messages"\)&&![^?]{0,80}\?"anthropic_messages":"openai_compatible"/u;
337
+ if (
338
+ !responseEndpointSelection.test(runtime)
339
+ || !chatCompletionsEndpointSelection.test(runtime)
340
+ || !anthropicApiTypeSelection.test(runtime)
341
+ ) {
337
342
  throw new Error("Cursor local-agent Responses/model-picker contract changed; review this update before use");
338
343
  }
339
344
  if (countOccurrences(runtime, CURSOR_REASONING_TRANSPORT_DISABLED) !== 1) {