@namzu/sdk 13.0.0 → 13.1.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/CHANGELOG.md +86 -0
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.d.ts +2 -0
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.d.ts.map +1 -0
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.js +159 -0
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.js.map +1 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +33 -0
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.d.ts +2 -0
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.d.ts.map +1 -0
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.js +149 -0
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.js.map +1 -0
- package/dist/store/session/disk.d.ts +3 -1
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +56 -2
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/memory.d.ts +3 -1
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +39 -2
- package/dist/store/session/memory.js.map +1 -1
- package/dist/tools/coordinator/agent.d.ts.map +1 -1
- package/dist/tools/coordinator/agent.js +7 -0
- package/dist/tools/coordinator/agent.js.map +1 -1
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +6 -0
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/types/agent/base.d.ts +22 -0
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/session/store.d.ts +52 -0
- package/dist/types/session/store.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.ts +196 -0
- package/src/manager/agent/lifecycle.ts +36 -0
- package/src/store/session/__tests__/a-workspace-can-be-configured.test.ts +210 -0
- package/src/store/session/disk.ts +63 -2
- package/src/store/session/memory.ts +46 -2
- package/src/tools/coordinator/agent.ts +7 -0
- package/src/tools/coordinator/index.ts +6 -0
- package/src/types/agent/base.ts +23 -0
- package/src/types/session/store.ts +60 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,91 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 13.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 449d736: A workspace can be configured, listed, and reconfigured.
|
|
8
|
+
|
|
9
|
+
Every Project in existence ran at delegation depth 4 and width 8. The config was
|
|
10
|
+
hardcoded identically in both stores, `CreateProjectParams` was
|
|
11
|
+
`{tenantId, name}`, and there was no way to write one afterwards — so a tenant
|
|
12
|
+
with several workspaces could not give them different limits, which is most of
|
|
13
|
+
what having several workspaces is for.
|
|
14
|
+
|
|
15
|
+
`CreateProjectParams` gains `config`, and `SessionStore` gains `updateProject`
|
|
16
|
+
and `listProjects`.
|
|
17
|
+
|
|
18
|
+
**Only the fields something reads are settable.** `ProjectConfig` declares
|
|
19
|
+
eight; five enforcement sites read two of them. The other six have zero
|
|
20
|
+
production readers — `maxInterventionDepth` included, whose three apparent hits
|
|
21
|
+
are all comments describing a wiring that does not exist. Exposing those would
|
|
22
|
+
make a dead field _easier to set_: a host would configure a retention policy,
|
|
23
|
+
get no error, and believe retention was on. `ProjectConfigInput` is therefore
|
|
24
|
+
exactly `maxDelegationDepth` and `maxDelegationWidth`, and a field joins it in
|
|
25
|
+
the same change that gives it a reader.
|
|
26
|
+
|
|
27
|
+
**Both new store methods are optional.** Widening a store interface is invisible
|
|
28
|
+
to callers and fatal to implementors: a host with its own `SessionStore` should
|
|
29
|
+
not stop compiling because the SDK grew a method. Both stores here implement
|
|
30
|
+
them; callers check.
|
|
31
|
+
|
|
32
|
+
Two decisions worth naming. An update is applied **per field**, so a caller
|
|
33
|
+
raising the width is not silently resetting the depth — including when a key is
|
|
34
|
+
present but `undefined`, which is the shape a caller building an update object
|
|
35
|
+
programmatically produces. And `listProjects` **omits** another tenant's
|
|
36
|
+
projects rather than refusing: a listing is a question about what you own, and
|
|
37
|
+
refusing would confirm that somebody else's project is there. Writing to one
|
|
38
|
+
still throws.
|
|
39
|
+
|
|
40
|
+
`listProjects` returns **oldest first, ties broken by id**. The tie-break is
|
|
41
|
+
load-bearing rather than tidy: `createdAt` has millisecond resolution, several
|
|
42
|
+
workspaces created in one millisecond is ordinary, and without it the rest of
|
|
43
|
+
the order came from the directory. A caller paginating a listing that reorders
|
|
44
|
+
under it sees one project twice and another not at all.
|
|
45
|
+
|
|
46
|
+
Verified live against a real run, not only in tests: a workspace created with
|
|
47
|
+
`maxDelegationWidth: 1` refuses the second concurrent delegation with
|
|
48
|
+
`Delegation capacity exceeded: width 2/1`, and the same workspace at width 5
|
|
49
|
+
runs all four.
|
|
50
|
+
|
|
51
|
+
- c13e7b6: An environment reaches the child it was set for.
|
|
52
|
+
|
|
53
|
+
`AgentManager` builds a delegated child's config on two branches. The
|
|
54
|
+
bare-config branch — taken only when a definition has no `configBuilder` — has
|
|
55
|
+
always carried `env`. The `configBuilder` branch, which is what a host
|
|
56
|
+
registering a real agent actually uses, never stamped it. So a run given an
|
|
57
|
+
environment handed its delegates none of it, and the child ran against whatever
|
|
58
|
+
the ambient defaults were.
|
|
59
|
+
|
|
60
|
+
This is the third field to go the same way. `parentSpan` and `resumeHandler` are
|
|
61
|
+
both stamped after the builder returns, each with a comment saying the builder is
|
|
62
|
+
written by whoever registered the agent and cannot be expected to forward
|
|
63
|
+
something it was never told about. `env` was missed, and it went unnoticed
|
|
64
|
+
because a missing environment does not fail — the child just runs somewhere else.
|
|
65
|
+
|
|
66
|
+
Both delegation surfaces now forward the parent's `ToolContext.env` as a
|
|
67
|
+
`configOverrides.env`, and the manager merges it **per key** rather than
|
|
68
|
+
replacing the map: `configOverrides` is a `Partial`, so assignment would drop
|
|
69
|
+
every key the builder set and the caller did not restate. The override wins per
|
|
70
|
+
key, the same direction it already wins for `model`, `thinking` and `effort`.
|
|
71
|
+
|
|
72
|
+
**Widening worth naming:** a delegating agent's `config.env` now reaches every
|
|
73
|
+
descendant, on both surfaces. That is what setting an environment was for, and
|
|
74
|
+
it is a behaviour change for anyone who had been relying on delegates not
|
|
75
|
+
inheriting one.
|
|
76
|
+
|
|
77
|
+
**`env` is for configuration, not credentials**, and the contract now says so
|
|
78
|
+
where it is declared. The map is copied into every descendant, is readable by
|
|
79
|
+
any tool, and enters a model's context and the run transcript the moment a
|
|
80
|
+
command echoes it — properties of the channel, not a judgement about any
|
|
81
|
+
particular value. A value that authenticates to a host belongs on the brokered
|
|
82
|
+
credential path, where the process holds a placeholder and the value is attached
|
|
83
|
+
at egress.
|
|
84
|
+
|
|
85
|
+
No new field on `ProjectConfig`. It already carries six fields nothing reads,
|
|
86
|
+
and a workspace environment does not need a seventh: the mechanism is the
|
|
87
|
+
environment a run is given, which now actually propagates.
|
|
88
|
+
|
|
3
89
|
## 13.0.0
|
|
4
90
|
|
|
5
91
|
### Major Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"an-env-reaches-the-child-it-was-set-for.test.d.ts","sourceRoot":"","sources":["../../../../src/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { EMPTY_TOKEN_USAGE } from '../../../constants/limits.js';
|
|
3
|
+
import { AgentRegistry } from '../../../registry/agent/definitions.js';
|
|
4
|
+
import { DefaultCapacityValidator } from '../../../session/handoff/capacity.js';
|
|
5
|
+
import { SessionSummaryMaterializer } from '../../../session/summary/materialize.js';
|
|
6
|
+
import { WorkspaceBackendRegistry } from '../../../session/workspace/registry.js';
|
|
7
|
+
import { InMemorySessionStore } from '../../../store/session/memory.js';
|
|
8
|
+
import { InMemoryThreadStore } from '../../../store/thread/memory.js';
|
|
9
|
+
import { ZERO_COST } from '../../../utils/cost.js';
|
|
10
|
+
import { ThreadManager } from '../../thread/lifecycle.js';
|
|
11
|
+
import { AgentManager } from '../lifecycle.js';
|
|
12
|
+
/**
|
|
13
|
+
* A delegate registered the normal way inherited no environment at all.
|
|
14
|
+
*
|
|
15
|
+
* `AgentManager` builds a child's config on two branches. The bare-config
|
|
16
|
+
* branch — taken only when a definition has NO `configBuilder` — has always
|
|
17
|
+
* carried `env`. The `configBuilder` branch, which is what a host registering
|
|
18
|
+
* a real agent actually uses, never stamped it. So a run given an environment
|
|
19
|
+
* handed its delegates none of it.
|
|
20
|
+
*
|
|
21
|
+
* This is the third field to go the same way: `parentSpan` and `resumeHandler`
|
|
22
|
+
* are both stamped after the builder returns, each with a comment saying the
|
|
23
|
+
* builder is written by whoever registered the agent and cannot be expected to
|
|
24
|
+
* forward something it was never told about. `env` was missed, and it went
|
|
25
|
+
* unnoticed because a missing environment does not fail — the child just runs
|
|
26
|
+
* somewhere else.
|
|
27
|
+
*
|
|
28
|
+
* These drive the real `AgentManager` rather than re-implementing the merge.
|
|
29
|
+
* A test that restates the logic proves the logic agrees with itself; what has
|
|
30
|
+
* to hold is that the manager applies it.
|
|
31
|
+
*/
|
|
32
|
+
const TENANT = 'tnt_env';
|
|
33
|
+
/** Records the config it is run with, so the assertion is on what shipped. */
|
|
34
|
+
function recordingAgent(seen) {
|
|
35
|
+
return {
|
|
36
|
+
type: 'reactive',
|
|
37
|
+
metadata: {
|
|
38
|
+
id: 'worker',
|
|
39
|
+
name: 'worker',
|
|
40
|
+
version: '1.0.0',
|
|
41
|
+
category: 'general',
|
|
42
|
+
description: 'records its config',
|
|
43
|
+
type: 'reactive',
|
|
44
|
+
capabilities: {},
|
|
45
|
+
},
|
|
46
|
+
async run(_input, config) {
|
|
47
|
+
seen.config = config;
|
|
48
|
+
return {
|
|
49
|
+
runId: 'run_child',
|
|
50
|
+
status: 'completed',
|
|
51
|
+
result: 'ok',
|
|
52
|
+
usage: { ...EMPTY_TOKEN_USAGE },
|
|
53
|
+
cost: { ...ZERO_COST },
|
|
54
|
+
iterations: 1,
|
|
55
|
+
durationMs: 0,
|
|
56
|
+
messages: [],
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
async cancel() { },
|
|
60
|
+
getCapabilities() {
|
|
61
|
+
return {};
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/** A definition WITH a configBuilder — the branch that dropped `env`. */
|
|
66
|
+
function definitionWithBuilder(agent, builderEnv) {
|
|
67
|
+
return {
|
|
68
|
+
info: {
|
|
69
|
+
id: 'worker',
|
|
70
|
+
name: 'worker',
|
|
71
|
+
version: '1.0.0',
|
|
72
|
+
category: 'general',
|
|
73
|
+
description: 'a worker',
|
|
74
|
+
tools: [],
|
|
75
|
+
defaults: { model: 'test', tokenBudget: 1_000 },
|
|
76
|
+
},
|
|
77
|
+
typedAgent: agent,
|
|
78
|
+
configBuilder: () => ({
|
|
79
|
+
model: 'test',
|
|
80
|
+
tokenBudget: 1_000,
|
|
81
|
+
timeoutMs: 10_000,
|
|
82
|
+
...(builderEnv ? { env: builderEnv } : {}),
|
|
83
|
+
}),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
async function spawnWith(options) {
|
|
87
|
+
const seen = {};
|
|
88
|
+
const store = new InMemorySessionStore();
|
|
89
|
+
const threadStore = new InMemoryThreadStore();
|
|
90
|
+
const project = await store.createProject({ tenantId: TENANT, name: 'p' }, TENANT);
|
|
91
|
+
const thread = await threadStore.createThread({ projectId: project.id, title: 't' }, TENANT);
|
|
92
|
+
const parentActor = { kind: 'agent', agentId: 'sup', tenantId: TENANT };
|
|
93
|
+
const parentSession = await store.createSession({ threadId: thread.id, projectId: project.id, currentActor: parentActor }, TENANT);
|
|
94
|
+
await store.updateSession({ ...parentSession, status: 'active' }, TENANT);
|
|
95
|
+
const registry = new AgentRegistry();
|
|
96
|
+
registry.register(definitionWithBuilder(recordingAgent(seen), options.builderEnv));
|
|
97
|
+
let n = 0;
|
|
98
|
+
const manager = new AgentManager(registry, undefined, {
|
|
99
|
+
sessionStore: store,
|
|
100
|
+
threadManager: new ThreadManager({ threadStore, sessionStore: store }),
|
|
101
|
+
workspaceRegistry: new WorkspaceBackendRegistry(),
|
|
102
|
+
capacity: new DefaultCapacityValidator(store),
|
|
103
|
+
summaryMaterializer: new SessionSummaryMaterializer({
|
|
104
|
+
store,
|
|
105
|
+
generateSummaryId: () => `sum_${++n}`,
|
|
106
|
+
}),
|
|
107
|
+
});
|
|
108
|
+
const context = {
|
|
109
|
+
parentRunId: 'run_parent',
|
|
110
|
+
parentAgentId: 'sup',
|
|
111
|
+
parentAbortController: new AbortController(),
|
|
112
|
+
depth: 0,
|
|
113
|
+
budgetTracker: { total: 100_000, remaining: 100_000 },
|
|
114
|
+
tenantId: TENANT,
|
|
115
|
+
threadId: thread.id,
|
|
116
|
+
sessionId: parentSession.id,
|
|
117
|
+
projectId: project.id,
|
|
118
|
+
parentActor,
|
|
119
|
+
};
|
|
120
|
+
const task = await manager.sendMessage({
|
|
121
|
+
agentId: 'worker',
|
|
122
|
+
input: { messages: [], workingDirectory: '/tmp' },
|
|
123
|
+
parentSessionId: parentSession.id,
|
|
124
|
+
tenantId: TENANT,
|
|
125
|
+
projectId: project.id,
|
|
126
|
+
parentActor,
|
|
127
|
+
...(options.overrideEnv ? { configOverrides: { env: options.overrideEnv } } : {}),
|
|
128
|
+
}, context);
|
|
129
|
+
await manager.waitForCompletion(task.taskId);
|
|
130
|
+
return seen.config;
|
|
131
|
+
}
|
|
132
|
+
describe('an environment survives a configBuilder that never heard of it', () => {
|
|
133
|
+
it('reaches a child whose builder sets none', async () => {
|
|
134
|
+
const config = await spawnWith({ overrideEnv: { API_BASE: 'https://staging' } });
|
|
135
|
+
expect(config?.env).toEqual({ API_BASE: 'https://staging' });
|
|
136
|
+
});
|
|
137
|
+
it('keeps the builder keys the caller did not restate', async () => {
|
|
138
|
+
// Why this is a merge and not an assignment: `configOverrides` is a
|
|
139
|
+
// Partial, so replacing the map would drop everything the builder set,
|
|
140
|
+
// and a caller overriding one variable is not saying the rest should
|
|
141
|
+
// vanish.
|
|
142
|
+
const config = await spawnWith({
|
|
143
|
+
builderEnv: { REGION: 'eu', TIER: 'free' },
|
|
144
|
+
overrideEnv: { TIER: 'paid' },
|
|
145
|
+
});
|
|
146
|
+
expect(config?.env).toEqual({ REGION: 'eu', TIER: 'paid' });
|
|
147
|
+
});
|
|
148
|
+
it('leaves the builder environment alone when nothing overrides it', async () => {
|
|
149
|
+
const config = await spawnWith({ builderEnv: { REGION: 'eu' } });
|
|
150
|
+
expect(config?.env).toEqual({ REGION: 'eu' });
|
|
151
|
+
});
|
|
152
|
+
it('gives a child with no environment undefined rather than an empty map', async () => {
|
|
153
|
+
// An agent that never had an environment must not gain an empty object
|
|
154
|
+
// that every reader then has to tell apart from a real one.
|
|
155
|
+
const config = await spawnWith({});
|
|
156
|
+
expect(config?.env).toBeUndefined();
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
//# sourceMappingURL=an-env-reaches-the-child-it-was-set-for.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"an-env-reaches-the-child-it-was-set-for.test.js","sourceRoot":"","sources":["../../../../src/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EACN,KAAK,iBAAiB,EACtB,0BAA0B,EAC1B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAEnF,OAAO,KAAK,EAEX,sBAAsB,EACtB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EACX,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,KAAK,EAAW,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC3F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAI3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAMhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAA;IACpD,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAA;IACxD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;CACrC;AAED,UAAU,gBAAgB;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,QAAQ,CAAA;IAClB,eAAe,EAAE,SAAS,CAAA;IAC1B,aAAa,EAAE,SAAS,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B;
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EACN,KAAK,iBAAiB,EACtB,0BAA0B,EAC1B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAEnF,OAAO,KAAK,EAEX,sBAAsB,EACtB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EACX,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,KAAK,EAAW,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC3F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAI3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAMhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAA;IACpD,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAA;IACxD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;CACrC;AAED,UAAU,gBAAgB;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,QAAQ,CAAA;IAClB,eAAe,EAAE,SAAS,CAAA;IAC1B,aAAa,EAAE,SAAS,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC3B;AAqBD,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,mBAAmB,CAA4C;IACvE,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,cAAc,CAAwD;IAC9E,0EAA0E;IAC1E,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,IAAI,CAAkB;gBAG7B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,EAC/C,IAAI,EAAE,gBAAgB;IAQjB,WAAW,CAChB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,CAAC;IAwOrB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI;IAM7B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAKpD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE;IAOxC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAehD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIlD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI5D,YAAY,CAAC,WAAW,EAAE,KAAK,GAAG,SAAS,EAAE;IAI7C,UAAU,IAAI,SAAS,EAAE;IAIzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIpD,WAAW,IAAI,aAAa;IAI5B,EAAE,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAI1C,GAAG,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAK3C,OAAO,IAAI,IAAI;IAUf,OAAO,IAAI,IAAI;IAgBf;;;;;;;;;;;;;OAaG;YACW,cAAc;YA0Bd,sBAAsB;YA8NtB,QAAQ;IAqBtB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;YAuBX,aAAa;IAoG3B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,UAAU;YA8CJ,cAAc;IAc5B;;;;;;;;;;;;;OAaG;YACW,qBAAqB;IAiBnC,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,IAAI;IAaZ,OAAO,CAAC,YAAY;CAYpB;AA+CD,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
|
|
@@ -9,6 +9,22 @@ import { ZERO_COST } from '../../utils/cost.js';
|
|
|
9
9
|
import { toErrorMessage } from '../../utils/error.js';
|
|
10
10
|
import { generateTaskId } from '../../utils/id.js';
|
|
11
11
|
import { getRootLogger } from '../../utils/logger.js';
|
|
12
|
+
/**
|
|
13
|
+
* Combine a child's own environment with what its parent passed down.
|
|
14
|
+
*
|
|
15
|
+
* Per key, override winning — not whole-value replacement, which would drop
|
|
16
|
+
* every key a `configBuilder` set and the caller did not happen to restate.
|
|
17
|
+
* `configOverrides` is a `Partial`, so replacement reads as "the caller
|
|
18
|
+
* supplied an environment" when what they supplied was one variable.
|
|
19
|
+
*
|
|
20
|
+
* Returns `undefined` when both sides are empty, so an agent that never had an
|
|
21
|
+
* environment does not gain an empty object it then has to be checked for.
|
|
22
|
+
*/
|
|
23
|
+
function mergeEnv(base, override) {
|
|
24
|
+
if (!base && !override)
|
|
25
|
+
return undefined;
|
|
26
|
+
return { ...base, ...override };
|
|
27
|
+
}
|
|
12
28
|
export class AgentManager {
|
|
13
29
|
registry;
|
|
14
30
|
instances = new Map();
|
|
@@ -188,6 +204,23 @@ export class AgentManager {
|
|
|
188
204
|
const inheritedHandler = options.configOverrides?.resumeHandler ?? context.resumeHandler;
|
|
189
205
|
if (inheritedHandler)
|
|
190
206
|
childConfig.resumeHandler = inheritedHandler;
|
|
207
|
+
// And the environment, for the third time and the same reason.
|
|
208
|
+
//
|
|
209
|
+
// The bare-config branch below has always carried `env`; this one
|
|
210
|
+
// never did, so a delegate registered WITH a `configBuilder` — the
|
|
211
|
+
// normal way, and what every host in this repo does — silently ran
|
|
212
|
+
// with none of the environment its parent had been given. The
|
|
213
|
+
// builder is written by whoever registered the agent and cannot be
|
|
214
|
+
// expected to forward a field it was never told about, which is
|
|
215
|
+
// exactly why `parentSpan` and `resumeHandler` are stamped here too.
|
|
216
|
+
//
|
|
217
|
+
// Merged per key rather than replaced. `configOverrides` is a
|
|
218
|
+
// `Partial`, so assigning the whole map would drop every key the
|
|
219
|
+
// builder set and the caller did not restate — the override wins per
|
|
220
|
+
// key, the same direction it already wins for `model` and `effort`.
|
|
221
|
+
const inheritedEnv = mergeEnv(childConfig.env, options.configOverrides?.env);
|
|
222
|
+
if (inheritedEnv)
|
|
223
|
+
childConfig.env = inheritedEnv;
|
|
191
224
|
}
|
|
192
225
|
else {
|
|
193
226
|
this.log.warn('No configBuilder, using bare config', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a-workspace-can-be-configured.test.d.ts","sourceRoot":"","sources":["../../../../src/store/session/__tests__/a-workspace-can-be-configured.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { mkdtemp, rm } from 'node:fs/promises';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { afterEach, describe, expect, it } from 'vitest';
|
|
5
|
+
import { TenantIsolationError } from '../../../session/errors.js';
|
|
6
|
+
import { DiskSessionStore } from '../disk.js';
|
|
7
|
+
import { InMemorySessionStore } from '../memory.js';
|
|
8
|
+
/**
|
|
9
|
+
* Every project in existence ran at depth 4 and width 8.
|
|
10
|
+
*
|
|
11
|
+
* The config was hardcoded identically in both stores, `CreateProjectParams`
|
|
12
|
+
* was `{tenantId, name}`, and there was no `updateProject`. So a tenant with
|
|
13
|
+
* several workspaces could not give them different limits — which is most of
|
|
14
|
+
* what having several workspaces is for.
|
|
15
|
+
*
|
|
16
|
+
* Only the two fields something READS are settable. `ProjectConfig` declares
|
|
17
|
+
* eight; five enforcement sites read two of them. Exposing the other six would
|
|
18
|
+
* make dead fields easier to set, and a host that configures a retention policy
|
|
19
|
+
* and gets no error believes retention is on. `maxInterventionDepth` looks like
|
|
20
|
+
* an exception and is not: its three apparent readers are all comments.
|
|
21
|
+
*
|
|
22
|
+
* Both stores are driven by the same cases, because a reference implementation
|
|
23
|
+
* that disagrees with the durable one is worse than having only one.
|
|
24
|
+
*/
|
|
25
|
+
const TENANT = 'tnt_cfg';
|
|
26
|
+
const OTHER = 'tnt_other';
|
|
27
|
+
const dirs = [];
|
|
28
|
+
afterEach(async () => {
|
|
29
|
+
await Promise.all(dirs.map((d) => rm(d, { recursive: true, force: true })));
|
|
30
|
+
dirs.length = 0;
|
|
31
|
+
});
|
|
32
|
+
async function diskStore() {
|
|
33
|
+
const rootDir = await mkdtemp(join(tmpdir(), 'namzu-cfg-'));
|
|
34
|
+
dirs.push(rootDir);
|
|
35
|
+
return new DiskSessionStore({ rootDir });
|
|
36
|
+
}
|
|
37
|
+
const IMPLEMENTATIONS = [
|
|
38
|
+
['in memory', async () => new InMemorySessionStore()],
|
|
39
|
+
['on disk', diskStore],
|
|
40
|
+
];
|
|
41
|
+
describe.each(IMPLEMENTATIONS)('a workspace carries its own limits (%s)', (_name, build) => {
|
|
42
|
+
it('takes the limits it was created with', async () => {
|
|
43
|
+
const store = await build();
|
|
44
|
+
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 2, maxDelegationWidth: 3 } }, TENANT);
|
|
45
|
+
expect(project.config.maxDelegationDepth).toBe(2);
|
|
46
|
+
expect(project.config.maxDelegationWidth).toBe(3);
|
|
47
|
+
});
|
|
48
|
+
it('keeps the defaults for anything not given', async () => {
|
|
49
|
+
const store = await build();
|
|
50
|
+
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 2 } }, TENANT);
|
|
51
|
+
expect(project.config.maxDelegationDepth).toBe(2);
|
|
52
|
+
expect(project.config.maxDelegationWidth).toBe(8);
|
|
53
|
+
});
|
|
54
|
+
it('lets two workspaces of one tenant differ, which is the point', async () => {
|
|
55
|
+
const store = await build();
|
|
56
|
+
const narrow = await store.createProject({ tenantId: TENANT, name: 'narrow', config: { maxDelegationWidth: 1 } }, TENANT);
|
|
57
|
+
const wide = await store.createProject({ tenantId: TENANT, name: 'wide', config: { maxDelegationWidth: 16 } }, TENANT);
|
|
58
|
+
expect(narrow.config.maxDelegationWidth).toBe(1);
|
|
59
|
+
expect(wide.config.maxDelegationWidth).toBe(16);
|
|
60
|
+
});
|
|
61
|
+
it('changes a limit after the fact, and the change is readable back', async () => {
|
|
62
|
+
const store = await build();
|
|
63
|
+
const project = await store.createProject({ tenantId: TENANT, name: 'w' }, TENANT);
|
|
64
|
+
await store.updateProject?.(project.id, { maxDelegationWidth: 12 }, TENANT);
|
|
65
|
+
expect((await store.getProject(project.id, TENANT))?.config.maxDelegationWidth).toBe(12);
|
|
66
|
+
});
|
|
67
|
+
it('leaves a limit it was not asked to change', async () => {
|
|
68
|
+
// Per field, not whole-value: raising the width says nothing about the
|
|
69
|
+
// depth, and resetting it would be an answer to a question nobody asked.
|
|
70
|
+
const store = await build();
|
|
71
|
+
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 2 } }, TENANT);
|
|
72
|
+
await store.updateProject?.(project.id, { maxDelegationWidth: 12 }, TENANT);
|
|
73
|
+
const reloaded = await store.getProject(project.id, TENANT);
|
|
74
|
+
expect(reloaded?.config.maxDelegationDepth).toBe(2);
|
|
75
|
+
expect(reloaded?.config.maxDelegationWidth).toBe(12);
|
|
76
|
+
});
|
|
77
|
+
it('treats an explicitly undefined limit as "leave it", not "clear it"', async () => {
|
|
78
|
+
// The case the per-field guard exists for, and the one a plain spread
|
|
79
|
+
// gets wrong: `{...config}` with an explicit `undefined` key writes the
|
|
80
|
+
// undefined through and erases a limit the caller never mentioned. A
|
|
81
|
+
// caller building an update object programmatically produces exactly
|
|
82
|
+
// this shape.
|
|
83
|
+
const store = await build();
|
|
84
|
+
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 3 } }, TENANT);
|
|
85
|
+
await store.updateProject?.(project.id, { maxDelegationDepth: undefined, maxDelegationWidth: 12 }, TENANT);
|
|
86
|
+
const reloaded = await store.getProject(project.id, TENANT);
|
|
87
|
+
expect(reloaded?.config.maxDelegationDepth).toBe(3);
|
|
88
|
+
expect(reloaded?.config.maxDelegationWidth).toBe(12);
|
|
89
|
+
});
|
|
90
|
+
it('lists what this tenant owns, oldest first', async () => {
|
|
91
|
+
// Eight, spaced past the millisecond `createdAt` is measured in, so this
|
|
92
|
+
// is an assertion about age rather than about the tie-break below. With
|
|
93
|
+
// the sort dropped the disk store returns them in directory order, which
|
|
94
|
+
// is id-ascending — it matches creation order once in 8!.
|
|
95
|
+
const store = await build();
|
|
96
|
+
const created = [];
|
|
97
|
+
for (const name of ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) {
|
|
98
|
+
created.push(await store.createProject({ tenantId: TENANT, name }, TENANT));
|
|
99
|
+
await new Promise((resolve) => setTimeout(resolve, 2));
|
|
100
|
+
}
|
|
101
|
+
const listed = await store.listProjects?.(TENANT);
|
|
102
|
+
expect(listed?.map((p) => p.id)).toEqual(created.map((p) => p.id));
|
|
103
|
+
});
|
|
104
|
+
it('stays a total order when several are created in the same millisecond', async () => {
|
|
105
|
+
// CI found this and a slower machine could not: on a fast filesystem
|
|
106
|
+
// projects routinely share a `createdAt`, and "oldest first" alone left
|
|
107
|
+
// the rest to `readdir`. A caller paginating a listing that reorders
|
|
108
|
+
// under it sees the same project twice and never sees another.
|
|
109
|
+
const store = await build();
|
|
110
|
+
for (const name of ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) {
|
|
111
|
+
await store.createProject({ tenantId: TENANT, name }, TENANT);
|
|
112
|
+
}
|
|
113
|
+
const listed = (await store.listProjects?.(TENANT)) ?? [];
|
|
114
|
+
expect(listed).toHaveLength(8);
|
|
115
|
+
for (let i = 1; i < listed.length; i++) {
|
|
116
|
+
const before = listed[i - 1];
|
|
117
|
+
const after = listed[i];
|
|
118
|
+
if (before === undefined || after === undefined)
|
|
119
|
+
throw new Error('short listing');
|
|
120
|
+
const olderFirst = before.createdAt.getTime() < after.createdAt.getTime();
|
|
121
|
+
const tieByName = before.createdAt.getTime() === after.createdAt.getTime() && before.id < after.id;
|
|
122
|
+
expect({ pair: [before.name, after.name], ordered: olderFirst || tieByName }).toEqual({
|
|
123
|
+
pair: [before.name, after.name],
|
|
124
|
+
ordered: true,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
it('omits another tenant from the listing rather than refusing', async () => {
|
|
129
|
+
// A listing is a question about what you own. Refusing would confirm
|
|
130
|
+
// that somebody else's project is there, which is the leak the tenant
|
|
131
|
+
// boundary exists to prevent.
|
|
132
|
+
const store = await build();
|
|
133
|
+
await store.createProject({ tenantId: TENANT, name: 'mine' }, TENANT);
|
|
134
|
+
await store.createProject({ tenantId: OTHER, name: 'theirs' }, OTHER);
|
|
135
|
+
expect((await store.listProjects?.(TENANT))?.map((p) => p.name)).toEqual(['mine']);
|
|
136
|
+
});
|
|
137
|
+
it('refuses to reconfigure another tenant project', async () => {
|
|
138
|
+
// Reading a listing is a question; writing to somebody else's workspace
|
|
139
|
+
// is not, so this one throws.
|
|
140
|
+
const store = await build();
|
|
141
|
+
const theirs = await store.createProject({ tenantId: OTHER, name: 'theirs' }, OTHER);
|
|
142
|
+
await expect(store.updateProject?.(theirs.id, { maxDelegationWidth: 99 }, TENANT)).rejects.toBeInstanceOf(TenantIsolationError);
|
|
143
|
+
});
|
|
144
|
+
it('returns null for a project that does not exist', async () => {
|
|
145
|
+
const store = await build();
|
|
146
|
+
expect(await store.updateProject?.('prj_missing', {}, TENANT)).toBeNull();
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
//# sourceMappingURL=a-workspace-can-be-configured.test.js.map
|