@felan-ai/ext-memory 0.12.0 → 0.13.1
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.
- package/README.md +23 -3
- package/dist/contracts.d.ts +8 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +2 -0
- package/dist/contracts.js.map +1 -1
- package/dist/daemon-provider.d.ts +49 -0
- package/dist/daemon-provider.d.ts.map +1 -0
- package/dist/daemon-provider.js +231 -0
- package/dist/daemon-provider.js.map +1 -0
- package/dist/data.d.ts +1 -0
- package/dist/data.d.ts.map +1 -1
- package/dist/local/context.d.ts +2 -2
- package/dist/local/control.d.ts +1 -0
- package/dist/local/control.d.ts.map +1 -1
- package/dist/local/control.js.map +1 -1
- package/dist/local/coordinator.d.ts +2 -0
- package/dist/local/coordinator.d.ts.map +1 -1
- package/dist/local/coordinator.js +53 -4
- package/dist/local/coordinator.js.map +1 -1
- package/dist/local/dreamer.d.ts +3 -2
- package/dist/local/dreamer.d.ts.map +1 -1
- package/dist/local/dreamer.js +1 -1
- package/dist/local/dreamer.js.map +1 -1
- package/dist/local/history.d.ts +3 -0
- package/dist/local/history.d.ts.map +1 -1
- package/dist/local/history.js +20 -13
- package/dist/local/history.js.map +1 -1
- package/dist/local/hydration.d.ts +1 -0
- package/dist/local/hydration.d.ts.map +1 -1
- package/dist/local/hydration.js +1 -0
- package/dist/local/hydration.js.map +1 -1
- package/dist/local/project.d.ts +1 -0
- package/dist/local/project.d.ts.map +1 -1
- package/dist/local/project.js +124 -2
- package/dist/local/project.js.map +1 -1
- package/dist/local/store.d.ts +5 -4
- package/dist/local/store.d.ts.map +1 -1
- package/dist/local/store.js +18 -2
- package/dist/local/store.js.map +1 -1
- package/dist/local/transcript-pages.d.ts +23 -0
- package/dist/local/transcript-pages.d.ts.map +1 -0
- package/dist/local/transcript-pages.js +127 -0
- package/dist/local/transcript-pages.js.map +1 -0
- package/dist/local/ui.d.ts +0 -4
- package/dist/local/ui.d.ts.map +1 -1
- package/dist/local/ui.js +23 -35
- package/dist/local/ui.js.map +1 -1
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -5,11 +5,10 @@ and Pi extension behavior for Felan hosts.
|
|
|
5
5
|
|
|
6
6
|
The package root requires the core `felan.runtime@1`, `felan.models@1`, and
|
|
7
7
|
`felan.sessions@1` services. It owns the local store, project coordination,
|
|
8
|
-
checkpoint recovery, dreaming, retention and `/memory` commands.
|
|
9
|
-
memory-specific provider or service contract.
|
|
8
|
+
checkpoint recovery, dreaming, retention and `/memory` commands.
|
|
10
9
|
|
|
11
10
|
The daemon process shares one memory coordinator per agent directory across its
|
|
12
|
-
sessions.
|
|
11
|
+
sessions. Loaded root sessions whose host provides workers and runtime
|
|
13
12
|
lifetime can drive processing. Reader sessions and limited hosts can recall the
|
|
14
13
|
current artifact without starting workers; readers do not record checkpoints.
|
|
15
14
|
Processing is event-driven, with targeted recovery retries and writer re-checks
|
|
@@ -19,6 +18,27 @@ Models facade. Restricted dreaming sessions and lifecycle settlement go through
|
|
|
19
18
|
Sessions. Missing worker or lifetime capabilities disable processing rather than
|
|
20
19
|
opening an independent, untracked worker.
|
|
21
20
|
|
|
21
|
+
`@felan-ai/ext-memory/daemon` exports a default daemon provider and
|
|
22
|
+
`createMemoryDaemonProvider(options?)`. It provides `felan.memory.scheduler@1`,
|
|
23
|
+
requires `felan.host.maintenance@1`, and optionally uses `felan.host.models@1`.
|
|
24
|
+
The provider shares the extension's coordinator and keeps one persistent
|
|
25
|
+
attachment per discovered project, so pending work can run with no loaded
|
|
26
|
+
session. It coalesces coordinator status changes within two seconds and rescans
|
|
27
|
+
every ten minutes. Without host models it tracks projects but disables scheduling.
|
|
28
|
+
The scheduler's `status()` returns each tracked project root and its memory status.
|
|
29
|
+
Hosts can supply a `runtime` instance or a `() => AgentRuntime` factory called
|
|
30
|
+
during activation, extra `projects`, and a project-to-session `selector`.
|
|
31
|
+
Explicit project roots resolve once per activation. `discover` defaults to `true`;
|
|
32
|
+
set it to `false` to track only `projects` without listing stored project directories.
|
|
33
|
+
For shared team memory, pass the team workspace in `projects`, `discover: false`,
|
|
34
|
+
and a selector that returns `{ kind: 'all' }`. By default, session listings include
|
|
35
|
+
sessions whose cwd resolves to the same project, including git subdirectories.
|
|
36
|
+
Checkpoint and history reads use the host's full authorized inventory.
|
|
37
|
+
Attachments use the host's allowed model scope and refresh it on rescan.
|
|
38
|
+
Host drain immediately stops scheduling through every persistent attachment.
|
|
39
|
+
Settlement detaches the provider and releases its
|
|
40
|
+
coordinator reference without closing other sessions' attachments.
|
|
41
|
+
|
|
22
42
|
The canonical layout remains `<agentDir>/memory/v1/projects/<projectKey>` and
|
|
23
43
|
retained journals remain under `<agentDir>/sessions/memory`. A session's `.memory`
|
|
24
44
|
directory is a non-authoritative projection. Existing checkpoints and artifacts
|
package/dist/contracts.d.ts
CHANGED
|
@@ -50,6 +50,14 @@ export interface MemoryHost {
|
|
|
50
50
|
recordCheckpoint(checkpoint: SessionCheckpoint): Promise<void>;
|
|
51
51
|
status(): Promise<MemoryStatus>;
|
|
52
52
|
}
|
|
53
|
+
export interface MemorySchedulerProjectStatus {
|
|
54
|
+
readonly projectRoot: string;
|
|
55
|
+
readonly status: MemoryStatus;
|
|
56
|
+
}
|
|
57
|
+
export interface MemorySchedulerService {
|
|
58
|
+
status(): Promise<readonly MemorySchedulerProjectStatus[]>;
|
|
59
|
+
}
|
|
60
|
+
export declare const MEMORY_SCHEDULER_SERVICE: import("@felan-ai/agent-core").ServiceContract<MemorySchedulerService>;
|
|
53
61
|
export interface MemoryInputSession {
|
|
54
62
|
readonly checkpoint: SessionCheckpoint;
|
|
55
63
|
readonly metadataPath: string;
|
package/dist/contracts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { defineServiceContract } from '@felan-ai/agent-core';
|
|
1
2
|
export const MEMORY_ARTIFACT_VERSION = 1;
|
|
2
3
|
export const MEMORY_INPUT_MANIFEST_VERSION = 1;
|
|
3
4
|
export const MEMORY_INPUT_PROJECTION_VERSION = 1;
|
|
5
|
+
export const MEMORY_SCHEDULER_SERVICE = defineServiceContract('felan.memory.scheduler', 1);
|
|
4
6
|
export const DEFAULT_MEMORY_ARTIFACT_LIMITS = Object.freeze({
|
|
5
7
|
maxFiles: 256,
|
|
6
8
|
maxFileBytes: 256 * 1024,
|
package/dist/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAU,CAAC;AA4E1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAyB,wBAAwB,EAAE,CAAC,CAAC,CAAC;AAyBnH,MAAM,CAAC,MAAM,8BAA8B,GAAyB,MAAM,CAAC,MAAM,CAAC;IAChF,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,GAAG,GAAG,IAAI;IACxB,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;CAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type AgentRuntime, type ExtensionServiceAccess, type HostSessionsSelector, type ModelsService } from '@felan-ai/agent-core';
|
|
2
|
+
import { type MemorySchedulerService } from './contracts.js';
|
|
3
|
+
import { type LocalMemoryProject } from './local/project.js';
|
|
4
|
+
export { MEMORY_SCHEDULER_SERVICE } from './contracts.js';
|
|
5
|
+
export type { MemorySchedulerService, MemorySchedulerProjectStatus } from './contracts.js';
|
|
6
|
+
export interface MemoryDaemonProviderOptions {
|
|
7
|
+
readonly runtime?: AgentRuntime | (() => AgentRuntime);
|
|
8
|
+
readonly projects?: readonly string[];
|
|
9
|
+
readonly discover?: boolean;
|
|
10
|
+
readonly selector?: (project: LocalMemoryProject) => HostSessionsSelector;
|
|
11
|
+
}
|
|
12
|
+
export declare function createMemoryDaemonProvider(options?: MemoryDaemonProviderOptions): {
|
|
13
|
+
scope: "daemon";
|
|
14
|
+
provides: import("@felan-ai/agent-core").ServiceContract<MemorySchedulerService>[];
|
|
15
|
+
requires: import("@felan-ai/agent-core").ServiceContract<import("@felan-ai/agent-core").HostMaintenance>[];
|
|
16
|
+
optional: import("@felan-ai/agent-core").ServiceContract<ModelsService>[];
|
|
17
|
+
create({ services }: {
|
|
18
|
+
readonly services: ExtensionServiceAccess;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
implementations: {
|
|
21
|
+
contract: import("@felan-ai/agent-core").ServiceContract<MemorySchedulerService>;
|
|
22
|
+
value: MemorySchedulerService;
|
|
23
|
+
}[];
|
|
24
|
+
busy: () => boolean;
|
|
25
|
+
activate(): Promise<void>;
|
|
26
|
+
settle: (mode: "drain" | "force") => Promise<void>;
|
|
27
|
+
dispose: () => Promise<void>;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
declare const _default: {
|
|
31
|
+
scope: "daemon";
|
|
32
|
+
provides: import("@felan-ai/agent-core").ServiceContract<MemorySchedulerService>[];
|
|
33
|
+
requires: import("@felan-ai/agent-core").ServiceContract<import("@felan-ai/agent-core").HostMaintenance>[];
|
|
34
|
+
optional: import("@felan-ai/agent-core").ServiceContract<ModelsService>[];
|
|
35
|
+
create({ services }: {
|
|
36
|
+
readonly services: ExtensionServiceAccess;
|
|
37
|
+
}): Promise<{
|
|
38
|
+
implementations: {
|
|
39
|
+
contract: import("@felan-ai/agent-core").ServiceContract<MemorySchedulerService>;
|
|
40
|
+
value: MemorySchedulerService;
|
|
41
|
+
}[];
|
|
42
|
+
busy: () => boolean;
|
|
43
|
+
activate(): Promise<void>;
|
|
44
|
+
settle: (mode: "drain" | "force") => Promise<void>;
|
|
45
|
+
dispose: () => Promise<void>;
|
|
46
|
+
}>;
|
|
47
|
+
};
|
|
48
|
+
export default _default;
|
|
49
|
+
//# sourceMappingURL=daemon-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-provider.d.ts","sourceRoot":"","sources":["../src/daemon-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAInB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEvF,OAAO,EAA0D,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGrH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE3F,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,oBAAoB,CAAC;CAC3E;AAaD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,2BAAgC;;;;;yBAMrD;QAAE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;KAAE;;;;;;oBA0DxD,OAAO,CAAC,IAAI,CAAC;uBAlCN,OAAO,GAAG,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC;;;EAwK3D;;;;;;yBAhM8B;QAAE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;KAAE;;;;;;oBA0DxD,OAAO,CAAC,IAAI,CAAC;uBAlCN,OAAO,GAAG,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC;;;;AA0K5D,wBAA4C"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { HOST_MAINTENANCE_SERVICE, HOST_MODELS_SERVICE, HostAgentRuntime, } from '@felan-ai/agent-core';
|
|
2
|
+
import { MEMORY_SCHEDULER_SERVICE } from './contracts.js';
|
|
3
|
+
import { discoverLocalMemoryProjects, resolveLocalMemoryProject } from './local/project.js';
|
|
4
|
+
import { acquireSharedLocalMemoryCoordinator } from './local/shared.js';
|
|
5
|
+
export { MEMORY_SCHEDULER_SERVICE } from './contracts.js';
|
|
6
|
+
const unavailableReason = 'Dream scheduling is unavailable because this host does not provide models; captured memory remains readable.';
|
|
7
|
+
const scopeUnavailableReason = 'Dream scheduling is unavailable until the host model scope can be resolved; captured memory remains readable.';
|
|
8
|
+
const unavailable = () => { throw new Error(unavailableReason); };
|
|
9
|
+
const unavailableModels = {
|
|
10
|
+
getAvailable: async () => [],
|
|
11
|
+
completeSimple: unavailable,
|
|
12
|
+
streamSimple: unavailable,
|
|
13
|
+
getAvailableOfType: async () => [],
|
|
14
|
+
generateImages: unavailable,
|
|
15
|
+
};
|
|
16
|
+
export function createMemoryDaemonProvider(options = {}) {
|
|
17
|
+
return {
|
|
18
|
+
scope: 'daemon',
|
|
19
|
+
provides: [MEMORY_SCHEDULER_SERVICE],
|
|
20
|
+
requires: [HOST_MAINTENANCE_SERVICE],
|
|
21
|
+
optional: [HOST_MODELS_SERVICE],
|
|
22
|
+
async create({ services }) {
|
|
23
|
+
const projects = new Map();
|
|
24
|
+
let shared;
|
|
25
|
+
let active = false;
|
|
26
|
+
let closed = false;
|
|
27
|
+
let activation;
|
|
28
|
+
let scanning;
|
|
29
|
+
let scanRequested = false;
|
|
30
|
+
let unsubscribe;
|
|
31
|
+
let timer;
|
|
32
|
+
let debounce;
|
|
33
|
+
let removeAbortListener;
|
|
34
|
+
let closing;
|
|
35
|
+
let forcing;
|
|
36
|
+
const scheduler = {
|
|
37
|
+
status: async () => {
|
|
38
|
+
await scanning?.catch(() => { });
|
|
39
|
+
return Promise.all([...projects.values()].map(async ({ project, attachment }) => ({
|
|
40
|
+
projectRoot: project.canonicalRoot,
|
|
41
|
+
status: await attachment.status(project.canonicalRoot),
|
|
42
|
+
})));
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
const close = (mode) => {
|
|
46
|
+
closed = true;
|
|
47
|
+
if (closing && mode === 'force') {
|
|
48
|
+
const pendingClose = closing;
|
|
49
|
+
forcing ??= Promise.allSettled([...projects.values()].map(({ attachment }) => attachment.settle('force')))
|
|
50
|
+
.then(() => pendingClose).finally(() => { forcing = undefined; });
|
|
51
|
+
return forcing;
|
|
52
|
+
}
|
|
53
|
+
closing ??= (async () => {
|
|
54
|
+
active = false;
|
|
55
|
+
if (timer)
|
|
56
|
+
clearInterval(timer);
|
|
57
|
+
if (debounce)
|
|
58
|
+
clearTimeout(debounce);
|
|
59
|
+
unsubscribe?.();
|
|
60
|
+
removeAbortListener?.();
|
|
61
|
+
const settling = Promise.allSettled([...projects.entries()].map(async ([key, { attachment }]) => {
|
|
62
|
+
try {
|
|
63
|
+
await attachment.settle(mode);
|
|
64
|
+
}
|
|
65
|
+
finally {
|
|
66
|
+
await attachment.detach();
|
|
67
|
+
projects.delete(key);
|
|
68
|
+
}
|
|
69
|
+
}));
|
|
70
|
+
await scanning?.catch(() => { });
|
|
71
|
+
const results = await settling;
|
|
72
|
+
await shared?.release();
|
|
73
|
+
shared = undefined;
|
|
74
|
+
const errors = results.flatMap(result => result.status === 'rejected' ? [result.reason] : []);
|
|
75
|
+
if (errors.length)
|
|
76
|
+
throw new AggregateError(errors, 'Memory scheduler shutdown failed');
|
|
77
|
+
})().catch(error => { closing = undefined; throw error; });
|
|
78
|
+
return closing;
|
|
79
|
+
};
|
|
80
|
+
return {
|
|
81
|
+
implementations: [{ contract: MEMORY_SCHEDULER_SERVICE, value: scheduler }],
|
|
82
|
+
busy: () => [...projects.values()].some(({ attachment }) => attachment.busy()),
|
|
83
|
+
activate() {
|
|
84
|
+
if (closed)
|
|
85
|
+
return Promise.reject(new Error('Memory scheduler is closed'));
|
|
86
|
+
activation ??= (async () => {
|
|
87
|
+
const maintenance = services.get(HOST_MAINTENANCE_SERVICE);
|
|
88
|
+
if (!maintenance)
|
|
89
|
+
throw new Error('Memory scheduler requires host maintenance');
|
|
90
|
+
maintenance.signal.throwIfAborted();
|
|
91
|
+
const models = services.get(HOST_MODELS_SERVICE);
|
|
92
|
+
const runtime = (typeof options.runtime === 'function' ? options.runtime() : options.runtime) ?? new HostAgentRuntime(maintenance.agentDir, {
|
|
93
|
+
agentDir: maintenance.agentDir,
|
|
94
|
+
agentStorageRoot: maintenance.agentDir,
|
|
95
|
+
sessionStorageRoot: maintenance.agentDir,
|
|
96
|
+
pathAccess: 'host',
|
|
97
|
+
});
|
|
98
|
+
const discovery = { runtime, sessions: maintenance.sessions({ kind: 'all' }) };
|
|
99
|
+
const resolvedProjects = new Map();
|
|
100
|
+
const resolveProject = (cwd) => {
|
|
101
|
+
let resolved = resolvedProjects.get(cwd);
|
|
102
|
+
if (!resolved) {
|
|
103
|
+
resolved = resolveLocalMemoryProject(discovery, cwd);
|
|
104
|
+
resolvedProjects.set(cwd, resolved);
|
|
105
|
+
void resolved.catch(() => { resolvedProjects.delete(cwd); });
|
|
106
|
+
}
|
|
107
|
+
return resolved;
|
|
108
|
+
};
|
|
109
|
+
const projectHistory = (project) => ({
|
|
110
|
+
current: discovery.sessions.current,
|
|
111
|
+
history: (id, request) => discovery.sessions.history(id, request),
|
|
112
|
+
checkpoint: (id, request) => discovery.sessions.checkpoint(id, request),
|
|
113
|
+
list: async (filter, request) => {
|
|
114
|
+
const page = await discovery.sessions.list(filter, request);
|
|
115
|
+
const matches = await Promise.all(page.items.map(async (session) => (await resolveProject(session.cwd)).key === project.key));
|
|
116
|
+
return { ...page, items: page.items.filter((_, index) => matches[index]) };
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
shared = acquireSharedLocalMemoryCoordinator({ agentDir: maintenance.agentDir });
|
|
120
|
+
active = true;
|
|
121
|
+
const onAbort = () => { void close('drain').catch(() => runtime.logger.warn('Memory scheduler drain failed')); };
|
|
122
|
+
maintenance.signal.addEventListener('abort', onAbort, { once: true });
|
|
123
|
+
removeAbortListener = () => maintenance.signal.removeEventListener('abort', onAbort);
|
|
124
|
+
let scope = { unavailableReason: scopeUnavailableReason };
|
|
125
|
+
const scanProjects = async () => {
|
|
126
|
+
let nextScope;
|
|
127
|
+
let timeout;
|
|
128
|
+
let onScopeAbort;
|
|
129
|
+
try {
|
|
130
|
+
const interrupted = new Promise((_, reject) => {
|
|
131
|
+
timeout = setTimeout(() => reject(new Error('Memory model scope resolution timed out')), 30_000);
|
|
132
|
+
timeout.unref?.();
|
|
133
|
+
onScopeAbort = () => reject(new DOMException('Memory model scope resolution aborted', 'AbortError'));
|
|
134
|
+
maintenance.signal.addEventListener('abort', onScopeAbort, { once: true });
|
|
135
|
+
if (maintenance.signal.aborted)
|
|
136
|
+
onScopeAbort();
|
|
137
|
+
});
|
|
138
|
+
const allowed = await Promise.race([maintenance.allowedModels(maintenance.signal), interrupted]);
|
|
139
|
+
const scopedModels = allowed?.flatMap(selection => {
|
|
140
|
+
const model = maintenance.modelRuntime.getModel(selection.provider, selection.id);
|
|
141
|
+
return model ? [model] : [];
|
|
142
|
+
});
|
|
143
|
+
nextScope = { models: scopedModels };
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
if (error instanceof Error && error.name === 'AbortError')
|
|
147
|
+
nextScope = scope;
|
|
148
|
+
else {
|
|
149
|
+
if (active)
|
|
150
|
+
runtime.logger.warn('Memory model scope is unavailable; scheduling remains paused');
|
|
151
|
+
nextScope = { unavailableReason: scopeUnavailableReason };
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
if (timeout)
|
|
156
|
+
clearTimeout(timeout);
|
|
157
|
+
if (onScopeAbort)
|
|
158
|
+
maintenance.signal.removeEventListener('abort', onScopeAbort);
|
|
159
|
+
}
|
|
160
|
+
if (!active)
|
|
161
|
+
return;
|
|
162
|
+
if (JSON.stringify(scope) !== JSON.stringify(nextScope)) {
|
|
163
|
+
scope = nextScope;
|
|
164
|
+
for (const { attachment } of projects.values()) {
|
|
165
|
+
attachment.setModelSelection(undefined, scope.models, models?.classifier);
|
|
166
|
+
attachment.setScheduling(!!models && !scope.unavailableReason, models ? scope.unavailableReason : unavailableReason);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
const discovered = options.discover === false ? [] : await discoverLocalMemoryProjects(discovery, maintenance.agentDir);
|
|
170
|
+
discovered.push(...await Promise.all((options.projects ?? []).map(resolveProject)));
|
|
171
|
+
for (const project of discovered) {
|
|
172
|
+
if (!active)
|
|
173
|
+
return;
|
|
174
|
+
const existing = projects.get(project.key);
|
|
175
|
+
if (existing) {
|
|
176
|
+
await existing.attachment.status(existing.project.canonicalRoot);
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
const attachment = shared.coordinator.attach({
|
|
180
|
+
environment: {
|
|
181
|
+
runtime,
|
|
182
|
+
sessions: options.selector ? maintenance.sessions(options.selector(project)) : projectHistory(project),
|
|
183
|
+
openWorker: maintenance.openWorker,
|
|
184
|
+
},
|
|
185
|
+
models: models ?? unavailableModels,
|
|
186
|
+
scheduling: !!models && !scope.unavailableReason,
|
|
187
|
+
persistent: true,
|
|
188
|
+
...(scope.models === undefined ? {} : { scopedModels: scope.models }),
|
|
189
|
+
...(!models ? { unavailableReason } : scope.unavailableReason ? { unavailableReason: scope.unavailableReason } : {}),
|
|
190
|
+
...(models?.classifier ? { classifier: models.classifier } : {}),
|
|
191
|
+
});
|
|
192
|
+
projects.set(project.key, { project, attachment });
|
|
193
|
+
await attachment.status(project.canonicalRoot);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
const requestScan = () => {
|
|
197
|
+
if (!active)
|
|
198
|
+
return Promise.resolve();
|
|
199
|
+
scanRequested = true;
|
|
200
|
+
scanning ??= (async () => {
|
|
201
|
+
do {
|
|
202
|
+
scanRequested = false;
|
|
203
|
+
await scanProjects();
|
|
204
|
+
} while (scanRequested && active);
|
|
205
|
+
})().finally(() => { scanning = undefined; });
|
|
206
|
+
return scanning;
|
|
207
|
+
};
|
|
208
|
+
const rescan = () => {
|
|
209
|
+
void requestScan().catch(() => runtime.logger.warn('Memory project discovery failed'));
|
|
210
|
+
};
|
|
211
|
+
unsubscribe = shared.coordinator.subscribeStatusChanges(() => {
|
|
212
|
+
if (!active || debounce)
|
|
213
|
+
return;
|
|
214
|
+
debounce = setTimeout(() => { debounce = undefined; rescan(); }, 2_000);
|
|
215
|
+
debounce.unref?.();
|
|
216
|
+
});
|
|
217
|
+
timer = setInterval(() => { resolvedProjects.clear(); rescan(); }, 10 * 60 * 1_000);
|
|
218
|
+
timer.unref?.();
|
|
219
|
+
// The daemon reports ready only after activation, so the first scan must not hold it.
|
|
220
|
+
rescan();
|
|
221
|
+
})();
|
|
222
|
+
return activation;
|
|
223
|
+
},
|
|
224
|
+
settle: close,
|
|
225
|
+
dispose: () => close('force'),
|
|
226
|
+
};
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
export default createMemoryDaemonProvider();
|
|
231
|
+
//# sourceMappingURL=daemon-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-provider.js","sourceRoot":"","sources":["../src/daemon-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,GAQjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAA+B,MAAM,gBAAgB,CAAC;AAEvF,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAA2B,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,mCAAmC,EAAqC,MAAM,mBAAmB,CAAC;AAE3G,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAU1D,MAAM,iBAAiB,GAAG,8GAA8G,CAAC;AACzI,MAAM,sBAAsB,GAAG,+GAA+G,CAAC;AAC/I,MAAM,WAAW,GAAG,GAAU,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,iBAAiB,GAAkB;IACvC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;IAC5B,cAAc,EAAE,WAAW;IAC3B,YAAY,EAAE,WAAW;IACzB,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;IAClC,cAAc,EAAE,WAAW;CAC5B,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,UAAuC,EAAE;IAClF,OAAO;QACL,KAAK,EAAE,QAAiB;QACxB,QAAQ,EAAE,CAAC,wBAAwB,CAAC;QACpC,QAAQ,EAAE,CAAC,wBAAwB,CAAC;QACpC,QAAQ,EAAE,CAAC,mBAAmB,CAAC;QAC/B,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAiD;YACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8E,CAAC;YACvG,IAAI,MAAgD,CAAC;YACrD,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,UAAqC,CAAC;YAC1C,IAAI,QAAmC,CAAC;YACxC,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,WAAqC,CAAC;YAC1C,IAAI,KAAiD,CAAC;YACtD,IAAI,QAAmD,CAAC;YACxD,IAAI,mBAA6C,CAAC;YAClD,IAAI,OAAkC,CAAC;YACvC,IAAI,OAAkC,CAAC;YACvC,MAAM,SAAS,GAA2B;gBACxC,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,MAAM,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAChC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;wBAClF,WAAW,EAAE,OAAO,CAAC,aAAa;wBAChC,MAAM,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;qBACvD,CAAC,CAAC,CAAC,CAAC;gBACP,CAAC;aACF,CAAC;YAEF,MAAM,KAAK,GAAG,CAAC,IAAuB,EAAiB,EAAE;gBACvD,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBAChC,MAAM,YAAY,GAAG,OAAO,CAAC;oBAC7B,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;yBACvG,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpE,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;oBACtB,MAAM,GAAG,KAAK,CAAC;oBACf,IAAI,KAAK;wBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;oBAChC,IAAI,QAAQ;wBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACrC,WAAW,EAAE,EAAE,CAAC;oBAChB,mBAAmB,EAAE,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;wBAC9F,IAAI,CAAC;4BAAC,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAAC,CAAC;gCAC9B,CAAC;4BACP,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;4BAC1B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC,CAAC,CAAC,CAAC;oBACJ,MAAM,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAChC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;oBAC/B,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC;oBACxB,MAAM,GAAG,SAAS,CAAC;oBACnB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9F,IAAI,MAAM,CAAC,MAAM;wBAAE,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;gBAC1F,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;YAEF,OAAO;gBACL,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC3E,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC9E,QAAQ;oBACN,IAAI,MAAM;wBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;oBAC3E,UAAU,KAAK,CAAC,KAAK,IAAI,EAAE;wBACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;wBAC3D,IAAI,CAAC,WAAW;4BAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;wBAChF,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;wBACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBACjD,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE;4BAC1I,QAAQ,EAAE,WAAW,CAAC,QAAQ;4BAC9B,gBAAgB,EAAE,WAAW,CAAC,QAAQ;4BACtC,kBAAkB,EAAE,WAAW,CAAC,QAAQ;4BACxC,UAAU,EAAE,MAAM;yBACnB,CAAC,CAAC;wBACH,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;wBAC/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuC,CAAC;wBACxE,MAAM,cAAc,GAAG,CAAC,GAAW,EAA+B,EAAE;4BAClE,IAAI,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,QAAQ,GAAG,yBAAyB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gCACrD,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gCACpC,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC/D,CAAC;4BACD,OAAO,QAAQ,CAAC;wBAClB,CAAC,CAAC;wBACF,MAAM,cAAc,GAAG,CAAC,OAA2B,EAAmB,EAAE,CAAC,CAAC;4BACxE,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO;4BACnC,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC;4BACjE,UAAU,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC;4BACvE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;gCAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gCAC5D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE,CAC/D,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC5D,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;4BAC7E,CAAC;yBACF,CAAC,CAAC;wBACH,MAAM,GAAG,mCAAmC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACjF,MAAM,GAAG,IAAI,CAAC;wBACd,MAAM,OAAO,GAAG,GAAS,EAAE,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvH,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;wBACtE,mBAAmB,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBACrF,IAAI,KAAK,GAA+E,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;wBACtI,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;4BAC7C,IAAI,SAAuB,CAAC;4BAC5B,IAAI,OAAkD,CAAC;4BACvD,IAAI,YAAsC,CAAC;4BAC3C,IAAI,CAAC;gCACH,MAAM,WAAW,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oCACnD,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;oCACjG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;oCAClB,YAAY,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,uCAAuC,EAAE,YAAY,CAAC,CAAC,CAAC;oCACrG,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oCAC3E,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO;wCAAE,YAAY,EAAE,CAAC;gCACjD,CAAC,CAAC,CAAC;gCACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;gCACjG,MAAM,YAAY,GAAG,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;oCAChD,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;oCAClF,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9B,CAAC,CAAC,CAAC;gCACH,SAAS,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;4BACvC,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;oCAAE,SAAS,GAAG,KAAK,CAAC;qCACxE,CAAC;oCACJ,IAAI,MAAM;wCAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;oCAChG,SAAS,GAAG,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;gCAC5D,CAAC;4BACH,CAAC;oCAAS,CAAC;gCACT,IAAI,OAAO;oCAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gCACnC,IAAI,YAAY;oCAAE,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;4BAClF,CAAC;4BACD,IAAI,CAAC,MAAM;gCAAE,OAAO;4BACpB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gCACxD,KAAK,GAAG,SAAS,CAAC;gCAClB,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;oCAC/C,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;oCAC1E,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gCACvH,CAAC;4BACH,CAAC;4BACD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,2BAA2B,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;4BACxH,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;4BACpF,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gCACjC,IAAI,CAAC,MAAM;oCAAE,OAAO;gCACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gCAC3C,IAAI,QAAQ,EAAE,CAAC;oCACb,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oCACjE,SAAS;gCACX,CAAC;gCACD,MAAM,UAAU,GAAG,MAAO,CAAC,WAAW,CAAC,MAAM,CAAC;oCAC5C,WAAW,EAAE;wCACX,OAAO;wCACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;wCACtG,UAAU,EAAE,WAAW,CAAC,UAAU;qCACnC;oCACD,MAAM,EAAE,MAAM,IAAI,iBAAiB;oCACnC,UAAU,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB;oCAChD,UAAU,EAAE,IAAI;oCAChB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oCACrE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCACpH,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iCACjE,CAAC,CAAC;gCACH,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gCACnD,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;4BACjD,CAAC;wBACH,CAAC,CAAC;wBACF,MAAM,WAAW,GAAG,GAAkB,EAAE;4BACtC,IAAI,CAAC,MAAM;gCAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;4BACtC,aAAa,GAAG,IAAI,CAAC;4BACrB,QAAQ,KAAK,CAAC,KAAK,IAAI,EAAE;gCACvB,GAAG,CAAC;oCACF,aAAa,GAAG,KAAK,CAAC;oCACtB,MAAM,YAAY,EAAE,CAAC;gCACvB,CAAC,QAAQ,aAAa,IAAI,MAAM,EAAE;4BACpC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC9C,OAAO,QAAQ,CAAC;wBAClB,CAAC,CAAC;wBACF,MAAM,MAAM,GAAG,GAAS,EAAE;4BACxB,KAAK,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;wBACzF,CAAC,CAAC;wBACF,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,GAAG,EAAE;4BAC3D,IAAI,CAAC,MAAM,IAAI,QAAQ;gCAAE,OAAO;4BAChC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;4BACxE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;wBACrB,CAAC,CAAC,CAAC;wBACH,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;wBACpF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;wBAChB,sFAAsF;wBACtF,MAAM,EAAE,CAAC;oBACX,CAAC,CAAC,EAAE,CAAC;oBACL,OAAO,UAAU,CAAC;gBACpB,CAAC;gBACD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAC9B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,eAAe,0BAA0B,EAAE,CAAC"}
|
package/dist/data.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { formatMemoryText } from './diagnostics.js';
|
|
2
2
|
export type { LocalSessionHistory, MemoryHistoryOptions, MemoryHistorySession, MemoryHistorySnapshot } from './local/history.js';
|
|
3
|
+
export type { MemoryTranscriptHintData } from './local/transcript-pages.js';
|
|
3
4
|
//# sourceMappingURL=data.d.ts.map
|
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjI,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/local/context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { AgentRuntime, HostWorkerLauncher,
|
|
1
|
+
import type { AgentRuntime, HostWorkerLauncher, SessionsHistory } from '@felan-ai/agent-core';
|
|
2
2
|
export interface MemoryContext {
|
|
3
3
|
readonly runtime: AgentRuntime;
|
|
4
|
-
readonly sessions:
|
|
4
|
+
readonly sessions: SessionsHistory;
|
|
5
5
|
readonly openWorker?: HostWorkerLauncher;
|
|
6
6
|
}
|
|
7
7
|
export declare function removeIfPresent(context: MemoryContext, path: string, options?: {
|
package/dist/local/control.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface MemoryControlPresentationHost {
|
|
|
4
4
|
showHistory(ctx: ExtensionContext, agentDir: string, status: string, signal: AbortSignal): Promise<void>;
|
|
5
5
|
openDirectory(directory: string, signal: AbortSignal): Promise<void>;
|
|
6
6
|
}
|
|
7
|
+
/** @internal */
|
|
7
8
|
export type MemoryControlCoordinator = Pick<LocalMemoryAttachment, 'status' | 'runNow' | 'retryProject' | 'canonicalDirectory' | 'subscribeStatusChanges' | 'setSelectedModel'>;
|
|
8
9
|
export interface CreateMemoryControlExtensionOptions {
|
|
9
10
|
readonly coordinator: MemoryControlCoordinator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/local/control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,kBAAkB,CAAC;AAKjF,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAC/D,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,oBAAoB,GAAG,wBAAwB,GAAG,kBAAkB,CAAC,CAAC;AAE/G,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;CACtD;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,mCAAmC,GAC3C,cAAc,CAqKhB"}
|
|
1
|
+
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../src/local/control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,kBAAkB,CAAC;AAKjF,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,gBAAgB;AAChB,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAC/D,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,oBAAoB,GAAG,wBAAwB,GAAG,kBAAkB,CAAC,CAAC;AAE/G,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;CACtD;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,mCAAmC,GAC3C,cAAc,CAqKhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/local/control.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtH,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"control.js","sourceRoot":"","sources":["../../src/local/control.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export interface LocalMemoryAttachmentOptions {
|
|
|
26
26
|
readonly environment: MemoryContext;
|
|
27
27
|
readonly models: ModelsService;
|
|
28
28
|
readonly scheduling: boolean;
|
|
29
|
+
readonly persistent?: boolean;
|
|
29
30
|
readonly unavailableReason?: string;
|
|
30
31
|
readonly selectedModel?: Model<Api>;
|
|
31
32
|
readonly scopedModels?: readonly Model<Api>[];
|
|
@@ -41,6 +42,7 @@ export interface LocalMemoryAttachment {
|
|
|
41
42
|
canonicalDirectory(cwd: string): Promise<string>;
|
|
42
43
|
setSelectedModel(model: Model<Api> | undefined): void;
|
|
43
44
|
setModelSelection(model: Model<Api> | undefined, scopedModels: readonly Model<Api>[] | undefined, classifier?: Classifier): void;
|
|
45
|
+
setScheduling(scheduling: boolean, unavailableReason?: string): void;
|
|
44
46
|
subscribeStatusChanges(listener: () => void): () => void;
|
|
45
47
|
busy(): boolean;
|
|
46
48
|
settle(mode: 'drain' | 'force'): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/local/coordinator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/local/coordinator.ts"],"names":[],"mappings":"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"}
|