@fdcn/sourcefed 0.3.8 → 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.
Files changed (101) hide show
  1. package/README.md +36 -1
  2. package/dist/{chunk-5JL3UV72.js → chunk-L4SMC2NT.js} +29 -6
  3. package/dist/cli.js +4485 -2511
  4. package/dist/daemon.js +31 -6
  5. package/dist/mcp.js +2281 -1105
  6. package/dist/opencode.js +1 -1
  7. package/dist/pi.js +1 -1
  8. package/dist.dts/adapters/opencode/bridge.d.ts +1 -1
  9. package/dist.dts/adapters/opencode/subscriptions.d.ts +2 -2
  10. package/dist.dts/adapters/opencode/tui/sidebar.d.ts +1 -1
  11. package/dist.dts/adapters/pi/src/dialog.d.ts +1 -1
  12. package/dist.dts/adapters/pi/src/monitors-dialog.d.ts +1 -1
  13. package/dist.dts/packages/cli/src/commands/monitor/index.d.ts +1 -1
  14. package/dist.dts/packages/cli/src/utils/daemon.d.ts +1 -1
  15. package/dist.dts/packages/cli/src/utils/format.d.ts +1 -1
  16. package/dist.dts/packages/cli/src/utils/webhooks.d.ts +1 -1
  17. package/dist.dts/packages/core/src/events.d.ts +2 -2
  18. package/dist.dts/packages/core/src/index.d.ts +4 -4
  19. package/dist.dts/packages/core/src/monitors/index.d.ts +3 -3
  20. package/dist.dts/packages/core/src/monitors/monitor.d.ts +6 -6
  21. package/dist.dts/packages/core/src/monitors/poll/monitor.d.ts +5 -5
  22. package/dist.dts/packages/core/src/monitors/poll/types/poll-monitor-options.d.ts +1 -1
  23. package/dist.dts/packages/core/src/monitors/poll/types/poll-runner.d.ts +2 -2
  24. package/dist.dts/packages/core/src/monitors/poll/utils/event-delivery-id.d.ts +1 -1
  25. package/dist.dts/packages/core/src/monitors/poll/utils/tick.d.ts +1 -1
  26. package/dist.dts/packages/core/src/monitors/service.d.ts +3 -3
  27. package/dist.dts/packages/core/src/monitors/utils/monitor-identity.d.ts +3 -3
  28. package/dist.dts/packages/core/src/monitors/webhook/monitor.d.ts +5 -5
  29. package/dist.dts/packages/core/src/monitors/webhook/types/pending-webhook-event.d.ts +1 -1
  30. package/dist.dts/packages/core/src/monitors/webhook/types/webhook-monitor-options.d.ts +1 -1
  31. package/dist.dts/packages/core/src/monitors/webhook/utils/deliver-webhook.d.ts +2 -2
  32. package/dist.dts/packages/core/src/monitors/webhook/utils/handle-webhook.d.ts +1 -1
  33. package/dist.dts/packages/core/src/monitors/webhook/utils/heartbeat-webhooks.d.ts +2 -2
  34. package/dist.dts/packages/core/src/runtime.d.ts +3 -3
  35. package/dist.dts/packages/core/src/sources/index.d.ts +1 -1
  36. package/dist.dts/packages/core/src/sources/types/source-registry.d.ts +1 -1
  37. package/dist.dts/packages/core/src/storage/json.d.ts +2 -2
  38. package/dist.dts/packages/core/src/types/monitor-context.d.ts +2 -2
  39. package/dist.dts/packages/core/src/types/monitor-options.d.ts +1 -1
  40. package/dist.dts/packages/core/src/utils/event-to-text.d.ts +1 -1
  41. package/dist.dts/packages/core/src/utils/to-monitor-event.d.ts +2 -2
  42. package/dist.dts/packages/daemon/src/client.d.ts +1 -1
  43. package/dist.dts/packages/daemon/src/daemon.d.ts +3 -3
  44. package/dist.dts/packages/daemon/src/event-stream.d.ts +1 -1
  45. package/dist.dts/packages/daemon/src/event-transport.d.ts +4 -0
  46. package/dist.dts/packages/daemon/src/event-transport.test.d.ts +1 -0
  47. package/dist.dts/packages/daemon/src/fetch-isolation.test.d.ts +1 -0
  48. package/dist.dts/packages/daemon/src/index.d.ts +3 -3
  49. package/dist.dts/packages/daemon/src/registry.d.ts +5 -5
  50. package/dist.dts/packages/daemon/src/types/client.d.ts +1 -1
  51. package/dist.dts/packages/daemon/src/types/daemon.d.ts +1 -1
  52. package/dist.dts/packages/daemon/src/types/protocol.d.ts +1 -1
  53. package/dist.dts/packages/daemon/src/utils/sink.d.ts +2 -2
  54. package/dist.dts/packages/daemon/src/utils/target.d.ts +1 -1
  55. package/dist.dts/packages/mcp/src/server.d.ts +1 -1
  56. package/dist.dts/packages/mcp/src/uris.d.ts +2 -2
  57. package/dist.dts/providers/github/src/index.d.ts +1 -1
  58. package/dist.dts/providers/github/src/monitor.d.ts +6 -6
  59. package/dist.dts/providers/github/src/poll/index.d.ts +1 -1
  60. package/dist.dts/providers/github/src/poll/monitor.d.ts +2 -2
  61. package/dist.dts/providers/github/src/poll/utils/append-comments.d.ts +1 -1
  62. package/dist.dts/providers/github/src/poll/utils/append-github-ci-event.d.ts +1 -1
  63. package/dist.dts/providers/github/src/poll/utils/append-github-conflict-event.d.ts +1 -1
  64. package/dist.dts/providers/github/src/poll/utils/append-github-reviews.d.ts +1 -1
  65. package/dist.dts/providers/github/src/poll/utils/append-github-state-event.d.ts +1 -1
  66. package/dist.dts/providers/github/src/poll/utils/empty-cursor.d.ts +1 -1
  67. package/dist.dts/providers/github/src/poll/utils/poll-github.d.ts +1 -1
  68. package/dist.dts/providers/github/src/webhook/index.d.ts +2 -2
  69. package/dist.dts/providers/github/src/webhook/monitor.d.ts +2 -2
  70. package/dist.dts/providers/github/src/webhook/utils/github-event-handlers.d.ts +1 -1
  71. package/dist.dts/providers/github/src/webhook/utils/parse-github-webhook.d.ts +1 -1
  72. package/dist.dts/providers/github/src/webhook/utils/update-github-cursor.d.ts +2 -2
  73. package/dist.dts/providers/jira/src/index.d.ts +1 -1
  74. package/dist.dts/providers/jira/src/monitor.d.ts +5 -5
  75. package/dist.dts/providers/jira/src/poll/index.d.ts +1 -1
  76. package/dist.dts/providers/jira/src/poll/monitor.d.ts +2 -2
  77. package/dist.dts/providers/jira/src/poll/utils/append-jira-changelog.d.ts +1 -1
  78. package/dist.dts/providers/jira/src/poll/utils/append-jira-comments.d.ts +1 -1
  79. package/dist.dts/providers/jira/src/poll/utils/append-jira-description.d.ts +1 -1
  80. package/dist.dts/providers/jira/src/poll/utils/empty-cursor.d.ts +1 -1
  81. package/dist.dts/providers/jira/src/poll/utils/jira-changelog-event.d.ts +1 -1
  82. package/dist.dts/providers/jira/src/poll/utils/poll-jira.d.ts +1 -1
  83. package/dist.dts/providers/slack/src/index.d.ts +1 -1
  84. package/dist.dts/providers/slack/src/monitor.d.ts +6 -6
  85. package/dist.dts/providers/slack/src/poll/index.d.ts +1 -1
  86. package/dist.dts/providers/slack/src/poll/monitor.d.ts +2 -2
  87. package/dist.dts/providers/slack/src/poll/utils/parse-slack-read-result.d.ts +1 -1
  88. package/dist.dts/providers/slack/src/poll/utils/poll-slack.d.ts +1 -1
  89. package/dist.dts/providers/slack/src/webhook/index.d.ts +1 -1
  90. package/dist.dts/providers/slack/src/webhook/monitor.d.ts +2 -2
  91. package/dist.dts/providers/slack/src/webhook/utils/parse-slack-webhook.d.ts +1 -1
  92. package/dist.dts/providers/slack/src/webhook/utils/update-slack-cursor.d.ts +2 -2
  93. package/dist.dts/providers/yab/src/index.d.ts +1 -1
  94. package/dist.dts/providers/yab/src/monitor.d.ts +5 -5
  95. package/dist.dts/providers/yab/src/poll/index.d.ts +1 -1
  96. package/dist.dts/providers/yab/src/poll/monitor.d.ts +2 -2
  97. package/dist.dts/providers/yab/src/poll/utils/feed-events.d.ts +1 -1
  98. package/dist.dts/providers/yab/src/poll/utils/parse-feed.d.ts +1 -1
  99. package/dist.dts/providers/yab/src/poll/utils/poll-yab.d.ts +1 -1
  100. package/dist.dts/providers/yab/src/poll/utils/yab-mcp.d.ts +1 -1
  101. package/package.json +27 -9
