@tasks-timeline/components 0.4.10 → 0.4.11

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.
@@ -4,7 +4,7 @@ export { deriveTaskStatus, groupTasksByYearAndDate, computeDateValidation, type
4
4
  export { parseTaskString } from "./parsing";
5
5
  export { getToolDefinitions } from "../providers/tools";
6
6
  export { getTodayISO, getNowISO, getTomorrowISO, getYesterdayISO, dateToISODate, dateToISO, getDaysFromNowISO, isSameDay, isToday, generateTimestampId, } from "./date-helpers";
7
- export { BrowserVoiceProvider, OpenAIWhisperProvider, GeminiSpeechProvider, type IVoiceProvider, type VoiceInputResult, type VoiceInputError, } from "./voice-providers";
7
+ export { BrowserVoiceProvider, OpenAIWhisperProvider, GeminiSpeechProvider, type IVoiceProvider, type VoiceInputResult, type VoiceInputError, type VoiceRuntime, type VoiceRuntimeRequest, type VoiceRuntimeResponse, } from "./voice-providers";
8
8
  /**
9
9
  * Deep equality comparison for objects
10
10
  * Used to detect if a task has actually changed before persisting
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CA8B/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CA8B/D"}
@@ -16,6 +16,29 @@ export interface VoiceInputError {
16
16
  code: string;
17
17
  message: string;
18
18
  }
19
+ export interface VoiceRuntimeRequest {
20
+ url: string;
21
+ method?: string;
22
+ headers?: Record<string, string>;
23
+ contentType?: string;
24
+ body?: string | ArrayBuffer;
25
+ }
26
+ export interface VoiceRuntimeResponse {
27
+ status: number;
28
+ text: string;
29
+ }
30
+ export interface VoiceRuntime {
31
+ /**
32
+ * Window to use for browser APIs. Obsidian popout windows expose their own
33
+ * constructors, so hosts should pass the active workspace window when known.
34
+ */
35
+ win?: Window;
36
+ /**
37
+ * Host-provided HTTP implementation. Obsidian should wire this to requestUrl
38
+ * to avoid browser CORS restrictions for OpenAI/Gemini transcription calls.
39
+ */
40
+ request?: (request: VoiceRuntimeRequest) => Promise<VoiceRuntimeResponse>;
41
+ }
19
42
  /**
20
43
  * Base interface for all voice input providers
21
44
  */
@@ -27,7 +50,7 @@ export interface IVoiceProvider {
27
50
  * @param onError - Callback when an error occurs
28
51
  * @returns Cleanup function to stop listening
29
52
  */
30
- start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void): () => void;
53
+ start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void, onEnd?: () => void): () => void;
31
54
  /**
32
55
  * Check if this provider is available in the current environment
33
56
  */
@@ -38,9 +61,11 @@ export interface IVoiceProvider {
38
61
  getName(): string;
39
62
  }
40
63
  export declare class BrowserVoiceProvider implements IVoiceProvider {
64
+ private runtime?;
65
+ constructor(runtime?: VoiceRuntime);
41
66
  getName(): string;
42
67
  isAvailable(): boolean;
43
- start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void): () => void;
68
+ start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void, onEnd?: () => void): () => void;
44
69
  }
45
70
  export interface OpenAIWhisperConfig {
46
71
  apiKey: string;
@@ -49,13 +74,16 @@ export interface OpenAIWhisperConfig {
49
74
  }
50
75
  export declare class OpenAIWhisperProvider implements IVoiceProvider {
51
76
  private config;
77
+ private runtime?;
52
78
  private mediaRecorder;
53
79
  private audioChunks;
54
- constructor(config: OpenAIWhisperConfig);
80
+ constructor(config: OpenAIWhisperConfig, runtime?: VoiceRuntime);
55
81
  getName(): string;
56
82
  isAvailable(): boolean;
57
- start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void): () => void;
83
+ start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void, onEnd?: () => void): () => void;
58
84
  private transcribeWithWhisper;
85
+ private resolveTranscriptionUrl;
86
+ private buildMultipartBody;
59
87
  }
60
88
  export interface GeminiSpeechConfig {
61
89
  apiKey: string;
@@ -63,12 +91,13 @@ export interface GeminiSpeechConfig {
63
91
  }
64
92
  export declare class GeminiSpeechProvider implements IVoiceProvider {
65
93
  private config;
94
+ private runtime?;
66
95
  private mediaRecorder;
67
96
  private audioChunks;
68
- constructor(config: GeminiSpeechConfig);
97
+ constructor(config: GeminiSpeechConfig, runtime?: VoiceRuntime);
69
98
  getName(): string;
70
99
  isAvailable(): boolean;
71
- start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void): () => void;
100
+ start(language: string, onResult: (result: VoiceInputResult) => void, onError: (error: VoiceInputError) => void, onEnd?: () => void): () => void;
72
101
  private transcribeWithGemini;
73
102
  private blobToBase64;
74
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"voice-providers.d.ts","sourceRoot":"","sources":["../../src/utils/voice-providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,EAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GACxC,MAAM,IAAI,CAAC;IAEd;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAC;CACnB;AA8CD,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,OAAO;IAKtB,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,EAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GACxC,MAAM,IAAI;CAkFd;AAMD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,mBAAmB;IAIvC,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,OAAO;IAItB,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,EAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GACxC,MAAM,IAAI;YAmEC,qBAAqB;CA8BpC;AAMD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,oBAAqB,YAAW,cAAc;IACzD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE,kBAAkB;IAItC,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,OAAO;IAItB,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,EAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GACxC,MAAM,IAAI;YAmEC,oBAAoB;YA6CpB,YAAY;CAW3B"}
1
+ {"version":3,"file":"voice-providers.d.ts","sourceRoot":"","sources":["../../src/utils/voice-providers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tasks-timeline/components",
3
3
  "description": "A comprehensive React component library for task management and timeline visualization",
4
4
  "private": false,
5
- "version": "0.4.10",
5
+ "version": "0.4.11",
6
6
  "type": "module",
7
7
  "license": "MIT",
8
8
  "author": "Leonezz <zhwuenqa@outlook.com>",