ei-tui 1.6.2 → 1.6.3

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.
@@ -8,6 +8,7 @@ import type {
8
8
  import type { ClaudeCodeSettings } from "../../../src/integrations/claude-code/types.js";
9
9
  import type { CursorSettings } from "../../../src/integrations/cursor/types.js";
10
10
  import type { CodexSettings } from "../../../src/integrations/codex/types.js";
11
+ import type { PiSettings } from "../../../src/integrations/pi/types.js";
11
12
  import type { SlackSettings, SlackAuth } from "../../../src/integrations/slack/types.js";
12
13
  import { modelGuidToDisplay, displayToModelGuid } from "./yaml-shared.js";
13
14
  import { parseDuration, formatDuration } from "./duration.js";
@@ -55,6 +56,13 @@ interface EditableSettingsData {
55
56
  extraction_point?: string | null;
56
57
  extraction_model?: string | null;
57
58
  };
59
+ pi?: {
60
+ integration?: boolean | null;
61
+ polling_interval_ms?: string | null;
62
+ last_sync?: string | null;
63
+ extraction_point?: string | null;
64
+ extraction_model?: string | null;
65
+ };
58
66
  slack?: {
59
67
  polling_interval_ms?: string | null;
60
68
  workspaces?: Record<string, {
@@ -127,6 +135,13 @@ export function settingsToYAML(settings: HumanSettings | undefined, accounts: Pr
127
135
  last_sync: settings?.codex?.last_sync ?? null,
128
136
  extraction_point: settings?.codex?.extraction_point ?? null,
129
137
  },
138
+ pi: {
139
+ integration: settings?.pi?.integration ?? false,
140
+ polling_interval_ms: formatDuration(settings?.pi?.polling_interval_ms ?? 60000),
141
+ extraction_model: guidToDisplay(settings?.pi?.extraction_model) ?? 'default',
142
+ last_sync: settings?.pi?.last_sync ?? null,
143
+ extraction_point: settings?.pi?.extraction_point ?? null,
144
+ },
130
145
  slack: {
131
146
  polling_interval_ms: formatDuration(settings?.slack?.polling_interval_ms ?? 60000),
132
147
  workspaces: Object.fromEntries(
@@ -231,6 +246,18 @@ export function settingsFromYAML(yamlContent: string, original: HumanSettings |
231
246
  };
232
247
  }
233
248
 
249
+ let pi: PiSettings | undefined;
250
+ if (data.pi) {
251
+ pi = {
252
+ integration: nullToUndefined(data.pi.integration),
253
+ polling_interval_ms: parseMsDuration(data.pi.polling_interval_ms, 60000),
254
+ last_sync: original?.pi?.last_sync,
255
+ extraction_point: original?.pi?.extraction_point,
256
+ processed_sessions: original?.pi?.processed_sessions,
257
+ extraction_model: displayToGuid(data.pi.extraction_model),
258
+ };
259
+ }
260
+
234
261
  let slack: SlackSettings | undefined;
235
262
  if (data.slack) {
236
263
  const parsedWorkspaces: SlackSettings["workspaces"] = {};
@@ -277,6 +304,7 @@ export function settingsFromYAML(yamlContent: string, original: HumanSettings |
277
304
  claudeCode,
278
305
  cursor,
279
306
  codex,
307
+ pi,
280
308
  slack,
281
309
  backup,
282
310
  };