@felan-ai/agent-core 0.6.2 → 0.7.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 +3 -7
- package/dist/extensions.d.ts +3 -6
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +11 -14
- package/dist/extensions.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/resource-loader.d.ts +1 -0
- package/dist/resource-loader.d.ts.map +1 -1
- package/dist/resource-loader.js +1 -1
- package/dist/resource-loader.js.map +1 -1
- package/dist/session.d.ts +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +2 -4
- package/dist/session.js.map +1 -1
- package/package.json +1 -1
- package/dist/tool-invocation.d.ts +0 -18
- package/dist/tool-invocation.d.ts.map +0 -1
- package/dist/tool-invocation.js +0 -186
- package/dist/tool-invocation.js.map +0 -1
package/README.md
CHANGED
|
@@ -69,8 +69,9 @@ Host mode runs with the current user's filesystem and process permissions. It
|
|
|
69
69
|
does not provide OS isolation or a sandbox boundary. Run untrusted workloads in
|
|
70
70
|
an isolated runtime instead.
|
|
71
71
|
|
|
72
|
-
The package also composes Pi 0.85.1 sessions with inline
|
|
73
|
-
|
|
72
|
+
The package also composes Pi 0.85.1 sessions with inline Felan extensions,
|
|
73
|
+
optional explicitly supplied native Pi extension paths, and runtime-backed
|
|
74
|
+
coding tools. `createAgentCoreSession` returns a headless,
|
|
74
75
|
inactive session, while `createAgentCoreSessionRuntimeFactory` provides the
|
|
75
76
|
typed seam used with Pi's `createAgentSessionRuntime`. Applications retain
|
|
76
77
|
ownership of model credentials, settings, session storage, stream wrappers,
|
|
@@ -84,11 +85,6 @@ preference. Session-only model switches carry the active thinking level instead
|
|
|
84
85
|
of applying persisted global or per-model defaults. Ordinary selections retain
|
|
85
86
|
Pi's default-updating behavior.
|
|
86
87
|
|
|
87
|
-
Agent Core also exposes an optional session-scoped `toolInvoker` through
|
|
88
|
-
`FelanExtensionAPI`. It resolves only active tools and preserves validation,
|
|
89
|
-
tool hooks, cancellation, and nested result metadata for portable composition
|
|
90
|
-
features such as `@felan-ai/ext-run`; nested calls do not become transcript
|
|
91
|
-
entries.
|
|
92
88
|
Applications may also pass adapter-neutral `inlineExtensions` directly into
|
|
93
89
|
session composition for host-owned integration such as presentation controls;
|
|
94
90
|
these remain opt-in and are not discovered from ambient configuration.
|
package/dist/extensions.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ExtensionAPI, InlineExtension } from '@earendil-works/pi-coding-agent';
|
|
2
2
|
import type { AgentRuntime } from './runtime.js';
|
|
3
|
-
import type { FelanToolInvoker } from './tool-invocation.js';
|
|
4
3
|
import type { ModelSelectionPersistenceScope } from './model-selection.js';
|
|
5
4
|
import type { SavingsReporter, SavingsReporterProvider } from './savings.js';
|
|
6
5
|
import { type FelanCapability } from './capabilities.js';
|
|
@@ -13,8 +12,6 @@ export interface FelanExtensionAPI extends Omit<ExtensionAPI, 'getFlag' | 'regis
|
|
|
13
12
|
readonly runtime: AgentRuntime;
|
|
14
13
|
readonly config: Readonly<Record<string, ExtensionConfigValue>>;
|
|
15
14
|
readonly savings?: SavingsReporter;
|
|
16
|
-
/** Session-scoped nested tool execution for host-owned composition features. */
|
|
17
|
-
readonly toolInvoker?: FelanToolInvoker;
|
|
18
15
|
registerCapability(capability: FelanCapability): void;
|
|
19
16
|
setModel(model: Parameters<ExtensionAPI['setModel']>[0], options?: FelanModelSelectionOptions): ReturnType<ExtensionAPI['setModel']>;
|
|
20
17
|
setThinkingLevel(level: Parameters<ExtensionAPI['setThinkingLevel']>[0], options?: FelanModelSelectionOptions): ReturnType<ExtensionAPI['setThinkingLevel']>;
|
|
@@ -24,7 +21,7 @@ export interface ConfiguredFelanExtension extends FelanExtension {
|
|
|
24
21
|
readonly configDefinition?: ExtensionConfigDefinition;
|
|
25
22
|
}
|
|
26
23
|
export type ExtensionPackageImporter = (packageName: string) => Promise<unknown>;
|
|
27
|
-
export declare function bindFelanExtension(packageName: string, extension: FelanExtension, runtime: AgentRuntime, agentDir?: string, config?: Readonly<Record<string, ExtensionConfigValue>>, savings?: SavingsReporterProvider
|
|
28
|
-
export declare function loadFelanExtensions(packageNames: readonly string[], importExtension: ExtensionPackageImporter, runtime: AgentRuntime, agentDir?: string, configOverrides?: readonly ExtensionConfigOverride[], savings?: SavingsReporterProvider
|
|
29
|
-
export declare function loadFelanSessionExtensions(packageNames: readonly string[], importExtension: ExtensionPackageImporter, runtime: AgentRuntime, agentDir: string, modelSelectionScope: ModelSelectionPersistenceScope, configOverrides?: readonly ExtensionConfigOverride[], savings?: SavingsReporterProvider
|
|
24
|
+
export declare function bindFelanExtension(packageName: string, extension: FelanExtension, runtime: AgentRuntime, agentDir?: string, config?: Readonly<Record<string, ExtensionConfigValue>>, savings?: SavingsReporterProvider): InlineExtension;
|
|
25
|
+
export declare function loadFelanExtensions(packageNames: readonly string[], importExtension: ExtensionPackageImporter, runtime: AgentRuntime, agentDir?: string, configOverrides?: readonly ExtensionConfigOverride[], savings?: SavingsReporterProvider): Promise<InlineExtension[]>;
|
|
26
|
+
export declare function loadFelanSessionExtensions(packageNames: readonly string[], importExtension: ExtensionPackageImporter, runtime: AgentRuntime, agentDir: string, modelSelectionScope: ModelSelectionPersistenceScope, configOverrides?: readonly ExtensionConfigOverride[], savings?: SavingsReporterProvider): Promise<InlineExtension[]>;
|
|
30
27
|
//# sourceMappingURL=extensions.d.ts.map
|
package/dist/extensions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAG1B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,cAAc,CAAC;IACvF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACtD,QAAQ,CACN,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9C,OAAO,CAAC,EAAE,0BAA0B,GACnC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,gBAAgB,CACd,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EACtD,OAAO,CAAC,EAAE,0BAA0B,GACnC,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,EAAE,EAAE,iBAAiB,KAClB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CACvD;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,YAAY,EACrB,QAAQ,GAAE,MAAoB,EAC9B,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAM,EAC3D,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAYjB;AA2CD,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,eAAe,EAAE,wBAAwB,EACzC,OAAO,EAAE,YAAY,EACrB,QAAQ,GAAE,MAAoB,EAC9B,eAAe,GAAE,SAAS,uBAAuB,EAAO,EACxD,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC,CAU5B;AAED,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,eAAe,EAAE,wBAAwB,EACzC,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,8BAA8B,EACnD,eAAe,GAAE,SAAS,uBAAuB,EAAO,EACxD,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC,CAU5B"}
|
package/dist/extensions.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { associateCapabilityCollector, CapabilityCollector, } from './capabilities.js';
|
|
2
2
|
import { getExtensionConfigDefinition, resolveExtensionConfigs, } from './extension-config.js';
|
|
3
|
-
export function bindFelanExtension(packageName, extension, runtime, agentDir = runtime.cwd, config = {}, savings
|
|
4
|
-
return bindFelanExtensionWithCapabilities(packageName, extension, runtime, agentDir, new CapabilityCollector(), true, undefined, config, savings
|
|
3
|
+
export function bindFelanExtension(packageName, extension, runtime, agentDir = runtime.cwd, config = {}, savings) {
|
|
4
|
+
return bindFelanExtensionWithCapabilities(packageName, extension, runtime, agentDir, new CapabilityCollector(), true, undefined, config, savings);
|
|
5
5
|
}
|
|
6
|
-
function bindFelanExtensionWithCapabilities(packageName, extension, runtime, agentDir, capabilityCollector, resetCapabilities, modelSelectionScope, config, savings
|
|
6
|
+
function bindFelanExtensionWithCapabilities(packageName, extension, runtime, agentDir, capabilityCollector, resetCapabilities, modelSelectionScope, config, savings) {
|
|
7
7
|
const inline = {
|
|
8
8
|
name: packageName,
|
|
9
9
|
factory: async (pi) => {
|
|
@@ -17,7 +17,7 @@ function bindFelanExtensionWithCapabilities(packageName, extension, runtime, age
|
|
|
17
17
|
capabilityCollector.register(packageName, capability);
|
|
18
18
|
};
|
|
19
19
|
try {
|
|
20
|
-
await extension(createFelanExtensionAPI(pi, runtime, agentDir, registerCapability, modelSelectionScope, config, savings?.createReporter(packageName)
|
|
20
|
+
await extension(createFelanExtensionAPI(pi, runtime, agentDir, registerCapability, modelSelectionScope, config, savings?.createReporter(packageName)));
|
|
21
21
|
}
|
|
22
22
|
finally {
|
|
23
23
|
initializing = false;
|
|
@@ -27,13 +27,13 @@ function bindFelanExtensionWithCapabilities(packageName, extension, runtime, age
|
|
|
27
27
|
associateCapabilityCollector(inline, capabilityCollector);
|
|
28
28
|
return inline;
|
|
29
29
|
}
|
|
30
|
-
export async function loadFelanExtensions(packageNames, importExtension, runtime, agentDir = runtime.cwd, configOverrides = [], savings
|
|
31
|
-
return loadFelanExtensionsWithScope(packageNames, importExtension, runtime, agentDir, undefined, configOverrides, savings
|
|
30
|
+
export async function loadFelanExtensions(packageNames, importExtension, runtime, agentDir = runtime.cwd, configOverrides = [], savings) {
|
|
31
|
+
return loadFelanExtensionsWithScope(packageNames, importExtension, runtime, agentDir, undefined, configOverrides, savings);
|
|
32
32
|
}
|
|
33
|
-
export async function loadFelanSessionExtensions(packageNames, importExtension, runtime, agentDir, modelSelectionScope, configOverrides = [], savings
|
|
34
|
-
return loadFelanExtensionsWithScope(packageNames, importExtension, runtime, agentDir, modelSelectionScope, configOverrides, savings
|
|
33
|
+
export async function loadFelanSessionExtensions(packageNames, importExtension, runtime, agentDir, modelSelectionScope, configOverrides = [], savings) {
|
|
34
|
+
return loadFelanExtensionsWithScope(packageNames, importExtension, runtime, agentDir, modelSelectionScope, configOverrides, savings);
|
|
35
35
|
}
|
|
36
|
-
async function loadFelanExtensionsWithScope(packageNames, importExtension, runtime, agentDir, modelSelectionScope, configOverrides, savings
|
|
36
|
+
async function loadFelanExtensionsWithScope(packageNames, importExtension, runtime, agentDir, modelSelectionScope, configOverrides, savings) {
|
|
37
37
|
const seen = new Set();
|
|
38
38
|
const extensions = [];
|
|
39
39
|
const capabilityCollector = new CapabilityCollector();
|
|
@@ -68,11 +68,11 @@ async function loadFelanExtensionsWithScope(packageNames, importExtension, runti
|
|
|
68
68
|
const config = definition === undefined
|
|
69
69
|
? {}
|
|
70
70
|
: resolveExtensionConfigs([definition], configOverrides.filter(({ extensionId }) => extensionId === definition.id)).get(definition.id);
|
|
71
|
-
extensions.push(bindFelanExtensionWithCapabilities(packageName, defaultExport, runtime, agentDir, capabilityCollector, extensions.length === 0, modelSelectionScope, config, savings
|
|
71
|
+
extensions.push(bindFelanExtensionWithCapabilities(packageName, defaultExport, runtime, agentDir, capabilityCollector, extensions.length === 0, modelSelectionScope, config, savings));
|
|
72
72
|
}
|
|
73
73
|
return extensions;
|
|
74
74
|
}
|
|
75
|
-
function createFelanExtensionAPI(pi, runtime, agentDir, registerCapability, modelSelectionScope, config, savings
|
|
75
|
+
function createFelanExtensionAPI(pi, runtime, agentDir, registerCapability, modelSelectionScope, config, savings) {
|
|
76
76
|
const boundMethods = new Map();
|
|
77
77
|
return new Proxy(pi, {
|
|
78
78
|
get(target, property) {
|
|
@@ -84,8 +84,6 @@ function createFelanExtensionAPI(pi, runtime, agentDir, registerCapability, mode
|
|
|
84
84
|
return config;
|
|
85
85
|
if (property === 'savings')
|
|
86
86
|
return savings;
|
|
87
|
-
if (property === 'toolInvoker')
|
|
88
|
-
return toolInvoker;
|
|
89
87
|
if (property === 'registerCapability') {
|
|
90
88
|
return registerCapability;
|
|
91
89
|
}
|
|
@@ -137,7 +135,6 @@ function createFelanExtensionAPI(pi, runtime, agentDir, registerCapability, mode
|
|
|
137
135
|
|| property === 'runtime'
|
|
138
136
|
|| property === 'config'
|
|
139
137
|
|| property === 'savings'
|
|
140
|
-
|| property === 'toolInvoker'
|
|
141
138
|
|| property === 'registerCapability')
|
|
142
139
|
return false;
|
|
143
140
|
return Reflect.set(target, property, value, target);
|
package/dist/extensions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../src/extensions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,8 +8,6 @@ export type { FelanThinkingLevel } from './thinking.js';
|
|
|
8
8
|
export { HostAgentRuntime } from './host-agent-runtime.js';
|
|
9
9
|
export type { HostAgentRuntimeOptions, HostShellOptions } from './host-agent-runtime.js';
|
|
10
10
|
export { bindFelanExtension, loadFelanExtensions, } from './extensions.js';
|
|
11
|
-
export { SessionToolInvoker, } from './tool-invocation.js';
|
|
12
|
-
export type { FelanToolInvocationOptions, FelanToolInvocationResult, FelanToolInvoker, } from './tool-invocation.js';
|
|
13
11
|
export { associateExtensionConfig, configField, configureExtension, defineExtensionConfig, extensionConfigOverridesFromObject, getExtensionConfigCliOptions, getExtensionConfigDefinition, parseExtensionConfigCliValue, resolveExtensionConfigs, validateExtensionConfigValue, } from './extension-config.js';
|
|
14
12
|
export type { ExtensionConfigCliOption, ExtensionConfigDefinition, ExtensionConfigField, ExtensionConfigFieldOptions, ExtensionConfigFields, ExtensionConfigOverride, ExtensionConfigPrimitive, ExtensionConfigValue, ExtensionConfigJsonObject, ExtensionConfigJsonArray, InferExtensionConfig, } from './extension-config.js';
|
|
15
13
|
export { formatCapabilitiesSection } from './capabilities.js';
|
|
@@ -23,7 +21,7 @@ export type { RuntimeCodingToolsOptions } from './tools.js';
|
|
|
23
21
|
export { createAgentCoreSession, createAgentCoreSessionRuntime, createAgentCoreSessionRuntimeFactory, } from './session.js';
|
|
24
22
|
export type { AgentCoreSessionRuntimeFactoryOptions, AgentCoreSessionRuntimeFactoryRequest, AgentCoreSessionRuntimeOptionsFactory, CreateAgentCoreSessionOptions, StreamFunction, } from './session.js';
|
|
25
23
|
export { AgentSession, CURRENT_SESSION_VERSION, DefaultResourceLoader, DynamicBorder, ModelRuntime, SessionManager, SettingsManager, createAgentSessionRuntime, defineTool, formatSkillsForPrompt, getAgentDir, loadSkillsFromDir, resizeImage, sessionEntryToContextMessages, withFileMutationQueue, } from '@earendil-works/pi-coding-agent';
|
|
26
|
-
export type {
|
|
24
|
+
export type { AgentSessionEvent, AgentSessionEventListener, AgentSessionRuntimeDiagnostic, AgentSessionServices, BuildSystemPromptOptions, CreateAgentSessionOptions, CreateAgentSessionResult, CreateAgentSessionRuntimeFactory, CreateAgentSessionRuntimeResult, Extension, ExtensionAPI, ExtensionCommandContext, ExtensionContext, ExtensionFactory, InlineExtension, LoadExtensionsResult, ResourceDiagnostic, ResourceLoader, ResizedImage, SessionContext, SessionEntry, SessionMessageEntry, SessionStartEvent, Skill, Theme, ThemeColor, SlashCommandInfo, SourceInfo, ToolDefinition, ToolInfo, } from '@earendil-works/pi-coding-agent';
|
|
27
25
|
export { InMemoryCredentialStore, StringEnum, calculateCost, clampThinkingLevel, createAssistantMessageEventStream, getSupportedThinkingLevels, isContextOverflow, lazyStream, uuidv7, } from '@earendil-works/pi-ai';
|
|
28
26
|
export type { Api, AssistantMessage, AssistantMessageEvent, AssistantMessageEventStream, Context, Credential, CredentialInfo, CredentialStore, Model, ModelCost, ModelCostRates, ModelCostTier, Provider, SimpleStreamOptions, Transport, Usage, } from '@earendil-works/pi-ai';
|
|
29
27
|
export { builtinProviders } from '@earendil-works/pi-ai/providers/all';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,+BAA+B,EAC/B,wBAAwB,EACxB,+BAA+B,EAC/B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,6 @@ export { MODEL_TIERS, formatModelReference, getModelFamily, getModelStrength, is
|
|
|
3
3
|
export { FELAN_THINKING_LEVELS, isFelanThinkingLevel } from './thinking.js';
|
|
4
4
|
export { HostAgentRuntime } from './host-agent-runtime.js';
|
|
5
5
|
export { bindFelanExtension, loadFelanExtensions, } from './extensions.js';
|
|
6
|
-
export { SessionToolInvoker, } from './tool-invocation.js';
|
|
7
6
|
export { associateExtensionConfig, configField, configureExtension, defineExtensionConfig, extensionConfigOverridesFromObject, getExtensionConfigCliOptions, getExtensionConfigDefinition, parseExtensionConfigCliValue, resolveExtensionConfigs, validateExtensionConfigValue, } from './extension-config.js';
|
|
8
7
|
export { formatCapabilitiesSection } from './capabilities.js';
|
|
9
8
|
export { FELAN_BASE_SYSTEM_PROMPT } from './system-prompt.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,kCAAkC,EAClC,4BAA4B,EAC5B,4BAA4B,EAC5B,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAO9D,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,oCAAoC,GACrC,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,UAAU,EACV,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAiCzC,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,iCAAiC,EACjC,0BAA0B,EAC1B,iBAAiB,EACjB,UAAU,EACV,MAAM,GACP,MAAM,uBAAuB,CAAC;AAmB/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -4,6 +4,7 @@ export interface CreateAgentCoreResourceLoaderOptions {
|
|
|
4
4
|
readonly cwd: string;
|
|
5
5
|
readonly agentDir: string;
|
|
6
6
|
readonly extensionFactories: readonly InlineExtension[];
|
|
7
|
+
readonly extensionPaths?: readonly string[];
|
|
7
8
|
readonly skillPaths?: readonly string[];
|
|
8
9
|
readonly themePaths?: readonly string[];
|
|
9
10
|
readonly skills?: readonly Skill[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-loader.d.ts","sourceRoot":"","sources":["../src/resource-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,KAAK,EACX,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,yBAAyB,uCAAuC,CAAC;AAG9E,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,eAAe,EAAE,CAAC;IACxD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,UAAU,4CAA6C,SAAQ,oCAAoC;IACjG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS;QAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;CACL;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAsB,6CAA6C,CACjE,OAAO,EAAE,4CAA4C,GACpD,OAAO,CAAC,cAAc,CAAC,CAyDzB"}
|
|
1
|
+
{"version":3,"file":"resource-loader.d.ts","sourceRoot":"","sources":["../src/resource-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,KAAK,EACX,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,yBAAyB,uCAAuC,CAAC;AAG9E,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,eAAe,EAAE,CAAC;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,UAAU,4CAA6C,SAAQ,oCAAoC;IACjG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS;QAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;CACL;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,oCAAoC,GAC5C,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAsB,6CAA6C,CACjE,OAAO,EAAE,4CAA4C,GACpD,OAAO,CAAC,cAAc,CAAC,CAyDzB"}
|
package/dist/resource-loader.js
CHANGED
|
@@ -21,7 +21,7 @@ export async function createAgentCoreResourceLoaderWithContextFiles(options) {
|
|
|
21
21
|
cwd: options.cwd,
|
|
22
22
|
agentDir: options.agentDir,
|
|
23
23
|
settingsManager: resourceSettings,
|
|
24
|
-
additionalExtensionPaths: [],
|
|
24
|
+
additionalExtensionPaths: [...(options.extensionPaths ?? [])],
|
|
25
25
|
additionalSkillPaths: [...(options.skillPaths ?? [])],
|
|
26
26
|
additionalPromptTemplatePaths: [],
|
|
27
27
|
additionalThemePaths: [...(options.themePaths ?? [])],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-loader.js","sourceRoot":"","sources":["../src/resource-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,GAIhB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,oCAAoC,CAAC;AAC9E,MAAM,yBAAyB,GAAG,WAAW,yBAAyB,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-loader.js","sourceRoot":"","sources":["../src/resource-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface CreateAgentCoreSessionOptions {
|
|
|
9
9
|
readonly wrapStreamFunction?: (original: StreamFunction) => StreamFunction;
|
|
10
10
|
readonly extensionPackages: readonly string[];
|
|
11
11
|
readonly importExtension: ExtensionPackageImporter;
|
|
12
|
+
readonly extensionPaths?: readonly string[];
|
|
12
13
|
readonly extensionConfigOverrides?: readonly ExtensionConfigOverride[];
|
|
13
14
|
readonly modelRuntime: ModelRuntime;
|
|
14
15
|
readonly settingsManager: SettingsManager;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,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,EAA8B,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAM5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -3,7 +3,6 @@ import { loadFelanSessionExtensions } from './extensions.js';
|
|
|
3
3
|
import { installModelSelectionPersistenceScope } from './model-selection.js';
|
|
4
4
|
import { createAgentCoreResourceLoaderWithContextFiles, runtimeToolsExtensionName, } from './resource-loader.js';
|
|
5
5
|
import { createRuntimeCodingTools } from './tools.js';
|
|
6
|
-
import { SessionToolInvoker } from './tool-invocation.js';
|
|
7
6
|
const PROJECT_INSTRUCTION_FILENAMES = ['AGENTS.md', 'CLAUDE.md'];
|
|
8
7
|
const decoder = new TextDecoder();
|
|
9
8
|
export async function createAgentCoreSession(options) {
|
|
@@ -30,9 +29,8 @@ export function createAgentCoreSessionRuntimeFactory(createOptions) {
|
|
|
30
29
|
}
|
|
31
30
|
async function composeAgentCoreSession(options) {
|
|
32
31
|
const agentDir = options.agentDir ?? options.runtime.cwd;
|
|
33
|
-
const toolInvoker = new SessionToolInvoker();
|
|
34
32
|
const modelSelectionScope = installModelSelectionPersistenceScope(options.settingsManager);
|
|
35
|
-
const featureExtensions = await loadFelanSessionExtensions(options.extensionPackages, options.importExtension, options.runtime, agentDir, modelSelectionScope, options.extensionConfigOverrides, options.savings
|
|
33
|
+
const featureExtensions = await loadFelanSessionExtensions(options.extensionPackages, options.importExtension, options.runtime, agentDir, modelSelectionScope, options.extensionConfigOverrides, options.savings);
|
|
36
34
|
const extensionFactories = [
|
|
37
35
|
...featureExtensions,
|
|
38
36
|
...(options.inlineExtensions ?? []),
|
|
@@ -43,6 +41,7 @@ async function composeAgentCoreSession(options) {
|
|
|
43
41
|
cwd: options.runtime.cwd,
|
|
44
42
|
agentDir,
|
|
45
43
|
extensionFactories,
|
|
44
|
+
...(options.extensionPaths === undefined ? {} : { extensionPaths: options.extensionPaths }),
|
|
46
45
|
...(options.skillPaths === undefined ? {} : { skillPaths: options.skillPaths }),
|
|
47
46
|
...(options.themePaths === undefined ? {} : { themePaths: options.themePaths }),
|
|
48
47
|
...(options.skills === undefined ? {} : { skills: options.skills }),
|
|
@@ -67,7 +66,6 @@ async function composeAgentCoreSession(options) {
|
|
|
67
66
|
? {}
|
|
68
67
|
: { sessionStartEvent: options.sessionStartEvent }),
|
|
69
68
|
});
|
|
70
|
-
toolInvoker.bind(result.session);
|
|
71
69
|
try {
|
|
72
70
|
if (options.wrapStreamFunction) {
|
|
73
71
|
result.session.agent.streamFunction = options.wrapStreamFunction(result.session.agent.streamFunction);
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAcnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAiC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,6CAA6C,EAC7C,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAcnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAiC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,6CAA6C,EAC7C,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAKtD,MAAM,6BAA6B,GAAG,CAAC,WAAW,EAAE,WAAW,CAAU,CAAC;AAC1E,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AA0BlC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsC;IAEtC,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAsC;IAEtC,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO;QACL,GAAG,WAAW,CAAC,MAAM;QACrB,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW;KAC9C,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,oCAAoC,CAClD,aAAoD;IAEpD,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,6BAA6B,CAAC;QACtD,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC;QAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;KACtD,CAAC,CAAC;AACL,CAAC;AAOD,KAAK,UAAU,uBAAuB,CACpC,OAAsC;IAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;IACzD,MAAM,mBAAmB,GAAG,qCAAqC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3F,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CACxD,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,mBAAmB,EACnB,OAAO,CAAC,wBAAwB,EAChC,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,MAAM,kBAAkB,GAAG;QACzB,GAAG,iBAAiB;QACpB,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACnC,2BAA2B,CAAC,OAAO,CAAC,OAAO,CAAC;KAC7C,CAAC;IACF,MAAM,mBAAmB,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,MAAM,6CAA6C,CAAC;QACzE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;QACxB,QAAQ;QACR,kBAAkB;QAClB,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3F,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;KACxD,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;QACxB,QAAQ;QACR,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,OAAO,EAAE,SAAS;QAClB,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvF,cAAc;QACd,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACxF,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;KACtD,CAAC,CAAC;IACH,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ,EAAE;YACR,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;YACxB,QAAQ;YACR,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,cAAc;YACd,WAAW,EAAE,EAAE;SAChB;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAqB;IAI1D,KAAK,MAAM,QAAQ,IAAI,6BAA6B,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAClD,OAAO;gBACL,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE;gBAC1E,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAqB;IACxD,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACd,KAAK,MAAM,IAAI,IAAI,wBAAwB,CAAC,OAAO,CAAC;gBAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type AgentSession, type AgentToolResult, type AgentToolUpdateCallback } from '@earendil-works/pi-coding-agent';
|
|
2
|
-
export interface FelanToolInvocationOptions {
|
|
3
|
-
readonly signal?: AbortSignal;
|
|
4
|
-
readonly onUpdate?: AgentToolUpdateCallback<unknown>;
|
|
5
|
-
}
|
|
6
|
-
export interface FelanToolInvocationResult extends AgentToolResult<unknown> {
|
|
7
|
-
readonly toolCallId: string;
|
|
8
|
-
readonly isError: boolean;
|
|
9
|
-
}
|
|
10
|
-
export interface FelanToolInvoker {
|
|
11
|
-
invoke(toolName: string, input: unknown, options?: FelanToolInvocationOptions): Promise<FelanToolInvocationResult>;
|
|
12
|
-
}
|
|
13
|
-
export declare class SessionToolInvoker implements FelanToolInvoker {
|
|
14
|
-
#private;
|
|
15
|
-
bind(session: AgentSession): void;
|
|
16
|
-
invoke(toolName: string, input: unknown, options?: FelanToolInvocationOptions): Promise<FelanToolInvocationResult>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=tool-invocation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-invocation.d.ts","sourceRoot":"","sources":["../src/tool-invocation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAGzC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,yBAA0B,SAAQ,eAAe,CAAC,OAAO,CAAC;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,0BAA0B,GACnC,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;;IAIzD,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAO3B,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC;CAqItC"}
|
package/dist/tool-invocation.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import {} from '@earendil-works/pi-coding-agent';
|
|
2
|
-
import { validateToolArguments, uuidv7 } from '@earendil-works/pi-ai';
|
|
3
|
-
export class SessionToolInvoker {
|
|
4
|
-
#session;
|
|
5
|
-
#sequentialTail = Promise.resolve();
|
|
6
|
-
bind(session) {
|
|
7
|
-
if (this.#session && this.#session !== session) {
|
|
8
|
-
throw new Error('Tool invoker is already bound to another session');
|
|
9
|
-
}
|
|
10
|
-
this.#session = session;
|
|
11
|
-
}
|
|
12
|
-
async invoke(toolName, input, options = {}) {
|
|
13
|
-
const session = this.#session;
|
|
14
|
-
if (!session)
|
|
15
|
-
throw new Error('Nested tool invocation requires Agent Core session composition');
|
|
16
|
-
const tool = session.agent.state.tools.find((candidate) => candidate.name === toolName);
|
|
17
|
-
const toolCallId = uuidv7();
|
|
18
|
-
if (!tool)
|
|
19
|
-
return errorResult(toolCallId, `Tool ${JSON.stringify(toolName)} is unavailable`);
|
|
20
|
-
if (tool.executionMode === 'sequential') {
|
|
21
|
-
const previous = this.#sequentialTail;
|
|
22
|
-
let release;
|
|
23
|
-
this.#sequentialTail = new Promise((resolve) => { release = resolve; });
|
|
24
|
-
const invocation = (async () => {
|
|
25
|
-
await previous;
|
|
26
|
-
try {
|
|
27
|
-
return await this.#invoke(session, toolName, input, toolCallId, options);
|
|
28
|
-
}
|
|
29
|
-
finally {
|
|
30
|
-
release();
|
|
31
|
-
}
|
|
32
|
-
})();
|
|
33
|
-
if (await abortedWhileWaiting(previous, options.signal)) {
|
|
34
|
-
return errorResult(toolCallId, 'Operation aborted');
|
|
35
|
-
}
|
|
36
|
-
return invocation;
|
|
37
|
-
}
|
|
38
|
-
return this.#invoke(session, toolName, input, toolCallId, options);
|
|
39
|
-
}
|
|
40
|
-
async #invoke(session, toolName, input, toolCallId, options) {
|
|
41
|
-
const agent = session.agent;
|
|
42
|
-
const state = agent.state;
|
|
43
|
-
const tool = state.tools.find((candidate) => candidate.name === toolName);
|
|
44
|
-
if (!tool)
|
|
45
|
-
return errorResult(toolCallId, `Tool ${JSON.stringify(toolName)} is unavailable`);
|
|
46
|
-
if (options.signal?.aborted)
|
|
47
|
-
return errorResult(toolCallId, 'Operation aborted');
|
|
48
|
-
const parent = lastAssistantMessage(state.messages);
|
|
49
|
-
if (!parent)
|
|
50
|
-
return errorResult(toolCallId, 'Nested tool invocation requires an active assistant turn');
|
|
51
|
-
const toolCall = {
|
|
52
|
-
type: 'toolCall',
|
|
53
|
-
id: toolCallId,
|
|
54
|
-
name: toolName,
|
|
55
|
-
arguments: isRecord(input) ? input : {},
|
|
56
|
-
};
|
|
57
|
-
const assistantMessage = { ...parent, content: [toolCall] };
|
|
58
|
-
const context = {
|
|
59
|
-
systemPrompt: state.systemPrompt,
|
|
60
|
-
messages: [...state.messages],
|
|
61
|
-
tools: [...state.tools],
|
|
62
|
-
};
|
|
63
|
-
let args;
|
|
64
|
-
try {
|
|
65
|
-
const preparedInput = tool.prepareArguments ? tool.prepareArguments(input) : input;
|
|
66
|
-
args = validateToolArguments(tool, {
|
|
67
|
-
...toolCall,
|
|
68
|
-
arguments: preparedInput,
|
|
69
|
-
});
|
|
70
|
-
const decision = await agent.beforeToolCall?.({
|
|
71
|
-
assistantMessage,
|
|
72
|
-
toolCall,
|
|
73
|
-
args,
|
|
74
|
-
context,
|
|
75
|
-
}, options.signal);
|
|
76
|
-
if (options.signal?.aborted)
|
|
77
|
-
return errorResult(toolCallId, 'Operation aborted');
|
|
78
|
-
if (decision?.block) {
|
|
79
|
-
return errorResult(toolCallId, decision.reason || 'Tool execution was blocked', decision.terminate === true);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
return errorResult(toolCallId, errorMessage(error));
|
|
84
|
-
}
|
|
85
|
-
let acceptingUpdates = true;
|
|
86
|
-
let result;
|
|
87
|
-
let isError = false;
|
|
88
|
-
try {
|
|
89
|
-
result = await tool.execute(toolCallId, args, options.signal, (update) => {
|
|
90
|
-
if (acceptingUpdates)
|
|
91
|
-
options.onUpdate?.(update);
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
result = toolError(errorMessage(error));
|
|
96
|
-
isError = true;
|
|
97
|
-
}
|
|
98
|
-
finally {
|
|
99
|
-
acceptingUpdates = false;
|
|
100
|
-
}
|
|
101
|
-
if (agent.afterToolCall) {
|
|
102
|
-
try {
|
|
103
|
-
const patch = await agent.afterToolCall({
|
|
104
|
-
assistantMessage,
|
|
105
|
-
toolCall,
|
|
106
|
-
args,
|
|
107
|
-
result,
|
|
108
|
-
isError,
|
|
109
|
-
context,
|
|
110
|
-
}, options.signal);
|
|
111
|
-
if (patch) {
|
|
112
|
-
result = {
|
|
113
|
-
...result,
|
|
114
|
-
content: patch.content ?? result.content,
|
|
115
|
-
details: patch.details ?? result.details,
|
|
116
|
-
...(patch.usage === undefined && result.usage === undefined
|
|
117
|
-
? {}
|
|
118
|
-
: { usage: patch.usage ?? result.usage }),
|
|
119
|
-
...(patch.terminate === undefined && result.terminate === undefined
|
|
120
|
-
? {}
|
|
121
|
-
: { terminate: patch.terminate ?? result.terminate }),
|
|
122
|
-
};
|
|
123
|
-
isError = patch.isError ?? isError;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
result = toolError(errorMessage(error));
|
|
128
|
-
isError = true;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return {
|
|
132
|
-
...result,
|
|
133
|
-
content: result.content ?? [],
|
|
134
|
-
toolCallId,
|
|
135
|
-
isError,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function abortedWhileWaiting(previous, signal) {
|
|
140
|
-
if (!signal)
|
|
141
|
-
return previous.then(() => false);
|
|
142
|
-
if (signal.aborted)
|
|
143
|
-
return Promise.resolve(true);
|
|
144
|
-
return new Promise((resolve) => {
|
|
145
|
-
const onAbort = () => {
|
|
146
|
-
signal.removeEventListener('abort', onAbort);
|
|
147
|
-
resolve(true);
|
|
148
|
-
};
|
|
149
|
-
signal.addEventListener('abort', onAbort, { once: true });
|
|
150
|
-
void previous.then(() => {
|
|
151
|
-
signal.removeEventListener('abort', onAbort);
|
|
152
|
-
resolve(false);
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
function lastAssistantMessage(messages) {
|
|
157
|
-
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
158
|
-
const message = messages[index];
|
|
159
|
-
if (typeof message === 'object'
|
|
160
|
-
&& message !== null
|
|
161
|
-
&& Reflect.get(message, 'role') === 'assistant')
|
|
162
|
-
return message;
|
|
163
|
-
}
|
|
164
|
-
return undefined;
|
|
165
|
-
}
|
|
166
|
-
function errorResult(toolCallId, message, terminate = false) {
|
|
167
|
-
return {
|
|
168
|
-
...toolError(message),
|
|
169
|
-
...(terminate ? { terminate: true } : {}),
|
|
170
|
-
toolCallId,
|
|
171
|
-
isError: true,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
function toolError(message) {
|
|
175
|
-
return {
|
|
176
|
-
content: [{ type: 'text', text: message }],
|
|
177
|
-
details: {},
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
function errorMessage(error) {
|
|
181
|
-
return error instanceof Error ? error.message : String(error);
|
|
182
|
-
}
|
|
183
|
-
function isRecord(value) {
|
|
184
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=tool-invocation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-invocation.js","sourceRoot":"","sources":["../src/tool-invocation.ts"],"names":[],"mappings":"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"}
|