@hasna/recordings 0.1.0 → 0.1.2

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 (60) hide show
  1. package/LICENSE +21 -191
  2. package/bun.lock +219 -0
  3. package/bunfig.toml +2 -0
  4. package/dist/__tests__/preload.d.ts +5 -0
  5. package/dist/__tests__/preload.d.ts.map +1 -0
  6. package/dist/cli/index.d.ts +3 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +1446 -0
  9. package/dist/db/agents.d.ts +6 -0
  10. package/dist/db/agents.d.ts.map +1 -0
  11. package/dist/db/database.d.ts +7 -0
  12. package/dist/db/database.d.ts.map +1 -0
  13. package/dist/db/projects.d.ts +6 -0
  14. package/dist/db/projects.d.ts.map +1 -0
  15. package/dist/db/recordings.d.ts +15 -0
  16. package/dist/db/recordings.d.ts.map +1 -0
  17. package/dist/index.d.ts +11 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +769 -30752
  20. package/dist/lib/config.d.ts +6 -0
  21. package/dist/lib/config.d.ts.map +1 -0
  22. package/dist/lib/enhancer.d.ts +25 -0
  23. package/dist/lib/enhancer.d.ts.map +1 -0
  24. package/dist/lib/recorder.d.ts +30 -0
  25. package/dist/lib/recorder.d.ts.map +1 -0
  26. package/dist/lib/transcriber.d.ts +5 -0
  27. package/dist/lib/transcriber.d.ts.map +1 -0
  28. package/dist/mcp/index.d.ts +3 -0
  29. package/dist/mcp/index.d.ts.map +1 -0
  30. package/dist/mcp/index.js +4912 -0
  31. package/dist/types/index.d.ts +103 -0
  32. package/dist/types/index.d.ts.map +1 -0
  33. package/package.json +35 -44
  34. package/src/__tests__/agents.test.ts +136 -0
  35. package/src/__tests__/config.test.ts +252 -0
  36. package/src/__tests__/database.test.ts +167 -0
  37. package/src/__tests__/enhancer.test.ts +574 -0
  38. package/src/__tests__/preload.ts +4 -0
  39. package/src/__tests__/projects.test.ts +109 -0
  40. package/src/__tests__/recorder.test.ts +278 -0
  41. package/src/__tests__/recordings.test.ts +353 -0
  42. package/src/__tests__/transcriber.test.ts +322 -0
  43. package/src/__tests__/types.test.ts +75 -0
  44. package/src/cli/index.ts +1078 -0
  45. package/src/db/agents.ts +81 -0
  46. package/src/db/database.ts +126 -0
  47. package/src/db/projects.ts +71 -0
  48. package/src/db/recordings.ts +219 -0
  49. package/src/index.ts +81 -0
  50. package/src/lib/config.ts +166 -0
  51. package/src/lib/enhancer.ts +167 -0
  52. package/src/lib/recorder.ts +198 -0
  53. package/src/lib/transcriber.ts +105 -0
  54. package/src/mcp/index.ts +446 -0
  55. package/src/native/RecordingsHelper.swift +352 -0
  56. package/src/types/index.ts +138 -0
  57. package/tsconfig.json +21 -0
  58. package/README.md +0 -145
  59. package/dist/index.js.map +0 -272
  60. package/scripts/postinstall.ts +0 -80
@@ -0,0 +1,6 @@
1
+ import type { RecordingsConfig } from "../types/index.js";
2
+ export declare const DEFAULT_CONFIG: RecordingsConfig;
3
+ export declare function loadConfig(configPath?: string): RecordingsConfig;
4
+ export declare function getDataDir(): string;
5
+ export declare function ensureDataDir(config: RecordingsConfig): void;
6
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,eAAO,MAAM,cAAc,EAAE,gBA0B5B,CAAC;AAEF,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAmEhE;AAgBD,wBAAgB,UAAU,IAAI,MAAM,CAanC;AA0BD,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAU5D"}
@@ -0,0 +1,25 @@
1
+ import type { RecordingsConfig, EnhancementResult } from "../types/index.js";
2
+ export declare function resetEnhancementClient(): void;
3
+ /**
4
+ * Detect if the transcribed text needs AI enhancement.
5
+ *
6
+ * Detection logic:
7
+ * 1. Explicit triggers: "say it better", "rewrite this", etc.
8
+ * 2. Instruction patterns: "write an email saying...", "give instructions to..."
9
+ * 3. Meta-commentary: text that talks ABOUT what to say rather than being the content itself
10
+ */
11
+ export declare function needsEnhancement(text: string, config: RecordingsConfig): {
12
+ needs: boolean;
13
+ reason: string;
14
+ instruction: string;
15
+ };
16
+ export declare function enhanceText(rawText: string, instruction: string, config: RecordingsConfig): Promise<EnhancementResult>;
17
+ /**
18
+ * Full pipeline: detect if enhancement is needed, enhance if so.
19
+ */
20
+ export declare function processText(rawText: string, config: RecordingsConfig): Promise<{
21
+ text: string;
22
+ mode: "raw" | "enhanced";
23
+ enhancement_model: string | null;
24
+ }>;
25
+ //# sourceMappingURL=enhancer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancer.d.ts","sourceRoot":"","sources":["../../src/lib/enhancer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAiB3B,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,GACvB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAmCzD;AAoBD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,UAAU,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC,CAkBD"}
@@ -0,0 +1,30 @@
1
+ import type { RecordingsConfig } from "../types/index.js";
2
+ /**
3
+ * Check if sox/rec is available for recording
4
+ */
5
+ export declare function checkRecordingDeps(): Promise<{
6
+ available: boolean;
7
+ tool: string;
8
+ message: string;
9
+ }>;
10
+ /**
11
+ * Start recording audio from microphone
12
+ */
13
+ export declare function startRecording(config: RecordingsConfig): string;
14
+ /**
15
+ * Stop the current recording
16
+ */
17
+ export declare function stopRecording(): string | null;
18
+ /**
19
+ * Check if currently recording
20
+ */
21
+ export declare function isRecording(): boolean;
22
+ /**
23
+ * Get current recording file path
24
+ */
25
+ export declare function getCurrentFile(): string | null;
26
+ /**
27
+ * Record for a specific duration (non-interactive)
28
+ */
29
+ export declare function recordDuration(seconds: number, config: RecordingsConfig): Promise<string>;
30
+ //# sourceMappingURL=recorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/lib/recorder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM1D;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAqDD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CA6B/D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAa7C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAwBD;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
@@ -0,0 +1,5 @@
1
+ import type { RecordingsConfig, TranscriptionResult } from "../types/index.js";
2
+ export declare function resetClient(): void;
3
+ export declare function transcribeAudio(audioPath: string, config: RecordingsConfig): Promise<TranscriptionResult>;
4
+ export declare function transcribeBuffer(buffer: Buffer, filename: string, config: RecordingsConfig): Promise<TranscriptionResult>;
5
+ //# sourceMappingURL=transcriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcriber.d.ts","sourceRoot":"","sources":["../../src/lib/transcriber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAgB/E,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,mBAAmB,CAAC,CAwB9B;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,mBAAmB,CAAC,CA4B9B"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":""}