tabby-agentdeck 1.2.1 → 1.2.3

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 (48) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.ko.md +13 -2
  3. package/README.md +13 -2
  4. package/dist/accounts.d.ts +5 -0
  5. package/dist/agents.d.ts +29 -0
  6. package/dist/codexKeys.d.ts +3 -0
  7. package/dist/config.d.ts +4 -0
  8. package/dist/deck.service.d.ts +12 -3
  9. package/dist/i18n/sidebar/af.d.ts +15 -0
  10. package/dist/i18n/sidebar/bg.d.ts +15 -0
  11. package/dist/i18n/sidebar/cs.d.ts +15 -0
  12. package/dist/i18n/sidebar/da.d.ts +15 -0
  13. package/dist/i18n/sidebar/de.d.ts +15 -0
  14. package/dist/i18n/sidebar/es.d.ts +15 -0
  15. package/dist/i18n/sidebar/fr.d.ts +15 -0
  16. package/dist/i18n/sidebar/hr.d.ts +15 -0
  17. package/dist/i18n/sidebar/id.d.ts +15 -0
  18. package/dist/i18n/sidebar/it.d.ts +15 -0
  19. package/dist/i18n/sidebar/ja.d.ts +15 -0
  20. package/dist/i18n/sidebar/pl.d.ts +15 -0
  21. package/dist/i18n/sidebar/pt.d.ts +15 -0
  22. package/dist/i18n/sidebar/ru.d.ts +15 -0
  23. package/dist/i18n/sidebar/sr.d.ts +15 -0
  24. package/dist/i18n/sidebar/sv.d.ts +15 -0
  25. package/dist/i18n/sidebar/tr.d.ts +15 -0
  26. package/dist/i18n/sidebar/uk.d.ts +15 -0
  27. package/dist/i18n/sidebar/zh-CN.d.ts +15 -0
  28. package/dist/i18n/sidebar/zh-TW.d.ts +15 -0
  29. package/dist/index.d.ts +2 -1
  30. package/dist/index.js +2 -2
  31. package/dist/notify.service.d.ts +4 -0
  32. package/dist/performance.d.ts +13 -0
  33. package/dist/profile.service.d.ts +2 -0
  34. package/dist/runtimeMigration.d.ts +3 -0
  35. package/dist/sessionLedger.service.d.ts +3 -3
  36. package/dist/settings.component.d.ts +13 -1
  37. package/dist/storageEnvironment.d.ts +6 -0
  38. package/dist/storageI18n.d.ts +1 -0
  39. package/dist/storagePaths.d.ts +19 -0
  40. package/dist/storageSettings.d.ts +28 -0
  41. package/hooks/agentdeck-codex-notify.ps1 +43 -2
  42. package/hooks/agentdeck-hook-trace.ps1 +57 -0
  43. package/hooks/agentdeck-label.js +1 -1
  44. package/hooks/agentdeck-mailbox.mjs +67 -27
  45. package/hooks/agentdeck-notify.ps1 +88 -18
  46. package/hooks/agentdeck-runtime.cjs +20 -0
  47. package/hooks/agentdeck-statusline.mjs +2 -4
  48. package/package.json +8 -5
@@ -0,0 +1,20 @@
1
+ const path = require('node:path')
2
+ const os = require('node:os')
3
+ const { createHash } = require('node:crypto')
4
+
5
+ function runtimeRoot () {
6
+ if (process.env.AGENTDECK_RUNTIME_ROOT) return process.env.AGENTDECK_RUNTIME_ROOT
7
+ const file = process.env.AGENTDECK_ACCOUNTS_FILE || path.join(os.homedir(), '.agentdeck', 'accounts.json')
8
+ const base = path.join(path.dirname(file), 'runtime')
9
+ const profile = process.env.TABBY_CONFIG_DIRECTORY
10
+ return profile ? path.join(base, createHash('sha256').update(path.resolve(profile).toLowerCase()).digest('hex').slice(0, 16)) : base
11
+ }
12
+ // Old live shells retain the former C-drive mailbox variable until restarted.
13
+ function mailboxRoot () {
14
+ const explicit = process.env.AGENTDECK_MAILBOX_ROOT
15
+ const legacy = path.join(process.env.LOCALAPPDATA || path.join(os.homedir(), 'AppData', 'Local'), 'tabby-agentdeck')
16
+ const legacyProfile = process.env.TABBY_CONFIG_DIRECTORY && path.join(process.env.TABBY_CONFIG_DIRECTORY, 'agentdeck-mailbox')
17
+ if (explicit && ![legacy, legacyProfile].filter(Boolean).some(p => path.resolve(p).toLowerCase() === path.resolve(explicit).toLowerCase())) return explicit
18
+ return path.join(runtimeRoot(), 'mailbox')
19
+ }
20
+ module.exports = { runtimeRoot, mailboxRoot }
@@ -22,11 +22,9 @@ import * as path from 'node:path'
22
22
  import { spawn } from 'node:child_process'
23
23
  import { fileURLToPath } from 'node:url'
24
24
  import * as https from 'node:https'
25
+ import runtimePaths from './agentdeck-runtime.cjs'
25
26
 
