@jacques-ai/core 0.0.7-alpha.1
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/dist/archive/archive-store.d.ts +166 -0
- package/dist/archive/archive-store.d.ts.map +1 -0
- package/dist/archive/archive-store.js +612 -0
- package/dist/archive/archive-store.js.map +1 -0
- package/dist/archive/bulk-archive.d.ts +63 -0
- package/dist/archive/bulk-archive.d.ts.map +1 -0
- package/dist/archive/bulk-archive.js +315 -0
- package/dist/archive/bulk-archive.js.map +1 -0
- package/dist/archive/filename-utils.d.ts +39 -0
- package/dist/archive/filename-utils.d.ts.map +1 -0
- package/dist/archive/filename-utils.js +78 -0
- package/dist/archive/filename-utils.js.map +1 -0
- package/dist/archive/index.d.ts +21 -0
- package/dist/archive/index.d.ts.map +1 -0
- package/dist/archive/index.js +45 -0
- package/dist/archive/index.js.map +1 -0
- package/dist/archive/manifest-extractor.d.ts +40 -0
- package/dist/archive/manifest-extractor.d.ts.map +1 -0
- package/dist/archive/manifest-extractor.js +456 -0
- package/dist/archive/manifest-extractor.js.map +1 -0
- package/dist/archive/migration.d.ts +59 -0
- package/dist/archive/migration.d.ts.map +1 -0
- package/dist/archive/migration.js +172 -0
- package/dist/archive/migration.js.map +1 -0
- package/dist/archive/plan-cataloger.d.ts +24 -0
- package/dist/archive/plan-cataloger.d.ts.map +1 -0
- package/dist/archive/plan-cataloger.js +100 -0
- package/dist/archive/plan-cataloger.js.map +1 -0
- package/dist/archive/plan-extractor.d.ts +84 -0
- package/dist/archive/plan-extractor.d.ts.map +1 -0
- package/dist/archive/plan-extractor.js +371 -0
- package/dist/archive/plan-extractor.js.map +1 -0
- package/dist/archive/search-indexer.d.ts +50 -0
- package/dist/archive/search-indexer.d.ts.map +1 -0
- package/dist/archive/search-indexer.js +294 -0
- package/dist/archive/search-indexer.js.map +1 -0
- package/dist/archive/subagent-store.d.ts +113 -0
- package/dist/archive/subagent-store.d.ts.map +1 -0
- package/dist/archive/subagent-store.js +173 -0
- package/dist/archive/subagent-store.js.map +1 -0
- package/dist/archive/types.d.ts +236 -0
- package/dist/archive/types.d.ts.map +1 -0
- package/dist/archive/types.js +30 -0
- package/dist/archive/types.js.map +1 -0
- package/dist/branding.d.ts +9 -0
- package/dist/branding.d.ts.map +1 -0
- package/dist/branding.js +50 -0
- package/dist/branding.js.map +1 -0
- package/dist/cache/git-utils.d.ts +36 -0
- package/dist/cache/git-utils.d.ts.map +1 -0
- package/dist/cache/git-utils.js +160 -0
- package/dist/cache/git-utils.js.map +1 -0
- package/dist/cache/hidden-projects.d.ts +19 -0
- package/dist/cache/hidden-projects.d.ts.map +1 -0
- package/dist/cache/hidden-projects.js +48 -0
- package/dist/cache/hidden-projects.js.map +1 -0
- package/dist/cache/index.d.ts +15 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +20 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/metadata-extractor.d.ts +62 -0
- package/dist/cache/metadata-extractor.d.ts.map +1 -0
- package/dist/cache/metadata-extractor.js +574 -0
- package/dist/cache/metadata-extractor.js.map +1 -0
- package/dist/cache/mode-detector.d.ts +19 -0
- package/dist/cache/mode-detector.d.ts.map +1 -0
- package/dist/cache/mode-detector.js +161 -0
- package/dist/cache/mode-detector.js.map +1 -0
- package/dist/cache/persistence.d.ts +39 -0
- package/dist/cache/persistence.d.ts.map +1 -0
- package/dist/cache/persistence.js +98 -0
- package/dist/cache/persistence.js.map +1 -0
- package/dist/cache/project-discovery.d.ts +41 -0
- package/dist/cache/project-discovery.d.ts.map +1 -0
- package/dist/cache/project-discovery.js +212 -0
- package/dist/cache/project-discovery.js.map +1 -0
- package/dist/cache/session-index.d.ts +258 -0
- package/dist/cache/session-index.d.ts.map +1 -0
- package/dist/cache/session-index.js +1030 -0
- package/dist/cache/session-index.js.map +1 -0
- package/dist/cache/types.d.ts +159 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +29 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/catalog/bulk-extractor.d.ts +18 -0
- package/dist/catalog/bulk-extractor.d.ts.map +1 -0
- package/dist/catalog/bulk-extractor.js +150 -0
- package/dist/catalog/bulk-extractor.js.map +1 -0
- package/dist/catalog/extractor.d.ts +53 -0
- package/dist/catalog/extractor.d.ts.map +1 -0
- package/dist/catalog/extractor.js +522 -0
- package/dist/catalog/extractor.js.map +1 -0
- package/dist/catalog/index.d.ts +10 -0
- package/dist/catalog/index.d.ts.map +1 -0
- package/dist/catalog/index.js +11 -0
- package/dist/catalog/index.js.map +1 -0
- package/dist/catalog/types.d.ts +134 -0
- package/dist/catalog/types.d.ts.map +1 -0
- package/dist/catalog/types.js +8 -0
- package/dist/catalog/types.js.map +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +5 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/websocket-client.d.ts +96 -0
- package/dist/client/websocket-client.d.ts.map +1 -0
- package/dist/client/websocket-client.js +222 -0
- package/dist/client/websocket-client.js.map +1 -0
- package/dist/context/index.d.ts +13 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +26 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/indexer.d.ts +73 -0
- package/dist/context/indexer.d.ts.map +1 -0
- package/dist/context/indexer.js +233 -0
- package/dist/context/indexer.js.map +1 -0
- package/dist/context/manager.d.ts +66 -0
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/manager.js +310 -0
- package/dist/context/manager.js.map +1 -0
- package/dist/context/types.d.ts +149 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +36 -0
- package/dist/context/types.js.map +1 -0
- package/dist/handoff/catalog.d.ts +54 -0
- package/dist/handoff/catalog.d.ts.map +1 -0
- package/dist/handoff/catalog.js +121 -0
- package/dist/handoff/catalog.js.map +1 -0
- package/dist/handoff/generator.d.ts +107 -0
- package/dist/handoff/generator.d.ts.map +1 -0
- package/dist/handoff/generator.js +603 -0
- package/dist/handoff/generator.js.map +1 -0
- package/dist/handoff/index.d.ts +13 -0
- package/dist/handoff/index.d.ts.map +1 -0
- package/dist/handoff/index.js +12 -0
- package/dist/handoff/index.js.map +1 -0
- package/dist/handoff/llm-generator.d.ts +77 -0
- package/dist/handoff/llm-generator.d.ts.map +1 -0
- package/dist/handoff/llm-generator.js +513 -0
- package/dist/handoff/llm-generator.js.map +1 -0
- package/dist/handoff/prompts.d.ts +18 -0
- package/dist/handoff/prompts.d.ts.map +1 -0
- package/dist/handoff/prompts.js +22 -0
- package/dist/handoff/prompts.js.map +1 -0
- package/dist/handoff/types.d.ts +28 -0
- package/dist/handoff/types.d.ts.map +1 -0
- package/dist/handoff/types.js +7 -0
- package/dist/handoff/types.js.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +132 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/claude-operations.d.ts +111 -0
- package/dist/logging/claude-operations.d.ts.map +1 -0
- package/dist/logging/claude-operations.js +132 -0
- package/dist/logging/claude-operations.js.map +1 -0
- package/dist/logging/error-utils.d.ts +18 -0
- package/dist/logging/error-utils.d.ts.map +1 -0
- package/dist/logging/error-utils.js +37 -0
- package/dist/logging/error-utils.js.map +1 -0
- package/dist/logging/index.d.ts +11 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +10 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logger.d.ts +25 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +39 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/notifications/constants.d.ts +16 -0
- package/dist/notifications/constants.d.ts.map +1 -0
- package/dist/notifications/constants.js +49 -0
- package/dist/notifications/constants.js.map +1 -0
- package/dist/notifications/index.d.ts +9 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +8 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/types.d.ts +28 -0
- package/dist/notifications/types.d.ts.map +1 -0
- package/dist/notifications/types.js +7 -0
- package/dist/notifications/types.js.map +1 -0
- package/dist/notifications/utils.d.ts +20 -0
- package/dist/notifications/utils.d.ts.map +1 -0
- package/dist/notifications/utils.js +37 -0
- package/dist/notifications/utils.js.map +1 -0
- package/dist/plan/index.d.ts +12 -0
- package/dist/plan/index.d.ts.map +1 -0
- package/dist/plan/index.js +15 -0
- package/dist/plan/index.js.map +1 -0
- package/dist/plan/plan-parser.d.ts +33 -0
- package/dist/plan/plan-parser.d.ts.map +1 -0
- package/dist/plan/plan-parser.js +189 -0
- package/dist/plan/plan-parser.js.map +1 -0
- package/dist/plan/progress-computer.d.ts +34 -0
- package/dist/plan/progress-computer.d.ts.map +1 -0
- package/dist/plan/progress-computer.js +211 -0
- package/dist/plan/progress-computer.js.map +1 -0
- package/dist/plan/progress-matcher.d.ts +34 -0
- package/dist/plan/progress-matcher.d.ts.map +1 -0
- package/dist/plan/progress-matcher.js +297 -0
- package/dist/plan/progress-matcher.js.map +1 -0
- package/dist/plan/task-extractor.d.ts +30 -0
- package/dist/plan/task-extractor.d.ts.map +1 -0
- package/dist/plan/task-extractor.js +435 -0
- package/dist/plan/task-extractor.js.map +1 -0
- package/dist/plan/types.d.ts +131 -0
- package/dist/plan/types.d.ts.map +1 -0
- package/dist/plan/types.js +8 -0
- package/dist/plan/types.js.map +1 -0
- package/dist/project/aggregator.d.ts +43 -0
- package/dist/project/aggregator.d.ts.map +1 -0
- package/dist/project/aggregator.js +218 -0
- package/dist/project/aggregator.js.map +1 -0
- package/dist/project/index.d.ts +9 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +9 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/types.d.ts +65 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project/types.js +27 -0
- package/dist/project/types.js.map +1 -0
- package/dist/session/detector.d.ts +113 -0
- package/dist/session/detector.d.ts.map +1 -0
- package/dist/session/detector.js +333 -0
- package/dist/session/detector.js.map +1 -0
- package/dist/session/filters.d.ts +32 -0
- package/dist/session/filters.d.ts.map +1 -0
- package/dist/session/filters.js +100 -0
- package/dist/session/filters.js.map +1 -0
- package/dist/session/format-title.d.ts +16 -0
- package/dist/session/format-title.d.ts.map +1 -0
- package/dist/session/format-title.js +54 -0
- package/dist/session/format-title.js.map +1 -0
- package/dist/session/index.d.ts +16 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +10 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/parser.d.ts +264 -0
- package/dist/session/parser.d.ts.map +1 -0
- package/dist/session/parser.js +588 -0
- package/dist/session/parser.js.map +1 -0
- package/dist/session/token-estimator.d.ts +32 -0
- package/dist/session/token-estimator.d.ts.map +1 -0
- package/dist/session/token-estimator.js +139 -0
- package/dist/session/token-estimator.js.map +1 -0
- package/dist/session/transformer.d.ts +126 -0
- package/dist/session/transformer.d.ts.map +1 -0
- package/dist/session/transformer.js +158 -0
- package/dist/session/transformer.js.map +1 -0
- package/dist/setup/hooks-config.d.ts +35 -0
- package/dist/setup/hooks-config.d.ts.map +1 -0
- package/dist/setup/hooks-config.js +107 -0
- package/dist/setup/hooks-config.js.map +1 -0
- package/dist/setup/hooks-symlink.d.ts +17 -0
- package/dist/setup/hooks-symlink.d.ts.map +1 -0
- package/dist/setup/hooks-symlink.js +89 -0
- package/dist/setup/hooks-symlink.js.map +1 -0
- package/dist/setup/index.d.ts +13 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +12 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/prerequisites.d.ts +11 -0
- package/dist/setup/prerequisites.d.ts.map +1 -0
- package/dist/setup/prerequisites.js +72 -0
- package/dist/setup/prerequisites.js.map +1 -0
- package/dist/setup/settings-merge.d.ts +33 -0
- package/dist/setup/settings-merge.d.ts.map +1 -0
- package/dist/setup/settings-merge.js +131 -0
- package/dist/setup/settings-merge.js.map +1 -0
- package/dist/setup/skills-install.d.ts +17 -0
- package/dist/setup/skills-install.d.ts.map +1 -0
- package/dist/setup/skills-install.js +60 -0
- package/dist/setup/skills-install.js.map +1 -0
- package/dist/setup/types.d.ts +39 -0
- package/dist/setup/types.d.ts.map +1 -0
- package/dist/setup/types.js +7 -0
- package/dist/setup/types.js.map +1 -0
- package/dist/setup/verification.d.ts +9 -0
- package/dist/setup/verification.d.ts.map +1 -0
- package/dist/setup/verification.js +91 -0
- package/dist/setup/verification.js.map +1 -0
- package/dist/shortcuts/index.d.ts +8 -0
- package/dist/shortcuts/index.d.ts.map +1 -0
- package/dist/shortcuts/index.js +6 -0
- package/dist/shortcuts/index.js.map +1 -0
- package/dist/shortcuts/key-utils.d.ts +54 -0
- package/dist/shortcuts/key-utils.d.ts.map +1 -0
- package/dist/shortcuts/key-utils.js +129 -0
- package/dist/shortcuts/key-utils.js.map +1 -0
- package/dist/shortcuts/shortcut-registry.d.ts +37 -0
- package/dist/shortcuts/shortcut-registry.d.ts.map +1 -0
- package/dist/shortcuts/shortcut-registry.js +322 -0
- package/dist/shortcuts/shortcut-registry.js.map +1 -0
- package/dist/sources/config.d.ts +91 -0
- package/dist/sources/config.d.ts.map +1 -0
- package/dist/sources/config.js +229 -0
- package/dist/sources/config.js.map +1 -0
- package/dist/sources/googledocs.d.ts +43 -0
- package/dist/sources/googledocs.d.ts.map +1 -0
- package/dist/sources/googledocs.js +298 -0
- package/dist/sources/googledocs.js.map +1 -0
- package/dist/sources/index.d.ts +14 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +19 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/notion.d.ts +35 -0
- package/dist/sources/notion.d.ts.map +1 -0
- package/dist/sources/notion.js +352 -0
- package/dist/sources/notion.js.map +1 -0
- package/dist/sources/obsidian.d.ts +38 -0
- package/dist/sources/obsidian.d.ts.map +1 -0
- package/dist/sources/obsidian.js +228 -0
- package/dist/sources/obsidian.js.map +1 -0
- package/dist/sources/types.d.ts +133 -0
- package/dist/sources/types.d.ts.map +1 -0
- package/dist/sources/types.js +19 -0
- package/dist/sources/types.js.map +1 -0
- package/dist/storage/index.d.ts +6 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +5 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/writer.d.ts +86 -0
- package/dist/storage/writer.d.ts.map +1 -0
- package/dist/storage/writer.js +137 -0
- package/dist/storage/writer.js.map +1 -0
- package/dist/types.d.ts +203 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/claude-token.d.ts +49 -0
- package/dist/utils/claude-token.d.ts.map +1 -0
- package/dist/utils/claude-token.js +169 -0
- package/dist/utils/claude-token.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +13 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/settings.d.ts +100 -0
- package/dist/utils/settings.d.ts.map +1 -0
- package/dist/utils/settings.js +206 -0
- package/dist/utils/settings.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/setup/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shortcuts module — Shared keyboard shortcut definitions and matching utilities.
|
|
3
|
+
*/
|
|
4
|
+
export { SHORTCUTS, CATEGORY_LABELS, getShortcutsForZone, getShortcutById, getShortcutsByCategory, resolveKeyDisplay, } from './shortcut-registry.js';
|
|
5
|
+
export type { ShortcutDef, ShortcutCategory, FocusZone, } from './shortcut-registry.js';
|
|
6
|
+
export { matchesShortcut, findMatchingShortcut, fromKeyboardEvent, detectPlatform, } from './key-utils.js';
|
|
7
|
+
export type { KeyEvent } from './key-utils.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shortcuts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shortcuts module — Shared keyboard shortcut definitions and matching utilities.
|
|
3
|
+
*/
|
|
4
|
+
export { SHORTCUTS, CATEGORY_LABELS, getShortcutsForZone, getShortcutById, getShortcutsByCategory, resolveKeyDisplay, } from './shortcut-registry.js';
|
|
5
|
+
export { matchesShortcut, findMatchingShortcut, fromKeyboardEvent, detectPlatform, } from './key-utils.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shortcuts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAQhC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Key Utilities — Platform-aware key matching for keyboard shortcuts.
|
|
3
|
+
*
|
|
4
|
+
* Works with both browser KeyboardEvent and a generic key shape
|
|
5
|
+
* that can be adapted from Ink's useInput hook.
|
|
6
|
+
*/
|
|
7
|
+
import type { ShortcutDef, FocusZone } from './shortcut-registry.js';
|
|
8
|
+
/**
|
|
9
|
+
* Platform-agnostic key event shape.
|
|
10
|
+
* Browser: map directly from KeyboardEvent.
|
|
11
|
+
* Ink: map from useInput(input, key) arguments.
|
|
12
|
+
*/
|
|
13
|
+
export interface KeyEvent {
|
|
14
|
+
key: string;
|
|
15
|
+
metaKey: boolean;
|
|
16
|
+
ctrlKey: boolean;
|
|
17
|
+
shiftKey: boolean;
|
|
18
|
+
altKey: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if a key event matches a shortcut definition.
|
|
22
|
+
*
|
|
23
|
+
* @param event - The key event (browser or adapted from Ink)
|
|
24
|
+
* @param shortcut - The shortcut definition to match against
|
|
25
|
+
* @param platform - Current platform for Mod resolution
|
|
26
|
+
* @returns true if the event matches the shortcut
|
|
27
|
+
*/
|
|
28
|
+
export declare function matchesShortcut(event: KeyEvent, shortcut: ShortcutDef, platform: 'mac' | 'linux' | 'win'): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Find the first shortcut matching a key event in a given zone.
|
|
31
|
+
*
|
|
32
|
+
* @param event - The key event
|
|
33
|
+
* @param zone - The currently active focus zone
|
|
34
|
+
* @param platform - Current platform
|
|
35
|
+
* @returns The matching ShortcutDef, or undefined if no match
|
|
36
|
+
*/
|
|
37
|
+
export declare function findMatchingShortcut(event: KeyEvent, zone: FocusZone, platform: 'mac' | 'linux' | 'win'): ShortcutDef | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Convert a browser KeyboardEvent-like object to our generic KeyEvent shape.
|
|
40
|
+
* Accepts anything with the standard key/modifier properties (e.g. DOM KeyboardEvent).
|
|
41
|
+
*/
|
|
42
|
+
export declare function fromKeyboardEvent(e: {
|
|
43
|
+
key: string;
|
|
44
|
+
metaKey: boolean;
|
|
45
|
+
ctrlKey: boolean;
|
|
46
|
+
shiftKey: boolean;
|
|
47
|
+
altKey: boolean;
|
|
48
|
+
}): KeyEvent;
|
|
49
|
+
/**
|
|
50
|
+
* Detect the current platform.
|
|
51
|
+
* Works in browser (navigator) and Node.js (process.platform).
|
|
52
|
+
*/
|
|
53
|
+
export declare function detectPlatform(): 'mac' | 'linux' | 'win';
|
|
54
|
+
//# sourceMappingURL=key-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-utils.d.ts","sourceRoot":"","sources":["../../src/shortcuts/key-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKrE;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AA4BD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAChC,OAAO,CAyBT;AAcD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAChC,WAAW,GAAG,SAAS,CAQzB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,QAAQ,CAQX;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,KAAK,GAAG,OAAO,GAAG,KAAK,CAexD"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Key Utilities — Platform-aware key matching for keyboard shortcuts.
|
|
3
|
+
*
|
|
4
|
+
* Works with both browser KeyboardEvent and a generic key shape
|
|
5
|
+
* that can be adapted from Ink's useInput hook.
|
|
6
|
+
*/
|
|
7
|
+
import { SHORTCUTS } from './shortcut-registry.js';
|
|
8
|
+
function parseKeyCombo(keys) {
|
|
9
|
+
const parts = keys.split('+');
|
|
10
|
+
const result = { mod: false, shift: false, alt: false, key: '' };
|
|
11
|
+
for (const part of parts) {
|
|
12
|
+
const lower = part.toLowerCase();
|
|
13
|
+
if (lower === 'mod')
|
|
14
|
+
result.mod = true;
|
|
15
|
+
else if (lower === 'shift')
|
|
16
|
+
result.shift = true;
|
|
17
|
+
else if (lower === 'alt')
|
|
18
|
+
result.alt = true;
|
|
19
|
+
else
|
|
20
|
+
result.key = part; // preserve original case for special keys
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
// ─── Matching ───────────────────────────────────────────────
|
|
25
|
+
/**
|
|
26
|
+
* Check if a key event matches a shortcut definition.
|
|
27
|
+
*
|
|
28
|
+
* @param event - The key event (browser or adapted from Ink)
|
|
29
|
+
* @param shortcut - The shortcut definition to match against
|
|
30
|
+
* @param platform - Current platform for Mod resolution
|
|
31
|
+
* @returns true if the event matches the shortcut
|
|
32
|
+
*/
|
|
33
|
+
export function matchesShortcut(event, shortcut, platform) {
|
|
34
|
+
const combo = parseKeyCombo(shortcut.keys);
|
|
35
|
+
// Check modifier: Mod = metaKey on mac, ctrlKey elsewhere
|
|
36
|
+
if (combo.mod) {
|
|
37
|
+
const modPressed = platform === 'mac' ? event.metaKey : event.ctrlKey;
|
|
38
|
+
if (!modPressed)
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// If shortcut doesn't use Mod, ensure neither meta nor ctrl is pressed
|
|
43
|
+
// (except for platform-specific Mod key which may be held for other reasons)
|
|
44
|
+
if (platform === 'mac' && event.metaKey)
|
|
45
|
+
return false;
|
|
46
|
+
if (platform !== 'mac' && event.ctrlKey)
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
// Check Shift
|
|
50
|
+
if (combo.shift !== event.shiftKey)
|
|
51
|
+
return false;
|
|
52
|
+
// Check Alt
|
|
53
|
+
if (combo.alt !== event.altKey)
|
|
54
|
+
return false;
|
|
55
|
+
// Check base key
|
|
56
|
+
const comboKey = combo.key.toLowerCase();
|
|
57
|
+
const eventKey = normalizeEventKey(event.key);
|
|
58
|
+
return comboKey === eventKey;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Normalize a KeyboardEvent.key value for matching.
|
|
62
|
+
* Maps Space (' ') to 'space', keeps special keys as-is, lowercases letters.
|
|
63
|
+
*/
|
|
64
|
+
function normalizeEventKey(key) {
|
|
65
|
+
if (key === ' ')
|
|
66
|
+
return 'space';
|
|
67
|
+
// Special keys stay as-is (but lowercased)
|
|
68
|
+
if (key.length > 1)
|
|
69
|
+
return key.toLowerCase();
|
|
70
|
+
// Single character: lowercase
|
|
71
|
+
return key.toLowerCase();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Find the first shortcut matching a key event in a given zone.
|
|
75
|
+
*
|
|
76
|
+
* @param event - The key event
|
|
77
|
+
* @param zone - The currently active focus zone
|
|
78
|
+
* @param platform - Current platform
|
|
79
|
+
* @returns The matching ShortcutDef, or undefined if no match
|
|
80
|
+
*/
|
|
81
|
+
export function findMatchingShortcut(event, zone, platform) {
|
|
82
|
+
for (const shortcut of SHORTCUTS) {
|
|
83
|
+
// Check zone match
|
|
84
|
+
if (!shortcut.zones.includes(zone) && !shortcut.zones.includes('*'))
|
|
85
|
+
continue;
|
|
86
|
+
// Check key match
|
|
87
|
+
if (matchesShortcut(event, shortcut, platform))
|
|
88
|
+
return shortcut;
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Convert a browser KeyboardEvent-like object to our generic KeyEvent shape.
|
|
94
|
+
* Accepts anything with the standard key/modifier properties (e.g. DOM KeyboardEvent).
|
|
95
|
+
*/
|
|
96
|
+
export function fromKeyboardEvent(e) {
|
|
97
|
+
return {
|
|
98
|
+
key: e.key,
|
|
99
|
+
metaKey: e.metaKey,
|
|
100
|
+
ctrlKey: e.ctrlKey,
|
|
101
|
+
shiftKey: e.shiftKey,
|
|
102
|
+
altKey: e.altKey,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Detect the current platform.
|
|
107
|
+
* Works in browser (navigator) and Node.js (process.platform).
|
|
108
|
+
*/
|
|
109
|
+
export function detectPlatform() {
|
|
110
|
+
// Browser
|
|
111
|
+
if (typeof navigator !== 'undefined') {
|
|
112
|
+
const ua = navigator.userAgent.toLowerCase();
|
|
113
|
+
if (ua.includes('mac'))
|
|
114
|
+
return 'mac';
|
|
115
|
+
if (ua.includes('win'))
|
|
116
|
+
return 'win';
|
|
117
|
+
return 'linux';
|
|
118
|
+
}
|
|
119
|
+
// Node.js
|
|
120
|
+
if (typeof process !== 'undefined' && process.platform) {
|
|
121
|
+
if (process.platform === 'darwin')
|
|
122
|
+
return 'mac';
|
|
123
|
+
if (process.platform === 'win32')
|
|
124
|
+
return 'win';
|
|
125
|
+
return 'linux';
|
|
126
|
+
}
|
|
127
|
+
return 'linux';
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=key-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-utils.js","sourceRoot":"","sources":["../../src/shortcuts/key-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shortcut Registry — Canonical keyboard shortcut definitions.
|
|
3
|
+
*
|
|
4
|
+
* Pure data module: no React, no DOM, no Node.js imports.
|
|
5
|
+
* Shared between GUI (browser) and CLI dashboard (Ink/Node).
|
|
6
|
+
*/
|
|
7
|
+
export type ShortcutCategory = 'global' | 'navigation' | 'selection' | 'tiling' | 'terminal' | 'viewer' | 'history';
|
|
8
|
+
export type FocusZone = 'dashboard' | 'sidebar' | 'session-viewer' | 'modal' | 'command-palette' | 'input' | '*';
|
|
9
|
+
export interface ShortcutDef {
|
|
10
|
+
/** Unique ID: 'category.action' */
|
|
11
|
+
id: string;
|
|
12
|
+
/** Human-readable key combo. 'Mod' = Cmd on mac, Ctrl elsewhere */
|
|
13
|
+
keys: string;
|
|
14
|
+
/** Shortcut category for grouping in help overlay */
|
|
15
|
+
category: ShortcutCategory;
|
|
16
|
+
/** Short label for command palette / help overlay */
|
|
17
|
+
label: string;
|
|
18
|
+
/** Longer description (optional, for command palette search) */
|
|
19
|
+
description?: string;
|
|
20
|
+
/** Zones where this shortcut is active */
|
|
21
|
+
zones: FocusZone[];
|
|
22
|
+
}
|
|
23
|
+
export declare const SHORTCUTS: readonly ShortcutDef[];
|
|
24
|
+
/** Get all shortcuts valid for a given zone */
|
|
25
|
+
export declare function getShortcutsForZone(zone: FocusZone): ShortcutDef[];
|
|
26
|
+
/** Get a shortcut definition by its ID */
|
|
27
|
+
export declare function getShortcutById(id: string): ShortcutDef | undefined;
|
|
28
|
+
/** Get all shortcuts in a given category */
|
|
29
|
+
export declare function getShortcutsByCategory(category: ShortcutCategory): ShortcutDef[];
|
|
30
|
+
/** Category display labels for help overlay */
|
|
31
|
+
export declare const CATEGORY_LABELS: Record<ShortcutCategory, string>;
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the 'Mod' prefix to platform-specific display.
|
|
34
|
+
* 'Mod+k' → '⌘K' on mac, 'Ctrl+K' on linux/win
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveKeyDisplay(keys: string, platform: 'mac' | 'linux' | 'win'): string;
|
|
37
|
+
//# sourceMappingURL=shortcut-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcut-registry.d.ts","sourceRoot":"","sources":["../../src/shortcuts/shortcut-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,iBAAiB,GACjB,OAAO,GACP,GAAG,CAAC;AAER,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAID,eAAO,MAAM,SAAS,EAAE,SAAS,WAAW,EAsRlC,CAAC;AAIX,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,EAAE,CAElE;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEnE;AAED,4CAA4C;AAC5C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,EAAE,CAEhF;AAED,+CAA+C;AAC/C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAQ5D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAazF"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shortcut Registry — Canonical keyboard shortcut definitions.
|
|
3
|
+
*
|
|
4
|
+
* Pure data module: no React, no DOM, no Node.js imports.
|
|
5
|
+
* Shared between GUI (browser) and CLI dashboard (Ink/Node).
|
|
6
|
+
*/
|
|
7
|
+
// ─── Registry ───────────────────────────────────────────────
|
|
8
|
+
export const SHORTCUTS = [
|
|
9
|
+
// ── Global ──────────────────────────────────────────────
|
|
10
|
+
{
|
|
11
|
+
id: 'global.command-palette',
|
|
12
|
+
keys: 'Mod+k',
|
|
13
|
+
category: 'global',
|
|
14
|
+
label: 'Command palette',
|
|
15
|
+
description: 'Search all actions and shortcuts',
|
|
16
|
+
zones: ['*'],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'global.help',
|
|
20
|
+
keys: '?',
|
|
21
|
+
category: 'global',
|
|
22
|
+
label: 'Help overlay',
|
|
23
|
+
description: 'Show keyboard shortcut cheat sheet',
|
|
24
|
+
zones: ['*'],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'global.escape',
|
|
28
|
+
keys: 'Escape',
|
|
29
|
+
category: 'global',
|
|
30
|
+
label: 'Close / Back / Deselect',
|
|
31
|
+
description: 'Close modal, go back, or clear selection',
|
|
32
|
+
zones: ['*'],
|
|
33
|
+
},
|
|
34
|
+
// ── Navigation ──────────────────────────────────────────
|
|
35
|
+
{
|
|
36
|
+
id: 'nav.sessions',
|
|
37
|
+
keys: '1',
|
|
38
|
+
category: 'navigation',
|
|
39
|
+
label: 'Sessions',
|
|
40
|
+
description: 'Go to Sessions page',
|
|
41
|
+
zones: ['dashboard', 'sidebar'],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'nav.artifacts',
|
|
45
|
+
keys: '2',
|
|
46
|
+
category: 'navigation',
|
|
47
|
+
label: 'Artifacts',
|
|
48
|
+
description: 'Go to Artifacts page',
|
|
49
|
+
zones: ['dashboard', 'sidebar'],
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: 'nav.context',
|
|
53
|
+
keys: '3',
|
|
54
|
+
category: 'navigation',
|
|
55
|
+
label: 'Context',
|
|
56
|
+
description: 'Go to Context page',
|
|
57
|
+
zones: ['dashboard', 'sidebar'],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: 'nav.archive',
|
|
61
|
+
keys: '4',
|
|
62
|
+
category: 'navigation',
|
|
63
|
+
label: 'Archive',
|
|
64
|
+
description: 'Go to Archive page',
|
|
65
|
+
zones: ['dashboard', 'sidebar'],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 'nav.settings',
|
|
69
|
+
keys: '5',
|
|
70
|
+
category: 'navigation',
|
|
71
|
+
label: 'Settings',
|
|
72
|
+
description: 'Go to Settings page',
|
|
73
|
+
zones: ['dashboard', 'sidebar'],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'nav.sidebar-toggle',
|
|
77
|
+
keys: '[',
|
|
78
|
+
category: 'navigation',
|
|
79
|
+
label: 'Toggle sidebar',
|
|
80
|
+
description: 'Collapse or expand the sidebar',
|
|
81
|
+
zones: ['dashboard', 'sidebar'],
|
|
82
|
+
},
|
|
83
|
+
// ── Session Selection ───────────────────────────────────
|
|
84
|
+
{
|
|
85
|
+
id: 'session.next',
|
|
86
|
+
keys: 'j',
|
|
87
|
+
category: 'selection',
|
|
88
|
+
label: 'Next item',
|
|
89
|
+
description: 'Move keyboard focus to next session (active or history)',
|
|
90
|
+
zones: ['dashboard'],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 'session.next-arrow',
|
|
94
|
+
keys: 'ArrowDown',
|
|
95
|
+
category: 'selection',
|
|
96
|
+
label: 'Next item',
|
|
97
|
+
description: 'Move keyboard focus to next session',
|
|
98
|
+
zones: ['dashboard'],
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
id: 'session.prev',
|
|
102
|
+
keys: 'k',
|
|
103
|
+
category: 'selection',
|
|
104
|
+
label: 'Previous item',
|
|
105
|
+
description: 'Move keyboard focus to previous session (active or history)',
|
|
106
|
+
zones: ['dashboard'],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: 'session.prev-arrow',
|
|
110
|
+
keys: 'ArrowUp',
|
|
111
|
+
category: 'selection',
|
|
112
|
+
label: 'Previous item',
|
|
113
|
+
description: 'Move keyboard focus to previous session',
|
|
114
|
+
zones: ['dashboard'],
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: 'session.next-worktree',
|
|
118
|
+
keys: 'Shift+j',
|
|
119
|
+
category: 'selection',
|
|
120
|
+
label: 'Next worktree',
|
|
121
|
+
description: 'Jump to first session in next worktree group',
|
|
122
|
+
zones: ['dashboard'],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
id: 'session.prev-worktree',
|
|
126
|
+
keys: 'Shift+k',
|
|
127
|
+
category: 'selection',
|
|
128
|
+
label: 'Previous worktree',
|
|
129
|
+
description: 'Jump to first session in previous worktree group',
|
|
130
|
+
zones: ['dashboard'],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
id: 'session.toggle-select',
|
|
134
|
+
keys: 'Space',
|
|
135
|
+
category: 'selection',
|
|
136
|
+
label: 'Toggle select',
|
|
137
|
+
description: 'Toggle selection on focused session card (multi-select for tiling)',
|
|
138
|
+
zones: ['dashboard'],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: 'session.select-all',
|
|
142
|
+
keys: 'Mod+a',
|
|
143
|
+
category: 'selection',
|
|
144
|
+
label: 'Select all',
|
|
145
|
+
description: 'Select all active sessions',
|
|
146
|
+
zones: ['dashboard'],
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
id: 'session.deselect-all',
|
|
150
|
+
keys: 'x',
|
|
151
|
+
category: 'selection',
|
|
152
|
+
label: 'Clear selection',
|
|
153
|
+
description: 'Deselect all sessions',
|
|
154
|
+
zones: ['dashboard'],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
id: 'session.focus-terminal',
|
|
158
|
+
keys: 'Enter',
|
|
159
|
+
category: 'selection',
|
|
160
|
+
label: 'Focus terminal',
|
|
161
|
+
description: 'Bring the OS terminal window for this session to front',
|
|
162
|
+
zones: ['dashboard'],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
id: 'session.open',
|
|
166
|
+
keys: 'o',
|
|
167
|
+
category: 'selection',
|
|
168
|
+
label: 'Open transcript',
|
|
169
|
+
description: 'Open session transcript viewer',
|
|
170
|
+
zones: ['dashboard'],
|
|
171
|
+
},
|
|
172
|
+
// ── Tiling ──────────────────────────────────────────────
|
|
173
|
+
{
|
|
174
|
+
id: 'tile.fullscreen',
|
|
175
|
+
keys: 'f',
|
|
176
|
+
category: 'tiling',
|
|
177
|
+
label: 'Fullscreen',
|
|
178
|
+
description: 'Maximize the selected session terminal',
|
|
179
|
+
zones: ['dashboard'],
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
id: 'tile.tile-selected',
|
|
183
|
+
keys: 't',
|
|
184
|
+
category: 'tiling',
|
|
185
|
+
label: 'Tile selected',
|
|
186
|
+
description: 'Arrange selected sessions in a tile layout',
|
|
187
|
+
zones: ['dashboard'],
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
id: 'tile.browser-layout',
|
|
191
|
+
keys: 'b',
|
|
192
|
+
category: 'tiling',
|
|
193
|
+
label: 'Browser + terminal(s)',
|
|
194
|
+
description: 'Browser with terminal(s) — auto-detects 1 or 2 based on selection',
|
|
195
|
+
zones: ['dashboard'],
|
|
196
|
+
},
|
|
197
|
+
// ── Terminal Management ─────────────────────────────────
|
|
198
|
+
{
|
|
199
|
+
id: 'terminal.launch',
|
|
200
|
+
keys: 'n',
|
|
201
|
+
category: 'terminal',
|
|
202
|
+
label: 'New session',
|
|
203
|
+
description: 'Launch a new session in the focused worktree',
|
|
204
|
+
zones: ['dashboard'],
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: 'terminal.create-worktree',
|
|
208
|
+
keys: 'Shift+w',
|
|
209
|
+
category: 'terminal',
|
|
210
|
+
label: 'Create worktree',
|
|
211
|
+
description: 'Create a new git worktree',
|
|
212
|
+
zones: ['dashboard'],
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
id: 'terminal.manage-worktrees',
|
|
216
|
+
keys: 'w',
|
|
217
|
+
category: 'terminal',
|
|
218
|
+
label: 'Manage worktrees',
|
|
219
|
+
description: 'Open worktree removal dialog',
|
|
220
|
+
zones: ['dashboard'],
|
|
221
|
+
},
|
|
222
|
+
// ── Session Viewer ──────────────────────────────────────
|
|
223
|
+
{
|
|
224
|
+
id: 'viewer.prev-question',
|
|
225
|
+
keys: '[',
|
|
226
|
+
category: 'viewer',
|
|
227
|
+
label: 'Previous question',
|
|
228
|
+
description: 'Jump to previous user question',
|
|
229
|
+
zones: ['session-viewer'],
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
id: 'viewer.next-question',
|
|
233
|
+
keys: ']',
|
|
234
|
+
category: 'viewer',
|
|
235
|
+
label: 'Next question',
|
|
236
|
+
description: 'Jump to next user question',
|
|
237
|
+
zones: ['session-viewer'],
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
id: 'viewer.expand-all',
|
|
241
|
+
keys: 'e',
|
|
242
|
+
category: 'viewer',
|
|
243
|
+
label: 'Expand all',
|
|
244
|
+
description: 'Expand all collapsible blocks',
|
|
245
|
+
zones: ['session-viewer'],
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
id: 'viewer.collapse-all',
|
|
249
|
+
keys: 'c',
|
|
250
|
+
category: 'viewer',
|
|
251
|
+
label: 'Collapse all',
|
|
252
|
+
description: 'Collapse all collapsible blocks',
|
|
253
|
+
zones: ['session-viewer'],
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
id: 'viewer.scroll-end',
|
|
257
|
+
keys: 'Shift+g',
|
|
258
|
+
category: 'viewer',
|
|
259
|
+
label: 'Scroll to end',
|
|
260
|
+
description: 'Scroll to the bottom of the conversation',
|
|
261
|
+
zones: ['session-viewer'],
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
id: 'viewer.back',
|
|
265
|
+
keys: 'Backspace',
|
|
266
|
+
category: 'viewer',
|
|
267
|
+
label: 'Back',
|
|
268
|
+
description: 'Return to dashboard',
|
|
269
|
+
zones: ['session-viewer'],
|
|
270
|
+
},
|
|
271
|
+
// ── History ─────────────────────────────────────────────
|
|
272
|
+
{
|
|
273
|
+
id: 'history.toggle',
|
|
274
|
+
keys: 'h',
|
|
275
|
+
category: 'history',
|
|
276
|
+
label: 'Toggle history',
|
|
277
|
+
description: 'Expand or collapse session history section',
|
|
278
|
+
zones: ['dashboard'],
|
|
279
|
+
},
|
|
280
|
+
];
|
|
281
|
+
// ─── Helpers ────────────────────────────────────────────────
|
|
282
|
+
/** Get all shortcuts valid for a given zone */
|
|
283
|
+
export function getShortcutsForZone(zone) {
|
|
284
|
+
return SHORTCUTS.filter(s => s.zones.includes(zone) || s.zones.includes('*'));
|
|
285
|
+
}
|
|
286
|
+
/** Get a shortcut definition by its ID */
|
|
287
|
+
export function getShortcutById(id) {
|
|
288
|
+
return SHORTCUTS.find(s => s.id === id);
|
|
289
|
+
}
|
|
290
|
+
/** Get all shortcuts in a given category */
|
|
291
|
+
export function getShortcutsByCategory(category) {
|
|
292
|
+
return SHORTCUTS.filter(s => s.category === category);
|
|
293
|
+
}
|
|
294
|
+
/** Category display labels for help overlay */
|
|
295
|
+
export const CATEGORY_LABELS = {
|
|
296
|
+
global: 'Global',
|
|
297
|
+
navigation: 'Navigation',
|
|
298
|
+
selection: 'Sessions',
|
|
299
|
+
tiling: 'Tiling',
|
|
300
|
+
terminal: 'Terminal',
|
|
301
|
+
viewer: 'Viewer',
|
|
302
|
+
history: 'History',
|
|
303
|
+
};
|
|
304
|
+
/**
|
|
305
|
+
* Resolve the 'Mod' prefix to platform-specific display.
|
|
306
|
+
* 'Mod+k' → '⌘K' on mac, 'Ctrl+K' on linux/win
|
|
307
|
+
*/
|
|
308
|
+
export function resolveKeyDisplay(keys, platform) {
|
|
309
|
+
const isMac = platform === 'mac';
|
|
310
|
+
return keys
|
|
311
|
+
.replace(/Mod\+/g, isMac ? '⌘' : 'Ctrl+')
|
|
312
|
+
.replace(/Shift\+/g, isMac ? '⇧' : 'Shift+')
|
|
313
|
+
.replace(/ArrowDown/g, '↓')
|
|
314
|
+
.replace(/ArrowUp/g, '↑')
|
|
315
|
+
.replace(/ArrowLeft/g, '←')
|
|
316
|
+
.replace(/ArrowRight/g, '→')
|
|
317
|
+
.replace(/Escape/g, 'Esc')
|
|
318
|
+
.replace(/Backspace/g, '⌫')
|
|
319
|
+
.replace(/Enter/g, '↵')
|
|
320
|
+
.replace(/Space/g, '␣');
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=shortcut-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortcut-registry.js","sourceRoot":"","sources":["../../src/shortcuts/shortcut-registry.ts"],"names":[],"mappings":"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"}
|