@ottocode/web-sdk 0.1.288 → 0.1.290

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 (80) hide show
  1. package/dist/assets/provider-logos.d.ts +1 -1
  2. package/dist/assets/provider-logos.d.ts.map +1 -1
  3. package/dist/components/browser/BrowserViewerPanel.d.ts +25 -0
  4. package/dist/components/browser/BrowserViewerPanel.d.ts.map +1 -1
  5. package/dist/components/chat/ChatInput.d.ts.map +1 -1
  6. package/dist/components/chat/ChatInputKeyHandler.d.ts +6 -0
  7. package/dist/components/chat/ChatInputKeyHandler.d.ts.map +1 -1
  8. package/dist/components/chat/ConfigModal.d.ts.map +1 -1
  9. package/dist/components/chat/DictationInstallPrompt.d.ts +8 -0
  10. package/dist/components/chat/DictationInstallPrompt.d.ts.map +1 -0
  11. package/dist/components/chat/LiveWaveform.d.ts +32 -0
  12. package/dist/components/chat/LiveWaveform.d.ts.map +1 -0
  13. package/dist/components/chat/ReasoningTabs.d.ts +13 -0
  14. package/dist/components/chat/ReasoningTabs.d.ts.map +1 -0
  15. package/dist/components/chat/ShortcutsModal.d.ts.map +1 -1
  16. package/dist/components/chat/SkillMentionPopup.d.ts +12 -0
  17. package/dist/components/chat/SkillMentionPopup.d.ts.map +1 -0
  18. package/dist/components/git/GitFileTree.d.ts.map +1 -1
  19. package/dist/components/index.d.ts +3 -0
  20. package/dist/components/index.d.ts.map +1 -1
  21. package/dist/components/index.js +9619 -7188
  22. package/dist/components/index.js.map +53 -43
  23. package/dist/components/messages/UserMessageGroup.d.ts.map +1 -1
  24. package/dist/components/onboarding/OnboardingModal.d.ts.map +1 -1
  25. package/dist/components/onboarding/steps/ProviderSetupStep.d.ts +10 -0
  26. package/dist/components/onboarding/steps/ProviderSetupStep.d.ts.map +1 -1
  27. package/dist/components/settings/DictationSettings.d.ts +6 -0
  28. package/dist/components/settings/DictationSettings.d.ts.map +1 -0
  29. package/dist/components/settings/SettingsSidebar.d.ts.map +1 -1
  30. package/dist/components/ui/Modal.d.ts +1 -1
  31. package/dist/components/ui/Modal.d.ts.map +1 -1
  32. package/dist/components/workspace/ViewerTabs.d.ts.map +1 -1
  33. package/dist/hooks/index.d.ts +3 -1
  34. package/dist/hooks/index.d.ts.map +1 -1
  35. package/dist/hooks/index.js +713 -210
  36. package/dist/hooks/index.js.map +20 -17
  37. package/dist/hooks/useAuthStatus.d.ts +5 -0
  38. package/dist/hooks/useAuthStatus.d.ts.map +1 -1
  39. package/dist/hooks/useConfig.d.ts +24 -0
  40. package/dist/hooks/useConfig.d.ts.map +1 -1
  41. package/dist/hooks/useDictationModels.d.ts +23 -0
  42. package/dist/hooks/useDictationModels.d.ts.map +1 -0
  43. package/dist/hooks/useOttoRouterPayments.d.ts +2 -0
  44. package/dist/hooks/useOttoRouterPayments.d.ts.map +1 -0
  45. package/dist/hooks/usePreferences.d.ts +2 -3
  46. package/dist/hooks/usePreferences.d.ts.map +1 -1
  47. package/dist/hooks/useSkillMention.d.ts +16 -0
  48. package/dist/hooks/useSkillMention.d.ts.map +1 -0
  49. package/dist/hooks/useTheme.d.ts +1 -1
  50. package/dist/hooks/useTheme.d.ts.map +1 -1
  51. package/dist/hooks/useVoiceInput.d.ts +24 -0
  52. package/dist/hooks/useVoiceInput.d.ts.map +1 -0
  53. package/dist/index.js +9668 -7250
  54. package/dist/index.js.map +55 -45
  55. package/dist/lib/api-client/auth.d.ts +10 -0
  56. package/dist/lib/api-client/auth.d.ts.map +1 -1
  57. package/dist/lib/api-client/config.d.ts +18 -0
  58. package/dist/lib/api-client/config.d.ts.map +1 -1
  59. package/dist/lib/api-client/dictation.d.ts +74 -0
  60. package/dist/lib/api-client/dictation.d.ts.map +1 -0
  61. package/dist/lib/api-client/index.d.ts +35 -0
  62. package/dist/lib/api-client/index.d.ts.map +1 -1
  63. package/dist/lib/api-client/utils.d.ts +1 -0
  64. package/dist/lib/api-client/utils.d.ts.map +1 -1
  65. package/dist/lib/config.d.ts +6 -0
  66. package/dist/lib/config.d.ts.map +1 -1
  67. package/dist/lib/index.d.ts +1 -1
  68. package/dist/lib/index.d.ts.map +1 -1
  69. package/dist/lib/index.js +186 -29
  70. package/dist/lib/index.js.map +10 -9
  71. package/dist/lib/skillMentions.d.ts +8 -0
  72. package/dist/lib/skillMentions.d.ts.map +1 -0
  73. package/dist/stores/index.d.ts +1 -0
  74. package/dist/stores/index.d.ts.map +1 -1
  75. package/dist/stores/index.js +42 -2
  76. package/dist/stores/index.js.map +6 -5
  77. package/dist/stores/skillsStore.d.ts.map +1 -1
  78. package/package.json +3 -3
  79. package/dist/hooks/useSetuPayments.d.ts +0 -2
  80. package/dist/hooks/useSetuPayments.d.ts.map +0 -1
