@sapiom/harness 0.2.4 → 0.2.6
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 +22 -0
- package/README.md +9 -9
- package/dist/cli/banner.d.ts +12 -0
- package/dist/cli/banner.d.ts.map +1 -0
- package/dist/cli/banner.js +21 -0
- package/dist/cli/banner.js.map +1 -0
- package/dist/cli/bin.js +4 -19
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/consent.d.ts.map +1 -1
- package/dist/cli/consent.js +19 -21
- package/dist/cli/consent.js.map +1 -1
- package/dist/core/canvas-body.js +3 -3
- package/dist/core/canvas-body.js.map +1 -1
- package/dist/core/canvas-graph.js +1 -1
- package/dist/core/canvas-graph.js.map +1 -1
- package/dist/core/canvas-template.js +12 -12
- package/dist/core/example-seed.js +4 -4
- package/dist/core/inject/mcp-config.d.ts +9 -0
- package/dist/core/inject/mcp-config.d.ts.map +1 -1
- package/dist/core/inject/mcp-config.js +7 -3
- package/dist/core/inject/mcp-config.js.map +1 -1
- package/dist/core/macro-runner.js +1 -1
- package/dist/core/macro-runner.js.map +1 -1
- package/dist/core/macros.d.ts.map +1 -1
- package/dist/core/macros.js +16 -1
- package/dist/core/macros.js.map +1 -1
- package/dist/core/resume-brief.js +7 -7
- package/dist/core/resume-brief.js.map +1 -1
- package/dist/core/rolling-summary.js +1 -1
- package/dist/core/rolling-summary.js.map +1 -1
- package/dist/core/session-manager.d.ts +10 -12
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +8 -9
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/workspace-context.d.ts +30 -16
- package/dist/core/workspace-context.d.ts.map +1 -1
- package/dist/core/workspace-context.js +142 -46
- package/dist/core/workspace-context.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/profiles/default.d.ts.map +1 -1
- package/dist/profiles/default.js +29 -21
- package/dist/profiles/default.js.map +1 -1
- package/dist/server/actions.js +2 -2
- package/dist/server/actions.js.map +1 -1
- package/dist/server/canvas.js +2 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +28 -22
- package/dist/server/index.js.map +1 -1
- package/dist/server/rest.d.ts +1 -0
- package/dist/server/rest.d.ts.map +1 -1
- package/dist/server/rest.js +5 -1
- package/dist/server/rest.js.map +1 -1
- package/dist/server/static.d.ts +9 -1
- package/dist/server/static.d.ts.map +1 -1
- package/dist/server/static.js +33 -7
- package/dist/server/static.js.map +1 -1
- package/dist/shared/branding.d.ts +3 -0
- package/dist/shared/branding.d.ts.map +1 -0
- package/dist/shared/branding.js +3 -0
- package/dist/shared/branding.js.map +1 -0
- package/dist/shared/types.d.ts +50 -16
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +4 -4
- package/dist/web/assets/{index-SYpugKQ1.css → index-AAGKe1y6.css} +1 -1
- package/dist/web/assets/index-B-3_hl8M.js +448 -0
- package/dist/web/canvas/sess-boot/index.html +2 -2
- package/dist/web/index.html +3 -3
- package/package.json +8 -7
- package/dist/web/assets/index-B8gkTk_a.js +0 -446
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Writes HARNESS_CONTEXT_FILE (`.sapiom/harness-context.json`) in a
|
|
3
|
-
* session's cwd — the agent-legible mirror of this workspace's UI
|
|
4
|
-
* which
|
|
3
|
+
* session's cwd — the coding-agent-legible mirror of this workspace's UI
|
|
4
|
+
* state: which agent (if any) the session is bound to, every agent the
|
|
5
5
|
* registry currently knows about, and the session's own identity. Called
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* strictly from `SessionManager.create()` so the file exists for every
|
|
7
|
+
* session regardless of entry point (REST, `autoCreateSession`), through
|
|
8
|
+
* schema-aware preparation from `SessionManager.resume()`, on
|
|
9
9
|
* every `PATCH /api/sessions/:id/workflow`, and whenever the workflow
|
|
10
10
|
* registry changes (scan/connect) — see server/index.ts's
|
|
11
11
|
* `writeSessionContext`/`scanWorkflowsAndBroadcast` for how those call
|
|
12
12
|
* sites are wired, and both of which can legitimately fire concurrent
|
|
13
13
|
* writes to the *same* destination (a scan's rewrite-all-open-sessions step
|
|
14
14
|
* racing a user's live bind click, for instance) — see `withPerPathQueue`.
|
|
15
|
-
* Unbinding writes `
|
|
16
|
-
* concurrent read from the agent never races a momentary ENOENT.
|
|
15
|
+
* Unbinding writes `boundAgent: null` rather than deleting the file, so a
|
|
16
|
+
* concurrent read from the coding agent never races a momentary ENOENT.
|
|
17
17
|
*/
|
|
18
18
|
import * as crypto from "node:crypto";
|
|
19
19
|
import * as fs from "node:fs/promises";
|
|
20
20
|
import * as path from "node:path";
|
|
21
|
-
import { HARNESS_CONTEXT_FILE, } from "../shared/types.js";
|
|
22
|
-
function
|
|
21
|
+
import { HARNESS_CONTEXT_FILE, SPAWNABLE_HARNESS_KINDS, } from "../shared/types.js";
|
|
22
|
+
function toContextAgentEntry(workflow) {
|
|
23
23
|
return { name: workflow.name, path: workflow.path, definitionId: workflow.definitionId };
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
@@ -40,9 +40,9 @@ function toContextWorkflowEntry(workflow) {
|
|
|
40
40
|
const writeQueues = new Map();
|
|
41
41
|
async function withPerPathQueue(filePath, task) {
|
|
42
42
|
const previous = writeQueues.get(filePath) ?? Promise.resolve();
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
43
|
+
// Chain onto both branches of `previous`: strict launch/resume operations
|
|
44
|
+
// may throw when they cannot make the prompt-visible schema safe, but that
|
|
45
|
+
// must never wedge the queue for the next operation on this same path.
|
|
46
46
|
const current = previous.then(task, task);
|
|
47
47
|
writeQueues.set(filePath, current);
|
|
48
48
|
try {
|
|
@@ -59,50 +59,146 @@ async function withPerPathQueue(filePath, task) {
|
|
|
59
59
|
* (permissions, deleted out from under the session) — that must never fail
|
|
60
60
|
* the caller that triggered it, so errors are logged, not thrown.
|
|
61
61
|
*
|
|
62
|
-
* `
|
|
63
|
-
* of registry scan/insertion order) so
|
|
64
|
-
* turns can diff it cheaply instead of re-parsing a reordered blob
|
|
65
|
-
* time.
|
|
62
|
+
* `agents` is sorted by path before writing (deterministic, independent
|
|
63
|
+
* of registry scan/insertion order) so a coding agent re-reading the file
|
|
64
|
+
* across turns can diff it cheaply instead of re-parsing a reordered blob
|
|
65
|
+
* every time.
|
|
66
66
|
*/
|
|
67
67
|
export async function writeHarnessContext(session, boundWorkflow, workflows) {
|
|
68
|
+
try {
|
|
69
|
+
await writeHarnessContextForLaunch(session, boundWorkflow, workflows);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
const filePath = path.join(session.cwd, HARNESS_CONTEXT_FILE);
|
|
73
|
+
console.error(`[harness] failed to write ${filePath}:`, err);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The strict form used in SessionManager.create()'s pre-spawn window. A write
|
|
78
|
+
* failure rejects creation so a coding agent can never receive the new prompt
|
|
79
|
+
* while an old or missing context contract remains on disk. Registry and bind
|
|
80
|
+
* refreshes use the best-effort wrapper above because a later refresh failure
|
|
81
|
+
* must not terminate an already-running session.
|
|
82
|
+
*/
|
|
83
|
+
export async function writeHarnessContextForLaunch(session, boundWorkflow, workflows) {
|
|
68
84
|
const filePath = path.join(session.cwd, HARNESS_CONTEXT_FILE);
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
85
|
+
const context = buildHarnessContext(session, boundWorkflow, workflows);
|
|
86
|
+
await withPerPathQueue(filePath, async () => {
|
|
87
|
+
await writeContextAtomically(filePath, context);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function buildHarnessContext(session, boundWorkflow, workflows) {
|
|
91
|
+
const agents = [...workflows].sort((a, b) => a.path.localeCompare(b.path)).map(toContextAgentEntry);
|
|
92
|
+
return {
|
|
93
|
+
boundAgent: boundWorkflow ? toContextAgentEntry(boundWorkflow) : null,
|
|
94
|
+
agents,
|
|
73
95
|
session: { id: session.id, cwd: session.cwd, harness: session.harness },
|
|
74
96
|
updatedAt: new Date().toISOString(),
|
|
75
97
|
};
|
|
76
|
-
await withPerPathQueue(filePath, async () => {
|
|
77
|
-
try {
|
|
78
|
-
const dir = path.dirname(filePath);
|
|
79
|
-
await fs.mkdir(dir, { recursive: true });
|
|
80
|
-
// A random suffix, not just pid+Date.now(): millisecond resolution is
|
|
81
|
-
// not fine enough to stay unique across a burst of concurrent writes
|
|
82
|
-
// to the same destination (confirmed via repro). Collision-proof
|
|
83
|
-
// regardless of timing, independent of the queue above.
|
|
84
|
-
const tmpPath = path.join(dir, `.harness-context.json.tmp-${process.pid}-${crypto.randomUUID()}`);
|
|
85
|
-
await fs.writeFile(tmpPath, JSON.stringify(context, null, 2) + "\n", "utf8");
|
|
86
|
-
await fs.rename(tmpPath, filePath);
|
|
87
|
-
}
|
|
88
|
-
catch (err) {
|
|
89
|
-
console.error(`[harness] failed to write ${filePath}:`, err);
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
98
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
export async function harnessContextFileExists(cwd) {
|
|
99
|
+
async function writeContextAtomically(filePath, context) {
|
|
100
|
+
const dir = path.dirname(filePath);
|
|
101
|
+
await fs.mkdir(dir, { recursive: true });
|
|
102
|
+
// A random suffix, not just pid+Date.now(): millisecond resolution is not
|
|
103
|
+
// fine enough to stay unique across a burst of concurrent writes.
|
|
104
|
+
const tmpPath = path.join(dir, `.harness-context.json.tmp-${process.pid}-${crypto.randomUUID()}`);
|
|
100
105
|
try {
|
|
101
|
-
await fs.
|
|
102
|
-
|
|
106
|
+
await fs.writeFile(tmpPath, JSON.stringify(context, null, 2) + "\n", "utf8");
|
|
107
|
+
await fs.rename(tmpPath, filePath);
|
|
103
108
|
}
|
|
104
|
-
|
|
109
|
+
finally {
|
|
110
|
+
await fs.rm(tmpPath, { force: true });
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function isRecord(value) {
|
|
114
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
115
|
+
}
|
|
116
|
+
function hasExactKeys(value, keys) {
|
|
117
|
+
const actual = Object.keys(value).sort();
|
|
118
|
+
const expected = [...keys].sort();
|
|
119
|
+
return actual.length === expected.length && actual.every((key, index) => key === expected[index]);
|
|
120
|
+
}
|
|
121
|
+
function isContextAgent(value) {
|
|
122
|
+
if (!isRecord(value) || !hasExactKeys(value, ["definitionId", "name", "path"]))
|
|
123
|
+
return false;
|
|
124
|
+
return (typeof value.name === "string" &&
|
|
125
|
+
typeof value.path === "string" &&
|
|
126
|
+
(typeof value.definitionId === "number" || value.definitionId === null));
|
|
127
|
+
}
|
|
128
|
+
function isContextSession(value) {
|
|
129
|
+
if (!isRecord(value) || !hasExactKeys(value, ["cwd", "harness", "id"]))
|
|
130
|
+
return false;
|
|
131
|
+
return (typeof value.id === "string" &&
|
|
132
|
+
typeof value.cwd === "string" &&
|
|
133
|
+
typeof value.harness === "string" &&
|
|
134
|
+
SPAWNABLE_HARNESS_KINDS.some((harness) => harness === value.harness));
|
|
135
|
+
}
|
|
136
|
+
function hasSharedValidFields(value) {
|
|
137
|
+
return isContextSession(value.session) && typeof value.updatedAt === "string";
|
|
138
|
+
}
|
|
139
|
+
function isCurrentContext(value) {
|
|
140
|
+
if (!isRecord(value) || !hasExactKeys(value, ["agents", "boundAgent", "session", "updatedAt"]))
|
|
141
|
+
return false;
|
|
142
|
+
return (hasSharedValidFields(value) &&
|
|
143
|
+
(value.boundAgent === null || isContextAgent(value.boundAgent)) &&
|
|
144
|
+
Array.isArray(value.agents) &&
|
|
145
|
+
value.agents.every(isContextAgent));
|
|
146
|
+
}
|
|
147
|
+
function isLegacyContext(value) {
|
|
148
|
+
if (!isRecord(value) || !hasExactKeys(value, ["boundWorkflow", "session", "updatedAt", "workflows"])) {
|
|
105
149
|
return false;
|
|
106
150
|
}
|
|
151
|
+
return (hasSharedValidFields(value) &&
|
|
152
|
+
(value.boundWorkflow === null || isContextAgent(value.boundWorkflow)) &&
|
|
153
|
+
Array.isArray(value.workflows) &&
|
|
154
|
+
value.workflows.every(isContextAgent));
|
|
155
|
+
}
|
|
156
|
+
function isMissingFileError(error) {
|
|
157
|
+
return isRecord(error) && error.code === "ENOENT";
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Makes HARNESS_CONTEXT_FILE safe for a resumed coding agent before its new
|
|
161
|
+
* Agent Studio prompt can reach the process. A valid current-schema file is
|
|
162
|
+
* byte-for-byte untouched; a valid legacy file keeps its values and only
|
|
163
|
+
* renames the two public keys; anything missing, malformed, mixed, or
|
|
164
|
+
* incomplete is rebuilt from the live session and registry.
|
|
165
|
+
*
|
|
166
|
+
* Unlike ordinary registry/bind refreshes, this is strict: an unreadable file
|
|
167
|
+
* or failed atomic replacement rejects resume so the prompt and on-disk
|
|
168
|
+
* contract can never disagree during a launch.
|
|
169
|
+
*/
|
|
170
|
+
export async function prepareHarnessContextForResume(session, boundWorkflow, workflows) {
|
|
171
|
+
const filePath = path.join(session.cwd, HARNESS_CONTEXT_FILE);
|
|
172
|
+
let result = "rewritten";
|
|
173
|
+
await withPerPathQueue(filePath, async () => {
|
|
174
|
+
let parsed;
|
|
175
|
+
try {
|
|
176
|
+
parsed = JSON.parse(await fs.readFile(filePath, "utf8"));
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
if (!isMissingFileError(error) && !(error instanceof SyntaxError))
|
|
180
|
+
throw error;
|
|
181
|
+
await writeContextAtomically(filePath, buildHarnessContext(session, boundWorkflow, workflows));
|
|
182
|
+
result = "rewritten";
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (isCurrentContext(parsed)) {
|
|
186
|
+
result = "current";
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (isLegacyContext(parsed)) {
|
|
190
|
+
await writeContextAtomically(filePath, {
|
|
191
|
+
boundAgent: parsed.boundWorkflow,
|
|
192
|
+
agents: parsed.workflows,
|
|
193
|
+
session: parsed.session,
|
|
194
|
+
updatedAt: parsed.updatedAt,
|
|
195
|
+
});
|
|
196
|
+
result = "migrated";
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
await writeContextAtomically(filePath, buildHarnessContext(session, boundWorkflow, workflows));
|
|
200
|
+
result = "rewritten";
|
|
201
|
+
});
|
|
202
|
+
return result;
|
|
107
203
|
}
|
|
108
204
|
//# sourceMappingURL=workspace-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-context.js","sourceRoot":"","sources":["../../src/core/workspace-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"workspace-context.js","sourceRoot":"","sources":["../../src/core/workspace-context.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* interface; this export exists so other packages can reuse the contract.
|
|
4
4
|
*/
|
|
5
5
|
export * from "./shared/types.js";
|
|
6
|
+
export { AGENT_STUDIO_PRODUCT_NAME } from "./shared/branding.js";
|
|
6
7
|
export { HarnessError, UnknownSessionError, SessionNotReadyError, SessionNotResumeableError, SessionAlreadyLiveError, AdapterNotFoundError, ExternalHarnessError, } from "./core/errors.js";
|
|
7
8
|
export { listHarnessAdapters, getHarnessAdapter, createHarnessAdapterRegistry, UnknownHarnessAdapterError, } from "./core/adapters/registry.js";
|
|
8
9
|
export type { HarnessAdapterInfo, HarnessAdapterId, HarnessAdapterMode, EmbeddedHarnessAdapterInfo, ExternalHarnessAdapterInfo, } from "./core/adapters/adapter.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* interface; this export exists so other packages can reuse the contract.
|
|
4
4
|
*/
|
|
5
5
|
export * from "./shared/types.js";
|
|
6
|
+
export { AGENT_STUDIO_PRODUCT_NAME } from "./shared/branding.js";
|
|
6
7
|
export { HarnessError, UnknownSessionError, SessionNotReadyError, SessionNotResumeableError, SessionAlreadyLiveError, AdapterNotFoundError, ExternalHarnessError, } from "./core/errors.js";
|
|
7
8
|
export { listHarnessAdapters, getHarnessAdapter, createHarnessAdapterRegistry, UnknownHarnessAdapterError, } from "./core/adapters/registry.js";
|
|
8
9
|
// Embedding surface (SAP: harness-desktop) — lets a second host (the Electron
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AASrC,8EAA8E;AAC9E,+EAA+E;AAC/E,kFAAkF;AAClF,mFAAmF;AACnF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,iEAAiE;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,6EAA6E;AAC7E,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AASrC,8EAA8E;AAC9E,+EAA+E;AAC/E,kFAAkF;AAClF,mFAAmF;AACnF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,iEAAiE;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,6EAA6E;AAC7E,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/profiles/default.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/profiles/default.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QA+D1B,CAAC"}
|
package/dist/profiles/default.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* closing line asks for one visible signal that it actually loaded.
|
|
8
8
|
*/
|
|
9
9
|
export const DEFAULT_SYSTEM_PROMPT = `
|
|
10
|
-
You are running in
|
|
10
|
+
You are the coding agent running in Agent Studio. This is not a stock coding session —
|
|
11
11
|
you have two Sapiom MCP servers pre-wired, and the conventions below are
|
|
12
12
|
active for the whole session. Follow them.
|
|
13
13
|
|
|
@@ -20,45 +20,53 @@ active for the whole session. Follow them.
|
|
|
20
20
|
session. Use its sapiom_dev_agents_* tools to scaffold, validate, and ship
|
|
21
21
|
agents, and sapiom_authenticate / sapiom_status if you need to sign in.
|
|
22
22
|
|
|
23
|
+
**When something about Sapiom is wrong, send it upstream.** If the user hits a
|
|
24
|
+
bug, calls something confusing or broken, or wishes it worked differently,
|
|
25
|
+
offer to pass it on — sapiom_send_feedback puts their words in front of the
|
|
26
|
+
team. Confirm the wording, send what they actually said, and never include file
|
|
27
|
+
contents, logs, or secrets.
|
|
28
|
+
|
|
23
29
|
**The authoring loop, in order:** scaffold a new agent project → check
|
|
24
30
|
(bundle + manifest + step-graph validation, offline) → run_local (your real
|
|
25
31
|
step code against stub capabilities, no cost) → link (associate the project
|
|
26
32
|
with a hosted agent) → deploy (push, build, go live). Read a project's
|
|
27
33
|
AGENTS.md before touching its steps — it documents that project's specifics.
|
|
28
34
|
|
|
29
|
-
**Canvas convention:** the canvas pane renders the selected
|
|
35
|
+
**Canvas convention:** the canvas pane renders the selected agent's step
|
|
30
36
|
graph automatically and deterministically — the harness extracts it from the
|
|
31
|
-
|
|
37
|
+
agent's manifest and draws the diagram (nodes, edges, a summary and
|
|
32
38
|
annotations) server-side: no LLM, no tokens, identical every time. You do NOT
|
|
33
39
|
author or edit any canvas HTML, and there is nothing to write under
|
|
34
|
-
\`.sapiom/canvas/\`. When someone asks to "visualize this
|
|
35
|
-
does everything connect",
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
\`.sapiom/canvas/\`. When someone asks to "visualize this agent" or "how
|
|
41
|
+
does everything connect", make sure the agent is selected in the workspace
|
|
42
|
+
rail. The Canvas follows that selection and refreshes automatically when the
|
|
43
|
+
source changes. Local Run, Prod Run, and Deploy are available in the selected
|
|
44
|
+
agent's action bar.
|
|
38
45
|
|
|
39
|
-
**Your current workspace state:**
|
|
46
|
+
**Your current workspace state:** Agent Studio mirrors what it knows about
|
|
40
47
|
this workspace at \`.sapiom/harness-context.json\`, relative to your working
|
|
41
|
-
directory (\`{"
|
|
42
|
-
"
|
|
43
|
-
harness}, "updatedAt": ...}\`). \`
|
|
48
|
+
directory (\`{"boundAgent": {name, path, definitionId} | null,
|
|
49
|
+
"agents": [{name, path, definitionId}, ...], "session": {id, cwd,
|
|
50
|
+
harness}, "updatedAt": ...}\`). \`boundAgent\` is whichever deployable agent the
|
|
44
51
|
person currently has selected in the app, or \`null\` if none;
|
|
45
|
-
\`
|
|
46
|
-
not. Read it when they say "this
|
|
47
|
-
ask what
|
|
52
|
+
\`agents\` is every agent the app has discovered here, selected or
|
|
53
|
+
not. Read it when they say "this agent," ask what they're working on, or
|
|
54
|
+
ask what agents exist — both fields can change mid-session (a new
|
|
48
55
|
selection, a newly scanned/connected project), so re-read the file rather
|
|
49
56
|
than assuming it's still what it was earlier in the conversation.
|
|
50
57
|
|
|
51
58
|
**In your very first reply this session**, orient the person before you get
|
|
52
59
|
to their actual request — briefly, 2-4 sentences total, not a lecture:
|
|
53
|
-
1. Acknowledge that you're
|
|
60
|
+
1. Acknowledge that you're the coding agent in Agent Studio with these MCPs
|
|
54
61
|
available (one line), so they can see this loaded.
|
|
55
|
-
2. Say what you can do for them here:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
2. Say what you can do for them here: inspect the selected agent on its
|
|
63
|
+
automatically generated Canvas, start a local agent run against stub
|
|
64
|
+
capabilities at no cost, start a production agent run after deployment,
|
|
65
|
+
and deploy it live. The exact action-bar controls are Local Run, Prod Run,
|
|
66
|
+
and Deploy.
|
|
59
67
|
3. Suggest ONE concrete first step, picked from the workspace state file
|
|
60
|
-
above: if
|
|
61
|
-
sample project), offer to
|
|
68
|
+
above: if an agent is bound or listed (e.g. the bundled order-triage
|
|
69
|
+
sample project), offer by name to inspect its Canvas or start a Local Run; if none
|
|
62
70
|
exists yet, offer to scaffold a new agent project. Phrase it as an
|
|
63
71
|
invitation ("want me to…?"), then stop — don't act on it unprompted.
|
|
64
72
|
`.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/profiles/default.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/profiles/default.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DpC,CAAC,IAAI,EAAE,CAAC"}
|
package/dist/server/actions.js
CHANGED
|
@@ -255,7 +255,7 @@ export function createActionsRouter(opts) {
|
|
|
255
255
|
router.post("/api/workflows/:id/deploy", async (req, res) => {
|
|
256
256
|
const id = req.params.id;
|
|
257
257
|
if (!id || typeof id !== "string" || id.trim() === "") {
|
|
258
|
-
res.status(400).json({ error: "
|
|
258
|
+
res.status(400).json({ error: "agent id is required" });
|
|
259
259
|
return;
|
|
260
260
|
}
|
|
261
261
|
if (!provider.getKey()) {
|
|
@@ -264,7 +264,7 @@ export function createActionsRouter(opts) {
|
|
|
264
264
|
}
|
|
265
265
|
const workflow = opts.resolveWorkflow(id);
|
|
266
266
|
if (!workflow) {
|
|
267
|
-
res.status(404).json({ error: "
|
|
267
|
+
res.status(404).json({ error: "agent not found" });
|
|
268
268
|
return;
|
|
269
269
|
}
|
|
270
270
|
const configState = readProjectConfigState(deps.readConfig, workflow.path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/server/canvas.js
CHANGED
|
@@ -60,7 +60,7 @@ const EMPTY_STATE_HTML = `<!doctype html>
|
|
|
60
60
|
<body style="font-family: system-ui, sans-serif; display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0; color: #444; text-align: center; padding: 0 2rem;">
|
|
61
61
|
<div>
|
|
62
62
|
<h1 style="font-size: 1.1rem; margin-bottom: 0.5rem;">Nothing rendered yet</h1>
|
|
63
|
-
<p style="margin: 0;">Select
|
|
63
|
+
<p style="margin: 0;">Select an agent in the rail and its step graph renders here automatically.</p>
|
|
64
64
|
</div>
|
|
65
65
|
</body>
|
|
66
66
|
</html>`;
|
|
@@ -73,7 +73,7 @@ const PENDING_RENDER_HTML = `<!doctype html>
|
|
|
73
73
|
<head><meta charset="utf-8"><title>Canvas — rendering</title></head>
|
|
74
74
|
<body style="font-family: system-ui, sans-serif; display: flex; align-items: center; justify-content: center; height: 100vh; margin: 0; color: #444; text-align: center; padding: 0 2rem;">
|
|
75
75
|
<div>
|
|
76
|
-
<h1 style="font-size: 1.1rem; margin-bottom: 0.5rem;">Rendering
|
|
76
|
+
<h1 style="font-size: 1.1rem; margin-bottom: 0.5rem;">Rendering agent diagram…</h1>
|
|
77
77
|
<p style="margin: 0;">This pane reloads automatically when the diagram is ready.</p>
|
|
78
78
|
</div>
|
|
79
79
|
</body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,KAAK,EAEV,QAAQ,EACR,cAAc,EACd,WAAW,EAKZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAuCpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,KAAK,EAEV,QAAQ,EACR,cAAc,EACd,WAAW,EAKZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAuCpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAoFtD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IACxD;;;;;;;wDAOoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;0EAEsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;6CAEyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;+EAE2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;gFAE4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;yEAEqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;uDAMmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;mFAE+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;gEAG4D;IAC5D,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC;;6DAEyD;IACzD,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC;IACnC;;+EAE2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC;AA+GD,eAAO,MAAM,WAAW,GACtB,SAAS,oBAAoB,KAC5B,OAAO,CAAC,aAAa,CAwsCvB,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -44,7 +44,7 @@ import { WorkspaceWatcherManager } from "../core/workspace-watcher.js";
|
|
|
44
44
|
import { ExecutionDetector } from "../core/execution-detector.js";
|
|
45
45
|
import { PortDetector, portFromUrl } from "../core/port-detector.js";
|
|
46
46
|
import { EventBus } from "../core/event-bus.js";
|
|
47
|
-
import { writeHarnessContext,
|
|
47
|
+
import { prepareHarnessContextForResume, writeHarnessContext, writeHarnessContextForLaunch, } from "../core/workspace-context.js";
|
|
48
48
|
import { ensureCanvasTemplate } from "../core/canvas-template.js";
|
|
49
49
|
import { renderCanvasForSession } from "../core/canvas-render.js";
|
|
50
50
|
import { invalidateExtractionCache } from "../core/canvas-cache.js";
|
|
@@ -160,6 +160,7 @@ function createDefaultBuildLaunchOpts(apiKey, generatedRoot, rehydration) {
|
|
|
160
160
|
environment: process.env.SAPIOM_ENVIRONMENT,
|
|
161
161
|
apiKey,
|
|
162
162
|
generatedRoot,
|
|
163
|
+
harnessVersion: readVersion(),
|
|
163
164
|
}),
|
|
164
165
|
generateSystemPromptFile(harnessSessionId, {
|
|
165
166
|
generatedRoot,
|
|
@@ -285,13 +286,13 @@ export const startServer = async (options) => {
|
|
|
285
286
|
target,
|
|
286
287
|
}),
|
|
287
288
|
});
|
|
288
|
-
// Declared before sessionManager:
|
|
289
|
-
//
|
|
290
|
-
//
|
|
291
|
-
//
|
|
289
|
+
// Declared before sessionManager: its context writers need workflowsCache
|
|
290
|
+
// in scope to resolve a session's boundWorkflowPath into a full WorkflowInfo.
|
|
291
|
+
// scanWorkflowsAndBroadcast stays defined below sessionManager instead,
|
|
292
|
+
// since it needs sessionManager
|
|
292
293
|
// itself (to rewrite every open session's context file on a registry change) —
|
|
293
|
-
// no circularity, since
|
|
294
|
-
// constructor
|
|
294
|
+
// no circularity, since the context callbacks threaded into SessionManager's
|
|
295
|
+
// constructor don't need sessionManager themselves.
|
|
295
296
|
const workflowRegistry = new WorkflowRegistry(options.workflowsRegistryPath ?? statePaths.workflows);
|
|
296
297
|
// Boot-time hygiene, before the first list(): drop registry entries whose
|
|
297
298
|
// path no longer exists on disk (deleted projects, temp dirs a crashed run
|
|
@@ -301,11 +302,11 @@ export const startServer = async (options) => {
|
|
|
301
302
|
try {
|
|
302
303
|
const prunedWorkflows = await workflowRegistry.prune();
|
|
303
304
|
for (const workflow of prunedWorkflows) {
|
|
304
|
-
console.error(`[harness] pruned
|
|
305
|
+
console.error(`[harness] pruned agent registry entry with missing path: ${workflow.path}`);
|
|
305
306
|
}
|
|
306
307
|
}
|
|
307
308
|
catch (err) {
|
|
308
|
-
console.error("[harness]
|
|
309
|
+
console.error("[harness] agent registry prune failed:", err);
|
|
309
310
|
}
|
|
310
311
|
// Same hygiene for settings.json's recentDirs — dead entries are already
|
|
311
312
|
// filtered from every read, but pruning here persists their removal.
|
|
@@ -325,21 +326,25 @@ export const startServer = async (options) => {
|
|
|
325
326
|
});
|
|
326
327
|
}, WORKFLOWS_CACHE_REFRESH_MS);
|
|
327
328
|
workflowsCacheTimer.unref?.();
|
|
329
|
+
const boundWorkflowForSession = (session) => session.boundWorkflowPath
|
|
330
|
+
? (workflowsCache.find((workflow) => workflow.path === session.boundWorkflowPath) ?? null)
|
|
331
|
+
: null;
|
|
328
332
|
/**
|
|
329
333
|
* Writes HARNESS_CONTEXT_FILE for a single session, resolving its
|
|
330
334
|
* `boundWorkflowPath` against the live registry so the file always
|
|
331
335
|
* reflects the session's actual current binding (not just what a caller
|
|
332
|
-
* happened to have on hand) — and the full
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
* scanWorkflowsAndBroadcast's rewrite-all-open-sessions step below.
|
|
336
|
+
* happened to have on hand) — and the full agent list. Bind/unbind and
|
|
337
|
+
* registry refreshes use this best-effort writer; create and resume use
|
|
338
|
+
* their strict pre-spawn counterparts below.
|
|
336
339
|
*/
|
|
337
340
|
const writeSessionContext = async (session) => {
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
341
|
+
await writeHarnessContext(session, boundWorkflowForSession(session), workflowsCache);
|
|
342
|
+
};
|
|
343
|
+
const initializeSessionContext = async (session) => {
|
|
344
|
+
await writeHarnessContextForLaunch(session, boundWorkflowForSession(session), workflowsCache);
|
|
345
|
+
};
|
|
346
|
+
const prepareSessionContext = async (session) => {
|
|
347
|
+
await prepareHarnessContextForResume(session, boundWorkflowForSession(session), workflowsCache);
|
|
343
348
|
};
|
|
344
349
|
// Declared before the launch-opts builder (rather than beside the ingest
|
|
345
350
|
// pipeline, where the rest of the event wiring lives) because portable
|
|
@@ -468,8 +473,8 @@ export const startServer = async (options) => {
|
|
|
468
473
|
buildLaunchOpts,
|
|
469
474
|
// Every session gets its initial harness-context.json regardless of
|
|
470
475
|
// entry point (REST, autoCreateSession) — see SessionManager.create().
|
|
471
|
-
writeWorkspaceContext:
|
|
472
|
-
|
|
476
|
+
writeWorkspaceContext: initializeSessionContext,
|
|
477
|
+
prepareWorkspaceContext: prepareSessionContext,
|
|
473
478
|
ensureCanvasTemplate,
|
|
474
479
|
});
|
|
475
480
|
await sessionManager.init();
|
|
@@ -734,7 +739,7 @@ export const startServer = async (options) => {
|
|
|
734
739
|
});
|
|
735
740
|
};
|
|
736
741
|
const initialWorkflowScan = scanWorkflowsAndBroadcast(launchDir).catch((err) => {
|
|
737
|
-
console.error("[harness] initial
|
|
742
|
+
console.error("[harness] initial agent scan failed:", err);
|
|
738
743
|
return [];
|
|
739
744
|
});
|
|
740
745
|
// Boot-time retention sweep: keeps events.ndjson within the 50 MB / 30-day
|
|
@@ -831,6 +836,7 @@ export const startServer = async (options) => {
|
|
|
831
836
|
identity: identity
|
|
832
837
|
? {
|
|
833
838
|
userId: identity.userId,
|
|
839
|
+
tenantId: identity.tenantId,
|
|
834
840
|
organizationName: identity.organizationName,
|
|
835
841
|
}
|
|
836
842
|
: null,
|
|
@@ -854,7 +860,7 @@ export const startServer = async (options) => {
|
|
|
854
860
|
return autoRenderCanvas(session);
|
|
855
861
|
})
|
|
856
862
|
.catch((err) => {
|
|
857
|
-
console.error("[harness]
|
|
863
|
+
console.error("[harness] agent scan on session create failed:", err);
|
|
858
864
|
});
|
|
859
865
|
},
|
|
860
866
|
launchDir,
|