@fdcn/sourcefed 0.3.7 → 0.4.0
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 +36 -1
- package/dist/{chunk-E6J3BAXP.js → chunk-L4SMC2NT.js} +1165 -251
- package/dist/cli.js +12578 -8814
- package/dist/daemon.js +1025 -107
- package/dist/data/core/SKILL.md +9 -4
- package/dist/data/core/references/commands.md +6 -1
- package/dist/data/sourcefed/SKILL.md +3 -2
- package/dist/guidance.md +6 -2
- package/dist/mcp.js +2286 -1106
- package/dist/opencode.js +6 -2
- package/dist/pi.js +161 -39
- package/dist/tui-compiled.mjs +306 -166
- package/dist.dts/adapters/opencode/bridge.d.ts +1 -1
- package/dist.dts/adapters/opencode/subscriptions.d.ts +2 -2
- package/dist.dts/adapters/opencode/tools/monitor_create.d.ts +16 -0
- package/dist.dts/adapters/opencode/tui/sidebar.d.ts +1 -1
- package/dist.dts/adapters/pi/src/dialog.d.ts +1 -2
- package/dist.dts/adapters/pi/src/monitors-dialog.d.ts +32 -0
- package/dist.dts/adapters/pi/src/monitors-dialog.test.d.ts +1 -0
- package/dist.dts/packages/cli/src/commands/monitor/index.d.ts +1 -1
- package/dist.dts/packages/cli/src/utils/daemon.d.ts +1 -1
- package/dist.dts/packages/cli/src/utils/format.d.ts +1 -1
- package/dist.dts/packages/cli/src/utils/webhooks.d.ts +1 -1
- package/dist.dts/packages/core/src/events.d.ts +2 -2
- package/dist.dts/packages/core/src/index.d.ts +4 -4
- package/dist.dts/packages/core/src/monitors/index.d.ts +3 -3
- package/dist.dts/packages/core/src/monitors/monitor.d.ts +6 -6
- package/dist.dts/packages/core/src/monitors/poll/monitor.d.ts +5 -5
- package/dist.dts/packages/core/src/monitors/poll/types/poll-monitor-options.d.ts +1 -1
- package/dist.dts/packages/core/src/monitors/poll/types/poll-runner.d.ts +2 -2
- package/dist.dts/packages/core/src/monitors/poll/utils/event-delivery-id.d.ts +1 -1
- package/dist.dts/packages/core/src/monitors/poll/utils/tick.d.ts +1 -1
- package/dist.dts/packages/core/src/monitors/service.d.ts +3 -3
- package/dist.dts/packages/core/src/monitors/utils/monitor-identity.d.ts +3 -3
- package/dist.dts/packages/core/src/monitors/webhook/monitor.d.ts +5 -5
- package/dist.dts/packages/core/src/monitors/webhook/types/pending-webhook-event.d.ts +1 -1
- package/dist.dts/packages/core/src/monitors/webhook/types/webhook-monitor-options.d.ts +1 -1
- package/dist.dts/packages/core/src/monitors/webhook/utils/deliver-webhook.d.ts +2 -2
- package/dist.dts/packages/core/src/monitors/webhook/utils/handle-webhook.d.ts +1 -1
- package/dist.dts/packages/core/src/monitors/webhook/utils/heartbeat-webhooks.d.ts +2 -2
- package/dist.dts/packages/core/src/runtime.d.ts +3 -3
- package/dist.dts/packages/core/src/sources/index.d.ts +1 -1
- package/dist.dts/packages/core/src/sources/types/source-registry.d.ts +1 -1
- package/dist.dts/packages/core/src/storage/json.d.ts +2 -2
- package/dist.dts/packages/core/src/types/monitor-context.d.ts +2 -2
- package/dist.dts/packages/core/src/types/monitor-create-input.d.ts +4 -0
- package/dist.dts/packages/core/src/types/monitor-options.d.ts +1 -1
- package/dist.dts/packages/core/src/utils/event-to-text.d.ts +1 -1
- package/dist.dts/packages/core/src/utils/to-monitor-event.d.ts +2 -2
- package/dist.dts/packages/daemon/src/client.d.ts +1 -1
- package/dist.dts/packages/daemon/src/daemon.d.ts +3 -3
- package/dist.dts/packages/daemon/src/event-stream.d.ts +1 -1
- package/dist.dts/packages/daemon/src/event-transport.d.ts +4 -0
- package/dist.dts/packages/daemon/src/event-transport.test.d.ts +1 -0
- package/dist.dts/packages/daemon/src/fetch-isolation.test.d.ts +1 -0
- package/dist.dts/packages/daemon/src/index.d.ts +3 -3
- package/dist.dts/packages/daemon/src/registry.d.ts +6 -4
- package/dist.dts/packages/daemon/src/types/client.d.ts +1 -1
- package/dist.dts/packages/daemon/src/types/daemon.d.ts +5 -1
- package/dist.dts/packages/daemon/src/types/protocol.d.ts +1 -1
- package/dist.dts/packages/daemon/src/utils/sink.d.ts +2 -2
- package/dist.dts/packages/daemon/src/utils/target.d.ts +1 -1
- package/dist.dts/packages/mcp/src/server.d.ts +1 -1
- package/dist.dts/packages/mcp/src/uris.d.ts +2 -2
- package/dist.dts/providers/github/src/index.d.ts +1 -1
- package/dist.dts/providers/github/src/monitor.d.ts +6 -6
- package/dist.dts/providers/github/src/poll/index.d.ts +1 -1
- package/dist.dts/providers/github/src/poll/monitor.d.ts +2 -2
- package/dist.dts/providers/github/src/poll/utils/append-comments.d.ts +1 -1
- package/dist.dts/providers/github/src/poll/utils/append-github-ci-event.d.ts +1 -1
- package/dist.dts/providers/github/src/poll/utils/append-github-conflict-event.d.ts +1 -1
- package/dist.dts/providers/github/src/poll/utils/append-github-reviews.d.ts +1 -1
- package/dist.dts/providers/github/src/poll/utils/append-github-state-event.d.ts +1 -1
- package/dist.dts/providers/github/src/poll/utils/empty-cursor.d.ts +1 -1
- package/dist.dts/providers/github/src/poll/utils/poll-github.d.ts +1 -1
- package/dist.dts/providers/github/src/webhook/index.d.ts +2 -2
- package/dist.dts/providers/github/src/webhook/monitor.d.ts +2 -2
- package/dist.dts/providers/github/src/webhook/utils/github-event-handlers.d.ts +1 -1
- package/dist.dts/providers/github/src/webhook/utils/parse-github-webhook.d.ts +1 -1
- package/dist.dts/providers/github/src/webhook/utils/update-github-cursor.d.ts +2 -2
- package/dist.dts/providers/jira/src/index.d.ts +1 -1
- package/dist.dts/providers/jira/src/monitor.d.ts +5 -5
- package/dist.dts/providers/jira/src/poll/index.d.ts +1 -1
- package/dist.dts/providers/jira/src/poll/monitor.d.ts +2 -2
- package/dist.dts/providers/jira/src/poll/utils/append-jira-changelog.d.ts +1 -1
- package/dist.dts/providers/jira/src/poll/utils/append-jira-comments.d.ts +1 -1
- package/dist.dts/providers/jira/src/poll/utils/append-jira-description.d.ts +1 -1
- package/dist.dts/providers/jira/src/poll/utils/empty-cursor.d.ts +1 -1
- package/dist.dts/providers/jira/src/poll/utils/jira-changelog-event.d.ts +1 -1
- package/dist.dts/providers/jira/src/poll/utils/poll-jira.d.ts +1 -1
- package/dist.dts/providers/slack/src/index.d.ts +1 -1
- package/dist.dts/providers/slack/src/monitor.d.ts +6 -6
- package/dist.dts/providers/slack/src/poll/index.d.ts +1 -1
- package/dist.dts/providers/slack/src/poll/monitor.d.ts +2 -2
- package/dist.dts/providers/slack/src/poll/utils/parse-slack-read-result.d.ts +1 -1
- package/dist.dts/providers/slack/src/poll/utils/poll-slack.d.ts +1 -1
- package/dist.dts/providers/slack/src/webhook/index.d.ts +1 -1
- package/dist.dts/providers/slack/src/webhook/monitor.d.ts +2 -2
- package/dist.dts/providers/slack/src/webhook/utils/parse-slack-webhook.d.ts +1 -1
- package/dist.dts/providers/slack/src/webhook/utils/update-slack-cursor.d.ts +2 -2
- package/dist.dts/providers/yab/src/index.d.ts +2 -0
- package/dist.dts/providers/yab/src/monitor.d.ts +14 -0
- package/dist.dts/providers/yab/src/poll/index.d.ts +2 -0
- package/dist.dts/providers/yab/src/poll/monitor.d.ts +3 -0
- package/dist.dts/providers/yab/src/poll/utils/feed-events.d.ts +5 -0
- package/dist.dts/providers/yab/src/poll/utils/index.d.ts +4 -0
- package/dist.dts/providers/yab/src/poll/utils/parse-feed.d.ts +3 -0
- package/dist.dts/providers/yab/src/poll/utils/poll-yab.d.ts +7 -0
- package/dist.dts/providers/yab/src/poll/utils/yab-mcp.d.ts +10 -0
- package/dist.dts/providers/yab/src/schema.d.ts +12 -0
- package/dist.dts/providers/yab/src/types/cursor.d.ts +4 -0
- package/dist.dts/providers/yab/src/types/event.d.ts +8 -0
- package/dist.dts/providers/yab/src/types/feed-entry.d.ts +8 -0
- package/dist.dts/providers/yab/src/types/index.d.ts +5 -0
- package/dist.dts/providers/yab/src/types/page.d.ts +6 -0
- package/dist.dts/providers/yab/src/types/source-record.d.ts +7 -0
- package/dist.dts/providers/yab/src/yab.test.d.ts +1 -0
- package/package.json +27 -9
package/dist/data/core/SKILL.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: core
|
|
3
|
-
description: Core sourcefed usage guide. Read this before creating monitors. Covers monitor creation per source (Jira issue, GitHub PR, Slack thread), event delivery and acknowledgement semantics, daemon modes, CLI usage, and troubleshooting. Use when the user asks to watch or monitor a Jira ticket, GitHub PR, Slack thread, or when sourcefed monitor events arrive in the session.
|
|
3
|
+
description: Core sourcefed usage guide. Read this before creating monitors. Covers monitor creation per source (Jira issue, GitHub PR, Slack thread, Yab feed), event delivery and acknowledgement semantics, daemon modes, CLI usage, and troubleshooting. Use when the user asks to watch or monitor a Jira ticket, GitHub PR, Slack thread, a feed or inbox they are signed in to in Yab, or when sourcefed monitor events arrive in the session.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Sourcefed core
|
|
7
7
|
|
|
8
|
-
Sourcefed lets you create **monitors** that watch a Jira issue, GitHub PR,
|
|
9
|
-
Slack thread or direct-message conversation and route NEW events into the session you're currently working in,
|
|
8
|
+
Sourcefed lets you create **monitors** that watch a Jira issue, GitHub PR,
|
|
9
|
+
Slack thread or direct-message conversation, or a feed read through Yab, and route NEW events into the session you're currently working in,
|
|
10
10
|
so you can react to them as they happen.
|
|
11
11
|
|
|
12
12
|
Every monitor is detect-only: it routes events into the session and never
|
|
@@ -21,6 +21,7 @@ affect that session's monitors.
|
|
|
21
21
|
- **GitHub PR**: `monitor_create({ name: "PR #42", sourceType: "github", repo: "owner/repo", prNumber: 42 })`
|
|
22
22
|
- **Slack thread**: `monitor_create({ name: "thread", sourceType: "slack", threadUrl: "<thread-url>" })`
|
|
23
23
|
- **Whole Slack DM**: `monitor_create({ name: "DM with Alex", sourceType: "slack", channelId: "D0123456789" })`
|
|
24
|
+
- **Yab feed**: `monitor_create({ name: "inbox", sourceType: "yab", url: "https://mail.google.com/mail/u/0/feed/atom", space: "Personal", match: "interview|offer", exclude: "newsletter" })`
|
|
24
25
|
|
|
25
26
|
You will be notified of:
|
|
26
27
|
|
|
@@ -30,9 +31,13 @@ You will be notified of:
|
|
|
30
31
|
- **Slack thread**: new replies in the thread.
|
|
31
32
|
- **Slack DM**: new top-level messages in the DM. Slack monitors are always detect-only
|
|
32
33
|
and never reply.
|
|
34
|
+
- **Yab feed**: each new entry of an Atom, RSS or JSON feed, read through the user's Yab
|
|
35
|
+
browser with their sign-ins (so private feeds like Gmail's unread-inbox feed work).
|
|
36
|
+
`space` picks the Yab space; `match`/`exclude` are case-insensitive regexes over the
|
|
37
|
+
entry's title, summary and author. Yab must be running.
|
|
33
38
|
|
|
34
39
|
GitHub and Slack use webhook delivery when configured and fall back to polling
|
|
35
|
-
when unavailable. Jira always
|
|
40
|
+
when unavailable. Jira and Yab always use polling. You can lower `pollIntervalSec`
|
|
36
41
|
(min 15) for time-sensitive work, but prefer the default to avoid hammering
|
|
37
42
|
APIs.
|
|
38
43
|
|
|
@@ -26,13 +26,17 @@ sourcefed skills path [name] Print skill directory path
|
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
28
|
--name NAME Human-readable monitor name (defaults to the source type)
|
|
29
|
-
--source-type TYPE jira | github | slack
|
|
29
|
+
--source-type TYPE jira | github | slack | yab
|
|
30
30
|
--issue-key KEY Jira issue key (jira)
|
|
31
31
|
--repo OWNER/NAME GitHub repository (github)
|
|
32
32
|
--pr-number N GitHub PR number (github)
|
|
33
33
|
--channel-id ID Slack channel or DM ID; a D… ID alone monitors the whole DM
|
|
34
34
|
--thread-ts TS Slack parent message timestamp; omit for a whole-DM monitor
|
|
35
35
|
--thread-url URL Slack thread URL (slack)
|
|
36
|
+
--url URL Atom, RSS or JSON feed URL read through Yab (yab)
|
|
37
|
+
--space NAME Yab space whose sign-ins to use (yab)
|
|
38
|
+
--match REGEX Only deliver entries matching this case-insensitive regex (yab)
|
|
39
|
+
--exclude REGEX Skip entries matching this case-insensitive regex (yab)
|
|
36
40
|
--poll-interval-sec N Poll interval in seconds (min 15)
|
|
37
41
|
--target-kind KIND Target kind for ownership scoping (default: cli)
|
|
38
42
|
--target-id ID Target id for ownership scoping (default: hostname)
|
|
@@ -54,6 +58,7 @@ SOURCEFED_JIRA_TERMINAL_STATUS Jira status that auto-removes monitors
|
|
|
54
58
|
GH_TOKEN / GITHUB_TOKEN GitHub token for direct API polling
|
|
55
59
|
SOURCEFED_GITHUB_WEBHOOK_SECRET GitHub webhook secret (enables webhooks)
|
|
56
60
|
SOURCEFED_SLACK_SIGNING_SECRET Slack signing secret (enables webhooks)
|
|
61
|
+
SOURCEFED_YAB_COMMAND Yab binary for yab monitors (default /Applications/yab.app/Contents/MacOS/yab)
|
|
57
62
|
SOURCEFED_SKILLS_DIR Override the bundled skills directory
|
|
58
63
|
```
|
|
59
64
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sourcefed
|
|
3
|
-
description: Live Jira, GitHub, and
|
|
3
|
+
description: Live Jira, GitHub, Slack, and Yab feed monitoring for agent hosts. Create monitors that route new issue comments, PR reviews, CI failures, Slack thread or DM messages, and new entries of feeds read through Yab into the current session as they happen.
|
|
4
4
|
hidden: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Sourcefed
|
|
8
8
|
|
|
9
9
|
Sourcefed turns external collaboration threads into live agent input: create a
|
|
10
|
-
monitor for a Jira issue, GitHub PR, Slack thread,
|
|
10
|
+
monitor for a Jira issue, GitHub PR, Slack thread, Slack DM, or a feed read through Yab and NEW events are routed
|
|
11
11
|
into the session you are working in, so you can react to them as they happen.
|
|
12
12
|
|
|
13
13
|
This file is a discovery stub, not the usage guide. Before running any
|
|
@@ -25,6 +25,7 @@ releases, which is why it just points at `skills get core`.
|
|
|
25
25
|
## When to load this skill
|
|
26
26
|
|
|
27
27
|
- A user asks to monitor a Jira ticket, GitHub PR, Slack thread, or Slack DM.
|
|
28
|
+
- A user wants to hear about new entries in a feed or inbox they are signed in to in Yab.
|
|
28
29
|
- You found or are working on a Jira ticket, PR, thread, or DM and want new
|
|
29
30
|
activity routed into your session.
|
|
30
31
|
- You opened a PR and want to be notified of reviews, comments, CI failures,
|
package/dist/guidance.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# sourcefed monitors
|
|
2
2
|
|
|
3
|
-
Monitors watch a Jira issue, GitHub PR,
|
|
3
|
+
Monitors watch a Jira issue, GitHub PR, Slack thread, or a feed read through Yab and bring new events
|
|
4
|
+
into this session.
|
|
4
5
|
|
|
5
6
|
Create one with `monitor_create` when:
|
|
6
7
|
|
|
@@ -9,7 +10,10 @@ Create one with `monitor_create` when:
|
|
|
9
10
|
- your branch has a PR: `{ name: "<pr>", sourceType: "github", repo: "owner/name", prNumber: 42 }`
|
|
10
11
|
(reviews, comments, CI failures, conflicts, merge or close);
|
|
11
12
|
- you were given a Slack thread: `{ name: "<thread>", sourceType: "slack", threadUrl: "<url>" }`
|
|
12
|
-
(new messages; read-only, never replies)
|
|
13
|
+
(new messages; read-only, never replies);
|
|
14
|
+
- the user wants new entries of a feed they are signed in to in Yab (unread Gmail, a job board's RSS):
|
|
15
|
+
`{ name: "<feed>", sourceType: "yab", url: "https://mail.google.com/mail/u/0/feed/atom", space: "Personal", match: "interview|offer" }`
|
|
16
|
+
(each new entry; `match`/`exclude` are case-insensitive regexes; Yab must be running).
|
|
13
17
|
|
|
14
18
|
Keep the default `pollIntervalSec` unless the work is time-sensitive (min 15).
|
|
15
19
|
`monitor_list`, `monitor_status { id }` and `monitor_stop { id }` act on this session's monitors.
|