@ozzylabs/feedradar 0.1.4 → 0.1.5

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.
Files changed (117) hide show
  1. package/README.ja.md +12 -6
  2. package/README.md +10 -5
  3. package/dist/agents/claude-code.d.ts +12 -1
  4. package/dist/agents/claude-code.d.ts.map +1 -1
  5. package/dist/agents/claude-code.js +9 -5
  6. package/dist/agents/claude-code.js.map +1 -1
  7. package/dist/agents/codex-cli.d.ts +7 -1
  8. package/dist/agents/codex-cli.d.ts.map +1 -1
  9. package/dist/agents/codex-cli.js +9 -5
  10. package/dist/agents/codex-cli.js.map +1 -1
  11. package/dist/agents/copilot.d.ts +7 -1
  12. package/dist/agents/copilot.d.ts.map +1 -1
  13. package/dist/agents/copilot.js +9 -5
  14. package/dist/agents/copilot.js.map +1 -1
  15. package/dist/agents/gemini-cli.d.ts +7 -1
  16. package/dist/agents/gemini-cli.d.ts.map +1 -1
  17. package/dist/agents/gemini-cli.js +9 -5
  18. package/dist/agents/gemini-cli.js.map +1 -1
  19. package/dist/agents/index.d.ts +1 -1
  20. package/dist/agents/index.d.ts.map +1 -1
  21. package/dist/agents/types.d.ts +33 -0
  22. package/dist/agents/types.d.ts.map +1 -1
  23. package/dist/cli/_progress.d.ts +138 -0
  24. package/dist/cli/_progress.d.ts.map +1 -0
  25. package/dist/cli/_progress.js +176 -0
  26. package/dist/cli/_progress.js.map +1 -0
  27. package/dist/cli/index.d.ts.map +1 -1
  28. package/dist/cli/index.js +2 -0
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/research.d.ts +18 -20
  31. package/dist/cli/research.d.ts.map +1 -1
  32. package/dist/cli/research.js +318 -203
  33. package/dist/cli/research.js.map +1 -1
  34. package/dist/cli/review.d.ts +7 -0
  35. package/dist/cli/review.d.ts.map +1 -1
  36. package/dist/cli/review.js +46 -1
  37. package/dist/cli/review.js.map +1 -1
  38. package/dist/cli/source.d.ts +23 -2
  39. package/dist/cli/source.d.ts.map +1 -1
  40. package/dist/cli/source.js +425 -7
  41. package/dist/cli/source.js.map +1 -1
  42. package/dist/cli/update.d.ts +7 -0
  43. package/dist/cli/update.d.ts.map +1 -1
  44. package/dist/cli/update.js +41 -1
  45. package/dist/cli/update.js.map +1 -1
  46. package/dist/cli/watch.d.ts.map +1 -1
  47. package/dist/cli/watch.js +65 -3
  48. package/dist/cli/watch.js.map +1 -1
  49. package/dist/cli/workflow/generate-combined.d.ts +100 -0
  50. package/dist/cli/workflow/generate-combined.d.ts.map +1 -0
  51. package/dist/cli/workflow/generate-combined.js +387 -0
  52. package/dist/cli/workflow/generate-combined.js.map +1 -0
  53. package/dist/cli/workflow/generate-watch.d.ts +142 -0
  54. package/dist/cli/workflow/generate-watch.d.ts.map +1 -0
  55. package/dist/cli/workflow/generate-watch.js +338 -0
  56. package/dist/cli/workflow/generate-watch.js.map +1 -0
  57. package/dist/cli/workflow.d.ts +29 -0
  58. package/dist/cli/workflow.d.ts.map +1 -0
  59. package/dist/cli/workflow.js +66 -0
  60. package/dist/cli/workflow.js.map +1 -0
  61. package/dist/core/feeds/_fetch.d.ts +10 -0
  62. package/dist/core/feeds/_fetch.d.ts.map +1 -1
  63. package/dist/core/feeds/_fetch.js +182 -0
  64. package/dist/core/feeds/_fetch.js.map +1 -1
  65. package/dist/core/feeds/_jsonpath.d.ts +57 -0
  66. package/dist/core/feeds/_jsonpath.d.ts.map +1 -0
  67. package/dist/core/feeds/_jsonpath.js +207 -0
  68. package/dist/core/feeds/_jsonpath.js.map +1 -0
  69. package/dist/core/feeds/html-js.d.ts +8 -0
  70. package/dist/core/feeds/html-js.d.ts.map +1 -1
  71. package/dist/core/feeds/html-js.js +47 -1
  72. package/dist/core/feeds/html-js.js.map +1 -1
  73. package/dist/core/feeds/index.d.ts +1 -1
  74. package/dist/core/feeds/index.d.ts.map +1 -1
  75. package/dist/core/feeds/index.js +4 -0
  76. package/dist/core/feeds/index.js.map +1 -1
  77. package/dist/core/feeds/json-api.d.ts +3 -0
  78. package/dist/core/feeds/json-api.d.ts.map +1 -0
  79. package/dist/core/feeds/json-api.js +723 -0
  80. package/dist/core/feeds/json-api.js.map +1 -0
  81. package/dist/core/feeds/json-feed.d.ts +11 -0
  82. package/dist/core/feeds/json-feed.d.ts.map +1 -0
  83. package/dist/core/feeds/json-feed.js +242 -0
  84. package/dist/core/feeds/json-feed.js.map +1 -0
  85. package/dist/core/feeds/types.d.ts +123 -0
  86. package/dist/core/feeds/types.d.ts.map +1 -1
  87. package/dist/core/progress.d.ts +101 -0
  88. package/dist/core/progress.d.ts.map +1 -0
  89. package/dist/core/progress.js +212 -0
  90. package/dist/core/progress.js.map +1 -0
  91. package/dist/core/recipes.d.ts +138 -0
  92. package/dist/core/recipes.d.ts.map +1 -0
  93. package/dist/core/recipes.js +238 -0
  94. package/dist/core/recipes.js.map +1 -0
  95. package/dist/core/watcher.d.ts +61 -1
  96. package/dist/core/watcher.d.ts.map +1 -1
  97. package/dist/core/watcher.js +99 -2
  98. package/dist/core/watcher.js.map +1 -1
  99. package/dist/recipes/aws-whats-new.yaml +61 -0
  100. package/dist/recipes/dev-to.yaml +40 -0
  101. package/dist/schemas/index.d.ts +1 -0
  102. package/dist/schemas/index.d.ts.map +1 -1
  103. package/dist/schemas/index.js +1 -0
  104. package/dist/schemas/index.js.map +1 -1
  105. package/dist/schemas/recipe.d.ts +115 -0
  106. package/dist/schemas/recipe.d.ts.map +1 -0
  107. package/dist/schemas/recipe.js +54 -0
  108. package/dist/schemas/recipe.js.map +1 -0
  109. package/dist/schemas/source.d.ts +130 -0
  110. package/dist/schemas/source.d.ts.map +1 -1
  111. package/dist/schemas/source.js +130 -0
  112. package/dist/schemas/source.js.map +1 -1
  113. package/dist/templates/agents/AGENTS.md +31 -3
  114. package/dist/templates/feedradar.md +23 -8
  115. package/dist/templates/workflows/combined.template.yaml.tmpl +110 -0
  116. package/dist/templates/workflows/watch.template.yaml.tmpl +103 -0
  117. package/package.json +1 -2