@@ -1,2 +1,2 @@
1
1
  export { jiraPollMonitor } from "./monitor.js";
2
- export * from "./utils";
2
+ export * from "./utils/index.js";
@@ -1,3 +1,3 @@
1
- import { PollMonitor } from "@fdcn/sourcefed/core";
2
- import type { JiraSourceRecord } from "../types";
1
+ import { PollMonitor } from "../../../../packages/core/src/index.js";
2
+ import type { JiraSourceRecord } from "../types/index.js";
3
3
  export declare const jiraPollMonitor: PollMonitor<JiraSourceRecord>;
@@ -1,2 +1,2 @@
1
- import type { JiraCursor, JiraEvent } from "../../types";
1
+ import type { JiraCursor, JiraEvent } from "../../types/index.js";
2
2
  export declare function appendJiraChangelog(issueKey: string, cursor: JiraCursor, events: JiraEvent[], histories: any[]): void;
@@ -1,2 +1,2 @@
1
- import type { JiraCursor, JiraEvent } from "../../types";
1
+ import type { JiraCursor, JiraEvent } from "../../types/index.js";
2
2
  export declare function appendJiraComments(issueKey: string, cursor: JiraCursor, events: JiraEvent[], comments: any[]): void;
@@ -1,2 +1,2 @@
1
- import type { JiraCursor, JiraEvent } from "../../types";
1
+ import type { JiraCursor, JiraEvent } from "../../types/index.js";
2
2
  export declare function appendJiraDescription(issueKey: string, cursor: JiraCursor, events: JiraEvent[], description: any): void;
