@open-mercato/cezar 0.9.1 → 0.9.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/README.md +19 -11
- package/dist/agent-config/catalog.d.ts +1 -1
- package/dist/agent-config/files.d.ts +1 -1
- package/dist/agent-config/service.d.ts +1 -1
- package/dist/agent-config/validate.d.ts +1 -1
- package/dist/automations/coordinator.d.ts +26 -0
- package/dist/automations/coordinator.js +66 -0
- package/dist/automations/coordinator.js.map +1 -0
- package/dist/automations/github-poller.d.ts +74 -0
- package/dist/automations/github-poller.js +234 -0
- package/dist/automations/github-poller.js.map +1 -0
- package/dist/automations/scheduler.d.ts +42 -0
- package/dist/automations/scheduler.js +192 -0
- package/dist/automations/scheduler.js.map +1 -0
- package/dist/automations/store.d.ts +65 -0
- package/dist/automations/store.js +298 -0
- package/dist/automations/store.js.map +1 -0
- package/dist/automations/task-template.d.ts +18 -0
- package/dist/automations/task-template.js +95 -0
- package/dist/automations/task-template.js.map +1 -0
- package/dist/automations/types.d.ts +251 -0
- package/dist/automations/types.js +158 -0
- package/dist/automations/types.js.map +1 -0
- package/dist/config.d.ts +9 -111
- package/dist/contract/agent-config.d.ts +151 -0
- package/dist/contract/automations.d.ts +911 -0
- package/dist/contract/events.d.ts +45 -0
- package/dist/contract/github.d.ts +467 -0
- package/dist/contract/health.d.ts +96 -0
- package/dist/contract/index.d.ts +15 -0
- package/dist/contract/index.js +1421 -0
- package/dist/contract/projects.d.ts +182 -0
- package/dist/contract/repo.d.ts +234 -0
- package/dist/contract/runs.d.ts +1226 -0
- package/dist/contract/skills.d.ts +225 -0
- package/dist/contract/workflows.d.ts +212 -0
- package/dist/contract/workspace.d.ts +442 -0
- package/dist/core/agent-env.d.ts +1 -1
- package/dist/core/agent-runner.d.ts +12 -1
- package/dist/core/agent-runner.js +13 -0
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/ask.d.ts +45 -124
- package/dist/core/ask.js +103 -13
- package/dist/core/ask.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +2 -2
- package/dist/core/claude-cli-runner.js +52 -9
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/claude-ui-mapper.d.ts +1 -1
- package/dist/core/codex-app-server-runner.d.ts +1 -1
- package/dist/core/codex-app-server-runner.js +55 -3
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +6 -1
- package/dist/core/codex-app-server-transport.js +12 -3
- package/dist/core/codex-app-server-transport.js.map +1 -1
- package/dist/core/codex-model-catalog.d.ts +1 -1
- package/dist/core/codex-ui-mapper.d.ts +5 -1
- package/dist/core/codex-ui-mapper.js +74 -17
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/model-identity.d.ts +1 -1
- package/dist/core/model-presets.d.ts +2 -2
- package/dist/core/model-presets.js +1 -1
- package/dist/core/opencode-server-runner.d.ts +2 -2
- package/dist/core/opencode-ui-mapper.d.ts +4 -1
- package/dist/core/opencode-ui-mapper.js +45 -7
- package/dist/core/opencode-ui-mapper.js.map +1 -1
- package/dist/core/provider-auth.d.ts +62 -0
- package/dist/core/provider-auth.js +290 -0
- package/dist/core/provider-auth.js.map +1 -0
- package/dist/core/provider-availability.d.ts +3 -0
- package/dist/core/provider-availability.js +13 -0
- package/dist/core/provider-availability.js.map +1 -0
- package/dist/core/runner-factory.d.ts +1 -1
- package/dist/core/runner-model-catalog.d.ts +1 -1
- package/dist/core/tool-display.d.ts +1 -1
- package/dist/core/ui-events.d.ts +1 -1
- package/dist/core/ui-events.js +1 -1
- package/dist/git-diff-base.d.ts +60 -0
- package/dist/git-diff-base.js +54 -0
- package/dist/git-diff-base.js.map +1 -0
- package/dist/git-worktree.d.ts +37 -6
- package/dist/git-worktree.js +39 -9
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +2 -2
- package/dist/handoff.js +1 -1
- package/dist/index.js +65 -8
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +16 -1
- package/dist/paths.js +24 -1
- package/dist/paths.js.map +1 -1
- package/dist/planner.d.ts +2 -2
- package/dist/planner.js +1 -1
- package/dist/planner.js.map +1 -1
- package/dist/release/manifests.d.ts +81 -0
- package/dist/release/manifests.js +74 -0
- package/dist/release/manifests.js.map +1 -0
- package/dist/release/snapshot.d.ts +9 -23
- package/dist/release/snapshot.js +9 -22
- package/dist/release/snapshot.js.map +1 -1
- package/dist/release/stable.d.ts +15 -29
- package/dist/release/stable.js +14 -27
- package/dist/release/stable.js.map +1 -1
- package/dist/runs/auto-name.d.ts +1 -1
- package/dist/runs/retention.d.ts +1 -1
- package/dist/runs/store.d.ts +142 -336
- package/dist/runs/store.js +136 -9
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/ui-event-sink.d.ts +1 -1
- package/dist/server/app-type.d.ts +21 -0
- package/dist/server/app-type.js +2 -0
- package/dist/server/app-type.js.map +1 -0
- package/dist/server/capabilities.d.ts +6 -5
- package/dist/server/capabilities.js +11 -0
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/forge/github.d.ts +58 -151
- package/dist/server/forge/github.js +530 -6
- package/dist/server/forge/github.js.map +1 -1
- package/dist/server/forge/index.d.ts +10 -3
- package/dist/server/forge/index.js +14 -1
- package/dist/server/forge/index.js.map +1 -1
- package/dist/server/forge/types.d.ts +86 -1
- package/dist/server/git-changes.d.ts +8 -8
- package/dist/server/git-changes.js +14 -17
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/git.d.ts +2 -0
- package/dist/server/git.js +9 -0
- package/dist/server/git.js.map +1 -1
- package/dist/server/github.d.ts +3 -3
- package/dist/server/github.js +1 -1
- package/dist/server/github.js.map +1 -1
- package/dist/server/pr.d.ts +2 -2
- package/dist/server/project-context.d.ts +20 -3
- package/dist/server/project-context.js +30 -1
- package/dist/server/project-context.js.map +1 -1
- package/dist/server/provider-action-gate.d.ts +8 -0
- package/dist/server/provider-action-gate.js +54 -0
- package/dist/server/provider-action-gate.js.map +1 -0
- package/dist/server/provider-auth-runtime.d.ts +21 -0
- package/dist/server/provider-auth-runtime.js +66 -0
- package/dist/server/provider-auth-runtime.js.map +1 -0
- package/dist/server/server.d.ts +11142 -47
- package/dist/server/server.js +1714 -806
- package/dist/server/server.js.map +1 -1
- package/dist/server/validators.d.ts +97 -0
- package/dist/server/validators.js +86 -0
- package/dist/server/validators.js.map +1 -0
- package/dist/server/ws.d.ts +2 -2
- package/dist/server/ws.js +2 -2
- package/dist/server/ws.js.map +1 -1
- package/dist/server-install/engine.d.ts +1 -1
- package/dist/server-install/platforms/macosx-ngrok.d.ts +1 -1
- package/dist/server-install/platforms/ubuntu-vps.d.ts +16 -1
- package/dist/server-install/platforms/ubuntu-vps.js +83 -1
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
- package/dist/server-install/state.d.ts +1 -1
- package/dist/server-install/steps.d.ts +2 -2
- package/dist/server-install/strategies.d.ts +1 -1
- package/dist/server-install/types.d.ts +38 -424
- package/dist/server-install/ui.d.ts +1 -1
- package/dist/skills-banner.d.ts +7 -6
- package/dist/skills-banner.js +7 -6
- package/dist/skills-banner.js.map +1 -1
- package/dist/skills-remote.d.ts +2 -2
- package/dist/skills-update.d.ts +88 -0
- package/dist/skills-update.js +392 -0
- package/dist/skills-update.js.map +1 -0
- package/dist/skills.d.ts +2 -0
- package/dist/skills.js +3 -2
- package/dist/skills.js.map +1 -1
- package/dist/todos.d.ts +2 -28
- package/dist/todos.js +1 -1
- package/dist/ui-state.d.ts +16 -2
- package/dist/ui-state.js +14 -1
- package/dist/ui-state.js.map +1 -1
- package/dist/workflows/load.d.ts +1 -1
- package/dist/workflows/run.d.ts +53 -12
- package/dist/workflows/run.js +436 -64
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/types.d.ts +59 -224
- package/dist/workflows/types.js +14 -0
- package/dist/workflows/types.js.map +1 -1
- package/dist/workspace/config.d.ts +68 -206
- package/dist/workspace/config.js +145 -14
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/migrations.d.ts +1 -1
- package/dist/workspace/migrations.js +19 -4
- package/dist/workspace/migrations.js.map +1 -1
- package/dist/workspace/projects.d.ts +8 -2
- package/dist/workspace/projects.js +9 -3
- package/dist/workspace/projects.js.map +1 -1
- package/dist/workspace/semaphore.d.ts +6 -0
- package/dist/workspace/semaphore.js +14 -1
- package/dist/workspace/semaphore.js.map +1 -1
- package/dist/workspace/ui-state.d.ts +13 -3
- package/dist/workspace/ui-state.js +15 -5
- package/dist/workspace/ui-state.js.map +1 -1
- package/package.json +17 -39
- package/scripts/inline-contract.mjs +112 -0
- package/scripts/mock-claude.mjs +39 -1
- package/scripts/sync-readme.mjs +20 -0
- package/web/dist/assets/alert-dialog-ghffK6g9.js +1 -0
- package/web/dist/assets/arrow-down-Cz8qb71e.js +1 -0
- package/web/dist/assets/arrow-left-wcYKQXI_.js +1 -0
- package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
- package/web/dist/assets/centered-state-ZtnFHA-n.js +43 -0
- package/web/dist/assets/chevron-right-G4caF2QV.js +1 -0
- package/web/dist/assets/{chunk-BO2N2NFS-DtrdTCWa.js → chunk-BO2N2NFS-DE6qKn3r.js} +8 -8
- package/web/dist/assets/circle-check--KvBxXWp.js +1 -0
- package/web/dist/assets/circle-x-C3EFZ3xf.js +1 -0
- package/web/dist/assets/collapsible-B0JVzd0B.js +1 -0
- package/web/dist/assets/commit-list-wm6DPHNs.js +1 -0
- package/web/dist/assets/compare-variants-DbdP4Y5T.js +1 -0
- package/web/dist/assets/{core-DePtBHcl.js → core-BCsw8oQw.js} +1 -1
- package/web/dist/assets/diff-Bizc96qe.js +3 -0
- package/web/dist/assets/diff-stat-Dyfg3ltF.js +1 -0
- package/web/dist/assets/{diff-view-DCeSegKk.js → diff-view-CG8ek6tC.js} +4 -4
- package/web/dist/assets/dropdown-menu-C1Dlf35P.js +1 -0
- package/web/dist/assets/editable-title-5rC_QRBZ.js +1 -0
- package/web/dist/assets/{ellipsis-vertical-CNnSLn5a.js → ellipsis-vertical-DpGTRqC2.js} +1 -1
- package/web/dist/assets/{file-D4GBh1ao.js → file-DlUGpUlb.js} +1 -1
- package/web/dist/assets/folder-BAY6Vddy.js +1 -0
- package/web/dist/assets/{git-pull-request-DnR8Xh4_.js → git-pull-request-agOG0iGM.js} +1 -1
- package/web/dist/assets/git-toolbar-DGiNMmtY.js +1 -0
- package/web/dist/assets/github-Vp7lxYGQ.js +1 -0
- package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
- package/web/dist/assets/highlighter-CdHqIwFr.js +3 -0
- package/web/dist/assets/image-preview-BWGk5fPX.js +1 -0
- package/web/dist/assets/index-DSxyJpuK.css +2 -0
- package/web/dist/assets/index-DiawI6RX.js +6 -0
- package/web/dist/assets/lib-BQXq3kEf.js +1 -0
- package/web/dist/assets/lib-BxQXEXDF.js +1 -0
- package/web/dist/assets/markdown-BGBOGCA_.js +2 -0
- package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
- package/web/dist/assets/new-task-form-BpAw_Dks.js +1 -0
- package/web/dist/assets/pill-Dvs-P0xy.js +1 -0
- package/web/dist/assets/project-router-Cx8NPoqn.js +1 -0
- package/web/dist/assets/prompt-templates-CSBYBR1I.js +15 -0
- package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
- package/web/dist/assets/{refresh-cw-BT8E96Tm.js → refresh-cw-BoGdAykg.js} +1 -1
- package/web/dist/assets/repo-git-PmX-BNMo.js +1 -0
- package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/dist/assets/run-diff-EcOkf3ti.js +3 -0
- package/web/dist/assets/run-header-BGiv6_qX.js +1 -0
- package/web/dist/assets/{search-x-BDjaMrzG.js → search-x-X3EpVhgs.js} +1 -1
- package/web/dist/assets/skill-empty-hint-CZLALx6l.js +1 -0
- package/web/dist/assets/skills-BiWfHmCR.js +1 -0
- package/web/dist/assets/skills-CC91ouGH.js +1 -0
- package/web/dist/assets/sparkles-Dt4q7pbG.js +1 -0
- package/web/dist/assets/{square-terminal-Ckjjn0vb.js → square-terminal-hwBL8XsC.js} +1 -1
- package/web/dist/assets/tab-link-DIlR5T07.js +1 -0
- package/web/dist/assets/task-changes-XkHDxzQA.js +1 -0
- package/web/dist/assets/task-commits-BTTA5k5T.js +1 -0
- package/web/dist/assets/task-files-Da8_4C9g.js +2 -0
- package/web/dist/assets/task-thread-DoNXUsHr.js +9 -0
- package/web/dist/assets/textarea-CUdokhkv.js +1 -0
- package/web/dist/assets/thread-loading-B8q8ukXJ.js +1 -0
- package/web/dist/assets/{trash-2-DAyZ0VSi.js → trash-2-DhVIdWv8.js} +1 -1
- package/web/dist/assets/{triangle-alert-Uy8rokUh.js → triangle-alert-XYT0DGCI.js} +1 -1
- package/web/dist/assets/{upload-CDdyPPo_.js → upload-BKjN59-1.js} +1 -1
- package/web/dist/assets/use-desktop-Bf5LS_P4.js +1 -0
- package/web/dist/assets/use-submit-shortcut-CzVyoAMd.js +1 -0
- package/web/dist/assets/utils-DsLuRXwV.js +64 -0
- package/web/dist/assets/workflows-o2QU_pvU.js +11 -0
- package/web/dist/assets/zoomable-image-7WyUiaVD.js +1 -0
- package/web/dist/index.html +32 -13
- package/scripts/dev.mjs +0 -74
- package/scripts/release-snapshot.mjs +0 -130
- package/scripts/release.mjs +0 -119
- package/web/dist/assets/arrow-left-CnSdp92h.js +0 -1
- package/web/dist/assets/bundle-mjs-BegPhL5c.js +0 -1
- package/web/dist/assets/centered-state-DOsTcJZF.js +0 -43
- package/web/dist/assets/commit-list-BrxBEzRK.js +0 -1
- package/web/dist/assets/compare-variants-Bv2c9ORF.js +0 -1
- package/web/dist/assets/dist-B6XQOhgM.js +0 -1
- package/web/dist/assets/git-toolbar-pIC1ubPM.js +0 -1
- package/web/dist/assets/github-DTTSG0ht.js +0 -1
- package/web/dist/assets/highlighted-body-OFNGDK62-BuFJwunK.js +0 -1
- package/web/dist/assets/image-preview-DEhW0TFz.js +0 -1
- package/web/dist/assets/index-Cijmlz7q.js +0 -30
- package/web/dist/assets/index-DzroxqBG.css +0 -2
- package/web/dist/assets/lib-DPEZDBUN.js +0 -1
- package/web/dist/assets/lib-uHpeUPzK.js +0 -1
- package/web/dist/assets/mermaid-GHXKKRXX-CN2zQue0.js +0 -1
- package/web/dist/assets/open-mercato-toBr6SOa.svg +0 -11
- package/web/dist/assets/project-router-BMx4e8m-.js +0 -1
- package/web/dist/assets/repo-git-BusYfa3t.js +0 -1
- package/web/dist/assets/run-diff-wOJ3odA-.js +0 -3
- package/web/dist/assets/run-header-Cg5incil.js +0 -1
- package/web/dist/assets/skill-empty-hint-DTUSp6Vl.js +0 -1
- package/web/dist/assets/skills-PpP2owbM.js +0 -1
- package/web/dist/assets/tab-link-F3uQrdm2.js +0 -1
- package/web/dist/assets/task-changes-iD9kS79I.js +0 -1
- package/web/dist/assets/task-commits-COkLaUri.js +0 -1
- package/web/dist/assets/task-files-Ckttz7XH.js +0 -2
- package/web/dist/assets/task-thread-CQD91VPt.js +0 -9
- package/web/dist/assets/textarea-Bj_LCreg.js +0 -1
- package/web/dist/assets/use-desktop-DUh0STzq.js +0 -3
- package/web/dist/assets/utils-B8s5qIcK.js +0 -1
- package/web/dist/assets/workflows-BFk8C0co.js +0 -11
- package/web/dist/assets/zoomable-image-PEDOqyLQ.js +0 -1
- /package/web/{open-mercato.svg → dist/open-mercato.svg} +0 -0
|
@@ -0,0 +1,911 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* The AUTOMATIONS family of `/api/v1` (#694) — the per-project GitHub triggers, their runtime
|
|
4
|
+
* state, the manual "test filter" checks and the execution log.
|
|
5
|
+
*
|
|
6
|
+
* These shapes exist twice on purpose and only once as a DEFINITION of what the wire carries.
|
|
7
|
+
* `packages/cezar/src/automations/types.ts` owns the STORAGE schemas: they are `.passthrough()`,
|
|
8
|
+
* because a definitions/state/log file written by a newer cezar must survive a round trip through
|
|
9
|
+
* an older one rather than lose keys it has never heard of. The schemas here are the CLOSED wire
|
|
10
|
+
* half of those files — every key the routes actually answer with, and no index signature, so a
|
|
11
|
+
* consumer compiles against a shape rather than against `unknown`. `src/server/
|
|
12
|
+
* contract-parity.automations.test.ts` checks each response schema against the route that serves
|
|
13
|
+
* it, in both directions.
|
|
14
|
+
*
|
|
15
|
+
* What that guard can and cannot see is worth knowing: a named key whose type drifts fails, and a
|
|
16
|
+
* key this file makes required that the route does not send fails — but an EXTRA key arriving
|
|
17
|
+
* through the storage schemas' catchall cannot, since the route's own type admits any key. That is
|
|
18
|
+
* the same limit `contract-parity.workspace.test.ts` documents for the open GUI-pref bags.
|
|
19
|
+
*/
|
|
20
|
+
/** The GitHub activity an automation reacts to. Four events, all bounded polls — never a webhook. */
|
|
21
|
+
export declare const automationEventSchema: z.ZodEnum<{
|
|
22
|
+
"issue.labeled": "issue.labeled";
|
|
23
|
+
"issue.opened": "issue.opened";
|
|
24
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
25
|
+
"pull_request.opened": "pull_request.opened";
|
|
26
|
+
}>;
|
|
27
|
+
export type AutomationEvent = z.infer<typeof automationEventSchema>;
|
|
28
|
+
/**
|
|
29
|
+
* The bounded candidate filter.
|
|
30
|
+
*
|
|
31
|
+
* `lookbackDays` and `maxRecords` are REQUIRED here although the storage schema defaults them: a
|
|
32
|
+
* default fills on PARSE, so both keys are always present in what the server hands out — and a
|
|
33
|
+
* caller that omits them in a request body still gets them back materialized.
|
|
34
|
+
*/
|
|
35
|
+
export declare const automationFiltersSchema: z.ZodObject<{
|
|
36
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
37
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
38
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
39
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
40
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
41
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
lookbackDays: z.ZodNumber;
|
|
43
|
+
maxRecords: z.ZodNumber;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type AutomationFilters = z.infer<typeof automationFiltersSchema>;
|
|
46
|
+
/**
|
|
47
|
+
* The task a match launches: `POST /runs`' own body minus the three keys an automation owns
|
|
48
|
+
* itself — `task` (the rendered prompt), `images` and `todoId` — plus the prompt TEMPLATE.
|
|
49
|
+
*
|
|
50
|
+
* Two keys are re-spelled rather than inherited, because the automation schema really does differ
|
|
51
|
+
* from the composer's and the contract has to describe the automation route:
|
|
52
|
+
*
|
|
53
|
+
* - `variants` is the literal union the server's own automation schema accepts (`1 | 2 | 3`),
|
|
54
|
+
* not the composer's `z.number().int().min(1).max(3)`. Identical values, but only the literal
|
|
55
|
+
* spelling is assignable to the route's parameter;
|
|
56
|
+
* - `systemPrompt` carries no `.transform()` here. The composer's trims-to-absent on the way in,
|
|
57
|
+
* which makes the key REQUIRED (`string | undefined`) on the output side; the automation route
|
|
58
|
+
* stores and answers it plainly, so it stays optional.
|
|
59
|
+
*/
|
|
60
|
+
export declare const automationTaskSchema: z.ZodObject<{
|
|
61
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
62
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
63
|
+
id: z.ZodString;
|
|
64
|
+
name: z.ZodOptional<z.ZodString>;
|
|
65
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
66
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
67
|
+
model: z.ZodOptional<z.ZodString>;
|
|
68
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
69
|
+
claude: "claude";
|
|
70
|
+
codex: "codex";
|
|
71
|
+
opencode: "opencode";
|
|
72
|
+
}>>;
|
|
73
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
75
|
+
command: z.ZodOptional<z.ZodString>;
|
|
76
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
77
|
+
retry: z.ZodString;
|
|
78
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
79
|
+
}, z.core.$strip>>;
|
|
80
|
+
}, z.core.$strip>>>;
|
|
81
|
+
model: z.ZodOptional<z.ZodString>;
|
|
82
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
83
|
+
claude: "claude";
|
|
84
|
+
codex: "codex";
|
|
85
|
+
opencode: "opencode";
|
|
86
|
+
}>>;
|
|
87
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
89
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
90
|
+
prompt: z.ZodString;
|
|
91
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
92
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
export type AutomationTask = z.infer<typeof automationTaskSchema>;
|
|
95
|
+
/** One stored automation, as every route that answers a single definition serves it. */
|
|
96
|
+
export declare const automationDefinitionSchema: z.ZodObject<{
|
|
97
|
+
id: z.ZodString;
|
|
98
|
+
revision: z.ZodNumber;
|
|
99
|
+
name: z.ZodString;
|
|
100
|
+
description: z.ZodOptional<z.ZodString>;
|
|
101
|
+
enabled: z.ZodBoolean;
|
|
102
|
+
events: z.ZodArray<z.ZodEnum<{
|
|
103
|
+
"issue.labeled": "issue.labeled";
|
|
104
|
+
"issue.opened": "issue.opened";
|
|
105
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
106
|
+
"pull_request.opened": "pull_request.opened";
|
|
107
|
+
}>>;
|
|
108
|
+
intervalSeconds: z.ZodNumber;
|
|
109
|
+
filters: z.ZodObject<{
|
|
110
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
111
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
112
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
113
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
114
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
115
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
116
|
+
lookbackDays: z.ZodNumber;
|
|
117
|
+
maxRecords: z.ZodNumber;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
task: z.ZodObject<{
|
|
120
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
121
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
122
|
+
id: z.ZodString;
|
|
123
|
+
name: z.ZodOptional<z.ZodString>;
|
|
124
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
125
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
126
|
+
model: z.ZodOptional<z.ZodString>;
|
|
127
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
128
|
+
claude: "claude";
|
|
129
|
+
codex: "codex";
|
|
130
|
+
opencode: "opencode";
|
|
131
|
+
}>>;
|
|
132
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
133
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
134
|
+
command: z.ZodOptional<z.ZodString>;
|
|
135
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
136
|
+
retry: z.ZodString;
|
|
137
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
138
|
+
}, z.core.$strip>>;
|
|
139
|
+
}, z.core.$strip>>>;
|
|
140
|
+
model: z.ZodOptional<z.ZodString>;
|
|
141
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
142
|
+
claude: "claude";
|
|
143
|
+
codex: "codex";
|
|
144
|
+
opencode: "opencode";
|
|
145
|
+
}>>;
|
|
146
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
147
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
148
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
149
|
+
prompt: z.ZodString;
|
|
150
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
151
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
152
|
+
}, z.core.$strip>;
|
|
153
|
+
createdAt: z.ZodString;
|
|
154
|
+
updatedAt: z.ZodString;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
export type AutomationDefinition = z.infer<typeof automationDefinitionSchema>;
|
|
157
|
+
/** Where the poller had got to: an ISO timestamp plus a tie-breaker for same-second records. */
|
|
158
|
+
export declare const automationCursorSchema: z.ZodObject<{
|
|
159
|
+
timestamp: z.ZodString;
|
|
160
|
+
tieBreaker: z.ZodOptional<z.ZodString>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
export type AutomationCursor = z.infer<typeof automationCursorSchema>;
|
|
163
|
+
/**
|
|
164
|
+
* The scheduler's own bookkeeping for one automation. Every key is optional — a definition that
|
|
165
|
+
* has never run has no state at all, and the keys appear as the poller reaches each stage.
|
|
166
|
+
*/
|
|
167
|
+
export declare const automationRuntimeStateSchema: z.ZodObject<{
|
|
168
|
+
revision: z.ZodOptional<z.ZodNumber>;
|
|
169
|
+
baselineAt: z.ZodOptional<z.ZodString>;
|
|
170
|
+
cursor: z.ZodOptional<z.ZodObject<{
|
|
171
|
+
timestamp: z.ZodString;
|
|
172
|
+
tieBreaker: z.ZodOptional<z.ZodString>;
|
|
173
|
+
}, z.core.$strip>>;
|
|
174
|
+
frozenHighWatermark: z.ZodOptional<z.ZodObject<{
|
|
175
|
+
timestamp: z.ZodString;
|
|
176
|
+
tieBreaker: z.ZodString;
|
|
177
|
+
}, z.core.$strip>>;
|
|
178
|
+
backlogAfter: z.ZodOptional<z.ZodObject<{
|
|
179
|
+
timestamp: z.ZodString;
|
|
180
|
+
tieBreaker: z.ZodString;
|
|
181
|
+
}, z.core.$strip>>;
|
|
182
|
+
nextCheckAt: z.ZodOptional<z.ZodString>;
|
|
183
|
+
lastSuccessAt: z.ZodOptional<z.ZodString>;
|
|
184
|
+
etags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
185
|
+
backoffUntil: z.ZodOptional<z.ZodString>;
|
|
186
|
+
consecutiveFailures: z.ZodOptional<z.ZodNumber>;
|
|
187
|
+
}, z.core.$strip>;
|
|
188
|
+
export type AutomationRuntimeState = z.infer<typeof automationRuntimeStateSchema>;
|
|
189
|
+
/** What one poll decided about one candidate. `baseline` and `preview` are bookkeeping rows: no
|
|
190
|
+
* task was launched and none was meant to be. */
|
|
191
|
+
export declare const automationLogResultSchema: z.ZodEnum<{
|
|
192
|
+
baseline: "baseline";
|
|
193
|
+
duplicate: "duplicate";
|
|
194
|
+
error: "error";
|
|
195
|
+
launched: "launched";
|
|
196
|
+
"no-match": "no-match";
|
|
197
|
+
preview: "preview";
|
|
198
|
+
"rate-limited": "rate-limited";
|
|
199
|
+
}>;
|
|
200
|
+
export type AutomationLogResult = z.infer<typeof automationLogResultSchema>;
|
|
201
|
+
/** One row of `automation-log.ndjson` — the audit trail the log view renders. */
|
|
202
|
+
export declare const automationLogRecordSchema: z.ZodObject<{
|
|
203
|
+
seq: z.ZodNumber;
|
|
204
|
+
ts: z.ZodString;
|
|
205
|
+
automationId: z.ZodString;
|
|
206
|
+
revision: z.ZodNumber;
|
|
207
|
+
event: z.ZodOptional<z.ZodEnum<{
|
|
208
|
+
"issue.labeled": "issue.labeled";
|
|
209
|
+
"issue.opened": "issue.opened";
|
|
210
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
211
|
+
"pull_request.opened": "pull_request.opened";
|
|
212
|
+
}>>;
|
|
213
|
+
result: z.ZodEnum<{
|
|
214
|
+
baseline: "baseline";
|
|
215
|
+
duplicate: "duplicate";
|
|
216
|
+
error: "error";
|
|
217
|
+
launched: "launched";
|
|
218
|
+
"no-match": "no-match";
|
|
219
|
+
preview: "preview";
|
|
220
|
+
"rate-limited": "rate-limited";
|
|
221
|
+
}>;
|
|
222
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
223
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
224
|
+
receiptId: z.ZodOptional<z.ZodString>;
|
|
225
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
226
|
+
githubNumber: z.ZodOptional<z.ZodNumber>;
|
|
227
|
+
githubTitle: z.ZodOptional<z.ZodString>;
|
|
228
|
+
githubUrl: z.ZodOptional<z.ZodString>;
|
|
229
|
+
rateLimit: z.ZodOptional<z.ZodObject<{
|
|
230
|
+
bucket: z.ZodEnum<{
|
|
231
|
+
core: "core";
|
|
232
|
+
search: "search";
|
|
233
|
+
}>;
|
|
234
|
+
remaining: z.ZodOptional<z.ZodNumber>;
|
|
235
|
+
resetAt: z.ZodOptional<z.ZodString>;
|
|
236
|
+
}, z.core.$strip>>;
|
|
237
|
+
}, z.core.$strip>;
|
|
238
|
+
export type AutomationLogRecord = z.infer<typeof automationLogRecordSchema>;
|
|
239
|
+
/** The list view's per-automation tallies, counted over that automation's last 100 log rows. */
|
|
240
|
+
export declare const automationCountsSchema: z.ZodObject<{
|
|
241
|
+
matches: z.ZodNumber;
|
|
242
|
+
launched: z.ZodNumber;
|
|
243
|
+
duplicates: z.ZodNumber;
|
|
244
|
+
errors: z.ZodNumber;
|
|
245
|
+
}, z.core.$strip>;
|
|
246
|
+
export type AutomationCounts = z.infer<typeof automationCountsSchema>;
|
|
247
|
+
/** One row of `GET /automations`: the definition plus everything the list renders beside it. */
|
|
248
|
+
export declare const automationListEntrySchema: z.ZodObject<{
|
|
249
|
+
id: z.ZodString;
|
|
250
|
+
revision: z.ZodNumber;
|
|
251
|
+
name: z.ZodString;
|
|
252
|
+
description: z.ZodOptional<z.ZodString>;
|
|
253
|
+
enabled: z.ZodBoolean;
|
|
254
|
+
events: z.ZodArray<z.ZodEnum<{
|
|
255
|
+
"issue.labeled": "issue.labeled";
|
|
256
|
+
"issue.opened": "issue.opened";
|
|
257
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
258
|
+
"pull_request.opened": "pull_request.opened";
|
|
259
|
+
}>>;
|
|
260
|
+
intervalSeconds: z.ZodNumber;
|
|
261
|
+
filters: z.ZodObject<{
|
|
262
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
263
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
264
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
265
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
266
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
267
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
268
|
+
lookbackDays: z.ZodNumber;
|
|
269
|
+
maxRecords: z.ZodNumber;
|
|
270
|
+
}, z.core.$strip>;
|
|
271
|
+
task: z.ZodObject<{
|
|
272
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
273
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
274
|
+
id: z.ZodString;
|
|
275
|
+
name: z.ZodOptional<z.ZodString>;
|
|
276
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
277
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
278
|
+
model: z.ZodOptional<z.ZodString>;
|
|
279
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
280
|
+
claude: "claude";
|
|
281
|
+
codex: "codex";
|
|
282
|
+
opencode: "opencode";
|
|
283
|
+
}>>;
|
|
284
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
285
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
286
|
+
command: z.ZodOptional<z.ZodString>;
|
|
287
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
288
|
+
retry: z.ZodString;
|
|
289
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
290
|
+
}, z.core.$strip>>;
|
|
291
|
+
}, z.core.$strip>>>;
|
|
292
|
+
model: z.ZodOptional<z.ZodString>;
|
|
293
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
294
|
+
claude: "claude";
|
|
295
|
+
codex: "codex";
|
|
296
|
+
opencode: "opencode";
|
|
297
|
+
}>>;
|
|
298
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
299
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
300
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
301
|
+
prompt: z.ZodString;
|
|
302
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
303
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
304
|
+
}, z.core.$strip>;
|
|
305
|
+
createdAt: z.ZodString;
|
|
306
|
+
updatedAt: z.ZodString;
|
|
307
|
+
state: z.ZodOptional<z.ZodObject<{
|
|
308
|
+
revision: z.ZodOptional<z.ZodNumber>;
|
|
309
|
+
baselineAt: z.ZodOptional<z.ZodString>;
|
|
310
|
+
cursor: z.ZodOptional<z.ZodObject<{
|
|
311
|
+
timestamp: z.ZodString;
|
|
312
|
+
tieBreaker: z.ZodOptional<z.ZodString>;
|
|
313
|
+
}, z.core.$strip>>;
|
|
314
|
+
frozenHighWatermark: z.ZodOptional<z.ZodObject<{
|
|
315
|
+
timestamp: z.ZodString;
|
|
316
|
+
tieBreaker: z.ZodString;
|
|
317
|
+
}, z.core.$strip>>;
|
|
318
|
+
backlogAfter: z.ZodOptional<z.ZodObject<{
|
|
319
|
+
timestamp: z.ZodString;
|
|
320
|
+
tieBreaker: z.ZodString;
|
|
321
|
+
}, z.core.$strip>>;
|
|
322
|
+
nextCheckAt: z.ZodOptional<z.ZodString>;
|
|
323
|
+
lastSuccessAt: z.ZodOptional<z.ZodString>;
|
|
324
|
+
etags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
325
|
+
backoffUntil: z.ZodOptional<z.ZodString>;
|
|
326
|
+
consecutiveFailures: z.ZodOptional<z.ZodNumber>;
|
|
327
|
+
}, z.core.$strip>>;
|
|
328
|
+
latestLog: z.ZodOptional<z.ZodObject<{
|
|
329
|
+
seq: z.ZodNumber;
|
|
330
|
+
ts: z.ZodString;
|
|
331
|
+
automationId: z.ZodString;
|
|
332
|
+
revision: z.ZodNumber;
|
|
333
|
+
event: z.ZodOptional<z.ZodEnum<{
|
|
334
|
+
"issue.labeled": "issue.labeled";
|
|
335
|
+
"issue.opened": "issue.opened";
|
|
336
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
337
|
+
"pull_request.opened": "pull_request.opened";
|
|
338
|
+
}>>;
|
|
339
|
+
result: z.ZodEnum<{
|
|
340
|
+
baseline: "baseline";
|
|
341
|
+
duplicate: "duplicate";
|
|
342
|
+
error: "error";
|
|
343
|
+
launched: "launched";
|
|
344
|
+
"no-match": "no-match";
|
|
345
|
+
preview: "preview";
|
|
346
|
+
"rate-limited": "rate-limited";
|
|
347
|
+
}>;
|
|
348
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
349
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
350
|
+
receiptId: z.ZodOptional<z.ZodString>;
|
|
351
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
352
|
+
githubNumber: z.ZodOptional<z.ZodNumber>;
|
|
353
|
+
githubTitle: z.ZodOptional<z.ZodString>;
|
|
354
|
+
githubUrl: z.ZodOptional<z.ZodString>;
|
|
355
|
+
rateLimit: z.ZodOptional<z.ZodObject<{
|
|
356
|
+
bucket: z.ZodEnum<{
|
|
357
|
+
core: "core";
|
|
358
|
+
search: "search";
|
|
359
|
+
}>;
|
|
360
|
+
remaining: z.ZodOptional<z.ZodNumber>;
|
|
361
|
+
resetAt: z.ZodOptional<z.ZodString>;
|
|
362
|
+
}, z.core.$strip>>;
|
|
363
|
+
}, z.core.$strip>>;
|
|
364
|
+
counts: z.ZodObject<{
|
|
365
|
+
matches: z.ZodNumber;
|
|
366
|
+
launched: z.ZodNumber;
|
|
367
|
+
duplicates: z.ZodNumber;
|
|
368
|
+
errors: z.ZodNumber;
|
|
369
|
+
}, z.core.$strip>;
|
|
370
|
+
}, z.core.$strip>;
|
|
371
|
+
export type AutomationListEntry = z.infer<typeof automationListEntrySchema>;
|
|
372
|
+
/**
|
|
373
|
+
* `GET /automations` — the whole page in one read.
|
|
374
|
+
*
|
|
375
|
+
* `available`/`reason` are the forge's own cached availability (the same degrade `/github` uses:
|
|
376
|
+
* no GitHub remote, no `gh`, offline — never a 5xx), and `scheduler` summarizes the timer:
|
|
377
|
+
* `scheduled` when any definition is enabled, `idle` otherwise, with `nextDue` the earliest
|
|
378
|
+
* pending check across them.
|
|
379
|
+
*/
|
|
380
|
+
export declare const automationsResponseSchema: z.ZodObject<{
|
|
381
|
+
available: z.ZodBoolean;
|
|
382
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
383
|
+
scheduler: z.ZodObject<{
|
|
384
|
+
state: z.ZodEnum<{
|
|
385
|
+
idle: "idle";
|
|
386
|
+
scheduled: "scheduled";
|
|
387
|
+
}>;
|
|
388
|
+
nextDue: z.ZodOptional<z.ZodString>;
|
|
389
|
+
}, z.core.$strip>;
|
|
390
|
+
automations: z.ZodArray<z.ZodObject<{
|
|
391
|
+
id: z.ZodString;
|
|
392
|
+
revision: z.ZodNumber;
|
|
393
|
+
name: z.ZodString;
|
|
394
|
+
description: z.ZodOptional<z.ZodString>;
|
|
395
|
+
enabled: z.ZodBoolean;
|
|
396
|
+
events: z.ZodArray<z.ZodEnum<{
|
|
397
|
+
"issue.labeled": "issue.labeled";
|
|
398
|
+
"issue.opened": "issue.opened";
|
|
399
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
400
|
+
"pull_request.opened": "pull_request.opened";
|
|
401
|
+
}>>;
|
|
402
|
+
intervalSeconds: z.ZodNumber;
|
|
403
|
+
filters: z.ZodObject<{
|
|
404
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
405
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
406
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
407
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
408
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
409
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
410
|
+
lookbackDays: z.ZodNumber;
|
|
411
|
+
maxRecords: z.ZodNumber;
|
|
412
|
+
}, z.core.$strip>;
|
|
413
|
+
task: z.ZodObject<{
|
|
414
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
415
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
416
|
+
id: z.ZodString;
|
|
417
|
+
name: z.ZodOptional<z.ZodString>;
|
|
418
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
419
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
420
|
+
model: z.ZodOptional<z.ZodString>;
|
|
421
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
422
|
+
claude: "claude";
|
|
423
|
+
codex: "codex";
|
|
424
|
+
opencode: "opencode";
|
|
425
|
+
}>>;
|
|
426
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
427
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
428
|
+
command: z.ZodOptional<z.ZodString>;
|
|
429
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
430
|
+
retry: z.ZodString;
|
|
431
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
432
|
+
}, z.core.$strip>>;
|
|
433
|
+
}, z.core.$strip>>>;
|
|
434
|
+
model: z.ZodOptional<z.ZodString>;
|
|
435
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
436
|
+
claude: "claude";
|
|
437
|
+
codex: "codex";
|
|
438
|
+
opencode: "opencode";
|
|
439
|
+
}>>;
|
|
440
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
441
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
442
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
443
|
+
prompt: z.ZodString;
|
|
444
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
445
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
446
|
+
}, z.core.$strip>;
|
|
447
|
+
createdAt: z.ZodString;
|
|
448
|
+
updatedAt: z.ZodString;
|
|
449
|
+
state: z.ZodOptional<z.ZodObject<{
|
|
450
|
+
revision: z.ZodOptional<z.ZodNumber>;
|
|
451
|
+
baselineAt: z.ZodOptional<z.ZodString>;
|
|
452
|
+
cursor: z.ZodOptional<z.ZodObject<{
|
|
453
|
+
timestamp: z.ZodString;
|
|
454
|
+
tieBreaker: z.ZodOptional<z.ZodString>;
|
|
455
|
+
}, z.core.$strip>>;
|
|
456
|
+
frozenHighWatermark: z.ZodOptional<z.ZodObject<{
|
|
457
|
+
timestamp: z.ZodString;
|
|
458
|
+
tieBreaker: z.ZodString;
|
|
459
|
+
}, z.core.$strip>>;
|
|
460
|
+
backlogAfter: z.ZodOptional<z.ZodObject<{
|
|
461
|
+
timestamp: z.ZodString;
|
|
462
|
+
tieBreaker: z.ZodString;
|
|
463
|
+
}, z.core.$strip>>;
|
|
464
|
+
nextCheckAt: z.ZodOptional<z.ZodString>;
|
|
465
|
+
lastSuccessAt: z.ZodOptional<z.ZodString>;
|
|
466
|
+
etags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
467
|
+
backoffUntil: z.ZodOptional<z.ZodString>;
|
|
468
|
+
consecutiveFailures: z.ZodOptional<z.ZodNumber>;
|
|
469
|
+
}, z.core.$strip>>;
|
|
470
|
+
latestLog: z.ZodOptional<z.ZodObject<{
|
|
471
|
+
seq: z.ZodNumber;
|
|
472
|
+
ts: z.ZodString;
|
|
473
|
+
automationId: z.ZodString;
|
|
474
|
+
revision: z.ZodNumber;
|
|
475
|
+
event: z.ZodOptional<z.ZodEnum<{
|
|
476
|
+
"issue.labeled": "issue.labeled";
|
|
477
|
+
"issue.opened": "issue.opened";
|
|
478
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
479
|
+
"pull_request.opened": "pull_request.opened";
|
|
480
|
+
}>>;
|
|
481
|
+
result: z.ZodEnum<{
|
|
482
|
+
baseline: "baseline";
|
|
483
|
+
duplicate: "duplicate";
|
|
484
|
+
error: "error";
|
|
485
|
+
launched: "launched";
|
|
486
|
+
"no-match": "no-match";
|
|
487
|
+
preview: "preview";
|
|
488
|
+
"rate-limited": "rate-limited";
|
|
489
|
+
}>;
|
|
490
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
491
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
492
|
+
receiptId: z.ZodOptional<z.ZodString>;
|
|
493
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
494
|
+
githubNumber: z.ZodOptional<z.ZodNumber>;
|
|
495
|
+
githubTitle: z.ZodOptional<z.ZodString>;
|
|
496
|
+
githubUrl: z.ZodOptional<z.ZodString>;
|
|
497
|
+
rateLimit: z.ZodOptional<z.ZodObject<{
|
|
498
|
+
bucket: z.ZodEnum<{
|
|
499
|
+
core: "core";
|
|
500
|
+
search: "search";
|
|
501
|
+
}>;
|
|
502
|
+
remaining: z.ZodOptional<z.ZodNumber>;
|
|
503
|
+
resetAt: z.ZodOptional<z.ZodString>;
|
|
504
|
+
}, z.core.$strip>>;
|
|
505
|
+
}, z.core.$strip>>;
|
|
506
|
+
counts: z.ZodObject<{
|
|
507
|
+
matches: z.ZodNumber;
|
|
508
|
+
launched: z.ZodNumber;
|
|
509
|
+
duplicates: z.ZodNumber;
|
|
510
|
+
errors: z.ZodNumber;
|
|
511
|
+
}, z.core.$strip>;
|
|
512
|
+
}, z.core.$strip>>;
|
|
513
|
+
}, z.core.$strip>;
|
|
514
|
+
export type AutomationsResponse = z.infer<typeof automationsResponseSchema>;
|
|
515
|
+
/** `POST /automations` (201), `PUT /automations/:id`, `POST /automations/:id/{enable,pause}`. */
|
|
516
|
+
export declare const automationResponseSchema: z.ZodObject<{
|
|
517
|
+
automation: z.ZodObject<{
|
|
518
|
+
id: z.ZodString;
|
|
519
|
+
revision: z.ZodNumber;
|
|
520
|
+
name: z.ZodString;
|
|
521
|
+
description: z.ZodOptional<z.ZodString>;
|
|
522
|
+
enabled: z.ZodBoolean;
|
|
523
|
+
events: z.ZodArray<z.ZodEnum<{
|
|
524
|
+
"issue.labeled": "issue.labeled";
|
|
525
|
+
"issue.opened": "issue.opened";
|
|
526
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
527
|
+
"pull_request.opened": "pull_request.opened";
|
|
528
|
+
}>>;
|
|
529
|
+
intervalSeconds: z.ZodNumber;
|
|
530
|
+
filters: z.ZodObject<{
|
|
531
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
532
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
533
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
534
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
535
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
536
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
537
|
+
lookbackDays: z.ZodNumber;
|
|
538
|
+
maxRecords: z.ZodNumber;
|
|
539
|
+
}, z.core.$strip>;
|
|
540
|
+
task: z.ZodObject<{
|
|
541
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
542
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
543
|
+
id: z.ZodString;
|
|
544
|
+
name: z.ZodOptional<z.ZodString>;
|
|
545
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
546
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
547
|
+
model: z.ZodOptional<z.ZodString>;
|
|
548
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
549
|
+
claude: "claude";
|
|
550
|
+
codex: "codex";
|
|
551
|
+
opencode: "opencode";
|
|
552
|
+
}>>;
|
|
553
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
554
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
555
|
+
command: z.ZodOptional<z.ZodString>;
|
|
556
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
557
|
+
retry: z.ZodString;
|
|
558
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
559
|
+
}, z.core.$strip>>;
|
|
560
|
+
}, z.core.$strip>>>;
|
|
561
|
+
model: z.ZodOptional<z.ZodString>;
|
|
562
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
563
|
+
claude: "claude";
|
|
564
|
+
codex: "codex";
|
|
565
|
+
opencode: "opencode";
|
|
566
|
+
}>>;
|
|
567
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
568
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
569
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
570
|
+
prompt: z.ZodString;
|
|
571
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
572
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
573
|
+
}, z.core.$strip>;
|
|
574
|
+
createdAt: z.ZodString;
|
|
575
|
+
updatedAt: z.ZodString;
|
|
576
|
+
}, z.core.$strip>;
|
|
577
|
+
}, z.core.$strip>;
|
|
578
|
+
export type AutomationResponse = z.infer<typeof automationResponseSchema>;
|
|
579
|
+
/** `GET /automations/:id` — one definition with its state and the most recent log row. */
|
|
580
|
+
export declare const automationDetailResponseSchema: z.ZodObject<{
|
|
581
|
+
automation: z.ZodObject<{
|
|
582
|
+
id: z.ZodString;
|
|
583
|
+
revision: z.ZodNumber;
|
|
584
|
+
name: z.ZodString;
|
|
585
|
+
description: z.ZodOptional<z.ZodString>;
|
|
586
|
+
enabled: z.ZodBoolean;
|
|
587
|
+
events: z.ZodArray<z.ZodEnum<{
|
|
588
|
+
"issue.labeled": "issue.labeled";
|
|
589
|
+
"issue.opened": "issue.opened";
|
|
590
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
591
|
+
"pull_request.opened": "pull_request.opened";
|
|
592
|
+
}>>;
|
|
593
|
+
intervalSeconds: z.ZodNumber;
|
|
594
|
+
filters: z.ZodObject<{
|
|
595
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
596
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
597
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
598
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
599
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
600
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
601
|
+
lookbackDays: z.ZodNumber;
|
|
602
|
+
maxRecords: z.ZodNumber;
|
|
603
|
+
}, z.core.$strip>;
|
|
604
|
+
task: z.ZodObject<{
|
|
605
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
606
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
607
|
+
id: z.ZodString;
|
|
608
|
+
name: z.ZodOptional<z.ZodString>;
|
|
609
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
610
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
611
|
+
model: z.ZodOptional<z.ZodString>;
|
|
612
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
613
|
+
claude: "claude";
|
|
614
|
+
codex: "codex";
|
|
615
|
+
opencode: "opencode";
|
|
616
|
+
}>>;
|
|
617
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
618
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
619
|
+
command: z.ZodOptional<z.ZodString>;
|
|
620
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
621
|
+
retry: z.ZodString;
|
|
622
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
623
|
+
}, z.core.$strip>>;
|
|
624
|
+
}, z.core.$strip>>>;
|
|
625
|
+
model: z.ZodOptional<z.ZodString>;
|
|
626
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
627
|
+
claude: "claude";
|
|
628
|
+
codex: "codex";
|
|
629
|
+
opencode: "opencode";
|
|
630
|
+
}>>;
|
|
631
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
632
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
633
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
634
|
+
prompt: z.ZodString;
|
|
635
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
636
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
637
|
+
}, z.core.$strip>;
|
|
638
|
+
createdAt: z.ZodString;
|
|
639
|
+
updatedAt: z.ZodString;
|
|
640
|
+
}, z.core.$strip>;
|
|
641
|
+
state: z.ZodOptional<z.ZodObject<{
|
|
642
|
+
revision: z.ZodOptional<z.ZodNumber>;
|
|
643
|
+
baselineAt: z.ZodOptional<z.ZodString>;
|
|
644
|
+
cursor: z.ZodOptional<z.ZodObject<{
|
|
645
|
+
timestamp: z.ZodString;
|
|
646
|
+
tieBreaker: z.ZodOptional<z.ZodString>;
|
|
647
|
+
}, z.core.$strip>>;
|
|
648
|
+
frozenHighWatermark: z.ZodOptional<z.ZodObject<{
|
|
649
|
+
timestamp: z.ZodString;
|
|
650
|
+
tieBreaker: z.ZodString;
|
|
651
|
+
}, z.core.$strip>>;
|
|
652
|
+
backlogAfter: z.ZodOptional<z.ZodObject<{
|
|
653
|
+
timestamp: z.ZodString;
|
|
654
|
+
tieBreaker: z.ZodString;
|
|
655
|
+
}, z.core.$strip>>;
|
|
656
|
+
nextCheckAt: z.ZodOptional<z.ZodString>;
|
|
657
|
+
lastSuccessAt: z.ZodOptional<z.ZodString>;
|
|
658
|
+
etags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
659
|
+
backoffUntil: z.ZodOptional<z.ZodString>;
|
|
660
|
+
consecutiveFailures: z.ZodOptional<z.ZodNumber>;
|
|
661
|
+
}, z.core.$strip>>;
|
|
662
|
+
latestLog: z.ZodOptional<z.ZodObject<{
|
|
663
|
+
seq: z.ZodNumber;
|
|
664
|
+
ts: z.ZodString;
|
|
665
|
+
automationId: z.ZodString;
|
|
666
|
+
revision: z.ZodNumber;
|
|
667
|
+
event: z.ZodOptional<z.ZodEnum<{
|
|
668
|
+
"issue.labeled": "issue.labeled";
|
|
669
|
+
"issue.opened": "issue.opened";
|
|
670
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
671
|
+
"pull_request.opened": "pull_request.opened";
|
|
672
|
+
}>>;
|
|
673
|
+
result: z.ZodEnum<{
|
|
674
|
+
baseline: "baseline";
|
|
675
|
+
duplicate: "duplicate";
|
|
676
|
+
error: "error";
|
|
677
|
+
launched: "launched";
|
|
678
|
+
"no-match": "no-match";
|
|
679
|
+
preview: "preview";
|
|
680
|
+
"rate-limited": "rate-limited";
|
|
681
|
+
}>;
|
|
682
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
683
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
684
|
+
receiptId: z.ZodOptional<z.ZodString>;
|
|
685
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
686
|
+
githubNumber: z.ZodOptional<z.ZodNumber>;
|
|
687
|
+
githubTitle: z.ZodOptional<z.ZodString>;
|
|
688
|
+
githubUrl: z.ZodOptional<z.ZodString>;
|
|
689
|
+
rateLimit: z.ZodOptional<z.ZodObject<{
|
|
690
|
+
bucket: z.ZodEnum<{
|
|
691
|
+
core: "core";
|
|
692
|
+
search: "search";
|
|
693
|
+
}>;
|
|
694
|
+
remaining: z.ZodOptional<z.ZodNumber>;
|
|
695
|
+
resetAt: z.ZodOptional<z.ZodString>;
|
|
696
|
+
}, z.core.$strip>>;
|
|
697
|
+
}, z.core.$strip>>;
|
|
698
|
+
}, z.core.$strip>;
|
|
699
|
+
export type AutomationDetailResponse = z.infer<typeof automationDetailResponseSchema>;
|
|
700
|
+
/**
|
|
701
|
+
* One manual "test filter" check (`GET /automation-checks/:checkId`).
|
|
702
|
+
*
|
|
703
|
+
* Server-memory only, keyed by an unguessable id and capped at 200 — it is the progress record of
|
|
704
|
+
* an asynchronous poll, not stored state, which is why it survives no restart and appears in no
|
|
705
|
+
* file. `preview` counts matches and launches nothing; `execute` launches exactly as a scheduled
|
|
706
|
+
* poll would.
|
|
707
|
+
*/
|
|
708
|
+
export declare const automationCheckSchema: z.ZodObject<{
|
|
709
|
+
id: z.ZodString;
|
|
710
|
+
automationId: z.ZodString;
|
|
711
|
+
mode: z.ZodEnum<{
|
|
712
|
+
execute: "execute";
|
|
713
|
+
preview: "preview";
|
|
714
|
+
}>;
|
|
715
|
+
status: z.ZodEnum<{
|
|
716
|
+
complete: "complete";
|
|
717
|
+
error: "error";
|
|
718
|
+
queued: "queued";
|
|
719
|
+
running: "running";
|
|
720
|
+
}>;
|
|
721
|
+
createdAt: z.ZodString;
|
|
722
|
+
completedAt: z.ZodOptional<z.ZodString>;
|
|
723
|
+
matches: z.ZodOptional<z.ZodNumber>;
|
|
724
|
+
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
725
|
+
error: z.ZodOptional<z.ZodString>;
|
|
726
|
+
}, z.core.$strip>;
|
|
727
|
+
export type AutomationCheck = z.infer<typeof automationCheckSchema>;
|
|
728
|
+
/** `POST /automations/:id/check` (202) — the check runs in the background; poll the id. */
|
|
729
|
+
export declare const automationCheckQueuedResponseSchema: z.ZodObject<{
|
|
730
|
+
checkId: z.ZodString;
|
|
731
|
+
}, z.core.$strip>;
|
|
732
|
+
export type AutomationCheckQueuedResponse = z.infer<typeof automationCheckQueuedResponseSchema>;
|
|
733
|
+
/** `GET /automation-log` — newest first, capped at 100 rows per read. */
|
|
734
|
+
export declare const automationLogResponseSchema: z.ZodObject<{
|
|
735
|
+
records: z.ZodArray<z.ZodObject<{
|
|
736
|
+
seq: z.ZodNumber;
|
|
737
|
+
ts: z.ZodString;
|
|
738
|
+
automationId: z.ZodString;
|
|
739
|
+
revision: z.ZodNumber;
|
|
740
|
+
event: z.ZodOptional<z.ZodEnum<{
|
|
741
|
+
"issue.labeled": "issue.labeled";
|
|
742
|
+
"issue.opened": "issue.opened";
|
|
743
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
744
|
+
"pull_request.opened": "pull_request.opened";
|
|
745
|
+
}>>;
|
|
746
|
+
result: z.ZodEnum<{
|
|
747
|
+
baseline: "baseline";
|
|
748
|
+
duplicate: "duplicate";
|
|
749
|
+
error: "error";
|
|
750
|
+
launched: "launched";
|
|
751
|
+
"no-match": "no-match";
|
|
752
|
+
preview: "preview";
|
|
753
|
+
"rate-limited": "rate-limited";
|
|
754
|
+
}>;
|
|
755
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
756
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
757
|
+
receiptId: z.ZodOptional<z.ZodString>;
|
|
758
|
+
runId: z.ZodOptional<z.ZodString>;
|
|
759
|
+
githubNumber: z.ZodOptional<z.ZodNumber>;
|
|
760
|
+
githubTitle: z.ZodOptional<z.ZodString>;
|
|
761
|
+
githubUrl: z.ZodOptional<z.ZodString>;
|
|
762
|
+
rateLimit: z.ZodOptional<z.ZodObject<{
|
|
763
|
+
bucket: z.ZodEnum<{
|
|
764
|
+
core: "core";
|
|
765
|
+
search: "search";
|
|
766
|
+
}>;
|
|
767
|
+
remaining: z.ZodOptional<z.ZodNumber>;
|
|
768
|
+
resetAt: z.ZodOptional<z.ZodString>;
|
|
769
|
+
}, z.core.$strip>>;
|
|
770
|
+
}, z.core.$strip>>;
|
|
771
|
+
}, z.core.$strip>;
|
|
772
|
+
export type AutomationLogResponse = z.infer<typeof automationLogResponseSchema>;
|
|
773
|
+
/** `POST /automation-log/:receiptId/retry` (202) — the relaunched receipt and its new run. */
|
|
774
|
+
export declare const automationRetryResponseSchema: z.ZodObject<{
|
|
775
|
+
receiptId: z.ZodString;
|
|
776
|
+
runId: z.ZodString;
|
|
777
|
+
}, z.core.$strip>;
|
|
778
|
+
export type AutomationRetryResponse = z.infer<typeof automationRetryResponseSchema>;
|
|
779
|
+
/**
|
|
780
|
+
* `POST /automations`. The definition minus everything the server owns — id, revision, the
|
|
781
|
+
* timestamps and `enabled`, which is not a body field: a definition is always created paused, and
|
|
782
|
+
* `enable: true` asks the route to enable it AND establish a current-time baseline in one step.
|
|
783
|
+
*/
|
|
784
|
+
export declare const createAutomationInputSchema: z.ZodObject<{
|
|
785
|
+
name: z.ZodString;
|
|
786
|
+
description: z.ZodOptional<z.ZodString>;
|
|
787
|
+
events: z.ZodArray<z.ZodEnum<{
|
|
788
|
+
"issue.labeled": "issue.labeled";
|
|
789
|
+
"issue.opened": "issue.opened";
|
|
790
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
791
|
+
"pull_request.opened": "pull_request.opened";
|
|
792
|
+
}>>;
|
|
793
|
+
intervalSeconds: z.ZodNumber;
|
|
794
|
+
filters: z.ZodObject<{
|
|
795
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
796
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
797
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
798
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
799
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
800
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
801
|
+
lookbackDays: z.ZodNumber;
|
|
802
|
+
maxRecords: z.ZodNumber;
|
|
803
|
+
}, z.core.$strip>;
|
|
804
|
+
task: z.ZodObject<{
|
|
805
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
806
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
807
|
+
id: z.ZodString;
|
|
808
|
+
name: z.ZodOptional<z.ZodString>;
|
|
809
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
810
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
811
|
+
model: z.ZodOptional<z.ZodString>;
|
|
812
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
813
|
+
claude: "claude";
|
|
814
|
+
codex: "codex";
|
|
815
|
+
opencode: "opencode";
|
|
816
|
+
}>>;
|
|
817
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
818
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
819
|
+
command: z.ZodOptional<z.ZodString>;
|
|
820
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
821
|
+
retry: z.ZodString;
|
|
822
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
823
|
+
}, z.core.$strip>>;
|
|
824
|
+
}, z.core.$strip>>>;
|
|
825
|
+
model: z.ZodOptional<z.ZodString>;
|
|
826
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
827
|
+
claude: "claude";
|
|
828
|
+
codex: "codex";
|
|
829
|
+
opencode: "opencode";
|
|
830
|
+
}>>;
|
|
831
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
832
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
833
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
834
|
+
prompt: z.ZodString;
|
|
835
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
836
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
837
|
+
}, z.core.$strip>;
|
|
838
|
+
enable: z.ZodOptional<z.ZodBoolean>;
|
|
839
|
+
}, z.core.$strip>;
|
|
840
|
+
export type CreateAutomationInput = z.input<typeof createAutomationInputSchema>;
|
|
841
|
+
/**
|
|
842
|
+
* `PUT /automations/:id`. The same body plus the revision the editor read — a stale one answers
|
|
843
|
+
* 409 rather than overwriting somebody else's edit. `enabled` IS a field here: an edit may not
|
|
844
|
+
* silently pause a running automation, so the caller restates it.
|
|
845
|
+
*/
|
|
846
|
+
export declare const updateAutomationInputSchema: z.ZodObject<{
|
|
847
|
+
name: z.ZodString;
|
|
848
|
+
description: z.ZodOptional<z.ZodString>;
|
|
849
|
+
events: z.ZodArray<z.ZodEnum<{
|
|
850
|
+
"issue.labeled": "issue.labeled";
|
|
851
|
+
"issue.opened": "issue.opened";
|
|
852
|
+
"issue.unlabeled": "issue.unlabeled";
|
|
853
|
+
"pull_request.opened": "pull_request.opened";
|
|
854
|
+
}>>;
|
|
855
|
+
intervalSeconds: z.ZodNumber;
|
|
856
|
+
filters: z.ZodObject<{
|
|
857
|
+
authors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
858
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
859
|
+
allLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
860
|
+
anyLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
861
|
+
excludeLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
862
|
+
changedLabels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
863
|
+
lookbackDays: z.ZodNumber;
|
|
864
|
+
maxRecords: z.ZodNumber;
|
|
865
|
+
}, z.core.$strip>;
|
|
866
|
+
task: z.ZodObject<{
|
|
867
|
+
workflow: z.ZodOptional<z.ZodString>;
|
|
868
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
869
|
+
id: z.ZodString;
|
|
870
|
+
name: z.ZodOptional<z.ZodString>;
|
|
871
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
872
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
873
|
+
model: z.ZodOptional<z.ZodString>;
|
|
874
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
875
|
+
claude: "claude";
|
|
876
|
+
codex: "codex";
|
|
877
|
+
opencode: "opencode";
|
|
878
|
+
}>>;
|
|
879
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
880
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
881
|
+
command: z.ZodOptional<z.ZodString>;
|
|
882
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
883
|
+
retry: z.ZodString;
|
|
884
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
885
|
+
}, z.core.$strip>>;
|
|
886
|
+
}, z.core.$strip>>>;
|
|
887
|
+
model: z.ZodOptional<z.ZodString>;
|
|
888
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
889
|
+
claude: "claude";
|
|
890
|
+
codex: "codex";
|
|
891
|
+
opencode: "opencode";
|
|
892
|
+
}>>;
|
|
893
|
+
worktree: z.ZodOptional<z.ZodBoolean>;
|
|
894
|
+
autonomous: z.ZodOptional<z.ZodBoolean>;
|
|
895
|
+
generateFollowups: z.ZodOptional<z.ZodBoolean>;
|
|
896
|
+
prompt: z.ZodString;
|
|
897
|
+
variants: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
|
|
898
|
+
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
899
|
+
}, z.core.$strip>;
|
|
900
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
901
|
+
expectedRevision: z.ZodNumber;
|
|
902
|
+
}, z.core.$strip>;
|
|
903
|
+
export type UpdateAutomationInput = z.input<typeof updateAutomationInputSchema>;
|
|
904
|
+
/** `POST /automations/:id/check` — which of the two manual checks to run. */
|
|
905
|
+
export declare const automationCheckInputSchema: z.ZodObject<{
|
|
906
|
+
mode: z.ZodEnum<{
|
|
907
|
+
execute: "execute";
|
|
908
|
+
preview: "preview";
|
|
909
|
+
}>;
|
|
910
|
+
}, z.core.$strip>;
|
|
911
|
+
export type AutomationCheckInput = z.input<typeof automationCheckInputSchema>;
|