@sapiom/harness 0.2.2 → 0.2.4
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 +51 -0
- package/dist/core/definition-name.d.ts +17 -0
- package/dist/core/definition-name.d.ts.map +1 -0
- package/dist/core/definition-name.js +28 -0
- package/dist/core/definition-name.js.map +1 -0
- package/dist/server/actions.d.ts +48 -4
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/actions.js +79 -20
- package/dist/server/actions.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +16 -1
- package/dist/server/index.js.map +1 -1
- package/dist/web/assets/{index-ZPoxUXfP.js → index-B8gkTk_a.js} +26 -26
- package/dist/web/index.html +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# @sapiom/harness
|
|
2
2
|
|
|
3
|
+
## 0.2.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [a1e0e4f]
|
|
8
|
+
- Updated dependencies [a1e0e4f]
|
|
9
|
+
- @sapiom/agent@0.8.0
|
|
10
|
+
- @sapiom/agent-core@0.9.12
|
|
11
|
+
|
|
12
|
+
## 0.2.3
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- a258741: Deploy now links (or creates) the remote agent for a project that has never
|
|
17
|
+
been linked, instead of failing.
|
|
18
|
+
|
|
19
|
+
A gallery-template clone lands with `sapiom.json` carrying its fork provenance
|
|
20
|
+
and no `definitionId` — by design, since the definition was always meant to be
|
|
21
|
+
created at deploy. That half was missing, so `POST /api/workflows/:id/deploy`
|
|
22
|
+
answered 409 "workflow is not linked to a Sapiom agent" and the Deploy button
|
|
23
|
+
could not succeed on a fresh template.
|
|
24
|
+
|
|
25
|
+
The route now resolves-or-creates the agent first (`link({ create: true })`,
|
|
26
|
+
which matches an existing definition by name/slug before creating one, so
|
|
27
|
+
re-deploying never duplicates it), caches the id in `sapiom.json`, and continues
|
|
28
|
+
into the build. The stream gains a non-terminal `linking` line so the UI can say
|
|
29
|
+
what it is doing; terminal lines are unchanged. The agent is named after its
|
|
30
|
+
declared `defineAgent({ name })` where resolvable, falling back to the cached
|
|
31
|
+
name or the workflow's own name. An unparseable `sapiom.json` still 409s — now
|
|
32
|
+
with a message that says so, because creating a remote agent we could not
|
|
33
|
+
record would orphan it.
|
|
34
|
+
|
|
35
|
+
Caching the newly-linked id in `sapiom.json` is best-effort: the file is a
|
|
36
|
+
re-resolvable cache and `link` re-resolves the same agent by name, so a failed
|
|
37
|
+
write (read-only checkout, a permissions error, the config turning invalid
|
|
38
|
+
between the initial check and this write) must not cost the user their build.
|
|
39
|
+
On that path the stream emits a non-terminal `warning` line instead of failing
|
|
40
|
+
— the agent was created on Sapiom but not recorded locally, so the Deployed
|
|
41
|
+
chip will not flip and the next deploy re-links, but nothing is duplicated
|
|
42
|
+
because `link` resolves the same agent again. The SPA renders both the
|
|
43
|
+
`linking` and `warning` lines, and a double-click on Deploy can no longer
|
|
44
|
+
create two remote agents for the same project.
|
|
45
|
+
|
|
46
|
+
Because linking matches by name, two gallery clones of the same template —
|
|
47
|
+
which share the same declared `defineAgent({ name })` — resolve to the same
|
|
48
|
+
remote agent, so deploying the second one replaces the first's build; this is
|
|
49
|
+
inherent to link-by-name (unchanged from `sapiom agents link --create`), not
|
|
50
|
+
a new bug, but it's now reachable from a single button click.
|
|
51
|
+
- @sapiom/agent@0.7.1
|
|
52
|
+
- @sapiom/agent-core@0.9.11
|
|
53
|
+
|
|
3
54
|
## 0.2.2
|
|
4
55
|
|
|
5
56
|
### Patch Changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name to give a server-side agent the deploy route has to create for a
|
|
3
|
+
* project that was never linked (a gallery-template clone).
|
|
4
|
+
*
|
|
5
|
+
* The honest answer is the agent's own `defineAgent({ name })`, which the
|
|
6
|
+
* canvas extraction already surfaces as `graph.manifestName` — and which the
|
|
7
|
+
* registry stores as `definitionSlug` and `sapiom.json` caches as `name`. Read
|
|
8
|
+
* through the fingerprint cache (core/canvas-cache.ts), so this is normally
|
|
9
|
+
* free: the canvas renders on bind, so the extraction is already warm.
|
|
10
|
+
*
|
|
11
|
+
* Never throws and never blocks a deploy: any failure (no `node_modules` yet,
|
|
12
|
+
* a bundle error, the check process timing out) comes back as null and the
|
|
13
|
+
* caller falls back to a weaker name source.
|
|
14
|
+
*/
|
|
15
|
+
import { extractWorkflowGraphCached } from "./canvas-cache.js";
|
|
16
|
+
export declare function resolveManifestName(projectDir: string, extract?: typeof extractWorkflowGraphCached): Promise<string | null>;
|
|
17
|
+
//# sourceMappingURL=definition-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-name.d.ts","sourceRoot":"","sources":["../../src/core/definition-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAO,0BAAuD,GACtE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name to give a server-side agent the deploy route has to create for a
|
|
3
|
+
* project that was never linked (a gallery-template clone).
|
|
4
|
+
*
|
|
5
|
+
* The honest answer is the agent's own `defineAgent({ name })`, which the
|
|
6
|
+
* canvas extraction already surfaces as `graph.manifestName` — and which the
|
|
7
|
+
* registry stores as `definitionSlug` and `sapiom.json` caches as `name`. Read
|
|
8
|
+
* through the fingerprint cache (core/canvas-cache.ts), so this is normally
|
|
9
|
+
* free: the canvas renders on bind, so the extraction is already warm.
|
|
10
|
+
*
|
|
11
|
+
* Never throws and never blocks a deploy: any failure (no `node_modules` yet,
|
|
12
|
+
* a bundle error, the check process timing out) comes back as null and the
|
|
13
|
+
* caller falls back to a weaker name source.
|
|
14
|
+
*/
|
|
15
|
+
import { extractWorkflowGraphCached } from "./canvas-cache.js";
|
|
16
|
+
export async function resolveManifestName(projectDir, extract = extractWorkflowGraphCached) {
|
|
17
|
+
try {
|
|
18
|
+
const { result } = await extract(projectDir);
|
|
19
|
+
if (!result.ok)
|
|
20
|
+
return null;
|
|
21
|
+
return result.graph.manifestName.trim() || null;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Extraction is best-effort here — a name is a nicety, a deploy is not.
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=definition-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-name.js","sourceRoot":"","sources":["../../src/core/definition-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,UAA6C,0BAA0B;IAEvE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/server/actions.d.ts
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* API key and makes no network call, so it works signed-out and at zero cost.
|
|
25
25
|
*/
|
|
26
26
|
import { Router } from "express";
|
|
27
|
-
import { createClient, deploy as coreDeploy, run as coreRun, readConfig as coreReadConfig } from "@sapiom/agent-core";
|
|
27
|
+
import { createClient, deploy as coreDeploy, link as coreLink, run as coreRun, readConfig as coreReadConfig, writeConfig as coreWriteConfig } from "@sapiom/agent-core";
|
|
28
28
|
import { type ApiKeyProvider } from "../core/api-key-provider.js";
|
|
29
29
|
/**
|
|
30
30
|
* A registered workflow the actions router can act on — the subset of
|
|
@@ -35,13 +35,29 @@ import { type ApiKeyProvider } from "../core/api-key-provider.js";
|
|
|
35
35
|
export interface ActionWorkflow {
|
|
36
36
|
/** Absolute path to the agent project directory (deploy's `projectDir`). */
|
|
37
37
|
path: string;
|
|
38
|
+
/**
|
|
39
|
+
* Registry display name (`package.json`'s `name`, else the folder basename).
|
|
40
|
+
* Optional so a host that only knows the path still works; used as a
|
|
41
|
+
* mid-priority fallback when naming an agent this route has to create.
|
|
42
|
+
*/
|
|
43
|
+
name?: string;
|
|
38
44
|
}
|
|
39
45
|
/**
|
|
40
|
-
* One line of the deploy NDJSON stream. `
|
|
41
|
-
*
|
|
42
|
-
* `
|
|
46
|
+
* One line of the deploy NDJSON stream. `linking` is emitted only when the
|
|
47
|
+
* project had no `definitionId` and the route is resolving-or-creating its
|
|
48
|
+
* remote agent; `warning` is non-terminal and advisory — it never replaces a
|
|
49
|
+
* terminal line and may appear alongside either outcome (e.g. linking
|
|
50
|
+
* succeeded but caching the id in `sapiom.json` failed); `building` is emitted
|
|
51
|
+
* once the build is triggered; exactly one terminal line (`ready` | `error`)
|
|
52
|
+
* closes the stream. `capability`-agnostic and credential-free by construction.
|
|
43
53
|
*/
|
|
44
54
|
export type DeployStreamEvent = {
|
|
55
|
+
phase: "linking";
|
|
56
|
+
name: string;
|
|
57
|
+
} | {
|
|
58
|
+
phase: "warning";
|
|
59
|
+
message: string;
|
|
60
|
+
} | {
|
|
45
61
|
phase: "building";
|
|
46
62
|
definitionId: string;
|
|
47
63
|
} | {
|
|
@@ -65,6 +81,10 @@ export interface ActionsCoreDeps {
|
|
|
65
81
|
deploy: typeof coreDeploy;
|
|
66
82
|
run: typeof coreRun;
|
|
67
83
|
readConfig: typeof coreReadConfig;
|
|
84
|
+
/** Resolve-or-create the server-side agent for an unlinked project. */
|
|
85
|
+
link: typeof coreLink;
|
|
86
|
+
/** Cache the linked id back into `sapiom.json` (merges; never clobbers). */
|
|
87
|
+
writeConfig: typeof coreWriteConfig;
|
|
68
88
|
}
|
|
69
89
|
/**
|
|
70
90
|
* The slice of node's ChildProcess the run-local route uses — injectable so
|
|
@@ -157,6 +177,30 @@ export interface ActionsRouterOpts {
|
|
|
157
177
|
* registry — the router does not read the registry directly.
|
|
158
178
|
*/
|
|
159
179
|
resolveWorkflow: (id: string) => ActionWorkflow | null;
|
|
180
|
+
/**
|
|
181
|
+
* The agent's DECLARED name (`defineAgent({ name })`) for a project the route
|
|
182
|
+
* has to link on the fly, or null when it cannot be determined. Optional: the
|
|
183
|
+
* route falls back to `sapiom.json`'s cached name, then
|
|
184
|
+
* {@link ActionWorkflow.name}, then the project folder's basename.
|
|
185
|
+
*
|
|
186
|
+
* A seam rather than a direct call so this router keeps knowing nothing about
|
|
187
|
+
* the canvas extraction cache (see core/definition-name.ts, which
|
|
188
|
+
* `server/index.ts` wires in here). Never expected to throw — a rejection is
|
|
189
|
+
* treated as "could not determine".
|
|
190
|
+
*/
|
|
191
|
+
resolveDefinitionName?: (workflow: ActionWorkflow) => Promise<string | null>;
|
|
192
|
+
/**
|
|
193
|
+
* Called after the route has linked a previously-unlinked project and cached
|
|
194
|
+
* its new `definitionId`, so the host can refresh whatever it derives from
|
|
195
|
+
* `sapiom.json`. The registry's `list()` never re-reads the file and the
|
|
196
|
+
* workspace watcher ignores a content-only edit, so without this a
|
|
197
|
+
* first-time deploy leaves the SPA showing "Draft" with Prod Run gated.
|
|
198
|
+
*
|
|
199
|
+
* A seam rather than a direct call so this router keeps knowing nothing about
|
|
200
|
+
* the workflow registry (`server/index.ts` wires it). Never expected to
|
|
201
|
+
* throw — a rejection must not cost the user their build.
|
|
202
|
+
*/
|
|
203
|
+
onLinked?: (workflow: ActionWorkflow) => Promise<void>;
|
|
160
204
|
/** Injectable core operations. Test seam; defaults to the real exports. */
|
|
161
205
|
coreDeps?: Partial<ActionsCoreDeps>;
|
|
162
206
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAEL,YAAY,EACZ,MAAM,IAAI,UAAU,EACpB,GAAG,IAAI,OAAO,EACd,UAAU,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/server/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/server/actions.js
CHANGED
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { spawn as spawnChildProcess } from "node:child_process";
|
|
27
27
|
import { createInterface } from "node:readline";
|
|
28
|
-
import { dirname, join } from "node:path";
|
|
28
|
+
import { basename, dirname, join } from "node:path";
|
|
29
29
|
import { fileURLToPath } from "node:url";
|
|
30
30
|
import { Router } from "express";
|
|
31
|
-
import { AgentOperationError, createClient, deploy as coreDeploy, run as coreRun, readConfig as coreReadConfig, } from "@sapiom/agent-core";
|
|
31
|
+
import { AgentOperationError, createClient, deploy as coreDeploy, link as coreLink, run as coreRun, readConfig as coreReadConfig, writeConfig as coreWriteConfig, } from "@sapiom/agent-core";
|
|
32
32
|
import { resolveCoreBaseUrl } from "../core/definition-slug-resolver.js";
|
|
33
33
|
import { HOST_ESBUILD_PIN, unpackedPath } from "../core/asar-path.js";
|
|
34
34
|
import { staticApiKeyProvider, } from "../core/api-key-provider.js";
|
|
@@ -37,6 +37,8 @@ const DEFAULT_CORE_DEPS = {
|
|
|
37
37
|
deploy: coreDeploy,
|
|
38
38
|
run: coreRun,
|
|
39
39
|
readConfig: coreReadConfig,
|
|
40
|
+
link: coreLink,
|
|
41
|
+
writeConfig: coreWriteConfig,
|
|
40
42
|
};
|
|
41
43
|
/**
|
|
42
44
|
* Resolve the compiled run-local bootstrap entry. This module lives at
|
|
@@ -134,23 +136,18 @@ function parseRunLocalBody(body) {
|
|
|
134
136
|
: undefined,
|
|
135
137
|
};
|
|
136
138
|
}
|
|
137
|
-
|
|
138
|
-
* Extract the linked `definitionId` from a project's `sapiom.json`. The config
|
|
139
|
-
* file — not the registry — is the source of truth for a project's server-side
|
|
140
|
-
* definition id, so both deploy and (a future) resolve path read it here. Never
|
|
141
|
-
* throws: an unlinked/unreadable project returns null and the route maps that to
|
|
142
|
-
* a 409.
|
|
143
|
-
*/
|
|
144
|
-
function readDefinitionId(readConfig, projectDir) {
|
|
139
|
+
function readProjectConfigState(readConfig, projectDir) {
|
|
145
140
|
let config;
|
|
146
141
|
try {
|
|
147
142
|
config = readConfig(projectDir);
|
|
148
143
|
}
|
|
149
144
|
catch {
|
|
150
|
-
|
|
151
|
-
return null;
|
|
145
|
+
return { kind: "bad-config" };
|
|
152
146
|
}
|
|
153
|
-
|
|
147
|
+
const definitionId = config?.definitionId;
|
|
148
|
+
if (definitionId)
|
|
149
|
+
return { kind: "linked", definitionId };
|
|
150
|
+
return config?.name ? { kind: "unlinked", name: config.name } : { kind: "unlinked" };
|
|
154
151
|
}
|
|
155
152
|
/**
|
|
156
153
|
* Map an {@link AgentOperationError} (or any thrown value) to a terminal deploy
|
|
@@ -243,12 +240,16 @@ export function createActionsRouter(opts) {
|
|
|
243
240
|
* pushes the synthesized tree, triggers a build, and polls to a terminal
|
|
244
241
|
* status — all inside @sapiom/agent-core's {@link deploy}. Streams NDJSON: a
|
|
245
242
|
* `building` line up front, then exactly one terminal `ready`/`error` line.
|
|
243
|
+
* A project with no `definitionId` yet is linked on the fly first (a
|
|
244
|
+
* `linking` line precedes `building`) rather than rejected; if the resolved
|
|
245
|
+
* agent's id could not be cached in `sapiom.json`, a non-terminal `warning`
|
|
246
|
+
* line follows before `building` continues.
|
|
246
247
|
*
|
|
247
248
|
* 200 NDJSON stream (even a build failure is a 200 with a terminal `error`
|
|
248
249
|
* line — the request itself succeeded; the build outcome is in-band).
|
|
249
250
|
* 400 id missing/empty
|
|
250
251
|
* 404 workflow id not registered
|
|
251
|
-
* 409
|
|
252
|
+
* 409 sapiom.json is unparseable
|
|
252
253
|
* 503 harness is not signed in to Sapiom
|
|
253
254
|
*/
|
|
254
255
|
router.post("/api/workflows/:id/deploy", async (req, res) => {
|
|
@@ -266,11 +267,9 @@ export function createActionsRouter(opts) {
|
|
|
266
267
|
res.status(404).json({ error: "workflow not found" });
|
|
267
268
|
return;
|
|
268
269
|
}
|
|
269
|
-
const
|
|
270
|
-
if (
|
|
271
|
-
res
|
|
272
|
-
.status(409)
|
|
273
|
-
.json({ error: "workflow is not linked to a Sapiom agent" });
|
|
270
|
+
const configState = readProjectConfigState(deps.readConfig, workflow.path);
|
|
271
|
+
if (configState.kind === "bad-config") {
|
|
272
|
+
res.status(409).json({ error: "sapiom.json is not valid JSON" });
|
|
274
273
|
return;
|
|
275
274
|
}
|
|
276
275
|
// From here the outcome is streamed in-band as NDJSON — status is 200 and
|
|
@@ -281,8 +280,68 @@ export function createActionsRouter(opts) {
|
|
|
281
280
|
const write = (event) => {
|
|
282
281
|
res.write(JSON.stringify(event) + "\n");
|
|
283
282
|
};
|
|
284
|
-
|
|
283
|
+
/**
|
|
284
|
+
* The definition id to build against: the linked one, or a freshly
|
|
285
|
+
* resolved-or-created one for a project that has never been linked (a
|
|
286
|
+
* gallery-template clone lands exactly this way — `clone` writes the fork
|
|
287
|
+
* provenance and leaves `definitionId` for deploy to fill in).
|
|
288
|
+
*
|
|
289
|
+
* `link({ create: true })` matches an existing remote agent by name/slug
|
|
290
|
+
* BEFORE creating one, so this is resync-or-create: re-deploying never
|
|
291
|
+
* duplicates an agent, and a template already deployed from another machine
|
|
292
|
+
* re-attaches to the same definition.
|
|
293
|
+
*/
|
|
294
|
+
const ensureDefinitionId = async () => {
|
|
295
|
+
if (configState.kind === "linked")
|
|
296
|
+
return configState.definitionId;
|
|
297
|
+
const fromSeam = opts.resolveDefinitionName
|
|
298
|
+
? await opts.resolveDefinitionName(workflow).catch(() => null)
|
|
299
|
+
: null;
|
|
300
|
+
const name = fromSeam?.trim() ||
|
|
301
|
+
configState.name?.trim() ||
|
|
302
|
+
workflow.name?.trim() ||
|
|
303
|
+
basename(workflow.path);
|
|
304
|
+
write({ phase: "linking", name });
|
|
305
|
+
// Same refresh-on-rejected-key recovery the build gets; the retry is
|
|
306
|
+
// transparent to the stream (no second linking line).
|
|
307
|
+
const linked = await withKeyRefreshRetry(provider, clientFor, (client) => deps.link({ name, create: true }, client));
|
|
308
|
+
// Cache under the name the SERVER settled on, matching what
|
|
309
|
+
// `sapiom agents link` writes. writeConfig merges, so the clone's
|
|
310
|
+
// forkId/templateId/repoFullName survive.
|
|
311
|
+
//
|
|
312
|
+
// Best-effort: sapiom.json is a re-resolvable cache (agent-core's
|
|
313
|
+
// config.ts) and `link` re-resolves the same agent by name, so a failed
|
|
314
|
+
// write here (read-only checkout, EACCES, a config that turned invalid
|
|
315
|
+
// between the 409 check above and this write) must not cost the user
|
|
316
|
+
// their deploy — warn and carry on with the id already in hand.
|
|
317
|
+
try {
|
|
318
|
+
deps.writeConfig(workflow.path, {
|
|
319
|
+
definitionId: linked.definitionId,
|
|
320
|
+
name: linked.name,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
catch (cacheErr) {
|
|
324
|
+
write({
|
|
325
|
+
phase: "warning",
|
|
326
|
+
message: `The agent "${linked.name}" was created on Sapiom (${linked.definitionId}) but not recorded locally: ${cacheErr instanceof Error ? cacheErr.message : String(cacheErr)}. The build continues; re-deploying re-resolves it by name.`,
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
// Best-effort, same as the cache write above, and run whether or not it
|
|
330
|
+
// succeeded: a rescan is harmless either way, and there is nothing new to
|
|
331
|
+
// re-read when the write failed. Without this, the registry's list()
|
|
332
|
+
// never re-reads sapiom.json and the workspace watcher ignores a
|
|
333
|
+
// content-only edit, so the SPA would keep showing "Draft" after the
|
|
334
|
+
// very first successful deploy of a project.
|
|
335
|
+
if (opts.onLinked)
|
|
336
|
+
await opts.onLinked(workflow).catch(() => undefined);
|
|
337
|
+
return linked.definitionId;
|
|
338
|
+
};
|
|
285
339
|
try {
|
|
340
|
+
// A link failure throws out of here and is mapped by the same
|
|
341
|
+
// toDeployErrorEvent below — reported as itself, never as a build
|
|
342
|
+
// failure, and `deploy` is never reached.
|
|
343
|
+
const definitionId = await ensureDefinitionId();
|
|
344
|
+
write({ phase: "building", definitionId });
|
|
286
345
|
// Auth against the live key, refreshing + retrying once on a rejected key
|
|
287
346
|
// (same recovery the runs router gets). The building/terminal streaming
|
|
288
347
|
// shape is unchanged — the retry is transparent to the NDJSON stream.
|
|
@@ -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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"}
|
|
@@ -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;AAmFtD,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;AA8GD,eAAO,MAAM,WAAW,GACtB,SAAS,oBAAoB,KAC5B,OAAO,CAAC,aAAa,CA2rCvB,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -50,6 +50,7 @@ import { renderCanvasForSession } from "../core/canvas-render.js";
|
|
|
50
50
|
import { invalidateExtractionCache } from "../core/canvas-cache.js";
|
|
51
51
|
import { sweepNdjson } from "../core/collector/store-retention.js";
|
|
52
52
|
import { createDefinitionSlugResolver, resolveAgentsBaseUrl, } from "../core/definition-slug-resolver.js";
|
|
53
|
+
import { resolveManifestName } from "../core/definition-name.js";
|
|
53
54
|
import { createBootTokenMiddleware } from "./auth.js";
|
|
54
55
|
import { createApiKeyProvider } from "../core/api-key-provider.js";
|
|
55
56
|
import { createRestRouter } from "./rest.js";
|
|
@@ -910,7 +911,21 @@ export const startServer = async (options) => {
|
|
|
910
911
|
apiKey: apiKeyProvider,
|
|
911
912
|
// coreBaseUrl omitted: the router self-defaults via resolveCoreBaseUrl()
|
|
912
913
|
// (see actions.ts), which derives the core host from the agents env.
|
|
913
|
-
resolveWorkflow: (id) =>
|
|
914
|
+
resolveWorkflow: (id) => {
|
|
915
|
+
const workflow = workflowsCache.find((w) => w.path === id);
|
|
916
|
+
// `name` is the registry's display name — a fallback for naming an
|
|
917
|
+
// agent the deploy route has to create.
|
|
918
|
+
return workflow ? { path: workflow.path, name: workflow.name } : null;
|
|
919
|
+
},
|
|
920
|
+
// Prefer the agent's DECLARED name when deploy has to create it, read
|
|
921
|
+
// from the same warm extraction cache the canvas renders from.
|
|
922
|
+
resolveDefinitionName: (workflow) => resolveManifestName(workflow.path),
|
|
923
|
+
// A first-time deploy writes definitionId into an existing sapiom.json,
|
|
924
|
+
// which the watcher's directory-set diff cannot see — rescan that project
|
|
925
|
+
// so the Draft→Deployed chip and the deploy-gated actions update.
|
|
926
|
+
onLinked: async (workflow) => {
|
|
927
|
+
await scanWorkflowsAndBroadcast(workflow.path);
|
|
928
|
+
},
|
|
914
929
|
}));
|
|
915
930
|
app.use(createWorkflowsRouter(enrichedWorkflowRegistry), createFsRouter(), createMacrosRouter({
|
|
916
931
|
listMacros: () => DEFAULT_MACROS,
|