@gotcos/glasses-server 6.71.0 → 6.71.5

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.
@@ -11,6 +11,20 @@ export interface MeetingAskTurn {
11
11
  speaker: string;
12
12
  text: string;
13
13
  }
14
+ /**
15
+ * GET /api/meeting-ask/transcript. A live meeting answers from memory. A meeting that has ended (6.71.1)
16
+ * answers from its saved record with ended: true, so it stays askable. 404 meeting_transcript_unavailable
17
+ * only when no source holds its words.
18
+ */
19
+ export interface MeetingAskTranscript {
20
+ turns: MeetingAskTurn[];
21
+ elapsedMs: number;
22
+ notices: string[];
23
+ ended?: true;
24
+ /** When the recording stopped, if known. */
25
+ endedAt?: string;
26
+ source?: 'live' | 'active_file' | 'saved';
27
+ }
14
28
  export interface MeetingAskFile {
15
29
  id: string;
16
30
  revision: string;
@@ -18,8 +32,12 @@ export interface MeetingAskFile {
18
32
  status: 'ready' | 'pending' | 'unsupported' | 'failed' | 'removed' | 'secret-held';
19
33
  text: string;
20
34
  notice?: string;
35
+ /** "phone" for a file the phone attached through POST files/media (6.71.1). Control's rows omit it. */
36
+ origin?: 'phone';
21
37
  }
22
38
  export interface MeetingAskSource {
39
+ /** Server-owned accepted post-stop quotation; no live turn target or precise word clock. */
40
+ finalizedTranscript?: boolean
23
41
  id: string;
24
42
  kind: 'transcript' | 'memory' | 'meeting' | 'file' | 'web';
25
43
  title: string;
@@ -145,6 +163,8 @@ export interface MeetingAskExchange {
145
163
  sections?: MeetingAskSection[];
146
164
  sources: MeetingAskSource[];
147
165
  notices: string[];
166
+ /** Audited public query actually admitted for this answer, if any. */
167
+ publicWebQuery?: string;
148
168
  throughMs: number;
149
169
  files: MeetingAskFile[];
150
170
  error?: string;
@@ -155,11 +175,27 @@ export interface MeetingAskCapabilities {
155
175
  durableHistory: true;
156
176
  attachmentContext: true;
157
177
  webRetrieval: boolean;
178
+ publicTopics?: true;
179
+ /** 6.71.1: POST /api/meeting-ask/files/media turns uploaded media into meeting files. */
180
+ phoneFiles?: true;
181
+ /** 6.71.1: config carries cosSearch and PUT config {cosSearch} changes it. */
182
+ cosSearchMode?: true;
183
+ meetingContext?: true;
158
184
  }
185
+ /**
186
+ * How Meeting Ask searches COS memory and earlier meetings (6.71.1). 'meaning' (default) adds the embedding
187
+ * search, which sends the search phrase to the COS install's embedding provider; 'keyword' matches words
188
+ * locally only, with no embedding request and no tokens.
189
+ */
190
+ export type MeetingAskCosSearch = 'meaning' | 'keyword';
159
191
  export interface MeetingAskConfig {
160
192
  protocolVersion: 2;
161
193
  serverInstanceId: string;
162
194
  selected: MeetingAskModel;
195
+ /** 6.71.1. Missing on older servers, which always used 'meaning'. */
196
+ cosSearch?: MeetingAskCosSearch;
197
+ /** Explicit opt-in to public-topic selection from recent transcript for fact checks. */
198
+ publicTopics?: boolean;
163
199
  models: Array<MeetingAskModel & {
164
200
  available: boolean;
165
201
  reason?: string;
@@ -171,12 +207,26 @@ export interface MeetingAskConfig {
171
207
  };
172
208
  capabilities: MeetingAskCapabilities;
173
209
  }
174
- /** All paths under /api/meeting-ask. GET config; PUT config {engine,model}.
210
+ /** All paths under /api/meeting-ask. GET config; PUT config {engine,model} and/or {cosSearch} (6.71.1); either part may come alone.
175
211
  * POST requests MeetingAskSubmit -> 202 {exchange}; GET requests/:requestId -> {exchange}.
176
212
  * POST requests/:requestId/cancel {serverInstanceId} -> {exchange}.
177
213
  * GET history?sessionId=...&serverInstanceId=...&offset=0&limit=50&order=asc|desc -> {exchanges,nextOffset,files}.
178
214
  * PUT files {sessionId,serverInstanceId,files:MeetingAskFile[]} -> {files}. Upsert only; removed is explicit.
215
+ * POST files/media {sessionId,serverInstanceId,media:[{id,name?}]} -> {files} (6.71.1, capabilities.phoneFiles):
216
+ * media already uploaded through /api/media joins the meeting's file list as id "phone_<mediaId>", origin "phone".
179
217
  * GET export?sessionId=...&serverInstanceId=... -> {text}; composes persisted Ask/file context,
180
218
  * client prepends its current canonical transcript. All operations use X-Cos-Token.
181
219
  * GET config is the capability probe (404 means old server); health.capabilities.meetingAsk mirrors capabilities.
182
220
  */
221
+
222
+ /** User-confirmed navigation context for one meeting, never canonical transcript evidence. */
223
+ export type MeetingAskDomain = string;
224
+ export interface MeetingAskCalendarMatch {
225
+ id: string; title: string; start: string; end: string; suggestedDomain?: MeetingAskDomain;
226
+ }
227
+ export interface MeetingAskOrientation {
228
+ revision: number; domain: MeetingAskDomain | null; calendar: MeetingAskCalendarMatch | null;
229
+ }
230
+ export interface MeetingAskContext {
231
+ orientation: MeetingAskOrientation; domains: Array<{id: string; label: string}>; candidates: MeetingAskCalendarMatch[]; notices: string[];
232
+ }