umbrella-context 0.1.2 → 0.1.32

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 (68) hide show
  1. package/bin/um.js +2 -0
  2. package/dist/adapters/byterover-context-runtime-store.d.ts +15 -0
  3. package/dist/adapters/byterover-context-runtime-store.js +57 -0
  4. package/dist/adapters/byterover-runtime-bridge.d.ts +218 -0
  5. package/dist/adapters/byterover-runtime-bridge.js +343 -0
  6. package/dist/adapters/byterover-transport-task-store.d.ts +13 -0
  7. package/dist/adapters/byterover-transport-task-store.js +50 -0
  8. package/dist/adapters/umbrella-onboarding.d.ts +27 -0
  9. package/dist/adapters/umbrella-onboarding.js +79 -0
  10. package/dist/adapters/umbrella-provider-runtime.d.ts +38 -0
  11. package/dist/adapters/umbrella-provider-runtime.js +199 -0
  12. package/dist/adapters/vendor-byterover.d.ts +4 -0
  13. package/dist/adapters/vendor-byterover.js +19 -0
  14. package/dist/commands/activity.d.ts +2 -0
  15. package/dist/commands/activity.js +82 -0
  16. package/dist/commands/bridge.d.ts +2 -0
  17. package/dist/commands/bridge.js +40 -0
  18. package/dist/commands/catalog.d.ts +34 -0
  19. package/dist/commands/catalog.js +234 -0
  20. package/dist/commands/connect.js +14 -14
  21. package/dist/commands/connectors.d.ts +24 -0
  22. package/dist/commands/connectors.js +626 -0
  23. package/dist/commands/curate.d.ts +1 -0
  24. package/dist/commands/curate.js +48 -3
  25. package/dist/commands/debug.d.ts +2 -0
  26. package/dist/commands/debug.js +55 -0
  27. package/dist/commands/fix.js +54 -0
  28. package/dist/commands/hub.d.ts +22 -0
  29. package/dist/commands/hub.js +487 -0
  30. package/dist/commands/interactive.d.ts +2 -0
  31. package/dist/commands/interactive.js +970 -62
  32. package/dist/commands/locations.d.ts +1 -0
  33. package/dist/commands/locations.js +15 -12
  34. package/dist/commands/logout.d.ts +2 -0
  35. package/dist/commands/logout.js +34 -0
  36. package/dist/commands/model.d.ts +11 -0
  37. package/dist/commands/model.js +225 -0
  38. package/dist/commands/providers.d.ts +17 -0
  39. package/dist/commands/providers.js +379 -0
  40. package/dist/commands/pull.js +60 -1
  41. package/dist/commands/push.js +62 -2
  42. package/dist/commands/reset.d.ts +2 -0
  43. package/dist/commands/reset.js +35 -0
  44. package/dist/commands/restart.d.ts +2 -0
  45. package/dist/commands/restart.js +21 -0
  46. package/dist/commands/search.js +65 -1
  47. package/dist/commands/session.d.ts +2 -0
  48. package/dist/commands/session.js +241 -0
  49. package/dist/commands/setup.js +58 -56
  50. package/dist/commands/space.d.ts +12 -0
  51. package/dist/commands/space.js +138 -42
  52. package/dist/commands/status.d.ts +29 -0
  53. package/dist/commands/status.js +120 -19
  54. package/dist/commands/tasks.d.ts +2 -0
  55. package/dist/commands/tasks.js +95 -0
  56. package/dist/commands/transport.d.ts +2 -0
  57. package/dist/commands/transport.js +88 -0
  58. package/dist/commands/tree.d.ts +2 -0
  59. package/dist/commands/tree.js +98 -0
  60. package/dist/commands/tui.d.ts +2 -0
  61. package/dist/commands/tui.js +1273 -0
  62. package/dist/config.d.ts +23 -0
  63. package/dist/config.js +69 -0
  64. package/dist/index.js +41 -5
  65. package/dist/repo-state.d.ts +227 -1
  66. package/dist/repo-state.js +920 -4
  67. package/dist/umbrella.js +29 -5
  68. package/package.json +11 -3
package/dist/config.d.ts CHANGED
@@ -8,6 +8,22 @@ export interface AgentMemoryConfig {
8
8
  projectName: string;
9
9
  workspaceId: string;
10
10
  workspaceName: string;
11
+ activeProvider?: string;
12
+ activeModel?: string;
13
+ }
14
+ export interface SavedProvider {
15
+ id: string;
16
+ name: string;
17
+ kind: string;
18
+ apiKey?: string;
19
+ baseUrl?: string;
20
+ updatedAt: string;
21
+ }
22
+ export interface HubRegistry {
23
+ id: string;
24
+ name: string;
25
+ url: string;
26
+ updatedAt: string;
11
27
  }
