@osolmaz/pi-workflows 0.13.3 → 0.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -443,9 +443,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
443
443
  nodes: {
444
444
  readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
445
445
  readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
446
- readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
447
- readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
448
- readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
446
+ readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
447
+ readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
448
+ readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
449
449
  readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
450
450
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
451
451
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
@@ -820,9 +820,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
820
820
  nodes: {
821
821
  readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
822
822
  readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
823
- readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
824
- readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
825
- readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
823
+ readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
824
+ readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
825
+ readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
826
826
  readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
827
827
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
828
828
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
@@ -1548,9 +1548,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
1548
1548
  nodes: {
1549
1549
  readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1550
1550
  readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1551
- readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1552
- readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1553
- readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1551
+ readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1552
+ readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1553
+ readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1554
1554
  readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1555
1555
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
1556
1556
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
@@ -1925,9 +1925,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
1925
1925
  nodes: {
1926
1926
  readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1927
1927
  readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1928
- readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1929
- readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1930
- readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1928
+ readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1929
+ readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1930
+ readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1931
1931
  readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
1932
1932
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
1933
1933
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
@@ -118,9 +118,9 @@ export declare const autoplanWorkflow: import("../workflows/types.js").WorkflowD
118
118
  nodes: {
119
119
  readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
120
120
  readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
121
- readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
122
- readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
123
- readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
121
+ readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
122
+ readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
123
+ readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
124
124
  readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
125
125
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
126
126
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
@@ -19,7 +19,11 @@ function originalUserInstructions(outputs) {
19
19
  return parseIntent(outputs.captureIntent).originalUserInstructions;
20
20
  }
21
21
  function originalInstructionsPrompt(outputs) {
22
- return ["Original user instructions (authoritative):", originalUserInstructions(outputs)].join("\n");
22
+ return [
23
+ "Continue in this Pi session. Do not delegate this workflow step or start another session.",
24
+ "Original user instructions (authoritative):",
25
+ originalUserInstructions(outputs),
26
+ ].join("\n");
23
27
  }
24
28
  function requireString(value, label) {
25
29
  if (typeof value !== "string" || value.trim().length === 0) {
@@ -169,16 +173,16 @@ function plainSummaryResult(value, label) {
169
173
  }
170
174
  function candidateSummary(proposal, ideal, id) {
171
175
  if (id === "ideal")
172
- return { id, title: "Ideal end state", gist: ideal.ideal };
176
+ return { id, title: "Holy grail", gist: ideal.ideal };
173
177
  const candidate = proposal.candidates.find((item) => item.id === id);
174
178
  if (candidate === undefined)
175
179
  throw new Error(`autoplan candidate ${JSON.stringify(id)} is missing`);
176
180
  return { id, title: candidate.title, gist: candidate.gist };
177
181
  }
178
182
  function summaryInput(outputs, blocked, input) {
179
- const proposal = outputs.propose;
180
- const selection = outputs.choose;
181
- const ideal = outputs.ideal;
183
+ const proposal = outputs.solutions;
184
+ const selection = outputs.select;
185
+ const ideal = outputs.holyGrail;
182
186
  const selected = candidateSummary(proposal, ideal, selection.selectedId);
183
187
  return {
184
188
  source: {
@@ -242,6 +246,7 @@ export const autoplanWorkflow = defineWorkflow({
242
246
  captureIntent: agent({
243
247
  statusDetail: "capturing the user's instructions",
244
248
  prompt: () => [
249
+ "Continue in this Pi session. Do not delegate this workflow step or start another session.",
245
250
  "Read the conversation that came before this workflow step.",
246
251
  "Return one text string named originalUserInstructions.",
247
252
  "Include everything that the user has instructed for the intended purpose in the given context.",
@@ -272,11 +277,12 @@ export const autoplanWorkflow = defineWorkflow({
272
277
  expectedOutput: `{ "problem": "concise statement", "success": ["criterion"], "inScope": ["change"], "outOfScope": ["change"], "constraints": ["constraint"], "controlBoundary": "what can change" }`,
273
278
  validate: (value) => requireRecord(value, "autoplan frame"),
274
279
  }),
275
- propose: agent({
276
- statusDetail: "devising candidate solutions",
280
+ solutions: agent({
281
+ statusDetail: "devising long-term solutions",
277
282
  prompt: ({ outputs, input }) => [
278
283
  originalInstructionsPrompt(outputs),
279
284
  "Give two to four practical options that fit the allowed scope.",
285
+ "For each option, ask: Is this a Long term elegant and production ready solution?",
280
286
  "For each option return a stable lowercase id and a short title. Add a plain gist and full solution, explain the reason and trade-offs, and list the parts.",
281
287
  "Favor a few reusable parts with clear owners and use interfaces that already exist.",
282
288
  "Reject one-off machinery and infrastructure that the task does not need.",
@@ -288,40 +294,43 @@ export const autoplanWorkflow = defineWorkflow({
288
294
  expectedOutput: `{ "candidates": [{ "id": "stable-id", "title": "short title", "gist": "plain gist", "solution": "full proposal", "rationale": "why", "parts": ["part"], "tradeoffs": ["trade-off"] }], "previousPlan": { "status": "candidate", "candidateId": "id" } | { "status": "rejected", "reason": "reason" } }`,
289
295
  validate: (value, { input }) => parseProposal(value, input.previousPlan !== undefined),
290
296
  }),
291
- ideal: agent({
292
- statusDetail: "describing the ideal end state",
297
+ holyGrail: agent({
298
+ statusDetail: "describing the Holy grail",
293
299
  prompt: ({ outputs, input }) => [
294
300
  originalInstructionsPrompt(outputs),
295
- "Describe the best possible end state separately from the practical options.",
296
- "It may match one option or go beyond the current scope.",
301
+ "Describe the Holy grail separately from the practical options.",
302
+ "Ask: Is this the Holy grail for the problem?",
303
+ "The Holy grail may match one option or go beyond the current scope.",
304
+ "Explain what makes it more Long term elegant and production ready than the practical options.",
297
305
  "List each dependency we do not control. Do not assume that it can change.",
298
- "State what this end state would improve beyond the practical options.",
306
+ "State what the Holy grail would improve beyond the practical options.",
299
307
  `Problem frame: ${JSON.stringify(outputs.frame)}`,
300
- `Candidates: ${JSON.stringify(outputs.propose)}`,
308
+ `Candidates: ${JSON.stringify(outputs.solutions)}`,
301
309
  `New evidence: ${JSON.stringify(input.newEvidence ?? null)}`,
302
310
  ].join("\n"),
303
- expectedOutput: `{ "ideal": "ideal end state", "outsideDependencies": ["dependency"], "additionalValue": ["benefit"] }`,
311
+ expectedOutput: `{ "ideal": "Holy grail end state", "outsideDependencies": ["dependency"], "additionalValue": ["benefit"] }`,
304
312
  validate: parseIdeal,
305
313
  }),
306
- choose: agent({
307
- statusDetail: "choosing the practical solution",
314
+ select: agent({
315
+ statusDetail: "selecting the solution",
308
316
  prompt: ({ outputs }) => [
309
317
  originalInstructionsPrompt(outputs),
310
318
  "Select one option. Do not ask the user to choose.",
311
- "Select the ideal only when it fits the allowed scope and is ready for production. Its value must justify the added complexity.",
312
- "Otherwise select the best option we can build now that still moves toward the ideal.",
319
+ "Select the most Long term elegant and production ready option that is proportionate, in scope, and implementable through interfaces we control.",
320
+ "Select the Holy grail when it meets those conditions and its value justifies the added complexity.",
321
+ "Otherwise select the strongest practical option we can build now with a clear path toward the Holy grail.",
313
322
  "Work outside our control does not by itself make the plan blocked.",
314
323
  "Do not require changes to an upstream project or an unrelated repository. Do not require a new service or resource without approval.",
315
324
  "When two options solve the problem equally well, choose the simpler one.",
316
- "Give one specific rejection reason for every option you do not select, including the ideal.",
325
+ "Give one specific rejection reason for every option you do not select, including the Holy grail.",
317
326
  "Return blocked only if no option inside the allowed scope can meet the success criteria.",
318
327
  `Frame: ${JSON.stringify(outputs.frame)}`,
319
- `Candidates: ${JSON.stringify(outputs.propose)}`,
320
- `Ideal candidate id: ideal`,
321
- `Ideal: ${JSON.stringify(outputs.ideal)}`,
328
+ `Candidates: ${JSON.stringify(outputs.solutions)}`,
329
+ `Holy grail candidate id: ideal`,
330
+ `Holy grail: ${JSON.stringify(outputs.holyGrail)}`,
322
331
  ].join("\n"),
323
332
  expectedOutput: `{ "status": "ready" | "blocked", "selectedId": "candidate-id-or-ideal", "why": "reason", "relationshipToIdeal": "relationship", "rejected": [{ "id": "other-id", "reason": "why it lost" }], "compromises": ["compromise"], "blocker": "required only when blocked" }`,
324
- validate: (value, { outputs }) => parseSelection(value, outputs.propose),
333
+ validate: (value, { outputs }) => parseSelection(value, outputs.solutions),
325
334
  }),
326
335
  plan: agent({
327
336
  timeoutMs: 30 * 60_000,
@@ -335,8 +344,8 @@ export const autoplanWorkflow = defineWorkflow({
335
344
  "Correct the earlier plan when the new evidence proves it wrong.",
336
345
  "Do not change files.",
337
346
  `Frame: ${JSON.stringify(outputs.frame)}`,
338
- `Selection: ${JSON.stringify(outputs.choose)}`,
339
- `Candidates: ${JSON.stringify(outputs.propose)}`,
347
+ `Selection: ${JSON.stringify(outputs.select)}`,
348
+ `Candidates: ${JSON.stringify(outputs.solutions)}`,
340
349
  `Previous plan: ${JSON.stringify(input.previousPlan ?? null)}`,
341
350
  `New evidence: ${JSON.stringify(input.newEvidence ?? null)}`,
342
351
  ].join("\n"),
@@ -345,13 +354,13 @@ export const autoplanWorkflow = defineWorkflow({
345
354
  }),
346
355
  blocked: compute({
347
356
  run: ({ outputs }) => {
348
- const selection = outputs.choose;
357
+ const selection = outputs.select;
349
358
  return {
350
359
  status: "blocked",
351
360
  originalUserInstructions: originalUserInstructions(outputs),
352
361
  frame: outputs.frame,
353
- proposal: outputs.propose,
354
- ideal: outputs.ideal,
362
+ proposal: outputs.solutions,
363
+ ideal: outputs.holyGrail,
355
364
  selection,
356
365
  plainSummary: plainSummaryResult(outputs.blockedSummary, "autoplan blocked summary"),
357
366
  reason: requireString(selection.blocker, "autoplan blocker"),
@@ -367,9 +376,9 @@ export const autoplanWorkflow = defineWorkflow({
367
376
  status: "ready",
368
377
  originalUserInstructions: originalUserInstructions(outputs),
369
378
  frame: outputs.frame,
370
- proposal: outputs.propose,
371
- ideal: outputs.ideal,
372
- selection: outputs.choose,
379
+ proposal: outputs.solutions,
380
+ ideal: outputs.holyGrail,
381
+ selection: outputs.select,
373
382
  plan: outputs.plan,
374
383
  plainSummary: plainSummaryResult(outputs.readySummary, "autoplan ready summary"),
375
384
  planDigest,
@@ -381,11 +390,11 @@ export const autoplanWorkflow = defineWorkflow({
381
390
  },
382
391
  edges: [
383
392
  { from: "captureIntent", to: "frame" },
384
- { from: "frame", to: "propose" },
385
- { from: "propose", to: "ideal" },
386
- { from: "ideal", to: "choose" },
393
+ { from: "frame", to: "solutions" },
394
+ { from: "solutions", to: "holyGrail" },
395
+ { from: "holyGrail", to: "select" },
387
396
  {
388
- from: "choose",
397
+ from: "select",
389
398
  switch: { on: "$.status", cases: { ready: "plan", blocked: "blockedSummary" } },
390
399
  },
391
400
  { from: "plan", to: "readySummary" },
@@ -1 +1 @@
1
- {"version":3,"file":"autoplan.workflow.js","sourceRoot":"","sources":["../../src/builtins/autoplan.workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoplan.workflow.js","sourceRoot":"","sources":["../../src/builtins/autoplan.workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,oBAAoB,EAAE,EAG5B,MAAM,6BAA6B,CAAC;AAwErC,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC;IACrD,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgC;IAChE,OAAO,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC;AACrE,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAgC;IAClE,OAAO;QACL,2FAA2F;QAC3F,6CAA6C;QAC7C,wBAAwB,CAAC,OAAO,CAAC;KAClC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,KAAa,EAAE,QAAgB;IAC3E,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,QAAQ,aAAa,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAc,EACd,KAAa,EACb,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,KAAK;IAEhB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,kCAAkC,QAAQ,UAAU,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,IACE,WAAW,KAAK,SAAS;QACzB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,EACrF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,oBAA6B;IAClE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC3D,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QACnC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAC9B,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAqB,EAAE;QAC7E,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,sBAAsB,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,sBAAsB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7E,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,EAAE,KAAK,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC;QAC3F,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO;YACL,EAAE;YACF,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,GAAG,CAAC;YACnF,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC;YAClF,QAAQ,EAAE,oBAAoB,CAC5B,SAAS,CAAC,QAAQ,EAClB,sBAAsB,EAAE,WAAW,EACnC,MAAM,CACP;YACD,SAAS,EAAE,oBAAoB,CAC7B,SAAS,CAAC,SAAS,EACnB,sBAAsB,EAAE,YAAY,EACpC,KAAK,CACN;YACD,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,CAAC;YAC5E,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,YAAY,CAAC;SACzF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,YAA8C,CAAC;IACnD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,+BAA+B,CAAC,CAAC;QACtF,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;YAC5F,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC7E,CAAC;YACD,YAAY,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QACtD,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACzC,YAAY,GAAG;gBACb,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,oBAAoB,CAC1B,OAAO,CAAC,MAAM,EACd,wCAAwC,EACxC,KAAK,CACN;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,IAAI,oBAAoB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrD,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,0BAA0B,EAAE,MAAM,CAAC;QAC5E,mBAAmB,EAAE,kBAAkB,CACrC,KAAK,CAAC,mBAAmB,EACzB,oCAAoC,CACrC;QACD,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC,eAAe,EAAE,gCAAgC,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,QAA0B;IAChE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,sBAAsB,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,sBAAsB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;QACzF,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO;YACL,EAAE;YACF,MAAM,EAAE,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,CAAC;SACzF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,OAAO,GACX,SAAS,CAAC,MAAM,KAAK,SAAS;QAC5B,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,UAAU;QACV,GAAG,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,EAAE,2BAA2B,EAAE,KAAK,CAAC;QAC5E,mBAAmB,EAAE,oBAAoB,CACvC,SAAS,CAAC,mBAAmB,EAC7B,8BAA8B,EAC9B,KAAK,CACN;QACD,QAAQ;QACR,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAC;QAC9E,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,KAAa;IACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC;IACjE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CACvB,QAA0B,EAC1B,KAAoB,EACpB,EAAU;IAEV,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1E,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,SAAS,KAAK,SAAS;QACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IACzE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CACnB,OAAgC,EAChC,OAAgB,EAChB,KAAoB;IAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAA6B,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,MAA2B,CAAC;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,SAA0B,CAAC;IACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACzE,OAAO;QACL,MAAM,EAAE;YACN,wBAAwB,EAAE,wBAAwB,CAAC,OAAO,CAAC;YAC3D,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,QAAQ;YACR,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;YACjD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC/C,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;gBAClD,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;gBACzE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE;gBAChF,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E;QACD,OAAO,EAAE,OAAO;YACd,CAAC,CAAC,8EAA8E;YAChF,CAAC,CAAC,0IAA0I;QAC9I,WAAW,EAAE;YACX,QAAQ,CAAC,KAAK;YACd,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CACvB,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CACrE;YACD,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;gBACzE,CAAC,CAAC,CAAC,eAAe,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;SACrF;QACD,MAAM,EAAE,OAAO;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;IAC7C,MAAM,EAAE,OAAO,IAAI,CAAC,GAAG;IACvB,UAAU,EAAE,0BAA0B;IACtC,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,aAAa,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;IAC/D,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE;QACR,YAAY,EAAE,eAAe,CAAC,oBAAoB,EAAE;YAClD,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,KAAsB,CAAC;SACpF,CAAC;QACF,cAAc,EAAE,eAAe,CAAC,oBAAoB,EAAE;YACpD,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,KAAsB,CAAC;SACnF,CAAC;KACH;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC,KAAc,EAAiB,EAAE,CAAC,KAAsB;SACpE;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC,KAAc,EAAmB,EAAE,CAAC,KAAwB;SACxE;KACF;IACD,KAAK,EAAE;QACL,aAAa,EAAE,KAAK,CAAC;YACnB,YAAY,EAAE,mCAAmC;YACjD,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,2FAA2F;gBAC3F,4DAA4D;gBAC5D,wDAAwD;gBACxD,gGAAgG;gBAChG,mFAAmF;gBACnF,yGAAyG;gBACzG,uEAAuE;gBACvE,4CAA4C;aAC7C,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,cAAc,EAAE,qFAAqF;YACrG,QAAQ,EAAE,WAAW;SACtB,CAAC;QACF,KAAK,EAAE,KAAK,CAAC;YACX,YAAY,EAAE,qBAAqB;YACnC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,KAAsB,CAAC;gBACvC,OAAO;oBACL,0BAA0B,CAAC,OAAO,CAAC;oBACnC,uDAAuD,OAAO,CAAC,OAAO,EAAE;oBACxE,kBAAkB,OAAO,CAAC,KAAK,IAAI,8DAA8D,GAAG;oBACpG,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG;oBAC5D,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG;oBACjE,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG;oBAC/D,sDAAsD;oBACtD,qGAAqG;oBACrG,0GAA0G;iBAC3G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;YACD,cAAc,EAAE,oLAAoL;YACpM,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC;SAC5D,CAAC;QACF,SAAS,EAAE,KAAK,CAAC;YACf,YAAY,EAAE,8BAA8B;YAC5C,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B;gBACE,0BAA0B,CAAC,OAAO,CAAC;gBACnC,gEAAgE;gBAChE,kFAAkF;gBAClF,4JAA4J;gBAC5J,qFAAqF;gBACrF,0EAA0E;gBAC1E,2GAA2G;gBAC3G,sBAAsB;gBACtB,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjD,kBAAkB,IAAI,CAAC,SAAS,CAAE,KAAuB,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE;aAClF,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,cAAc,EAAE,wSAAwS;YACxT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B,aAAa,CAAC,KAAK,EAAG,KAAuB,CAAC,YAAY,KAAK,SAAS,CAAC;SAC5E,CAAC;QACF,SAAS,EAAE,KAAK,CAAC;YACf,YAAY,EAAE,2BAA2B;YACzC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B;gBACE,0BAA0B,CAAC,OAAO,CAAC;gBACnC,gEAAgE;gBAChE,8CAA8C;gBAC9C,qEAAqE;gBACrE,+FAA+F;gBAC/F,2EAA2E;gBAC3E,uEAAuE;gBACvE,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjD,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAClD,iBAAiB,IAAI,CAAC,SAAS,CAAE,KAAuB,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE;aAChF,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,cAAc,EAAE,4GAA4G;YAC5H,QAAQ,EAAE,UAAU;SACrB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC;YACZ,YAAY,EAAE,wBAAwB;YACtC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACtB;gBACE,0BAA0B,CAAC,OAAO,CAAC;gBACnC,mDAAmD;gBACnD,iJAAiJ;gBACjJ,oGAAoG;gBACpG,2GAA2G;gBAC3G,oEAAoE;gBACpE,sIAAsI;gBACtI,0EAA0E;gBAC1E,kGAAkG;gBAClG,0FAA0F;gBAC1F,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzC,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAClD,gCAAgC;gBAChC,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,cAAc,EAAE,uQAAuQ;YACvR,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/B,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,SAA6B,CAAC;SAC/D,CAAC;QACF,IAAI,EAAE,KAAK,CAAC;YACV,SAAS,EAAE,EAAE,GAAG,MAAM;YACtB,YAAY,EAAE,iCAAiC;YAC/C,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7B;gBACE,0BAA0B,CAAC,OAAO,CAAC;gBACnC,2EAA2E;gBAC3E,yDAAyD;gBACzD,iGAAiG;gBACjG,sJAAsJ;gBACtJ,iEAAiE;gBACjE,sBAAsB;gBACtB,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzC,cAAc,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC9C,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAClD,kBAAkB,IAAI,CAAC,SAAS,CAAE,KAAuB,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE;gBACjF,iBAAiB,IAAI,CAAC,SAAS,CAAE,KAAuB,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE;aAChF,CAAC,IAAI,CAAC,IAAI,CAAC;YACd,cAAc,EAAE,uPAAuP;YACvQ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC;SAC3D,CAAC;QACF,OAAO,EAAE,OAAO,CAAC;YACf,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBACnB,MAAM,SAAS,GAAG,OAAO,CAAC,MAA2B,CAAC;gBACtD,OAAO;oBACL,MAAM,EAAE,SAAS;oBACjB,wBAAwB,EAAE,wBAAwB,CAAC,OAAO,CAAC;oBAC3D,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,OAAO,CAAC,SAA6B;oBAC/C,KAAK,EAAE,OAAO,CAAC,SAA0B;oBACzC,SAAS;oBACT,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE,0BAA0B,CAAC;oBACpF,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC;iBACnC,CAAC;YAC9B,CAAC;SACF,CAAC;QACF,QAAQ,EAAE,OAAO,CAAC;YAChB,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1B,MAAM,OAAO,GAAG,KAAsB,CAAC;gBACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,kBAAkB,GACtB,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAChF,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,wBAAwB,EAAE,wBAAwB,CAAC,OAAO,CAAC;oBAC3D,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,OAAO,CAAC,SAA6B;oBAC/C,KAAK,EAAE,OAAO,CAAC,SAA0B;oBACzC,SAAS,EAAE,OAAO,CAAC,MAA2B;oBAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,wBAAwB,CAAC;oBAChF,UAAU;oBACV,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,OAAO,EAAE,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,UAAU;iBACvD,CAAC;YAC5B,CAAC;SACF,CAAC;KACH;IACD,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,EAAE;QACtC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE;QAClC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE;QACtC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE;QACnC;YACE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE;SAChF;QACD,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE;QACpC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,UAAU,EAAE;QAClD,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,EAAE;KACpD;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -8,7 +8,7 @@ import planApprovalWorkflow from "./plan-approval.workflow.js";
8
8
  import sanityCheckWorkflow from "./sanity-check.workflow.js";
9
9
  export const builtinWorkflowCatalog = new BuiltinWorkflowCatalog([
10
10
  { id: "plain-summary", revision: "3", definition: plainSummaryWorkflow },
11
- { id: "autoplan", revision: "5", definition: autoplanWorkflow },
11
+ { id: "autoplan", revision: "6", definition: autoplanWorkflow },
12
12
  { id: "autodoc", revision: "2", definition: autodocWorkflow },
13
13
  { id: "autoimplement", revision: "11", definition: autoimplementWorkflow },
14
14
  { id: "plan-approval", revision: "4", definition: planApprovalWorkflow },
@@ -94,9 +94,9 @@ export declare const planChangeWorkflow: import("../workflows/types.js").Workflo
94
94
  nodes: {
95
95
  readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
96
96
  readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
97
- readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
98
- readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
99
- readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
97
+ readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
98
+ readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
99
+ readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
100
100
  readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
101
101
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
102
102
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
@@ -471,9 +471,9 @@ export declare const planChangeWorkflow: import("../workflows/types.js").Workflo
471
471
  nodes: {
472
472
  readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
473
473
  readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
474
- readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
475
- readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
476
- readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
474
+ readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
475
+ readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
476
+ readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
477
477
  readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
478
478
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
479
479
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
@@ -282,7 +282,7 @@ monitor
282
282
 
283
283
  ## Autoplan, autodoc, and autoimplement
284
284
 
285
- `autoplan` accepts the problem, scope, constraints, an optional previous plan, and new evidence. It records two through four practical candidates plus the ideal, automatically selects the best in-scope solution, and records one rejection reason for every other explicit candidate. It includes `plain-summary` on ready and blocked routes, so the user sees one short normal assistant response before the parent continues. The response calls the choice a plan selected for approval and cannot satisfy the later human decision. Autoplan exits through `ready` or `blocked` and returns the full candidates, selection, detailed plan when ready, plain summary, plan digest, and change status.
285
+ `autoplan` accepts the problem, scope, constraints, an optional previous plan, and new evidence. Its `solutions` step records two through four practical candidates and asks whether each is a Long term elegant and production ready solution. Its `holyGrail` step describes the Holy grail separately. Its `select` step chooses the best in-scope option and records one rejection reason for every other explicit candidate, including the Holy grail. It includes `plain-summary` on ready and blocked routes, so the user sees one short normal assistant response before the parent continues. The response calls the choice a plan selected for approval and cannot satisfy the later human decision. Autoplan exits through `ready` or `blocked` and returns the full candidates, selection, detailed plan when ready, plain summary, plan digest, and change status.
286
286
 
287
287
  `autodoc` accepts an already selected plan or finds it in the active conversation and referenced canonical documents. It adopts current documentation or updates the canonical specification and implementation plan, runs documentation checks, and returns a documented-plan record. It never selects a solution or implements one.
288
288
 
package/herdr-plugin.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  id = "osolmaz.pi-workflows"
2
2
  name = "pi-workflows"
3
- version = "0.13.3"
3
+ version = "0.13.4"
4
4
  min_herdr_version = "0.7.0"
5
5
  description = "Open the active pi-workflows run in piw from a managed Herdr pane."
6
6
  platforms = ["linux", "macos"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osolmaz/pi-workflows",
3
- "version": "0.13.3",
3
+ "version": "0.13.4",
4
4
  "description": "Workflow and controller runtime with a live terminal viewer for the pi coding agent",
5
5
  "keywords": [
6
6
  "pi-package"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: autoplan
3
- description: Use when the user asks to devise, choose, or plan the most elegant long-term production-ready solution, compare it with the ideal end state, and produce the best practical in-scope implementation plan without asking the user to resolve the gap.
3
+ description: Use when the user asks to devise, choose, or plan the most Long term elegant and production ready solution, compare it with the Holy grail, and produce the best practical in-scope implementation plan without asking the user to resolve the gap.
4
4
  compatibility: Requires pi-workflows and the built-in autoplan workflow.
5
5
  ---
6
6
 
@@ -37,12 +37,12 @@ When this skill is loaded inside an active workflow step, do not start another w
37
37
  Outside Pi, or when the workflow is unavailable:
38
38
 
39
39
  1. Frame the problem, observable success criteria, scope, constraints, and interfaces under our control.
40
- 2. Record two through four distinct practical candidates. Give each one a stable id, short title, plain gist, full solution, rationale, parts, and trade-offs.
41
- 3. Describe the holy grail separately. Name every dependency outside our authority.
40
+ 2. Record two through four distinct practical candidates. Ask whether each is a Long term elegant and production ready solution. Give each one a stable id, short title, plain gist, full solution, rationale, parts, and trade-offs.
41
+ 3. Describe the Holy grail separately. Ask whether it is the Holy grail for the problem. Name every dependency outside our authority.
42
42
  4. Choose the right option without asking the user to decide between them. Record one rejection reason for every other explicit candidate.
43
- - Choose the ideal when it is proportionate, production-ready, in scope, and implementable through interfaces we control.
44
- - Otherwise choose the strongest practical in-scope solution with a clear path toward the ideal.
45
- - Do not block only because the ideal requires an upstream or external change.
43
+ - Choose the Holy grail when it is proportionate, production-ready, in scope, and implementable through interfaces we control.
44
+ - Otherwise choose the strongest practical in-scope solution with a clear path toward the Holy grail.
45
+ - Do not block only because the Holy grail requires an upstream or external change.
46
46
  5. Write a detailed implementation plan. For each step, state what changes, where it changes, and how to verify it.
47
47
  6. Present one short plain assistant message with the chosen plan, its main steps, and a one-line gist and rejection reason for every other candidate. Call it selected for approval when a later human decision still applies.
48
48
  7. Stop as blocked only when no truthful in-scope solution can meet the success criteria.
@@ -96,9 +96,11 @@ function originalUserInstructions(outputs: Record<string, unknown>): string {
96
96
  }
97
97
 
98
98
  function originalInstructionsPrompt(outputs: Record<string, unknown>): string {
99
- return ["Original user instructions (authoritative):", originalUserInstructions(outputs)].join(
100
- "\n",
101
- );
99
+ return [
100
+ "Continue in this Pi session. Do not delegate this workflow step or start another session.",
101
+ "Original user instructions (authoritative):",
102
+ originalUserInstructions(outputs),
103
+ ].join("\n");
102
104
  }
103
105
 
104
106
  function requireString(value: unknown, label: string): string {
@@ -286,7 +288,7 @@ function candidateSummary(
286
288
  ideal: AutoplanIdeal,
287
289
  id: string,
288
290
  ): { id: string; title: string; gist: string } {
289
- if (id === "ideal") return { id, title: "Ideal end state", gist: ideal.ideal };
291
+ if (id === "ideal") return { id, title: "Holy grail", gist: ideal.ideal };
290
292
  const candidate = proposal.candidates.find((item) => item.id === id);
291
293
  if (candidate === undefined)
292
294
  throw new Error(`autoplan candidate ${JSON.stringify(id)} is missing`);
@@ -298,9 +300,9 @@ function summaryInput(
298
300
  blocked: boolean,
299
301
  input: AutoplanInput,
300
302
  ): PlainSummaryInput {
301
- const proposal = outputs.propose as AutoplanProposal;
302
- const selection = outputs.choose as AutoplanSelection;
303
- const ideal = outputs.ideal as AutoplanIdeal;
303
+ const proposal = outputs.solutions as AutoplanProposal;
304
+ const selection = outputs.select as AutoplanSelection;
305
+ const ideal = outputs.holyGrail as AutoplanIdeal;
304
306
  const selected = candidateSummary(proposal, ideal, selection.selectedId);
305
307
  return {
306
308
  source: {
@@ -368,6 +370,7 @@ export const autoplanWorkflow = defineWorkflow({
368
370
  statusDetail: "capturing the user's instructions",
369
371
  prompt: () =>
370
372
  [
373
+ "Continue in this Pi session. Do not delegate this workflow step or start another session.",
371
374
  "Read the conversation that came before this workflow step.",
372
375
  "Return one text string named originalUserInstructions.",
373
376
  "Include everything that the user has instructed for the intended purpose in the given context.",
@@ -398,12 +401,13 @@ export const autoplanWorkflow = defineWorkflow({
398
401
  expectedOutput: `{ "problem": "concise statement", "success": ["criterion"], "inScope": ["change"], "outOfScope": ["change"], "constraints": ["constraint"], "controlBoundary": "what can change" }`,
399
402
  validate: (value) => requireRecord(value, "autoplan frame"),
400
403
  }),
401
- propose: agent({
402
- statusDetail: "devising candidate solutions",
404
+ solutions: agent({
405
+ statusDetail: "devising long-term solutions",
403
406
  prompt: ({ outputs, input }) =>
404
407
  [
405
408
  originalInstructionsPrompt(outputs),
406
409
  "Give two to four practical options that fit the allowed scope.",
410
+ "For each option, ask: Is this a Long term elegant and production ready solution?",
407
411
  "For each option return a stable lowercase id and a short title. Add a plain gist and full solution, explain the reason and trade-offs, and list the parts.",
408
412
  "Favor a few reusable parts with clear owners and use interfaces that already exist.",
409
413
  "Reject one-off machinery and infrastructure that the task does not need.",
@@ -416,42 +420,46 @@ export const autoplanWorkflow = defineWorkflow({
416
420
  validate: (value, { input }) =>
417
421
  parseProposal(value, (input as AutoplanInput).previousPlan !== undefined),
418
422
  }),
419
- ideal: agent({
420
- statusDetail: "describing the ideal end state",
423
+ holyGrail: agent({
424
+ statusDetail: "describing the Holy grail",
421
425
  prompt: ({ outputs, input }) =>
422
426
  [
423
427
  originalInstructionsPrompt(outputs),
424
- "Describe the best possible end state separately from the practical options.",
425
- "It may match one option or go beyond the current scope.",
428
+ "Describe the Holy grail separately from the practical options.",
429
+ "Ask: Is this the Holy grail for the problem?",
430
+ "The Holy grail may match one option or go beyond the current scope.",
431
+ "Explain what makes it more Long term elegant and production ready than the practical options.",
426
432
  "List each dependency we do not control. Do not assume that it can change.",
427
- "State what this end state would improve beyond the practical options.",
433
+ "State what the Holy grail would improve beyond the practical options.",
428
434
  `Problem frame: ${JSON.stringify(outputs.frame)}`,
429
- `Candidates: ${JSON.stringify(outputs.propose)}`,
435
+ `Candidates: ${JSON.stringify(outputs.solutions)}`,
430
436
  `New evidence: ${JSON.stringify((input as AutoplanInput).newEvidence ?? null)}`,
431
437
  ].join("\n"),
432
- expectedOutput: `{ "ideal": "ideal end state", "outsideDependencies": ["dependency"], "additionalValue": ["benefit"] }`,
438
+ expectedOutput: `{ "ideal": "Holy grail end state", "outsideDependencies": ["dependency"], "additionalValue": ["benefit"] }`,
433
439
  validate: parseIdeal,
434
440
  }),
435
- choose: agent({
436
- statusDetail: "choosing the practical solution",
441
+ select: agent({
442
+ statusDetail: "selecting the solution",
437
443
  prompt: ({ outputs }) =>
438
444
  [
439
445
  originalInstructionsPrompt(outputs),
440
446
  "Select one option. Do not ask the user to choose.",
441
- "Select the ideal only when it fits the allowed scope and is ready for production. Its value must justify the added complexity.",
442
- "Otherwise select the best option we can build now that still moves toward the ideal.",
447
+ "Select the most Long term elegant and production ready option that is proportionate, in scope, and implementable through interfaces we control.",
448
+ "Select the Holy grail when it meets those conditions and its value justifies the added complexity.",
449
+ "Otherwise select the strongest practical option we can build now with a clear path toward the Holy grail.",
443
450
  "Work outside our control does not by itself make the plan blocked.",
444
451
  "Do not require changes to an upstream project or an unrelated repository. Do not require a new service or resource without approval.",
445
452
  "When two options solve the problem equally well, choose the simpler one.",
446
- "Give one specific rejection reason for every option you do not select, including the ideal.",
453
+ "Give one specific rejection reason for every option you do not select, including the Holy grail.",
447
454
  "Return blocked only if no option inside the allowed scope can meet the success criteria.",
448
455
  `Frame: ${JSON.stringify(outputs.frame)}`,
449
- `Candidates: ${JSON.stringify(outputs.propose)}`,
450
- `Ideal candidate id: ideal`,
451
- `Ideal: ${JSON.stringify(outputs.ideal)}`,
456
+ `Candidates: ${JSON.stringify(outputs.solutions)}`,
457
+ `Holy grail candidate id: ideal`,
458
+ `Holy grail: ${JSON.stringify(outputs.holyGrail)}`,
452
459
  ].join("\n"),
453
460
  expectedOutput: `{ "status": "ready" | "blocked", "selectedId": "candidate-id-or-ideal", "why": "reason", "relationshipToIdeal": "relationship", "rejected": [{ "id": "other-id", "reason": "why it lost" }], "compromises": ["compromise"], "blocker": "required only when blocked" }`,
454
- validate: (value, { outputs }) => parseSelection(value, outputs.propose as AutoplanProposal),
461
+ validate: (value, { outputs }) =>
462
+ parseSelection(value, outputs.solutions as AutoplanProposal),
455
463
  }),
456
464
  plan: agent({
457
465
  timeoutMs: 30 * 60_000,
@@ -466,8 +474,8 @@ export const autoplanWorkflow = defineWorkflow({
466
474
  "Correct the earlier plan when the new evidence proves it wrong.",
467
475
  "Do not change files.",
468
476
  `Frame: ${JSON.stringify(outputs.frame)}`,
469
- `Selection: ${JSON.stringify(outputs.choose)}`,
470
- `Candidates: ${JSON.stringify(outputs.propose)}`,
477
+ `Selection: ${JSON.stringify(outputs.select)}`,
478
+ `Candidates: ${JSON.stringify(outputs.solutions)}`,
471
479
  `Previous plan: ${JSON.stringify((input as AutoplanInput).previousPlan ?? null)}`,
472
480
  `New evidence: ${JSON.stringify((input as AutoplanInput).newEvidence ?? null)}`,
473
481
  ].join("\n"),
@@ -476,13 +484,13 @@ export const autoplanWorkflow = defineWorkflow({
476
484
  }),
477
485
  blocked: compute({
478
486
  run: ({ outputs }) => {
479
- const selection = outputs.choose as AutoplanSelection;
487
+ const selection = outputs.select as AutoplanSelection;
480
488
  return {
481
489
  status: "blocked",
482
490
  originalUserInstructions: originalUserInstructions(outputs),
483
491
  frame: outputs.frame,
484
- proposal: outputs.propose as AutoplanProposal,
485
- ideal: outputs.ideal as AutoplanIdeal,
492
+ proposal: outputs.solutions as AutoplanProposal,
493
+ ideal: outputs.holyGrail as AutoplanIdeal,
486
494
  selection,
487
495
  plainSummary: plainSummaryResult(outputs.blockedSummary, "autoplan blocked summary"),
488
496
  reason: requireString(selection.blocker, "autoplan blocker"),
@@ -499,9 +507,9 @@ export const autoplanWorkflow = defineWorkflow({
499
507
  status: "ready",
500
508
  originalUserInstructions: originalUserInstructions(outputs),
501
509
  frame: outputs.frame,
502
- proposal: outputs.propose as AutoplanProposal,
503
- ideal: outputs.ideal as AutoplanIdeal,
504
- selection: outputs.choose as AutoplanSelection,
510
+ proposal: outputs.solutions as AutoplanProposal,
511
+ ideal: outputs.holyGrail as AutoplanIdeal,
512
+ selection: outputs.select as AutoplanSelection,
505
513
  plan: outputs.plan,
506
514
  plainSummary: plainSummaryResult(outputs.readySummary, "autoplan ready summary"),
507
515
  planDigest,
@@ -513,11 +521,11 @@ export const autoplanWorkflow = defineWorkflow({
513
521
  },
514
522
  edges: [
515
523
  { from: "captureIntent", to: "frame" },
516
- { from: "frame", to: "propose" },
517
- { from: "propose", to: "ideal" },
518
- { from: "ideal", to: "choose" },
524
+ { from: "frame", to: "solutions" },
525
+ { from: "solutions", to: "holyGrail" },
526
+ { from: "holyGrail", to: "select" },
519
527
  {
520
- from: "choose",
528
+ from: "select",
521
529
  switch: { on: "$.status", cases: { ready: "plan", blocked: "blockedSummary" } },
522
530
  },
523
531
  { from: "plan", to: "readySummary" },
@@ -9,7 +9,7 @@ import sanityCheckWorkflow from "./sanity-check.workflow.js";
9
9
 
10
10
  export const builtinWorkflowCatalog = new BuiltinWorkflowCatalog([
11
11
  { id: "plain-summary", revision: "3", definition: plainSummaryWorkflow },
12
- { id: "autoplan", revision: "5", definition: autoplanWorkflow },
12
+ { id: "autoplan", revision: "6", definition: autoplanWorkflow },
13
13
  { id: "autodoc", revision: "2", definition: autodocWorkflow },
14
14
  { id: "autoimplement", revision: "11", definition: autoimplementWorkflow },
15
15
  { id: "plan-approval", revision: "4", definition: planApprovalWorkflow },