@felan-ai/agent-core 0.12.0 → 0.13.0
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 +65 -1
- package/dist/dynamic-thinking/session.d.ts +2 -1
- package/dist/dynamic-thinking/session.d.ts.map +1 -1
- package/dist/dynamic-thinking/session.js +4 -4
- package/dist/dynamic-thinking/session.js.map +1 -1
- package/dist/extension-config-write.d.ts +7 -0
- package/dist/extension-config-write.d.ts.map +1 -0
- package/dist/extension-config-write.js +52 -0
- package/dist/extension-config-write.js.map +1 -0
- package/dist/extension-ui.d.ts +51 -0
- package/dist/extension-ui.d.ts.map +1 -0
- package/dist/extension-ui.js +22 -0
- package/dist/extension-ui.js.map +1 -0
- package/dist/extensions.d.ts +25 -3
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +56 -11
- package/dist/extensions.js.map +1 -1
- package/dist/host-agent-runtime.d.ts +12 -0
- package/dist/host-agent-runtime.d.ts.map +1 -1
- package/dist/host-agent-runtime.js +171 -7
- package/dist/host-agent-runtime.js.map +1 -1
- package/dist/host-workers.d.ts +31 -0
- package/dist/host-workers.d.ts.map +1 -0
- package/dist/host-workers.js +4 -0
- package/dist/host-workers.js.map +1 -0
- package/dist/index.d.ts +27 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/platform.d.ts +33 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +3 -0
- package/dist/platform.js.map +1 -0
- package/dist/runtime-files.d.ts +28 -0
- package/dist/runtime-files.d.ts.map +1 -0
- package/dist/runtime-files.js +2 -0
- package/dist/runtime-files.js.map +1 -0
- package/dist/runtime.d.ts +20 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/savings.d.ts +12 -0
- package/dist/savings.d.ts.map +1 -1
- package/dist/savings.js +2 -1
- package/dist/savings.js.map +1 -1
- package/dist/services/models.d.ts +40 -0
- package/dist/services/models.d.ts.map +1 -0
- package/dist/services/models.js +3 -0
- package/dist/services/models.js.map +1 -0
- package/dist/services/runtime-dependencies.d.ts +16 -0
- package/dist/services/runtime-dependencies.d.ts.map +1 -0
- package/dist/services/runtime-dependencies.js +3 -0
- package/dist/services/runtime-dependencies.js.map +1 -0
- package/dist/services/secrets.d.ts +39 -0
- package/dist/services/secrets.d.ts.map +1 -0
- package/dist/services/secrets.js +18 -0
- package/dist/services/secrets.js.map +1 -0
- package/dist/services/sessions.d.ts +160 -0
- package/dist/services/sessions.d.ts.map +1 -0
- package/dist/services/sessions.js +37 -0
- package/dist/services/sessions.js.map +1 -0
- package/dist/services.d.ts +31 -0
- package/dist/services.d.ts.map +1 -0
- package/dist/services.js +55 -0
- package/dist/services.js.map +1 -0
- package/dist/session.d.ts +7 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +17 -4
- package/dist/session.js.map +1 -1
- package/package.json +9 -2
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { defineServiceContract } from '../services.js';
|
|
2
|
+
const messages = {
|
|
3
|
+
invalid: 'Session request or data is invalid.',
|
|
4
|
+
inaccessible: 'Session operation is inaccessible.',
|
|
5
|
+
stale: 'Session state or snapshot is stale.',
|
|
6
|
+
oversize: 'Session data exceeds its size limit.',
|
|
7
|
+
unsupported: 'Session operation or format is unsupported.',
|
|
8
|
+
};
|
|
9
|
+
export class SessionsServiceError extends Error {
|
|
10
|
+
code;
|
|
11
|
+
constructor(code, message) {
|
|
12
|
+
const safeCode = code === 'inaccessible' || code === 'stale' || code === 'oversize' || code === 'unsupported' ? code : 'invalid';
|
|
13
|
+
super(message ?? messages[safeCode]);
|
|
14
|
+
this.name = 'SessionsServiceError';
|
|
15
|
+
this.code = safeCode;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const SESSION_HISTORY_LIMITS = Object.freeze({
|
|
19
|
+
fileBytes: 64 * 1024 * 1024,
|
|
20
|
+
pageBytes: 12 * 1024 * 1024,
|
|
21
|
+
pageEntries: 256,
|
|
22
|
+
});
|
|
23
|
+
export const SESSION_EXECUTION_LIMITS = Object.freeze({ maxTurns: 100, timeoutMs: 86_400_000,
|
|
24
|
+
promptBytes: 128 * 1024, appendSystemPromptBytes: 128 * 1024, descriptionBytes: 512,
|
|
25
|
+
steerBytes: 32 * 1024, cancelReasonBytes: 4096, titleBytes: 4096, requestIdBytes: 128,
|
|
26
|
+
resultTextBytes: 64 * 1024, resultErrorBytes: 4096 });
|
|
27
|
+
export function createReadOnlySessionsService(source) {
|
|
28
|
+
return Object.freeze({
|
|
29
|
+
current: Object.freeze({ ...source.current }),
|
|
30
|
+
list: source.list.bind(source),
|
|
31
|
+
history: source.history.bind(source),
|
|
32
|
+
checkpoint: source.checkpoint.bind(source),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export const SESSIONS_HISTORY_SERVICE = defineServiceContract('felan.sessions.history', 1);
|
|
36
|
+
export const SESSIONS_SERVICE = defineServiceContract('felan.sessions', 1);
|
|
37
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/services/sessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAyIvD,MAAM,QAAQ,GAA6C;IACzD,OAAO,EAAE,qCAAqC;IAC9C,YAAY,EAAE,oCAAoC;IAClD,KAAK,EAAE,qCAAqC;IAC5C,QAAQ,EAAE,sCAAsC;IAChD,WAAW,EAAE,6CAA6C;CAC3D,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,CAA2B;IAExC,YAAY,IAA8B,EAAE,OAAgB;QAC1D,MAAM,QAAQ,GAAG,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjI,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC3B,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC3B,WAAW,EAAE,GAAG;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU;IAC1F,WAAW,EAAE,GAAG,GAAG,IAAI,EAAE,uBAAuB,EAAE,GAAG,GAAG,IAAI,EAAE,gBAAgB,EAAE,GAAG;IACnF,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG;IACrF,eAAe,EAAE,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,6BAA6B,CAAC,MAAuB;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAkB,wBAAwB,EAAE,CAAC,CAAC,CAAC;AAC5G,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAkB,gBAAgB,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { HostAgentRuntimeOptions } from './host-agent-runtime.js';
|
|
2
|
+
import type { AgentRuntime } from './runtime.js';
|
|
3
|
+
declare const serviceTokenBrand: unique symbol;
|
|
4
|
+
export interface HostRuntimeService {
|
|
5
|
+
create(cwd: string, options: HostAgentRuntimeOptions): AgentRuntime;
|
|
6
|
+
}
|
|
7
|
+
export interface ServiceContract<T> {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly major: number;
|
|
10
|
+
readonly key: string;
|
|
11
|
+
readonly [serviceTokenBrand]: T;
|
|
12
|
+
}
|
|
13
|
+
export declare function defineServiceContract<T>(id: string, major: number): ServiceContract<T>;
|
|
14
|
+
export declare const HOST_RUNTIME_SERVICE: ServiceContract<HostRuntimeService>;
|
|
15
|
+
export interface FelanServiceRegistry {
|
|
16
|
+
set<T>(contract: ServiceContract<T>, implementation: T): void;
|
|
17
|
+
get<T>(contract: ServiceContract<T>): T | undefined;
|
|
18
|
+
fork(): FelanServiceRegistry;
|
|
19
|
+
revoke(): void;
|
|
20
|
+
}
|
|
21
|
+
export declare function createFelanServiceRegistry(parent?: FelanServiceRegistry): FelanServiceRegistry;
|
|
22
|
+
export interface ExtensionServiceRequirements {
|
|
23
|
+
readonly required?: readonly ServiceContract<unknown>[];
|
|
24
|
+
readonly optional?: readonly ServiceContract<unknown>[];
|
|
25
|
+
}
|
|
26
|
+
export interface ExtensionServiceAccess {
|
|
27
|
+
get<T>(contract: ServiceContract<T>): T | undefined;
|
|
28
|
+
}
|
|
29
|
+
export declare function createExtensionServiceAccess(registry: FelanServiceRegistry, requirements: ExtensionServiceRequirements): ExtensionServiceAccess;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,QAAA,MAAM,iBAAiB,EAAE,OAAO,MAAuC,CAAC;AAExE,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,YAAY,CAAC;CACrE;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;CACjC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAQtF;AAED,eAAO,MAAM,oBAAoB,qCAAgE,CAAC;AAElG,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9D,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACpD,IAAI,IAAI,oBAAoB,CAAC;IAC7B,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAoB9F;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,oBAAoB,EAC9B,YAAY,EAAE,4BAA4B,GACzC,sBAAsB,CAiBxB"}
|
package/dist/services.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const serviceTokenBrand = Symbol('FelanServiceContract');
|
|
2
|
+
export function defineServiceContract(id, major) {
|
|
3
|
+
if (!/^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$/u.test(id) || id.length > 128) {
|
|
4
|
+
throw new Error('Service contract IDs must be bounded lowercase identifiers.');
|
|
5
|
+
}
|
|
6
|
+
if (!Number.isSafeInteger(major) || major < 1 || major > 65_535) {
|
|
7
|
+
throw new Error('Service contract major versions must be positive safe integers.');
|
|
8
|
+
}
|
|
9
|
+
return Object.freeze({ id, major, key: `${id}@${major}`, [serviceTokenBrand]: undefined });
|
|
10
|
+
}
|
|
11
|
+
export const HOST_RUNTIME_SERVICE = defineServiceContract('felan.runtime', 1);
|
|
12
|
+
export function createFelanServiceRegistry(parent) {
|
|
13
|
+
const implementations = new Map();
|
|
14
|
+
let revoked = false;
|
|
15
|
+
const api = {
|
|
16
|
+
set(contract, implementation) {
|
|
17
|
+
assertActive();
|
|
18
|
+
if (implementations.has(contract.key))
|
|
19
|
+
throw new Error(`Service ${contract.key} already has a provider in this scope.`);
|
|
20
|
+
implementations.set(contract.key, implementation);
|
|
21
|
+
},
|
|
22
|
+
get(contract) {
|
|
23
|
+
assertActive();
|
|
24
|
+
return implementations.has(contract.key) ? implementations.get(contract.key) : parent?.get(contract);
|
|
25
|
+
},
|
|
26
|
+
fork() { assertActive(); return createFelanServiceRegistry(api); },
|
|
27
|
+
revoke() { revoked = true; implementations.clear(); },
|
|
28
|
+
};
|
|
29
|
+
return Object.freeze(api);
|
|
30
|
+
function assertActive() {
|
|
31
|
+
if (revoked)
|
|
32
|
+
throw new Error('Service registry has been revoked.');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function createExtensionServiceAccess(registry, requirements) {
|
|
36
|
+
const required = new Set((requirements.required ?? []).map(contract => contract.key));
|
|
37
|
+
const optional = new Set((requirements.optional ?? []).map(contract => contract.key));
|
|
38
|
+
for (const key of required) {
|
|
39
|
+
if (optional.has(key))
|
|
40
|
+
throw new Error(`Service ${key} cannot be both required and optional.`);
|
|
41
|
+
}
|
|
42
|
+
const declared = new Map([...(requirements.required ?? []), ...(requirements.optional ?? [])].map(contract => [contract.key, contract]));
|
|
43
|
+
return Object.freeze({
|
|
44
|
+
get(contract) {
|
|
45
|
+
if (!declared.has(contract.key))
|
|
46
|
+
throw new Error(`Extension did not declare service ${contract.key}.`);
|
|
47
|
+
const implementation = registry.get(contract);
|
|
48
|
+
if (required.has(contract.key) && implementation === undefined) {
|
|
49
|
+
throw new Error(`Required service ${contract.key} has no configured provider.`);
|
|
50
|
+
}
|
|
51
|
+
return implementation;
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type AgentSession, type CreateAgentSessionOptions, type CreateAgentSessionResult, type CreateAgentSessionRuntimeFactory, type CreateAgentSessionRuntimeResult, type InlineExtension, type ModelRuntime, type SessionManager, type SessionStartEvent, type SettingsManager, type Skill, type ToolDefinition } from '@earendil-works/pi-coding-agent';
|
|
2
|
-
import { type ExtensionPackageImporter } from './extensions.js';
|
|
2
|
+
import { type ExtensionConfigWriter, type ExtensionPackageImporter } from './extensions.js';
|
|
3
3
|
import type { AgentRuntime } from './runtime.js';
|
|
4
4
|
import type { ExtensionConfigOverride } from './extension-config.js';
|
|
5
5
|
import type { SavingsReporterProvider } from './savings.js';
|
|
6
|
+
import type { ExtensionUiBindingFactory } from './extension-ui.js';
|
|
7
|
+
import { type FelanServiceRegistry } from './services.js';
|
|
6
8
|
export type StreamFunction = AgentSession['agent']['streamFunction'];
|
|
7
9
|
export declare const PROJECT_INSTRUCTIONS_CUSTOM_TYPE = "felan-project-instructions";
|
|
8
10
|
export interface ProjectInstructionsFile {
|
|
@@ -33,6 +35,10 @@ export interface CreateAgentCoreSessionOptions {
|
|
|
33
35
|
readonly skills?: readonly Skill[];
|
|
34
36
|
readonly appendSystemPrompt?: readonly string[];
|
|
35
37
|
readonly savings?: SavingsReporterProvider;
|
|
38
|
+
readonly services?: FelanServiceRegistry;
|
|
39
|
+
readonly onServiceRequirementFailure?: (packageName: string, service: string) => void;
|
|
40
|
+
readonly createExtensionUi?: ExtensionUiBindingFactory;
|
|
41
|
+
readonly updateExtensionConfig?: ExtensionConfigWriter;
|
|
36
42
|
}
|
|
37
43
|
export declare function createAgentCoreSession(options: CreateAgentCoreSessionOptions): Promise<CreateAgentSessionResult>;
|
|
38
44
|
export declare function createAgentCoreSessionRuntime(options: CreateAgentCoreSessionOptions): Promise<CreateAgentSessionRuntimeResult>;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
2
|
import { createAgentSession, } from '@earendil-works/pi-coding-agent';
|
|
3
|
-
import { loadFelanSessionExtensions } from './extensions.js';
|
|
3
|
+
import { getExecutionContribution, loadFelanSessionExtensions } from './extensions.js';
|
|
4
4
|
import { createTurnClassificationRegistry } from './classifier/turn-classification.js';
|
|
5
5
|
import { createDynamicThinkingSession, DYNAMIC_THINKING_PRODUCER } from './dynamic-thinking/session.js';
|
|
6
6
|
import { installModelSelectionPersistenceScope } from './model-selection.js';
|
|
7
7
|
import { createAgentCoreResourceLoaderWithContextFiles, runtimeToolsExtensionName, } from './resource-loader.js';
|
|
8
8
|
import { createRuntimeCodingTools } from './tools.js';
|
|
9
|
+
import { createFelanServiceRegistry } from './services.js';
|
|
9
10
|
const PROJECT_INSTRUCTION_FILENAMES = ['AGENTS.md', 'CLAUDE.md'];
|
|
10
11
|
export const PROJECT_INSTRUCTIONS_CUSTOM_TYPE = 'felan-project-instructions';
|
|
11
12
|
const decoder = new TextDecoder();
|
|
@@ -37,14 +38,21 @@ export function createAgentCoreSessionRuntimeFactory(createOptions) {
|
|
|
37
38
|
}
|
|
38
39
|
async function composeAgentCoreSession(options) {
|
|
39
40
|
const agentDir = options.agentDir ?? options.runtime.cwd;
|
|
41
|
+
const diagnostics = [];
|
|
40
42
|
const modelSelectionScope = installModelSelectionPersistenceScope(options.settingsManager);
|
|
41
43
|
const turnClassification = options.sessionManager.getHeader()?.parentSession === undefined && options.runtime.classifier
|
|
42
44
|
? createTurnClassificationRegistry(options.runtime.classifier, options.runtime.logger, () => modelSelectionScope.owner !== undefined)
|
|
43
45
|
: undefined;
|
|
44
|
-
const featureExtensions = await loadFelanSessionExtensions(options.extensionPackages, options.importExtension, options.runtime, agentDir, modelSelectionScope, options.extensionConfigOverrides, options.savings, turnClassification)
|
|
46
|
+
const featureExtensions = await loadFelanSessionExtensions(options.extensionPackages, options.importExtension, options.runtime, agentDir, modelSelectionScope, options.extensionConfigOverrides, options.savings, turnClassification, options.services ?? createFelanServiceRegistry(), (packageName, service) => {
|
|
47
|
+
diagnostics.push({
|
|
48
|
+
type: 'warning',
|
|
49
|
+
message: `Disabled Felan extension ${packageName}: required service ${service} has no configured provider.`,
|
|
50
|
+
});
|
|
51
|
+
options.onServiceRequirementFailure?.(packageName, service);
|
|
52
|
+
}, options.createExtensionUi, options.updateExtensionConfig);
|
|
45
53
|
const projectInstructions = await loadProjectInstructions(options.runtime);
|
|
46
54
|
const dynamicThinking = options.dynamicThinking && options.runtime.classifier
|
|
47
|
-
? createDynamicThinkingSession(options.runtime, featureExtensions.some((extension) =>
|
|
55
|
+
? createDynamicThinkingSession(options.runtime, (model) => featureExtensions.some((extension) => getExecutionContribution(extension)?.supportsNativeThinkingUpdates?.(model) === true), optionalDynamicThinkingReporter(options.savings), { selectionScope: modelSelectionScope, ...(turnClassification ? { turnClassification } : {}) })
|
|
48
56
|
: undefined;
|
|
49
57
|
const extensionFactories = [
|
|
50
58
|
{
|
|
@@ -134,6 +142,11 @@ async function composeAgentCoreSession(options) {
|
|
|
134
142
|
}
|
|
135
143
|
};
|
|
136
144
|
try {
|
|
145
|
+
for (const extension of featureExtensions) {
|
|
146
|
+
const wrap = getExecutionContribution(extension)?.wrapStreamFunction;
|
|
147
|
+
if (wrap)
|
|
148
|
+
session.agent.streamFunction = wrap(session.agent.streamFunction);
|
|
149
|
+
}
|
|
137
150
|
if (options.wrapStreamFunction) {
|
|
138
151
|
result.session.agent.streamFunction = options.wrapStreamFunction(result.session.agent.streamFunction);
|
|
139
152
|
}
|
|
@@ -150,7 +163,7 @@ async function composeAgentCoreSession(options) {
|
|
|
150
163
|
modelRuntime: options.modelRuntime,
|
|
151
164
|
settingsManager: options.settingsManager,
|
|
152
165
|
resourceLoader,
|
|
153
|
-
diagnostics
|
|
166
|
+
diagnostics,
|
|
154
167
|
},
|
|
155
168
|
};
|
|
156
169
|
}
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,kBAAkB,GAcnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@felan-ai/agent-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Portable Felan agent contracts and composition",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -25,10 +25,17 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
+
"@earendil-works/pi-agent-core": "1.1.0",
|
|
28
29
|
"@earendil-works/pi-ai": "1.1.0",
|
|
30
|
+
"@earendil-works/pi-codemode": "1.1.0",
|
|
29
31
|
"@earendil-works/pi-coding-agent": "1.1.0",
|
|
32
|
+
"@earendil-works/pi-mcp": "1.1.0",
|
|
33
|
+
"@earendil-works/pi-protocol": "1.1.0",
|
|
30
34
|
"@earendil-works/pi-server": "1.1.0",
|
|
31
|
-
"@
|
|
35
|
+
"@earendil-works/pi-telemetry": "1.1.0",
|
|
36
|
+
"@earendil-works/pi-tui": "1.1.0",
|
|
37
|
+
"@lydell/node-pty": "1.2.0-beta.14",
|
|
38
|
+
"@felan-ai/session-protocol": "0.1.0"
|
|
32
39
|
},
|
|
33
40
|
"publishConfig": {
|
|
34
41
|
"access": "public",
|