@@ -62,6 +62,16 @@ export declare const authMixin: {
62
62
  success: boolean;
63
63
  provider: string;
64
64
  }>;
65
+ startOpenAIDeviceFlow(): Promise<{
66
+ sessionId: string;
67
+ userCode: string;
68
+ verificationUri: string;
69
+ interval: number;
70
+ }>;
71
+ pollOpenAIDeviceFlow(sessionId: string): Promise<{
72
+ status: "complete" | "pending" | "error";
73
+ error?: string;
74
+ }>;
65
75
  startCopilotDeviceFlow(): Promise<{
66
76
  sessionId: string;
67
77
  userCode: string;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/auth.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,12 @@ export declare const configMixin: {
22
22
  guidedMode?: boolean;
23
23
  reasoningText?: boolean;
24
24
  reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
25
+ theme?: "light" | "dark";
26
+ vimMode?: boolean;
27
+ compactThread?: boolean;
28
+ fontFamily?: string;
29
+ smartEdges?: boolean;
30
+ releaseToSend?: boolean;
25
31
  fullWidthContent?: boolean;
26
32
  autoCompactThresholdTokens?: number | null;
27
33
  };
@@ -81,6 +87,12 @@ export declare const configMixin: {
81
87
  guidedMode?: boolean;
82
88
  reasoningText?: boolean;
83
89
  reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
90
+ theme?: "light" | "dark";
91
+ vimMode?: boolean;
92
+ compactThread?: boolean;
93
+ fontFamily?: string;
94
+ smartEdges?: boolean;
95
+ releaseToSend?: boolean;
84
96
  fullWidthContent?: boolean;
85
97
  autoCompactThresholdTokens?: number | null;
86
98
  scope?: "global" | "local";
@@ -94,6 +106,12 @@ export declare const configMixin: {
94
106
  guidedMode?: boolean;
95
107
  reasoningText?: boolean;
96
108
  reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
109
+ theme?: "light" | "dark";
110
+ vimMode?: boolean;
111
+ compactThread?: boolean;
112
+ fontFamily?: string;
113
+ smartEdges?: boolean;
114
+ releaseToSend?: boolean;
97
115
  fullWidthContent?: boolean;
98
116
  autoCompactThresholdTokens?: number | null;
99
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ export type DictationModelInstallStatus = 'idle' | 'installing' | 'verifying' | 'installed' | 'error';
2
+ export interface DictationModelState {
3
+ id: string;
4
+ label: string;
5
+ language: 'en' | 'multi';
6
+ sizeBytes: number;
7
+ url: string;
8
+ sha256: string;
9
+ recommended?: boolean;
10
+ installed: boolean;
11
+ installing: boolean;
12
+ installedSizeBytes: number;
13
+ installStatus: DictationModelInstallStatus;
14
+ progressBytes: number;
15
+ totalBytes: number;
16
+ error?: string;
17
+ errorCode?: string;
18
+ }
19
+ export interface DictationStatusResponse {
20
+ available: boolean;
21
+ engine: string;
22
+ engineInstalled: boolean;
23
+ defaultModel: string;
24
+ format?: {
25
+ encoding?: string;
26
+ sampleRate?: number;
27
+ channels?: number;
28
+ };
29
+ models: DictationModelState[];
30
+ }
31
+ export interface DictationModelsResponse {
32
+ models: DictationModelState[];
33
+ }
34
+ export interface InstallDictationModelInput {
35
+ model: string;
36
+ force?: boolean;
37
+ }
38
+ export interface InstallDictationModelResponse {
39
+ model: DictationModelState;
40
+ }
41
+ export interface RemoveDictationModelResponse {
42
+ removed: boolean;
43
+ model: DictationModelState;
44
+ }
45
+ export interface DictationModelInstallEvent {
46
+ type: 'model';
47
+ model: DictationModelState;
48
+ }
49
+ export interface CreateDictationSessionInput {
50
+ model?: string;
51
+ language?: string;
52
+ }
53
+ export interface CreateDictationSessionResponse {
54
+ id: string;
55
+ wsUrl: string;
56
+ model: string;
57
+ modelInstalled: boolean;
58
+ format: {
59
+ encoding: string;
60
+ sampleRate: number;
61
+ channels: number;
62
+ };
63
+ }
64
+ declare function buildInstallEventsUrl(model: string): string;
65
+ export declare const dictationMixin: {
66
+ getDictationStatus(): Promise<DictationStatusResponse>;
67
+ listDictationModels(): Promise<DictationModelsResponse>;
68
+ installDictationModel({ model, force, }: InstallDictationModelInput): Promise<InstallDictationModelResponse>;
69
+ removeDictationModel(model: string): Promise<RemoveDictationModelResponse>;
70
+ createDictationSession(input?: CreateDictationSessionInput): Promise<CreateDictationSessionResponse>;
71
+ getDictationModelInstallEventsUrl: typeof buildInstallEventsUrl;
72
+ };
73
+ export {};
74
+ //# sourceMappingURL=dictation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/dictation.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,2BAA2B,GACpC,MAAM,GACN,YAAY,GACZ,WAAW,GACX,WAAW,GACX,OAAO,CAAC;AAEX,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,2BAA2B,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACvC,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC7C,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF;AAUD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,eAAO,MAAM,cAAc;0BACE,OAAO,CAAC,uBAAuB,CAAC;2BAY/B,OAAO,CAAC,uBAAuB,CAAC;6CAU1D,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,CAAC;gCAW9D,MAAM,GACX,OAAO,CAAC,4BAA4B,CAAC;mCAWhC,2BAA2B,GAChC,OAAO,CAAC,8BAA8B,CAAC;;CAO1C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { configureApiClient } from './utils';
2
+ export type { CreateDictationSessionInput, CreateDictationSessionResponse, DictationModelInstallEvent, DictationModelInstallStatus, DictationModelState, DictationModelsResponse, DictationStatusResponse, InstallDictationModelInput, InstallDictationModelResponse, RemoveDictationModelResponse, } from './dictation';
2
3
  declare class ApiClient {
3
4
  getSessions: () => Promise<import("../..").Session[]>;
4
5
  getSessionsPage: (params?: {
@@ -104,6 +105,12 @@ declare class ApiClient {
104
105
  guidedMode?: boolean;
105
106
  reasoningText?: boolean;
106
107
  reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
108
+ theme?: "light" | "dark";
109
+ vimMode?: boolean;
110
+ compactThread?: boolean;
111
+ fontFamily?: string;
112
+ smartEdges?: boolean;
113
+ releaseToSend?: boolean;
107
114
  fullWidthContent?: boolean;
108
115
  autoCompactThresholdTokens?: number | null;
109
116
  };
@@ -163,6 +170,12 @@ declare class ApiClient {
163
170
  guidedMode?: boolean;
164
171
  reasoningText?: boolean;
165
172
  reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
173
+ theme?: "light" | "dark";
174
+ vimMode?: boolean;
175
+ compactThread?: boolean;
176
+ fontFamily?: string;
177
+ smartEdges?: boolean;
178
+ releaseToSend?: boolean;
166
179
  fullWidthContent?: boolean;
167
180
  autoCompactThresholdTokens?: number | null;
168
181
  scope?: "global" | "local";
@@ -176,6 +189,12 @@ declare class ApiClient {
176
189
  guidedMode?: boolean;
177
190
  reasoningText?: boolean;
178
191
  reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh";
192
+ theme?: "light" | "dark";
193
+ vimMode?: boolean;
194
+ compactThread?: boolean;
195
+ fontFamily?: string;
196
+ smartEdges?: boolean;
197
+ releaseToSend?: boolean;
179
198
  fullWidthContent?: boolean;
180
199
  autoCompactThresholdTokens?: number | null;
181
200
  };
@@ -423,6 +442,16 @@ declare class ApiClient {
423
442
  success: boolean;
424
443
  provider: string;
425
444
  }>;
445
+ startOpenAIDeviceFlow: () => Promise<{
446
+ sessionId: string;
447
+ userCode: string;
448
+ verificationUri: string;
449
+ interval: number;
450
+ }>;
451
+ pollOpenAIDeviceFlow: (sessionId: string) => Promise<{
452
+ status: "complete" | "pending" | "error";
453
+ error?: string;
454
+ }>;
426
455
  startCopilotDeviceFlow: () => Promise<{
427
456
  sessionId: string;
428
457
  userCode: string;
@@ -502,6 +531,12 @@ declare class ApiClient {
502
531
  }) => Promise<import("./skills").SkillsConfigResponse>;
503
532
  getUsageStats: () => Promise<import("@ottocode/api").UsageStats>;
504
533
  getGlobalUsageStats: () => Promise<import("@ottocode/api").UsageStats>;
534
+ getDictationStatus: () => Promise<import("./dictation").DictationStatusResponse>;
535
+ listDictationModels: () => Promise<import("./dictation").DictationModelsResponse>;
536
+ installDictationModel: ({ model, force, }: import("./dictation").InstallDictationModelInput) => Promise<import("./dictation").InstallDictationModelResponse>;
537
+ removeDictationModel: (model: string) => Promise<import("./dictation").RemoveDictationModelResponse>;
538
+ createDictationSession: (input?: import("./dictation").CreateDictationSessionInput) => Promise<import("./dictation").CreateDictationSessionResponse>;
539
+ getDictationModelInstallEventsUrl: (model: string) => string;
505
540
  }
506
541
  export declare const apiClient: ApiClient;
507
542
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Session, Message } from '../../types/api';
3
3
  export declare function extractErrorMessage(error: unknown): string;
4
4
  export declare function configureApiClient(): void;
5
5
  export declare function getBaseUrl(): string;
6
+ export declare function setRuntimeApiBaseUrl(value: string): string;
6
7
  export declare function convertSession(apiSession: ApiSession): Session;
7
8
  export declare function convertMessage(apiMessage: ApiMessage): Message;
8
9
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,OAAO,IAAI,UAAU,EACrB,OAAO,IAAI,UAAU,EACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAaxD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkB1D;AAED,wBAAgB,kBAAkB,SAOjC;AAID,wBAAgB,UAAU,IAAI,MAAM,CAInC;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAiB9D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAa9D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/api-client/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,OAAO,IAAI,UAAU,EACrB,OAAO,IAAI,UAAU,EACrB,MAAM,eAAe,CAAC;AAKvB,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AASxD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkB1D;AAED,wBAAgB,kBAAkB,SAMjC;AAID,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAiB9D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAa9D"}
@@ -1,3 +1,9 @@
1
+ export declare const RUNTIME_API_BASE_URL_STORAGE_KEY = "otto-api-base-url";
2
+ export declare function normalizeApiBaseUrl(value: string): string;
3
+ export declare function getConfiguredRuntimeApiBaseUrl(): string | undefined;
4
+ export declare function hasConfiguredRuntimeApiBaseUrl(): boolean;
5
+ export declare function setRuntimeApiBaseUrl(value: string): string;
6
+ export declare function clearRuntimeApiBaseUrl(): void;
1
7
  export declare function getRuntimeApiBaseUrl(): string;
2
8
  export declare const API_BASE_URL: string;
3
9
  export declare const config: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AA6BA,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,eAAO,MAAM,YAAY,QAAsB,CAAC;AAEhD,eAAO,MAAM,MAAM;;CAElB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gCAAgC,sBAAsB,CAAC;AAEpE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBzD;AAaD,wBAAgB,8BAA8B,IAAI,MAAM,GAAG,SAAS,CAenE;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAY1D;AAED,wBAAgB,sBAAsB,SAUrC;AAgBD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,eAAO,MAAM,YAAY,QAAsB,CAAC;AAEhD,eAAO,MAAM,MAAM;;CAElB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from './api-client';
2
2
  export * from './sse-client';
3
- export * from './config';
3
+ export { API_BASE_URL, RUNTIME_API_BASE_URL_STORAGE_KEY, clearRuntimeApiBaseUrl, config, getConfiguredRuntimeApiBaseUrl, getRuntimeApiBaseUrl, hasConfiguredRuntimeApiBaseUrl, normalizeApiBaseUrl, setRuntimeApiBaseUrl, } from './config';
4
4
  export * from './platform';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACN,YAAY,EACZ,gCAAgC,EAChC,sBAAsB,EACtB,MAAM,EACN,8BAA8B,EAC9B,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,UAAU,CAAC;AAClB,cAAc,YAAY,CAAC"}
package/dist/lib/index.js CHANGED
@@ -18,20 +18,83 @@ import {
18
18
  import { client } from "@ottocode/api";
19
19
 
20
20
  // src/lib/config.ts
21
- function computeApiBaseUrl() {
22
- const envUrl = import.meta.env?.VITE_API_BASE_URL;
23
- if (envUrl) {
24
- return envUrl;
21
+ var RUNTIME_API_BASE_URL_STORAGE_KEY = "otto-api-base-url";
22
+ function normalizeApiBaseUrl(value) {
23
+ const trimmed = value.trim();
24
+ if (!trimmed) {
25
+ throw new Error("Enter an otto tunnel URL.");
26
+ }
27
+ let url;
28
+ try {
29
+ url = new URL(trimmed);
30
+ } catch {
31
+ throw new Error("Enter a valid URL, including http:// or https://.");
25
32
  }
33
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
34
+ throw new Error("Tunnel URL must start with http:// or https://.");
35
+ }
36
+ url.hash = "";
37
+ url.pathname = url.pathname.replace(/\/+$/, "") || "";
38
+ return url.toString().replace(/\/+$/, "");
39
+ }
40
+ function getStoredApiBaseUrl() {
41
+ if (typeof window === "undefined")
42
+ return;
43
+ try {
44
+ return window.localStorage.getItem(RUNTIME_API_BASE_URL_STORAGE_KEY) ?? undefined;
45
+ } catch {
46
+ return;
47
+ }
48
+ }
49
+ function getConfiguredRuntimeApiBaseUrl() {
50
+ if (typeof window === "undefined")
51
+ return;
52
+ const params = new URLSearchParams(window.location.search);
53
+ const urlParam = params.get("url");
54
+ if (urlParam)
55
+ return normalizeApiBaseUrl(urlParam);
56
+ const win = window;
57
+ if (win.OTTO_SERVER_URL)
58
+ return normalizeApiBaseUrl(win.OTTO_SERVER_URL);
59
+ if (win.__OTTO_API_URL__)
60
+ return normalizeApiBaseUrl(win.__OTTO_API_URL__);
61
+ const storedUrl = getStoredApiBaseUrl();
62
+ if (storedUrl)
63
+ return normalizeApiBaseUrl(storedUrl);
64
+ return;
65
+ }
66
+ function hasConfiguredRuntimeApiBaseUrl() {
67
+ return Boolean(getConfiguredRuntimeApiBaseUrl());
68
+ }
69
+ function setRuntimeApiBaseUrl(value) {
70
+ const baseUrl = normalizeApiBaseUrl(value);
26
71
  if (typeof window !== "undefined") {
27
72
  const win = window;
28
- if (win.OTTO_SERVER_URL) {
29
- return win.OTTO_SERVER_URL;
30
- }
31
- if (win.__OTTO_API_URL__) {
32
- return win.__OTTO_API_URL__;
33
- }
73
+ win.OTTO_SERVER_URL = baseUrl;
74
+ try {
75
+ window.localStorage.setItem(RUNTIME_API_BASE_URL_STORAGE_KEY, baseUrl);
76
+ } catch {}
77
+ }
78
+ return baseUrl;
79
+ }
80
+ function clearRuntimeApiBaseUrl() {
81
+ if (typeof window === "undefined")
82
+ return;
83
+ const win = window;
84
+ delete win.OTTO_SERVER_URL;
85
+ delete win.__OTTO_API_URL__;
86
+ try {
87
+ window.localStorage.removeItem(RUNTIME_API_BASE_URL_STORAGE_KEY);
88
+ } catch {}
89
+ }
90
+ function computeApiBaseUrl() {
91
+ const runtimeUrl = getConfiguredRuntimeApiBaseUrl();
92
+ if (runtimeUrl) {
93
+ return runtimeUrl;
34
94
  }
95
+ const envUrl = import.meta.env?.VITE_API_BASE_URL;
96
+ if (envUrl)
97
+ return normalizeApiBaseUrl(envUrl);
35
98
  return "http://localhost:9100";
36
99
  }
37
100
  function getRuntimeApiBaseUrl() {
@@ -74,8 +137,7 @@ function extractErrorMessage(error) {
74
137
  return "Unknown error";
75
138
  }
76
139
  function configureApiClient() {
77
- const win = window;
78
- const baseURL = win.OTTO_SERVER_URL || API_BASE_URL;
140
+ const baseURL = getRuntimeApiBaseUrl();
79
141
  client.setConfig({
80
142
  baseURL,
81
143
  adapter: getClientAdapter()
@@ -83,10 +145,7 @@ function configureApiClient() {
83
145
  }
84
146
  configureApiClient();
85
147
  function getBaseUrl() {
86
- const win = window;
87
- if (win.OTTO_SERVER_URL)
88
- return win.OTTO_SERVER_URL;
89
- return API_BASE_URL;
148
+ return getRuntimeApiBaseUrl();
90
149
  }
91
150
  function convertSession(apiSession) {
92
151
  return {
@@ -608,9 +667,9 @@ var approvalMixin = {
608
667
 
609
668
  // src/lib/api-client/ottorouter.ts
610
669
  import {
611
- getOttoRouterBalance as apiGetSetuBalance,
612
- getOttoRouterWallet as apiGetSetuWallet,
613
- getOttoRouterUsdcBalance as apiGetSetuUsdcBalance,
670
+ getOttoRouterBalance as apiGetOttoRouterBalance,
671
+ getOttoRouterWallet as apiGetOttoRouterWallet,
672
+ getOttoRouterUsdcBalance as apiGetOttoRouterUsdcBalance,
614
673
  createPolarCheckout as apiCreatePolarCheckout,
615
674
  getPolarTopupEstimate as apiGetPolarTopupEstimate,
616
675
  getPolarTopupStatus as apiGetPolarTopupStatus,
@@ -624,7 +683,7 @@ import {
624
683
  var ottorouterMixin = {
625
684
  async getOttoRouterBalance() {
626
685
  try {
627
- const response = await apiGetSetuBalance();
686
+ const response = await apiGetOttoRouterBalance();
628
687
  if (response.error)
629
688
  return null;
630
689
  return response.data;
@@ -634,7 +693,7 @@ var ottorouterMixin = {
634
693
  },
635
694
  async getOttoRouterWallet() {
636
695
  try {
637
- const response = await apiGetSetuWallet();
696
+ const response = await apiGetOttoRouterWallet();
638
697
  if (response.error)
639
698
  return { configured: false };
640
699
  return response.data;
@@ -644,7 +703,7 @@ var ottorouterMixin = {
644
703
  },
645
704
  async getOttoRouterUsdcBalance(network = "mainnet") {
646
705
  try {
647
- const response = await apiGetSetuUsdcBalance({
706
+ const response = await apiGetOttoRouterUsdcBalance({
648
707
  query: { network }
649
708
  });
650
709
  if (response.error)
@@ -747,14 +806,16 @@ var ottorouterMixin = {
747
806
  // src/lib/api-client/auth.ts
748
807
  import {
749
808
  getAuthStatus as apiGetAuthStatus,
750
- setupOttoRouterWallet as apiSetupSetuWallet,
751
- importOttoRouterWallet as apiImportSetuWallet,
752
- exportOttoRouterWallet as apiExportSetuWallet,
809
+ setupOttoRouterWallet as apiSetupOttoRouterWallet,
810
+ importOttoRouterWallet as apiImportOttoRouterWallet,
811
+ exportOttoRouterWallet as apiExportOttoRouterWallet,
753
812
  addProviderApiKey as apiAddProviderApiKey,
754
813
  removeProvider as apiRemoveProvider,
755
814
  completeOnboarding as apiCompleteOnboarding,
756
815
  getOAuthUrl as apiGetOAuthUrl,
757
816
  exchangeOAuthCode as apiExchangeOAuthCode,
817
+ startOpenAiDeviceFlow as apiStartOpenAiDeviceFlow,
818
+ pollOpenAiDeviceFlow as apiPollOpenAiDeviceFlow,
758
819
  startCopilotDeviceFlow as apiStartCopilotDeviceFlow,
759
820
  pollCopilotDeviceFlow as apiPollCopilotDeviceFlow,
760
821
  getCopilotAuthMethods as apiGetCopilotAuthMethods,
@@ -771,13 +832,13 @@ var authMixin = {
771
832
  return response.data;
772
833
  },
773
834
  async setupOttoRouterWallet() {
774
- const response = await apiSetupSetuWallet();
835
+ const response = await apiSetupOttoRouterWallet();
775
836
  if (response.error)
776
837
  throw new Error(extractErrorMessage(response.error));
777
838
  return response.data;
778
839
  },
779
840
  async importOttoRouterWallet(privateKey) {
780
- const response = await apiImportSetuWallet({
841
+ const response = await apiImportOttoRouterWallet({
781
842
  body: { privateKey }
782
843
  });
783
844
  if (response.error)
@@ -785,7 +846,7 @@ var authMixin = {
785
846
  return response.data;
786
847
  },
787
848
  async exportOttoRouterWallet() {
788
- const response = await apiExportSetuWallet();
849
+ const response = await apiExportOttoRouterWallet();
789
850
  if (response.error)
790
851
  throw new Error(extractErrorMessage(response.error));
791
852
  return response.data;
@@ -835,6 +896,20 @@ var authMixin = {
835
896
  throw new Error(extractErrorMessage(response.error));
836
897
  return response.data;
837
898
  },
899
+ async startOpenAIDeviceFlow() {
900
+ const response = await apiStartOpenAiDeviceFlow();
901
+ if (response.error)
902
+ throw new Error(extractErrorMessage(response.error));
903
+ return response.data;
904
+ },
905
+ async pollOpenAIDeviceFlow(sessionId) {
906
+ const response = await apiPollOpenAiDeviceFlow({
907
+ body: { sessionId }
908
+ });
909
+ if (response.error)
910
+ throw new Error(extractErrorMessage(response.error));
911
+ return response.data;
912
+ },
838
913
  async startCopilotDeviceFlow() {
839
914
  const response = await apiStartCopilotDeviceFlow();
840
915
  if (response.error)
@@ -957,6 +1032,74 @@ var usageMixin = {
957
1032
  }
958
1033
  };
959
1034
 
1035
+ // src/lib/api-client/dictation.ts
1036
+ import {
1037
+ getDictationStatus as apiGetDictationStatus,
1038
+ installDictationModel as apiInstallDictationModel,
1039
+ listDictationModels as apiListDictationModels,
1040
+ removeDictationModel as apiRemoveDictationModel,
1041
+ createDictationSession as apiCreateDictationSession
1042
+ } from "@ottocode/api";
1043
+ function coerceModelState(value) {
1044
+ return value;
1045
+ }
1046
+ function coerceModels(value) {
1047
+ return Array.isArray(value) ? value.map(coerceModelState) : [];
1048
+ }
1049
+ function buildInstallEventsUrl(model) {
1050
+ const baseUrl = getBaseUrl().replace(/\/+$/, "");
1051
+ return `${baseUrl}/v1/dictation/models/${encodeURIComponent(model)}/install/events`;
1052
+ }
1053
+ var dictationMixin = {
1054
+ async getDictationStatus() {
1055
+ const response = await apiGetDictationStatus();
1056
+ if (response.error)
1057
+ throw new Error(extractErrorMessage(response.error));
1058
+ const data = response.data;
1059
+ return {
1060
+ ...data,
1061
+ models: coerceModels(data.models)
1062
+ };
1063
+ },
1064
+ async listDictationModels() {
1065
+ const response = await apiListDictationModels();
1066
+ if (response.error)
1067
+ throw new Error(extractErrorMessage(response.error));
1068
+ const data = response.data;
1069
+ return { models: coerceModels(data.models) };
1070
+ },
1071
+ async installDictationModel({
1072
+ model,
1073
+ force
1074
+ }) {
1075
+ const response = await apiInstallDictationModel({
1076
+ path: { model },
1077
+ body: { force }
1078
+ });
1079
+ if (response.error)
1080
+ throw new Error(extractErrorMessage(response.error));
1081
+ const data = response.data;
1082
+ return { model: coerceModelState(data.model) };
1083
+ },
1084
+ async removeDictationModel(model) {
1085
+ const response = await apiRemoveDictationModel({ path: { model } });
1086
+ if (response.error)
1087
+ throw new Error(extractErrorMessage(response.error));
1088
+ const data = response.data;
1089
+ return {
1090
+ removed: data.removed,
1091
+ model: coerceModelState(data.model)
1092
+ };
1093
+ },
1094
+ async createDictationSession(input = {}) {
1095
+ const response = await apiCreateDictationSession({ body: input });
1096
+ if (response.error)
1097
+ throw new Error(extractErrorMessage(response.error));
1098
+ return response.data;
1099
+ },
1100
+ getDictationModelInstallEventsUrl: buildInstallEventsUrl
1101
+ };
1102
+
960
1103
  // src/lib/api-client/index.ts
961
1104
  class ApiClient {
962
1105
  getSessions = sessionsMixin.getSessions;
@@ -1037,6 +1180,8 @@ class ApiClient {
1037
1180
  getOAuthStartUrl = authMixin.getOAuthStartUrl;
1038
1181
  getOAuthUrl = authMixin.getOAuthUrl;
1039
1182
  exchangeOAuthCode = authMixin.exchangeOAuthCode;
1183
+ startOpenAIDeviceFlow = authMixin.startOpenAIDeviceFlow;
1184
+ pollOpenAIDeviceFlow = authMixin.pollOpenAIDeviceFlow;
1040
1185
  startCopilotDeviceFlow = authMixin.startCopilotDeviceFlow;
1041
1186
  pollCopilotDeviceFlow = authMixin.pollCopilotDeviceFlow;
1042
1187
  getCopilotAuthMethods = authMixin.getCopilotAuthMethods;
@@ -1052,6 +1197,12 @@ class ApiClient {
1052
1197
  updateSkillsConfig = skillsMixin.updateSkillsConfig;
1053
1198
  getUsageStats = usageMixin.getUsageStats;
1054
1199
  getGlobalUsageStats = usageMixin.getGlobalUsageStats;
1200
+ getDictationStatus = dictationMixin.getDictationStatus;
1201
+ listDictationModels = dictationMixin.listDictationModels;
1202
+ installDictationModel = dictationMixin.installDictationModel;
1203
+ removeDictationModel = dictationMixin.removeDictationModel;
1204
+ createDictationSession = dictationMixin.createDictationSession;
1205
+ getDictationModelInstallEventsUrl = dictationMixin.getDictationModelInstallEventsUrl;
1055
1206
  }
1056
1207
  var apiClient = new ApiClient;
1057
1208
  // src/lib/sse-client.ts
@@ -1228,20 +1379,26 @@ function isPlatformDesktop() {
1228
1379
  }
1229
1380
  export {
1230
1381
  showPlatformNotification,
1382
+ setRuntimeApiBaseUrl,
1231
1383
  openPlatformUrl,
1232
1384
  openPlatformSession,
1233
1385
  notifyPlatformFontFamilyChanged,
1386
+ normalizeApiBaseUrl,
1234
1387
  listPlatformSystemFonts,
1235
1388
  isPlatformDesktop,
1236
1389
  hasPlatformSystemFonts,
1237
1390
  hasPlatformOpenUrl,
1391
+ hasConfiguredRuntimeApiBaseUrl,
1238
1392
  getRuntimeApiBaseUrl,
1239
1393
  getPlatformWindowFocused,
1394
+ getConfiguredRuntimeApiBaseUrl,
1240
1395
  configureApiClient,
1241
1396
  config,
1397
+ clearRuntimeApiBaseUrl,
1242
1398
  apiClient,
1243
1399
  SSEClient,
1400
+ RUNTIME_API_BASE_URL_STORAGE_KEY,
1244
1401
  API_BASE_URL
1245
1402
  };
1246
1403
 
1247
- //# debugId=DE90AF5B82F6584664756E2164756E21
1404
+ //# debugId=B412760816CE69DF64756E2164756E21