general-agent-runtime 0.0.1 → 0.0.3
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 +19 -24
- package/dist/agent/builder.js +1 -0
- package/dist/agent/builder.js.map +1 -1
- package/dist/agent/create-agent.d.ts +3 -2
- package/dist/agent/create-agent.js +4 -24
- package/dist/agent/create-agent.js.map +1 -1
- package/dist/agent/types.d.ts +1 -7
- package/dist/cli/main.js +27 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/settings/defaults.d.ts +0 -5
- package/dist/settings/defaults.js +1 -6
- package/dist/settings/defaults.js.map +1 -1
- package/dist/settings/index.d.ts +0 -4
- package/dist/settings/index.js +0 -3
- package/dist/settings/index.js.map +1 -1
- package/dist/settings/resolver.d.ts +2 -3
- package/dist/settings/resolver.js +7 -10
- package/dist/settings/resolver.js.map +1 -1
- package/dist/settings/schema.d.ts +1 -0
- package/dist/settings/schema.js +1 -0
- package/dist/settings/schema.js.map +1 -1
- package/dist/settings/types.d.ts +1 -0
- package/package.json +1 -1
- package/dist/settings/env-source.d.ts +0 -8
- package/dist/settings/env-source.js +0 -26
- package/dist/settings/env-source.js.map +0 -1
- package/dist/settings/file-source.d.ts +0 -9
- package/dist/settings/file-source.js +0 -32
- package/dist/settings/file-source.js.map +0 -1
- package/dist/settings/runtime-source.d.ts +0 -8
- package/dist/settings/runtime-source.js +0 -11
- package/dist/settings/runtime-source.js.map +0 -1
- package/dist/settings/source.d.ts +0 -5
- package/dist/settings/source.js +0 -2
- package/dist/settings/source.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,9 +10,10 @@ Current verification baseline:
|
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
12
|
npm run typecheck ✅
|
|
13
|
-
npm test ✅ 15 files /
|
|
14
|
-
npm run test:
|
|
13
|
+
npm test ✅ 15 files / 125 tests
|
|
14
|
+
npm run test:integration ✅ 2 files / 2 tests
|
|
15
15
|
npm run build ✅
|
|
16
|
+
npm run test:package ✅
|
|
16
17
|
git diff --check ✅
|
|
17
18
|
```
|
|
18
19
|
|
|
@@ -28,20 +29,20 @@ The package is ESM-only and requires Node.js 22 or newer.
|
|
|
28
29
|
|
|
29
30
|
## Quick start
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
set AGENT_BASE_URL=https://api.openai.com/v1
|
|
35
|
-
set AGENT_API_KEY=your-key
|
|
36
|
-
set AGENT_MODEL=gpt-5.6
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Then:
|
|
32
|
+
The Runtime does not discover configuration from files, environment variables, or user directories. The host application resolves those sources and passes explicit Runtime configuration to `createAgent(config)`:
|
|
40
33
|
|
|
41
34
|
```ts
|
|
42
35
|
import { createAgent } from "general-agent-runtime";
|
|
43
36
|
|
|
44
|
-
const agent = await createAgent(
|
|
37
|
+
const agent = await createAgent({
|
|
38
|
+
model: {
|
|
39
|
+
provider: "openai-compatible",
|
|
40
|
+
baseUrl: "https://api.openai.com/v1",
|
|
41
|
+
apiKey: "your-key",
|
|
42
|
+
model: "gpt-5.6",
|
|
43
|
+
contextWindow: 128_000,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
45
46
|
|
|
46
47
|
for await (const event of agent.run("Explain what this project does in one paragraph.")) {
|
|
47
48
|
if (event.type === "message_delta") {
|
|
@@ -50,7 +51,9 @@ for await (const event of agent.run("Explain what this project does in one parag
|
|
|
50
51
|
}
|
|
51
52
|
```
|
|
52
53
|
|
|
53
|
-
`createAgent()`
|
|
54
|
+
`createAgent(config)` requires an explicit configuration object. The supplied partial configuration is merged over built-in Runtime defaults, validated as a complete `RuntimeConfig`, frozen, and passed into the default composition root. Configuration discovery belongs to the host layer, such as a CLI, TUI, desktop client, service, or test harness.
|
|
55
|
+
|
|
56
|
+
For the default OpenAI-compatible provider, `model.contextWindow` declares the model context window in tokens. Runtime projection budgeting and compaction use this value through `ModelCapabilities.contextWindow`. This is an explicit host-supplied capability declaration rather than automatic model metadata discovery. When a custom `ModelProvider` is injected through the Builder, that provider remains responsible for its own `getCapabilities()` result.
|
|
54
57
|
|
|
55
58
|
## Agent API
|
|
56
59
|
|
|
@@ -167,7 +170,7 @@ const agent = new DefaultAgentBuilder()
|
|
|
167
170
|
.build();
|
|
168
171
|
```
|
|
169
172
|
|
|
170
|
-
Use `createAgent()` for normal application setup; use `DefaultAgentBuilder` when replacing or extending Runtime components.
|
|
173
|
+
Use `createAgent(config)` for normal application setup; use `DefaultAgentBuilder` when replacing or extending Runtime components. Neither API discovers configuration sources. The host application owns file, environment, account, and UI settings and passes Runtime configuration explicitly.
|
|
171
174
|
|
|
172
175
|
## Hooks
|
|
173
176
|
|
|
@@ -239,7 +242,7 @@ Continue an existing Session:
|
|
|
239
242
|
npx general-agent-runtime --session <session-id>
|
|
240
243
|
```
|
|
241
244
|
|
|
242
|
-
The CLI
|
|
245
|
+
The CLI is a host application around the public Agent API. It maps `AGENT_PROVIDER`, `AGENT_MODEL`, `AGENT_BASE_URL`, `AGENT_API_KEY`, `AGENT_CONTEXT_WINDOW`, and `AGENT_SESSION_DIR` into explicit Runtime configuration before calling `createAgent(config)`; the Runtime itself does not read environment variables.
|
|
243
246
|
|
|
244
247
|
## Tests
|
|
245
248
|
|
|
@@ -249,21 +252,13 @@ Default tests are deterministic unit tests:
|
|
|
249
252
|
npm test
|
|
250
253
|
```
|
|
251
254
|
|
|
252
|
-
Coverage uses V8 and enforces minimum global thresholds:
|
|
253
|
-
|
|
254
|
-
```bash
|
|
255
|
-
npm run test:coverage
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
Current thresholds are 87% statements/lines, 80% branches, and 93% functions. Pure TypeScript declarations and the CLI process entrypoint are excluded from the core Runtime coverage denominator; executable Runtime modules remain included.
|
|
259
|
-
|
|
260
255
|
Live OpenAI-compatible integration tests are separate:
|
|
261
256
|
|
|
262
257
|
```bash
|
|
263
258
|
npm run test:integration
|
|
264
259
|
```
|
|
265
260
|
|
|
266
|
-
|
|
261
|
+
The live-test harness owns its configuration discovery. It optionally reads `agent.config.json` and `AGENT_*` environment variables, merges them in the test layer, and passes the resulting explicit configuration to the Runtime. If neither source is present, live tests skip.
|
|
267
262
|
|
|
268
263
|
## Package verification
|
|
269
264
|
|
package/dist/agent/builder.js
CHANGED
|
@@ -27,6 +27,7 @@ function createDefaultProvider(config) {
|
|
|
27
27
|
? {}
|
|
28
28
|
: { apiKey: config.model.apiKey }),
|
|
29
29
|
defaultCapabilities: {
|
|
30
|
+
contextWindow: config.model.contextWindow,
|
|
30
31
|
...(config.model.maxOutputTokens === undefined
|
|
31
32
|
? {}
|
|
32
33
|
: { maxOutputTokens: config.model.maxOutputTokens }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/agent/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/agent/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
1
|
+
import { type DeepPartial, type RuntimeConfig } from "../settings/index.js";
|
|
2
|
+
import type { Agent } from "./types.js";
|
|
3
|
+
export declare function createAgent(config: DeepPartial<RuntimeConfig>): Promise<Agent>;
|
|
@@ -1,29 +1,9 @@
|
|
|
1
|
-
import { DefaultConfigResolver,
|
|
1
|
+
import { DefaultConfigResolver, } from "../settings/index.js";
|
|
2
2
|
import { DefaultAgentBuilder } from "./builder.js";
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
? {}
|
|
6
|
-
: structuredClone(options.config);
|
|
7
|
-
const model = {
|
|
8
|
-
...(overrides.model ?? {}),
|
|
9
|
-
...(options?.model === undefined ? {} : { model: options.model }),
|
|
10
|
-
...(options?.apiKey === undefined ? {} : { apiKey: options.apiKey }),
|
|
11
|
-
...(options?.baseUrl === undefined ? {} : { baseUrl: options.baseUrl }),
|
|
12
|
-
};
|
|
13
|
-
if (Object.keys(model).length > 0) {
|
|
14
|
-
overrides.model = model;
|
|
15
|
-
}
|
|
16
|
-
return overrides;
|
|
17
|
-
}
|
|
18
|
-
export async function createAgent(options) {
|
|
19
|
-
const config = await new DefaultConfigResolver().resolve([
|
|
20
|
-
new DefaultConfigSource(),
|
|
21
|
-
new FileConfigSource(),
|
|
22
|
-
new EnvironmentConfigSource(),
|
|
23
|
-
new RuntimeOverrideSource(runtimeOverrides(options)),
|
|
24
|
-
]);
|
|
3
|
+
export async function createAgent(config) {
|
|
4
|
+
const resolved = await new DefaultConfigResolver().resolve(config);
|
|
25
5
|
return new DefaultAgentBuilder()
|
|
26
|
-
.withConfig(
|
|
6
|
+
.withConfig(resolved)
|
|
27
7
|
.build();
|
|
28
8
|
}
|
|
29
9
|
//# sourceMappingURL=create-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../src/agent/create-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../src/agent/create-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAkC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAI,qBAAqB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnE,OAAO,IAAI,mBAAmB,EAAE;SAC7B,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,EAAE,CAAC;AACb,CAAC"}
|
package/dist/agent/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { EventSink } from "../events/sink.js";
|
|
|
5
5
|
import type { Hook } from "../hooks/types.js";
|
|
6
6
|
import type { ModelProvider } from "../model/provider.js";
|
|
7
7
|
import type { SessionStore } from "../session/store.js";
|
|
8
|
-
import type {
|
|
8
|
+
import type { RuntimeConfig } from "../settings/types.js";
|
|
9
9
|
import type { Tool } from "../tools/tool.js";
|
|
10
10
|
import type { AgentMessage, AgentRunState, Metadata, RunId, SessionId } from "../types/index.js";
|
|
11
11
|
export interface AgentRunOptions {
|
|
@@ -30,9 +30,3 @@ export interface AgentBuilder {
|
|
|
30
30
|
withCompactionStrategy(strategy: CompactionStrategy): AgentBuilder;
|
|
31
31
|
build(): Agent;
|
|
32
32
|
}
|
|
33
|
-
export interface CreateAgentOptions {
|
|
34
|
-
readonly model?: string;
|
|
35
|
-
readonly apiKey?: string;
|
|
36
|
-
readonly baseUrl?: string;
|
|
37
|
-
readonly config?: DeepPartial<RuntimeConfig>;
|
|
38
|
-
}
|
package/dist/cli/main.js
CHANGED
|
@@ -3,6 +3,28 @@ import { createInterface } from "node:readline/promises";
|
|
|
3
3
|
import { stdin, stdout } from "node:process";
|
|
4
4
|
import { createAgent, } from "../index.js";
|
|
5
5
|
import { renderAgentEvent } from "./renderer.js";
|
|
6
|
+
function runtimeConfigFromEnvironment() {
|
|
7
|
+
const model = {};
|
|
8
|
+
const session = {};
|
|
9
|
+
if (process.env.AGENT_PROVIDER)
|
|
10
|
+
model.provider = process.env.AGENT_PROVIDER;
|
|
11
|
+
if (process.env.AGENT_MODEL)
|
|
12
|
+
model.model = process.env.AGENT_MODEL;
|
|
13
|
+
if (process.env.AGENT_BASE_URL)
|
|
14
|
+
model.baseUrl = process.env.AGENT_BASE_URL;
|
|
15
|
+
if (process.env.AGENT_API_KEY)
|
|
16
|
+
model.apiKey = process.env.AGENT_API_KEY;
|
|
17
|
+
if (process.env.AGENT_CONTEXT_WINDOW) {
|
|
18
|
+
model.contextWindow = Number(process.env.AGENT_CONTEXT_WINDOW);
|
|
19
|
+
}
|
|
20
|
+
if (process.env.AGENT_SESSION_DIR) {
|
|
21
|
+
session.directory = process.env.AGENT_SESSION_DIR;
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
...(Object.keys(model).length === 0 ? {} : { model }),
|
|
25
|
+
...(Object.keys(session).length === 0 ? {} : { session }),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
6
28
|
function parseSessionArg(args) {
|
|
7
29
|
const index = args.indexOf("--session");
|
|
8
30
|
if (index === -1) {
|
|
@@ -23,16 +45,19 @@ if (process.argv.includes("--help") || process.argv.includes("-h")) {
|
|
|
23
45
|
" general-agent-runtime --session <session-id>",
|
|
24
46
|
"",
|
|
25
47
|
"Environment:",
|
|
48
|
+
" AGENT_PROVIDER",
|
|
49
|
+
" AGENT_MODEL",
|
|
26
50
|
" AGENT_BASE_URL",
|
|
27
51
|
" AGENT_API_KEY",
|
|
28
|
-
"
|
|
52
|
+
" AGENT_CONTEXT_WINDOW",
|
|
53
|
+
" AGENT_SESSION_DIR",
|
|
29
54
|
"",
|
|
30
55
|
"Ctrl+C aborts the active run; press Ctrl+C while idle to exit.",
|
|
31
56
|
"",
|
|
32
57
|
].join("\n"));
|
|
33
58
|
process.exit(0);
|
|
34
59
|
}
|
|
35
|
-
const agent = await createAgent();
|
|
60
|
+
const agent = await createAgent(runtimeConfigFromEnvironment());
|
|
36
61
|
let sessionId = parseSessionArg(process.argv.slice(2));
|
|
37
62
|
let activeController;
|
|
38
63
|
let running = false;
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
import type { ConfigSource } from "./source.js";
|
|
2
1
|
import type { RuntimeConfig } from "./types.js";
|
|
3
2
|
export declare const DEFAULT_RUNTIME_CONFIG: RuntimeConfig;
|
|
4
|
-
export declare class DefaultConfigSource implements ConfigSource {
|
|
5
|
-
readonly name = "defaults";
|
|
6
|
-
load(): Promise<RuntimeConfig>;
|
|
7
|
-
}
|
|
@@ -3,6 +3,7 @@ export const DEFAULT_RUNTIME_CONFIG = {
|
|
|
3
3
|
provider: "openai-compatible",
|
|
4
4
|
model: "gpt-5.6",
|
|
5
5
|
baseUrl: "https://api.openai.com/v1",
|
|
6
|
+
contextWindow: 128_000,
|
|
6
7
|
maxOutputTokens: 8192
|
|
7
8
|
},
|
|
8
9
|
session: {
|
|
@@ -31,10 +32,4 @@ export const DEFAULT_RUNTIME_CONFIG = {
|
|
|
31
32
|
defaultTimeoutMs: 10_000
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
|
-
export class DefaultConfigSource {
|
|
35
|
-
name = "defaults";
|
|
36
|
-
async load() {
|
|
37
|
-
return structuredClone(DEFAULT_RUNTIME_CONFIG);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
35
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/settings/defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/settings/defaults.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,KAAK,EAAE;QACL,QAAQ,EAAE,mBAAmB;QAC7B,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,2BAA2B;QACpC,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,YAAY;QACvB,aAAa,EAAE,CAAC;KACjB;IACD,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,CAAC;KACf;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,MAAM;QAC1B,sBAAsB,EAAE,CAAC;QACzB,uBAAuB,EAAE,CAAC;KAC3B;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,EAAE;KAClB;IACD,KAAK,EAAE;QACL,gBAAgB,EAAE,MAAM;KACzB;CACF,CAAC"}
|
package/dist/settings/index.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
export type * from "./types.js";
|
|
2
|
-
export type * from "./source.js";
|
|
3
2
|
export * from "./defaults.js";
|
|
4
|
-
export * from "./env-source.js";
|
|
5
|
-
export * from "./file-source.js";
|
|
6
|
-
export * from "./runtime-source.js";
|
|
7
3
|
export * from "./resolver.js";
|
|
8
4
|
export * from "./schema.js";
|
package/dist/settings/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { RuntimeConfig } from "./types.js";
|
|
1
|
+
import type { DeepPartial, RuntimeConfig } from "./types.js";
|
|
3
2
|
export declare class DefaultConfigResolver {
|
|
4
|
-
resolve(
|
|
3
|
+
resolve(overrides?: DeepPartial<RuntimeConfig>, signal?: AbortSignal): Promise<RuntimeConfig>;
|
|
5
4
|
}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { RuntimeError } from "../errors/runtime-error.js";
|
|
2
2
|
import { deepFreeze, deepMerge } from "../utils/deep.js";
|
|
3
|
+
import { DEFAULT_RUNTIME_CONFIG } from "./defaults.js";
|
|
3
4
|
import { runtimeConfigSchema } from "./schema.js";
|
|
4
5
|
export class DefaultConfigResolver {
|
|
5
|
-
async resolve(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
signal?.throwIfAborted();
|
|
9
|
-
const loaded = await source.load(signal);
|
|
10
|
-
merged = deepMerge(merged, loaded);
|
|
11
|
-
}
|
|
6
|
+
async resolve(overrides = {}, signal) {
|
|
7
|
+
signal?.throwIfAborted();
|
|
8
|
+
const merged = deepMerge(structuredClone(DEFAULT_RUNTIME_CONFIG), structuredClone(overrides));
|
|
12
9
|
const parsed = runtimeConfigSchema.safeParse(merged);
|
|
13
10
|
if (!parsed.success) {
|
|
14
11
|
throw new RuntimeError({
|
|
@@ -18,9 +15,9 @@ export class DefaultConfigResolver {
|
|
|
18
15
|
metadata: {
|
|
19
16
|
issues: parsed.error.issues.map((issue) => ({
|
|
20
17
|
path: issue.path.join("."),
|
|
21
|
-
message: issue.message
|
|
22
|
-
}))
|
|
23
|
-
}
|
|
18
|
+
message: issue.message,
|
|
19
|
+
})),
|
|
20
|
+
},
|
|
24
21
|
});
|
|
25
22
|
}
|
|
26
23
|
return deepFreeze(parsed.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/settings/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/settings/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,OAAO,CACX,YAAwC,EAAE,EAC1C,MAAoB;QAEpB,MAAM,EAAE,cAAc,EAAE,CAAC;QAEzB,MAAM,MAAM,GAAG,SAAS,CACtB,eAAe,CAAC,sBAAsB,CAAuC,EAC7E,eAAe,CAAC,SAAS,CAAuC,CACnC,CAAC;QAEhC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,YAAY,CAAC;gBACrB,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,kCAAkC;gBAC3C,QAAQ,EAAE;oBACR,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB,CAAC,CAAC;iBACJ;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAkB,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -5,6 +5,7 @@ export declare const runtimeConfigSchema: z.ZodObject<{
|
|
|
5
5
|
model: z.ZodString;
|
|
6
6
|
baseUrl: z.ZodOptional<z.ZodString>;
|
|
7
7
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
8
|
+
contextWindow: z.ZodNumber;
|
|
8
9
|
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
|
|
9
10
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
10
11
|
extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
package/dist/settings/schema.js
CHANGED
|
@@ -6,6 +6,7 @@ export const runtimeConfigSchema = z.object({
|
|
|
6
6
|
model: z.string().min(1),
|
|
7
7
|
baseUrl: z.string().url().optional(),
|
|
8
8
|
apiKey: z.string().min(1).optional(),
|
|
9
|
+
contextWindow: z.number().int().positive(),
|
|
9
10
|
maxOutputTokens: z.number().int().positive().optional(),
|
|
10
11
|
temperature: z.number().finite().optional(),
|
|
11
12
|
extra: z.record(z.string(), z.unknown()).optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/settings/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/settings/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/settings/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ConfigSource } from "./source.js";
|
|
2
|
-
import type { DeepPartial, RuntimeConfig } from "./types.js";
|
|
3
|
-
export declare class EnvironmentConfigSource implements ConfigSource {
|
|
4
|
-
private readonly env;
|
|
5
|
-
readonly name = "environment";
|
|
6
|
-
constructor(env?: Readonly<Record<string, string | undefined>>);
|
|
7
|
-
load(): Promise<DeepPartial<RuntimeConfig>>;
|
|
8
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export class EnvironmentConfigSource {
|
|
2
|
-
env;
|
|
3
|
-
name = "environment";
|
|
4
|
-
constructor(env = process.env) {
|
|
5
|
-
this.env = env;
|
|
6
|
-
}
|
|
7
|
-
async load() {
|
|
8
|
-
const model = {};
|
|
9
|
-
const session = {};
|
|
10
|
-
if (this.env.AGENT_PROVIDER)
|
|
11
|
-
model.provider = this.env.AGENT_PROVIDER;
|
|
12
|
-
if (this.env.AGENT_MODEL)
|
|
13
|
-
model.model = this.env.AGENT_MODEL;
|
|
14
|
-
if (this.env.AGENT_BASE_URL)
|
|
15
|
-
model.baseUrl = this.env.AGENT_BASE_URL;
|
|
16
|
-
if (this.env.AGENT_API_KEY)
|
|
17
|
-
model.apiKey = this.env.AGENT_API_KEY;
|
|
18
|
-
if (this.env.AGENT_SESSION_DIR)
|
|
19
|
-
session.directory = this.env.AGENT_SESSION_DIR;
|
|
20
|
-
return {
|
|
21
|
-
...(Object.keys(model).length > 0 ? { model } : {}),
|
|
22
|
-
...(Object.keys(session).length > 0 ? { session } : {})
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=env-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env-source.js","sourceRoot":"","sources":["../../src/settings/env-source.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,uBAAuB;IAIf;IAHV,IAAI,GAAG,aAAa,CAAC;IAE9B,YACmB,MAAoD,OAAO,CAAC,GAAG;QAA/D,QAAG,GAAH,GAAG,CAA4D;IAC/E,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAwC,EAAE,CAAC;QACtD,MAAM,OAAO,GAA0C,EAAE,CAAC;QAE1D,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QACtE,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW;YAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;QAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QACrE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa;YAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;QAClE,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAE/E,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ConfigSource } from "./source.js";
|
|
2
|
-
import type { DeepPartial, RuntimeConfig } from "./types.js";
|
|
3
|
-
export declare class FileConfigSource implements ConfigSource {
|
|
4
|
-
private readonly path;
|
|
5
|
-
private readonly optional;
|
|
6
|
-
readonly name = "file";
|
|
7
|
-
constructor(path?: string, optional?: boolean);
|
|
8
|
-
load(signal?: AbortSignal): Promise<DeepPartial<RuntimeConfig>>;
|
|
9
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { readFile } from "node:fs/promises";
|
|
2
|
-
import { RuntimeError } from "../errors/runtime-error.js";
|
|
3
|
-
export class FileConfigSource {
|
|
4
|
-
path;
|
|
5
|
-
optional;
|
|
6
|
-
name = "file";
|
|
7
|
-
constructor(path = "agent.config.json", optional = true) {
|
|
8
|
-
this.path = path;
|
|
9
|
-
this.optional = optional;
|
|
10
|
-
}
|
|
11
|
-
async load(signal) {
|
|
12
|
-
try {
|
|
13
|
-
const raw = await readFile(this.path, { encoding: "utf8", signal });
|
|
14
|
-
return JSON.parse(raw);
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
if (this.optional && isNodeError(error) && error.code === "ENOENT") {
|
|
18
|
-
return {};
|
|
19
|
-
}
|
|
20
|
-
throw new RuntimeError({
|
|
21
|
-
code: "CONFIG_INVALID",
|
|
22
|
-
category: "config",
|
|
23
|
-
message: `Failed to read config file: ${this.path}`,
|
|
24
|
-
cause: error
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function isNodeError(error) {
|
|
30
|
-
return error instanceof Error && "code" in error;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=file-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-source.js","sourceRoot":"","sources":["../../src/settings/file-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,MAAM,OAAO,gBAAgB;IAIR;IACA;IAJV,IAAI,GAAG,MAAM,CAAC;IAEvB,YACmB,OAAO,mBAAmB,EAC1B,WAAW,IAAI;QADf,SAAI,GAAJ,IAAI,CAAsB;QAC1B,aAAQ,GAAR,QAAQ,CAAO;IAC/B,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,MAAoB;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA+B,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnE,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,YAAY,CAAC;gBACrB,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,+BAA+B,IAAI,CAAC,IAAI,EAAE;gBACnD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ConfigSource } from "./source.js";
|
|
2
|
-
import type { DeepPartial, RuntimeConfig } from "./types.js";
|
|
3
|
-
export declare class RuntimeOverrideSource implements ConfigSource {
|
|
4
|
-
private readonly value;
|
|
5
|
-
readonly name = "runtime";
|
|
6
|
-
constructor(value: DeepPartial<RuntimeConfig>);
|
|
7
|
-
load(): Promise<DeepPartial<RuntimeConfig>>;
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-source.js","sourceRoot":"","sources":["../../src/settings/runtime-source.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,qBAAqB;IAGH;IAFpB,IAAI,GAAG,SAAS,CAAC;IAE1B,YAA6B,KAAiC;QAAjC,UAAK,GAAL,KAAK,CAA4B;IAAG,CAAC;IAElE,KAAK,CAAC,IAAI;QACR,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF"}
|
package/dist/settings/source.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/settings/source.ts"],"names":[],"mappings":""}
|