26
- const ROOT = path.join(
27
- process.env.LOCALAPPDATA || path.join(os.homedir(), 'AppData', 'Local'),
28
- 'tabby-agentdeck',
29
- )
27
+ const ROOT = runtimePaths.runtimeRoot()
30
28
  /** 사이드바가 읽는 곳. 상태 보고(`status/`)와 폴더를 나눈다 — 그쪽 폴링은 자기 형식만 알아본다 */
31
29
  const META_DIR = path.join(ROOT, 'meta')
32
30
  const INNER_FILE = path.join(ROOT, 'statusline-inner.json')
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tabby-agentdeck",
3
- "version": "1.2.1",
4
- "description": "Run AI coding agents side by side in Tabby - a live deck of agent sessions with status, a preview panel for the files they touch, agent-friendly hotkeys and image paste",
3
+ "version": "1.2.3",
4
+ "description": "Run AI coding agents side by side in Tabby with fixed tab numbers, cross-session messaging, live status, file previews, agent-friendly hotkeys and image paste",
5
5
  "keywords": [
6
6
  "tabby-plugin",
7
7
  "tabby",
@@ -18,14 +18,17 @@
18
18
  "build:release": "node tools/sync-version.js && webpack --mode production --env release",
19
19
  "prepack": "npm run build:release && node tools/check-release.js",
20
20
  "watch": "webpack --progress --color --watch",
21
- "test": "npm run test:existing && npm run test:codex && npm run test:accounts && node test/sidebarI18n.cjs && node test/accountSession.cjs && npm run test:sessions",
21
+ "test": "npm run test:existing && npm run test:codex && npm run test:accounts && node test/sidebarI18n.cjs && node test/accountSession.cjs && npm run test:sessions && npm run test:storage && npm run test:performance && npm run test:hook-trace",
22
+ "test:hook-trace": "node test/hookTrace.cjs",
23
+ "test:performance": "node test/performance.cjs",
24
+ "test:storage": "tsc src/storagePaths.ts src/accounts.ts src/storageSettings.ts src/runtimeMigration.ts --outDir .tmp --module commonjs --target es2019 --skipLibCheck --esModuleInterop && node test/storagePaths.cjs && node test/storageSettings.cjs && node test/runtimePaths.cjs",
22
25
  "test:sessions": "tsc src/sessionSearch.ts src/sessionMailbox.ts src/sessionSlots.ts --outDir .tmp --module commonjs --target es2019 --skipLibCheck --esModuleInterop && node test/sessionSearch.cjs && node test/sessionCommunication.cjs && node test/mailboxBridge.cjs",
23
- "test:accounts": "tsc src/accounts.ts src/accountBrowser.ts --outDir .tmp --module commonjs --target es2019 --skipLibCheck --esModuleInterop && node test/accounts.test.js",
26
+ "test:accounts": "tsc src/accounts.ts src/accountBrowser.ts --outDir .tmp --module commonjs --target es2019 --skipLibCheck --esModuleInterop && node test/accounts.test.js && node test/accountSecrets.cjs && node test/accountFiles.cjs && node test/accountCliRoots.cjs",
24
27
  "prebuild": "node tools/sync-version.js",
25
28
  "sync-version": "node tools/sync-version.js",
26
29
  "release": "node tools/release.js",
27
30
  "test:existing": "tsc src/codexHooks.ts src/i18n.ts src/prompt.ts src/detect.ts src/claudeHooks.ts src/screen.ts src/bind.ts src/order.ts src/reason.ts src/tabenv.ts src/viewer.ts src/markdown.ts src/ime.ts src/gitDiff.ts src/agents.ts src/group.ts src/project-root.ts src/gitCommit.ts src/diag.ts src/subagents.ts src/nav.ts src/keybind.ts src/sessionLedger.ts src/update.ts src/api.ts src/dock.ts src/status.service.ts src/profile.service.ts src/recovery.service.ts src/meta.ts src/statusLine.ts src/codexMeta.ts --outDir .tmp --module commonjs --target es2019 --skipLibCheck --experimentalDecorators --esModuleInterop && node test/version.test.js && node test/tags.test.js && node test/prompt.test.js && node test/detect.test.js && node test/claudeHooks.test.js && node test/screen.test.js && node test/bind.test.js && node test/order.test.js && node test/reason.test.js && node test/tabenv.test.js && node test/viewer.test.js && node test/markdown.test.js && node test/ime.test.js && node test/gitDiff.test.js && node test/agents.test.js && node test/group.test.js && node test/gitCommit.test.js && node test/diag.test.js && node test/subagents.test.js && node test/nav.test.js && node test/sessionLedger.test.js && node test/update.test.js && node test/api.test.js && node test/dock.test.js && node test/status.service.test.js && node test/profile.service.test.js && node test/recovery.service.test.js && node test/meta.test.js && node test/i18n.test.js && node test/statusLine.test.js && node test/hotkeys.test.js && node test/keybind.test.js && node test/codexMeta.test.js && node test/codexHooks.test.js",
28
- "test:codex": "node test/regression.cjs && node test/resume.cjs && node test/cursor.cjs && node test/wheel.cjs",
31
+ "test:codex": "node test/regression.cjs && node test/resume.cjs && node test/cursor.cjs && node test/wheel.cjs && node test/codexKeys.cjs && node test/accountSwitch.cjs && node test/repairLifecycle.cjs",
29
32
  "typecheck": "tsc --noEmit"
30
33
  },
31
34
  "files": [