@ozzylabs/feedradar 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +22 -0
- package/README.md +24 -1
- package/dist/agents/_boundary.d.ts +48 -1
- package/dist/agents/_boundary.d.ts.map +1 -1
- package/dist/agents/_boundary.js +65 -0
- package/dist/agents/_boundary.js.map +1 -1
- package/dist/agents/claude-code.js +3 -3
- package/dist/agents/claude-code.js.map +1 -1
- package/dist/agents/codex-cli.js +3 -3
- package/dist/agents/codex-cli.js.map +1 -1
- package/dist/agents/copilot.js +3 -3
- package/dist/agents/copilot.js.map +1 -1
- package/dist/agents/gemini-cli.js +3 -3
- package/dist/agents/gemini-cli.js.map +1 -1
- package/dist/cli/doctor.d.ts +20 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +291 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/init.d.ts +14 -7
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +44 -2
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/research.d.ts +10 -6
- package/dist/cli/research.d.ts.map +1 -1
- package/dist/cli/research.js +201 -35
- package/dist/cli/research.js.map +1 -1
- package/dist/cli/respawn.d.ts +53 -0
- package/dist/cli/respawn.d.ts.map +1 -0
- package/dist/cli/respawn.js +120 -0
- package/dist/cli/respawn.js.map +1 -0
- package/dist/cli/source.d.ts +25 -3
- package/dist/cli/source.d.ts.map +1 -1
- package/dist/cli/source.js +179 -5
- package/dist/cli/source.js.map +1 -1
- package/dist/core/feeds/_fetch.d.ts +93 -0
- package/dist/core/feeds/_fetch.d.ts.map +1 -0
- package/dist/core/feeds/_fetch.js +182 -0
- package/dist/core/feeds/_fetch.js.map +1 -0
- package/dist/core/feeds/_html-common.js +2 -2
- package/dist/core/feeds/_html-common.js.map +1 -1
- package/dist/core/feeds/github-api.d.ts.map +1 -1
- package/dist/core/feeds/github-api.js +2 -1
- package/dist/core/feeds/github-api.js.map +1 -1
- package/dist/core/feeds/html-js.d.ts +21 -0
- package/dist/core/feeds/html-js.d.ts.map +1 -1
- package/dist/core/feeds/html-js.js +39 -1
- package/dist/core/feeds/html-js.js.map +1 -1
- package/dist/core/feeds/html.d.ts.map +1 -1
- package/dist/core/feeds/html.js +22 -4
- package/dist/core/feeds/html.js.map +1 -1
- package/dist/core/feeds/npm-registry.d.ts.map +1 -1
- package/dist/core/feeds/npm-registry.js +2 -1
- package/dist/core/feeds/npm-registry.js.map +1 -1
- package/dist/core/feeds/rss.d.ts.map +1 -1
- package/dist/core/feeds/rss.js +5 -4
- package/dist/core/feeds/rss.js.map +1 -1
- package/dist/core/proxy.d.ts +87 -0
- package/dist/core/proxy.d.ts.map +1 -0
- package/dist/core/proxy.js +146 -0
- package/dist/core/proxy.js.map +1 -0
- package/dist/core/templates.d.ts +10 -9
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/templates.js +27 -12
- package/dist/core/templates.js.map +1 -1
- package/dist/core/watcher.d.ts +26 -0
- package/dist/core/watcher.d.ts.map +1 -1
- package/dist/core/watcher.js +25 -4
- package/dist/core/watcher.js.map +1 -1
- package/dist/index.js +17 -4
- package/dist/index.js.map +1 -1
- package/dist/schemas/state.d.ts +2 -0
- package/dist/schemas/state.d.ts.map +1 -1
- package/dist/schemas/state.js +4 -0
- package/dist/schemas/state.js.map +1 -1
- package/dist/templates/agents/AGENTS.md +2 -0
- package/dist/templates/digest.md +59 -0
- package/dist/templates/feedradar.md +2 -0
- package/dist/templates/workflows/watch.yaml +5 -1
- package/package.json +2 -2
package/README.ja.md
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
- **多エージェント対応**: Claude Code / Codex CLI / Gemini CLI / GitHub Copilot CLI を adapter 経由で切り替え。
|
|
14
14
|
- **複数フィード種別**: RSS / HTML / **HTML (JS rendered)** / GitHub Releases / npm registry を同一の `Source` 抽象で扱う。
|
|
15
|
+
- **Digest モード**: 短期間に複数ヒットした item や、複数 feed に跨る同テーマの item を 1 本の横断レポートにまとめる ([ADR-0011](./docs/adr/0011-digest-research-output.md))。
|
|
15
16
|
- **ユーザー側データ管理**: `sources/` `items/` `state/` `research/` `templates/` は **ユーザーの任意ディレクトリ** に置き、本パッケージは engine のみを提供する。
|
|
16
17
|
- **npm 単体配布**: OIDC Trusted Publishers で `@ozzylabs/feedradar` を npm 配布。
|
|
17
18
|
|
|
@@ -32,6 +33,24 @@ npx playwright install chromium
|
|
|
32
33
|
|
|
33
34
|
開発中は本リポを clone し、`pnpm install && pnpm run build` で `dist/index.js` を生成して `node dist/index.js <command>` で起動する。
|
|
34
35
|
|
|
36
|
+
## 企業プロキシ環境
|
|
37
|
+
|
|
38
|
+
社内 HTTP / HTTPS プロキシ越しでも、標準の env var を export して `radar` を
|
|
39
|
+
起動するだけで自動検出されて動く(CLI フラグ / 設定ファイルの編集は不要)。
|
|
40
|
+
TLS 中継プロキシ (Zscaler / Netskope 等) では証明書検証を切るのではなく
|
|
41
|
+
`NODE_EXTRA_CA_CERTS` を設定する:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
export HTTPS_PROXY=http://proxy.corp.example.com:8080
|
|
45
|
+
export NODE_EXTRA_CA_CERTS=/path/to/corp-ca.pem # TLS 中継時のみ
|
|
46
|
+
radar doctor # 動作確認
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
NTLM / Kerberos プロキシは直接対応しない(`cntlm` / `Px` / `Authoxy` で
|
|
50
|
+
ローカル変換)。WSL2 から Windows ホストのプロキシを参照する場合、
|
|
51
|
+
`npm install` 自体のプロキシ設定、`radar doctor` の live healthcheck の
|
|
52
|
+
詳細は [docs/user-guide/proxy-setup.ja.md](./docs/user-guide/proxy-setup.ja.md) を参照。
|
|
53
|
+
|
|
35
54
|
## 使い方
|
|
36
55
|
|
|
37
56
|
```bash
|
|
@@ -46,6 +65,8 @@ radar research <item-id>
|
|
|
46
65
|
|
|
47
66
|
# その他のサブコマンド
|
|
48
67
|
radar source list # ソース一覧
|
|
68
|
+
radar source test <id> # ソースをドライラン実行(state/items を書き換えない)
|
|
69
|
+
radar research --digest <id1> <id2> ... # 複数 item を 1 つの digest レポートに束ねる(ADR-0011)
|
|
49
70
|
radar dismiss <item-id> # 不要 item を dismissed に遷移(LLM 不要)
|
|
50
71
|
radar review <research-id> # レポートを別エージェントで相互レビュー
|
|
51
72
|
radar update <research-id> # 既存レポートを最新 item で更新(v+1)
|
|
@@ -97,6 +118,7 @@ src/
|
|
|
97
118
|
|
|
98
119
|
- [docs/architecture.md](./docs/architecture.md) — システム全体図 / モジュール責務 / データフロー / Phase 別スコープ
|
|
99
120
|
- [docs/user-guide.md](./docs/user-guide.md) — インストール / クイックスタート / コマンド仕様
|
|
121
|
+
- [docs/user-guide/proxy-setup.ja.md](./docs/user-guide/proxy-setup.ja.md) — 企業プロキシ / TLS 中継 / NTLM ブリッジ / WSL2 環境のセットアップ
|
|
100
122
|
- [docs/release.md](./docs/release.md) — リリース手順(初回手動 publish + Trusted Publisher 登録 + 以降の OIDC 自動化)
|
|
101
123
|
- [docs/adr/](./docs/adr/README.md) — FeedRadar 内部の設計判断記録(Agent / Source / Output / Schedule / User Data / Filter / Skill Bundling / Status State Machine / Untrusted External Content Handling)
|
|
102
124
|
|
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ Tracking multiple official blogs, docs, and release notes — and summarizing wh
|
|
|
12
12
|
|
|
13
13
|
- **Multi-agent**: switch between Claude Code / Codex CLI / Gemini CLI / GitHub Copilot CLI via adapters.
|
|
14
14
|
- **Multiple feed kinds**: RSS / HTML / **HTML (JS rendered)** / GitHub Releases / npm registry are all driven through the same `Source` abstraction.
|
|
15
|
+
- **Digest mode**: bundle multiple items hit in a short period — or across feeds on the same topic — into a single cross-cutting report ([ADR-0011](./docs/adr/0011-digest-research-output.md)).
|
|
15
16
|
- **User-owned data**: `sources/` `items/` `state/` `research/` `templates/` live in **your workspace directory**. This package ships only the engine.
|
|
16
17
|
- **Single npm package**: distributed as `@ozzylabs/feedradar` via OIDC Trusted Publishers.
|
|
17
18
|
|
|
@@ -32,6 +33,24 @@ Run `radar doctor` to verify Playwright / Chromium are detected before adding an
|
|
|
32
33
|
|
|
33
34
|
While developing locally, clone this repo and run `pnpm install && pnpm run build` to produce `dist/index.js`, then invoke `node dist/index.js <command>`.
|
|
34
35
|
|
|
36
|
+
## Corporate proxy
|
|
37
|
+
|
|
38
|
+
Behind a corporate HTTP / HTTPS proxy, just export the standard env vars and
|
|
39
|
+
run `radar` — it auto-detects them and self-configures (no flags / config
|
|
40
|
+
edits). For TLS-intercepting proxies (Zscaler / Netskope / etc.) set
|
|
41
|
+
`NODE_EXTRA_CA_CERTS` instead of disabling certificate verification:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
export HTTPS_PROXY=http://proxy.corp.example.com:8080
|
|
45
|
+
export NODE_EXTRA_CA_CERTS=/path/to/corp-ca.pem # only if TLS is intercepted
|
|
46
|
+
radar doctor # verify
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
NTLM / Kerberos proxies are not supported directly — bridge with `cntlm` / `Px`
|
|
50
|
+
/ `Authoxy`. WSL2 → Windows host, `npm install` proxy config, and the live
|
|
51
|
+
`radar doctor` healthcheck are documented in
|
|
52
|
+
[docs/user-guide/proxy-setup.md](./docs/user-guide/proxy-setup.md).
|
|
53
|
+
|
|
35
54
|
## Usage
|
|
36
55
|
|
|
37
56
|
```bash
|
|
@@ -46,10 +65,13 @@ radar research <item-id>
|
|
|
46
65
|
|
|
47
66
|
# Other subcommands
|
|
48
67
|
radar source list # list sources
|
|
68
|
+
radar source test <id> # dry-run preview a source (no state/items mutation)
|
|
69
|
+
radar research --digest <id1> <id2> ... # bundle multiple items into one digest report (ADR-0011)
|
|
49
70
|
radar dismiss <item-id> # move an item to dismissed (no LLM)
|
|
50
71
|
radar review <research-id> # cross-review a report with a different agent
|
|
51
72
|
radar update <research-id> # refresh an existing report against the latest item (v+1)
|
|
52
|
-
radar doctor # check workspace / agent CLI / Playwright health
|
|
73
|
+
radar doctor # check workspace / agent CLI / Playwright / proxy / TLS health
|
|
74
|
+
# --no-proxy-check skips the live proxy round-trip (offline-friendly)
|
|
53
75
|
radar --help # help
|
|
54
76
|
```
|
|
55
77
|
|
|
@@ -97,6 +119,7 @@ src/
|
|
|
97
119
|
|
|
98
120
|
- [docs/architecture.md](./docs/architecture.md) — system diagrams / module responsibilities / data flow / per-phase scope
|
|
99
121
|
- [docs/user-guide.md](./docs/user-guide.md) — install / quickstart / command reference
|
|
122
|
+
- [docs/user-guide/proxy-setup.md](./docs/user-guide/proxy-setup.md) — corporate proxy / TLS interception / NTLM bridge / WSL2 setup
|
|
100
123
|
- [docs/release.md](./docs/release.md) — release procedure (manual initial publish + Trusted Publisher registration + subsequent OIDC automation)
|
|
101
124
|
- [docs/adr/](./docs/adr/README.md) — FeedRadar design-decision records (Agent / Source / Output / Schedule / User Data / Filter / Skill Bundling / Status State Machine / Untrusted External Content Handling)
|
|
102
125
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Item } from "../schemas/index.js";
|
|
1
|
+
import type { Item, TrustLevel } from "../schemas/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Trust-boundary marker helper for adapter prompt builders.
|
|
4
4
|
*
|
|
@@ -41,4 +41,51 @@ export declare function wrapUntrusted(content: string): string;
|
|
|
41
41
|
* from the block rather than rendered as `(none)` to keep the prompt compact.
|
|
42
42
|
*/
|
|
43
43
|
export declare function renderItemForPrompt(item: Item): string;
|
|
44
|
+
/**
|
|
45
|
+
* Render a list of `Item`s as the human-readable block that the adapter embeds
|
|
46
|
+
* in the LLM prompt for digest (multi-item) research.
|
|
47
|
+
*
|
|
48
|
+
* Contract (ADR-0011 §1, ADR-0009 M1c):
|
|
49
|
+
*
|
|
50
|
+
* - **Single-item case (N === 1)**: emits the exact same shape as
|
|
51
|
+
* `renderItemForPrompt(items[0])` — no section header is added so existing
|
|
52
|
+
* single-item prompts remain byte-equivalent (regression guard for issue
|
|
53
|
+
* #140's acceptance criteria).
|
|
54
|
+
* - **Multi-item case (N > 1)**: each item is prefixed with an
|
|
55
|
+
* `### Item k of N` Markdown section header and rendered via
|
|
56
|
+
* `renderItemForPrompt`. Each item's untrusted halves stay in their own
|
|
57
|
+
* `<untrusted_item>...</untrusted_item>` boundary so a prompt-injection
|
|
58
|
+
* payload in one item cannot escape into the section between items.
|
|
59
|
+
*
|
|
60
|
+
* The header uses a `###` heading rather than a bare label so it survives
|
|
61
|
+
* round-tripping through agents that render the prompt as Markdown (Claude
|
|
62
|
+
* Code's transcript viewer, Codex's `<stdin>` echo, etc.). The blank line
|
|
63
|
+
* between sections matters for the same reason: most Markdown parsers fold
|
|
64
|
+
* adjacent blocks otherwise.
|
|
65
|
+
*/
|
|
66
|
+
export declare function renderItemsForPrompt(items: Item[]): string;
|
|
67
|
+
/**
|
|
68
|
+
* Resolve the effective trust level of a digest's combined prompt by taking
|
|
69
|
+
* the most-restrictive level across its constituent items (ADR-0011 §7).
|
|
70
|
+
*
|
|
71
|
+
* Rule: `untrusted` > `trusted`. If **any** item is `untrusted`, the digest
|
|
72
|
+
* as a whole is `untrusted` — the defense-in-depth "weakest link decides"
|
|
73
|
+
* principle. This mirrors the ADR's safety justification: bundling one
|
|
74
|
+
* untrusted item with N trusted ones still puts an injection payload inside
|
|
75
|
+
* the same prompt context, so the whole prompt must be treated at the
|
|
76
|
+
* untrusted ceiling.
|
|
77
|
+
*
|
|
78
|
+
* Edge case: an empty input array resolves to `untrusted` because the only
|
|
79
|
+
* way to reach this helper with no items is a programming bug, and
|
|
80
|
+
* defaulting to the safer side keeps the downstream boundary marker active.
|
|
81
|
+
* Production callers (the CLI in #141) always pass at least one item, so
|
|
82
|
+
* this branch is defensive-only.
|
|
83
|
+
*
|
|
84
|
+
* This helper deliberately lives in `_boundary.ts` (the prompt-builder side)
|
|
85
|
+
* rather than `core/` because it is part of the M1c (boundary marker) layer
|
|
86
|
+
* decision — it tells the prompt builder which marker policy to apply for
|
|
87
|
+
* the bundle. Callers that already have per-item `Source` objects can map
|
|
88
|
+
* them to `source.trustLevel` and pass the array in directly.
|
|
89
|
+
*/
|
|
90
|
+
export declare function resolveTrustLevel(levels: TrustLevel[]): TrustLevel;
|
|
44
91
|
//# sourceMappingURL=_boundary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_boundary.d.ts","sourceRoot":"","sources":["../../src/agents/_boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"_boundary.d.ts","sourceRoot":"","sources":["../../src/agents/_boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CActD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAW1D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAMlE"}
|
package/dist/agents/_boundary.js
CHANGED
|
@@ -56,4 +56,69 @@ export function renderItemForPrompt(item) {
|
|
|
56
56
|
wrapUntrusted(untrustedLines.join("\n")),
|
|
57
57
|
].join("\n");
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Render a list of `Item`s as the human-readable block that the adapter embeds
|
|
61
|
+
* in the LLM prompt for digest (multi-item) research.
|
|
62
|
+
*
|
|
63
|
+
* Contract (ADR-0011 §1, ADR-0009 M1c):
|
|
64
|
+
*
|
|
65
|
+
* - **Single-item case (N === 1)**: emits the exact same shape as
|
|
66
|
+
* `renderItemForPrompt(items[0])` — no section header is added so existing
|
|
67
|
+
* single-item prompts remain byte-equivalent (regression guard for issue
|
|
68
|
+
* #140's acceptance criteria).
|
|
69
|
+
* - **Multi-item case (N > 1)**: each item is prefixed with an
|
|
70
|
+
* `### Item k of N` Markdown section header and rendered via
|
|
71
|
+
* `renderItemForPrompt`. Each item's untrusted halves stay in their own
|
|
72
|
+
* `<untrusted_item>...</untrusted_item>` boundary so a prompt-injection
|
|
73
|
+
* payload in one item cannot escape into the section between items.
|
|
74
|
+
*
|
|
75
|
+
* The header uses a `###` heading rather than a bare label so it survives
|
|
76
|
+
* round-tripping through agents that render the prompt as Markdown (Claude
|
|
77
|
+
* Code's transcript viewer, Codex's `<stdin>` echo, etc.). The blank line
|
|
78
|
+
* between sections matters for the same reason: most Markdown parsers fold
|
|
79
|
+
* adjacent blocks otherwise.
|
|
80
|
+
*/
|
|
81
|
+
export function renderItemsForPrompt(items) {
|
|
82
|
+
if (items.length === 1) {
|
|
83
|
+
// Preserve the byte-for-byte single-item layout from before #140 so
|
|
84
|
+
// existing tests, snapshot fixtures, and single-item callers keep
|
|
85
|
+
// working without churn.
|
|
86
|
+
return renderItemForPrompt(items[0]);
|
|
87
|
+
}
|
|
88
|
+
const total = items.length;
|
|
89
|
+
return items
|
|
90
|
+
.map((item, idx) => `### Item ${idx + 1} of ${total}\n${renderItemForPrompt(item)}`)
|
|
91
|
+
.join("\n\n");
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Resolve the effective trust level of a digest's combined prompt by taking
|
|
95
|
+
* the most-restrictive level across its constituent items (ADR-0011 §7).
|
|
96
|
+
*
|
|
97
|
+
* Rule: `untrusted` > `trusted`. If **any** item is `untrusted`, the digest
|
|
98
|
+
* as a whole is `untrusted` — the defense-in-depth "weakest link decides"
|
|
99
|
+
* principle. This mirrors the ADR's safety justification: bundling one
|
|
100
|
+
* untrusted item with N trusted ones still puts an injection payload inside
|
|
101
|
+
* the same prompt context, so the whole prompt must be treated at the
|
|
102
|
+
* untrusted ceiling.
|
|
103
|
+
*
|
|
104
|
+
* Edge case: an empty input array resolves to `untrusted` because the only
|
|
105
|
+
* way to reach this helper with no items is a programming bug, and
|
|
106
|
+
* defaulting to the safer side keeps the downstream boundary marker active.
|
|
107
|
+
* Production callers (the CLI in #141) always pass at least one item, so
|
|
108
|
+
* this branch is defensive-only.
|
|
109
|
+
*
|
|
110
|
+
* This helper deliberately lives in `_boundary.ts` (the prompt-builder side)
|
|
111
|
+
* rather than `core/` because it is part of the M1c (boundary marker) layer
|
|
112
|
+
* decision — it tells the prompt builder which marker policy to apply for
|
|
113
|
+
* the bundle. Callers that already have per-item `Source` objects can map
|
|
114
|
+
* them to `source.trustLevel` and pass the array in directly.
|
|
115
|
+
*/
|
|
116
|
+
export function resolveTrustLevel(levels) {
|
|
117
|
+
// Empty input is treated as `untrusted` per the JSDoc contract above — the
|
|
118
|
+
// only way to reach this branch is a programming bug, so erring on the
|
|
119
|
+
// safer side keeps the downstream boundary marker active.
|
|
120
|
+
if (levels.length === 0)
|
|
121
|
+
return "untrusted";
|
|
122
|
+
return levels.some((level) => level === "untrusted") ? "untrusted" : "trusted";
|
|
123
|
+
}
|
|
59
124
|
//# sourceMappingURL=_boundary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_boundary.js","sourceRoot":"","sources":["../../src/agents/_boundary.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,qBAAqB,OAAO,qBAAqB,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,MAAM,cAAc,GAAa,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,cAAc,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3B,cAAc,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO;QACL,SAAS,IAAI,CAAC,EAAE,EAAE;QAClB,eAAe,IAAI,CAAC,QAAQ,EAAE;QAC9B,UAAU,IAAI,CAAC,GAAG,EAAE;QACpB,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"_boundary.js","sourceRoot":"","sources":["../../src/agents/_boundary.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,qBAAqB,OAAO,qBAAqB,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC5C,MAAM,cAAc,GAAa,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,cAAc,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3B,cAAc,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO;QACL,SAAS,IAAI,CAAC,EAAE,EAAE;QAClB,eAAe,IAAI,CAAC,QAAQ,EAAE;QAC9B,UAAU,IAAI,CAAC,GAAG,EAAE;QACpB,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,oEAAoE;QACpE,kEAAkE;QAClE,yBAAyB;QACzB,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,KAAK,KAAK,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;SACnF,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,2EAA2E;IAC3E,uEAAuE;IACvE,0DAA0D;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { renderItemsForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
3
3
|
/**
|
|
4
4
|
* Build the prompt handed to `claude -p`.
|
|
5
5
|
*
|
|
@@ -20,7 +20,7 @@ import { renderItemForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
|
20
20
|
*/
|
|
21
21
|
function buildResearchPrompt(req) {
|
|
22
22
|
const itemIds = req.items.map((i) => i.id).join(", ");
|
|
23
|
-
const itemBlocks = req.items
|
|
23
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
24
24
|
return [
|
|
25
25
|
"Run the `.agents/skills/research/SKILL.md` skill to produce a Markdown",
|
|
26
26
|
"research report from the supplied detected items.",
|
|
@@ -125,7 +125,7 @@ function buildReviewPrompt(req) {
|
|
|
125
125
|
*/
|
|
126
126
|
function buildUpdatePrompt(req) {
|
|
127
127
|
const newId = req.outputPath.replace(/^.*\//, "").replace(/\.md$/, "");
|
|
128
|
-
const itemBlocks = req.items
|
|
128
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
129
129
|
return [
|
|
130
130
|
"Run the `.agents/skills/update/SKILL.md` skill to regenerate the supplied",
|
|
131
131
|
"research report as a new `_v(N+1).md` file (rewrite-and-supersede).",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/agents/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/agents/claude-code.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/codex-cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { renderItemsForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
3
3
|
/**
|
|
4
4
|
* Build the prompt handed to `codex exec`.
|
|
5
5
|
*
|
|
@@ -20,7 +20,7 @@ import { renderItemForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
|
20
20
|
*/
|
|
21
21
|
function buildResearchPrompt(req) {
|
|
22
22
|
const itemIds = req.items.map((i) => i.id).join(", ");
|
|
23
|
-
const itemBlocks = req.items
|
|
23
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
24
24
|
return [
|
|
25
25
|
"Run the `.agents/skills/research/SKILL.md` skill to produce a Markdown",
|
|
26
26
|
"research report from the supplied detected items.",
|
|
@@ -121,7 +121,7 @@ function buildReviewPrompt(req) {
|
|
|
121
121
|
*/
|
|
122
122
|
function buildUpdatePrompt(req) {
|
|
123
123
|
const newId = req.outputPath.replace(/^.*\//, "").replace(/\.md$/, "");
|
|
124
|
-
const itemBlocks = req.items
|
|
124
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
125
125
|
return [
|
|
126
126
|
"Run the `.agents/skills/update/SKILL.md` skill to regenerate the supplied",
|
|
127
127
|
"research report as a new `_v(N+1).md` file (rewrite-and-supersede).",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-cli.js","sourceRoot":"","sources":["../../src/agents/codex-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"codex-cli.js","sourceRoot":"","sources":["../../src/agents/codex-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/copilot.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { renderItemsForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
3
3
|
/**
|
|
4
4
|
* Build the prompt handed to `copilot -p`.
|
|
5
5
|
*
|
|
@@ -20,7 +20,7 @@ import { renderItemForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
|
20
20
|
*/
|
|
21
21
|
function buildResearchPrompt(req) {
|
|
22
22
|
const itemIds = req.items.map((i) => i.id).join(", ");
|
|
23
|
-
const itemBlocks = req.items
|
|
23
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
24
24
|
return [
|
|
25
25
|
"Run the `.agents/skills/research/SKILL.md` skill to produce a Markdown",
|
|
26
26
|
"research report from the supplied detected items.",
|
|
@@ -119,7 +119,7 @@ function buildReviewPrompt(req) {
|
|
|
119
119
|
*/
|
|
120
120
|
function buildUpdatePrompt(req) {
|
|
121
121
|
const newId = req.outputPath.replace(/^.*\//, "").replace(/\.md$/, "");
|
|
122
|
-
const itemBlocks = req.items
|
|
122
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
123
123
|
return [
|
|
124
124
|
"Run the `.agents/skills/update/SKILL.md` skill to regenerate the supplied",
|
|
125
125
|
"research report as a new `_v(N+1).md` file (rewrite-and-supersede).",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/agents/copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/agents/copilot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { renderItemsForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
3
3
|
/**
|
|
4
4
|
* Build the prompt handed to `gemini -p`.
|
|
5
5
|
*
|
|
@@ -25,7 +25,7 @@ import { renderItemForPrompt, wrapUntrusted } from "./_boundary.js";
|
|
|
25
25
|
*/
|
|
26
26
|
function buildResearchPrompt(req) {
|
|
27
27
|
const itemIds = req.items.map((i) => i.id).join(", ");
|
|
28
|
-
const itemBlocks = req.items
|
|
28
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
29
29
|
return [
|
|
30
30
|
"Run the `.agents/skills/research/SKILL.md` skill to produce a Markdown",
|
|
31
31
|
"research report from the supplied detected items.",
|
|
@@ -125,7 +125,7 @@ function buildReviewPrompt(req) {
|
|
|
125
125
|
*/
|
|
126
126
|
function buildUpdatePrompt(req) {
|
|
127
127
|
const newId = req.outputPath.replace(/^.*\//, "").replace(/\.md$/, "");
|
|
128
|
-
const itemBlocks = req.items
|
|
128
|
+
const itemBlocks = renderItemsForPrompt(req.items);
|
|
129
129
|
return [
|
|
130
130
|
"Run the `.agents/skills/update/SKILL.md` skill to regenerate the supplied",
|
|
131
131
|
"research report as a new `_v(N+1).md` file (rewrite-and-supersede).",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-cli.js","sourceRoot":"","sources":["../../src/agents/gemini-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gemini-cli.js","sourceRoot":"","sources":["../../src/agents/gemini-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -30,6 +30,26 @@ export interface DoctorCommandOptions {
|
|
|
30
30
|
* what is actually installed on the host machine).
|
|
31
31
|
*/
|
|
32
32
|
whichImpl?: (binary: string, env: NodeJS.ProcessEnv) => Promise<string | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* Skip the live proxy healthcheck (default: run the check when a proxy is
|
|
35
|
+
* detected). Off-line developer machines and CI jobs that intentionally
|
|
36
|
+
* isolate the network want a deterministic doctor run without paying for
|
|
37
|
+
* a network round-trip that is guaranteed to fail.
|
|
38
|
+
*/
|
|
39
|
+
noProxyCheck?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Test seam: override `fetch` used by the proxy healthcheck so the test can
|
|
42
|
+
* drive the 200 / 407 / TLS / ECONNREFUSED branches deterministically
|
|
43
|
+
* without hitting api.github.com.
|
|
44
|
+
*/
|
|
45
|
+
fetchImpl?: typeof fetch;
|
|
46
|
+
/**
|
|
47
|
+
* Test seam: override the wall-clock used to measure the healthcheck
|
|
48
|
+
* latency. Returns an elapsed-milliseconds reading; we don't accept a raw
|
|
49
|
+
* clock function because vitest's `vi.useFakeTimers()` interferes with
|
|
50
|
+
* `performance.now()` in surprising ways.
|
|
51
|
+
*/
|
|
52
|
+
nowImpl?: () => number;
|
|
33
53
|
}
|
|
34
54
|
/**
|
|
35
55
|
* Possible statuses for a single doctor check.
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,QAAQ,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,oCAAoC;IACpC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AA+FD;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkO/F;AAkMD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED,eAAO,MAAM,aAAa,EAAE,OAI3B,CAAC"}
|