@felan-ai/agent-core 0.11.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 +71 -0
- 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/model-tiers.js +0 -1
- package/dist/model-tiers.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 +12 -5
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { SessionEntry } from '@earendil-works/pi-coding-agent';
|
|
2
|
+
import type { ModelReference } from '../model-tiers.js';
|
|
3
|
+
import type { FelanThinkingLevel } from '../thinking.js';
|
|
4
|
+
export interface SessionsRequestOptions {
|
|
5
|
+
readonly signal?: AbortSignal;
|
|
6
|
+
}
|
|
7
|
+
export interface SessionPageOptions extends SessionsRequestOptions {
|
|
8
|
+
readonly cursor?: string;
|
|
9
|
+
readonly limit?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface SessionPage<T> {
|
|
12
|
+
readonly items: readonly T[];
|
|
13
|
+
readonly nextCursor?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface SessionRef {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly root: string;
|
|
18
|
+
readonly parent?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SessionHistoryInfo extends SessionRef {
|
|
21
|
+
readonly title: string;
|
|
22
|
+
/** Display metadata in the runtime's path namespace, never a storage selector. */
|
|
23
|
+
readonly cwd: string;
|
|
24
|
+
readonly updatedAt: number;
|
|
25
|
+
readonly state: 'open' | 'closed';
|
|
26
|
+
readonly diagnostic?: 'inaccessible' | 'oversize' | 'unsupported';
|
|
27
|
+
}
|
|
28
|
+
export interface HistoryRevision {
|
|
29
|
+
readonly sessionId: string;
|
|
30
|
+
/** Content identity, independent of the daemon's control/projection counter. */
|
|
31
|
+
readonly revision: string;
|
|
32
|
+
/** The selected leaf entry ID; history may also contain abandoned branches. */
|
|
33
|
+
readonly branch: string | null;
|
|
34
|
+
}
|
|
35
|
+
export interface SessionHistoryOptions extends SessionPageOptions {
|
|
36
|
+
readonly at?: HistoryRevision;
|
|
37
|
+
}
|
|
38
|
+
export interface SessionHistoryPage extends HistoryRevision {
|
|
39
|
+
readonly entries: readonly SessionEntry[];
|
|
40
|
+
/** Original parseable header timestamp, repeated on every page when available. */
|
|
41
|
+
readonly startedAt?: string;
|
|
42
|
+
readonly nextCursor?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface SessionCheckpointRef extends HistoryRevision {
|
|
45
|
+
/** UTF-8 byte length of the provider's complete source snapshot, before branch selection. */
|
|
46
|
+
readonly byteLength: number;
|
|
47
|
+
/**
|
|
48
|
+
* Lowercase hexadecimal SHA-256 of a compact UTF-8 JSON array, root to selected
|
|
49
|
+
* leaf (empty array for null). Object keys sort by JavaScript string order;
|
|
50
|
+
* primitives use JSON.stringify formatting. Entries must be valid JSON.
|
|
51
|
+
*/
|
|
52
|
+
readonly transcriptDigest: string;
|
|
53
|
+
}
|
|
54
|
+
export interface SessionExecution {
|
|
55
|
+
readonly id: string;
|
|
56
|
+
readonly parent?: string;
|
|
57
|
+
readonly label?: string;
|
|
58
|
+
readonly description?: string;
|
|
59
|
+
readonly createdAt?: string;
|
|
60
|
+
readonly startedAt?: string;
|
|
61
|
+
readonly completedAt?: string;
|
|
62
|
+
readonly completionPending?: boolean;
|
|
63
|
+
readonly model?: ModelReference;
|
|
64
|
+
readonly usage?: {
|
|
65
|
+
readonly input: number;
|
|
66
|
+
readonly output: number;
|
|
67
|
+
readonly cacheRead: number;
|
|
68
|
+
readonly cacheWrite: number;
|
|
69
|
+
readonly cacheWrite1h: number;
|
|
70
|
+
readonly cost: number;
|
|
71
|
+
};
|
|
72
|
+
/** Absent until the queued execution has a canonically registered session. */
|
|
73
|
+
readonly session?: SessionRef;
|
|
74
|
+
readonly state: 'queued' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
75
|
+
readonly result?: {
|
|
76
|
+
readonly text: string;
|
|
77
|
+
readonly error?: string;
|
|
78
|
+
readonly truncated: boolean;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export interface SessionExecutionInput {
|
|
82
|
+
readonly prompt: string;
|
|
83
|
+
/** Additional instructions; providers must retain the base prompt and project instructions. */
|
|
84
|
+
readonly appendSystemPrompt?: string;
|
|
85
|
+
readonly model?: ModelReference;
|
|
86
|
+
readonly thinking?: FelanThinkingLevel;
|
|
87
|
+
readonly description: string;
|
|
88
|
+
readonly maxTurns?: number;
|
|
89
|
+
readonly timeoutMs?: number;
|
|
90
|
+
readonly label?: string;
|
|
91
|
+
readonly allowChildren?: boolean;
|
|
92
|
+
readonly excludedTools?: readonly string[];
|
|
93
|
+
readonly notifyOnCompletion?: boolean;
|
|
94
|
+
}
|
|
95
|
+
export interface SessionExecutionsOptions extends SessionPageOptions {
|
|
96
|
+
/** Descendants are visible but only direct children can be controlled. */
|
|
97
|
+
readonly includeDescendants?: boolean;
|
|
98
|
+
}
|
|
99
|
+
export interface SessionExecutionReadOptions extends SessionsRequestOptions {
|
|
100
|
+
readonly acknowledge?: boolean;
|
|
101
|
+
}
|
|
102
|
+
export interface SessionsEvent {
|
|
103
|
+
readonly kind: 'history' | 'execution';
|
|
104
|
+
/** A history event identifies a session; an execution event identifies an execution record. */
|
|
105
|
+
readonly id: string;
|
|
106
|
+
}
|
|
107
|
+
/** Providers must expose a separate frozen facade with only these members. */
|
|
108
|
+
export interface SessionsHistory {
|
|
109
|
+
readonly current: SessionRef;
|
|
110
|
+
/** Filters an already authorized inventory; project/cwd equality never grants access. */
|
|
111
|
+
list(filter: {
|
|
112
|
+
readonly scope: 'root' | 'project' | 'visible';
|
|
113
|
+
}, options?: SessionPageOptions): Promise<SessionPage<SessionHistoryInfo>>;
|
|
114
|
+
/**
|
|
115
|
+
* Complete, unfiltered Pi entries in append order, parents before children.
|
|
116
|
+
* Entries are untrusted data. Cursors pin session, revision and selected leaf;
|
|
117
|
+
* any changed source or mismatched pin fails with stale, never a mixed page.
|
|
118
|
+
*/
|
|
119
|
+
history(id: string, options?: SessionHistoryOptions): Promise<SessionHistoryPage>;
|
|
120
|
+
checkpoint(id: string, options?: SessionsRequestOptions): Promise<SessionCheckpointRef>;
|
|
121
|
+
}
|
|
122
|
+
export interface SessionsService extends SessionsHistory {
|
|
123
|
+
setTitleIfMissing(title: string, requestId: string, options?: SessionsRequestOptions): Promise<boolean>;
|
|
124
|
+
/** Admission rechecks scope. Invalid or out-of-range requests reject, never clamp. */
|
|
125
|
+
create(input: SessionExecutionInput, options?: SessionsRequestOptions): Promise<SessionExecution>;
|
|
126
|
+
/** Only executions owned by this parent are readable and controllable through this handle. */
|
|
127
|
+
executions(options?: SessionExecutionsOptions): Promise<SessionPage<SessionExecution>>;
|
|
128
|
+
execution(id: string, options?: SessionExecutionReadOptions): Promise<SessionExecution>;
|
|
129
|
+
steer(id: string, message: string, options?: SessionsRequestOptions): Promise<void>;
|
|
130
|
+
cancel(id: string, reason?: string, options?: SessionsRequestOptions): Promise<void>;
|
|
131
|
+
/** Events use the same history and execution visibility as this handle's reads. */
|
|
132
|
+
subscribe(listener: (event: SessionsEvent) => void): () => void;
|
|
133
|
+
}
|
|
134
|
+
export type SessionsServiceErrorCode = 'invalid' | 'inaccessible' | 'stale' | 'oversize' | 'unsupported';
|
|
135
|
+
export declare class SessionsServiceError extends Error {
|
|
136
|
+
readonly code: SessionsServiceErrorCode;
|
|
137
|
+
constructor(code: SessionsServiceErrorCode, message?: string);
|
|
138
|
+
}
|
|
139
|
+
export declare const SESSION_HISTORY_LIMITS: Readonly<{
|
|
140
|
+
fileBytes: number;
|
|
141
|
+
pageBytes: number;
|
|
142
|
+
pageEntries: 256;
|
|
143
|
+
}>;
|
|
144
|
+
export declare const SESSION_EXECUTION_LIMITS: Readonly<{
|
|
145
|
+
maxTurns: 100;
|
|
146
|
+
timeoutMs: 86400000;
|
|
147
|
+
promptBytes: number;
|
|
148
|
+
appendSystemPromptBytes: number;
|
|
149
|
+
descriptionBytes: 512;
|
|
150
|
+
steerBytes: number;
|
|
151
|
+
cancelReasonBytes: 4096;
|
|
152
|
+
titleBytes: 4096;
|
|
153
|
+
requestIdBytes: 128;
|
|
154
|
+
resultTextBytes: number;
|
|
155
|
+
resultErrorBytes: 4096;
|
|
156
|
+
}>;
|
|
157
|
+
export declare function createReadOnlySessionsService(source: SessionsHistory): SessionsHistory;
|
|
158
|
+
export declare const SESSIONS_HISTORY_SERVICE: import("../services.js").ServiceContract<SessionsHistory>;
|
|
159
|
+
export declare const SESSIONS_SERVICE: import("../services.js").ServiceContract<SessionsService>;
|
|
160
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/services/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -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-
|
|
29
|
-
"@earendil-works/pi-
|
|
30
|
-
"@earendil-works/pi-
|
|
31
|
-
"@
|
|
28
|
+
"@earendil-works/pi-agent-core": "1.1.0",
|
|
29
|
+
"@earendil-works/pi-ai": "1.1.0",
|
|
30
|
+
"@earendil-works/pi-codemode": "1.1.0",
|
|
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",
|
|
34
|
+
"@earendil-works/pi-server": "1.1.0",
|
|
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",
|