@ozzylabs/feedradar 0.2.1 → 0.2.3
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.ja.md +51 -13
- package/README.md +51 -13
- package/dist/agents/_boundary.d.ts +21 -0
- package/dist/agents/_boundary.d.ts.map +1 -1
- package/dist/agents/_boundary.js +34 -0
- package/dist/agents/_boundary.js.map +1 -1
- package/dist/agents/claude-code.d.ts.map +1 -1
- package/dist/agents/claude-code.js +14 -6
- package/dist/agents/claude-code.js.map +1 -1
- package/dist/agents/codex-cli.d.ts.map +1 -1
- package/dist/agents/codex-cli.js +13 -7
- package/dist/agents/codex-cli.js.map +1 -1
- package/dist/agents/copilot.d.ts.map +1 -1
- package/dist/agents/copilot.js +13 -6
- package/dist/agents/copilot.js.map +1 -1
- package/dist/agents/gemini-cli.d.ts.map +1 -1
- package/dist/agents/gemini-cli.js +13 -6
- package/dist/agents/gemini-cli.js.map +1 -1
- package/dist/agents/types.d.ts +26 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/claude-skills/dismiss/SKILL.md +4 -4
- package/dist/claude-skills/research/SKILL.md +2 -3
- package/dist/claude-skills/review/SKILL.md +2 -2
- package/dist/claude-skills/update/SKILL.md +7 -7
- package/dist/cli/_locale.d.ts +96 -0
- package/dist/cli/_locale.d.ts.map +1 -0
- package/dist/cli/_locale.js +130 -0
- package/dist/cli/_locale.js.map +1 -0
- package/dist/cli/_progress.d.ts +30 -1
- package/dist/cli/_progress.d.ts.map +1 -1
- package/dist/cli/_progress.js +9 -1
- package/dist/cli/_progress.js.map +1 -1
- package/dist/cli/dismiss.d.ts.map +1 -1
- package/dist/cli/dismiss.js +61 -54
- package/dist/cli/dismiss.js.map +1 -1
- package/dist/cli/doctor.d.ts +8 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +91 -60
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +36 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +81 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +15 -0
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +149 -51
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/items.d.ts.map +1 -1
- package/dist/cli/items.js +51 -30
- package/dist/cli/items.js.map +1 -1
- package/dist/cli/research.d.ts.map +1 -1
- package/dist/cli/research.js +138 -109
- package/dist/cli/research.js.map +1 -1
- package/dist/cli/review.d.ts.map +1 -1
- package/dist/cli/review.js +114 -92
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/routine/fire.d.ts +3 -2
- package/dist/cli/routine/fire.d.ts.map +1 -1
- package/dist/cli/routine/fire.js +30 -25
- package/dist/cli/routine/fire.js.map +1 -1
- package/dist/cli/routine/generate-pipeline.d.ts +24 -10
- package/dist/cli/routine/generate-pipeline.d.ts.map +1 -1
- package/dist/cli/routine/generate-pipeline.js +158 -83
- package/dist/cli/routine/generate-pipeline.js.map +1 -1
- package/dist/cli/routine/generate-watch.d.ts +56 -1
- package/dist/cli/routine/generate-watch.d.ts.map +1 -1
- package/dist/cli/routine/generate-watch.js +116 -42
- package/dist/cli/routine/generate-watch.js.map +1 -1
- package/dist/cli/routine.d.ts.map +1 -1
- package/dist/cli/routine.js +28 -24
- package/dist/cli/routine.js.map +1 -1
- package/dist/cli/source.d.ts.map +1 -1
- package/dist/cli/source.js +212 -182
- package/dist/cli/source.js.map +1 -1
- package/dist/cli/state.d.ts +43 -0
- package/dist/cli/state.d.ts.map +1 -0
- package/dist/cli/state.js +177 -0
- package/dist/cli/state.js.map +1 -0
- package/dist/cli/triage.d.ts.map +1 -1
- package/dist/cli/triage.js +146 -130
- package/dist/cli/triage.js.map +1 -1
- package/dist/cli/undismiss.d.ts.map +1 -1
- package/dist/cli/undismiss.js +32 -25
- package/dist/cli/undismiss.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +77 -61
- package/dist/cli/update.js.map +1 -1
- package/dist/cli/watch.d.ts.map +1 -1
- package/dist/cli/watch.js +71 -31
- package/dist/cli/watch.js.map +1 -1
- package/dist/cli/workflow/generate-combined-with-triage.d.ts +9 -2
- package/dist/cli/workflow/generate-combined-with-triage.d.ts.map +1 -1
- package/dist/cli/workflow/generate-combined-with-triage.js +120 -71
- package/dist/cli/workflow/generate-combined-with-triage.js.map +1 -1
- package/dist/cli/workflow/generate-combined.d.ts +8 -1
- package/dist/cli/workflow/generate-combined.d.ts.map +1 -1
- package/dist/cli/workflow/generate-combined.js +39 -33
- package/dist/cli/workflow/generate-combined.js.map +1 -1
- package/dist/cli/workflow/generate-watch.d.ts +10 -1
- package/dist/cli/workflow/generate-watch.d.ts.map +1 -1
- package/dist/cli/workflow/generate-watch.js +37 -30
- package/dist/cli/workflow/generate-watch.js.map +1 -1
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +28 -23
- package/dist/cli/workflow.js.map +1 -1
- package/dist/core/config.d.ts +2 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +14 -4
- package/dist/core/config.js.map +1 -1
- package/dist/core/feeds/html-js.d.ts.map +1 -1
- package/dist/core/feeds/html-js.js +16 -9
- package/dist/core/feeds/html-js.js.map +1 -1
- package/dist/core/feeds/json-api.d.ts.map +1 -1
- package/dist/core/feeds/json-api.js +38 -21
- package/dist/core/feeds/json-api.js.map +1 -1
- package/dist/core/feeds/types.d.ts +9 -0
- package/dist/core/feeds/types.d.ts.map +1 -1
- package/dist/core/filter.d.ts +20 -12
- package/dist/core/filter.d.ts.map +1 -1
- package/dist/core/filter.js +87 -46
- package/dist/core/filter.js.map +1 -1
- package/dist/core/locale.d.ts +69 -0
- package/dist/core/locale.d.ts.map +1 -0
- package/dist/core/locale.js +74 -0
- package/dist/core/locale.js.map +1 -0
- package/dist/core/state.d.ts +20 -0
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +26 -0
- package/dist/core/state.js.map +1 -1
- package/dist/core/triage/prompt.d.ts.map +1 -1
- package/dist/core/triage/prompt.js +18 -4
- package/dist/core/triage/prompt.js.map +1 -1
- package/dist/core/watcher.d.ts +28 -0
- package/dist/core/watcher.d.ts.map +1 -1
- package/dist/core/watcher.js +77 -8
- package/dist/core/watcher.js.map +1 -1
- package/dist/i18n/index.d.ts +57 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +49 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages/en.d.ts +1049 -0
- package/dist/i18n/messages/en.d.ts.map +1 -0
- package/dist/i18n/messages/en.js +1152 -0
- package/dist/i18n/messages/en.js.map +1 -0
- package/dist/i18n/messages/ja.d.ts +13 -0
- package/dist/i18n/messages/ja.d.ts.map +1 -0
- package/dist/i18n/messages/ja.js +1010 -0
- package/dist/i18n/messages/ja.js.map +1 -0
- package/dist/schemas/config.d.ts +7 -0
- package/dist/schemas/config.d.ts.map +1 -1
- package/dist/schemas/config.js +5 -0
- package/dist/schemas/config.js.map +1 -1
- package/dist/schemas/item.d.ts +1 -0
- package/dist/schemas/item.d.ts.map +1 -1
- package/dist/schemas/item.js +15 -0
- package/dist/schemas/item.js.map +1 -1
- package/dist/schemas/recipe.d.ts +7 -1
- package/dist/schemas/recipe.d.ts.map +1 -1
- package/dist/schemas/recipe.js +1 -0
- package/dist/schemas/recipe.js.map +1 -1
- package/dist/schemas/source.d.ts +40 -18
- package/dist/schemas/source.d.ts.map +1 -1
- package/dist/schemas/source.js +84 -23
- package/dist/schemas/source.js.map +1 -1
- package/dist/skills/research/SKILL.md +13 -12
- package/dist/skills/review/SKILL.md +13 -12
- package/dist/skills/update/SKILL.md +19 -19
- package/dist/templates/en/agents/AGENTS.md +284 -0
- package/dist/templates/en/claude/CLAUDE.md +5 -0
- package/dist/templates/en/default.md +16 -0
- package/dist/templates/en/digest.md +66 -0
- package/dist/templates/en/feedradar.md +235 -0
- package/dist/templates/{routines → en/routines}/pipeline.yaml.tmpl +93 -34
- package/dist/templates/{routines → en/routines}/watch-daily.yaml +12 -15
- package/dist/templates/{routines → en/routines}/watch.yaml.tmpl +11 -14
- package/dist/templates/{workflows → en/workflows}/combined-with-triage.template.yaml.tmpl +3 -3
- package/dist/templates/{workflows → en/workflows}/combined.template.yaml.tmpl +6 -6
- package/dist/templates/{workflows → en/workflows}/watch.template.yaml.tmpl +8 -8
- package/dist/templates/{workflows → en/workflows}/watch.yaml +3 -3
- package/dist/templates/{agents → ja/agents}/AGENTS.md +16 -16
- package/dist/templates/{digest.md → ja/digest.md} +5 -6
- package/dist/templates/{feedradar.md → ja/feedradar.md} +12 -12
- package/dist/templates/ja/routines/pipeline.yaml.tmpl +267 -0
- package/dist/templates/ja/routines/watch-daily.yaml +151 -0
- package/dist/templates/ja/routines/watch.yaml.tmpl +145 -0
- package/dist/templates/ja/workflows/combined-with-triage.template.yaml.tmpl +123 -0
- package/dist/templates/ja/workflows/combined.template.yaml.tmpl +109 -0
- package/dist/templates/ja/workflows/watch.template.yaml.tmpl +100 -0
- package/dist/templates/ja/workflows/watch.yaml +73 -0
- package/package.json +1 -1
- /package/dist/templates/{claude → ja/claude}/CLAUDE.md +0 -0
- /package/dist/templates/{default.md → ja/default.md} +0 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { access, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
import {
|
|
4
|
+
import { createTranslator } from "../../i18n/index.js";
|
|
5
|
+
import { LangFlagError, parseLangFlag, resolveWorkspaceLocale } from "../_locale.js";
|
|
6
|
+
import { collectSourceHosts, isSafeRoutinePath, isSubHourlyCron, isValidCron, PROMPT_MODES, printPromptModePaste, renderNetworkAccessBlock, SUPPORTED_MODELS, } from "./generate-watch.js";
|
|
5
7
|
/**
|
|
6
8
|
* `radar routine generate pipeline` (ADR-0020 D5 `pipeline`).
|
|
7
9
|
*
|
|
@@ -26,7 +28,7 @@ import { collectSourceHosts, isSafeRoutinePath, isSubHourlyCron, isValidCron, re
|
|
|
26
28
|
*/
|
|
27
29
|
export const PIPELINE_DEFAULT_MAX_ITEMS = 10;
|
|
28
30
|
/**
|
|
29
|
-
* Landing / output modes for the pipeline routine's step-
|
|
31
|
+
* Landing / output modes for the pipeline routine's step-8 commit (#301).
|
|
30
32
|
*
|
|
31
33
|
* Symmetric with the GHA `combined-with-triage --output-mode pr|direct-commit`
|
|
32
34
|
* (#258), but the names differ because the mechanics differ:
|
|
@@ -37,7 +39,7 @@ export const PIPELINE_DEFAULT_MAX_ITEMS = 10;
|
|
|
37
39
|
* - `auto-merge`: open the same `claude/pipeline/...` PR, then immediately
|
|
38
40
|
* `gh pr merge --squash` it so the output lands on `main`. Distinct from the
|
|
39
41
|
* GHA `direct-commit` (which pushes to main with NO PR at all); here a PR is
|
|
40
|
-
* always created first. Opt-in because the step-
|
|
42
|
+
* always created first. Opt-in because the step-6 self-review makes the PR
|
|
41
43
|
* review-complete (ADR-0020 D3a opt-in auto-merge).
|
|
42
44
|
*
|
|
43
45
|
* NB: `--auto` (vs immediate `--squash`) is intentionally NOT used — on a repo
|
|
@@ -46,7 +48,7 @@ export const PIPELINE_DEFAULT_MAX_ITEMS = 10;
|
|
|
46
48
|
*/
|
|
47
49
|
export const OUTPUT_MODES = ["pr", "auto-merge"];
|
|
48
50
|
/**
|
|
49
|
-
* Build the instructions step-
|
|
51
|
+
* Build the instructions step-8 commit/landing block for the given output mode.
|
|
50
52
|
*
|
|
51
53
|
* - `pr`: open a `claude/pipeline/...` branch + PR and stop (the current,
|
|
52
54
|
* pre-#301 behavior).
|
|
@@ -60,7 +62,7 @@ export const OUTPUT_MODES = ["pr", "auto-merge"];
|
|
|
60
62
|
* step (the placeholder sits where the step body starts). Exported for unit
|
|
61
63
|
* testing (mirrors the GHA generator's `buildFinalStep`).
|
|
62
64
|
*/
|
|
63
|
-
export function buildPipelineLandingStep(mode) {
|
|
65
|
+
export function buildPipelineLandingStep(mode, locale = "en") {
|
|
64
66
|
// The `${...}` / `$(...)` tokens below are bash expansions in the GENERATED
|
|
65
67
|
// YAML, not JS template placeholders, so they are assembled by concatenation
|
|
66
68
|
// to keep biome's noTemplateCurlyInString quiet (same convention as the GHA
|
|
@@ -77,27 +79,54 @@ export function buildPipelineLandingStep(mode) {
|
|
|
77
79
|
` gh pr create --fill --base main --head "${BR}" || true`,
|
|
78
80
|
];
|
|
79
81
|
if (mode === "auto-merge") {
|
|
82
|
+
const prose = locale === "ja"
|
|
83
|
+
? [
|
|
84
|
+
" 8. `items/`・`state/`・`research/` が変わったら、それらを `claude/*` ブランチへ",
|
|
85
|
+
" コミットし、プルリクエストを開き、`main` へ squash-merge する(auto-merge は",
|
|
86
|
+
" ここではオプトイン — 手順 6 のレビューが PR をレビュー完了にする):",
|
|
87
|
+
]
|
|
88
|
+
: [
|
|
89
|
+
" 8. If `items/`, `state/`, or `research/` changed, commit them to a `claude/*`",
|
|
90
|
+
" branch, open a pull request, then squash-merge it to `main` (auto-merge is",
|
|
91
|
+
" opt-in here — the step-6 review makes the PR review-complete):",
|
|
92
|
+
];
|
|
93
|
+
const mergeComment = locale === "ja"
|
|
94
|
+
? [
|
|
95
|
+
" # マージを堅牢にするため --delete-branch の前に head ブランチから離れ、",
|
|
96
|
+
" # 即座に squash-merge する(--auto ではない: 必須チェックのない repo では",
|
|
97
|
+
" # --auto は決してマージしない)。一時的なマージ失敗で実行を中断せず PR を",
|
|
98
|
+
" # 開いたまま残すよう fail-soft にする。",
|
|
99
|
+
]
|
|
100
|
+
: [
|
|
101
|
+
" # Switch off the head branch before --delete-branch so the merge is",
|
|
102
|
+
" # robust, then squash-merge immediately (NOT --auto: on a repo with no",
|
|
103
|
+
" # required checks --auto never merges). Fail-soft so a transient merge",
|
|
104
|
+
" # failure leaves the PR open rather than aborting the run.",
|
|
105
|
+
];
|
|
80
106
|
return [
|
|
81
|
-
|
|
82
|
-
" branch, open a pull request, then squash-merge it to `main` (auto-merge is",
|
|
83
|
-
" opt-in here — the step-5 review makes the PR review-complete):",
|
|
107
|
+
...prose,
|
|
84
108
|
"",
|
|
85
109
|
" ```bash",
|
|
86
110
|
" if ! git diff --quiet items/ state/ research/; then",
|
|
87
111
|
...common,
|
|
88
|
-
|
|
89
|
-
" # robust, then squash-merge immediately (NOT --auto: on a repo with no",
|
|
90
|
-
" # required checks --auto never merges). Fail-soft so a transient merge",
|
|
91
|
-
" # failure leaves the PR open rather than aborting the run.",
|
|
112
|
+
...mergeComment,
|
|
92
113
|
" git switch main",
|
|
93
114
|
` gh pr merge "${BR}" --squash --delete-branch || true`,
|
|
94
115
|
" fi",
|
|
95
116
|
" ```",
|
|
96
117
|
].join("\n");
|
|
97
118
|
}
|
|
119
|
+
const prose = locale === "ja"
|
|
120
|
+
? [
|
|
121
|
+
" 8. `items/`・`state/`・`research/` が変わったら、それらを `claude/*` ブランチへ",
|
|
122
|
+
" コミットし、プルリクエストを開く(`main` へは push しない):",
|
|
123
|
+
]
|
|
124
|
+
: [
|
|
125
|
+
" 8. If `items/`, `state/`, or `research/` changed, commit them to a `claude/*`",
|
|
126
|
+
" branch and open a pull request (do NOT push to `main`):",
|
|
127
|
+
];
|
|
98
128
|
return [
|
|
99
|
-
|
|
100
|
-
" branch and open a pull request (do NOT push to `main`):",
|
|
129
|
+
...prose,
|
|
101
130
|
"",
|
|
102
131
|
" ```bash",
|
|
103
132
|
" if ! git diff --quiet items/ state/ research/; then",
|
|
@@ -113,40 +142,67 @@ export function buildPipelineLandingStep(mode) {
|
|
|
113
142
|
* constraint (ADR-0020 D3a, no auto-merge).
|
|
114
143
|
* - `auto-merge`: flips the constraint to say auto-merge is intentional — the
|
|
115
144
|
* routine opens a `claude/pipeline/...` PR then squash-merges it, and the
|
|
116
|
-
* step-
|
|
145
|
+
* step-6 review is what makes the PR review-complete (ADR-0020 D3a opt-in
|
|
117
146
|
* auto-merge).
|
|
118
147
|
*
|
|
119
148
|
* Exported for unit testing (mirrors the GHA generator's exported builders).
|
|
120
149
|
*/
|
|
121
|
-
export function buildOutputGateConstraint(mode) {
|
|
150
|
+
export function buildOutputGateConstraint(mode, locale = "en") {
|
|
122
151
|
if (mode === "auto-merge") {
|
|
152
|
+
if (locale === "ja") {
|
|
153
|
+
return [
|
|
154
|
+
" - auto-merge はここでは意図的: この routine は `claude/pipeline/...` PR を開いてから",
|
|
155
|
+
" `main` へ squash-merge する。手順 6 のレビューが PR をレビュー完了にする。",
|
|
156
|
+
].join("\n");
|
|
157
|
+
}
|
|
123
158
|
return [
|
|
124
159
|
" - Auto-merge is intentional here: this routine opens a `claude/pipeline/...`",
|
|
125
|
-
" PR then squash-merges it to `main`. The step-
|
|
126
|
-
" review-complete
|
|
160
|
+
" PR then squash-merges it to `main`. The step-6 review makes the PR",
|
|
161
|
+
" review-complete.",
|
|
162
|
+
].join("\n");
|
|
163
|
+
}
|
|
164
|
+
if (locale === "ja") {
|
|
165
|
+
return [
|
|
166
|
+
" - `main` へ直接 push しない。常に `claude/pipeline/...` ブランチと PR を使う",
|
|
167
|
+
" (出力ゲート。auto-merge なし)。",
|
|
127
168
|
].join("\n");
|
|
128
169
|
}
|
|
129
170
|
return [
|
|
130
171
|
" - Do NOT push to `main` directly. Always use a `claude/pipeline/...` branch",
|
|
131
|
-
" and a PR (
|
|
172
|
+
" and a PR (output gate; no auto-merge).",
|
|
132
173
|
].join("\n");
|
|
133
174
|
}
|
|
134
175
|
/**
|
|
135
176
|
* Build the `notes:` output-gate sentence for the given output mode. Mirrors
|
|
136
177
|
* `buildOutputGateConstraint` but phrased for the ops `notes` block.
|
|
137
178
|
*/
|
|
138
|
-
export function buildOutputGateNote(mode) {
|
|
179
|
+
export function buildOutputGateNote(mode, locale = "en") {
|
|
139
180
|
if (mode === "auto-merge") {
|
|
181
|
+
if (locale === "ja") {
|
|
182
|
+
return [
|
|
183
|
+
" 出力は `claude/*` ブランチ / PR にコミットされ、その後 main へ squash-merge される",
|
|
184
|
+
" (auto-merge はオプトイン。手順 6 のレビューが PR をレビュー完了にする)。",
|
|
185
|
+
" 単一の Claude セッション、spawn なし: GHA パイプラインのクロスエージェント",
|
|
186
|
+
" レビューはここには存在しない。",
|
|
187
|
+
].join("\n");
|
|
188
|
+
}
|
|
140
189
|
return [
|
|
141
190
|
" Output is committed to a `claude/*` branch / PR, then squash-merged to main",
|
|
142
|
-
" (auto-merge is opt-in; the step-
|
|
143
|
-
"
|
|
191
|
+
" (auto-merge is opt-in; the step-6 review makes the PR review-complete).",
|
|
192
|
+
" Single Claude session, no spawn: the cross-agent review",
|
|
144
193
|
" of the GHA pipeline is NOT present here.",
|
|
145
194
|
].join("\n");
|
|
146
195
|
}
|
|
196
|
+
if (locale === "ja") {
|
|
197
|
+
return [
|
|
198
|
+
" 出力は `claude/*` ブランチ / PR のみにコミットされる(main へ直接ではない)。",
|
|
199
|
+
" 単一の Claude セッション、spawn なし: GHA パイプラインのクロスエージェント",
|
|
200
|
+
" レビューはここには存在しない。",
|
|
201
|
+
].join("\n");
|
|
202
|
+
}
|
|
147
203
|
return [
|
|
148
|
-
" Output is committed to a `claude/*` branch / PR only (never main directly
|
|
149
|
-
"
|
|
204
|
+
" Output is committed to a `claude/*` branch / PR only (never main directly).",
|
|
205
|
+
" Single Claude session, no spawn: the cross-agent review",
|
|
150
206
|
" of the GHA pipeline is NOT present here.",
|
|
151
207
|
].join("\n");
|
|
152
208
|
}
|
|
@@ -208,8 +264,14 @@ export function renderPipelineRoutineTemplate(template, values) {
|
|
|
208
264
|
*/
|
|
209
265
|
export async function generatePipelineRoutine(options) {
|
|
210
266
|
const { cwd, name, repository, cron, timezone, model, maxItems, outputMode, output, force } = options;
|
|
267
|
+
const promptMode = options.promptMode ?? "inline";
|
|
268
|
+
const locale = options.locale ?? "en";
|
|
269
|
+
const t = createTranslator(locale);
|
|
211
270
|
const log = options.io?.log ?? ((m) => console.log(m));
|
|
212
271
|
const warn = options.io?.warn ?? ((m) => console.warn(m));
|
|
272
|
+
if (!PROMPT_MODES.includes(promptMode)) {
|
|
273
|
+
throw new Error(`invalid --prompt-mode '${promptMode}' (expected one of: ${PROMPT_MODES.join(" | ")})`);
|
|
274
|
+
}
|
|
213
275
|
if (!OUTPUT_MODES.includes(outputMode)) {
|
|
214
276
|
throw new Error(`invalid --output-mode '${outputMode}' (expected one of: ${OUTPUT_MODES.join(" | ")})`);
|
|
215
277
|
}
|
|
@@ -231,7 +293,7 @@ export async function generatePipelineRoutine(options) {
|
|
|
231
293
|
throw new Error(`invalid --repo '${repository}' (expected owner/repo)`);
|
|
232
294
|
}
|
|
233
295
|
const templatesRoot = options.templatesRoot ?? (await resolveTemplatesRoot());
|
|
234
|
-
const templatePath = join(templatesRoot, "routines", "pipeline.yaml.tmpl");
|
|
296
|
+
const templatePath = join(templatesRoot, locale, "routines", "pipeline.yaml.tmpl");
|
|
235
297
|
if (!(await pathExists(templatePath))) {
|
|
236
298
|
throw new Error(`bundled template not found: ${templatePath}`);
|
|
237
299
|
}
|
|
@@ -245,9 +307,9 @@ export async function generatePipelineRoutine(options) {
|
|
|
245
307
|
model,
|
|
246
308
|
maxItems,
|
|
247
309
|
networkAccessBlock: renderNetworkAccessBlock(hosts),
|
|
248
|
-
landingStep: buildPipelineLandingStep(outputMode),
|
|
249
|
-
outputGateConstraint: buildOutputGateConstraint(outputMode),
|
|
250
|
-
outputGateNote: buildOutputGateNote(outputMode),
|
|
310
|
+
landingStep: buildPipelineLandingStep(outputMode, locale),
|
|
311
|
+
outputGateConstraint: buildOutputGateConstraint(outputMode, locale),
|
|
312
|
+
outputGateNote: buildOutputGateNote(outputMode, locale),
|
|
251
313
|
allowUnrestrictedGitPush: outputMode === "auto-merge",
|
|
252
314
|
});
|
|
253
315
|
const destAbs = isAbsolute(output) ? output : join(cwd, output);
|
|
@@ -256,44 +318,45 @@ export async function generatePipelineRoutine(options) {
|
|
|
256
318
|
throw new Error(`output file already exists: ${destRel} (use --force to overwrite)`);
|
|
257
319
|
}
|
|
258
320
|
if ((await pathExists(destAbs)) && force) {
|
|
259
|
-
warn(
|
|
321
|
+
warn(t("cli.routine.generatePipelineOverwriting", { path: destRel }));
|
|
260
322
|
}
|
|
261
323
|
await mkdir(dirname(destAbs), { recursive: true });
|
|
262
324
|
await writeFile(destAbs, rendered, "utf8");
|
|
263
|
-
log(
|
|
264
|
-
log(
|
|
325
|
+
log(t("cli.routine.generatePipelineWrote", { path: destRel }));
|
|
326
|
+
log(t("cli.routine.generatePipelineSummary", {
|
|
327
|
+
name,
|
|
328
|
+
repo: repository,
|
|
329
|
+
cron,
|
|
330
|
+
model,
|
|
331
|
+
maxItems,
|
|
332
|
+
outputMode,
|
|
333
|
+
}));
|
|
265
334
|
if (outputMode === "auto-merge") {
|
|
266
|
-
warn("routine
|
|
267
|
-
"`allow_unrestricted_git_push: true`, but that is NECESSARY, NOT SUFFICIENT — " +
|
|
268
|
-
"you must ALSO turn ON the Web UI 'Allow unrestricted branch pushes' toggle " +
|
|
269
|
-
"(the RemoteTrigger API does not accept this field). Note that unattended AI " +
|
|
270
|
-
"output then lands on the default branch with NO human review.");
|
|
335
|
+
warn(t("cli.routine.autoMergeWarning", { cmd: "routine generate pipeline" }));
|
|
271
336
|
}
|
|
272
337
|
log("");
|
|
273
|
-
log("
|
|
274
|
-
log("
|
|
275
|
-
log("
|
|
276
|
-
|
|
277
|
-
log(
|
|
278
|
-
log(` yq -r '.environment.setup_script' ${destRel}`);
|
|
279
|
-
log(" 4. After registering, copy the issued routine_id (trig_xxxx) back into the YAML and set status: active.");
|
|
338
|
+
log(t("cli.routine.pasteNoApi"));
|
|
339
|
+
log(t("cli.routine.pasteStep1"));
|
|
340
|
+
log(t("cli.routine.pasteStep2"));
|
|
341
|
+
printPromptModePaste(promptMode, { path: destRel, name }, t, log);
|
|
342
|
+
log(t("cli.routine.pasteStep4"));
|
|
280
343
|
log("");
|
|
281
|
-
log(
|
|
282
|
-
log("
|
|
283
|
-
log("
|
|
284
|
-
log(
|
|
285
|
-
log("
|
|
286
|
-
log("
|
|
287
|
-
log("
|
|
344
|
+
log(t("cli.routine.scheduleNote1"));
|
|
345
|
+
log(t("cli.routine.scheduleNote2"));
|
|
346
|
+
log(t("cli.routine.scheduleNote3"));
|
|
347
|
+
log(t("cli.routine.scheduleNote4"));
|
|
348
|
+
log(t("cli.routine.scheduleNote5"));
|
|
349
|
+
log(t("cli.routine.scheduleNote6"));
|
|
350
|
+
log(t("cli.routine.scheduleNote7"));
|
|
288
351
|
log("");
|
|
289
|
-
log(
|
|
290
|
-
log("
|
|
291
|
-
log(
|
|
352
|
+
log(t("cli.routine.pipelineNoSpawn1"));
|
|
353
|
+
log(t("cli.routine.pipelineNoSpawn2"));
|
|
354
|
+
log(t("cli.routine.pipelineItemCaps", { maxItems }));
|
|
292
355
|
if (outputMode === "auto-merge") {
|
|
293
|
-
log("
|
|
356
|
+
log(t("cli.routine.outputGateAutoMerge"));
|
|
294
357
|
}
|
|
295
358
|
else {
|
|
296
|
-
log("
|
|
359
|
+
log(t("cli.routine.outputGateBranchPr"));
|
|
297
360
|
}
|
|
298
361
|
return { outputPath: destRel };
|
|
299
362
|
}
|
|
@@ -311,6 +374,7 @@ export function parseGeneratePipelineRoutineArgs(args) {
|
|
|
311
374
|
let model = "claude-sonnet-4-6";
|
|
312
375
|
let maxItems = PIPELINE_DEFAULT_MAX_ITEMS;
|
|
313
376
|
let outputMode = "pr";
|
|
377
|
+
let promptMode = "inline";
|
|
314
378
|
let output;
|
|
315
379
|
let force = false;
|
|
316
380
|
let help = false;
|
|
@@ -379,6 +443,16 @@ export function parseGeneratePipelineRoutineArgs(args) {
|
|
|
379
443
|
outputMode = value;
|
|
380
444
|
continue;
|
|
381
445
|
}
|
|
446
|
+
if (a === "--prompt-mode") {
|
|
447
|
+
const value = args[++i];
|
|
448
|
+
if (value === undefined)
|
|
449
|
+
throw new Error(`option ${a} requires a value`);
|
|
450
|
+
if (!PROMPT_MODES.includes(value)) {
|
|
451
|
+
throw new Error(`option --prompt-mode expects one of: ${PROMPT_MODES.join(" | ")}, got '${value}'`);
|
|
452
|
+
}
|
|
453
|
+
promptMode = value;
|
|
454
|
+
continue;
|
|
455
|
+
}
|
|
382
456
|
if (a === "--output") {
|
|
383
457
|
const value = args[++i];
|
|
384
458
|
if (value === undefined)
|
|
@@ -403,37 +477,17 @@ export function parseGeneratePipelineRoutineArgs(args) {
|
|
|
403
477
|
model,
|
|
404
478
|
maxItems,
|
|
405
479
|
outputMode,
|
|
480
|
+
promptMode,
|
|
406
481
|
output: output ?? join(".claude", "routines", `${name}.yaml`),
|
|
407
482
|
force,
|
|
408
483
|
help,
|
|
409
484
|
};
|
|
410
485
|
}
|
|
411
|
-
export function printGeneratePipelineRoutineHelp(log) {
|
|
412
|
-
log("
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
log("processing items ONE AT A TIME (ADR-0020 D5 `pipeline`). It does NOT spawn");
|
|
417
|
-
log("other agents (D2), so the cross-agent review of the GHA combined-with-triage");
|
|
418
|
-
log("workflow is NOT present. Per-run item count is bounded by CLI flags (D3e).");
|
|
419
|
-
log("");
|
|
420
|
-
log("Options:");
|
|
421
|
-
log(' --name <name> Routine name (default: "feedradar-pipeline")');
|
|
422
|
-
log(" Also the default output filename.");
|
|
423
|
-
log(" --repo <owner/repo> Target repository (default: <owner>/<repo>)");
|
|
424
|
-
log(' --cron <expression> 5-field cron, min interval 1 HOUR (default: "0 * * * *")');
|
|
425
|
-
log(' Sub-hourly (e.g. "*/5 * * * *") is rejected.');
|
|
426
|
-
log(' --timezone <tz> Schedule timezone (default: "UTC")');
|
|
427
|
-
log(` --model <name> ${SUPPORTED_MODELS.join(" | ")}`);
|
|
428
|
-
log(" (default: claude-sonnet-4-6)");
|
|
429
|
-
log(` --max-items N Hard cap on items triaged/researched/reviewed per run`);
|
|
430
|
-
log(` (default: ${PIPELINE_DEFAULT_MAX_ITEMS}). Drives triage --max-items and items --limit.`);
|
|
431
|
-
log(" --output-mode <mode> pr | auto-merge (default: pr). 'auto-merge' squash-merges");
|
|
432
|
-
log(" the routine's own PR to main (requires the Web UI 'Allow");
|
|
433
|
-
log(" unrestricted branch pushes' toggle).");
|
|
434
|
-
log(" --output <path> Output file under .claude/routines/");
|
|
435
|
-
log(" (default: .claude/routines/<name>.yaml)");
|
|
436
|
-
log(" --force, -f Overwrite existing output file");
|
|
486
|
+
export function printGeneratePipelineRoutineHelp(t, log) {
|
|
487
|
+
log(t("cli.routine.generatePipelineHelp", {
|
|
488
|
+
models: SUPPORTED_MODELS.join(" | "),
|
|
489
|
+
maxItems: PIPELINE_DEFAULT_MAX_ITEMS,
|
|
490
|
+
}));
|
|
437
491
|
}
|
|
438
492
|
/**
|
|
439
493
|
* Entry point invoked by `runRoutine` (in `src/cli/routine.ts`) when the user
|
|
@@ -444,16 +498,35 @@ export function printGeneratePipelineRoutineHelp(log) {
|
|
|
444
498
|
export async function runGeneratePipelineRoutine(args, io = {}, cwd = process.cwd()) {
|
|
445
499
|
const log = io.log ?? ((m) => console.log(m));
|
|
446
500
|
const error = io.error ?? ((m) => console.error(m));
|
|
501
|
+
// Strip `--lang <en|ja>` before the type parser sees argv (mirrors `init`).
|
|
502
|
+
let langFlag;
|
|
503
|
+
let rest;
|
|
504
|
+
try {
|
|
505
|
+
const langState = parseLangFlag(args);
|
|
506
|
+
langFlag = langState.flag;
|
|
507
|
+
rest = langState.rest;
|
|
508
|
+
}
|
|
509
|
+
catch (e) {
|
|
510
|
+
if (e instanceof LangFlagError) {
|
|
511
|
+
error(`routine generate pipeline: ${e.message}`);
|
|
512
|
+
return 2;
|
|
513
|
+
}
|
|
514
|
+
throw e;
|
|
515
|
+
}
|
|
447
516
|
let parsed;
|
|
448
517
|
try {
|
|
449
|
-
parsed = parseGeneratePipelineRoutineArgs(
|
|
518
|
+
parsed = parseGeneratePipelineRoutineArgs(rest);
|
|
450
519
|
}
|
|
451
520
|
catch (e) {
|
|
452
521
|
error(`routine generate pipeline: ${e instanceof Error ? e.message : String(e)}`);
|
|
453
522
|
return 2;
|
|
454
523
|
}
|
|
524
|
+
// Resolve the locale before the help branch so `--help` honors --lang / env /
|
|
525
|
+
// config (the per-type help is now sourced from the i18n catalog, #337).
|
|
526
|
+
const locale = await resolveWorkspaceLocale({ flag: langFlag, cwd, warn: error });
|
|
527
|
+
const t = createTranslator(locale);
|
|
455
528
|
if (parsed.help) {
|
|
456
|
-
printGeneratePipelineRoutineHelp(log);
|
|
529
|
+
printGeneratePipelineRoutineHelp(t, log);
|
|
457
530
|
return 0;
|
|
458
531
|
}
|
|
459
532
|
try {
|
|
@@ -466,8 +539,10 @@ export async function runGeneratePipelineRoutine(args, io = {}, cwd = process.cw
|
|
|
466
539
|
model: parsed.model,
|
|
467
540
|
maxItems: parsed.maxItems,
|
|
468
541
|
outputMode: parsed.outputMode,
|
|
542
|
+
promptMode: parsed.promptMode,
|
|
469
543
|
output: parsed.output,
|
|
470
544
|
force: parsed.force,
|
|
545
|
+
locale,
|
|
471
546
|
io,
|
|
472
547
|
});
|
|
473
548
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-pipeline.js","sourceRoot":"","sources":["../../../src/cli/routine/generate-pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-pipeline.js","sourceRoot":"","sources":["../../../src/cli/routine/generate-pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Locale } from "../../core/locale.js";
|
|
2
|
+
import { type Translator } from "../../i18n/index.js";
|
|
1
3
|
/**
|
|
2
4
|
* Sinks for the `routine generate watch` command's user-facing output.
|
|
3
5
|
*
|
|
@@ -17,6 +19,45 @@ export interface RoutineIO {
|
|
|
17
19
|
*/
|
|
18
20
|
export declare const SUPPORTED_MODELS: readonly ["claude-sonnet-4-6", "claude-opus-4-7", "claude-haiku-4-5"];
|
|
19
21
|
export type SupportedModel = (typeof SUPPORTED_MODELS)[number];
|
|
22
|
+
/**
|
|
23
|
+
* What the generator tells the user to paste into the Web UI **Prompt /
|
|
24
|
+
* Instructions** field (#327). This does NOT change the generated YAML — the
|
|
25
|
+
* `instructions:` block always stays in the file as the runtime source of
|
|
26
|
+
* truth (ADR-0020). It only switches the completion stdout's paste guidance:
|
|
27
|
+
*
|
|
28
|
+
* - `inline` (default): the current behavior — paste the full multi-line
|
|
29
|
+
* `instructions:` block, extracted with `yq -r '.instructions'`. The Web UI
|
|
30
|
+
* Prompt is self-contained (ADR-0020 "prompt is self-contained"), at the
|
|
31
|
+
* cost of re-pasting whenever `instructions:` changes.
|
|
32
|
+
* - `bootstrap` (opt-in): paste a SHORT bootstrap prompt that tells the routine
|
|
33
|
+
* to read `.claude/routines/<name>.yaml` and follow its top-level
|
|
34
|
+
* `instructions:` block at run time. Instructions then track repo commits
|
|
35
|
+
* with NO Web UI re-paste, trading away some self-contained-ness.
|
|
36
|
+
*
|
|
37
|
+
* The default is `inline` so existing behavior is unchanged; `bootstrap` is
|
|
38
|
+
* strictly opt-in (Issue #327).
|
|
39
|
+
*/
|
|
40
|
+
export declare const PROMPT_MODES: readonly ["inline", "bootstrap"];
|
|
41
|
+
export type PromptMode = (typeof PROMPT_MODES)[number];
|
|
42
|
+
/**
|
|
43
|
+
* Print the Web UI **Prompt / Instructions** paste guidance for the chosen
|
|
44
|
+
* `promptMode` (#327). Shared by the `watch` and `pipeline` generators so the
|
|
45
|
+
* two stay in lockstep.
|
|
46
|
+
*
|
|
47
|
+
* In `inline` mode this is the current "extract the full instructions with yq"
|
|
48
|
+
* guidance. In `bootstrap` mode it prints a short bootstrap prompt (the exact
|
|
49
|
+
* text to paste) that instructs the routine to read the committed YAML and
|
|
50
|
+
* follow its `instructions:` block at run time. In BOTH modes the
|
|
51
|
+
* Setup-script `yq` extraction line is still printed (the setup script always
|
|
52
|
+
* has to be pasted into its own Web UI field).
|
|
53
|
+
*
|
|
54
|
+
* `path` is the rendered routine's relative path; `name` is the routine name
|
|
55
|
+
* (interpolated into the bootstrap prompt body).
|
|
56
|
+
*/
|
|
57
|
+
export declare function printPromptModePaste(promptMode: PromptMode, values: {
|
|
58
|
+
path: string;
|
|
59
|
+
name: string;
|
|
60
|
+
}, t: Translator, log: (m: string) => void): void;
|
|
20
61
|
/**
|
|
21
62
|
* Collect the distinct outbound hosts a routine must reach to fetch the
|
|
22
63
|
* workspace's subscribed feeds.
|
|
@@ -126,6 +167,19 @@ export interface GenerateWatchRoutineOptions {
|
|
|
126
167
|
model: SupportedModel;
|
|
127
168
|
output: string;
|
|
128
169
|
force: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* What to paste into the Web UI Prompt field (#327). Defaults to `inline`
|
|
172
|
+
* (full instructions). Does NOT change the generated YAML — only the
|
|
173
|
+
* completion stdout's paste guidance.
|
|
174
|
+
*/
|
|
175
|
+
promptMode?: PromptMode;
|
|
176
|
+
/**
|
|
177
|
+
* UI locale selecting the per-locale template subtree
|
|
178
|
+
* (`<templatesRoot>/<locale>/routines/`). Defaults to `en` (#315). Only the
|
|
179
|
+
* `notes:` / `instructions:` prose and comments differ; the cron / model /
|
|
180
|
+
* network_access functional fields are identical across locales.
|
|
181
|
+
*/
|
|
182
|
+
locale?: Locale;
|
|
129
183
|
/** Test seam: override the templates root location. */
|
|
130
184
|
templatesRoot?: string;
|
|
131
185
|
io?: RoutineIO;
|
|
@@ -151,6 +205,7 @@ interface ParsedFlags {
|
|
|
151
205
|
cron: string;
|
|
152
206
|
timezone: string;
|
|
153
207
|
model: SupportedModel;
|
|
208
|
+
promptMode: PromptMode;
|
|
154
209
|
output: string;
|
|
155
210
|
force: boolean;
|
|
156
211
|
help: boolean;
|
|
@@ -162,7 +217,7 @@ interface ParsedFlags {
|
|
|
162
217
|
* AFTER the loop once `--name` is known (a `--output` flag, if given, wins).
|
|
163
218
|
*/
|
|
164
219
|
export declare function parseGenerateWatchRoutineArgs(args: string[]): ParsedFlags;
|
|
165
|
-
export declare function printGenerateWatchRoutineHelp(log: (m: string) => void): void;
|
|
220
|
+
export declare function printGenerateWatchRoutineHelp(t: Translator, log: (m: string) => void): void;
|
|
166
221
|
/**
|
|
167
222
|
* Entry point invoked by `runRoutine` (in `src/cli/routine.ts`) when the user
|
|
168
223
|
* types `radar routine generate watch`. Translates parsed flags into
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-watch.d.ts","sourceRoot":"","sources":["../../../src/cli/routine/generate-watch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-watch.d.ts","sourceRoot":"","sources":["../../../src/cli/routine/generate-watch.ts"],"names":[],"mappings":"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"}
|