@hy-sde-org/dsh-internal-urls 0.1.1-rc.2
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/LICENSE +37 -0
- package/README.md +101 -0
- package/cordis.patch.yml +25 -0
- package/dist/conflict.d.ts +161 -0
- package/dist/conflict.d.ts.map +1 -0
- package/dist/conflict.js +625 -0
- package/dist/conflict.js.map +1 -0
- package/dist/gh.d.ts +63 -0
- package/dist/gh.d.ts.map +1 -0
- package/dist/gh.js +146 -0
- package/dist/gh.js.map +1 -0
- package/dist/index.d.ts +68 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +121 -0
- package/dist/index.js.map +1 -0
- package/dist/invariant.d.ts +16 -0
- package/dist/invariant.d.ts.map +1 -0
- package/dist/invariant.js +26 -0
- package/dist/invariant.js.map +1 -0
- package/dist/issue-pr.d.ts +96 -0
- package/dist/issue-pr.d.ts.map +1 -0
- package/dist/issue-pr.js +430 -0
- package/dist/issue-pr.js.map +1 -0
- package/dist/parse.d.ts +38 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +95 -0
- package/dist/parse.js.map +1 -0
- package/dist/router.d.ts +44 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +114 -0
- package/dist/router.js.map +1 -0
- package/dist/types.d.ts +151 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/examples/agent-preset/agent.cordis.yml +26 -0
- package/examples/agent-preset/preset.yml +3 -0
- package/package.json +104 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflict.js","sourceRoot":"","sources":["../src/conflict.ts"],"names":[],"mappings":"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"}
|
package/dist/gh.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subprocess-backed accessors for the `issue://` / `pr://` protocols: one
|
|
3
|
+
* unconfined `gh` CLI runner (through the `ctx.subprocess` seam, mirroring the
|
|
4
|
+
* ripgrep spawn shape in `dsh-tool-fs-search`) and a git-remote helper that
|
|
5
|
+
* derives the calling session's default `owner/repo`.
|
|
6
|
+
* @module @hy-sde-org/dsh-internal-urls/gh
|
|
7
|
+
*/
|
|
8
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
9
|
+
/** One completed subprocess run: complete stdout text + exit facts + stderr tail. */
|
|
10
|
+
export interface CommandRun {
|
|
11
|
+
/** Complete stdout (the collection shape retains it within the byte cap). */
|
|
12
|
+
stdout: string;
|
|
13
|
+
/** Exit code; non-zero means the command failed unless the caller treats it as data. */
|
|
14
|
+
exitCode: number;
|
|
15
|
+
/** Whether the process died from a signal (killed/cancelled). */
|
|
16
|
+
killed: boolean;
|
|
17
|
+
/** Retained stderr tail. */
|
|
18
|
+
stderr: string;
|
|
19
|
+
}
|
|
20
|
+
/** Thrown when a child command fails: exit or launch. Carries the stderr tail. */
|
|
21
|
+
export declare class CommandFailure extends Error {
|
|
22
|
+
readonly exitCode: number | null;
|
|
23
|
+
readonly stderr: string;
|
|
24
|
+
constructor(message: string, options: {
|
|
25
|
+
exitCode: number | null;
|
|
26
|
+
stderr: string;
|
|
27
|
+
cause?: unknown;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Run `argv` (a plain vector, never shell-interpreted) with `cwd` through the
|
|
32
|
+
* subprocess seam, mirroring the ripgrep spawn shape: bounded stdout/stderr
|
|
33
|
+
* collection, abort-signal forwarding, and a signal-kill classification.
|
|
34
|
+
*
|
|
35
|
+
* @param ctx - the plugin context; execution uses its `subprocess` service.
|
|
36
|
+
* @param argv - executable and arguments; `argv[0]` names the program.
|
|
37
|
+
* @param cwd - working directory for the child.
|
|
38
|
+
* @param signal - caller's abort signal (tool cancellation / timeout).
|
|
39
|
+
* @returns the complete stdout, exit facts, and stderr tail.
|
|
40
|
+
* @throws {@link CommandFailure} when the process cannot start or is killed by
|
|
41
|
+
* a signal. A non-zero EXIT is returned as data — gh uses exit codes.
|
|
42
|
+
*/
|
|
43
|
+
export declare function runCommand(ctx: Context, argv: readonly string[], cwd: string, signal: AbortSignal | undefined): Promise<CommandRun>;
|
|
44
|
+
/** Run one `gh` JSON command; throws a user-friendly error on failure. */
|
|
45
|
+
export declare function ghJson(ctx: Context, cwd: string, args: readonly string[], signal: AbortSignal | undefined): Promise<unknown>;
|
|
46
|
+
/** Run one `gh` text command (already a JSON form); returns stdout. */
|
|
47
|
+
export declare function ghOutput(ctx: Context, cwd: string, args: readonly string[], signal: AbortSignal | undefined): Promise<string>;
|
|
48
|
+
/**
|
|
49
|
+
* Parse a git remote URL into `owner/repo`, handling the common shapes:
|
|
50
|
+
* `https://github.com/owner/repo.git`, `git@github.com:owner/repo.git`,
|
|
51
|
+
* `ssh://git@github.com/owner/repo.git`, and `owner/repo`.
|
|
52
|
+
* @returns `owner/repo`, or `undefined` when the remote has no recognizable GitHub form.
|
|
53
|
+
*/
|
|
54
|
+
export declare function gitRemoteToRepo(remote: string): string | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* The calling session's default `owner/repo` derived from the git remote of
|
|
57
|
+
* `cwd`. Errors surface as a clear message so short-form reads
|
|
58
|
+
* (`issue://123`) can tell the agent to name the repo explicitly.
|
|
59
|
+
*/
|
|
60
|
+
export declare function defaultRepoFromCwd(ctx: Context, cwd: string, signal: AbortSignal | undefined): Promise<string | undefined>;
|
|
61
|
+
/** Drop the memoized default-repo cache (tests and repo switches). */
|
|
62
|
+
export declare function resetDefaultRepoMemo(): void;
|
|
63
|
+
//# sourceMappingURL=gh.d.ts.map
|
package/dist/gh.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAUlD,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,MAAM,EAAE,OAAO,CAAA;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,kFAAkF;AAClF,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;gBAEX,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKnG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CA0CzI;AAQD,0EAA0E;AAC1E,wBAAsB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlI;AAED,uEAAuE;AACvE,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAInI;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMlE;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW1H;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
package/dist/gh.js
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subprocess-backed accessors for the `issue://` / `pr://` protocols: one
|
|
3
|
+
* unconfined `gh` CLI runner (through the `ctx.subprocess` seam, mirroring the
|
|
4
|
+
* ripgrep spawn shape in `dsh-tool-fs-search`) and a git-remote helper that
|
|
5
|
+
* derives the calling session's default `owner/repo`.
|
|
6
|
+
* @module @hy-sde-org/dsh-internal-urls/gh
|
|
7
|
+
*/
|
|
8
|
+
/** In-memory cap on one `gh` stdout collection (JSON listings, rendered bodies). */
|
|
9
|
+
const MAX_STDOUT_BYTES = 16 * 1024 * 1024;
|
|
10
|
+
/** Retained stderr diagnostic tail. */
|
|
11
|
+
const STDERR_MAX_BYTES = 64 * 1024;
|
|
12
|
+
/** Terminate-escalation grace period for a child `gh`/`git` process. */
|
|
13
|
+
const GRACE_MS = 5_000;
|
|
14
|
+
/** Thrown when a child command fails: exit or launch. Carries the stderr tail. */
|
|
15
|
+
export class CommandFailure extends Error {
|
|
16
|
+
exitCode;
|
|
17
|
+
stderr;
|
|
18
|
+
constructor(message, options) {
|
|
19
|
+
super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
|
|
20
|
+
this.exitCode = options.exitCode;
|
|
21
|
+
this.stderr = options.stderr;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Run `argv` (a plain vector, never shell-interpreted) with `cwd` through the
|
|
26
|
+
* subprocess seam, mirroring the ripgrep spawn shape: bounded stdout/stderr
|
|
27
|
+
* collection, abort-signal forwarding, and a signal-kill classification.
|
|
28
|
+
*
|
|
29
|
+
* @param ctx - the plugin context; execution uses its `subprocess` service.
|
|
30
|
+
* @param argv - executable and arguments; `argv[0]` names the program.
|
|
31
|
+
* @param cwd - working directory for the child.
|
|
32
|
+
* @param signal - caller's abort signal (tool cancellation / timeout).
|
|
33
|
+
* @returns the complete stdout, exit facts, and stderr tail.
|
|
34
|
+
* @throws {@link CommandFailure} when the process cannot start or is killed by
|
|
35
|
+
* a signal. A non-zero EXIT is returned as data — gh uses exit codes.
|
|
36
|
+
*/
|
|
37
|
+
export async function runCommand(ctx, argv, cwd, signal) {
|
|
38
|
+
if (signal?.aborted)
|
|
39
|
+
throw new CommandFailure('command was aborted before it could start', { exitCode: null, stderr: '' });
|
|
40
|
+
let handle;
|
|
41
|
+
try {
|
|
42
|
+
handle = ctx.subprocess.spawn({
|
|
43
|
+
argv,
|
|
44
|
+
cwd,
|
|
45
|
+
stdio: {
|
|
46
|
+
stdin: 'ignore',
|
|
47
|
+
stdout: { maxBytes: MAX_STDOUT_BYTES },
|
|
48
|
+
stderr: { maxBytes: STDERR_MAX_BYTES },
|
|
49
|
+
},
|
|
50
|
+
graceMs: GRACE_MS,
|
|
51
|
+
...(signal !== undefined ? { signal } : {}),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (signal?.aborted) {
|
|
56
|
+
throw new CommandFailure('command was aborted before completion', { exitCode: null, stderr: '', cause: error });
|
|
57
|
+
}
|
|
58
|
+
throw new CommandFailure(`${argv[0] ?? 'command'} could not start (launch failed)`, { exitCode: null, stderr: '', cause: error });
|
|
59
|
+
}
|
|
60
|
+
let outcome;
|
|
61
|
+
try {
|
|
62
|
+
outcome = await handle.done;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw new CommandFailure(`${argv[0] ?? 'command'} could not start (launch failed)`, { exitCode: null, stderr: '', cause: error });
|
|
66
|
+
}
|
|
67
|
+
const stdout = handle.collected.stdout?.readFrom(0);
|
|
68
|
+
const stderr = handle.collected.stderr?.readFrom(0);
|
|
69
|
+
if (stdout === undefined || stderr === undefined) {
|
|
70
|
+
throw new CommandFailure(`${argv[0] ?? 'command'} produced no collected output streams`, { exitCode: null, stderr: '' });
|
|
71
|
+
}
|
|
72
|
+
if (outcome.signal !== null) {
|
|
73
|
+
throw new CommandFailure(`${argv[0] ?? 'command'} was killed by signal ${outcome.signal}`, {
|
|
74
|
+
exitCode: outcome.exitCode,
|
|
75
|
+
stderr: stderr.text,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
if (outcome.exitCode === null) {
|
|
79
|
+
throw new CommandFailure(`${argv[0] ?? 'command'} exited without a code`, { exitCode: null, stderr: stderr.text });
|
|
80
|
+
}
|
|
81
|
+
return { stdout: stdout.text, exitCode: outcome.exitCode, killed: false, stderr: stderr.text };
|
|
82
|
+
}
|
|
83
|
+
/** Shorthand: a non-blank message label for a failed run. */
|
|
84
|
+
function ghError(message, run) {
|
|
85
|
+
const stderr = run.stderr.trim();
|
|
86
|
+
return new Error(stderr.length > 0 ? `${message}: ${stderr}` : message);
|
|
87
|
+
}
|
|
88
|
+
/** Run one `gh` JSON command; throws a user-friendly error on failure. */
|
|
89
|
+
export async function ghJson(ctx, cwd, args, signal) {
|
|
90
|
+
const run = await runCommand(ctx, ['gh', ...args], cwd, signal);
|
|
91
|
+
if (run.exitCode !== 0 || run.killed)
|
|
92
|
+
throw ghError(`gh ${args[0] ?? ''} failed (exit ${run.exitCode})`, run);
|
|
93
|
+
try {
|
|
94
|
+
return JSON.parse(run.stdout);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
throw new Error(`gh ${args[0] ?? ''} returned invalid JSON: ${String(error)}`, { cause: error });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** Run one `gh` text command (already a JSON form); returns stdout. */
|
|
101
|
+
export async function ghOutput(ctx, cwd, args, signal) {
|
|
102
|
+
const run = await runCommand(ctx, ['gh', ...args], cwd, signal);
|
|
103
|
+
if (run.exitCode !== 0 || run.killed)
|
|
104
|
+
throw ghError(`gh ${args[0] ?? ''} failed (exit ${run.exitCode})`, run);
|
|
105
|
+
return run.stdout;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Parse a git remote URL into `owner/repo`, handling the common shapes:
|
|
109
|
+
* `https://github.com/owner/repo.git`, `git@github.com:owner/repo.git`,
|
|
110
|
+
* `ssh://git@github.com/owner/repo.git`, and `owner/repo`.
|
|
111
|
+
* @returns `owner/repo`, or `undefined` when the remote has no recognizable GitHub form.
|
|
112
|
+
*/
|
|
113
|
+
export function gitRemoteToRepo(remote) {
|
|
114
|
+
const value = remote.trim();
|
|
115
|
+
if (value.length === 0)
|
|
116
|
+
return undefined;
|
|
117
|
+
if (/^[\w.-]+\/[\w.-]+$/.test(value))
|
|
118
|
+
return value;
|
|
119
|
+
const match = /(?:github\.com[:/])([\w.-]+\/[\w.-]+?)(?:\.git)?$/.exec(value);
|
|
120
|
+
return match?.[1];
|
|
121
|
+
}
|
|
122
|
+
const DEFAULT_REPO_MEMO = new Map();
|
|
123
|
+
/**
|
|
124
|
+
* The calling session's default `owner/repo` derived from the git remote of
|
|
125
|
+
* `cwd`. Errors surface as a clear message so short-form reads
|
|
126
|
+
* (`issue://123`) can tell the agent to name the repo explicitly.
|
|
127
|
+
*/
|
|
128
|
+
export function defaultRepoFromCwd(ctx, cwd, signal) {
|
|
129
|
+
const key = cwd;
|
|
130
|
+
const cached = DEFAULT_REPO_MEMO.get(key);
|
|
131
|
+
if (cached !== undefined)
|
|
132
|
+
return cached;
|
|
133
|
+
const promise = (async () => {
|
|
134
|
+
const run = await runCommand(ctx, ['git', 'config', '--get', 'remote.origin.url'], cwd, signal);
|
|
135
|
+
if (run.exitCode !== 0)
|
|
136
|
+
return undefined;
|
|
137
|
+
return gitRemoteToRepo(run.stdout);
|
|
138
|
+
})();
|
|
139
|
+
DEFAULT_REPO_MEMO.set(key, promise);
|
|
140
|
+
return promise;
|
|
141
|
+
}
|
|
142
|
+
/** Drop the memoized default-repo cache (tests and repo switches). */
|
|
143
|
+
export function resetDefaultRepoMemo() {
|
|
144
|
+
DEFAULT_REPO_MEMO.clear();
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=gh.js.map
|
package/dist/gh.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FS-shaped internal URL schemes for the read/grep/write tools: one resolver
|
|
3
|
+
* registry (`ctx.internalUrls`) under which protocol handlers register and
|
|
4
|
+
* dispatch `conflict://` / `pr://` / `issue://` reads and writes.
|
|
5
|
+
*
|
|
6
|
+
* Host-plane: the service crosses sessions, so this package mounts as a row in
|
|
7
|
+
* the base bundle — one registry per process, per-session state (the conflict
|
|
8
|
+
* history) keyed by session. The tool packages consume it with `ctx.get`.
|
|
9
|
+
* @module @hy-sde-org/dsh-internal-urls
|
|
10
|
+
*/
|
|
11
|
+
import { Context, Service } from '@deepseek-ai/cordis';
|
|
12
|
+
import type { SandboxExecutionPolicy } from '@deepseek-ai/dsh-sandbox';
|
|
13
|
+
import { ConflictHistory } from './conflict.ts';
|
|
14
|
+
import type { InternalResource, ProtocolHandler, ResolveContext, UrlCompletion, WriteContext } from './types.ts';
|
|
15
|
+
export * from './types.ts';
|
|
16
|
+
export * from './parse.ts';
|
|
17
|
+
export * from './router.ts';
|
|
18
|
+
export * from './conflict.ts';
|
|
19
|
+
export * from './gh.ts';
|
|
20
|
+
export * from './issue-pr.ts';
|
|
21
|
+
declare module '@deepseek-ai/cordis' {
|
|
22
|
+
interface Context {
|
|
23
|
+
/** The internal-URL resolver registry (read/grep/write routing seam). */
|
|
24
|
+
internalUrls: InternalUrlsService;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The public `ctx.internalUrls` service: the resolver registry plus per-session
|
|
29
|
+
* conflict histories the read tool populates and the conflict handler consumes.
|
|
30
|
+
*/
|
|
31
|
+
export declare class InternalUrlsService extends Service {
|
|
32
|
+
private readonly router;
|
|
33
|
+
private readonly histories;
|
|
34
|
+
constructor(ctx: Context);
|
|
35
|
+
/** Register (or replace) the handler for its scheme. Returns a disposer. */
|
|
36
|
+
register(handler: ProtocolHandler): () => void;
|
|
37
|
+
/** Remove the handler for a scheme; false when none was registered. */
|
|
38
|
+
unregister(scheme: string): boolean;
|
|
39
|
+
/** Every registered scheme. */
|
|
40
|
+
schemes(): string[];
|
|
41
|
+
/** Whether `input` is a hierarchical `scheme://` URL with a registered handler. */
|
|
42
|
+
canHandle(input: string): boolean;
|
|
43
|
+
/** Resolve an internal URL through its registered handler. */
|
|
44
|
+
resolve(input: string, context?: ResolveContext): Promise<InternalResource>;
|
|
45
|
+
/** Write an internal URL through its registered handler. */
|
|
46
|
+
write(input: string, content: string, context?: WriteContext): Promise<void>;
|
|
47
|
+
/** Candidate completions for `scheme://<query>`, or `null` when unsupported. */
|
|
48
|
+
complete(scheme: string, query: string, context?: ResolveContext): Promise<UrlCompletion[] | null>;
|
|
49
|
+
/**
|
|
50
|
+
* The conflict history for one session (all calls sharing a key see the same
|
|
51
|
+
* history). Calls without a session key share a process-level history.
|
|
52
|
+
*/
|
|
53
|
+
conflicts(sessionKey: string | undefined): ConflictHistory;
|
|
54
|
+
}
|
|
55
|
+
/** Cordis plugin name used by loader diagnostics. */
|
|
56
|
+
export declare const name = "internal-urls";
|
|
57
|
+
/** The plugin needs `ctx.fs` before the conflict handler's file bridge exists. */
|
|
58
|
+
export declare const inject: string[];
|
|
59
|
+
export type { SandboxExecutionPolicy };
|
|
60
|
+
/**
|
|
61
|
+
* Register `ctx.internalUrls` and its shipped handlers (`conflict://`,
|
|
62
|
+
* `issue://`, `pr://`). Constructing the Service registers `ctx.internalUrls`
|
|
63
|
+
* for the mounting fiber; handler registrations are effects scoped to the same
|
|
64
|
+
* fiber, so stop/update removes every handler with it.
|
|
65
|
+
*/
|
|
66
|
+
export declare function apply(ctx: Context): void;
|
|
67
|
+
export default apply;
|
|
68
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEtE,OAAO,EAAE,eAAe,EAA2B,MAAM,eAAe,CAAA;AAKxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEhH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAE7B,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,yEAAyE;QACzE,YAAY,EAAE,mBAAmB,CAAA;KAClC;CACF;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;gBAEnD,GAAG,EAAE,OAAO;IAIxB,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,IAAI;IAI9C,uEAAuE;IACvE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInC,+BAA+B;IAC/B,OAAO,IAAI,MAAM,EAAE;IAInB,mFAAmF;IACnF,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIjC,8DAA8D;IAC9D,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI3E,4DAA4D;IAC5D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;IAIlG;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe;CAS3D;AAED,qDAAqD;AACrD,eAAO,MAAM,IAAI,kBAAkB,CAAA;AAEnC,kFAAkF;AAClF,eAAO,MAAM,MAAM,UAAS,CAAA;AAE5B,YAAY,EAAE,sBAAsB,EAAE,CAAA;AAkBtC;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAqBxC;AAED,eAAe,KAAK,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FS-shaped internal URL schemes for the read/grep/write tools: one resolver
|
|
3
|
+
* registry (`ctx.internalUrls`) under which protocol handlers register and
|
|
4
|
+
* dispatch `conflict://` / `pr://` / `issue://` reads and writes.
|
|
5
|
+
*
|
|
6
|
+
* Host-plane: the service crosses sessions, so this package mounts as a row in
|
|
7
|
+
* the base bundle — one registry per process, per-session state (the conflict
|
|
8
|
+
* history) keyed by session. The tool packages consume it with `ctx.get`.
|
|
9
|
+
* @module @hy-sde-org/dsh-internal-urls
|
|
10
|
+
*/
|
|
11
|
+
import { Service } from '@deepseek-ai/cordis';
|
|
12
|
+
import { ConflictHistory, ConflictProtocolHandler } from "./conflict.js";
|
|
13
|
+
import { defaultRepoFromCwd } from "./gh.js";
|
|
14
|
+
import { IssueProtocolHandler, PrProtocolHandler, gitHubCliOf } from "./issue-pr.js";
|
|
15
|
+
import { InternalUrlRouter } from "./router.js";
|
|
16
|
+
export * from "./types.js";
|
|
17
|
+
export * from "./parse.js";
|
|
18
|
+
export * from "./router.js";
|
|
19
|
+
export * from "./conflict.js";
|
|
20
|
+
export * from "./gh.js";
|
|
21
|
+
export * from "./issue-pr.js";
|
|
22
|
+
/**
|
|
23
|
+
* The public `ctx.internalUrls` service: the resolver registry plus per-session
|
|
24
|
+
* conflict histories the read tool populates and the conflict handler consumes.
|
|
25
|
+
*/
|
|
26
|
+
export class InternalUrlsService extends Service {
|
|
27
|
+
router = new InternalUrlRouter();
|
|
28
|
+
histories = new Map();
|
|
29
|
+
constructor(ctx) {
|
|
30
|
+
super(ctx, 'internalUrls');
|
|
31
|
+
}
|
|
32
|
+
/** Register (or replace) the handler for its scheme. Returns a disposer. */
|
|
33
|
+
register(handler) {
|
|
34
|
+
return this.router.register(handler);
|
|
35
|
+
}
|
|
36
|
+
/** Remove the handler for a scheme; false when none was registered. */
|
|
37
|
+
unregister(scheme) {
|
|
38
|
+
return this.router.unregister(scheme);
|
|
39
|
+
}
|
|
40
|
+
/** Every registered scheme. */
|
|
41
|
+
schemes() {
|
|
42
|
+
return this.router.schemes();
|
|
43
|
+
}
|
|
44
|
+
/** Whether `input` is a hierarchical `scheme://` URL with a registered handler. */
|
|
45
|
+
canHandle(input) {
|
|
46
|
+
return this.router.canHandle(input);
|
|
47
|
+
}
|
|
48
|
+
/** Resolve an internal URL through its registered handler. */
|
|
49
|
+
resolve(input, context) {
|
|
50
|
+
return this.router.resolve(input, context);
|
|
51
|
+
}
|
|
52
|
+
/** Write an internal URL through its registered handler. */
|
|
53
|
+
write(input, content, context) {
|
|
54
|
+
return this.router.write(input, content, context);
|
|
55
|
+
}
|
|
56
|
+
/** Candidate completions for `scheme://<query>`, or `null` when unsupported. */
|
|
57
|
+
complete(scheme, query, context) {
|
|
58
|
+
return this.router.complete(scheme, query, context);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The conflict history for one session (all calls sharing a key see the same
|
|
62
|
+
* history). Calls without a session key share a process-level history.
|
|
63
|
+
*/
|
|
64
|
+
conflicts(sessionKey) {
|
|
65
|
+
const key = sessionKey ?? '<no-session>';
|
|
66
|
+
let history = this.histories.get(key);
|
|
67
|
+
if (history === undefined) {
|
|
68
|
+
history = new ConflictHistory();
|
|
69
|
+
this.histories.set(key, history);
|
|
70
|
+
}
|
|
71
|
+
return history;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** Cordis plugin name used by loader diagnostics. */
|
|
75
|
+
export const name = 'internal-urls';
|
|
76
|
+
/** The plugin needs `ctx.fs` before the conflict handler's file bridge exists. */
|
|
77
|
+
export const inject = ['fs'];
|
|
78
|
+
/** Build the conflict handler's file bridge over the mounted `ctx.fs`. */
|
|
79
|
+
function conflictFileBridgeOf(ctx) {
|
|
80
|
+
return {
|
|
81
|
+
async readFile(absolutePath, signal) {
|
|
82
|
+
const target = await ctx.fs.resolve(absolutePath, signal !== undefined ? { signal } : undefined);
|
|
83
|
+
return ctx.fs.readText(target, signal);
|
|
84
|
+
},
|
|
85
|
+
async writeFile(absolutePath, content, signal, sandboxPolicy) {
|
|
86
|
+
const target = await ctx.fs.resolve(absolutePath, signal !== undefined ? { signal } : undefined);
|
|
87
|
+
// Forward the write tool's resolved policy so a `conflict://` mutation
|
|
88
|
+
// keeps the same confinement as a plain `write` of the backing file.
|
|
89
|
+
await ctx.fs.writeText(target, content, undefined, signal, sandboxPolicy);
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Register `ctx.internalUrls` and its shipped handlers (`conflict://`,
|
|
95
|
+
* `issue://`, `pr://`). Constructing the Service registers `ctx.internalUrls`
|
|
96
|
+
* for the mounting fiber; handler registrations are effects scoped to the same
|
|
97
|
+
* fiber, so stop/update removes every handler with it.
|
|
98
|
+
*/
|
|
99
|
+
export function apply(ctx) {
|
|
100
|
+
const disposers = [];
|
|
101
|
+
const service = new InternalUrlsService(ctx);
|
|
102
|
+
ctx.effect(() => {
|
|
103
|
+
return () => {
|
|
104
|
+
for (const dispose of disposers)
|
|
105
|
+
dispose();
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
disposers.push(service.register(new ConflictProtocolHandler({
|
|
109
|
+
historyFor: sessionKey => service.conflicts(sessionKey),
|
|
110
|
+
bridge: conflictFileBridgeOf(ctx),
|
|
111
|
+
})));
|
|
112
|
+
const cli = gitHubCliOf(ctx);
|
|
113
|
+
const ghDeps = {
|
|
114
|
+
cli,
|
|
115
|
+
defaultRepo: (cwd, signal) => defaultRepoFromCwd(ctx, cwd, signal),
|
|
116
|
+
};
|
|
117
|
+
disposers.push(service.register(new IssueProtocolHandler(ghDeps)));
|
|
118
|
+
disposers.push(service.register(new PrProtocolHandler(ghDeps)));
|
|
119
|
+
}
|
|
120
|
+
export default apply;
|
|
121
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package-owned invariant companion for `@hy-sde-org/dsh-internal-urls`.
|
|
3
|
+
* @module @hy-sde-org/dsh-internal-urls/invariant
|
|
4
|
+
*/
|
|
5
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
6
|
+
/** Cordis companion plugin name. */
|
|
7
|
+
export declare const name = "internal-urls-invariant";
|
|
8
|
+
/** Service required before the companion can reserve package ownership. */
|
|
9
|
+
export declare const inject: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Register this package's invariant companion.
|
|
12
|
+
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
+
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
+
*/
|
|
15
|
+
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
+
//# sourceMappingURL=invariant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../src/invariant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,oCAAoC;AACpC,eAAO,MAAM,IAAI,4BAA4B,CAAA;AAC7C,2EAA2E;AAC3E,eAAO,MAAM,MAAM,UAAiB,CAAA;AAYpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,OAAO,KAAG,OAAO,CAAC,MAAM,IAAI,CACU,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package-owned invariant companion for `@hy-sde-org/dsh-internal-urls`.
|
|
3
|
+
* @module @hy-sde-org/dsh-internal-urls/invariant
|
|
4
|
+
*/
|
|
5
|
+
const PACKAGE_NAME = '@hy-sde-org/dsh-internal-urls';
|
|
6
|
+
/** Cordis companion plugin name. */
|
|
7
|
+
export const name = 'internal-urls-invariant';
|
|
8
|
+
/** Service required before the companion can reserve package ownership. */
|
|
9
|
+
export const inject = ['invariants'];
|
|
10
|
+
/**
|
|
11
|
+
* No runtime event invariant: the router validates handlers at registration
|
|
12
|
+
* time (scheme shape, single handler per scheme), and every resolution result
|
|
13
|
+
* passes through the router which stamps immutability. The conflict history is
|
|
14
|
+
* session-scoped mutable state that the read/write tools verify against the
|
|
15
|
+
* file contents before every splice, so no global event carries opaque data
|
|
16
|
+
* worth asserting here.
|
|
17
|
+
*/
|
|
18
|
+
const install = () => { };
|
|
19
|
+
/**
|
|
20
|
+
* Register this package's invariant companion.
|
|
21
|
+
* @param ctx - Cordis context carrying the invariant service.
|
|
22
|
+
* @returns the installed registration's disposer after setup succeeds.
|
|
23
|
+
*/
|
|
24
|
+
export const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
25
|
+
/* jscpd:ignore-end */
|
|
26
|
+
//# sourceMappingURL=invariant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invariant.js","sourceRoot":"","sources":["../src/invariant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,YAAY,GAAG,+BAA+B,CAAA;AAEpD,oCAAoC;AACpC,MAAM,CAAC,MAAM,IAAI,GAAG,yBAAyB,CAAA;AAC7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,CAAA;AAEpC;;;;;;;GAOG;AACH,MAAM,OAAO,GAAuB,GAAG,EAAE,GAAE,CAAC,CAAA;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAY,EAAuB,EAAE,CACzD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,sBAAsB"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub-as-filesystem: `issue://` and `pr://` protocol handlers that resolve
|
|
3
|
+
* through the `gh` CLI so read/grep can consume issues, pull requests, and PR
|
|
4
|
+
* diffs without tool sprawl. Ported in shape from oh-my-pi
|
|
5
|
+
* (`packages/coding-agent/src/internal-urls/issue-pr-protocol.ts`), MIT; the
|
|
6
|
+
* fetching layer is injectable for tests.
|
|
7
|
+
*
|
|
8
|
+
* URL shapes:
|
|
9
|
+
* - `issue://` / `pr://` — list recent items in the caller's default repo.
|
|
10
|
+
* - `issue://owner/repo` / `pr://owner/repo` — list a specific repo.
|
|
11
|
+
* - `issue://123` / `pr://123` — single item; repo derived from the session cwd.
|
|
12
|
+
* - `issue://owner/repo/123` / `pr://owner/repo/123` — fully qualified.
|
|
13
|
+
* - `issue://…?comments=0` — suppress comments.
|
|
14
|
+
* - `issue://owner/repo?state=closed&limit=20` — list options pass through to `gh`.
|
|
15
|
+
* - `pr://N/diff` — changed-file listing; `pr://N/diff/all` — full unified diff;
|
|
16
|
+
* `pr://N/diff/<i>` — one file's diff chunk (and the repo-qualified variants).
|
|
17
|
+
* @module @hy-sde-org/dsh-internal-urls/issue-pr
|
|
18
|
+
*/
|
|
19
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
20
|
+
import type { InternalResource, ParsedInternalUrl, ProtocolHandler, ResolveContext } from './types.ts';
|
|
21
|
+
/** The `gh` surface a handler needs; injectable so tests never hit the CLI. */
|
|
22
|
+
export interface GitHubCli {
|
|
23
|
+
/** Run a `gh … --json …` command and return the parsed JSON payload. */
|
|
24
|
+
json(cwd: string, args: readonly string[], signal: AbortSignal | undefined): Promise<unknown>;
|
|
25
|
+
/** Run a `gh …` text command and return complete stdout. */
|
|
26
|
+
output(cwd: string, args: readonly string[], signal: AbortSignal | undefined): Promise<string>;
|
|
27
|
+
}
|
|
28
|
+
/** The concrete `gh` runner bound to a plugin context. */
|
|
29
|
+
export declare function gitHubCliOf(ctx: Context): GitHubCli;
|
|
30
|
+
type Scheme = 'issue' | 'pr';
|
|
31
|
+
interface ParsedSingle {
|
|
32
|
+
kind: 'single';
|
|
33
|
+
repo?: string;
|
|
34
|
+
number: number;
|
|
35
|
+
comments: boolean;
|
|
36
|
+
}
|
|
37
|
+
interface ParsedPrDiff {
|
|
38
|
+
kind: 'pr-diff';
|
|
39
|
+
repo?: string;
|
|
40
|
+
number: number;
|
|
41
|
+
/** `list` → enumerate changed files; `all` → full unified diff; `slice` → one file's diff section. */
|
|
42
|
+
mode: 'list' | 'all' | 'slice';
|
|
43
|
+
index?: number;
|
|
44
|
+
}
|
|
45
|
+
interface ParsedList {
|
|
46
|
+
kind: 'list';
|
|
47
|
+
repo?: string;
|
|
48
|
+
state: string;
|
|
49
|
+
limit: number;
|
|
50
|
+
author: string | undefined;
|
|
51
|
+
label: string | undefined;
|
|
52
|
+
}
|
|
53
|
+
type Parsed = ParsedSingle | ParsedList | ParsedPrDiff;
|
|
54
|
+
/**
|
|
55
|
+
* Parse an `issue://`/`pr://` URL into the union shape. Pure and exported for tests.
|
|
56
|
+
*/
|
|
57
|
+
export declare function parseIssuePrUrl(url: ParsedInternalUrl, scheme: Scheme): Parsed;
|
|
58
|
+
/** One changed file inside a `gh pr diff` payload (unified text slice). */
|
|
59
|
+
interface PrDiffFile {
|
|
60
|
+
path: string;
|
|
61
|
+
oldPath?: string;
|
|
62
|
+
additions: number;
|
|
63
|
+
deletions: number;
|
|
64
|
+
changeType: string;
|
|
65
|
+
startOffset: number;
|
|
66
|
+
endOffset: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Split a complete `gh pr diff` unified text into per-file chunks by scanning
|
|
70
|
+
* `diff --git a/… b/…` headers. Additions/deletions are counted from the hunk
|
|
71
|
+
* body lines themselves (`+`/`-` prefixes inside hunks only), so the scan is
|
|
72
|
+
* single-pass and precise. Pure and exported for tests.
|
|
73
|
+
*/
|
|
74
|
+
export declare function splitPrDiff(unified: string): PrDiffFile[];
|
|
75
|
+
interface HandlerDeps {
|
|
76
|
+
cli: GitHubCli;
|
|
77
|
+
defaultRepo: (cwd: string, signal: AbortSignal | undefined) => Promise<string | undefined>;
|
|
78
|
+
}
|
|
79
|
+
/** Handler for `issue://` URLs. Immutable — issues are read-only surfaces. */
|
|
80
|
+
export declare class IssueProtocolHandler implements ProtocolHandler {
|
|
81
|
+
private readonly deps;
|
|
82
|
+
readonly scheme = "issue";
|
|
83
|
+
readonly immutable = true;
|
|
84
|
+
constructor(deps: HandlerDeps);
|
|
85
|
+
resolve(url: ParsedInternalUrl, context?: ResolveContext): Promise<InternalResource>;
|
|
86
|
+
}
|
|
87
|
+
/** Handler for `pr://` URLs, including the diff family. Immutable. */
|
|
88
|
+
export declare class PrProtocolHandler implements ProtocolHandler {
|
|
89
|
+
private readonly deps;
|
|
90
|
+
readonly scheme = "pr";
|
|
91
|
+
readonly immutable = true;
|
|
92
|
+
constructor(deps: HandlerDeps);
|
|
93
|
+
resolve(url: ParsedInternalUrl, context?: ResolveContext): Promise<InternalResource>;
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=issue-pr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-pr.d.ts","sourceRoot":"","sources":["../src/issue-pr.ts"],"names":[],"mappings":"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"}
|