@fdcn/sourcefed 0.3.7 → 0.3.8
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 +1 -1
- package/dist/{chunk-E6J3BAXP.js → chunk-5JL3UV72.js} +990 -99
- package/dist/cli.js +8716 -6926
- package/dist/daemon.js +994 -101
- 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 +6 -2
- package/dist/opencode.js +6 -2
- package/dist/pi.js +161 -39
- package/dist/tui-compiled.mjs +306 -166
- package/dist.dts/adapters/opencode/tools/monitor_create.d.ts +16 -0
- 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/core/src/types/monitor-create-input.d.ts +4 -0
- package/dist.dts/packages/daemon/src/registry.d.ts +2 -0
- package/dist.dts/packages/daemon/src/types/daemon.d.ts +4 -0
- 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 +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Theme } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import type { Component, KeybindingsManager } from "@earendil-works/pi-tui";
|
|
3
|
+
import type { MonitorView } from "@fdcn/sourcefed/daemon";
|
|
4
|
+
export type MonitorAction = "stop" | "start" | "remove";
|
|
5
|
+
/** Runs one action on a monitor and answers the target's monitors afterwards. */
|
|
6
|
+
export type RunMonitorAction = (action: MonitorAction, id: string) => Promise<MonitorView[]>;
|
|
7
|
+
export type MonitorManagerDeps = {
|
|
8
|
+
theme: Pick<Theme, "fg" | "bold">;
|
|
9
|
+
keys: Pick<KeybindingsManager, "matches">;
|
|
10
|
+
run: RunMonitorAction;
|
|
11
|
+
requestRender: () => void;
|
|
12
|
+
close: () => void;
|
|
13
|
+
};
|
|
14
|
+
export declare class MonitorManager implements Component {
|
|
15
|
+
private readonly deps;
|
|
16
|
+
private monitors;
|
|
17
|
+
private selected;
|
|
18
|
+
private mode;
|
|
19
|
+
private error;
|
|
20
|
+
constructor(monitors: MonitorView[], deps: MonitorManagerDeps);
|
|
21
|
+
handleInput(data: string): void;
|
|
22
|
+
render(width: number): string[];
|
|
23
|
+
invalidate(): void;
|
|
24
|
+
private handleBrowse;
|
|
25
|
+
private handleConfirm;
|
|
26
|
+
private perform;
|
|
27
|
+
private select;
|
|
28
|
+
private setMode;
|
|
29
|
+
private matches;
|
|
30
|
+
private listLines;
|
|
31
|
+
private statusLines;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,10 +2,12 @@ import type { Monitor, MonitorCreateInput, MonitorSource, SourceInput } from "@f
|
|
|
2
2
|
import { GithubMonitor } from "@fdcn/sourcefed/provider-github";
|
|
3
3
|
import { JiraMonitor } from "@fdcn/sourcefed/provider-jira";
|
|
4
4
|
import { SlackMonitor } from "@fdcn/sourcefed/provider-slack";
|
|
5
|
+
import { YabMonitor } from "@fdcn/sourcefed/provider-yab";
|
|
5
6
|
export declare const SOURCE_MAP: {
|
|
6
7
|
jira: JiraMonitor;
|
|
7
8
|
github: GithubMonitor;
|
|
8
9
|
slack: SlackMonitor;
|
|
10
|
+
yab: YabMonitor;
|
|
9
11
|
};
|
|
10
12
|
export declare const SOURCE_TYPES: [string, ...string[]];
|
|
11
13
|
export declare function sourceDefinition(source: MonitorSource): Monitor<any>;
|
|
@@ -0,0 +1,14 @@
|
|
|
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";
|
|
5
|
+
export declare class YabMonitor extends Monitor<YabSourceRecord> {
|
|
6
|
+
readonly poll: import("@fdcn/sourcefed/core").PollMonitor<YabSourceRecord>;
|
|
7
|
+
constructor();
|
|
8
|
+
readonly key: (source: YabSourceRecord) => string;
|
|
9
|
+
readonly icon = "\uDB81\uDD9F";
|
|
10
|
+
readonly label: (source: YabSourceRecord) => string;
|
|
11
|
+
readonly detail: (source: YabSourceRecord) => string;
|
|
12
|
+
readonly describe: (source: YabSourceRecord) => string;
|
|
13
|
+
build(input: MonitorCreateInput): SourceInput;
|
|
14
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { YabCursor, YabEvent, YabPage, YabSourceRecord } from "../../types";
|
|
2
|
+
export type YabFetcher = (url: string, space?: string) => Promise<YabPage>;
|
|
3
|
+
export declare function pollYab(source: YabSourceRecord, cursorRaw: unknown, fetchPage?: YabFetcher): Promise<{
|
|
4
|
+
events: YabEvent[];
|
|
5
|
+
cursor: YabCursor;
|
|
6
|
+
terminal: false;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { YabPage } from "../../types";
|
|
2
|
+
/** Read a URL through Yab, with the cookies of the given space (or wherever the site is signed in). */
|
|
3
|
+
export declare function fetchThroughYab(url: string, space?: string): Promise<YabPage>;
|
|
4
|
+
/** Yab's fetch answers `STATUS · TYPE · URL`, a blank line, then the body. */
|
|
5
|
+
export declare function parseYabFetch(text: string): YabPage;
|
|
6
|
+
/**
|
|
7
|
+
* Call one tool on Yab's MCP server over stdio: `yab mcp` is started for the call and
|
|
8
|
+
* stopped after it, so nothing stays connected between polls.
|
|
9
|
+
*/
|
|
10
|
+
export declare function callYabTool(name: string, args: Record<string, unknown>): Promise<string>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
export declare const YabSourceSchema: v.ObjectSchema<{
|
|
3
|
+
readonly type: v.LiteralSchema<"yab", undefined>;
|
|
4
|
+
readonly url: v.StringSchema<undefined>;
|
|
5
|
+
readonly space: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
6
|
+
readonly match: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
7
|
+
readonly exclude: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
8
|
+
}, undefined>;
|
|
9
|
+
export declare const YabCursorSchema: v.ObjectSchema<{
|
|
10
|
+
readonly primed: v.BooleanSchema<undefined>;
|
|
11
|
+
readonly seenIds: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
12
|
+
}, undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|