@bastani/atomic 0.8.23 → 0.8.24-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/builtin/intercom/CHANGELOG.md +13 -0
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/CHANGELOG.md +13 -0
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +28 -0
- package/dist/builtin/subagents/README.md +16 -0
- package/dist/builtin/subagents/agents/code-simplifier.md +2 -3
- package/dist/builtin/subagents/agents/codebase-analyzer.md +2 -3
- package/dist/builtin/subagents/agents/codebase-locator.md +2 -3
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +2 -3
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -3
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +2 -3
- package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -3
- package/dist/builtin/subagents/agents/debugger.md +2 -3
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/subagents/skills/subagent/SKILL.md +6 -0
- package/dist/builtin/subagents/src/agents/agent-serializer.ts +3 -0
- package/dist/builtin/subagents/src/agents/agents.ts +20 -1
- package/dist/builtin/subagents/src/runs/background/async-execution.ts +1 -1
- package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +3 -1
- package/dist/builtin/subagents/src/runs/foreground/chain-clarify.ts +7 -7
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +5 -1
- package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +9 -10
- package/dist/builtin/subagents/src/shared/types.ts +1 -0
- package/dist/builtin/web-access/CHANGELOG.md +13 -0
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/CHANGELOG.md +35 -0
- package/dist/builtin/workflows/README.md +38 -41
- package/dist/builtin/workflows/ambient.d.ts +36 -0
- package/dist/builtin/workflows/builtin/deep-research-codebase.d.ts +35 -0
- package/dist/builtin/workflows/builtin/deep-research-codebase.ts +11 -14
- package/dist/builtin/workflows/builtin/goal.d.ts +46 -0
- package/dist/builtin/workflows/builtin/goal.ts +10 -12
- package/dist/builtin/workflows/builtin/index.d.ts +136 -0
- package/dist/builtin/workflows/builtin/open-claude-design.d.ts +44 -0
- package/dist/builtin/workflows/builtin/open-claude-design.ts +19 -20
- package/dist/builtin/workflows/builtin/ralph.d.ts +36 -0
- package/dist/builtin/workflows/builtin/ralph.ts +20 -24
- package/dist/builtin/workflows/package.json +15 -5
- package/dist/builtin/workflows/src/authoring.d.ts +197 -0
- package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +6 -12
- package/dist/builtin/workflows/src/extension/workflow-schema.ts +3 -2
- package/dist/builtin/workflows/src/index.ts +0 -5
- package/dist/builtin/workflows/src/runs/foreground/executor.ts +23 -9
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +33 -5
- package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +72 -11
- package/dist/builtin/workflows/src/sdk-surface.ts +12 -2
- package/dist/builtin/workflows/src/shared/authoring-contract.d.ts +523 -0
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +1 -1
- package/dist/builtin/workflows/src/shared/types.ts +65 -350
- package/dist/builtin/workflows/src/workflows/define-workflow.ts +59 -44
- package/dist/core/atomic-guide-command.d.ts.map +1 -1
- package/dist/core/atomic-guide-command.js +1 -1
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -0
- package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.js +13 -1
- package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1 -1
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js +23 -16
- package/dist/utils/changelog.js.map +1 -1
- package/docs/extensions.md +2 -2
- package/docs/packages.md +8 -4
- package/docs/subagents.md +30 -0
- package/docs/workflows.md +62 -21
- package/package.json +20 -1
- package/dist/builtin/workflows/src/runs/shared/workflow-runner.ts +0 -335
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<b>Turn coding agents into reliable engineering workflows.</b><br>
|
|
5
|
-
An open-source
|
|
5
|
+
An open-source Atomic workflow extension: install it, author workflows in TypeScript, run them from chat.
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
8
|
<p align="center">
|
|
@@ -507,49 +507,28 @@ Press **F2** while a workflow is running to open the DAG overlay for the active
|
|
|
507
507
|
|
|
508
508
|
### Execution model
|
|
509
509
|
|
|
510
|
-
`@bastani/workflows` follows
|
|
510
|
+
`@bastani/workflows` follows Atomic's package/extension model: Atomic loads `src/extension/index.ts` from the package `atomic.extensions` manifest, with legacy `pi.extensions` still supported, then the extension registers the `workflow` tool, `/workflow` slash command, renderers, widget, and lifecycle hooks in-process.
|
|
511
511
|
|
|
512
512
|
For interactive use, run workflows through `/workflow <name> [key=value ...]` or let the LLM call the `workflow` tool. In non-interactive (`-p` / `--print` / `--mode json`) sessions, `/workflow <name> key=value` and LLM calls to the `workflow` tool remain available for deterministic workflows. The input picker and graph picker are disabled, top-level `ctx.ui.*` is unavailable, and stage child sessions exclude `ask_user_question`. Named workflow dispatch waits for the terminal run snapshot before returning.
|
|
513
513
|
|
|
514
514
|
Because human input is runtime-only and workflows no longer carry a declaration-time HIL marker, headless dispatch does not reject a workflow just because its source contains `ctx.ui.*`. If you copy the HIL example above into a non-interactive session, it can pass dispatch and then fail when execution reaches the prompt with an error such as `atomic-workflows: HIL ctx.ui.confirm is unavailable because Atomic runtime did not provide a UI adapter` (the primitive name varies). Run those workflows interactively, or guard/remove runtime `ctx.ui.*` calls before using headless mode.
|
|
515
515
|
|
|
516
|
-
For library or
|
|
516
|
+
For library or package authoring, define reusable workflows with the builder and export the compiled definition. Hand-written objects with `__piWorkflow: true` are rejected by discovery and composition; `defineWorkflow(...).compile()` is the public authoring surface. Standalone TypeScript workflow packages can import `defineWorkflow` and `Type` from `@bastani/workflows` directly with no local `.d.ts` file or `declare module` shim. The former imperative `runWorkflow` object-form API is removed; use compiled workflow definitions with the exported `run()` / registry helpers for programmatic execution.
|
|
517
517
|
|
|
518
518
|
```ts
|
|
519
|
-
import {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
} as const;
|
|
530
|
-
|
|
531
|
-
const options: WorkflowOptions = {};
|
|
532
|
-
|
|
533
|
-
await runWorkflow(definition, options);
|
|
534
|
-
|
|
535
|
-
await runWorkflow({
|
|
536
|
-
mode: "parallel",
|
|
537
|
-
task: "Audit auth changes",
|
|
538
|
-
tasks: [
|
|
539
|
-
{ name: "security", task: "Review security risks" },
|
|
540
|
-
{ name: "runtime", task: "Review runtime risks" },
|
|
541
|
-
],
|
|
542
|
-
concurrency: 2,
|
|
543
|
-
reads: ["research/context.md"],
|
|
544
|
-
output: "research/auth-audit.md",
|
|
545
|
-
outputMode: "file-only",
|
|
546
|
-
worktree: false,
|
|
547
|
-
maxOutput: { lines: 2000 },
|
|
548
|
-
artifacts: true,
|
|
549
|
-
});
|
|
519
|
+
import { defineWorkflow, Type } from "@bastani/workflows";
|
|
520
|
+
|
|
521
|
+
export default defineWorkflow("audit-auth")
|
|
522
|
+
.input("prompt", Type.String({ default: "Investigate the auth module" }))
|
|
523
|
+
.output("summary", Type.String())
|
|
524
|
+
.run(async (ctx) => {
|
|
525
|
+
const result = await ctx.task("audit", { prompt: ctx.inputs.prompt });
|
|
526
|
+
return { summary: result.text };
|
|
527
|
+
})
|
|
528
|
+
.compile();
|
|
550
529
|
```
|
|
551
530
|
|
|
552
|
-
The
|
|
531
|
+
The `workflow` tool still supports direct one-off `task`, `tasks`, and `chain` modes for agent-initiated orchestration. Those direct modes are runtime tool inputs, not workflow definition files.
|
|
553
532
|
|
|
554
533
|
For large handoffs, prefer artifact paths over prompt injection: write stage output to `output`, set `outputMode: "file-only"` when the parent only needs the path, pass paths with `reads`, and instruct downstream agents explicitly with wording like `Read the file at <path>...`. Reserve `previous`/`{previous}` for compact summaries; avoid passing full session histories, all prior stage outputs, or every review round directly into the next model prompt. In review loops, save JSON review artifacts and pass only the latest review-round artifact, with a ledger or index file linking older rounds when needed.
|
|
555
534
|
|
|
@@ -636,13 +615,15 @@ Child workflow outputs: `output_type`, `design_system`, `artifact`, `handoff`, `
|
|
|
636
615
|
|
|
637
616
|
## Custom workflow discovery
|
|
638
617
|
|
|
639
|
-
`@bastani/workflows`
|
|
618
|
+
`@bastani/workflows` discovers workflow files from project-local paths, user-global paths, configured workflow paths, installed Atomic package resources, and bundled workflows:
|
|
640
619
|
|
|
641
|
-
| Location
|
|
642
|
-
|
|
|
643
|
-
| `.atomic/workflows/*.ts`
|
|
644
|
-
| `~/.atomic/agent/workflows/*.ts`
|
|
645
|
-
| `workflows.<name>.path` in config
|
|
620
|
+
| Location | Scope | Example path |
|
|
621
|
+
| ---------------------------------- | ---------- | -------------------------------------------------------------------------------------- |
|
|
622
|
+
| `.atomic/workflows/*.ts` | Project | `.atomic/workflows/my-workflow.ts` |
|
|
623
|
+
| `~/.atomic/agent/workflows/*.ts` | User | `~/.atomic/agent/workflows/my-workflow.ts` |
|
|
624
|
+
| `workflows.<name>.path` in config | Configured | see config example below |
|
|
625
|
+
| Installed Atomic package workflows | Package | `atomic.workflows`, legacy `pi.workflows`, or `workflows/` / `workflow/` directories |
|
|
626
|
+
| Bundled workflows | Built-in | shipped with `@bastani/workflows` |
|
|
646
627
|
|
|
647
628
|
Config-based discovery (`~/.atomic/agent/extensions/workflow/config.json` or `.atomic/extensions/workflow/config.json`):
|
|
648
629
|
|
|
@@ -667,3 +648,19 @@ MIT — see [LICENSE](LICENSE).
|
|
|
667
648
|
---
|
|
668
649
|
|
|
669
650
|
**Development:** see [DEV_SETUP.md](../../DEV_SETUP.md) for setup, testing, layout, and the local-extension dev loop.
|
|
651
|
+
|
|
652
|
+
## Model reasoning levels
|
|
653
|
+
|
|
654
|
+
Workflow stage `model` and `fallbackModels` strings support suffix-first reasoning levels using the `model_name:thinking_effort` syntax: append `:off`, `:minimal`, `:low`, `:medium`, `:high`, or `:xhigh` to the model id (for example `openai/gpt-5:high` or `anthropic/claude-haiku-4-5:off`). A suffix on a fallback candidate controls only that retry attempt, so fallback chains can mix reasoning levels.
|
|
655
|
+
|
|
656
|
+
The older `thinkingLevel` stage option remains accepted as a deprecated default for candidates without a suffix. If both are present, the model suffix wins. Migrate legacy `thinkingLevel` stages by folding the effort into the model strings:
|
|
657
|
+
|
|
658
|
+
```diff
|
|
659
|
+
- model: "openai/gpt-5.5",
|
|
660
|
+
- fallbackModels: ["anthropic/claude-opus-4-8"],
|
|
661
|
+
- thinkingLevel: "high",
|
|
662
|
+
+ model: "openai/gpt-5.5:high",
|
|
663
|
+
+ fallbackModels: ["anthropic/claude-opus-4-8:high"],
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
`fallbackThinkingLevels` is an optional compatibility helper aligned by index to `fallbackModels`; it is used only for fallback entries that do not already include a suffix.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// AUTO-GENERATED by scripts/copy-builtin-packages.ts (issue #1208). Do not edit by hand.
|
|
2
|
+
//
|
|
3
|
+
// Ambient bridge so the documented bare specifier `@bastani/workflows` (and its
|
|
4
|
+
// `builtin/*` submodules) type-check in installed packages that depend only on
|
|
5
|
+
// @bastani/atomic. Runtime resolution is unchanged: Atomic's jiti virtual-module
|
|
6
|
+
// loader still supplies the real SDK when workflow files load; these declarations
|
|
7
|
+
// only affect `tsc`. Each module is declared in exactly one file to avoid
|
|
8
|
+
// TS2666 / duplicate-identifier errors.
|
|
9
|
+
|
|
10
|
+
declare module "@bastani/workflows" {
|
|
11
|
+
export * from "@bastani/atomic/workflows";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare module "@bastani/workflows/builtin" {
|
|
15
|
+
export * from "@bastani/atomic/workflows/builtin";
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
declare module "@bastani/workflows/builtin/deep-research-codebase" {
|
|
19
|
+
export * from "@bastani/atomic/workflows/builtin/deep-research-codebase";
|
|
20
|
+
export { default } from "@bastani/atomic/workflows/builtin/deep-research-codebase";
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare module "@bastani/workflows/builtin/goal" {
|
|
24
|
+
export * from "@bastani/atomic/workflows/builtin/goal";
|
|
25
|
+
export { default } from "@bastani/atomic/workflows/builtin/goal";
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
declare module "@bastani/workflows/builtin/open-claude-design" {
|
|
29
|
+
export * from "@bastani/atomic/workflows/builtin/open-claude-design";
|
|
30
|
+
export { default } from "@bastani/atomic/workflows/builtin/open-claude-design";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
declare module "@bastani/workflows/builtin/ralph" {
|
|
34
|
+
export * from "@bastani/atomic/workflows/builtin/ralph";
|
|
35
|
+
export { default } from "@bastani/atomic/workflows/builtin/ralph";
|
|
36
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { WorkflowDefinition, WorkflowInputValues, WorkflowOutputValues } from "../src/authoring.js";
|
|
2
|
+
|
|
3
|
+
export type DeepResearchCodebaseWorkflowInputs = WorkflowInputValues & {
|
|
4
|
+
readonly prompt: string;
|
|
5
|
+
readonly max_partitions: number;
|
|
6
|
+
readonly max_concurrency: number;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type DeepResearchCodebaseWorkflowRunInputs = WorkflowInputValues & {
|
|
10
|
+
readonly prompt: string;
|
|
11
|
+
readonly max_partitions?: number;
|
|
12
|
+
readonly max_concurrency?: number;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type DeepResearchCodebaseWorkflowOutputs = WorkflowOutputValues & {
|
|
16
|
+
readonly result?: string;
|
|
17
|
+
readonly findings?: string;
|
|
18
|
+
readonly research_doc_path?: string;
|
|
19
|
+
readonly artifact_dir?: string;
|
|
20
|
+
readonly manifest_path?: string;
|
|
21
|
+
readonly partitions?: string[];
|
|
22
|
+
readonly explorer_count?: number;
|
|
23
|
+
readonly specialist_count?: number;
|
|
24
|
+
readonly max_concurrency?: number;
|
|
25
|
+
readonly history?: string;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type DeepResearchCodebaseWorkflowDefinition = WorkflowDefinition<
|
|
29
|
+
DeepResearchCodebaseWorkflowInputs,
|
|
30
|
+
DeepResearchCodebaseWorkflowOutputs,
|
|
31
|
+
DeepResearchCodebaseWorkflowRunInputs
|
|
32
|
+
>;
|
|
33
|
+
|
|
34
|
+
declare const workflow: DeepResearchCodebaseWorkflowDefinition;
|
|
35
|
+
export default workflow;
|
|
@@ -15,7 +15,6 @@ import { defineWorkflow } from "../src/workflows/define-workflow.js";
|
|
|
15
15
|
import { Type } from "typebox";
|
|
16
16
|
import type {
|
|
17
17
|
WorkflowOutputMode,
|
|
18
|
-
WorkflowOutputValues,
|
|
19
18
|
WorkflowTaskResult,
|
|
20
19
|
WorkflowTaskStep,
|
|
21
20
|
} from "../src/shared/types.js";
|
|
@@ -30,7 +29,7 @@ const GIT_LS_FILES_TIMEOUT_MS = 2_000;
|
|
|
30
29
|
|
|
31
30
|
type PromptSection = readonly [tag: string, content: string];
|
|
32
31
|
|
|
33
|
-
interface DeepResearchCodebaseResult
|
|
32
|
+
interface DeepResearchCodebaseResult {
|
|
34
33
|
readonly result: string;
|
|
35
34
|
readonly findings: string;
|
|
36
35
|
readonly research_doc_path: string;
|
|
@@ -413,26 +412,24 @@ export default defineWorkflow("deep-research-codebase")
|
|
|
413
412
|
);
|
|
414
413
|
|
|
415
414
|
const plannerModelConfig = {
|
|
416
|
-
model: "openai/gpt-5.5",
|
|
415
|
+
model: "openai/gpt-5.5:xhigh",
|
|
417
416
|
fallbackModels: [
|
|
418
|
-
"openai-codex/gpt-5.5",
|
|
419
|
-
"github-copilot/gpt-5.5",
|
|
420
|
-
"anthropic/claude-opus-4-8",
|
|
421
|
-
"github-copilot/claude-opus-4.
|
|
417
|
+
"openai-codex/gpt-5.5:xhigh",
|
|
418
|
+
"github-copilot/gpt-5.5:xhigh",
|
|
419
|
+
"anthropic/claude-opus-4-8:xhigh",
|
|
420
|
+
"github-copilot/claude-opus-4.8:medium",
|
|
422
421
|
],
|
|
423
|
-
thinkingLevel: "high" as const,
|
|
424
422
|
excludedTools: ["ask_user_question"],
|
|
425
423
|
};
|
|
426
424
|
|
|
427
425
|
const explorerModelConfig = {
|
|
428
|
-
model: "openai/gpt-5.4-mini",
|
|
426
|
+
model: "openai/gpt-5.4-mini:low",
|
|
429
427
|
fallbackModels: [
|
|
430
|
-
"openai-codex/gpt-5.4-mini",
|
|
431
|
-
"github-copilot/gpt-5.4-mini",
|
|
432
|
-
"anthropic/claude-haiku-4-5",
|
|
433
|
-
"github-copilot/claude-haiku-4.5",
|
|
428
|
+
"openai-codex/gpt-5.4-mini:low",
|
|
429
|
+
"github-copilot/gpt-5.4-mini:low",
|
|
430
|
+
"anthropic/claude-haiku-4-5:low",
|
|
431
|
+
"github-copilot/claude-haiku-4.5:low",
|
|
434
432
|
],
|
|
435
|
-
thinkingLevel: "low" as const,
|
|
436
433
|
excludedTools: ["ask_user_question"],
|
|
437
434
|
};
|
|
438
435
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { WorkflowDefinition, WorkflowInputValues, WorkflowOutputValues } from "../src/authoring.js";
|
|
2
|
+
|
|
3
|
+
export type GoalWorkflowStatus = "active" | "complete" | "blocked" | "needs_human";
|
|
4
|
+
|
|
5
|
+
export type GoalWorkflowReceipt = {
|
|
6
|
+
readonly turn: number;
|
|
7
|
+
readonly stage: string;
|
|
8
|
+
readonly artifact_path: string;
|
|
9
|
+
readonly summary: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type GoalWorkflowInputs = WorkflowInputValues & {
|
|
13
|
+
readonly objective: string;
|
|
14
|
+
readonly max_turns: number;
|
|
15
|
+
readonly base_branch: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type GoalWorkflowRunInputs = WorkflowInputValues & {
|
|
19
|
+
readonly objective: string;
|
|
20
|
+
readonly max_turns?: number;
|
|
21
|
+
readonly base_branch?: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export type GoalWorkflowOutputs = WorkflowOutputValues & {
|
|
25
|
+
readonly result?: string;
|
|
26
|
+
readonly status?: GoalWorkflowStatus;
|
|
27
|
+
readonly approved?: boolean;
|
|
28
|
+
readonly goal_id?: string;
|
|
29
|
+
readonly objective?: string;
|
|
30
|
+
readonly ledger_path?: string;
|
|
31
|
+
readonly turns_completed?: number;
|
|
32
|
+
readonly iterations_completed?: number;
|
|
33
|
+
readonly receipts?: GoalWorkflowReceipt[];
|
|
34
|
+
readonly remaining_work?: string;
|
|
35
|
+
readonly review_report?: string;
|
|
36
|
+
readonly review_report_path?: string;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export type GoalWorkflowDefinition = WorkflowDefinition<
|
|
40
|
+
GoalWorkflowInputs,
|
|
41
|
+
GoalWorkflowOutputs,
|
|
42
|
+
GoalWorkflowRunInputs
|
|
43
|
+
>;
|
|
44
|
+
|
|
45
|
+
declare const workflow: GoalWorkflowDefinition;
|
|
46
|
+
export default workflow;
|
|
@@ -1026,26 +1026,24 @@ export default defineWorkflow("goal")
|
|
|
1026
1026
|
const { ledger, ledgerPath, artifactDir } = await createGoalLedger(objective);
|
|
1027
1027
|
|
|
1028
1028
|
const workerModelConfig = {
|
|
1029
|
-
model: "openai/gpt-5.5",
|
|
1029
|
+
model: "openai/gpt-5.5:medium",
|
|
1030
1030
|
fallbackModels: [
|
|
1031
|
-
"openai-codex/gpt-5.5",
|
|
1032
|
-
"github-copilot/gpt-5.5",
|
|
1033
|
-
"anthropic/claude-sonnet-4-
|
|
1034
|
-
"github-copilot/claude-sonnet-4.
|
|
1031
|
+
"openai-codex/gpt-5.5:medium",
|
|
1032
|
+
"github-copilot/gpt-5.5:medium",
|
|
1033
|
+
"anthropic/claude-sonnet-4-8:medium",
|
|
1034
|
+
"github-copilot/claude-sonnet-4.8:medium",
|
|
1035
1035
|
],
|
|
1036
|
-
thinkingLevel: "low" as const,
|
|
1037
1036
|
tools: goalRunnerTools,
|
|
1038
1037
|
};
|
|
1039
1038
|
|
|
1040
1039
|
const reviewerModelConfig = {
|
|
1041
|
-
model: "openai/gpt-5.5",
|
|
1040
|
+
model: "openai/gpt-5.5:xhigh",
|
|
1042
1041
|
fallbackModels: [
|
|
1043
|
-
"openai-codex/gpt-5.5",
|
|
1044
|
-
"github-copilot/gpt-5.5",
|
|
1045
|
-
"anthropic/claude-sonnet-4-
|
|
1046
|
-
"github-copilot/claude-sonnet-4.
|
|
1042
|
+
"openai-codex/gpt-5.5:xhigh",
|
|
1043
|
+
"github-copilot/gpt-5.5:xhigh",
|
|
1044
|
+
"anthropic/claude-sonnet-4-8:xhigh",
|
|
1045
|
+
"github-copilot/claude-sonnet-4.8:medium",
|
|
1047
1046
|
],
|
|
1048
|
-
thinkingLevel: "high" as const,
|
|
1049
1047
|
tools: [...goalRunnerTools, reviewDecisionTool.name],
|
|
1050
1048
|
customTools: [reviewDecisionTool],
|
|
1051
1049
|
};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { WorkflowDefinition, WorkflowInputValues, WorkflowOutputValues } from "../src/authoring.js";
|
|
2
|
+
|
|
3
|
+
export type DeepResearchCodebaseWorkflowInputs = WorkflowInputValues & {
|
|
4
|
+
readonly prompt: string;
|
|
5
|
+
readonly max_partitions: number;
|
|
6
|
+
readonly max_concurrency: number;
|
|
7
|
+
};
|
|
8
|
+
export type DeepResearchCodebaseWorkflowRunInputs = WorkflowInputValues & {
|
|
9
|
+
readonly prompt: string;
|
|
10
|
+
readonly max_partitions?: number;
|
|
11
|
+
readonly max_concurrency?: number;
|
|
12
|
+
};
|
|
13
|
+
export type DeepResearchCodebaseWorkflowOutputs = WorkflowOutputValues & {
|
|
14
|
+
readonly result?: string;
|
|
15
|
+
readonly findings?: string;
|
|
16
|
+
readonly research_doc_path?: string;
|
|
17
|
+
readonly artifact_dir?: string;
|
|
18
|
+
readonly manifest_path?: string;
|
|
19
|
+
readonly partitions?: string[];
|
|
20
|
+
readonly explorer_count?: number;
|
|
21
|
+
readonly specialist_count?: number;
|
|
22
|
+
readonly max_concurrency?: number;
|
|
23
|
+
readonly history?: string;
|
|
24
|
+
};
|
|
25
|
+
export type DeepResearchCodebaseWorkflowDefinition = WorkflowDefinition<
|
|
26
|
+
DeepResearchCodebaseWorkflowInputs,
|
|
27
|
+
DeepResearchCodebaseWorkflowOutputs,
|
|
28
|
+
DeepResearchCodebaseWorkflowRunInputs
|
|
29
|
+
>;
|
|
30
|
+
|
|
31
|
+
export type GoalWorkflowStatus = "active" | "complete" | "blocked" | "needs_human";
|
|
32
|
+
export type GoalWorkflowReceipt = {
|
|
33
|
+
readonly turn: number;
|
|
34
|
+
readonly stage: string;
|
|
35
|
+
readonly artifact_path: string;
|
|
36
|
+
readonly summary: string;
|
|
37
|
+
};
|
|
38
|
+
export type GoalWorkflowInputs = WorkflowInputValues & {
|
|
39
|
+
readonly objective: string;
|
|
40
|
+
readonly max_turns: number;
|
|
41
|
+
readonly base_branch: string;
|
|
42
|
+
};
|
|
43
|
+
export type GoalWorkflowRunInputs = WorkflowInputValues & {
|
|
44
|
+
readonly objective: string;
|
|
45
|
+
readonly max_turns?: number;
|
|
46
|
+
readonly base_branch?: string;
|
|
47
|
+
};
|
|
48
|
+
export type GoalWorkflowOutputs = WorkflowOutputValues & {
|
|
49
|
+
readonly result?: string;
|
|
50
|
+
readonly status?: GoalWorkflowStatus;
|
|
51
|
+
readonly approved?: boolean;
|
|
52
|
+
readonly goal_id?: string;
|
|
53
|
+
readonly objective?: string;
|
|
54
|
+
readonly ledger_path?: string;
|
|
55
|
+
readonly turns_completed?: number;
|
|
56
|
+
readonly iterations_completed?: number;
|
|
57
|
+
readonly receipts?: GoalWorkflowReceipt[];
|
|
58
|
+
readonly remaining_work?: string;
|
|
59
|
+
readonly review_report?: string;
|
|
60
|
+
readonly review_report_path?: string;
|
|
61
|
+
};
|
|
62
|
+
export type GoalWorkflowDefinition = WorkflowDefinition<
|
|
63
|
+
GoalWorkflowInputs,
|
|
64
|
+
GoalWorkflowOutputs,
|
|
65
|
+
GoalWorkflowRunInputs
|
|
66
|
+
>;
|
|
67
|
+
|
|
68
|
+
export type RalphWorkflowInputs = WorkflowInputValues & {
|
|
69
|
+
readonly prompt: string;
|
|
70
|
+
readonly max_loops: number;
|
|
71
|
+
readonly base_branch: string;
|
|
72
|
+
readonly git_worktree_dir: string;
|
|
73
|
+
};
|
|
74
|
+
export type RalphWorkflowRunInputs = WorkflowInputValues & {
|
|
75
|
+
readonly prompt: string;
|
|
76
|
+
readonly max_loops?: number;
|
|
77
|
+
readonly base_branch?: string;
|
|
78
|
+
readonly git_worktree_dir?: string;
|
|
79
|
+
};
|
|
80
|
+
export type RalphWorkflowOutputs = WorkflowOutputValues & {
|
|
81
|
+
readonly result?: string;
|
|
82
|
+
readonly plan?: string;
|
|
83
|
+
readonly plan_path?: string;
|
|
84
|
+
readonly implementation_notes_path?: string;
|
|
85
|
+
readonly pr_report?: string;
|
|
86
|
+
readonly approved?: boolean;
|
|
87
|
+
readonly iterations_completed?: number;
|
|
88
|
+
readonly review_report?: string;
|
|
89
|
+
readonly review_report_path?: string;
|
|
90
|
+
};
|
|
91
|
+
export type RalphWorkflowDefinition = WorkflowDefinition<
|
|
92
|
+
RalphWorkflowInputs,
|
|
93
|
+
RalphWorkflowOutputs,
|
|
94
|
+
RalphWorkflowRunInputs
|
|
95
|
+
>;
|
|
96
|
+
|
|
97
|
+
export type OpenClaudeDesignOutputType = "prototype" | "wireframe" | "page" | "component" | "theme" | "tokens";
|
|
98
|
+
export type OpenClaudeDesignWorkflowInputs = WorkflowInputValues & {
|
|
99
|
+
readonly prompt: string;
|
|
100
|
+
readonly reference?: string;
|
|
101
|
+
readonly output_type: OpenClaudeDesignOutputType;
|
|
102
|
+
readonly design_system?: string;
|
|
103
|
+
readonly max_refinements: number;
|
|
104
|
+
};
|
|
105
|
+
export type OpenClaudeDesignWorkflowRunInputs = WorkflowInputValues & {
|
|
106
|
+
readonly prompt: string;
|
|
107
|
+
readonly reference?: string;
|
|
108
|
+
readonly output_type?: OpenClaudeDesignOutputType;
|
|
109
|
+
readonly design_system?: string;
|
|
110
|
+
readonly max_refinements?: number;
|
|
111
|
+
};
|
|
112
|
+
export type OpenClaudeDesignWorkflowOutputs = WorkflowOutputValues & {
|
|
113
|
+
readonly output_type?: string;
|
|
114
|
+
readonly design_system?: string;
|
|
115
|
+
readonly artifact?: string;
|
|
116
|
+
readonly handoff?: string;
|
|
117
|
+
readonly approved_for_export?: boolean;
|
|
118
|
+
readonly refinements_completed?: number;
|
|
119
|
+
readonly import_context?: string;
|
|
120
|
+
readonly run_id?: string;
|
|
121
|
+
readonly artifact_dir?: string;
|
|
122
|
+
readonly preview_path?: string;
|
|
123
|
+
readonly preview_file_url?: string;
|
|
124
|
+
readonly spec_path?: string;
|
|
125
|
+
readonly spec_file_url?: string;
|
|
126
|
+
};
|
|
127
|
+
export type OpenClaudeDesignWorkflowDefinition = WorkflowDefinition<
|
|
128
|
+
OpenClaudeDesignWorkflowInputs,
|
|
129
|
+
OpenClaudeDesignWorkflowOutputs,
|
|
130
|
+
OpenClaudeDesignWorkflowRunInputs
|
|
131
|
+
>;
|
|
132
|
+
|
|
133
|
+
export declare const deepResearchCodebase: DeepResearchCodebaseWorkflowDefinition;
|
|
134
|
+
export declare const goal: GoalWorkflowDefinition;
|
|
135
|
+
export declare const ralph: RalphWorkflowDefinition;
|
|
136
|
+
export declare const openClaudeDesign: OpenClaudeDesignWorkflowDefinition;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { WorkflowDefinition, WorkflowInputValues, WorkflowOutputValues } from "../src/authoring.js";
|
|
2
|
+
|
|
3
|
+
export type OpenClaudeDesignOutputType = "prototype" | "wireframe" | "page" | "component" | "theme" | "tokens";
|
|
4
|
+
|
|
5
|
+
export type OpenClaudeDesignWorkflowInputs = WorkflowInputValues & {
|
|
6
|
+
readonly prompt: string;
|
|
7
|
+
readonly reference?: string;
|
|
8
|
+
readonly output_type: OpenClaudeDesignOutputType;
|
|
9
|
+
readonly design_system?: string;
|
|
10
|
+
readonly max_refinements: number;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export type OpenClaudeDesignWorkflowRunInputs = WorkflowInputValues & {
|
|
14
|
+
readonly prompt: string;
|
|
15
|
+
readonly reference?: string;
|
|
16
|
+
readonly output_type?: OpenClaudeDesignOutputType;
|
|
17
|
+
readonly design_system?: string;
|
|
18
|
+
readonly max_refinements?: number;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type OpenClaudeDesignWorkflowOutputs = WorkflowOutputValues & {
|
|
22
|
+
readonly output_type?: string;
|
|
23
|
+
readonly design_system?: string;
|
|
24
|
+
readonly artifact?: string;
|
|
25
|
+
readonly handoff?: string;
|
|
26
|
+
readonly approved_for_export?: boolean;
|
|
27
|
+
readonly refinements_completed?: number;
|
|
28
|
+
readonly import_context?: string;
|
|
29
|
+
readonly run_id?: string;
|
|
30
|
+
readonly artifact_dir?: string;
|
|
31
|
+
readonly preview_path?: string;
|
|
32
|
+
readonly preview_file_url?: string;
|
|
33
|
+
readonly spec_path?: string;
|
|
34
|
+
readonly spec_file_url?: string;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type OpenClaudeDesignWorkflowDefinition = WorkflowDefinition<
|
|
38
|
+
OpenClaudeDesignWorkflowInputs,
|
|
39
|
+
OpenClaudeDesignWorkflowOutputs,
|
|
40
|
+
OpenClaudeDesignWorkflowRunInputs
|
|
41
|
+
>;
|
|
42
|
+
|
|
43
|
+
declare const workflow: OpenClaudeDesignWorkflowDefinition;
|
|
44
|
+
export default workflow;
|