@@ -1,2 +1,2 @@
1
- import type { JiraCursor } from "../../types";
1
+ import type { JiraCursor } from "../../types/index.js";
2
2
  export declare function emptyJiraCursor(): JiraCursor;
@@ -1,2 +1,2 @@
1
- import type { JiraEvent } from "../../types";
1
+ import type { JiraEvent } from "../../types/index.js";
2
2
  export declare function jiraChangelogEvent(issueKey: string, history: any): JiraEvent | undefined;
@@ -1,4 +1,4 @@
1
- import type { JiraCursor, JiraEvent } from "../../types";
1
+ import type { JiraCursor, JiraEvent } from "../../types/index.js";
2
2
  export declare function pollJira(issueKey: string, cursorRaw: unknown): Promise<{
3
3
  events: JiraEvent[];
4
4
  cursor: JiraCursor;
@@ -1,2 +1,2 @@
1
1
  export { SlackMonitor } from "./monitor.js";
2
- export type { SlackSourceRecord, SlackEvent, SlackCursor } from "./types";
2
+ export type { SlackSourceRecord, SlackEvent, SlackCursor } from "./types/index.js";
@@ -1,10 +1,10 @@
1
- import { Monitor } from "@fdcn/sourcefed/core";
2
- import type { MonitorCreateInput } from "@fdcn/sourcefed/core";
3
- import type { SlackSourceRecord } from "./types";
4
- import type { SourceInput } from "@fdcn/sourcefed/core";
1
+ import { Monitor } from "../../../packages/core/src/index.js";
2
+ import type { MonitorCreateInput } from "../../../packages/core/src/index.js";
3
+ import type { SlackSourceRecord } from "./types/index.js";
4
+ import type { SourceInput } from "../../../packages/core/src/index.js";
5
5
  export declare class SlackMonitor extends Monitor<SlackSourceRecord> {
6
- readonly poll: import("@fdcn/sourcefed/core").PollMonitor<SlackSourceRecord>;
7
- readonly webhook: import("@fdcn/sourcefed/core").WebhookMonitor<SlackSourceRecord>;
6
+ readonly poll: import("../../../packages/core/src/index.js").PollMonitor<SlackSourceRecord>;
7
+ readonly webhook: import("../../../packages/core/src/index.js").WebhookMonitor<SlackSourceRecord>;
8
8
  constructor();
9
9
  readonly key: (source: SlackSourceRecord) => string;
10
10
  readonly icon = "\uDB81\uDCB1";
@@ -1,2 +1,2 @@
1
1
  export { slackPollMonitor } from "./monitor.js";
2
- export * from "./utils";
2
+ export * from "./utils/index.js";
@@ -1,3 +1,3 @@
1
- import { PollMonitor } from "@fdcn/sourcefed/core";
2
- import type { SlackSourceRecord } from "../types";
1
+ import { PollMonitor } from "../../../../packages/core/src/index.js";
2
+ import type { SlackSourceRecord } from "../types/index.js";
3
3
  export declare const slackPollMonitor: PollMonitor<SlackSourceRecord>;
@@ -1,4 +1,4 @@
1
- import type { SlackCursor, SlackEvent, SlackReadResult } from "../../types";
1
+ import type { SlackCursor, SlackEvent, SlackReadResult } from "../../types/index.js";
2
2
  export declare function parseSlackReadResult(result: SlackReadResult, cursorRaw: unknown, location?: "thread" | "DM"): {
3
3
  events: SlackEvent[];
4
4
  cursor: SlackCursor;
@@ -1,4 +1,4 @@
1
- import type { SlackCursor, SlackEvent, SlackSourceRecord } from "../../types";
1
+ import type { SlackCursor, SlackEvent, SlackSourceRecord } from "../../types/index.js";
2
2
  export declare function pollSlack(source: SlackSourceRecord, cursorRaw: unknown): Promise<{
3
3
  events: SlackEvent[];
4
4
  cursor: SlackCursor;
@@ -1,2 +1,2 @@
1
1
  export { slackWebhookMonitor } from "./monitor.js";
2
- export * from "./utils";
2
+ export * from "./utils/index.js";
@@ -1,3 +1,3 @@
1
- import { WebhookMonitor } from "@fdcn/sourcefed/core";
2
- import type { SlackSourceRecord } from "../types";
1
+ import { WebhookMonitor } from "../../../../packages/core/src/index.js";
2
+ import type { SlackSourceRecord } from "../types/index.js";
3
3
  export declare const slackWebhookMonitor: WebhookMonitor<SlackSourceRecord>;
@@ -1,2 +1,2 @@
1
- import type { MonitorEvent } from "@fdcn/sourcefed/core";
1
+ import type { MonitorEvent } from "../../../../../packages/core/src/index.js";
2
2
  export declare function parseSlackWebhook(payload: any, _eventName: string, deliveryId: string): MonitorEvent | undefined;
@@ -1,3 +1,3 @@
1
- import type { MonitorEvent } from "@fdcn/sourcefed/core";
2
- import type { SlackCursor } from "../../types";
1
+ import type { MonitorEvent } from "../../../../../packages/core/src/index.js";
2
+ import type { SlackCursor } from "../../types/index.js";
3
3
  export declare function updateSlackCursor(event: MonitorEvent, cursorRaw: unknown): SlackCursor;
@@ -1,2 +1,2 @@
1
1
  export { YabMonitor } from "./monitor.js";
2
- export type { YabSourceRecord, YabEvent, YabCursor, FeedEntry } from "./types";
2
+ export type { YabSourceRecord, YabEvent, YabCursor, FeedEntry } from "./types/index.js";
@@ -1,9 +1,9 @@
1
- import { Monitor } from "@fdcn/sourcefed/core";
2
- import type { MonitorCreateInput } from "@fdcn/sourcefed/core";
3
- import type { YabSourceRecord } from "./types";
4
- import type { SourceInput } from "@fdcn/sourcefed/core";
1
+ import { Monitor } from "../../../packages/core/src/index.js";
2
+ import type { MonitorCreateInput } from "../../../packages/core/src/index.js";
3
+ import type { YabSourceRecord } from "./types/index.js";
4
+ import type { SourceInput } from "../../../packages/core/src/index.js";
5
5
  export declare class YabMonitor extends Monitor<YabSourceRecord> {
6
- readonly poll: import("@fdcn/sourcefed/core").PollMonitor<YabSourceRecord>;
6
+ readonly poll: import("../../../packages/core/src/index.js").PollMonitor<YabSourceRecord>;
7
7
  constructor();
8
8
  readonly key: (source: YabSourceRecord) => string;
9
9
  readonly icon = "\uDB81\uDD9F";
@@ -1,2 +1,2 @@
1
1
  export { yabPollMonitor } from "./monitor.js";
2
- export * from "./utils";
2
+ export * from "./utils/index.js";
@@ -1,3 +1,3 @@
1
- import { PollMonitor } from "@fdcn/sourcefed/core";
2
- import type { YabSourceRecord } from "../types";
1
+ import { PollMonitor } from "../../../../packages/core/src/index.js";
2
+ import type { YabSourceRecord } from "../types/index.js";
3
3
  export declare const yabPollMonitor: PollMonitor<YabSourceRecord>;
@@ -1,4 +1,4 @@
1
- import type { FeedEntry, YabCursor, YabEvent, YabSourceRecord } from "../../types";
1
+ import type { FeedEntry, YabCursor, YabEvent, YabSourceRecord } from "../../types/index.js";
2
2
  export declare function feedEvents(source: YabSourceRecord, entries: FeedEntry[], cursorRaw: unknown): {
3
3
  events: YabEvent[];
4
4
  cursor: YabCursor;
@@ -1,3 +1,3 @@
1
- import type { FeedEntry } from "../../types";
1
+ import type { FeedEntry } from "../../types/index.js";
2
2
  /** Entries of an Atom, RSS or JSON feed, in the order the feed lists them. */
3
3
  export declare function parseFeed(body: string, type?: string): FeedEntry[];
@@ -1,4 +1,4 @@
1
- import type { YabCursor, YabEvent, YabPage, YabSourceRecord } from "../../types";
1
+ import type { YabCursor, YabEvent, YabPage, YabSourceRecord } from "../../types/index.js";
2
2
  export type YabFetcher = (url: string, space?: string) => Promise<YabPage>;
3
3
  export declare function pollYab(source: YabSourceRecord, cursorRaw: unknown, fetchPage?: YabFetcher): Promise<{
4
4
  events: YabEvent[];
@@ -1,4 +1,4 @@
1
- import type { YabPage } from "../../types";
1
+ import type { YabPage } from "../../types/index.js";
2
2
  /** Read a URL through Yab, with the cookies of the given space (or wherever the site is signed in). */
3
3
  export declare function fetchThroughYab(url: string, space?: string): Promise<YabPage>;
4
4
  /** Yab's fetch answers `STATUS · TYPE · URL`, a blank line, then the body. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fdcn/sourcefed",
3
- "version": "0.3.8",
3
+ "version": "0.4.0",
4
4
  "description": "Live Jira, GitHub, and Slack monitoring for agent hosts: CLI, daemon, MCP server, and host plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,17 +42,35 @@
42
42
  "types": "./dist.dts/adapters/opencode/index.d.ts",
43
43
  "default": "./dist/opencode.js"
44
44
  },
45
- "./opencode/tui": "./dist/tui-compiled.mjs",
46
- "./tui": "./dist/tui-compiled.mjs",
47
- "./pi": "./dist/pi.js",
45
+ "./opencode/tui": {
46
+ "types": "./dist.dts/adapters/opencode/tui.d.ts",
47
+ "default": "./dist/tui-compiled.mjs"
48
+ },
49
+ "./tui": {
50
+ "types": "./dist.dts/adapters/opencode/tui.d.ts",
51
+ "default": "./dist/tui-compiled.mjs"
52
+ },
53
+ "./pi": {
54
+ "types": "./dist.dts/adapters/pi/src/index.d.ts",
55
+ "default": "./dist/pi.js"
56
+ },
48
57
  "./package.json": "./package.json"
49
58
  },
50
59
  "dependencies": {
51
- "@earendil-works/pi-coding-agent": "0.83.0",
52
- "@earendil-works/pi-tui": "0.83.0",
53
- "@modelcontextprotocol/server": "2.0.0",
54
- "@opencode/plugin": "2.0.12",
55
- "typebox": "1.3.10"
60
+ "@modelcontextprotocol/server": "2.4.0",
61
+ "@opencode/plugin": "2.2.7",
62
+ "@types/json-schema": "7.0.15",
63
+ "valibot": "1.4.2"
64
+ },
65
+ "peerDependencies": {
66
+ "@earendil-works/pi-coding-agent": "*",
67
+ "@earendil-works/pi-tui": "*",
68
+ "typebox": "*"
69
+ },
70
+ "peerDependenciesMeta": {
71
+ "@earendil-works/pi-coding-agent": { "optional": true },
72
+ "@earendil-works/pi-tui": { "optional": true },
73
+ "typebox": { "optional": true }
56
74
  },
57
75
  "engines": {
58
76
  "node": ">=22.19.0"