@shardworks/spider-apparatus 0.1.206 → 0.1.207
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piece-session.d.ts","sourceRoot":"","sources":["../../src/engines/piece-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"piece-session.d.ts","sourceRoot":"","sources":["../../src/engines/piece-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,kCAAkC,CAAC;AA0BvF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,snBAQa,CAAC;AAEnD,QAAA,MAAM,kBAAkB,EAAE,YA0JzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -22,6 +22,24 @@
|
|
|
22
22
|
* - cwd: string (draft worktree path)
|
|
23
23
|
*/
|
|
24
24
|
import { guild } from '@shardworks/nexus-core';
|
|
25
|
+
/**
|
|
26
|
+
* Classify a caught transition error. Returns true if the error message
|
|
27
|
+
* indicates the writ is already in a terminal state (cancelled, completed,
|
|
28
|
+
* failed) — in which case the failed transition is expected (the cascade or
|
|
29
|
+
* another path beat us to it) and should be swallowed silently.
|
|
30
|
+
*
|
|
31
|
+
* Matches the wording produced by Clerk's `transition()` guard, e.g.
|
|
32
|
+
* `Cannot transition writ "…" to "completed": status is "cancelled", expected one of: open.`
|
|
33
|
+
* Also tolerates future phrasing like "already terminal".
|
|
34
|
+
*/
|
|
35
|
+
function isAlreadyTerminalTransitionError(err) {
|
|
36
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
37
|
+
if (message.includes('already terminal'))
|
|
38
|
+
return true;
|
|
39
|
+
return (message.includes('status is "cancelled"') ||
|
|
40
|
+
message.includes('status is "completed"') ||
|
|
41
|
+
message.includes('status is "failed"'));
|
|
42
|
+
}
|
|
25
43
|
/**
|
|
26
44
|
* Execution instructions for piece sessions. Focuses the anima on a single
|
|
27
45
|
* task — no manifest traversal, commit-per-piece guidance.
|
|
@@ -75,14 +93,39 @@ const pieceSessionEngine = {
|
|
|
75
93
|
sessionStatus: session?.status ?? 'completed',
|
|
76
94
|
};
|
|
77
95
|
}
|
|
78
|
-
// Completed session → mark piece completed
|
|
96
|
+
// Completed session → mark piece completed.
|
|
97
|
+
//
|
|
98
|
+
// The transition may fail if the piece writ is already in a terminal
|
|
99
|
+
// state (e.g. Clerk's downward cascade beat us to it after a sibling
|
|
100
|
+
// failure). Classify the error: already-terminal is expected and silent;
|
|
101
|
+
// anything else is a genuine bookkeeping failure that must be surfaced
|
|
102
|
+
// via a warning so the race is visible in logs.
|
|
79
103
|
try {
|
|
80
104
|
await clerk.transition(piece.id, 'completed', {
|
|
81
105
|
resolution: 'Task completed',
|
|
82
106
|
});
|
|
83
107
|
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
if (!isAlreadyTerminalTransitionError(err)) {
|
|
110
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
111
|
+
console.warn(`[piece-session] Unexpected error transitioning piece "${piece.id}" ` +
|
|
112
|
+
`to completed: ${message}`);
|
|
113
|
+
}
|
|
114
|
+
// Swallow — collect() must not throw. The current piece writ status
|
|
115
|
+
// will be observed below and included in yields so downstream
|
|
116
|
+
// consumers can see the actual outcome.
|
|
117
|
+
}
|
|
118
|
+
// Re-read the piece writ after the transition attempt so yields reflect
|
|
119
|
+
// the observed, authoritative status — whether the transition succeeded
|
|
120
|
+
// or was caught as already-terminal.
|
|
121
|
+
let observedPieceStatus;
|
|
122
|
+
try {
|
|
123
|
+
const observedPiece = await clerk.show(piece.id);
|
|
124
|
+
observedPieceStatus = observedPiece.status;
|
|
125
|
+
}
|
|
84
126
|
catch {
|
|
85
|
-
//
|
|
127
|
+
// Writ lookup failure should not propagate out of collect(). Leave
|
|
128
|
+
// observedPieceStatus undefined so yields omit the field entirely.
|
|
86
129
|
}
|
|
87
130
|
// ── Dynamic piece pickup ──────────────────────────────────────────
|
|
88
131
|
// Check for dynamically added child pieces that don't yet have engines.
|
|
@@ -131,6 +174,7 @@ const pieceSessionEngine = {
|
|
|
131
174
|
sessionId,
|
|
132
175
|
sessionStatus: session?.status ?? 'completed',
|
|
133
176
|
pieceId: piece.id,
|
|
177
|
+
...(observedPieceStatus !== undefined ? { pieceStatus: observedPieceStatus } : {}),
|
|
134
178
|
...(session?.output !== undefined ? { output: session.output } : {}),
|
|
135
179
|
...(newPieces.length > 0 ? { dynamicPieceIds: newPieces.map(p => p.id) } : {}),
|
|
136
180
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piece-session.js","sourceRoot":"","sources":["../../src/engines/piece-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAO/C;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;kDAQU,CAAC;AAEnD,MAAM,kBAAkB,GAAiB;IACvC,EAAE,EAAE,eAAe;IAEnB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO;QACvB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,SAAS,CAAc,UAAU,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,IAAe,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAgB,CAAC;QAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,uEAAuE;QACvE,MAAM,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,6CAA6C,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAE9I,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAc;YAC3B,MAAM;YACN,GAAG,EAAE,MAAM,CAAC,GAAa;YACzB,WAAW,EAAE,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC,EAAE,cAAc,EAAE;YAClE,QAAQ,EAAE;gBACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,WAAW,CAAC,EAAE;gBACtB,OAAO,EAAE,KAAK,CAAC,EAAE;aAClB;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,MAA+B,EAAE,OAAyB;QACzF,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,SAAS,CAAY,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,SAAS,CAAW,OAAO,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAa,UAAU,EAAE,UAAU,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAgB,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAe,CAAC;QAE3C,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,wDAAwD;YACxD,OAAO;gBACL,SAAS;gBACT,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,WAAW;aAC9C,CAAC;QACJ,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"piece-session.js","sourceRoot":"","sources":["../../src/engines/piece-session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/spider-apparatus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.207",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,16 +22,16 @@
|
|
|
22
22
|
"hono": "^4.7.11",
|
|
23
23
|
"yaml": "^2.0.0",
|
|
24
24
|
"zod": "4.3.6",
|
|
25
|
-
"@shardworks/
|
|
26
|
-
"@shardworks/
|
|
27
|
-
"@shardworks/
|
|
28
|
-
"@shardworks/animator-apparatus": "0.1.
|
|
29
|
-
"@shardworks/
|
|
30
|
-
"@shardworks/codexes-apparatus": "0.1.
|
|
25
|
+
"@shardworks/stacks-apparatus": "0.1.207",
|
|
26
|
+
"@shardworks/fabricator-apparatus": "0.1.207",
|
|
27
|
+
"@shardworks/clerk-apparatus": "0.1.207",
|
|
28
|
+
"@shardworks/animator-apparatus": "0.1.207",
|
|
29
|
+
"@shardworks/tools-apparatus": "0.1.207",
|
|
30
|
+
"@shardworks/codexes-apparatus": "0.1.207"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "25.5.0",
|
|
34
|
-
"@shardworks/nexus-core": "0.1.
|
|
34
|
+
"@shardworks/nexus-core": "0.1.207"
|
|
35
35
|
},
|
|
36
36
|
"files": [
|
|
37
37
|
"dist",
|