@sublang/playbook 15.0.0 → 16.0.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/README.md +1 -1
- package/docs/embedding.md +9 -7
- package/package.json +3 -1
- package/reference/sdlc/branch.playbook/branch.fsm.d.ts +63 -33
- package/reference/sdlc/branch.playbook/branch.fsm.js +190 -108
- package/reference/sdlc/branch.playbook/branch.fsm.ts +269 -147
- package/reference/sdlc/branch.playbook/branch.gears.md +7 -17
- package/reference/sdlc/branch.playbook/branch.playbook.d.ts +12 -16
- package/reference/sdlc/branch.playbook/branch.playbook.js +112 -101
- package/reference/sdlc/branch.playbook/branch.playbook.ts +128 -171
- package/reference/sdlc/branch.playbook/branch.registry.d.ts +3 -2
- package/reference/sdlc/branch.playbook/branch.registry.ts +6 -2
- package/reference/sdlc/code.playbook/bin/repository-effects.js +54 -13
- package/reference/sdlc/code.playbook/code.fsm.d.ts +143 -90
- package/reference/sdlc/code.playbook/code.fsm.introspect.d.ts +8 -8
- package/reference/sdlc/code.playbook/code.fsm.introspect.ts +13 -13
- package/reference/sdlc/code.playbook/code.fsm.js +609 -649
- package/reference/sdlc/code.playbook/code.fsm.ts +890 -821
- package/reference/sdlc/code.playbook/code.gears.md +39 -29
- package/reference/sdlc/code.playbook/code.playbook.d.ts +13 -16
- package/reference/sdlc/code.playbook/code.playbook.js +166 -147
- package/reference/sdlc/code.playbook/code.playbook.ts +180 -229
- package/reference/sdlc/code.playbook/code.registry.d.ts +3 -2
- package/reference/sdlc/code.playbook/code.registry.ts +6 -2
- package/reference/sdlc/code.playbook/playbook-captain.d.ts +42 -0
- package/reference/sdlc/code.playbook/playbook-captain.js +829 -194
- package/reference/sdlc/code.playbook/playbook-captain.ts +1227 -220
- package/reference/sdlc/decide.md +1 -0
- package/reference/sdlc/decide.playbook/decide.fsm.d.ts +270 -154
- package/reference/sdlc/decide.playbook/decide.fsm.js +765 -732
- package/reference/sdlc/decide.playbook/decide.fsm.ts +1167 -945
- package/reference/sdlc/decide.playbook/decide.gears.md +28 -21
- package/reference/sdlc/decide.playbook/decide.playbook.d.ts +11 -67
- package/reference/sdlc/decide.playbook/decide.playbook.js +155 -3570
- package/reference/sdlc/decide.playbook/decide.playbook.ts +186 -5061
- package/reference/sdlc/decide.playbook/decide.registry.d.ts +8 -4
- package/reference/sdlc/decide.playbook/decide.registry.js +2 -2
- package/reference/sdlc/decide.playbook/decide.registry.ts +13 -6
- package/reference/sdlc/dev.playbook/dev.fsm.d.ts +113 -131
- package/reference/sdlc/dev.playbook/dev.fsm.js +517 -575
- package/reference/sdlc/dev.playbook/dev.fsm.ts +667 -787
- package/reference/sdlc/dev.playbook/dev.gears.md +52 -54
- package/reference/sdlc/dev.playbook/dev.playbook.d.ts +13 -10
- package/reference/sdlc/dev.playbook/dev.playbook.js +128 -120
- package/reference/sdlc/dev.playbook/dev.playbook.ts +143 -193
- package/reference/sdlc/dev.playbook/dev.registry.d.ts +3 -2
- package/reference/sdlc/dev.playbook/dev.registry.ts +6 -2
- package/reference/sdlc/pr.playbook/pr.fsm.d.ts +92 -85
- package/reference/sdlc/pr.playbook/pr.fsm.js +461 -518
- package/reference/sdlc/pr.playbook/pr.fsm.ts +533 -663
- package/reference/sdlc/pr.playbook/pr.gears.md +47 -63
- package/reference/sdlc/pr.playbook/pr.playbook.d.ts +13 -23
- package/reference/sdlc/pr.playbook/pr.playbook.js +118 -112
- package/reference/sdlc/pr.playbook/pr.playbook.ts +136 -190
- package/reference/sdlc/pr.playbook/pr.registry.d.ts +3 -2
- package/reference/sdlc/pr.playbook/pr.registry.ts +4 -2
- package/reference/sdlc/review.md +3 -3
- package/reference/sdlc/review.playbook/review.fsm.d.ts +150 -116
- package/reference/sdlc/review.playbook/review.fsm.js +479 -550
- package/reference/sdlc/review.playbook/review.fsm.ts +717 -662
- package/reference/sdlc/review.playbook/review.gears.md +32 -29
- package/reference/sdlc/review.playbook/review.playbook.d.ts +12 -12
- package/reference/sdlc/review.playbook/review.playbook.js +180 -155
- package/reference/sdlc/review.playbook/review.playbook.ts +190 -230
- package/reference/sdlc/review.playbook/review.registry.d.ts +6 -5
- package/reference/sdlc/review.playbook/review.registry.js +3 -3
- package/reference/sdlc/review.playbook/review.registry.ts +9 -5
- package/slc/gears2fsm.md +72 -3
- package/slc/link.md +50 -27
- package/slc/materialize-link.mjs +51 -13
- package/slc/optimize.md +4 -1
- package/slc/prefix-prompts.mjs +191 -0
- package/slc/prefix.md +203 -0
- package/slc/slc.pin-inputs.json +11 -1
- package/slc/text2gears.md +71 -11
- package/src/xstate-playbook-runtime.d.ts +82 -9
- package/src/xstate-playbook-runtime.js +1224 -283
- package/src/xstate-playbook-runtime.ts +1671 -338
- package/src/xstate-runtime.d.ts +3 -1
- package/src/xstate-runtime.js +9 -2
- package/src/xstate-runtime.ts +12 -2
package/reference/sdlc/decide.md
CHANGED
|
@@ -56,6 +56,7 @@ After Coder commits, Captain shall call playbook `review` with the following inp
|
|
|
56
56
|
|
|
57
57
|
> Original intent: \<caller-topic\>
|
|
58
58
|
> Review scope: the `decide`-owned commit \<decide-commit\> and its resulting repository state.
|
|
59
|
+
> Coder's independent proposal: \<coder-proposal\>
|
|
59
60
|
> Coder output: \<coder-output\>
|
|
60
61
|
|
|
61
62
|
`decide` is complete only when `review` returns a result that applies to the supplied review scope, gives the exact evaluated repository revision, and affirmatively establishes that no unsettled findings remain.
|
|
@@ -1,133 +1,212 @@
|
|
|
1
|
+
import type { PlaybookCallResult } from '@sublang/playbook/runtime';
|
|
1
2
|
export type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
|
|
2
3
|
readonly [key: string]: JsonValue;
|
|
3
4
|
};
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export interface CompactError {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly message: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ErrorRecord {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly message: string;
|
|
12
|
+
readonly stack?: string;
|
|
13
|
+
}
|
|
14
|
+
/** Canonical lowercase local ids of the source roles Coder and Reviewer. */
|
|
15
|
+
export type DecideRoleId = 'coder' | 'reviewer';
|
|
16
|
+
export type DecideSourceItem = 'DECIDE-1' | 'DECIDE-2' | 'DECIDE-3' | 'DECIDE-4';
|
|
17
|
+
/** Delegated-player working leaves; each is its own Boss-reply resume target. */
|
|
18
|
+
export type ResumableStateId = 'askCoderProposal' | 'askReviewerProposal' | 'synthesizeCommit';
|
|
19
|
+
/**
|
|
20
|
+
* Root `BOSS_INTERRUPT` targets: the parallel proposal pair as one jumpable
|
|
21
|
+
* unit (DECIDE-1, DECIDE-2), and the synthesis leaf (DECIDE-3). Branch working
|
|
22
|
+
* leaves and waits are never interrupt targets.
|
|
23
|
+
*/
|
|
24
|
+
export type JumpableStateId = 'independentProposals' | 'synthesizeCommit';
|
|
25
|
+
/**
|
|
26
|
+
* One role-id array per parallel group, in first-item source order; the inner
|
|
27
|
+
* array follows the `independent-proposals` item order (DECIDE-1, DECIDE-2).
|
|
28
|
+
*/
|
|
29
|
+
export declare const concurrentRoleSets: readonly (readonly DecideRoleId[])[];
|
|
30
|
+
/** The literal nested-call target of DECIDE-4. */
|
|
31
|
+
declare const REVIEW_PLAYBOOK_ID: "review";
|
|
8
32
|
export interface PendingBossQuestion {
|
|
9
|
-
questionId: ResumableStateId;
|
|
10
|
-
resumeStateId: ResumableStateId;
|
|
11
|
-
sourceItem:
|
|
12
|
-
asker: {
|
|
13
|
-
kind: 'role';
|
|
14
|
-
roleId:
|
|
33
|
+
readonly questionId: ResumableStateId;
|
|
34
|
+
readonly resumeStateId: ResumableStateId;
|
|
35
|
+
readonly sourceItem: 'DECIDE-1' | 'DECIDE-2' | 'DECIDE-3';
|
|
36
|
+
readonly asker: {
|
|
37
|
+
readonly kind: 'role';
|
|
38
|
+
readonly roleId: DecideRoleId;
|
|
15
39
|
};
|
|
16
|
-
question: string;
|
|
40
|
+
readonly question: string;
|
|
17
41
|
}
|
|
18
|
-
type PendingBossQuestions = Partial<Record<ResumableStateId, PendingBossQuestion>>;
|
|
19
|
-
type BossReplies = Partial<Record<ResumableStateId, string>>;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
42
|
+
export type PendingBossQuestions = Partial<Record<ResumableStateId, PendingBossQuestion>>;
|
|
43
|
+
export type BossReplies = Partial<Record<ResumableStateId, string>>;
|
|
44
|
+
declare const CODER_PROPOSAL_RESULT: {
|
|
45
|
+
readonly proposed: "Coder affirmatively provided a complete design proposal; a progress report, status update, or promise of a later proposal supports no proposal outcome. Output shall include `coderProposal: <verbatim final text>`.";
|
|
46
|
+
readonly needsBossReply: "The acting agent's prose surfaces a clarifying question for Boss that the agent cannot answer alone. Output shall include `question: <verbatim question text from the acting agent's prose>`.";
|
|
47
|
+
};
|
|
48
|
+
declare const REVIEWER_PROPOSAL_RESULT: {
|
|
49
|
+
readonly proposed: "Reviewer affirmatively provided a complete design proposal; a progress report, status update, or promise of a later proposal supports no proposal outcome. Output shall include `reviewerProposal: <verbatim final text>`.";
|
|
50
|
+
readonly needsBossReply: "The acting agent's prose surfaces a clarifying question for Boss that the agent cannot answer alone. Output shall include `question: <verbatim question text from the acting agent's prose>`.";
|
|
51
|
+
};
|
|
52
|
+
declare const SYNTHESIZE_COMMIT_RESULT: {
|
|
53
|
+
readonly committed: "Coder synthesized the proposals into the necessary DRs and/or spec items and committed the result as one new commit. Output shall include `coderOutput: <verbatim final text>` and `latestCommit: <commit identity>`.";
|
|
54
|
+
readonly needsBossReply: "The acting agent's prose surfaces a clarifying question for Boss that the agent cannot answer alone. Output shall include `question: <verbatim question text from the acting agent's prose>`.";
|
|
55
|
+
};
|
|
56
|
+
interface PlayerInputBase {
|
|
57
|
+
readonly pendingBossQuestion?: PendingBossQuestion;
|
|
58
|
+
readonly bossReply?: string;
|
|
24
59
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
60
|
+
/** DECIDE-1: relays `<caller-topic>` as `callerTopic`. */
|
|
61
|
+
export interface CoderProposalInput extends PlayerInputBase {
|
|
62
|
+
readonly stateId: 'askCoderProposal';
|
|
63
|
+
readonly role: 'coder';
|
|
64
|
+
readonly sourceItem: 'DECIDE-1';
|
|
65
|
+
readonly prompt: string;
|
|
66
|
+
readonly result: typeof CODER_PROPOSAL_RESULT;
|
|
67
|
+
/** `<caller-topic>`: the caller's complete topic. */
|
|
68
|
+
readonly callerTopic: string;
|
|
29
69
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
70
|
+
/** DECIDE-2: relays `<caller-topic>` as `callerTopic`. */
|
|
71
|
+
export interface ReviewerProposalInput extends PlayerInputBase {
|
|
72
|
+
readonly stateId: 'askReviewerProposal';
|
|
73
|
+
readonly role: 'reviewer';
|
|
74
|
+
readonly sourceItem: 'DECIDE-2';
|
|
75
|
+
readonly prompt: string;
|
|
76
|
+
readonly result: typeof REVIEWER_PROPOSAL_RESULT;
|
|
77
|
+
/** `<caller-topic>`: the caller's complete topic. */
|
|
78
|
+
readonly callerTopic: string;
|
|
38
79
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
80
|
+
/**
|
|
81
|
+
* DECIDE-3: relays `<caller-topic>` as `callerTopic` and
|
|
82
|
+
* `<reviewer-proposal>` as `reviewerProposal`.
|
|
83
|
+
*/
|
|
84
|
+
export interface SynthesizeCommitInput extends PlayerInputBase {
|
|
85
|
+
readonly stateId: 'synthesizeCommit';
|
|
86
|
+
readonly role: 'coder';
|
|
87
|
+
readonly sourceItem: 'DECIDE-3';
|
|
88
|
+
readonly prompt: string;
|
|
89
|
+
readonly result: typeof SYNTHESIZE_COMMIT_RESULT;
|
|
90
|
+
/** `<caller-topic>`: the caller's complete topic. */
|
|
91
|
+
readonly callerTopic: string;
|
|
92
|
+
/** `<reviewer-proposal>`: Reviewer's complete independent proposal. */
|
|
93
|
+
readonly reviewerProposal: string;
|
|
47
94
|
}
|
|
48
|
-
export
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
latestCommit?: string;
|
|
53
|
-
coderOutput?: string;
|
|
54
|
-
reviewResult?: ReviewSuccessOutput;
|
|
55
|
-
reviewFailure?: ChildFailure;
|
|
56
|
-
lastResult?: PlayerOutput;
|
|
57
|
-
lastError?: unknown;
|
|
58
|
-
pendingBossQuestions?: PendingBossQuestions;
|
|
59
|
-
bossReplies?: BossReplies;
|
|
60
|
-
stagedCoderResult?: PlayerOutput;
|
|
61
|
-
stagedReviewerResult?: PlayerOutput;
|
|
95
|
+
export type PlayerInput = CoderProposalInput | ReviewerProposalInput | SynthesizeCommitInput;
|
|
96
|
+
export interface NeedsBossReplyOutput {
|
|
97
|
+
readonly guard: 'needsBossReply';
|
|
98
|
+
readonly question: string;
|
|
62
99
|
}
|
|
63
|
-
export type
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
} |
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
100
|
+
export type CoderProposalOutput = {
|
|
101
|
+
readonly guard: 'proposed';
|
|
102
|
+
readonly coderProposal: string;
|
|
103
|
+
} | NeedsBossReplyOutput;
|
|
104
|
+
export type ReviewerProposalOutput = {
|
|
105
|
+
readonly guard: 'proposed';
|
|
106
|
+
readonly reviewerProposal: string;
|
|
107
|
+
} | NeedsBossReplyOutput;
|
|
108
|
+
export type SynthesizeCommitOutput = {
|
|
109
|
+
readonly guard: 'committed';
|
|
110
|
+
readonly coderOutput: string;
|
|
111
|
+
/** Effect-owned: the runtime fills it from the repository receipt. */
|
|
112
|
+
readonly latestCommit: string;
|
|
113
|
+
} | NeedsBossReplyOutput;
|
|
114
|
+
export type PlayerOutput = CoderProposalOutput | ReviewerProposalOutput | SynthesizeCommitOutput;
|
|
115
|
+
/** DECIDE-4: literal call of the builtin `review` playbook. */
|
|
116
|
+
export interface PlaybookInput {
|
|
117
|
+
readonly stateId: 'reviewCommit';
|
|
118
|
+
readonly sourceItem?: 'DECIDE-4';
|
|
119
|
+
readonly playbookId: typeof REVIEW_PLAYBOOK_ID;
|
|
120
|
+
readonly text: string;
|
|
121
|
+
}
|
|
122
|
+
/** A successful call yields the child's own JSON-safe machine output. */
|
|
123
|
+
export type PlaybookOutput = JsonValue | undefined;
|
|
124
|
+
/** Public output interface of the packaged builtin `review`. */
|
|
125
|
+
export interface ReviewOutput {
|
|
126
|
+
readonly noUnsettledFindings: true;
|
|
127
|
+
readonly evaluatedRevision: string;
|
|
128
|
+
}
|
|
129
|
+
/** Sanitized completed-result evidence of the `review` call that ended DECIDE. */
|
|
130
|
+
export type CompletedReviewResult = {
|
|
131
|
+
readonly playbookId: typeof REVIEW_PLAYBOOK_ID;
|
|
132
|
+
readonly status: 'ok';
|
|
133
|
+
readonly output?: JsonValue;
|
|
70
134
|
} | {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
135
|
+
readonly playbookId: typeof REVIEW_PLAYBOOK_ID;
|
|
136
|
+
readonly status: 'aborted' | 'error';
|
|
137
|
+
readonly error: CompactError;
|
|
74
138
|
};
|
|
139
|
+
/** The machine reads no input: the caller's topic arrives on `START_DECIDE`. */
|
|
75
140
|
export type DecideInput = Readonly<Record<string, never>>;
|
|
76
|
-
export
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
coderProposal
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
guard: 'needsBossReply';
|
|
107
|
-
question: string;
|
|
108
|
-
} & AdditionalPlayerFields);
|
|
109
|
-
export interface PlaybookInput {
|
|
110
|
-
stateId: 'reviewCommit';
|
|
111
|
-
sourceItem: 'DECIDE-4';
|
|
112
|
-
playbookId: 'review';
|
|
113
|
-
text: string;
|
|
141
|
+
export type ReviewStatus = 'aborted' | 'error';
|
|
142
|
+
/**
|
|
143
|
+
* Typed run context. A text field holds `''` until its producer runs; every
|
|
144
|
+
* transition that enters a consumer guards the fields it reads as non-empty.
|
|
145
|
+
*/
|
|
146
|
+
export interface DecideContext {
|
|
147
|
+
/** `<caller-topic>`: set by `START_DECIDE` or a restarting interrupt. */
|
|
148
|
+
readonly callerTopic: string;
|
|
149
|
+
/** Branch-staged proposals; the parallel join promotes them atomically. */
|
|
150
|
+
readonly stagedCoderProposal: string;
|
|
151
|
+
readonly stagedReviewerProposal: string;
|
|
152
|
+
/** `<coder-proposal>`: Coder's promoted independent proposal. */
|
|
153
|
+
readonly coderProposal: string;
|
|
154
|
+
/** `<reviewer-proposal>`: Reviewer's promoted independent proposal. */
|
|
155
|
+
readonly reviewerProposal: string;
|
|
156
|
+
/** `<coder-output>`: Coder's verbatim final synthesis text. */
|
|
157
|
+
readonly coderOutput: string;
|
|
158
|
+
/** `<decide-commit>`: DECIDE-3's accepted, receipt-owned `latestCommit`. */
|
|
159
|
+
readonly decideCommit: string;
|
|
160
|
+
/** Revision evaluated by the passing `review`. */
|
|
161
|
+
readonly evaluatedRevision: string;
|
|
162
|
+
/** Reported status when `review` did not pass the commit. */
|
|
163
|
+
readonly reviewStatus: ReviewStatus | null;
|
|
164
|
+
/** Compact failure DECIDE reports when `review` did not pass the commit. */
|
|
165
|
+
readonly reviewError: CompactError | null;
|
|
166
|
+
/** Sanitized evidence of the `review` result that ended DECIDE. */
|
|
167
|
+
readonly reviewEvidence: CompletedReviewResult | null;
|
|
168
|
+
readonly lastError: ErrorRecord | null;
|
|
169
|
+
readonly pendingBossQuestions: PendingBossQuestions;
|
|
170
|
+
readonly bossReplies: BossReplies;
|
|
114
171
|
}
|
|
115
|
-
export
|
|
116
|
-
type:
|
|
117
|
-
callerTopic: string;
|
|
172
|
+
export type DecideEvent = {
|
|
173
|
+
readonly type: 'START_DECIDE';
|
|
174
|
+
readonly callerTopic: string;
|
|
118
175
|
} | {
|
|
119
|
-
type:
|
|
120
|
-
targetId:
|
|
121
|
-
|
|
176
|
+
readonly type: 'BOSS_INTERRUPT';
|
|
177
|
+
readonly targetId: 'independentProposals';
|
|
178
|
+
/** The new topic both proposal players receive. */
|
|
179
|
+
readonly callerTopic: string;
|
|
122
180
|
} | {
|
|
123
|
-
type:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
181
|
+
readonly type: 'BOSS_INTERRUPT';
|
|
182
|
+
readonly targetId: 'synthesizeCommit';
|
|
183
|
+
} | {
|
|
184
|
+
readonly type: 'BOSS_REPLY';
|
|
185
|
+
readonly questionId: string;
|
|
186
|
+
readonly answer: string;
|
|
187
|
+
};
|
|
188
|
+
/** Exactly the catalog's public `decide` output interface. */
|
|
189
|
+
export type DecideOutput = {
|
|
190
|
+
readonly decideCommit: string;
|
|
191
|
+
readonly evaluatedRevision: string;
|
|
192
|
+
readonly noUnsettledFindings: true;
|
|
193
|
+
} | {
|
|
194
|
+
readonly lastDecideCommit: string;
|
|
195
|
+
readonly noUnsettledFindings: false;
|
|
196
|
+
readonly reviewStatus: ReviewStatus;
|
|
197
|
+
readonly error?: CompactError;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Recognizes an authored rejected child result: a validated public result
|
|
201
|
+
* whose status is `aborted` or `error`, or `ok` at the child's own authored
|
|
202
|
+
* failure terminal. Anything else is a control-plane error.
|
|
203
|
+
*/
|
|
204
|
+
export declare function authoredChildResult(error: unknown, expectedPlaybookId: string): PlaybookCallResult | undefined;
|
|
205
|
+
export declare const decideMachine: import("xstate").StateMachine<DecideContext, import("xstate").AnyEventObject, {
|
|
206
|
+
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<PlaybookOutput, PlaybookInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<PlayerOutput, PlayerInput, import("xstate").EventObject>> | undefined;
|
|
128
207
|
}, {
|
|
129
208
|
src: "playbook";
|
|
130
|
-
logic: import("xstate").PromiseActorLogic<
|
|
209
|
+
logic: import("xstate").PromiseActorLogic<PlaybookOutput, PlaybookInput, import("xstate").EventObject>;
|
|
131
210
|
id: string | undefined;
|
|
132
211
|
} | {
|
|
133
212
|
src: "player";
|
|
@@ -145,12 +224,33 @@ export declare const decideMachine: import("xstate").StateMachine<DecideContext,
|
|
|
145
224
|
params: import("xstate").NonReducibleUnknown;
|
|
146
225
|
} | {
|
|
147
226
|
type: "rememberBossReply";
|
|
227
|
+
params: {
|
|
228
|
+
readonly stateId: ResumableStateId;
|
|
229
|
+
};
|
|
230
|
+
} | {
|
|
231
|
+
type: "rememberMalformedPlayerOutput";
|
|
232
|
+
params: {
|
|
233
|
+
readonly sourceItem: DecideSourceItem;
|
|
234
|
+
};
|
|
235
|
+
} | {
|
|
236
|
+
type: "rememberAuthoredReviewFailure";
|
|
237
|
+
params: import("xstate").NonReducibleUnknown;
|
|
238
|
+
} | {
|
|
239
|
+
type: "setPendingBossQuestion";
|
|
240
|
+
params: {
|
|
241
|
+
readonly stateId: ResumableStateId;
|
|
242
|
+
};
|
|
243
|
+
} | {
|
|
244
|
+
type: "restartFromInterrupt";
|
|
245
|
+
params: import("xstate").NonReducibleUnknown;
|
|
246
|
+
} | {
|
|
247
|
+
type: "rememberEmptyBossReply";
|
|
148
248
|
params: import("xstate").NonReducibleUnknown;
|
|
149
249
|
} | {
|
|
150
|
-
type: "
|
|
250
|
+
type: "rememberUnknownBossReply";
|
|
151
251
|
params: import("xstate").NonReducibleUnknown;
|
|
152
252
|
} | {
|
|
153
|
-
type: "
|
|
253
|
+
type: "startDecide";
|
|
154
254
|
params: import("xstate").NonReducibleUnknown;
|
|
155
255
|
} | {
|
|
156
256
|
type: "stageCoderProposal";
|
|
@@ -165,61 +265,71 @@ export declare const decideMachine: import("xstate").StateMachine<DecideContext,
|
|
|
165
265
|
type: "rememberCommit";
|
|
166
266
|
params: import("xstate").NonReducibleUnknown;
|
|
167
267
|
} | {
|
|
168
|
-
type: "
|
|
169
|
-
params: import("xstate").NonReducibleUnknown;
|
|
170
|
-
} | {
|
|
171
|
-
type: "rememberReviewFailure";
|
|
268
|
+
type: "rememberReviewApproval";
|
|
172
269
|
params: import("xstate").NonReducibleUnknown;
|
|
173
270
|
} | {
|
|
174
|
-
type: "
|
|
271
|
+
type: "rememberUnestablishedReview";
|
|
175
272
|
params: import("xstate").NonReducibleUnknown;
|
|
273
|
+
}, {
|
|
274
|
+
type: "needsBossReply";
|
|
275
|
+
params: unknown;
|
|
176
276
|
} | {
|
|
177
|
-
type: "
|
|
178
|
-
params:
|
|
277
|
+
type: "authoredReviewFailure";
|
|
278
|
+
params: unknown;
|
|
179
279
|
} | {
|
|
180
|
-
type: "
|
|
181
|
-
params:
|
|
280
|
+
type: "committed";
|
|
281
|
+
params: unknown;
|
|
182
282
|
} | {
|
|
183
|
-
type: "
|
|
184
|
-
params:
|
|
283
|
+
type: "interruptTargets";
|
|
284
|
+
params: {
|
|
285
|
+
readonly targetId: JumpableStateId;
|
|
286
|
+
};
|
|
185
287
|
} | {
|
|
186
|
-
type: "
|
|
288
|
+
type: "bossReplyIsEmpty";
|
|
187
289
|
params: {
|
|
188
|
-
stateId: ResumableStateId;
|
|
290
|
+
readonly stateId: ResumableStateId;
|
|
189
291
|
};
|
|
190
292
|
} | {
|
|
191
|
-
type: "
|
|
192
|
-
params:
|
|
293
|
+
type: "bossReplyResumes";
|
|
294
|
+
params: {
|
|
295
|
+
readonly stateId: ResumableStateId;
|
|
296
|
+
};
|
|
193
297
|
} | {
|
|
194
|
-
type: "
|
|
195
|
-
params: import("xstate").NonReducibleUnknown;
|
|
196
|
-
}, {
|
|
197
|
-
type: "authoredReviewFailure";
|
|
298
|
+
type: "bossReplyNamesNoPendingQuestion";
|
|
198
299
|
params: unknown;
|
|
199
300
|
} | {
|
|
200
|
-
type: "
|
|
301
|
+
type: "validStartTopic";
|
|
201
302
|
params: unknown;
|
|
202
303
|
} | {
|
|
203
|
-
type: "
|
|
304
|
+
type: "coderProposedJoining";
|
|
204
305
|
params: unknown;
|
|
205
306
|
} | {
|
|
206
|
-
type: "
|
|
307
|
+
type: "coderProposed";
|
|
207
308
|
params: unknown;
|
|
208
309
|
} | {
|
|
209
|
-
type: "
|
|
310
|
+
type: "reviewerProposedJoining";
|
|
210
311
|
params: unknown;
|
|
211
312
|
} | {
|
|
212
|
-
type: "
|
|
313
|
+
type: "reviewerProposed";
|
|
213
314
|
params: unknown;
|
|
214
315
|
} | {
|
|
215
|
-
type: "
|
|
316
|
+
type: "reviewApproved";
|
|
216
317
|
params: unknown;
|
|
217
|
-
}, never, "done" | "failed" | "ready" | "awaitBossReply" | "
|
|
318
|
+
}, never, "done" | "failed" | "ready" | "awaitBossReply" | "synthesizeCommit" | "reviewCommit" | "reportedReviewFailure" | {
|
|
218
319
|
independentProposals: {
|
|
219
|
-
|
|
220
|
-
|
|
320
|
+
coderProposalRegion: "askCoderProposal" | "awaitCoderProposalReply" | "coderProposalStaged";
|
|
321
|
+
reviewerProposalRegion: "askReviewerProposal" | "awaitReviewerProposalReply" | "reviewerProposalStaged";
|
|
221
322
|
};
|
|
222
|
-
}, string, Readonly<Record<string, never>>,
|
|
323
|
+
}, string, Readonly<Record<string, never>>, {
|
|
324
|
+
readonly decideCommit: string;
|
|
325
|
+
readonly evaluatedRevision: string;
|
|
326
|
+
readonly noUnsettledFindings: true;
|
|
327
|
+
} | {
|
|
328
|
+
readonly lastDecideCommit: string;
|
|
329
|
+
readonly noUnsettledFindings: false;
|
|
330
|
+
readonly reviewStatus: ReviewStatus;
|
|
331
|
+
readonly error?: CompactError;
|
|
332
|
+
}, import("xstate").EventObject, import("xstate").MetaObject, {
|
|
223
333
|
id: "decide";
|
|
224
334
|
states: {
|
|
225
335
|
readonly ready: {
|
|
@@ -228,32 +338,38 @@ export declare const decideMachine: import("xstate").StateMachine<DecideContext,
|
|
|
228
338
|
readonly independentProposals: {
|
|
229
339
|
id: "independentProposals";
|
|
230
340
|
states: {
|
|
231
|
-
readonly
|
|
341
|
+
readonly coderProposalRegion: {
|
|
342
|
+
id: "coderProposalRegion";
|
|
232
343
|
states: {
|
|
233
|
-
readonly
|
|
344
|
+
readonly askCoderProposal: {
|
|
234
345
|
id: "askCoderProposal";
|
|
235
346
|
};
|
|
236
|
-
readonly
|
|
237
|
-
id: "
|
|
347
|
+
readonly awaitCoderProposalReply: {
|
|
348
|
+
id: "awaitCoderProposalReply";
|
|
349
|
+
};
|
|
350
|
+
readonly coderProposalStaged: {
|
|
351
|
+
id: "coderProposalStaged";
|
|
238
352
|
};
|
|
239
|
-
readonly complete: {};
|
|
240
353
|
};
|
|
241
354
|
};
|
|
242
|
-
readonly
|
|
355
|
+
readonly reviewerProposalRegion: {
|
|
356
|
+
id: "reviewerProposalRegion";
|
|
243
357
|
states: {
|
|
244
|
-
readonly
|
|
358
|
+
readonly askReviewerProposal: {
|
|
245
359
|
id: "askReviewerProposal";
|
|
246
360
|
};
|
|
247
|
-
readonly
|
|
248
|
-
id: "
|
|
361
|
+
readonly awaitReviewerProposalReply: {
|
|
362
|
+
id: "awaitReviewerProposalReply";
|
|
363
|
+
};
|
|
364
|
+
readonly reviewerProposalStaged: {
|
|
365
|
+
id: "reviewerProposalStaged";
|
|
249
366
|
};
|
|
250
|
-
readonly complete: {};
|
|
251
367
|
};
|
|
252
368
|
};
|
|
253
369
|
};
|
|
254
370
|
};
|
|
255
|
-
readonly
|
|
256
|
-
id: "
|
|
371
|
+
readonly synthesizeCommit: {
|
|
372
|
+
id: "synthesizeCommit";
|
|
257
373
|
};
|
|
258
374
|
readonly awaitBossReply: {
|
|
259
375
|
id: "awaitBossReply";
|