@hasna/recordings 0.1.24 → 0.1.25
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/cli/index.js
CHANGED
|
@@ -5098,7 +5098,7 @@ var init_pg_migrate = __esm(() => {
|
|
|
5098
5098
|
var require_package = __commonJS((exports, module) => {
|
|
5099
5099
|
module.exports = {
|
|
5100
5100
|
name: "@hasna/recordings",
|
|
5101
|
-
version: "0.1.
|
|
5101
|
+
version: "0.1.25",
|
|
5102
5102
|
type: "module",
|
|
5103
5103
|
description: "Speech-to-text recording tool with MCP and CLI \u2014 records, transcribes, and optionally enhances text using AI",
|
|
5104
5104
|
repository: {
|
|
@@ -6081,7 +6081,7 @@ async function processText(rawText, config, systemPrompt) {
|
|
|
6081
6081
|
}
|
|
6082
6082
|
|
|
6083
6083
|
// src/version.ts
|
|
6084
|
-
var VERSION = "0.1.
|
|
6084
|
+
var VERSION = "0.1.25";
|
|
6085
6085
|
|
|
6086
6086
|
// src/cli/storage.ts
|
|
6087
6087
|
import chalk from "chalk";
|
|
@@ -7388,4 +7388,8 @@ function findPackageRoot() {
|
|
|
7388
7388
|
current = parent;
|
|
7389
7389
|
}
|
|
7390
7390
|
}
|
|
7391
|
-
program.
|
|
7391
|
+
program.parseAsync().catch((error) => {
|
|
7392
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
7393
|
+
console.error(`ERROR: ${msg}`);
|
|
7394
|
+
process.exit(1);
|
|
7395
|
+
});
|
package/dist/mcp/index.js
CHANGED
|
@@ -4920,7 +4920,7 @@ var require_lib2 = __commonJS((exports, module) => {
|
|
|
4920
4920
|
var require_package = __commonJS((exports, module) => {
|
|
4921
4921
|
module.exports = {
|
|
4922
4922
|
name: "@hasna/recordings",
|
|
4923
|
-
version: "0.1.
|
|
4923
|
+
version: "0.1.25",
|
|
4924
4924
|
type: "module",
|
|
4925
4925
|
description: "Speech-to-text recording tool with MCP and CLI \u2014 records, transcribes, and optionally enhances text using AI",
|
|
4926
4926
|
repository: {
|
|
@@ -9797,7 +9797,7 @@ async function processText(rawText, config, systemPrompt) {
|
|
|
9797
9797
|
}
|
|
9798
9798
|
|
|
9799
9799
|
// src/version.ts
|
|
9800
|
-
var VERSION = "0.1.
|
|
9800
|
+
var VERSION = "0.1.25";
|
|
9801
9801
|
|
|
9802
9802
|
// src/db/storage-config.ts
|
|
9803
9803
|
import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.25";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -12,6 +12,8 @@ final class FnKeyMonitor: @unchecked Sendable {
|
|
|
12
12
|
private var healthCheckTimer: Timer?
|
|
13
13
|
private var fnIsDown = false
|
|
14
14
|
|
|
15
|
+
var isRunning: Bool { eventTap != nil }
|
|
16
|
+
|
|
15
17
|
private static let fnKeyCode: UInt16 = 63
|
|
16
18
|
|
|
17
19
|
/// Start monitoring. Returns true if successful.
|
|
@@ -137,6 +137,7 @@ public final class RecordingEngine: ObservableObject {
|
|
|
137
137
|
|
|
138
138
|
// fn key monitor (CGEventTap-based, swallows fn to prevent emoji picker)
|
|
139
139
|
private let fnMonitor = FnKeyMonitor()
|
|
140
|
+
private var permissionRetryTimer: Timer?
|
|
140
141
|
|
|
141
142
|
let home = FileManager.default.homeDirectoryForCurrentUser.path
|
|
142
143
|
private var audioDir: String { "\(home)/.hasna/recordings/audio" }
|
|
@@ -193,6 +194,16 @@ public final class RecordingEngine: ObservableObject {
|
|
|
193
194
|
}
|
|
194
195
|
}
|
|
195
196
|
|
|
197
|
+
// Granting Accessibility does not revive a tap that failed to create,
|
|
198
|
+
// so retry until permissions arrive instead of requiring a relaunch.
|
|
199
|
+
permissionRetryTimer = Timer.scheduledTimer(withTimeInterval: 5.0, repeats: true) { [weak self] _ in
|
|
200
|
+
Task { @MainActor [weak self] in
|
|
201
|
+
guard let self, self.useFnKey, !self.fnMonitor.isRunning, AXIsProcessTrusted() else { return }
|
|
202
|
+
self.log("accessibility granted — retrying fn monitor")
|
|
203
|
+
self.updateFnMonitor()
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
196
207
|
updateStatus()
|
|
197
208
|
}
|
|
198
209
|
|