sneakoscope 4.7.4 → 4.8.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/README.md CHANGED
@@ -49,7 +49,7 @@ sks seo-geo-optimizer apply latest --mode seo --apply --json
49
49
  sks seo-geo-optimizer audit --mode geo --target package --offline --json
50
50
  ```
51
51
 
52
- > 📋 **Current release: `v4.7.4`** — full release history lives in [CHANGELOG.md](CHANGELOG.md). This README documents how Sneakoscope works today, not its version-by-version changes. Release readiness is tracked in [docs/release-readiness.md](docs/release-readiness.md).
52
+ > 📋 **Current release: `v4.8.0`** — full release history lives in [CHANGELOG.md](CHANGELOG.md). This README documents how Sneakoscope works today, not its version-by-version changes. Release readiness is tracked in [docs/release-readiness.md](docs/release-readiness.md).
53
53
 
54
54
  ## 🍥 Parallelism, UX, And Integrations
55
55
 
@@ -363,7 +363,7 @@ sks codex-app set-openrouter-key --api-key-stdin
363
363
  sks codex-app glm-profile install
364
364
  ```
365
365
 
366
- This writes the OpenRouter key to the SKS user secret store, writes redacted metadata only, and installs Codex Desktop-compatible `openrouter` provider plus selectable `sks-glm-52-*` reasoning profiles. The npm package does not patch the Codex Desktop macOS menu binary; a top-level menu between Window and Help requires upstream Codex Desktop UI support. On macOS, `sks doctor --fix` installs or refreshes a right-side `SKS` menu bar companion with codex-lb, ChatGPT OAuth, OpenRouter/GLM, Fast Check, SKS Version Check, Update SKS Now, settings, and Codex restart actions.
366
+ This writes the OpenRouter key to the SKS user secret store, writes redacted metadata only, and installs Codex Desktop-compatible `openrouter` provider plus selectable `sks-glm-52-*` reasoning profiles. The npm package does not patch the Codex Desktop macOS menu binary; a top-level menu between Window and Help requires upstream Codex Desktop UI support. On macOS, `sks doctor --fix` installs or refreshes a right-side SKS menu bar companion that appears as a compact circled `S` status icon with codex-lb, ChatGPT OAuth, OpenRouter/GLM, Fast Check, SKS Version Check, Update SKS Now, settings, and Codex restart actions.
367
367
 
368
368
  ### Switching auth mode: codex-lb ↔ ChatGPT OAuth
369
369
 