12
28
  export interface SavedLocation {
13
29
  repoRoot: string;
@@ -23,8 +39,15 @@ export declare class ConfigManager {
23
39
  get config(): AgentMemoryConfig | null;
24
40
  set(config: Partial<AgentMemoryConfig>): void;
25
41
  clear(): void;
42
+ clearUmbrellaSession(): void;
26
43
  get locations(): SavedLocation[];
44
+ get providers(): SavedProvider[];
27
45
  upsertLocation(location: SavedLocation): void;
46
+ upsertProvider(provider: SavedProvider): void;
47
+ removeProvider(id: string): void;
28
48
  get configPath(): string;
49
+ get hubRegistries(): HubRegistry[];
50
+ upsertHubRegistry(registry: HubRegistry): void;
51
+ removeHubRegistry(id: string): void;
29
52
  }
30
53
  export declare const configManager: ConfigManager;
package/dist/config.js CHANGED
@@ -21,6 +21,8 @@ export class ConfigManager {
21
21
  projectName: this.conf.get("projectName"),
22
22
  workspaceId: this.conf.get("workspaceId"),
23
23
  workspaceName: this.conf.get("workspaceName"),
24
+ activeProvider: this.conf.get("activeProvider"),
25
+ activeModel: this.conf.get("activeModel"),
24
26
  }
25
27
  : null;
26
28
  }
@@ -43,21 +45,88 @@ export class ConfigManager {
43
45
  this.conf.set("workspaceId", config.workspaceId);
44
46
  if (config.workspaceName)
45
47
  this.conf.set("workspaceName", config.workspaceName);
48
+ if (Object.prototype.hasOwnProperty.call(config, "activeProvider")) {
49
+ if (config.activeProvider === undefined) {
50
+ this.conf.delete("activeProvider");
51
+ }
52
+ else {
53
+ this.conf.set("activeProvider", config.activeProvider);
54
+ }
55
+ }
56
+ if (Object.prototype.hasOwnProperty.call(config, "activeModel")) {
57
+ if (config.activeModel === undefined) {
58
+ this.conf.delete("activeModel");
59
+ }
60
+ else {
61
+ this.conf.set("activeModel", config.activeModel);
62
+ }
63
+ }
46
64
  }
47
65
  clear() {
48
66
  this.conf.clear();
49
67
  }
68
+ clearUmbrellaSession() {
69
+ this.conf.delete("umbrellaUrl");
70
+ this.conf.delete("serverUrl");
71
+ this.conf.delete("apiKey");
72
+ this.conf.delete("companyId");
73
+ this.conf.delete("companyName");
74
+ this.conf.delete("projectId");
75
+ this.conf.delete("projectName");
76
+ this.conf.delete("workspaceId");
77
+ this.conf.delete("workspaceName");
78
+ }
50
79
  get locations() {
51
80
  return this.conf.get("locations") ?? [];
52
81
  }
82
+ get providers() {
83
+ return this.conf.get("providers") ?? [];
84
+ }
53
85
  upsertLocation(location) {
54
86
  const locations = this.locations.filter((entry) => entry.repoRoot !== location.repoRoot);
55
87
  locations.push(location);
56
88
  this.conf.set("locations", locations.sort((a, b) => a.repoRoot.localeCompare(b.repoRoot)));
57
89
  }
90
+ upsertProvider(provider) {
91
+ const providers = this.providers.filter((entry) => entry.id !== provider.id && entry.name.toLowerCase() !== provider.name.toLowerCase());
92
+ providers.push(provider);
93
+ this.conf.set("providers", providers.sort((a, b) => a.name.localeCompare(b.name)));
94
+ }
95
+ removeProvider(id) {
96
+ const providers = this.providers.filter((entry) => entry.id !== id);
97
+ this.conf.set("providers", providers);
98
+ const current = this.config;
99
+ if (current?.activeProvider === id) {
100
+ this.conf.delete("activeProvider");
101
+ this.conf.delete("activeModel");
102
+ }
103
+ }
58
104
  get configPath() {
59
105
  return this.conf.path
60
106
  ?? path.join(os.homedir(), ".config", "umbrella-context", "config.json");
61
107
  }
