@bett3r-dev/blueprint-schema 1.7.0 → 1.9.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 +56 -0
- package/build/cjs/apply-design.d.ts +1 -1
- package/build/cjs/apply-design.d.ts.map +1 -1
- package/build/cjs/apply-design.js +18 -5
- package/build/cjs/apply-design.js.map +1 -1
- package/build/cjs/apply-overrides.d.ts.map +1 -1
- package/build/cjs/apply-overrides.js +20 -2
- package/build/cjs/apply-overrides.js.map +1 -1
- package/build/cjs/card-holds.d.ts +4 -0
- package/build/cjs/card-holds.d.ts.map +1 -0
- package/build/cjs/card-holds.js +51 -0
- package/build/cjs/card-holds.js.map +1 -0
- package/build/cjs/channel-link.d.ts +11 -0
- package/build/cjs/channel-link.d.ts.map +1 -0
- package/build/cjs/channel-link.js +39 -0
- package/build/cjs/channel-link.js.map +1 -0
- package/build/cjs/coverage-links.d.ts +1 -1
- package/build/cjs/coverage-links.d.ts.map +1 -1
- package/build/cjs/coverage-links.js +10 -3
- package/build/cjs/coverage-links.js.map +1 -1
- package/build/cjs/design.d.ts +38 -3
- package/build/cjs/design.d.ts.map +1 -1
- package/build/cjs/design.js +21 -5
- package/build/cjs/design.js.map +1 -1
- package/build/cjs/diagnostics.d.ts +12 -0
- package/build/cjs/diagnostics.d.ts.map +1 -1
- package/build/cjs/diagnostics.js.map +1 -1
- package/build/cjs/edge-endpoints.d.ts +33 -0
- package/build/cjs/edge-endpoints.d.ts.map +1 -0
- package/build/cjs/edge-endpoints.js +83 -0
- package/build/cjs/edge-endpoints.js.map +1 -0
- package/build/cjs/effective-design.d.ts +21 -0
- package/build/cjs/effective-design.d.ts.map +1 -0
- package/build/cjs/effective-design.js +177 -0
- package/build/cjs/effective-design.js.map +1 -0
- package/build/cjs/fork-scenarios.d.ts +3 -1
- package/build/cjs/fork-scenarios.d.ts.map +1 -1
- package/build/cjs/fork-scenarios.js +20 -5
- package/build/cjs/fork-scenarios.js.map +1 -1
- package/build/cjs/graph.d.ts +25 -0
- package/build/cjs/graph.d.ts.map +1 -1
- package/build/cjs/graph.js +36 -0
- package/build/cjs/graph.js.map +1 -1
- package/build/cjs/index.d.ts +10 -0
- package/build/cjs/index.d.ts.map +1 -1
- package/build/cjs/index.js +10 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/map-review-view.d.ts +29 -0
- package/build/cjs/map-review-view.d.ts.map +1 -0
- package/build/cjs/map-review-view.js +64 -0
- package/build/cjs/map-review-view.js.map +1 -0
- package/build/cjs/map-structure.d.ts +26 -2
- package/build/cjs/map-structure.d.ts.map +1 -1
- package/build/cjs/map-structure.js.map +1 -1
- package/build/cjs/map-vocabulary.d.ts +8 -1
- package/build/cjs/map-vocabulary.d.ts.map +1 -1
- package/build/cjs/map-vocabulary.js +15 -2
- package/build/cjs/map-vocabulary.js.map +1 -1
- package/build/cjs/nodes.d.ts +2 -0
- package/build/cjs/nodes.d.ts.map +1 -1
- package/build/cjs/overrides.d.ts +21 -0
- package/build/cjs/overrides.d.ts.map +1 -1
- package/build/cjs/overrides.js +53 -1
- package/build/cjs/overrides.js.map +1 -1
- package/build/cjs/reachability.js +1 -1
- package/build/cjs/reachability.js.map +1 -1
- package/build/cjs/reality-check.d.ts +1 -1
- package/build/cjs/reality-check.d.ts.map +1 -1
- package/build/cjs/reality-check.js +46 -9
- package/build/cjs/reality-check.js.map +1 -1
- package/build/cjs/scenario-test-level.d.ts +25 -0
- package/build/cjs/scenario-test-level.d.ts.map +1 -0
- package/build/cjs/scenario-test-level.js +43 -0
- package/build/cjs/scenario-test-level.js.map +1 -0
- package/build/cjs/session-phase.d.ts +80 -0
- package/build/cjs/session-phase.d.ts.map +1 -0
- package/build/cjs/session-phase.js +97 -0
- package/build/cjs/session-phase.js.map +1 -0
- package/build/cjs/session.d.ts +21 -2
- package/build/cjs/session.d.ts.map +1 -1
- package/build/cjs/session.js +3 -2
- package/build/cjs/session.js.map +1 -1
- package/build/cjs/spec.d.ts +3 -0
- package/build/cjs/spec.d.ts.map +1 -1
- package/build/cjs/spec.js +85 -17
- package/build/cjs/spec.js.map +1 -1
- package/build/cjs/step-elements.d.ts +27 -0
- package/build/cjs/step-elements.d.ts.map +1 -0
- package/build/cjs/step-elements.js +28 -0
- package/build/cjs/step-elements.js.map +1 -0
- package/build/cjs/tags.d.ts +26 -0
- package/build/cjs/tags.d.ts.map +1 -0
- package/build/cjs/tags.js +28 -0
- package/build/cjs/tags.js.map +1 -0
- package/build/cjs/unproduced-events.d.ts +10 -0
- package/build/cjs/unproduced-events.d.ts.map +1 -0
- package/build/cjs/unproduced-events.js +37 -0
- package/build/cjs/unproduced-events.js.map +1 -0
- package/build/cjs/validate-design.d.ts +1 -1
- package/build/cjs/validate-design.d.ts.map +1 -1
- package/build/cjs/validate-design.js +74 -4
- package/build/cjs/validate-design.js.map +1 -1
- package/build/esm/apply-design.d.ts +1 -1
- package/build/esm/apply-design.d.ts.map +1 -1
- package/build/esm/apply-design.js +18 -5
- package/build/esm/apply-design.js.map +1 -1
- package/build/esm/apply-overrides.d.ts.map +1 -1
- package/build/esm/apply-overrides.js +20 -2
- package/build/esm/apply-overrides.js.map +1 -1
- package/build/esm/card-holds.d.ts +4 -0
- package/build/esm/card-holds.d.ts.map +1 -0
- package/build/esm/card-holds.js +48 -0
- package/build/esm/card-holds.js.map +1 -0
- package/build/esm/channel-link.d.ts +11 -0
- package/build/esm/channel-link.d.ts.map +1 -0
- package/build/esm/channel-link.js +34 -0
- package/build/esm/channel-link.js.map +1 -0
- package/build/esm/coverage-links.d.ts +1 -1
- package/build/esm/coverage-links.d.ts.map +1 -1
- package/build/esm/coverage-links.js +10 -3
- package/build/esm/coverage-links.js.map +1 -1
- package/build/esm/design.d.ts +38 -3
- package/build/esm/design.d.ts.map +1 -1
- package/build/esm/design.js +18 -4
- package/build/esm/design.js.map +1 -1
- package/build/esm/diagnostics.d.ts +12 -0
- package/build/esm/diagnostics.d.ts.map +1 -1
- package/build/esm/diagnostics.js.map +1 -1
- package/build/esm/edge-endpoints.d.ts +33 -0
- package/build/esm/edge-endpoints.d.ts.map +1 -0
- package/build/esm/edge-endpoints.js +77 -0
- package/build/esm/edge-endpoints.js.map +1 -0
- package/build/esm/effective-design.d.ts +21 -0
- package/build/esm/effective-design.d.ts.map +1 -0
- package/build/esm/effective-design.js +174 -0
- package/build/esm/effective-design.js.map +1 -0
- package/build/esm/fork-scenarios.d.ts +3 -1
- package/build/esm/fork-scenarios.d.ts.map +1 -1
- package/build/esm/fork-scenarios.js +20 -5
- package/build/esm/fork-scenarios.js.map +1 -1
- package/build/esm/graph.d.ts +25 -0
- package/build/esm/graph.d.ts.map +1 -1
- package/build/esm/graph.js +33 -0
- package/build/esm/graph.js.map +1 -1
- package/build/esm/index.d.ts +10 -0
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js +10 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/map-review-view.d.ts +29 -0
- package/build/esm/map-review-view.d.ts.map +1 -0
- package/build/esm/map-review-view.js +58 -0
- package/build/esm/map-review-view.js.map +1 -0
- package/build/esm/map-structure.d.ts +26 -2
- package/build/esm/map-structure.d.ts.map +1 -1
- package/build/esm/map-structure.js.map +1 -1
- package/build/esm/map-vocabulary.d.ts +8 -1
- package/build/esm/map-vocabulary.d.ts.map +1 -1
- package/build/esm/map-vocabulary.js +13 -1
- package/build/esm/map-vocabulary.js.map +1 -1
- package/build/esm/nodes.d.ts +2 -0
- package/build/esm/nodes.d.ts.map +1 -1
- package/build/esm/overrides.d.ts +21 -0
- package/build/esm/overrides.d.ts.map +1 -1
- package/build/esm/overrides.js +51 -1
- package/build/esm/overrides.js.map +1 -1
- package/build/esm/reachability.js +1 -1
- package/build/esm/reachability.js.map +1 -1
- package/build/esm/reality-check.d.ts +1 -1
- package/build/esm/reality-check.d.ts.map +1 -1
- package/build/esm/reality-check.js +47 -10
- package/build/esm/reality-check.js.map +1 -1
- package/build/esm/scenario-test-level.d.ts +25 -0
- package/build/esm/scenario-test-level.d.ts.map +1 -0
- package/build/esm/scenario-test-level.js +37 -0
- package/build/esm/scenario-test-level.js.map +1 -0
- package/build/esm/session-phase.d.ts +80 -0
- package/build/esm/session-phase.d.ts.map +1 -0
- package/build/esm/session-phase.js +93 -0
- package/build/esm/session-phase.js.map +1 -0
- package/build/esm/session.d.ts +21 -2
- package/build/esm/session.d.ts.map +1 -1
- package/build/esm/session.js +3 -2
- package/build/esm/session.js.map +1 -1
- package/build/esm/spec.d.ts +3 -0
- package/build/esm/spec.d.ts.map +1 -1
- package/build/esm/spec.js +88 -20
- package/build/esm/spec.js.map +1 -1
- package/build/esm/step-elements.d.ts +27 -0
- package/build/esm/step-elements.d.ts.map +1 -0
- package/build/esm/step-elements.js +21 -0
- package/build/esm/step-elements.js.map +1 -0
- package/build/esm/tags.d.ts +26 -0
- package/build/esm/tags.d.ts.map +1 -0
- package/build/esm/tags.js +21 -0
- package/build/esm/tags.js.map +1 -0
- package/build/esm/unproduced-events.d.ts +10 -0
- package/build/esm/unproduced-events.d.ts.map +1 -0
- package/build/esm/unproduced-events.js +32 -0
- package/build/esm/unproduced-events.js.map +1 -0
- package/build/esm/validate-design.d.ts +1 -1
- package/build/esm/validate-design.d.ts.map +1 -1
- package/build/esm/validate-design.js +74 -4
- package/build/esm/validate-design.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/schema/map.schema.json +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reality-check.js","sourceRoot":"","sources":["../../src/reality-check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reality-check.js","sourceRoot":"","sources":["../../src/reality-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { MapEntryId, MapFork, MapNode } from './map-structure.js';
|
|
2
|
+
import type { MapNodeLevel } from './map-vocabulary.js';
|
|
3
|
+
/** The test level a scenario's test runs at; the scaffolder's `TestLevel` is this type. */
|
|
4
|
+
export type ScenarioTestLevel = 'unit' | 'integration';
|
|
5
|
+
/** The test level a map card implies (ESAS-297-F1): What is unit; How, Why and Who are integration. */
|
|
6
|
+
export declare const TEST_LEVEL_OF_CARD: Record<MapNodeLevel, ScenarioTestLevel>;
|
|
7
|
+
/** The map cards and forks a scenario's anchors are resolved against. */
|
|
8
|
+
export type ScenarioTestLevelMap = {
|
|
9
|
+
nodes: readonly MapNode[];
|
|
10
|
+
forks: readonly MapFork[];
|
|
11
|
+
};
|
|
12
|
+
/** The map card an anchor names: the node itself, or a fork's anchor card. */
|
|
13
|
+
export declare function anchorCard(anchor: MapEntryId, map: ScenarioTestLevelMap): MapNode | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* The level an anchor set implies: the most integrated of its cards' levels, a fork taking its
|
|
16
|
+
* anchor card's (ESAS-297-F1). Undefined when no anchor names a card, so coverage decides.
|
|
17
|
+
*/
|
|
18
|
+
export declare function anchorTestLevel(anchors: readonly MapEntryId[], map: ScenarioTestLevelMap): ScenarioTestLevel | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* A scenario's test level: its anchors' (most integrated wins), else its coverage's, where one
|
|
21
|
+
* covered aggregate is unit and more is integration (ESAS-287-F16). `coveredTypes` are the node
|
|
22
|
+
* types of the elements it covers. Never undefined: nothing to decide from is unit.
|
|
23
|
+
*/
|
|
24
|
+
export declare function scenarioTestLevel(anchors: readonly MapEntryId[], map: ScenarioTestLevelMap, coveredTypes: readonly string[]): ScenarioTestLevel;
|
|
25
|
+
//# sourceMappingURL=scenario-test-level.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-test-level.d.ts","sourceRoot":"","sources":["../../src/scenario-test-level.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMxD,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,aAAa,CAAC;AAEvD,uGAAuG;AACvG,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAKtE,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,UAAU,CAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,oBAAoB,GAAI,OAAO,GAAG,SAAS,CAK/F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAE,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,oBAAoB,GAAI,iBAAiB,GAAG,SAAS,CAO1H;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,GACzF,iBAAiB,CAEnB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** The test level a map card implies (ESAS-297-F1): What is unit; How, Why and Who are integration. */
|
|
2
|
+
export const TEST_LEVEL_OF_CARD = {
|
|
3
|
+
deliverable: 'unit',
|
|
4
|
+
impact: 'integration',
|
|
5
|
+
goal: 'integration',
|
|
6
|
+
mapActor: 'integration'
|
|
7
|
+
};
|
|
8
|
+
/** The map card an anchor names: the node itself, or a fork's anchor card. */
|
|
9
|
+
export function anchorCard(anchor, map) {
|
|
10
|
+
const node = map.nodes.find(n => n.id === anchor);
|
|
11
|
+
if (node)
|
|
12
|
+
return node;
|
|
13
|
+
const fork = map.forks.find(f => f.id === anchor);
|
|
14
|
+
return fork?.anchor === undefined ? undefined : map.nodes.find(n => n.id === fork.anchor);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The level an anchor set implies: the most integrated of its cards' levels, a fork taking its
|
|
18
|
+
* anchor card's (ESAS-297-F1). Undefined when no anchor names a card, so coverage decides.
|
|
19
|
+
*/
|
|
20
|
+
export function anchorTestLevel(anchors, map) {
|
|
21
|
+
const levels = anchors
|
|
22
|
+
.map(a => anchorCard(a, map))
|
|
23
|
+
.filter((c) => c !== undefined)
|
|
24
|
+
.map(c => TEST_LEVEL_OF_CARD[c.level]);
|
|
25
|
+
if (levels.length === 0)
|
|
26
|
+
return undefined;
|
|
27
|
+
return levels.includes('integration') ? 'integration' : 'unit';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A scenario's test level: its anchors' (most integrated wins), else its coverage's, where one
|
|
31
|
+
* covered aggregate is unit and more is integration (ESAS-287-F16). `coveredTypes` are the node
|
|
32
|
+
* types of the elements it covers. Never undefined: nothing to decide from is unit.
|
|
33
|
+
*/
|
|
34
|
+
export function scenarioTestLevel(anchors, map, coveredTypes) {
|
|
35
|
+
return anchorTestLevel(anchors, map) ?? (coveredTypes.filter(t => t === 'aggregate').length > 1 ? 'integration' : 'unit');
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=scenario-test-level.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-test-level.js","sourceRoot":"","sources":["../../src/scenario-test-level.ts"],"names":[],"mappings":"AAUA,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAA4C;IACzE,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,aAAa;CACxB,CAAC;AAQF,8EAA8E;AAC9E,MAAM,UAAU,UAAU,CAAE,MAAkB,EAAE,GAAyB;IACvE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAE,CAAC;IACpD,IAAK,IAAI;QAAG,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAE,CAAC;IACpD,OAAO,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAE,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAE,OAA8B,EAAE,GAAyB;IACxF,MAAM,MAAM,GAAG,OAAO;SACnB,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAE,CAAC,EAAE,GAAG,CAAE,CAAC;SAC/B,MAAM,CAAE,CAAE,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAE;SAChD,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAE,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC;IAC5C,IAAK,MAAM,CAAC,MAAM,KAAK,CAAC;QAAG,OAAO,SAAS,CAAC;IAC5C,OAAO,MAAM,CAAC,QAAQ,CAAE,aAAa,CAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA8B,EAAE,GAAyB,EAAE,YAA+B;IAE1F,OAAO,eAAe,CAAE,OAAO,EAAE,GAAG,CAAE,IAAI,CAAE,YAAY,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;AAClI,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { SessionStage } from './session.js';
|
|
2
|
+
/**
|
|
3
|
+
* What a session is doing now, beside its lifecycle state (active / unanchored / frozen), which says only whether it
|
|
4
|
+
* is anchored. A phase is derived, never stored: the server reads the session's newest facts (its design job, its
|
|
5
|
+
* Design done chain, its implementation dispatch, its agent's commit signals, its branch's merge) and sessionPhaseOf picks
|
|
6
|
+
* the one that describes the present. `merged` is the end: the ticket branch landed and nothing waits on anyone.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SESSION_PHASES: readonly ["designing", "design-done", "implementing", "review", "needs-human", "blocked", "merged"];
|
|
9
|
+
export type SessionPhaseName = typeof SESSION_PHASES[number];
|
|
10
|
+
/** Who the session waits on: its agent working, a person acting, a runner claiming a queued job, or nobody (it ended). */
|
|
11
|
+
export declare const SESSION_PHASE_WAITING_ON: readonly ["agent", "you", "runner", "nobody"];
|
|
12
|
+
export type SessionPhaseWaitingOn = typeof SESSION_PHASE_WAITING_ON[number];
|
|
13
|
+
/**
|
|
14
|
+
* The precise situation, each code belonging to one phase (PHASE_OF_CODE). A view words the code; `reason`, `step` and
|
|
15
|
+
* `link` carry what the wording names.
|
|
16
|
+
*/
|
|
17
|
+
export declare const SESSION_PHASE_CODES: readonly ["design-queued", "design-running", "agent-replied", "map-ready", "design-ready", "design-failed", "design-finishing", "design-finish-failed", "design-done", "dispatch-queued", "dispatch-starting", "agent-working", "dispatch-failed", "dispatch-refused", "needs-human", "pr-ready", "merged"];
|
|
18
|
+
export type SessionPhaseCode = typeof SESSION_PHASE_CODES[number];
|
|
19
|
+
export declare const PHASE_OF_CODE: Record<SessionPhaseCode, SessionPhaseName>;
|
|
20
|
+
/**
|
|
21
|
+
* A session's phase. `since` is when the deciding fact happened (ISO). `step` is the step a running job or the Design
|
|
22
|
+
* done chain is at; `reason` a failure reason, a refused dispatch's outcome or a signal commit's subject; `link` the
|
|
23
|
+
* implementation agent's live Claude Code session.
|
|
24
|
+
*/
|
|
25
|
+
export type SessionPhase = {
|
|
26
|
+
phase: SessionPhaseName;
|
|
27
|
+
code: SessionPhaseCode;
|
|
28
|
+
waitingOn: SessionPhaseWaitingOn;
|
|
29
|
+
since: string;
|
|
30
|
+
step?: string;
|
|
31
|
+
reason?: string;
|
|
32
|
+
link?: string;
|
|
33
|
+
};
|
|
34
|
+
type JobStatus = 'queued' | 'claimed' | 'done' | 'failed';
|
|
35
|
+
/**
|
|
36
|
+
* The facts a phase is derived from, each the session's newest of its kind; `at` is when it last changed (ISO).
|
|
37
|
+
* `designJob.stage` is the stage the job was claimed in, when it recorded one. `merge` is the session's branch merging into
|
|
38
|
+
* `target`, as the runner's merge poll reported it.
|
|
39
|
+
*/
|
|
40
|
+
export type SessionPhaseFacts = {
|
|
41
|
+
ticket: boolean;
|
|
42
|
+
stage?: SessionStage;
|
|
43
|
+
designJob?: {
|
|
44
|
+
status: JobStatus;
|
|
45
|
+
step: string | null;
|
|
46
|
+
stage: string | null;
|
|
47
|
+
failureReason: string | null;
|
|
48
|
+
at: string;
|
|
49
|
+
};
|
|
50
|
+
completion?: {
|
|
51
|
+
step: 'bundle' | 'scaffold' | 'transition' | 'done';
|
|
52
|
+
failed: boolean;
|
|
53
|
+
failureReason: string | null;
|
|
54
|
+
at: string;
|
|
55
|
+
};
|
|
56
|
+
dispatch?: {
|
|
57
|
+
outcome: string;
|
|
58
|
+
status: JobStatus | null;
|
|
59
|
+
failureReason: string | null;
|
|
60
|
+
sessionUrl: string | null;
|
|
61
|
+
at: string;
|
|
62
|
+
};
|
|
63
|
+
signal?: {
|
|
64
|
+
value: 'done' | 'needs-human';
|
|
65
|
+
subject: string;
|
|
66
|
+
at: string;
|
|
67
|
+
};
|
|
68
|
+
merge?: {
|
|
69
|
+
target: string;
|
|
70
|
+
at: string;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* The session's phase: of its facts, the newest decides. A finished design job (done) never outranks a later stage's
|
|
75
|
+
* fact, so a reply to a board comment during implementation does not read as the session designing again; a design job
|
|
76
|
+
* still queued or running does, while it runs. Undefined for a session with none of the facts.
|
|
77
|
+
*/
|
|
78
|
+
export declare const sessionPhaseOf: (facts: SessionPhaseFacts) => SessionPhase | undefined;
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=session-phase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-phase.d.ts","sourceRoot":"","sources":["../../src/session-phase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,qGAAwG,CAAC;AACpI,MAAM,MAAM,gBAAgB,GAAG,OAAO,cAAc,CAAE,MAAM,CAAE,CAAC;AAE/D,0HAA0H;AAC1H,eAAO,MAAM,wBAAwB,+CAAkD,CAAC;AACxF,MAAM,MAAM,qBAAqB,GAAG,OAAO,wBAAwB,CAAE,MAAM,CAAE,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,mBAAmB,6SAKtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAE,MAAM,CAAE,CAAC;AAEpE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAkBpE,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,gBAAgB,CAAC;IACxB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,qBAAqB,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACvH,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAChI,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9H,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC,CAAC;AAsCF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAK,OAAO,iBAAiB,KAAI,YAAY,GAAG,SAa1E,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a session is doing now, beside its lifecycle state (active / unanchored / frozen), which says only whether it
|
|
3
|
+
* is anchored. A phase is derived, never stored: the server reads the session's newest facts (its design job, its
|
|
4
|
+
* Design done chain, its implementation dispatch, its agent's commit signals, its branch's merge) and sessionPhaseOf picks
|
|
5
|
+
* the one that describes the present. `merged` is the end: the ticket branch landed and nothing waits on anyone.
|
|
6
|
+
*/
|
|
7
|
+
export const SESSION_PHASES = ['designing', 'design-done', 'implementing', 'review', 'needs-human', 'blocked', 'merged'];
|
|
8
|
+
/** Who the session waits on: its agent working, a person acting, a runner claiming a queued job, or nobody (it ended). */
|
|
9
|
+
export const SESSION_PHASE_WAITING_ON = ['agent', 'you', 'runner', 'nobody'];
|
|
10
|
+
/**
|
|
11
|
+
* The precise situation, each code belonging to one phase (PHASE_OF_CODE). A view words the code; `reason`, `step` and
|
|
12
|
+
* `link` carry what the wording names.
|
|
13
|
+
*/
|
|
14
|
+
export const SESSION_PHASE_CODES = [
|
|
15
|
+
'design-queued', 'design-running', 'agent-replied', 'map-ready', 'design-ready', 'design-failed',
|
|
16
|
+
'design-finishing', 'design-finish-failed', 'design-done',
|
|
17
|
+
'dispatch-queued', 'dispatch-starting', 'agent-working', 'dispatch-failed', 'dispatch-refused',
|
|
18
|
+
'needs-human', 'pr-ready', 'merged'
|
|
19
|
+
];
|
|
20
|
+
export const PHASE_OF_CODE = {
|
|
21
|
+
'design-queued': 'designing',
|
|
22
|
+
'design-running': 'designing',
|
|
23
|
+
'agent-replied': 'designing',
|
|
24
|
+
'map-ready': 'designing',
|
|
25
|
+
'design-ready': 'designing',
|
|
26
|
+
'design-failed': 'blocked',
|
|
27
|
+
'design-finishing': 'designing',
|
|
28
|
+
'design-finish-failed': 'blocked',
|
|
29
|
+
'design-done': 'design-done',
|
|
30
|
+
'dispatch-queued': 'implementing',
|
|
31
|
+
'dispatch-starting': 'implementing',
|
|
32
|
+
'agent-working': 'implementing',
|
|
33
|
+
'dispatch-failed': 'blocked',
|
|
34
|
+
'dispatch-refused': 'blocked',
|
|
35
|
+
'needs-human': 'needs-human',
|
|
36
|
+
'pr-ready': 'review',
|
|
37
|
+
merged: 'merged'
|
|
38
|
+
};
|
|
39
|
+
const phase = (code, waitingOn, since, extra = {}) => ({
|
|
40
|
+
phase: PHASE_OF_CODE[code], code, waitingOn, since,
|
|
41
|
+
...Object.fromEntries(Object.entries(extra).filter(([, value]) => value !== undefined && value !== null && value !== ''))
|
|
42
|
+
});
|
|
43
|
+
const designPhase = (facts, job) => {
|
|
44
|
+
const step = job.step ?? undefined;
|
|
45
|
+
if (job.status === 'queued')
|
|
46
|
+
return phase('design-queued', 'runner', job.at);
|
|
47
|
+
if (job.status === 'claimed')
|
|
48
|
+
return phase('design-running', 'agent', job.at, { step });
|
|
49
|
+
if (job.status === 'failed')
|
|
50
|
+
return phase('design-failed', 'you', job.at, { reason: job.failureReason ?? undefined });
|
|
51
|
+
if (!facts.ticket)
|
|
52
|
+
return phase('agent-replied', 'you', job.at);
|
|
53
|
+
return phase((job.stage ?? facts.stage) === 'program' ? 'design-ready' : 'map-ready', 'you', job.at);
|
|
54
|
+
};
|
|
55
|
+
const completionPhase = (completion) => {
|
|
56
|
+
if (completion.step === 'done')
|
|
57
|
+
return phase('design-done', 'you', completion.at);
|
|
58
|
+
if (completion.failed)
|
|
59
|
+
return phase('design-finish-failed', 'you', completion.at, { step: completion.step, reason: completion.failureReason ?? undefined });
|
|
60
|
+
return phase('design-finishing', 'runner', completion.at, { step: completion.step });
|
|
61
|
+
};
|
|
62
|
+
const dispatchPhase = (dispatch) => {
|
|
63
|
+
if (dispatch.outcome !== 'dispatched')
|
|
64
|
+
return phase('dispatch-refused', 'you', dispatch.at, { reason: dispatch.outcome });
|
|
65
|
+
if (dispatch.status === 'done')
|
|
66
|
+
return phase('agent-working', 'agent', dispatch.at, { link: dispatch.sessionUrl ?? undefined });
|
|
67
|
+
if (dispatch.status === 'failed')
|
|
68
|
+
return phase('dispatch-failed', 'you', dispatch.at, { reason: dispatch.failureReason ?? undefined });
|
|
69
|
+
if (dispatch.status === 'claimed')
|
|
70
|
+
return phase('dispatch-starting', 'runner', dispatch.at);
|
|
71
|
+
return phase('dispatch-queued', 'runner', dispatch.at);
|
|
72
|
+
};
|
|
73
|
+
const signalPhase = (signal) => signal.value === 'needs-human'
|
|
74
|
+
? phase('needs-human', 'you', signal.at, { reason: signal.subject })
|
|
75
|
+
: phase('pr-ready', 'you', signal.at);
|
|
76
|
+
const mergePhase = (merge) => phase('merged', 'nobody', merge.at, { reason: merge.target });
|
|
77
|
+
/**
|
|
78
|
+
* The session's phase: of its facts, the newest decides. A finished design job (done) never outranks a later stage's
|
|
79
|
+
* fact, so a reply to a board comment during implementation does not read as the session designing again; a design job
|
|
80
|
+
* still queued or running does, while it runs. Undefined for a session with none of the facts.
|
|
81
|
+
*/
|
|
82
|
+
export const sessionPhaseOf = (facts) => {
|
|
83
|
+
const later = [
|
|
84
|
+
facts.completion && completionPhase(facts.completion),
|
|
85
|
+
facts.dispatch && dispatchPhase(facts.dispatch),
|
|
86
|
+
facts.signal && signalPhase(facts.signal),
|
|
87
|
+
facts.merge && mergePhase(facts.merge)
|
|
88
|
+
].filter((candidate) => candidate !== undefined);
|
|
89
|
+
const job = facts.designJob;
|
|
90
|
+
const candidates = job === undefined || (job.status === 'done' && later.length > 0) ? later : [...later, designPhase(facts, job)];
|
|
91
|
+
return candidates.reduce((newest, candidate) => newest === undefined || Date.parse(candidate.since) > Date.parse(newest.since) ? candidate : newest, undefined);
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=session-phase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-phase.js","sourceRoot":"","sources":["../../src/session-phase.ts"],"names":[],"mappings":"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"}
|
package/build/esm/session.d.ts
CHANGED
|
@@ -34,6 +34,24 @@ export type DesignSession = RealityPointer & {
|
|
|
34
34
|
at: string;
|
|
35
35
|
by: ActorId;
|
|
36
36
|
};
|
|
37
|
+
/** BP-188 (D9, ADR-036 attribute): the Baseline a Change session was started from; absent on any other session. */
|
|
38
|
+
startedFrom?: SessionStartedFrom;
|
|
39
|
+
};
|
|
40
|
+
/** BP-188 (D13, map F6 A): the member's selection a Change session starts on: the cards, the scope, and the typed request. */
|
|
41
|
+
export type SessionSeed = {
|
|
42
|
+
elementIds?: string[];
|
|
43
|
+
scopeId?: string;
|
|
44
|
+
request?: string;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* BP-188 (D9): where a Change session was started: the Baseline's id, its seq at the press, the commit its extraction was
|
|
48
|
+
* pushed at (null when none is known), and the seed when the member sent one.
|
|
49
|
+
*/
|
|
50
|
+
export type SessionStartedFrom = {
|
|
51
|
+
sessionId: SessionId;
|
|
52
|
+
seq: number;
|
|
53
|
+
commitSha: string | null;
|
|
54
|
+
seed?: SessionSeed;
|
|
37
55
|
};
|
|
38
56
|
/** ESAS-329 (F8): a ticket session's stages, in order; Map agreed moves it from the first to the second, irreversibly. */
|
|
39
57
|
export type SessionStage = 'map' | 'program';
|
|
@@ -59,8 +77,9 @@ export declare function isSessionFrozen(session: Pick<DesignSession, 'state'>):
|
|
|
59
77
|
*/
|
|
60
78
|
export declare function isTicketSession(session: Pick<DesignSession, 'ticketRefs'>): boolean;
|
|
61
79
|
/**
|
|
62
|
-
* ESAS-329 (F1): the session's stage. The stored stage when a `stage-advance` moved it
|
|
63
|
-
*
|
|
80
|
+
* ESAS-329 (F1): the session's stage. The stored stage when one is stored: the one a `stage-advance` moved it to, or
|
|
81
|
+
* (BP-188 D9) the `'map'` a Change session's SessionCreated stored; otherwise `'map'` for a ticket session, created
|
|
82
|
+
* before ESAS-329 or not; otherwise undefined: a session with no ticket refs and no stored stage runs in no stage.
|
|
64
83
|
*/
|
|
65
84
|
export declare function stageOf(session: Pick<DesignSession, 'ticketRefs' | 'stage'>): SessionStage | undefined;
|
|
66
85
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAErC,eAAO,MAAM,sBAAsB,EAAE,oBAAwB,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAyC,CAAC;AAE5F,wBAAgB,cAAc,CAAE,KAAK,EAAE,OAAO,GAAI,KAAK,IAAI,YAAY,CAEtE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,aAAa,EAAE,oBAAoB,CAAC;IACpC,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+HAA+H;IAC/H,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,qHAAqH;IACrH,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|
package/build/esm/session.js
CHANGED
|
@@ -55,8 +55,9 @@ export function isTicketSession(session) {
|
|
|
55
55
|
return (session.ticketRefs?.length ?? 0) > 0;
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
* ESAS-329 (F1): the session's stage. The stored stage when a `stage-advance` moved it
|
|
59
|
-
*
|
|
58
|
+
* ESAS-329 (F1): the session's stage. The stored stage when one is stored: the one a `stage-advance` moved it to, or
|
|
59
|
+
* (BP-188 D9) the `'map'` a Change session's SessionCreated stored; otherwise `'map'` for a ticket session, created
|
|
60
|
+
* before ESAS-329 or not; otherwise undefined: a session with no ticket refs and no stored stage runs in no stage.
|
|
60
61
|
*/
|
|
61
62
|
export function stageOf(session) {
|
|
62
63
|
if (session.stage !== undefined)
|
package/build/esm/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,sBAAsB,GAAyB,CAAC,CAAC;AAQ9D,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAE,CAAC;AAE5F,MAAM,UAAU,cAAc,CAAE,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAM,cAAqC,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAC;AAChG,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,sBAAsB,GAAyB,CAAC,CAAC;AAQ9D,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAE,CAAC;AAE5F,MAAM,UAAU,cAAc,CAAE,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAM,cAAqC,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAC;AAChG,CAAC;AAgDD,SAAS,eAAe,CAAE,YAAgC,EAAE,KAAc;IACxE,OAAO,YAAY,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAC,CAAC,CAAC,CAAE,GAAG,YAAY,CAAE,CAAC,CAAC,CAAC,CAAE,GAAG,YAAY,EAAE,KAAK,CAAE,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAE,OAAsB,EAAE,KAAmB;IAC5E,QAAS,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAK,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAAG,OAAO,OAAO,CAAC;YACjD,OAAO;gBACL,GAAG,OAAO;gBACV,KAAK,EAAE,QAAQ;gBACf,eAAe,EAAE,KAAK,CAAC,QAAQ;gBAC/B,UAAU,EAAE,KAAK,CAAC,GAAG;gBACrB,SAAS,EAAE,KAAK,CAAC,EAAE;gBACnB,YAAY,EAAE,eAAe,CAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAE;aACtE,CAAC;QACJ,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAK,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAAG,OAAO,OAAO,CAAC;YACjD,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAK,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAAG,OAAO,OAAO,CAAC;YACjD,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QACpE,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAK,OAAO,CAAC,KAAK,KAAK,QAAQ;gBAAG,OAAO,OAAO,CAAC;YACjD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;YACxC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,IAAI,YAAY,EAAE,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,KAAK,CAAC;YACjC,KAAK,WAAW,CAAC;YACjB,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,OAAqC;IACpE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAE,OAA0C;IACzE,OAAO,CAAE,OAAO,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAE,OAAoD;IAC3E,IAAK,OAAO,CAAC,KAAK,KAAK,SAAS;QAAG,OAAO,OAAO,CAAC,KAAK,CAAC;IACxD,OAAO,eAAe,CAAE,OAAO,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC"}
|
package/build/esm/spec.d.ts
CHANGED
|
@@ -93,6 +93,9 @@ export declare function specSourceSeq(ops: readonly Op[]): number;
|
|
|
93
93
|
/**
|
|
94
94
|
* F7, F8: blueprint.md, the written sections in spine order with the derived ones (decision tree, scenarios,
|
|
95
95
|
* observations, artifacts) read from the same fold, under a provenance header that prints the source seq.
|
|
96
|
+
* Specification v1: its normative parts, which an implementation agent parses, are the front matter's `key`, the
|
|
97
|
+
* `## Scenarios` (each `- <id> — <title> (<note>)` with its Given, When and Then) and the `## Artifacts` (each node and
|
|
98
|
+
* edge with its id, type and verb); every other section is prose for people.
|
|
96
99
|
*/
|
|
97
100
|
export declare function renderBlueprint(input: SpecRenderInput): string;
|
|
98
101
|
/**
|
package/build/esm/spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,UAAU,EAAwE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/spec.ts"],"names":[],"mappings":"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"}
|
package/build/esm/spec.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { proposedNodeId } from './apply-design.js';
|
|
1
|
+
import { applyDesign, proposedNodeId } from './apply-design.js';
|
|
2
2
|
import { MODIFIABLE_NODE_FIELDS, isCommentIdAnchor } from './design.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { effectiveDesignOf } from './effective-design.js';
|
|
4
|
+
import { FORK_SCENARIO_KEY_PREFIX, joinForkScenarios } from './fork-scenarios.js';
|
|
5
|
+
import { emptyGraph, nodeId, parseNodeId } from './graph.js';
|
|
5
6
|
import { joinMapLinks } from './map-links.js';
|
|
7
|
+
import { anchorTestLevel } from './scenario-test-level.js';
|
|
6
8
|
export const SPEC_VERSION = 1;
|
|
7
9
|
// The written sections in spine order, spelled as the spec-post payload carries them. The decision tree's
|
|
8
10
|
// written entries are its rationales; the tree itself, the artifacts and the provenance header are derived (F7).
|
|
@@ -111,6 +113,17 @@ function section(heading, lines) {
|
|
|
111
113
|
body.pop();
|
|
112
114
|
return ['', `## ${heading}`, '', ...(body.length > 0 ? body : [NONE])];
|
|
113
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Specification v1: blueprint.md opens with front matter, `key` naming the item (the session's first ticket, when it has
|
|
118
|
+
* one) and `session` its session, so an agent tells this item's design from another's.
|
|
119
|
+
*/
|
|
120
|
+
const frontMatterOf = (manifest) => [
|
|
121
|
+
'---',
|
|
122
|
+
...(manifest.ticketRefs.length > 0 ? [`key: ${manifest.ticketRefs[0]}`] : []),
|
|
123
|
+
`session: ${manifest.sessionId}`,
|
|
124
|
+
'---',
|
|
125
|
+
''
|
|
126
|
+
];
|
|
114
127
|
const headerOf = (title, manifest, sourceSeq) => [
|
|
115
128
|
`# ${title} — ${manifest.name}`,
|
|
116
129
|
'',
|
|
@@ -170,22 +183,46 @@ function nodeRef(map, id) {
|
|
|
170
183
|
return id;
|
|
171
184
|
return `${id} "${node.title}"${node.struck === undefined ? '' : ' (struck)'}`;
|
|
172
185
|
}
|
|
173
|
-
const stepLines = (steps) => STEP_KEYWORDS.flatMap(([key, keyword]) => steps[key].map((step, index) => ` - ${index === 0 ? keyword : 'And'} ${step.text}`));
|
|
186
|
+
const stepLines = (steps, nameOf) => STEP_KEYWORDS.flatMap(([key, keyword]) => steps[key].map((step, index) => ` - ${index === 0 ? keyword : 'And'} ${step.text}${step.exercises === undefined ? '' : ` (exercises ${nameOf(step.exercises.esId)})`}`));
|
|
187
|
+
// The labels the design's own nodes carry once applied; the render holds no extraction, so an extracted node reads by id.
|
|
188
|
+
function elementNamesOf(design) {
|
|
189
|
+
const labels = new Map(applyDesign(emptyGraph(), design).graph.nodes.map(node => [node.id, node.label]));
|
|
190
|
+
return esId => labels.get(esId) ?? esId;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Specification v1: a scenario's id as blueprint.md prints it, one token with no space or backtick. A stored scenario's
|
|
194
|
+
* is its map id; a derived one's is its key, `derived:<fork>/<option>/<walk>`, with the walk, a use case's words,
|
|
195
|
+
* percent-encoded, so decodeURIComponent of the walk gives the map's key back.
|
|
196
|
+
*/
|
|
197
|
+
const scenarioIdOf = (id) => {
|
|
198
|
+
if (!id.startsWith(FORK_SCENARIO_KEY_PREFIX))
|
|
199
|
+
return id;
|
|
200
|
+
const [forkId, optionId, ...walk] = id.slice(FORK_SCENARIO_KEY_PREFIX.length).split('/');
|
|
201
|
+
return `${FORK_SCENARIO_KEY_PREFIX}${forkId}/${optionId}/${encodeURIComponent(walk.join('/'))}`;
|
|
202
|
+
};
|
|
203
|
+
// BP-229 (D11): the note's tail, inside its parentheses: the test level when the anchors decide it (a
|
|
204
|
+
// coverage-decided level needs the graph, which this render does not hold, so it prints nothing), then the
|
|
205
|
+
// rejection marker with its code when one is known. Never a line of its own: an indented line reads as a step.
|
|
206
|
+
const scenarioNoteTail = (scenario, map) => {
|
|
207
|
+
const level = anchorTestLevel(scenario.anchors, map);
|
|
208
|
+
const rejection = scenario.rejection;
|
|
209
|
+
return `${level === undefined ? '' : `, ${level === 'unit' ? 'unit test' : 'flow test'}`}${rejection === undefined ? '' : `, rejection${rejection.code === undefined ? '' : ` ${rejection.code}`}`}`;
|
|
210
|
+
};
|
|
174
211
|
// ESAS-296: each stored scenario not struck, with its status and any review reason, then the scenarios the
|
|
175
212
|
// decided forks' chosen walks propose and no stored scenario holds yet.
|
|
176
|
-
function scenariosOf(map) {
|
|
213
|
+
function scenariosOf(map, nameOf) {
|
|
177
214
|
const report = joinForkScenarios(map);
|
|
178
215
|
const reviewOf = new Map(report.derived.map(judgement => [judgement.scenarioId, judgement.reviewReason]));
|
|
179
216
|
const stored = map.scenarios.filter(scenario => scenario.status.kind !== 'struck').flatMap(scenario => {
|
|
180
217
|
const review = reviewOf.get(scenario.id);
|
|
181
218
|
return [
|
|
182
|
-
`- ${scenario.id} — ${scenario.title} (${scenario.status.kind}${review === undefined || review === null ? '' : `, under review: ${review}`})`,
|
|
183
|
-
...stepLines(scenario)
|
|
219
|
+
`- ${scenarioIdOf(scenario.id)} — ${scenario.title} (${scenario.status.kind}${review === undefined || review === null ? '' : `, under review: ${review}`}${scenarioNoteTail(scenario, map)})`,
|
|
220
|
+
...stepLines(scenario, nameOf)
|
|
184
221
|
];
|
|
185
222
|
});
|
|
186
223
|
const proposed = report.proposals.flatMap(proposal => [
|
|
187
|
-
`- ${proposal.key} — ${proposal.title} (from ${proposal.forkId}, ${proposal.state === 'ready' ? 'ready' : 'needs Gherkin'})`,
|
|
188
|
-
...(proposal.state === 'ready' ? stepLines(proposal) : [` - ${proposal.text}`])
|
|
224
|
+
`- ${scenarioIdOf(proposal.key)} — ${proposal.title} (from ${proposal.forkId}, ${proposal.state === 'ready' ? 'ready' : 'needs Gherkin'}${scenarioNoteTail(proposal, map)})`,
|
|
225
|
+
...(proposal.state === 'ready' ? stepLines(proposal, nameOf) : [` - ${proposal.text}`])
|
|
189
226
|
]);
|
|
190
227
|
return [...stored, ...proposed];
|
|
191
228
|
}
|
|
@@ -201,23 +238,42 @@ const DETAIL_LABELS = {
|
|
|
201
238
|
queries: 'Queries',
|
|
202
239
|
rule: 'Rule',
|
|
203
240
|
errorCodes: 'Error codes',
|
|
204
|
-
generic: 'Generic'
|
|
241
|
+
generic: 'Generic',
|
|
242
|
+
tags: 'Tags'
|
|
205
243
|
};
|
|
206
244
|
function detailLines(fields, shown) {
|
|
207
245
|
return shown.flatMap(field => {
|
|
208
246
|
const value = fields[field];
|
|
209
247
|
if (value === undefined)
|
|
210
248
|
return [];
|
|
211
|
-
const text = field === '
|
|
212
|
-
: field === '
|
|
213
|
-
: field === '
|
|
214
|
-
:
|
|
249
|
+
const text = field === 'tags' && value.length === 0 ? 'none'
|
|
250
|
+
: field === 'errorCodes' || field === 'tags' ? value.join(', ')
|
|
251
|
+
: field === 'queries' ? JSON.stringify(value)
|
|
252
|
+
: field === 'generic' ? (value ? 'yes' : 'no')
|
|
253
|
+
: String(value);
|
|
215
254
|
return [` ${DETAIL_LABELS[field]}: ${text}`];
|
|
216
255
|
});
|
|
217
256
|
}
|
|
218
|
-
const NODE_DETAIL_FIELDS = ['resourceKey', 'queries', 'rule', 'errorCodes', 'generic'];
|
|
257
|
+
const NODE_DETAIL_FIELDS = ['resourceKey', 'queries', 'rule', 'errorCodes', 'generic', 'tags'];
|
|
258
|
+
/**
|
|
259
|
+
* Specification v1: the type of the node `id` names, which a modify or removal prints so an agent knows what the
|
|
260
|
+
* extractor can show: the type its id spells (the extractor's `<subdomain>_<abbrev>_<slug>`), else the type of the node
|
|
261
|
+
* the design proposes under it, else `unknown`.
|
|
262
|
+
*/
|
|
263
|
+
const nodeTypeOf = (design, id) => parseNodeId(id)?.type ?? (design.propose?.nodes ?? []).find(node => proposedNodeId(node) === id)?.type ?? 'unknown';
|
|
264
|
+
/** Specification v1: the id a modify gives its node: its label or subdomain set anew, when its id spells them. */
|
|
265
|
+
function modifiedIdOf(id, set) {
|
|
266
|
+
const parsed = parseNodeId(id);
|
|
267
|
+
if (parsed === undefined || (set.label === undefined && set.subdomain === undefined))
|
|
268
|
+
return id;
|
|
269
|
+
return nodeId(set.subdomain ?? parsed.subdomain, parsed.type, set.label ?? parsed.slug);
|
|
270
|
+
}
|
|
219
271
|
// F7: the design's proposals, modifies and removals, each element with the deliverables its map links serve.
|
|
220
|
-
|
|
272
|
+
// Specification v1: a modify names its node's type and, when it changes the id, the new id after `→`; a node removal
|
|
273
|
+
// names its type. The effective design is rendered (effectiveDesignOf): a modify or removal of one of the design's own
|
|
274
|
+
// proposals is folded into it, so only the modifies and removals of code remain as lines of their own.
|
|
275
|
+
function artifactsOf(replayed, replayedMap) {
|
|
276
|
+
const { design, map } = effectiveDesignOf(replayed, replayedMap);
|
|
221
277
|
const serves = (esId) => {
|
|
222
278
|
const deliverables = map.links.filter(link => link.esId === esId).map(link => nodeRef(map, link.deliverableId));
|
|
223
279
|
return deliverables.length > 0 ? `, serves ${deliverables.join(', ')}` : '';
|
|
@@ -227,9 +283,16 @@ function artifactsOf(design, map) {
|
|
|
227
283
|
return [`- ${node.type} ${node.label} in ${node.subdomain} (\`${id}\`)${serves(id)}`, ...detailLines(node, NODE_DETAIL_FIELDS)];
|
|
228
284
|
});
|
|
229
285
|
const edges = (design.propose?.edges ?? []).map(edge => `- edge \`${edge.from}\` → \`${edge.to}\` (${edge.kind}${edge.handlers === undefined ? '' : `; handlers ${edge.handlers.join(', ')}`})`);
|
|
230
|
-
const modifies = (design.modify ?? []).flatMap(entry =>
|
|
286
|
+
const modifies = (design.modify ?? []).flatMap(entry => {
|
|
287
|
+
const renamed = modifiedIdOf(entry.id, entry.set ?? {});
|
|
288
|
+
return [
|
|
289
|
+
`- modifies ${nodeTypeOf(design, entry.id)} \`${entry.id}\`${renamed === entry.id ? '' : ` → \`${renamed}\``}${serves(entry.id)}`,
|
|
290
|
+
...detailLines(entry.set ?? {}, MODIFIABLE_NODE_FIELDS),
|
|
291
|
+
...(entry.note === undefined || entry.note.trim() === '' ? [] : [` Change: ${entry.note}`])
|
|
292
|
+
];
|
|
293
|
+
});
|
|
231
294
|
const removes = (design.remove ?? []).map(entry => entry.kind === 'node'
|
|
232
|
-
? `- removes
|
|
295
|
+
? `- removes ${nodeTypeOf(design, entry.id)} \`${entry.id}\``
|
|
233
296
|
: `- removes edge \`${entry.from}\` → \`${entry.to}\` (${entry.edgeKind})`);
|
|
234
297
|
return [...nodes, ...edges, ...modifies, ...removes];
|
|
235
298
|
}
|
|
@@ -252,6 +315,9 @@ function refsOf(map, refs) {
|
|
|
252
315
|
/**
|
|
253
316
|
* F7, F8: blueprint.md, the written sections in spine order with the derived ones (decision tree, scenarios,
|
|
254
317
|
* observations, artifacts) read from the same fold, under a provenance header that prints the source seq.
|
|
318
|
+
* Specification v1: its normative parts, which an implementation agent parses, are the front matter's `key`, the
|
|
319
|
+
* `## Scenarios` (each `- <id> — <title> (<note>)` with its Given, When and Then) and the `## Artifacts` (each node and
|
|
320
|
+
* edge with its id, type and verb); every other section is prose for people.
|
|
255
321
|
*/
|
|
256
322
|
export function renderBlueprint(input) {
|
|
257
323
|
const { design, map, spec: folded } = input.replay(input.ops);
|
|
@@ -262,12 +328,13 @@ export function renderBlueprint(input) {
|
|
|
262
328
|
});
|
|
263
329
|
const tests = spec.of('testingDecisions').map(entry => bullet(entryLines(entry, entry.kind === 'tracer-bullet' ? 'Tracer bullet: ' : '')));
|
|
264
330
|
return documentOf([
|
|
331
|
+
...frontMatterOf(input.manifest),
|
|
265
332
|
...headerOf('Blueprint', input.manifest, specSourceSeq(input.ops)),
|
|
266
333
|
...section('Problem', paragraphs(spec.of('problem'))),
|
|
267
334
|
...section('Solution', paragraphs(spec.of('solution'))),
|
|
268
335
|
...section('User Stories', stories),
|
|
269
336
|
...section('Resolved decision tree', decisionTreeOf(map, spec)),
|
|
270
|
-
...section('Scenarios', scenariosOf(map)),
|
|
337
|
+
...section('Scenarios', scenariosOf(map, elementNamesOf(design))),
|
|
271
338
|
...section('Observations', observationsOf(map)),
|
|
272
339
|
...section('Implementation Decisions', bullets(spec.of('implementationDecisions'))),
|
|
273
340
|
...section('Testing Decisions', tests),
|
|
@@ -368,7 +435,8 @@ function refStruckGaps({ map, spec }) {
|
|
|
368
435
|
const ownerChangesUnreadGaps = ({ ops, agentSyncSeq }) => ops
|
|
369
436
|
.filter(op => op.author === 'human' && op.class === 'semantic' && op.seq > (agentSyncSeq ?? 0))
|
|
370
437
|
.map(op => ({ code: 'owner-changes-unread', ref: String(op.seq),
|
|
371
|
-
message: `the owner's ${op.verb} at seq ${op.seq} is past the agent's last sync; ask the design agent to fold the change`
|
|
438
|
+
message: `the owner's ${op.verb} at seq ${op.seq} is past the agent's last sync; ask the design agent to fold the change`
|
|
439
|
+
+ ' (on the board: wait for its round to finish, or press Design to start one)' }));
|
|
372
440
|
// An open question is a comment thread nobody resolved. A reply joins the thread its commentId chain roots in, as the
|
|
373
441
|
// board's buildThreads groups it (sticky-notes-board discussion-threads.ts), and the thread is open while any of its
|
|
374
442
|
// remarks is unresolved. Which comments hold it open is scaffold-core's rule, not the board's: an unresolved reaction
|