@tacuchi/agent-workflow-cli 21.5.0 → 21.7.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/dist/application/artifacts-service.js +10 -0
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/capability/design-handler.js +224 -12
- package/dist/application/capability/design-handler.js.map +1 -1
- package/dist/application/capability/dispatcher.js +20 -6
- package/dist/application/capability/dispatcher.js.map +1 -1
- package/dist/application/capability/durable-effect.js +23 -157
- package/dist/application/capability/durable-effect.js.map +1 -1
- package/dist/application/checkpoint-service.js +49 -3
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +5 -0
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/design/design-gate-service.js +18 -0
- package/dist/application/design/design-gate-service.js.map +1 -1
- package/dist/application/design/design-index-service.js +2 -0
- package/dist/application/design/design-index-service.js.map +1 -1
- package/dist/application/design/design-resolver-service.js +18 -1
- package/dist/application/design/design-resolver-service.js.map +1 -1
- package/dist/application/design/design-simple-service.js +217 -0
- package/dist/application/design/design-simple-service.js.map +1 -0
- package/dist/application/flow/advance.js +96 -11
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/flow-service.js +12 -1
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +221 -0
- package/dist/application/flow/internal-actions.js.map +1 -0
- package/dist/application/flow/internal-drive.js +293 -0
- package/dist/application/flow/internal-drive.js.map +1 -0
- package/dist/application/flow/submit.js +242 -84
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/local-proposal.js +171 -0
- package/dist/application/local-proposal.js.map +1 -0
- package/dist/application/parsers/decisiones.js +13 -0
- package/dist/application/parsers/decisiones.js.map +1 -1
- package/dist/application/paths-service.js +11 -1
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/resume-service.js +22 -26
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/semantic-operation/protocol.js +10 -2
- package/dist/application/semantic-operation/protocol.js.map +1 -1
- package/dist/application/session-artifacts.js +53 -0
- package/dist/application/session-artifacts.js.map +1 -1
- package/dist/application/session-close-service.js +5 -0
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-narrative.js +294 -0
- package/dist/application/session-narrative.js.map +1 -0
- package/dist/application/status-service.js +1 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/workline-index-service.js +2 -0
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/cli/commands/capability.js +1 -1
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/designs.js +4 -1
- package/dist/cli/commands/designs.js.map +1 -1
- package/dist/cli/commands/flow.js +14 -0
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/session-artifacts.js +55 -2
- package/dist/cli/commands/session-artifacts.js.map +1 -1
- package/dist/cli/tui/components/git-flow-actions.js +233 -15
- package/dist/cli/tui/components/git-flow-actions.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +9 -10
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/domain/design/capability.js +35 -4
- package/dist/domain/design/capability.js.map +1 -1
- package/dist/domain/design/direct.js.map +1 -1
- package/dist/domain/design/expansion.js +137 -0
- package/dist/domain/design/expansion.js.map +1 -0
- package/dist/domain/design/manifest.js +61 -8
- package/dist/domain/design/manifest.js.map +1 -1
- package/dist/domain/design/reference.js +57 -10
- package/dist/domain/design/reference.js.map +1 -1
- package/dist/domain/design/simple.js +164 -0
- package/dist/domain/design/simple.js.map +1 -0
- package/dist/domain/flow/answer.js +90 -12
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +266 -60
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/authorization.js +36 -15
- package/dist/domain/flow/authorization.js.map +1 -1
- package/dist/domain/flow/directive.js +10 -6
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/execution-result.js +72 -0
- package/dist/domain/flow/execution-result.js.map +1 -0
- package/dist/domain/flow/run-state.js +165 -13
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/host-verification.js +8 -8
- package/dist/domain/host-verification.js.map +1 -1
- package/dist/domain/proposal.js +91 -0
- package/dist/domain/proposal.js.map +1 -0
- package/dist/domain/session/narrative.js +126 -0
- package/dist/domain/session/narrative.js.map +1 -0
- package/package.json +1 -1
- package/skills/w/SKILL.md +1 -1
- package/skills/w/loops/CHASSIS.md +1 -1
- package/skills/w/loops/plan-new-loop/LOOP.md +5 -6
- package/skills/w/loops/plan-refine-loop/LOOP.md +7 -7
- package/skills/w/loops/spec-refine-loop/LOOP.md +6 -4
- package/skills/w/modules/DESIGN-REFERENCES.md +50 -56
- package/skills/w/roles/design/CONTRACT.md +73 -6
- package/skills/w/roles/design/ROLE.md +21 -3
- package/skills/w/schemas/design/design-manifest.v1.schema.json +4 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The simple route: from a title and one authored document to a published design.
|
|
3
|
+
*
|
|
4
|
+
* Everything a package administers — the identity, the folder, the revision, the
|
|
5
|
+
* digest, the manifest, the archive of the outgoing revision — is derived HERE,
|
|
6
|
+
* from facts the CLI already holds. That is the whole content of "el host no
|
|
7
|
+
* administra manifests, IDs, revisiones ni madurez": not a rule somebody follows,
|
|
8
|
+
* but a surface that never asks.
|
|
9
|
+
*
|
|
10
|
+
* Two moments, and they are deliberately apart. {@link resolveSimpleTarget} runs
|
|
11
|
+
* BEFORE anything is authored: it fixes where the document will land so the
|
|
12
|
+
* destination can travel in the request as an allowlist, which is what keeps the
|
|
13
|
+
* write boundary a property of the protocol. {@link buildSimpleProposal} runs
|
|
14
|
+
* after, over the bytes that came back, and produces the complete set of files
|
|
15
|
+
* one approval covers.
|
|
16
|
+
*/
|
|
17
|
+
import { createHash } from "node:crypto";
|
|
18
|
+
import { join } from "node:path";
|
|
19
|
+
import { DESIGNS_DIR, DESIGN_MANIFEST_FILE, DESIGN_MANIFEST_SCHEMA_ID, } from "../../domain/design/manifest.js";
|
|
20
|
+
import { SIMPLE_DESIGN_FILE, archivedDesignPath, designFolder, designSlug, nextPackageId, validateSimpleDesign, } from "../../domain/design/simple.js";
|
|
21
|
+
import { baseDigest } from "../../domain/proposal.js";
|
|
22
|
+
/**
|
|
23
|
+
* The identity and the destination, decided before a single byte is authored.
|
|
24
|
+
*
|
|
25
|
+
* `create` mints; `update` continues. The two are one route with a different
|
|
26
|
+
* compare-and-swap base, exactly as the capability contract says — so the only
|
|
27
|
+
* thing that differs here is where the folder comes from.
|
|
28
|
+
*/
|
|
29
|
+
export function resolveSimpleTarget(index, operation, inputs) {
|
|
30
|
+
if (operation === "create") {
|
|
31
|
+
const title = inputs.title ?? "";
|
|
32
|
+
if (title.trim().length === 0) {
|
|
33
|
+
return {
|
|
34
|
+
ok: false,
|
|
35
|
+
failure: {
|
|
36
|
+
code: "DESIGN_FIELD_INVALID",
|
|
37
|
+
artifact: DESIGNS_DIR,
|
|
38
|
+
message: "un diseño nuevo necesita un título",
|
|
39
|
+
action: "pasá 'title' con el nombre humano del diseño: de ahí salen la carpeta y el id",
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const packageId = nextPackageId(index.packages.map((p) => p.id ?? p.declared_id));
|
|
44
|
+
return {
|
|
45
|
+
ok: true,
|
|
46
|
+
value: {
|
|
47
|
+
packageId,
|
|
48
|
+
path: designFolder(index.root, packageId, designSlug(title)),
|
|
49
|
+
revision: 1,
|
|
50
|
+
supersedes: null,
|
|
51
|
+
manifest: null,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const id = (inputs.packageId ?? "").trim();
|
|
56
|
+
if (id.length === 0) {
|
|
57
|
+
return {
|
|
58
|
+
ok: false,
|
|
59
|
+
failure: {
|
|
60
|
+
code: "DESIGN_FIELD_INVALID",
|
|
61
|
+
artifact: DESIGNS_DIR,
|
|
62
|
+
message: "actualizar un diseño necesita la identidad del que se continúa",
|
|
63
|
+
action: "pasá 'package' con su id, por ejemplo DES-007",
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const found = index.packages.find((p) => p.id === id) ?? null;
|
|
68
|
+
if (found === null || found.manifest === null) {
|
|
69
|
+
return {
|
|
70
|
+
ok: false,
|
|
71
|
+
failure: {
|
|
72
|
+
code: "DESIGN_PACKAGE_NOT_FOUND",
|
|
73
|
+
artifact: DESIGNS_DIR,
|
|
74
|
+
message: `no hay ningún diseño ${id} legible bajo ${index.root}/`,
|
|
75
|
+
action: `revisá 'aw designs' para ver las identidades publicadas bajo ${index.root}/`,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
if (found.mode !== "simple") {
|
|
80
|
+
return {
|
|
81
|
+
ok: false,
|
|
82
|
+
failure: {
|
|
83
|
+
code: "DESIGN_FIELD_INVALID",
|
|
84
|
+
artifact: found.manifest_path,
|
|
85
|
+
message: `${id} es un package completo, no un diseño simple`,
|
|
86
|
+
action: "actualizalo por la ruta ampliada: reducirlo a un documento descartaría sus flows, screens y madurez",
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const current = found.manifest.current_baseline?.revision ?? 0;
|
|
91
|
+
return {
|
|
92
|
+
ok: true,
|
|
93
|
+
value: {
|
|
94
|
+
packageId: id,
|
|
95
|
+
path: found.path,
|
|
96
|
+
revision: current + 1,
|
|
97
|
+
supersedes: current === 0 ? null : current,
|
|
98
|
+
manifest: found.manifest,
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Every file one approval covers, from the one document a person wrote.
|
|
104
|
+
*
|
|
105
|
+
* The archive is the reason this is a SET and not a single write. A published
|
|
106
|
+
* revision pins exact bytes, so overwriting `DESIGN.md` with r2 would silently
|
|
107
|
+
* take r1 away from everything that referenced it. Copying the outgoing bytes to
|
|
108
|
+
* `revisions/DESIGN-r00N.md` inside the same sealed proposal is what keeps the
|
|
109
|
+
* readable current document AND the history the references need — and doing it
|
|
110
|
+
* in the same proposal is what keeps it from being a second, unapproved step.
|
|
111
|
+
*/
|
|
112
|
+
export async function buildSimpleProposal(fs, workspace, input) {
|
|
113
|
+
const { target } = input;
|
|
114
|
+
const documentPath = `${target.path}/${SIMPLE_DESIGN_FILE}`;
|
|
115
|
+
const parsed = validateSimpleDesign(input.document, documentPath);
|
|
116
|
+
if (!parsed.ok || parsed.value === null)
|
|
117
|
+
return { ok: false, failures: parsed.failures };
|
|
118
|
+
const digest = `sha256:${createHash("sha256").update(input.document, "utf8").digest("hex")}`;
|
|
119
|
+
const artifacts = [];
|
|
120
|
+
// The outgoing revision first: it has to exist at its archived path before the
|
|
121
|
+
// manifest starts saying that is where it lives.
|
|
122
|
+
if (target.supersedes !== null && target.manifest !== null) {
|
|
123
|
+
const previousAbs = join(workspace, documentPath);
|
|
124
|
+
if (!(await fs.exists(previousAbs))) {
|
|
125
|
+
return {
|
|
126
|
+
ok: false,
|
|
127
|
+
failures: [
|
|
128
|
+
{
|
|
129
|
+
code: "DESIGN_REFERENCE_FILE_MISSING",
|
|
130
|
+
artifact: documentPath,
|
|
131
|
+
message: `el manifest de ${target.packageId} dice que r${target.supersedes} vive en '${documentPath}' y ese archivo no está`,
|
|
132
|
+
action: "restauralo antes de publicar la revisión siguiente: sin él se perdería",
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
artifacts.push({
|
|
138
|
+
path: `${target.path}/${archivedDesignPath(target.supersedes)}`,
|
|
139
|
+
content: await fs.readText(previousAbs),
|
|
140
|
+
overwrite: false,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
artifacts.push({
|
|
144
|
+
path: documentPath,
|
|
145
|
+
content: input.document,
|
|
146
|
+
overwrite: target.supersedes !== null,
|
|
147
|
+
});
|
|
148
|
+
const manifest = nextManifest(target, parsed.value.title, digest, input.published);
|
|
149
|
+
artifacts.push({
|
|
150
|
+
path: `${target.path}/${DESIGN_MANIFEST_FILE}`,
|
|
151
|
+
content: `${JSON.stringify(manifest, null, 2)}\n`,
|
|
152
|
+
overwrite: target.manifest !== null,
|
|
153
|
+
});
|
|
154
|
+
return {
|
|
155
|
+
ok: true,
|
|
156
|
+
value: {
|
|
157
|
+
artifacts,
|
|
158
|
+
base: await manifestBase(fs, workspace, target),
|
|
159
|
+
digest,
|
|
160
|
+
revision: target.revision,
|
|
161
|
+
packageId: target.packageId,
|
|
162
|
+
title: parsed.value.title,
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* The manifest after this publication.
|
|
168
|
+
*
|
|
169
|
+
* Every baseline already published keeps its digest and only moves its `path` to
|
|
170
|
+
* the archive: the digest is the identity of a revision and the path is where it
|
|
171
|
+
* happens to be, so repointing one is a re-index and never a rewrite of history.
|
|
172
|
+
*/
|
|
173
|
+
function nextManifest(target, title, digest, published) {
|
|
174
|
+
const previous = target.manifest;
|
|
175
|
+
const baselines = (previous?.baselines ?? []).map((b) => ({
|
|
176
|
+
...b,
|
|
177
|
+
path: archivedDesignPath(b.revision),
|
|
178
|
+
}));
|
|
179
|
+
baselines.push({
|
|
180
|
+
revision: target.revision,
|
|
181
|
+
path: SIMPLE_DESIGN_FILE,
|
|
182
|
+
digest,
|
|
183
|
+
parent_baseline: target.supersedes === null ? null : `${target.packageId}@r${target.supersedes}`,
|
|
184
|
+
published,
|
|
185
|
+
});
|
|
186
|
+
return {
|
|
187
|
+
schema: previous?.schema ?? DESIGN_MANIFEST_SCHEMA_ID,
|
|
188
|
+
id: target.packageId,
|
|
189
|
+
mode: "simple",
|
|
190
|
+
title,
|
|
191
|
+
created: previous?.created ?? published,
|
|
192
|
+
derived_from: previous?.derived_from ?? null,
|
|
193
|
+
current_baseline: { revision: target.revision, path: SIMPLE_DESIGN_FILE, digest },
|
|
194
|
+
baselines,
|
|
195
|
+
catalog: { flows: [], screens: [], rules: [], tokens: [], renditions: [], assets: [] },
|
|
196
|
+
currentness: [],
|
|
197
|
+
governance: previous?.governance ?? { reviews: [], revocations: [] },
|
|
198
|
+
relations: previous?.relations ?? { specs: [], plans: [] },
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* The compare-and-swap base: the manifest as it stood when this was computed.
|
|
203
|
+
*
|
|
204
|
+
* Null for a brand-new design — there is nothing to have moved. The publication
|
|
205
|
+
* of a first revision is protected by its destinations not existing, which
|
|
206
|
+
* `applyLocalProposal` enforces through `overwrite: false`.
|
|
207
|
+
*/
|
|
208
|
+
async function manifestBase(fs, workspace, target) {
|
|
209
|
+
if (target.manifest === null)
|
|
210
|
+
return null;
|
|
211
|
+
const path = `${target.path}/${DESIGN_MANIFEST_FILE}`;
|
|
212
|
+
const absolute = join(workspace, path);
|
|
213
|
+
if (!(await fs.exists(absolute)))
|
|
214
|
+
return null;
|
|
215
|
+
return { path, digest: baseDigest(await fs.readText(absolute)) };
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=design-simple-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"design-simple-service.js","sourceRoot":"","sources":["../../../src/application/design/design-simple-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* here a transition advances the run's position and nothing else. That is why the
|
|
25
25
|
* registry — not this file — is where a new transition is added.
|
|
26
26
|
*/
|
|
27
|
-
import { DOCS_BOUNDARY, actionOf, alternativesOf, effectsOf, } from "../../domain/flow/authority.js";
|
|
27
|
+
import { DOCS_BOUNDARY, actionOf, alternativesOf, effectsOf, internalActionOf, proposalContractOf, publishApprovalOf, } from "../../domain/flow/authority.js";
|
|
28
28
|
import { authorizeTransition, effectApprovalDigest, } from "../../domain/flow/authorization.js";
|
|
29
29
|
import { PAUSE_LABEL, STOP_LABEL, buildFlowDirective, skippedStepOf, stepOf, } from "../../domain/flow/directive.js";
|
|
30
30
|
import { bindAction, docsBoundaryBreach, skipReason } from "../../domain/flow/rules.js";
|
|
@@ -87,7 +87,9 @@ function walk(from, journey) {
|
|
|
87
87
|
// A condition that did not fire, or a boundary this run has already tried as
|
|
88
88
|
// often as it may. Both pass over the step and both say why — the trace has
|
|
89
89
|
// to distinguish "never happened" from "was given up on".
|
|
90
|
-
const skipped = skipReason(decision, journey, state.observations) ??
|
|
90
|
+
const skipped = skipReason(decision, journey, state.observations) ??
|
|
91
|
+
nothingToPublish(state, decision) ??
|
|
92
|
+
exhaustionSkip(state, decision);
|
|
91
93
|
if (skipped !== null) {
|
|
92
94
|
state = skipTransition(state, decision.id);
|
|
93
95
|
applied.push(skippedStepOf(decision, skipped));
|
|
@@ -97,8 +99,10 @@ function walk(from, journey) {
|
|
|
97
99
|
break;
|
|
98
100
|
if (!owned(decision))
|
|
99
101
|
break;
|
|
100
|
-
if (authorizeTransition(decision, state.authorizations).missing
|
|
102
|
+
if (authorizeTransition(decision, state.authorizations, subjectOf(state, decision)).missing
|
|
103
|
+
.length > 0) {
|
|
101
104
|
break;
|
|
105
|
+
}
|
|
102
106
|
if (actionOf(decision) !== null)
|
|
103
107
|
break;
|
|
104
108
|
state = applyTransition(state, decision.id, effectsOf(decision));
|
|
@@ -221,6 +225,22 @@ function exhausted(state, decision) {
|
|
|
221
225
|
function owned(decision) {
|
|
222
226
|
return decision.ownership === "cli-owned";
|
|
223
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* A publication with nothing to publish is passed over, never asked about.
|
|
230
|
+
*
|
|
231
|
+
* This is what makes `Refinar` cost nothing. Declining clears the proposal, and a
|
|
232
|
+
* publish row that then stopped would ask the person to authorize an overwrite
|
|
233
|
+
* for bytes they just declined — the exact second question this contract removes,
|
|
234
|
+
* reappearing on the path where it makes least sense. Skipping it says out loud
|
|
235
|
+
* that nothing was written, which a silent advance would not.
|
|
236
|
+
*/
|
|
237
|
+
function nothingToPublish(state, decision) {
|
|
238
|
+
if (internalActionOf(decision)?.operation !== "proposal.publish")
|
|
239
|
+
return null;
|
|
240
|
+
if (state.proposal !== null)
|
|
241
|
+
return null;
|
|
242
|
+
return "no quedó ninguna propuesta aprobada: no se escribió nada";
|
|
243
|
+
}
|
|
224
244
|
/**
|
|
225
245
|
* Why an exhausted boundary is passed over — or `null` when it must not be.
|
|
226
246
|
*
|
|
@@ -243,8 +263,10 @@ function exhaustionSkip(state, decision) {
|
|
|
243
263
|
return null;
|
|
244
264
|
if (actionOf(decision) !== null)
|
|
245
265
|
return null;
|
|
246
|
-
if (authorizeTransition(decision, state.authorizations).missing.length >
|
|
266
|
+
if (authorizeTransition(decision, state.authorizations, subjectOf(state, decision)).missing.length >
|
|
267
|
+
0) {
|
|
247
268
|
return null;
|
|
269
|
+
}
|
|
248
270
|
return `agotó sus ${MAX_BOUNDARY_ATTEMPTS} intentos: ${DEGRADE_ACTION}`;
|
|
249
271
|
}
|
|
250
272
|
/** The `docs/` folders a flow may write, said the way a person reads it. */
|
|
@@ -262,6 +284,7 @@ export function resolveBoundary(state, journey) {
|
|
|
262
284
|
authorization: null,
|
|
263
285
|
request: null,
|
|
264
286
|
action: null,
|
|
287
|
+
proposal: null,
|
|
265
288
|
choices: [],
|
|
266
289
|
pending,
|
|
267
290
|
seal: boundarySeal(state, null),
|
|
@@ -269,13 +292,20 @@ export function resolveBoundary(state, journey) {
|
|
|
269
292
|
};
|
|
270
293
|
}
|
|
271
294
|
const emitted = emittedAction(state, stopped);
|
|
295
|
+
// The standing proposal belongs to the boundary that DECIDES it and to the one
|
|
296
|
+
// that PUBLISHES it, and to no other: a row unrelated to the proposal must not
|
|
297
|
+
// inherit its scope into the authorization verdict, which is the whole point of
|
|
298
|
+
// sealing the grant.
|
|
299
|
+
const subject = subjectOf(state, stopped);
|
|
272
300
|
// Computed for `cli` rows only, which is where every row that really writes or
|
|
273
301
|
// runs lives today (13 of them, all `cli`). The day a row with authority `agent`
|
|
274
302
|
// or `human` declares a non-self-authorizable effect, this condition is the
|
|
275
303
|
// thing to revisit — and the ORDER is the open question there: approving a write
|
|
276
304
|
// before the agent has produced what gets written is not obviously right, so
|
|
277
305
|
// whichever phase introduces such a row decides it instead of inheriting it.
|
|
278
|
-
const authorization = stopped.authority === "cli"
|
|
306
|
+
const authorization = stopped.authority === "cli"
|
|
307
|
+
? authorizeTransition(stopped, state.authorizations, subject)
|
|
308
|
+
: null;
|
|
279
309
|
// A cause that blocks outranks all of it: the boundary that says "nothing can
|
|
280
310
|
// continue and here is why" is never worth degrading into a question nobody can
|
|
281
311
|
// answer.
|
|
@@ -287,12 +317,48 @@ export function resolveBoundary(state, journey) {
|
|
|
287
317
|
authorization,
|
|
288
318
|
request: kind === "semantic" ? boundaryRequest(stopped, state) : null,
|
|
289
319
|
action: kind === "execution" ? emitted.action : null,
|
|
320
|
+
proposal: subject === null ? null : previewOfState(state),
|
|
290
321
|
choices: choicesFor(kind, stopped, authorization),
|
|
291
322
|
pending,
|
|
292
323
|
seal: boundarySeal(state, stopped),
|
|
293
324
|
error: blocked,
|
|
294
325
|
};
|
|
295
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* The proposal this transition is about, or `null` when it is about none.
|
|
329
|
+
*
|
|
330
|
+
* Two rows qualify and they are the two halves of one decision: the human row
|
|
331
|
+
* that shows the preview and grants, and the `cli` row that writes it. Anything
|
|
332
|
+
* else standing while a proposal is seated gets `null`, so an unrelated step
|
|
333
|
+
* cannot borrow the proposal's scope — or its grant.
|
|
334
|
+
*/
|
|
335
|
+
function subjectOf(state, stopped) {
|
|
336
|
+
const proposal = state.proposal;
|
|
337
|
+
if (proposal === null)
|
|
338
|
+
return null;
|
|
339
|
+
const decides = publishApprovalOf(stopped) !== null;
|
|
340
|
+
const publishes = internalActionOf(stopped)?.operation === "proposal.publish";
|
|
341
|
+
if (!decides && !publishes)
|
|
342
|
+
return null;
|
|
343
|
+
return { digest: proposal.digest, scope: proposal.scope, effects: proposal.effects };
|
|
344
|
+
}
|
|
345
|
+
/** What a transition really exercises: its sealed proposal's effects, or its own. */
|
|
346
|
+
export function effectsOfTransition(state, decision) {
|
|
347
|
+
return subjectOf(state, decision)?.effects ?? effectsOf(decision);
|
|
348
|
+
}
|
|
349
|
+
/** The preview the boundary carries: destinations and effects, never the bytes. */
|
|
350
|
+
function previewOfState(state) {
|
|
351
|
+
const proposal = state.proposal;
|
|
352
|
+
if (proposal === null)
|
|
353
|
+
return null;
|
|
354
|
+
return {
|
|
355
|
+
digest: proposal.digest,
|
|
356
|
+
preview: proposal.preview,
|
|
357
|
+
effects: proposal.effects,
|
|
358
|
+
requires_approval: proposal.requires_approval,
|
|
359
|
+
scope: proposal.scope,
|
|
360
|
+
};
|
|
361
|
+
}
|
|
296
362
|
/**
|
|
297
363
|
* Which boundary a stopped transition is, in the one order that holds.
|
|
298
364
|
*
|
|
@@ -380,7 +446,8 @@ export function directiveFor(state, resolved, appliedNow, overrides = {}) {
|
|
|
380
446
|
request: resolved.request,
|
|
381
447
|
action: resolved.action,
|
|
382
448
|
choices: resolved.choices,
|
|
383
|
-
|
|
449
|
+
proposal: resolved.proposal,
|
|
450
|
+
authorizations: resolved.authorization?.covered ?? [],
|
|
384
451
|
// The cause of a block travels with the boundary that declares it: a
|
|
385
452
|
// `blocked` directive without its error is refused at construction.
|
|
386
453
|
error: resolved.error,
|
|
@@ -402,21 +469,39 @@ export function directiveFor(state, resolved, appliedNow, overrides = {}) {
|
|
|
402
469
|
*
|
|
403
470
|
* It reuses the existing `SemanticRequest` whole — contract, staleness seal,
|
|
404
471
|
* allowed destinations, limits and a visible `read_set` so the cost is auditable
|
|
405
|
-
* — instead of inventing a second envelope. A flow boundary asks for a
|
|
406
|
-
* not for files,
|
|
472
|
+
* — instead of inventing a second envelope. A flow boundary normally asks for a
|
|
473
|
+
* judgment, not for files, and then it declares no writable destination at all.
|
|
474
|
+
*
|
|
475
|
+
* An AUTHORING row is the exception, and its destinations are not a courtesy:
|
|
476
|
+
* they are the write boundary, enforced by the protocol's own path check, so a
|
|
477
|
+
* proposal that reaches outside the folders the row declared never gets sealed —
|
|
478
|
+
* let alone approved.
|
|
407
479
|
*/
|
|
408
480
|
export function boundaryRequest(decision, state) {
|
|
409
481
|
const vocabulary = decision.signals ?? [];
|
|
482
|
+
const proposes = proposalContractOf(decision);
|
|
410
483
|
const taxonomy = vocabulary.length === 0
|
|
411
484
|
? "Esta frontera no admite señales: contestá en 'decisions' lo que el contrato pide."
|
|
412
485
|
: `Declarás en 'signals' solo las que observás, de este vocabulario cerrado: ${vocabulary.join(", ")}. Una señal fuera de él no avanza el recorrido. El umbral sobre las señales lo aplica el CLI, no vos.`;
|
|
486
|
+
// What the authoring row asks for, said once: the exact bytes. Everything the
|
|
487
|
+
// handshake needs afterwards — el sello, la vista previa, el grant, la escritura
|
|
488
|
+
// atómica y el índice — lo deriva el CLI, y decirlo acá es lo que evita que el
|
|
489
|
+
// host se ponga a construir digests o referencias por su cuenta.
|
|
490
|
+
const authoring = proposes === null
|
|
491
|
+
? ""
|
|
492
|
+
: ` Devolvé en 'artifacts' los bytes exactos que hay que escribir, cada uno con su 'path' dentro de ${proposes.destinations.join(", ")}. El CLI sella la propuesta, la muestra como vista previa y la escribe entera o no la escribe: vos no armás digests, envelopes ni referencias.`;
|
|
413
493
|
return buildSemanticRequest({
|
|
414
494
|
operation: `flow.${decision.id}`,
|
|
415
495
|
inputs: boundaryInputs(state, decision),
|
|
416
|
-
contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera. ${taxonomy} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
|
|
496
|
+
contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera. ${taxonomy}${authoring} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
|
|
417
497
|
inventory: { flow: state.flow, applied: state.applied, signals: vocabulary },
|
|
418
|
-
allowedDestinations: [],
|
|
419
|
-
limits:
|
|
498
|
+
allowedDestinations: proposes === null ? [] : [...proposes.destinations],
|
|
499
|
+
limits: proposes === null
|
|
500
|
+
? { max_artifacts: 0, max_artifact_bytes: 0 }
|
|
501
|
+
: {
|
|
502
|
+
max_artifacts: proposes.limits.maxArtifacts,
|
|
503
|
+
max_artifact_bytes: proposes.limits.maxArtifactBytes,
|
|
504
|
+
},
|
|
420
505
|
readSet: [decision.document],
|
|
421
506
|
readSetBytes: 0,
|
|
422
507
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/application/flow/advance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/application/flow/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EACL,aAAa,EAGb,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAGL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAML,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,MAAM,GACP,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAEL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,oBAAoB,EACpB,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAoB5D,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAEnE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,MAAM,UAAU,GAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7E,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,+EAA+E;IAC/E,+BAA+B;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC5D,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;IACjD,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,+CAA+C;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7D,KAAK,GAAG,iBAAiB,CACvB,KAAK,EACL,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAClC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAC9D,CAAC;IACF,OAAO,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,IAAI,CACX,IAAkB,EAClB,OAAgC;IAEhC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM;QAClC,6EAA6E;QAC7E,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,OAAO,GACX,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;YACjD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;YACjC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK;YAAE,MAAM;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM;QAC5B,IACE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO;aACpF,MAAM,GAAG,CAAC,EACb,CAAC;YACD,MAAM;QACR,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,MAAM;QACvC,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO;QAClC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QAChC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;QAC9B,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAmCD,4EAA4E;AAC5E,SAAS,UAAU,CAAC,KAAmB;IACrC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAC9F,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,KAAmB,EACnB,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,OAAO,KAAK,IAAI;QACrB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;QACxD,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,YAAY,CACnB,KAAmB,EACnB,OAAqB,EACrB,OAA2D;IAE3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,2EAA2E;YAClG,MAAM,EACJ,0KAA0K;SAC7K,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,iBAAiB,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,OAAO,qCAAqC;YACxG,MAAM,EACJ,8FAA8F;SACjG,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,iBAAiB,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,OAAO,eAAe,KAAK,CAAC,IAAI,kCAAkC;YAC9H,MAAM,EAAE,+BAA+B,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,+FAA+F;SACpK,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9B,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,oBAAoB;QACpB,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,eAAe,qBAAqB,mEAAmE;YAC9H,MAAM,EAAE,UAAU;gBAChB,CAAC,CAAC,GAAG,cAAc,4FAA4F;gBAC/G,CAAC,CAAC,GAAG,cAAc,sJAAsJ;SAC5K,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,MAAM,cAAc,GAClB,oLAAoL,CAAC;AAEvL,2EAA2E;AAC3E,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAsB;IAC5D,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,qBAAqB,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,KAAK,CAAC,QAAsB;IACnC,OAAO,QAAQ,CAAC,SAAS,KAAK,WAAW,CAAC;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,KAAmB,EAAE,QAAsB;IACnE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,SAAS,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAC9E,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,0DAA0D,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,cAAc,CAAC,KAAmB,EAAE,QAAsB;IACjE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7C,IACE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;QAC9F,CAAC,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,aAAa,qBAAqB,cAAc,cAAc,EAAE,CAAC;AAC1E,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,IAA0B;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,OAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;YACb,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,OAAO;YACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/B,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,qBAAqB;IACrB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,+EAA+E;IAC/E,iFAAiF;IACjF,4EAA4E;IAC5E,iFAAiF;IACjF,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,aAAa,GACjB,OAAO,CAAC,SAAS,KAAK,KAAK;QACzB,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC;QAC7D,CAAC,CAAC,IAAI,CAAC;IACX,8EAA8E;IAC9E,gFAAgF;IAChF,UAAU;IACV,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GACR,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,OAAO;QACL,OAAO;QACP,IAAI;QACJ,aAAa;QACb,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QACrE,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACpD,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;QACzD,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC;QACjD,OAAO;QACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,KAAmB,EAAE,OAAqB;IAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,kBAAkB,CAAC;IAC9E,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AACvF,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,QAAsB;IAEtB,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc,CAAC,KAAmB;IACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,YAAY,CAAC,OAAqB,EAAE,YAAqB;IAChE,IAAI,YAAY;QAAE,OAAO,eAAe,CAAC;IACzC,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IACrD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,KAAmB,EAAE,OAA4B;IAC5E,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,KAAmB,EACnB,OAA4B;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO;QACL,yEAAyE;QACzE,4EAA4E;QAC5E,qDAAqD;QACrD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;QAC5B,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI;QAC/B,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAC1B,KAAmB,EACnB,QAA0B,EAC1B,UAA+B,EAC/B,YAAkE,EAAE;IAEpE,MAAM,QAAQ,GACZ,QAAQ,CAAC,OAAO,KAAK,IAAI;QACvB,CAAC,CAAC;YACE,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf;QACH,CAAC,CAAC;YACE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;YACrC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;YACrC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC7B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;SACpC,CAAC;IACR,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;QACR,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;QACvF,WAAW,EAAE,QAAQ,CAAC,IAAI;QAC1B,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,cAAc,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE;QACrD,qEAAqE;QACrE,oEAAoE;QACpE,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,8EAA8E;QAC9E,wDAAwD;QACxD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7D,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;SAC/B;QACD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACtE,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsB,EAAE,KAAmB;IACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,UAAU,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,6EAA6E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,uGAAuG,CAAC;IAChN,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,iEAAiE;IACjE,MAAM,SAAS,GACb,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,oGAAoG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gJAAgJ,CAAC;IAC3R,OAAO,oBAAoB,CAAC;QAC1B,SAAS,EAAE,QAAQ,QAAQ,CAAC,EAAE,EAAE;QAChC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QACvC,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,0EAA0E,QAAQ,GAAG,SAAS,+KAA+K;QACxS,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;QAC5E,mBAAmB,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;QACxE,MAAM,EACJ,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE;YAC7C,CAAC,CAAC;gBACE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;gBAC3C,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB;aACrD;QACP,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5B,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,OAAO;QACL;YACE,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,uGAAuG;YACzG,WAAW,EAAE,KAAK;SACnB;QACD;YACE,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,QAAQ,IAAI,0EAA0E;YACxF,WAAW,EAAE,KAAK;SACnB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,QAAsB;IAC1C,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GACX,GAAG,KAAK,IAAI;QACV,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,YAAY,QAAQ,CAAC,KAAK,kCAAkC;gBACzE,WAAW,EAAE,IAAI;aAClB;SACF;QACH,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,QAAsB,EACtB,aAAsC;IAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO;QACL;YACE,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,IAAI,QAAQ,CAAC,KAAK,YAAY,OAAO,uEAAuE;YACzH,WAAW,EAAE,IAAI;SAClB;QACD,GAAG,kBAAkB,CACnB,gBAAgB,OAAO,uDAAuD,CAC/E;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,IAAsB,EACtB,OAAqB,EACrB,YAA4C;IAE5C,IAAI,IAAI,KAAK,eAAe,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,QAAsB,EAAE,QAA0B;IACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,8CAA8C,CAAC;IAC5E,MAAM,MAAM,GAAG,yDAAyD,CAAC;IACzE,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,GAAG,MAAM,kDAAkD,OAAO,CAAC,KAAK,GAAG,CAAC;QACrF,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,4EAA4E;YAC5E,4EAA4E;YAC5E,4EAA4E;YAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YAC1E,OAAO,GAAG,MAAM,mBAAmB,MAAM,iBAAiB,OAAO,UAAU,OAAO,CAAC,KAAK,GAAG,CAAC;QAC9F,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,qEAAqE;YACrE,4EAA4E;YAC5E,4EAA4E;YAC5E,iCAAiC;YACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,IAAI,GACR,MAAM,KAAK,IAAI;gBACb,CAAC,CAAC,OAAO,CAAC,EAAE;gBACZ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC;YACvE,OAAO,YAAY,IAAI,QAAQ,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,qBAAqB,MAAM,MAAM,kFAAkF,QAAQ,uDAAuD,CAAC;QACjP,CAAC;QACD;YACE,OAAO,0BAA0B,OAAO,CAAC,KAAK,sCAAsC,CAAC;IACzF,CAAC;AACH,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { newRunState } from "../../domain/flow/run-state.js";
|
|
|
10
10
|
import { WORKLINE_FLOWS } from "../capability/compose.js";
|
|
11
11
|
import { resolveSessionTarget } from "../session-resolver.js";
|
|
12
12
|
import { advanceFlowRun } from "./advance.js";
|
|
13
|
+
import { driveInternalActions } from "./internal-drive.js";
|
|
13
14
|
import { applyUnderLock, locateRun } from "./run-state-service.js";
|
|
14
15
|
export async function advanceFlow(fs, paths, input) {
|
|
15
16
|
// A write path: a closed line is never advanced by accident, and nothing is
|
|
@@ -38,7 +39,17 @@ export async function advanceFlow(fs, paths, input) {
|
|
|
38
39
|
}, { allowAbsent: input.adopt });
|
|
39
40
|
if (!applied.ok)
|
|
40
41
|
return { ok: false, failure: applied.failure };
|
|
41
|
-
|
|
42
|
+
// Deciding stopped at the first delegated step; executing continues past every
|
|
43
|
+
// one of them this process owns. Two calls and not one loop, because the walk is
|
|
44
|
+
// pure and the execution is not.
|
|
45
|
+
const driven = await driveInternalActions(fs, location, input.executor, {
|
|
46
|
+
ok: true,
|
|
47
|
+
state: applied.state,
|
|
48
|
+
value: applied.value,
|
|
49
|
+
});
|
|
50
|
+
if (!driven.ok)
|
|
51
|
+
return { ok: false, failure: driven.failure };
|
|
52
|
+
return { ok: true, directive: driven.value };
|
|
42
53
|
}
|
|
43
54
|
/**
|
|
44
55
|
* The state a legacy session gets when it is adopted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-service.js","sourceRoot":"","sources":["../../../src/application/flow/flow-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAqB,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAA+B,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"flow-service.js","sourceRoot":"","sources":["../../../src/application/flow/flow-service.ts"],"names":[],"mappings":"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"}
|