108
+ get hubRegistries() {
109
+ const stored = this.conf.get("hubRegistries") ?? [];
110
+ if (stored.length > 0) {
111
+ return stored;
112
+ }
113
+ return [
114
+ {
115
+ id: "umbrella-default",
116
+ name: "Umbrella Hub",
117
+ url: "https://hub.umbrella.local/default",
118
+ updatedAt: new Date(0).toISOString(),
119
+ },
120
+ ];
121
+ }
122
+ upsertHubRegistry(registry) {
123
+ const registries = this.hubRegistries.filter((entry) => entry.id !== registry.id && entry.url !== registry.url);
124
+ registries.push(registry);
125
+ this.conf.set("hubRegistries", registries.sort((a, b) => a.name.localeCompare(b.name)));
126
+ }
127
+ removeHubRegistry(id) {
128
+ const registries = this.hubRegistries.filter((entry) => entry.id !== id);
129
+ this.conf.set("hubRegistries", registries);
130
+ }
62
131
  }
63
132
  export const configManager = new ConfigManager();
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { cac } from "cac";
2
3
  import { setupCommand } from "./commands/setup.js";
3
4
  import { loginCommand } from "./commands/login.js";
@@ -8,11 +9,26 @@ import { searchCommand } from "./commands/search.js";
8
9
  import { fixCommand } from "./commands/fix.js";
9
10
  import { recordCommand } from "./commands/record.js";
10
11
  import { mcpCommand } from "./commands/mcp.js";
11
- import { interactiveCommand } from "./commands/interactive.js";
12
12
  import { curateCommand } from "./commands/curate.js";
13
13
  import { statusCommand } from "./commands/status.js";
14
14
  import { locationsCommand } from "./commands/locations.js";
15
15
  import { spaceCommand } from "./commands/space.js";
16
+ import { providersCommand } from "./commands/providers.js";
17
+ import { modelCommand } from "./commands/model.js";
18
+ import { hubCommand } from "./commands/hub.js";
19
+ import { connectorsCommand } from "./commands/connectors.js";
20
+ import { logoutCommand } from "./commands/logout.js";
21
+ import { restartCommand } from "./commands/restart.js";
22
+ import { debugCommand } from "./commands/debug.js";
23
+ import { sessionCommand } from "./commands/session.js";
24
+ import { activityCommand } from "./commands/activity.js";
25
+ import { resetCommand } from "./commands/reset.js";
26
+ import { tuiCommand, runTui } from "./commands/tui.js";
27
+ import { tasksCommand } from "./commands/tasks.js";
28
+ import { treeCommand } from "./commands/tree.js";
29
+ import { transportCommand } from "./commands/transport.js";
30
+ import { bridgeCommand } from "./commands/bridge.js";
31
+ import { curateViewCommandAction } from "./commands/curate.js";
16
32
  const cli = cac("umbrella-context");
17
33
  cli.option("--config <path>", "Path to config file");
18
34
  import { seedCommand } from "./commands/seed.js";
@@ -30,13 +46,33 @@ curateCommand(cli);
30
46
  statusCommand(cli);
31
47
  locationsCommand(cli);
32
48
  spaceCommand(cli);
49
+ providersCommand(cli);
50
+ modelCommand(cli);
51
+ hubCommand(cli);
52
+ connectorsCommand(cli);
53
+ logoutCommand(cli);
54
+ restartCommand(cli);
55
+ debugCommand(cli);
56
+ sessionCommand(cli);
57
+ activityCommand(cli);
58
+ resetCommand(cli);
59
+ tuiCommand(cli);
60
+ tasksCommand(cli);
61
+ treeCommand(cli);
62
+ transportCommand(cli);
63
+ bridgeCommand(cli);
33
64
  cli.command("query [...args]", "Alias for search").action(async (args) => {
34
65
  const { searchCommandAction } = await import("./commands/search.js");
35
66
  await searchCommandAction(args.join(" "));
36
67
  });
37
- cli.command("", "Interactive mode").action(async () => {
38
- await interactiveCommand([]);
39
- });
40
68
  cli.help();
41
- cli.version("0.1.2");
69
+ cli.version("0.1.32");
70
+ const argv = process.argv.slice(2);
71
+ if (argv[0] === "curate" && argv[1] === "view" && argv.length === 2) {
72
+ await curateViewCommandAction();
73
+ process.exit(0);
74
+ }
42
75
  cli.parse();