@@ -76,7 +76,7 @@ dependencies = [
76
76
 
77
77
  [[package]]
78
78
  name = "sks-core"
79
- version = "4.7.4"
79
+ version = "4.8.0"
80
80
  dependencies = [
81
81
  "serde_json",
82
82
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sks-core"
3
- version = "4.7.4"
3
+ version = "4.8.0"
4
4
  edition = "2021"
5
5
 
6
6
  [dependencies]
@@ -4,7 +4,7 @@ use std::io::{self, Read, Seek, SeekFrom};
4
4
  fn main() {
5
5
  let mut args = std::env::args().skip(1);
6
6
  match args.next().as_deref() {
7
- Some("--version") => println!("sks-rs 4.7.4"),
7
+ Some("--version") => println!("sks-rs 4.8.0"),
8
8
  Some("compact-info") => {
9
9
  let mut input = String::new();
10
10
  let _ = io::stdin().read_to_string(&mut input);
package/dist/bin/sks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const FAST_PACKAGE_VERSION = '4.7.4';
2
+ const FAST_PACKAGE_VERSION = '4.8.0';
3
3
  const args = process.argv.slice(2);
4
4
  try {
5
5
  if (args[0] === '--agent' && args[1] === 'worker') {
@@ -222,10 +222,9 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
222
222
 
223
223
  func applicationDidFinishLaunching(_ notification: Notification) {
224
224
  NSApp.setActivationPolicy(.accessory)
225
- statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
225
+ statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)
226
226
  if let button = statusItem.button {
227
- button.title = "SKS"
228
- button.toolTip = "Sneakoscope Codex settings"
227
+ configureStatusButton(button)
229
228
  }
230
229
 
231
230
  let menu = NSMenu()
@@ -244,6 +243,20 @@ final class AppDelegate: NSObject, NSApplicationDelegate {
244
243
  statusItem.menu = menu
245
244
  }
246
245
 
246
+ func configureStatusButton(_ button: NSStatusBarButton) {
247
+ if #available(macOS 11.0, *), let image = NSImage(systemSymbolName: "s.circle.fill", accessibilityDescription: "SKS") {
248
+ image.isTemplate = true
249
+ button.image = image
250
+ button.imagePosition = .imageOnly
251
+ button.title = ""
252
+ } else {
253
+ button.title = "S"
254
+ }
255
+ button.toolTip = "SKS - Sneakoscope Codex settings"
256
+ button.setAccessibilityLabel("SKS")
257
+ button.setAccessibilityHelp("Open SKS menu")
258
+ }
259
+
247
260
  func add(_ menu: NSMenu, _ title: String, _ selector: Selector) {
248
261
  let item = NSMenuItem(title: title, action: selector, keyEquivalent: "")
249
262
  item.target = self
package/dist/core/fsx.js CHANGED
@@ -5,7 +5,7 @@ import os from 'node:os';
5
5
  import crypto from 'node:crypto';
6
6
  import { spawn } from 'node:child_process';
7
7
  import { fileURLToPath } from 'node:url';
8
- export const PACKAGE_VERSION = '4.7.4';
8
+ export const PACKAGE_VERSION = '4.8.0';
9
9
  export const DEFAULT_PROCESS_TAIL_BYTES = 256 * 1024;
10
10
  export const DEFAULT_PROCESS_TIMEOUT_MS = 30 * 60 * 1000;
11
11
  export function nowIso() {
@@ -1,6 +1,6 @@
1
1
  import { REQUIRED_CODEX_MODEL } from '../codex-model-guard.js';
2
2
  export const MANAGED_ASSET_SCHEMA_VERSION = 1;
3
- export const MANAGED_ASSET_VERSION = '4.7.4';
3
+ export const MANAGED_ASSET_VERSION = '4.8.0';
4
4
  export const MANAGED_ASSET_MARKER = 'SKS-MANAGED-ASSET';
5
5
  export const MANAGED_AGENT_ROLES = Object.freeze([
6
6
  role('sks-explorer', 'analysis-scout.toml', 'analysis_scout', 'SKS analysis scout for bounded read/write slices retained for stale Codex agent-role config repair.', 'workspace-write', ['analysis-scout', 'analysis_scout']),
@@ -1,2 +1,2 @@
1
- export const PACKAGE_VERSION = '4.7.4';
1
+ export const PACKAGE_VERSION = '4.8.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -13,6 +13,11 @@ const result = await installSksMenuBar({
13
13
  const executableExists = result.executable_path ? await exists(result.executable_path) : false;
14
14
  const launchAgentExists = result.launch_agent_path ? await exists(result.launch_agent_path) : false;
15
15
  const actionScriptExists = result.action_script_path ? await exists(result.action_script_path) : false;
16
+ const generatedSourcePath = result.app_path ? path.join(path.dirname(result.app_path), 'SKSMenuBar.swift') : null;
17
+ const generatedSource = generatedSourcePath ? await fs.readFile(generatedSourcePath, 'utf8').catch(() => '') : '';
18
+ const hasVisibleIconSource = generatedSource.includes('NSStatusItem.squareLength')
19
+ && generatedSource.includes('s.circle.fill')
20
+ && generatedSource.includes('configureStatusButton');
16
21
  const expectedMenuItems = [
17
22
  'Use codex-lb',
18
23
  'Use ChatGPT OAuth',
@@ -30,6 +35,7 @@ const ok = process.platform === 'darwin'
30
35
  && launchAgentExists
31
36
  && actionScriptExists
32
37
  && hasExpectedItems
38
+ && hasVisibleIconSource
33
39
  : result.ok === true && result.status === 'unsupported_platform';
34
40
  const report = {
35
41
  schema: 'sks.sks-menubar-install-check.v1',
@@ -39,6 +45,8 @@ const report = {
39
45
  executable_exists: executableExists,
40
46
  launch_agent_exists: launchAgentExists,
41
47
  action_script_exists: actionScriptExists,
48
+ generated_source_path: generatedSourcePath,
49
+ has_visible_icon_source: hasVisibleIconSource,
42
50
  expected_menu_items: expectedMenuItems,
43
51
  missing_expected_items: missingExpectedItems,
44
52
  has_expected_items: hasExpectedItems,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sneakoscope",
3
3
  "displayName": "ㅅㅋㅅ",
4
- "version": "4.7.4",
4
+ "version": "4.8.0",
5
5
  "description": "Sneakoscope Codex: fast proof-first Codex trust layer with image-based Voxel TriWiki.",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/mandarange/Sneakoscope-Codex#readme",