@@ -0,0 +1,103 @@
1
+ # GitHub Actions scaffold generated by `radar workflow generate watch`.
2
+ # Edit the cron schedule, sources, and commit message to match your workflow.
3
+ # Auth policy: API key only (ADR-0004 / ADR-0014). The Claude Code OAuth token
4
+ # is forbidden for unattended workflows per Anthropic's usage policy.
5
+ #
6
+ # This template is the placeholder-driven, post-init regeneration variant of
7
+ # `src/templates/workflows/watch.yaml`. The latter is emitted by
8
+ # `radar init --with-actions` for first-time workspace bootstrap and is
9
+ # preserved verbatim for backward compatibility (ADR-0014 D1). Differences:
10
+ #
11
+ # - Cron schedule, output path, and agent secret name are substituted by
12
+ # `generate-watch.ts` from CLI flags before the file is written.
13
+ # - `concurrency.group` is scoped to `feedradar-watch-` so multiple workflow
14
+ # types (watch / combined) can run side by side without cancelling each
15
+ # other; ADR-0014 D4 push-conflict mitigation pairs with the rebase retry
16
+ # below.
17
+ # - `Commit and push with retry` step has up to 3 `git pull --rebase`
18
+ # retries to recover from concurrent cron pushes (ADR-0014 D4).
19
+
20
+ name: feedradar-watch
21
+
22
+ on:
23
+ schedule:
24
+ - cron: "{{cron}}"
25
+ workflow_dispatch: {}
26
+
27
+ permissions:
28
+ # Required to commit detected items / state back to the workspace branch.
29
+ contents: write
30
+
31
+ concurrency:
32
+ # Per-type group so `watch` and `combined` workflows don't cancel each other.
33
+ # Same-type concurrent firings still serialize via this group.
34
+ group: feedradar-watch-${{ github.ref }}
35
+ cancel-in-progress: false
36
+
37
+ jobs:
38
+ watch:
39
+ runs-on: ubuntu-latest
40
+ timeout-minutes: 15
41
+ steps:
42
+ - name: Checkout workspace
43
+ uses: actions/checkout@v4
44
+ with:
45
+ # Need history so we can rebase on top of concurrent pushes.
46
+ fetch-depth: 0
47
+ persist-credentials: true
48
+
49
+ - name: Set up Node.js
50
+ uses: actions/setup-node@v4
51
+ with:
52
+ # Node 22.21+ (or 24.5+) is required so radar can auto-detect
53
+ # HTTPS_PROXY / HTTP_PROXY and respawn with --use-env-proxy.
54
+ node-version: "22.21"
55
+
56
+ - name: Install FeedRadar
57
+ # Pin to a release once you've decided on a version; this scaffold
58
+ # installs the latest published build.
59
+ run: npm install -g @ozzylabs/feedradar
60
+
61
+ - name: Run watch
62
+ env:
63
+ # Authenticate against the agent API per ADR-0004 / ADR-0014 D5.
64
+ # The secret name below follows the per-agent convention; see the
65
+ # post-generation stdout for the exact secret you must add.
66
+ {{agentEnvKey}}: ${{ secrets.{{agentEnvKey}} }}
67
+ # Raises GitHub REST API rate limit from 60 → 5000 req/h for the
68
+ # github-releases adapter (ADR-0002 / Phase 3).
69
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70
+ run: radar watch run
71
+
72
+ - name: Commit and push with retry
73
+ # Persist updates to items/ and state/ so the next scheduled run can
74
+ # diff against the previous lastSeenIds. Routines / Actions both
75
+ # fresh-clone, so state must live in git.
76
+ #
77
+ # Push conflict mitigation (ADR-0014 D4): if another workflow (e.g.
78
+ # combined.yaml) pushed concurrently, `git push` fails with
79
+ # non-fast-forward. We retry up to 3 times, rebasing on each attempt;
80
+ # autostash keeps any unindexed bot-side changes safe across the
81
+ # rebase. 4+ attempts indicate a structural problem (branch
82
+ # protection, token failure, true merge conflict) so we fail fast
83
+ # instead of retrying further.
84
+ run: |
85
+ set -euo pipefail
86
+ git config user.name "github-actions[bot]"
87
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
88
+ if git diff --quiet items/ state/; then
89
+ echo "no changes detected; skipping commit"
90
+ exit 0
91
+ fi
92
+ git add items/ state/
93
+ git commit -m "chore(watch): detected items $(date -u +%Y-%m-%d)"
94
+ for attempt in 1 2 3; do
95
+ if git push origin "${GITHUB_REF_NAME}"; then
96
+ echo "push succeeded on attempt ${attempt}"
97
+ exit 0
98
+ fi
99
+ echo "push failed (attempt ${attempt}/3), rebasing..."
100
+ git pull --rebase --autostash origin "${GITHUB_REF_NAME}"
101
+ done
102
+ echo "push failed after 3 attempts" >&2
103
+ exit 1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozzylabs/feedradar",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Multi-agent CLI that watches blogs and release feeds, then turns keyword hits into Markdown research reports",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -8,7 +8,6 @@
8
8
  },
9
9
  "files": [
10
10
  "dist",
11
- "dist/skills",
12
11
  "LICENSE",
13
12
  "README.md"
14
13
  ],