76
+ if (process.argv.length <= 2 && process.stdin.isTTY && process.stdout.isTTY) {
77
+ await runTui();
78
+ }
@@ -1,4 +1,4 @@
1
- import type { AgentMemoryConfig } from "./config.js";
1
+ import { type AgentMemoryConfig } from "./config.js";
2
2
  export type LocalMemoryEntry = {
3
3
  id: string;
4
4
  content: string;
@@ -34,6 +34,181 @@ export type RepoContextState = {
34
34
  lastPushAt: null | string;
35
35
  lastPullAt: null | string;
36
36
  };
37
+ export type LocalConnectorEntry = {
38
+ id: string;
39
+ name: string;
40
+ type: "hook" | "mcp" | "rule" | "skill";
41
+ description: string;
42
+ installedAt: string;
43
+ source: string;
44
+ };
45
+ export type LocalHubInstall = {
46
+ id: string;
47
+ slug: string;
48
+ name: string;
49
+ type: "bundle" | "skill" | "connector";
50
+ description: string;
51
+ installedAt: string;
52
+ registryName: string;
53
+ };
54
+ export type LocalConnectorRun = {
55
+ id: string;
56
+ connectorId: string;
57
+ connectorName: string;
58
+ status: "success" | "failure";
59
+ summary: string;
60
+ ranAt: string;
61
+ };
62
+ export type RepoSessionState = {
63
+ version: 1;
64
+ id: string;
65
+ startedAt: string;
66
+ updatedAt: string;
67
+ commandHistory: string[];
68
+ recentQueries: string[];
69
+ recentCurations: string[];
70
+ lastSummary: string | null;
71
+ currentPanel: string | null;
72
+ currentFocus: string | null;
73
+ panelHistory: string[];
74
+ recentProviderIds: string[];
75
+ recentModels: string[];
76
+ recentHubSlugs: string[];
77
+ recentConnectorSources: string[];
78
+ events: RepoSessionEvent[];
79
+ };
80
+ export type RepoSessionEvent = {
81
+ id: string;
82
+ at: string;
83
+ kind: "query" | "curate" | "push" | "pull" | "space" | "provider" | "model" | "hub" | "connector" | "session";
84
+ title: string;
85
+ detail: string | null;
86
+ panel: string | null;
87
+ focus: string | null;
88
+ status: "info" | "success" | "warning" | "failure";
89
+ };
90
+ export type LocalTaskStatus = "queued" | "running" | "completed" | "failed";
91
+ export type LocalTaskKind = "query" | "curate" | "push" | "pull" | "provider" | "model" | "space" | "hub" | "connector" | "setup";
92
+ export type LocalTask = {
93
+ id: string;
94
+ kind: LocalTaskKind;
95
+ title: string;
96
+ input?: string | null;
97
+ detail: string | null;
98
+ status: LocalTaskStatus;
99
+ sessionId?: string | null;
100
+ startedAt?: string | null;
101
+ streamingContent?: string | null;
102
+ result?: string | null;
103
+ files?: string[];
104
+ folders?: string[];
105
+ reasoningContents?: Array<{
106
+ content: string;
107
+ isThinking?: boolean;
108
+ timestamp: string;
109
+ }>;
110
+ toolCalls?: Array<{
111
+ args: Record<string, unknown>;
112
+ callId?: string;
113
+ error?: string;
114
+ errorType?: string;
115
+ result?: unknown;
116
+ sessionId?: string | null;
117
+ status: "completed" | "error" | "running";
118
+ timestamp: string;
119
+ toolName: string;
120
+ }>;
121
+ createdAt: string;
122
+ updatedAt: string;
123
+ finishedAt: string | null;
124
+ panel: string | null;
125
+ focus: string | null;
126
+ };
127
+ export type RepoTransportEvent = {
128
+ id: string;
129
+ at: string;
130
+ kind: "task-created" | "task-started" | "task-completed" | "task-failed" | "sync-push" | "sync-pull" | "runtime-check" | "context-tree";
131
+ title: string;
132
+ detail: string | null;
133
+ status: "info" | "success" | "warning" | "failure";
134
+ taskId: string | null;
135
+ };
136
+ export type RepoTransportState = {
137
+ version: 1;
138
+ status: "idle" | "running" | "warning" | "failure";
139
+ activeTaskId: string | null;
140
+ queue: Array<{
141
+ id: string;
142
+ kind: LocalTaskKind;
143
+ title: string;
144
+ status: LocalTaskStatus;
145
+ }>;
146
+ stats: {
147
+ queued: number;
148
+ running: number;
149
+ completed: number;
150
+ failed: number;
151
+ };
152
+ subscriptions: string[];
153
+ lastPushAt: string | null;
154
+ lastPullAt: string | null;
155
+ lastRuntimeCheckAt: string | null;
156
+ taskKinds: Partial<Record<LocalTaskKind, number>>;
157
+ updatedAt: string;
158
+ events: RepoTransportEvent[];
159
+ };
160
+ export type TaskLifecyclePatch = {
161
+ detail?: string | null;
162
+ reason?: string | null;
163
+ result?: string | null;
164
+ sessionId?: string | null;
165
+ status: LocalTaskStatus;
166
+ streamingContent?: string | null;
167
+ };
168
+ export type TaskToolCallPatch = {
169
+ args: Record<string, unknown>;
170
+ callId?: string;
171
+ error?: string;
172
+ errorType?: string;
173
+ result?: unknown;
174
+ sessionId?: string | null;
175
+ status: "completed" | "error" | "running";
176
+ toolName: string;
177
+ };
178
+ export type ContextTreeNode = {
179
+ id: string;
180
+ label: string;
181
+ kind: "company" | "space" | "folder" | "collection" | "runtime" | "summary";
182
+ parentId: string | null;
183
+ detail: string | null;
184
+ count?: number;
185
+ };
186
+ export type RepoContextTreeState = {
187
+ version: 1;
188
+ repoRoot: string;
189
+ umDir: string;
190
+ generatedAt: string;
191
+ summaryHandle: string;
192
+ stats: {
193
+ pendingDrafts: number;
194
+ pulledContext: number;
195
+ pulledFixes: number;
196
+ hubEntries: number;
197
+ connectors: number;
198
+ connectorRuns: number;
199
+ tasks: number;
200
+ };
201
+ runtime: {
202
+ companyName: string | null;
203
+ spaceName: string | null;
204
+ provider: string | null;
205
+ model: string | null;
206
+ transportStatus: RepoTransportState["status"];
207
+ lastPushAt: string | null;
208
+ lastPullAt: string | null;
209
+ };
210
+ nodes: ContextTreeNode[];
211
+ };
37
212
  export declare function findRepoRoot(startDir?: string): Promise<string>;
38
213
  export declare function ensureRepoContext(config: AgentMemoryConfig, cwd?: string): Promise<string>;
39
214
  export declare function getRepoContext(cwd?: string): Promise<{
@@ -45,9 +220,60 @@ export declare function updateRepoContext(updater: (current: RepoContextState) =
45
220
  export declare function addPendingMemory(input: Omit<LocalMemoryEntry, "createdAt" | "id">, cwd?: string): Promise<LocalMemoryEntry>;
46
221
  export declare function getPendingMemories(cwd?: string): Promise<LocalMemoryEntry[]>;
47
222
  export declare function clearPendingMemories(cwd?: string): Promise<void>;
223
+ export declare function resetRepoState(cwd?: string): Promise<{
224
+ repoRoot: string;
225
+ umDir: string;
226
+ resetAt: string;
227
+ }>;
48
228
  export declare function setPulledMemories(memories: LocalMemoryEntry[], cwd?: string): Promise<void>;
49
229
  export declare function getPulledMemories(cwd?: string): Promise<LocalMemoryEntry[]>;
50
230
  export declare function setPulledFixes(fixes: LocalFixEntry[], cwd?: string): Promise<void>;
51
231
  export declare function getPulledFixes(cwd?: string): Promise<LocalFixEntry[]>;
52
232
  export declare function markPushCompleted(cwd?: string): Promise<RepoContextState>;
233
+ export declare function getInstalledConnectors(cwd?: string): Promise<LocalConnectorEntry[]>;
234
+ export declare function setInstalledConnectors(connectors: LocalConnectorEntry[], cwd?: string): Promise<void>;
235
+ export declare function getInstalledHubEntries(cwd?: string): Promise<LocalHubInstall[]>;
236
+ export declare function setInstalledHubEntries(entries: LocalHubInstall[], cwd?: string): Promise<void>;
237
+ export declare function writeHubAsset(slug: string, content: string, cwd?: string): Promise<string>;
238
+ export declare function writeHubAssetFiles(slug: string, files: Array<{
239
+ name: string;
240
+ content: string;
241
+ }>, cwd?: string): Promise<string[]>;
242
+ export declare function writeConnectorAsset(source: string, content: unknown, cwd?: string): Promise<string>;
243
+ export declare function writeConnectorAssetFiles(source: string, files: Array<{
244
+ name: string;
245
+ content: string;
246
+ }>, cwd?: string): Promise<string[]>;
247
+ export declare function getConnectorRuns(cwd?: string): Promise<LocalConnectorRun[]>;
248
+ export declare function getTasks(cwd?: string): Promise<LocalTask[]>;
249
+ export declare function getTaskById(taskId: string, cwd?: string): Promise<LocalTask | null>;
250
+ export declare function ensureTransportState(cwd?: string): Promise<RepoTransportState>;
251
+ export declare function getTransportState(cwd?: string): Promise<RepoTransportState>;
252
+ export declare function updateTransportState(updater: (current: RepoTransportState) => RepoTransportState | Promise<RepoTransportState>, cwd?: string): Promise<RepoTransportState>;
253
+ export declare function recordTransportEvent(event: Omit<RepoTransportEvent, "at" | "id">, cwd?: string): Promise<RepoTransportState>;
254
+ export declare function getContextTreeState(cwd?: string): Promise<RepoContextTreeState>;
255
+ export declare function rebuildContextTreeState(cwd?: string): Promise<RepoContextTreeState>;
256
+ export declare function createTask(input: Omit<LocalTask, "createdAt" | "finishedAt" | "id" | "updatedAt">, cwd?: string): Promise<LocalTask>;
257
+ export declare function updateTask(taskId: string, updater: (task: LocalTask) => LocalTask, cwd?: string): Promise<LocalTask | null>;
258
+ export declare function patchTaskLifecycle(taskId: string, patch: TaskLifecyclePatch, cwd?: string): Promise<LocalTask | null>;
259
+ export declare function appendTaskStreamingContent(taskId: string, content: string, cwd?: string): Promise<LocalTask | null>;
260
+ export declare function addTaskReasoningContent(taskId: string, content: string, isThinking?: boolean, cwd?: string): Promise<LocalTask | null>;
261
+ export declare function addTaskToolCall(taskId: string, toolCall: TaskToolCallPatch, cwd?: string): Promise<LocalTask | null>;
262
+ export declare function completeTask(taskId: string, status: "completed" | "failed", detail?: string | null, cwd?: string): Promise<LocalTask | null>;
263
+ export declare function addConnectorRun(input: Omit<LocalConnectorRun, "id" | "ranAt">, cwd?: string): Promise<LocalConnectorRun>;
264
+ export declare function writeConnectorRunReport(run: LocalConnectorRun, cwd?: string): Promise<string>;
265
+ export declare function getSessionState(cwd?: string): Promise<RepoSessionState | null>;
266
+ export declare function ensureSessionState(cwd?: string): Promise<RepoSessionState>;
267
+ export declare function resetSessionState(cwd?: string): Promise<RepoSessionState>;
268
+ export declare function updateSessionState(updater: (current: RepoSessionState) => RepoSessionState | Promise<RepoSessionState>, cwd?: string): Promise<RepoSessionState>;
269
+ export declare function recordSessionCommand(command: string, cwd?: string): Promise<RepoSessionState>;
270
+ export declare function recordSessionQuery(query: string, cwd?: string): Promise<RepoSessionState>;
271
+ export declare function recordSessionCuration(content: string, cwd?: string): Promise<RepoSessionState>;
272
+ export declare function setSessionSummary(summary: string | null, cwd?: string): Promise<RepoSessionState>;
273
+ export declare function setSessionPanel(panel: string | null, focus?: string | null, cwd?: string): Promise<RepoSessionState>;
274
+ export declare function recordSessionProvider(providerId: string, cwd?: string): Promise<RepoSessionState>;
275
+ export declare function recordSessionModel(modelId: string, cwd?: string): Promise<RepoSessionState>;
276
+ export declare function recordSessionHubEntry(slug: string, cwd?: string): Promise<RepoSessionState>;
277
+ export declare function recordSessionConnector(source: string, cwd?: string): Promise<RepoSessionState>;
278
+ export declare function recordSessionEvent(event: Omit<RepoSessionEvent, "at" | "id">, cwd?: string): Promise<RepoSessionState>;
53
279
  export declare function summarizeLocalMemoryMatches(entries: LocalMemoryEntry[], query: string): LocalMemoryEntry[];