@codetreker/daynight 0.2.4 → 0.6.1
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/dist/api/client.d.ts +43 -0
- package/dist/api/client.js +285 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.js +5 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/json.d.ts +3 -0
- package/dist/api/json.js +25 -0
- package/dist/api/json.js.map +1 -0
- package/dist/api/operation.d.ts +23 -0
- package/dist/api/operation.js +78 -0
- package/dist/api/operation.js.map +1 -0
- package/dist/api/parse.d.ts +12 -0
- package/dist/api/parse.js +160 -0
- package/dist/api/parse.js.map +1 -0
- package/dist/api/types.d.ts +75 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cli/application.d.ts +3 -0
- package/dist/cli/application.js +31 -0
- package/dist/cli/application.js.map +1 -0
- package/dist/cli/commands.d.ts +7 -0
- package/dist/cli/commands.js +38 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/context.d.ts +17 -0
- package/dist/cli/context.js +19 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/schema.d.ts +52 -0
- package/dist/cli/schema.js +108 -0
- package/dist/cli/schema.js.map +1 -0
- package/dist/commands/completion/bash.d.ts +2 -0
- package/dist/commands/completion/bash.js +272 -0
- package/dist/commands/completion/bash.js.map +1 -0
- package/dist/commands/completion/command.d.ts +2 -0
- package/dist/commands/completion/command.js +20 -0
- package/dist/commands/completion/command.js.map +1 -0
- package/dist/commands/completion/definition.d.ts +2 -0
- package/dist/commands/completion/definition.js +8 -0
- package/dist/commands/completion/definition.js.map +1 -0
- package/dist/commands/completion/zsh.d.ts +2 -0
- package/dist/commands/completion/zsh.js +136 -0
- package/dist/commands/completion/zsh.js.map +1 -0
- package/dist/commands/project/command.d.ts +6 -0
- package/dist/commands/project/command.js +39 -0
- package/dist/commands/project/command.js.map +1 -0
- package/dist/commands/project/definition.d.ts +2 -0
- package/dist/commands/project/definition.js +34 -0
- package/dist/commands/project/definition.js.map +1 -0
- package/dist/commands/project/rendering.d.ts +4 -0
- package/dist/commands/project/rendering.js +17 -0
- package/dist/commands/project/rendering.js.map +1 -0
- package/dist/{copilot.d.ts → commands/review/adapters/copilot.d.ts} +20 -12
- package/dist/commands/review/adapters/copilot.js +360 -0
- package/dist/commands/review/adapters/copilot.js.map +1 -0
- package/dist/{github.d.ts → commands/review/adapters/github.d.ts} +2 -19
- package/dist/{github.js → commands/review/adapters/github.js} +0 -43
- package/dist/commands/review/adapters/github.js.map +1 -0
- package/dist/{git.d.ts → commands/review/adapters/worktrees.d.ts} +3 -2
- package/dist/{git.js → commands/review/adapters/worktrees.js} +3 -3
- package/dist/commands/review/adapters/worktrees.js.map +1 -0
- package/dist/commands/review/command.d.ts +11 -0
- package/dist/commands/review/command.js +42 -0
- package/dist/commands/review/command.js.map +1 -0
- package/dist/{config.d.ts → commands/review/config.d.ts} +8 -8
- package/dist/{config.js → commands/review/config.js} +25 -44
- package/dist/commands/review/config.js.map +1 -0
- package/dist/{coordinator.d.ts → commands/review/coordinator.d.ts} +8 -7
- package/dist/{coordinator.js → commands/review/coordinator.js} +8 -3
- package/dist/commands/review/coordinator.js.map +1 -0
- package/dist/commands/review/definition.d.ts +2 -0
- package/dist/commands/review/definition.js +33 -0
- package/dist/commands/review/definition.js.map +1 -0
- package/dist/commands/review/instance-lock.js.map +1 -0
- package/dist/commands/review/listing.d.ts +5 -0
- package/dist/{review-list.js → commands/review/listing.js} +3 -9
- package/dist/commands/review/listing.js.map +1 -0
- package/dist/commands/review/model.d.ts +79 -0
- package/dist/commands/review/model.js +2 -0
- package/dist/commands/review/model.js.map +1 -0
- package/dist/commands/review/paths.d.ts +11 -0
- package/dist/commands/review/paths.js +16 -0
- package/dist/commands/review/paths.js.map +1 -0
- package/dist/commands/review/polling.d.ts +21 -0
- package/dist/commands/review/polling.js +44 -0
- package/dist/commands/review/polling.js.map +1 -0
- package/dist/{processes.d.ts → commands/review/processes.d.ts} +3 -3
- package/dist/commands/review/processes.js.map +1 -0
- package/dist/{repositories.d.ts → commands/review/repositories.d.ts} +2 -2
- package/dist/commands/review/repositories.js +70 -0
- package/dist/commands/review/repositories.js.map +1 -0
- package/dist/{runtime.d.ts → commands/review/runtime.d.ts} +9 -6
- package/dist/{runtime.js → commands/review/runtime.js} +11 -8
- package/dist/commands/review/runtime.js.map +1 -0
- package/dist/commands/review/skill.d.ts +11 -0
- package/dist/commands/review/skill.js +242 -0
- package/dist/commands/review/skill.js.map +1 -0
- package/dist/commands/review/skills/daynight-review/SKILL.md +63 -0
- package/dist/{store.d.ts → commands/review/store.d.ts} +5 -79
- package/dist/{store.js → commands/review/store.js} +8 -0
- package/dist/commands/review/store.js.map +1 -0
- package/dist/commands/server/runtime.d.ts +16 -0
- package/dist/commands/server/runtime.js +52 -0
- package/dist/commands/server/runtime.js.map +1 -0
- package/dist/commands/task/command.d.ts +8 -0
- package/dist/commands/task/command.js +106 -0
- package/dist/commands/task/command.js.map +1 -0
- package/dist/commands/task/definition.d.ts +2 -0
- package/dist/commands/task/definition.js +50 -0
- package/dist/commands/task/definition.js.map +1 -0
- package/dist/commands/task/rendering.d.ts +5 -0
- package/dist/commands/task/rendering.js +49 -0
- package/dist/commands/task/rendering.js.map +1 -0
- package/dist/commands/update/command.d.ts +6 -0
- package/dist/commands/update/command.js +23 -0
- package/dist/commands/update/command.js.map +1 -0
- package/dist/commands/update/definition.d.ts +2 -0
- package/dist/commands/update/definition.js +7 -0
- package/dist/commands/update/definition.js.map +1 -0
- package/dist/{update.d.ts → commands/update/updater.d.ts} +2 -2
- package/dist/{update.js → commands/update/updater.js} +3 -3
- package/dist/commands/update/updater.js.map +1 -0
- package/dist/config/document.d.ts +9 -0
- package/dist/config/document.js +45 -0
- package/dist/config/document.js.map +1 -0
- package/dist/config/files.d.ts +7 -0
- package/dist/config/files.js +69 -0
- package/dist/config/files.js.map +1 -0
- package/dist/config/paths.d.ts +6 -0
- package/dist/config/paths.js +9 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/server.d.ts +7 -0
- package/dist/config/server.js +34 -0
- package/dist/config/server.js.map +1 -0
- package/dist/main.js +6 -2
- package/dist/main.js.map +1 -1
- package/dist/platform/diagnostics.js.map +1 -0
- package/dist/platform/files.d.ts +1 -0
- package/dist/platform/files.js +48 -0
- package/dist/platform/files.js.map +1 -0
- package/dist/{paths.d.ts → platform/filesystem.d.ts} +0 -11
- package/dist/{paths.js → platform/filesystem.js} +1 -17
- package/dist/platform/filesystem.js.map +1 -0
- package/dist/platform/terminal.d.ts +1 -0
- package/dist/platform/terminal.js +10 -0
- package/dist/platform/terminal.js.map +1 -0
- package/dist/platform/text.d.ts +2 -0
- package/dist/platform/text.js +3 -0
- package/dist/platform/text.js.map +1 -0
- package/dist/repository/binding.d.ts +21 -0
- package/dist/repository/binding.js +242 -0
- package/dist/repository/binding.js.map +1 -0
- package/dist/repository/context.d.ts +10 -0
- package/dist/repository/context.js +32 -0
- package/dist/repository/context.js.map +1 -0
- package/dist/repository/git.d.ts +20 -0
- package/dist/repository/git.js +213 -0
- package/dist/repository/git.js.map +1 -0
- package/dist/repository/identity.d.ts +5 -0
- package/dist/repository/identity.js +154 -0
- package/dist/repository/identity.js.map +1 -0
- package/dist/repository/index.d.ts +4 -0
- package/dist/repository/index.js +3 -0
- package/dist/repository/index.js.map +1 -0
- package/package.json +6 -5
- package/dist/cli.d.ts +0 -19
- package/dist/cli.js +0 -202
- package/dist/cli.js.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/coordinator.js.map +0 -1
- package/dist/copilot.js +0 -263
- package/dist/copilot.js.map +0 -1
- package/dist/diagnostics.js.map +0 -1
- package/dist/git.js.map +0 -1
- package/dist/github.js.map +0 -1
- package/dist/instance-lock.js.map +0 -1
- package/dist/paths.js.map +0 -1
- package/dist/processes.js.map +0 -1
- package/dist/repositories.js +0 -159
- package/dist/repositories.js.map +0 -1
- package/dist/review-list.d.ts +0 -5
- package/dist/review-list.js.map +0 -1
- package/dist/runtime.js.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/update.js.map +0 -1
- /package/dist/{instance-lock.d.ts → commands/review/instance-lock.d.ts} +0 -0
- /package/dist/{instance-lock.js → commands/review/instance-lock.js} +0 -0
- /package/dist/{processes.js → commands/review/processes.js} +0 -0
- /package/dist/{diagnostics.d.ts → platform/diagnostics.d.ts} +0 -0
- /package/dist/{diagnostics.js → platform/diagnostics.js} +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export type RepositoryIdentity = {
|
|
2
|
+
host: string;
|
|
3
|
+
githubId: string;
|
|
4
|
+
};
|
|
5
|
+
export type PullRequestIdentity = RepositoryIdentity & {
|
|
6
|
+
number: number;
|
|
7
|
+
};
|
|
8
|
+
export type RepositoryState = RepositoryIdentity & {
|
|
9
|
+
remote: string;
|
|
10
|
+
localPath: string;
|
|
11
|
+
startPrNumber: number | null;
|
|
12
|
+
initializedAt: number | null;
|
|
13
|
+
lastPollAt: number | null;
|
|
14
|
+
lastPollError: string | null;
|
|
15
|
+
};
|
|
16
|
+
export type PullRequestObservation = {
|
|
17
|
+
number: number;
|
|
18
|
+
state: "open" | "closed" | "merged";
|
|
19
|
+
draft: boolean;
|
|
20
|
+
headSha: string;
|
|
21
|
+
baseRef: string;
|
|
22
|
+
baseSha: string;
|
|
23
|
+
};
|
|
24
|
+
export type RepositoryPollUpdate = {
|
|
25
|
+
kind: "initialize";
|
|
26
|
+
startPrNumber: number;
|
|
27
|
+
} | {
|
|
28
|
+
kind: "snapshot";
|
|
29
|
+
observations: readonly PullRequestObservation[];
|
|
30
|
+
};
|
|
31
|
+
export type PullRequestState = PullRequestIdentity & Omit<PullRequestObservation, "number"> & {
|
|
32
|
+
desiredRevision: number;
|
|
33
|
+
completedRevision: number;
|
|
34
|
+
sessionId: string | null;
|
|
35
|
+
sessionEstablished: boolean;
|
|
36
|
+
worktreePath: string | null;
|
|
37
|
+
cleanupPending: boolean;
|
|
38
|
+
cleanupError: string | null;
|
|
39
|
+
observedAt: number;
|
|
40
|
+
};
|
|
41
|
+
export type ReviewStatus = "preparing" | "running" | "retry_wait" | "completed" | "failed" | "interrupted" | "superseded";
|
|
42
|
+
export type ReviewState = PullRequestIdentity & {
|
|
43
|
+
id: string;
|
|
44
|
+
revision: number;
|
|
45
|
+
headSha: string;
|
|
46
|
+
baseRef: string;
|
|
47
|
+
baseSha: string | null;
|
|
48
|
+
status: ReviewStatus;
|
|
49
|
+
attemptCount: number;
|
|
50
|
+
maxAttempts: number;
|
|
51
|
+
retryAt: number | null;
|
|
52
|
+
processOwner: string | null;
|
|
53
|
+
processId: number | null;
|
|
54
|
+
processIdentity: string | null;
|
|
55
|
+
stdoutLogPath: string | null;
|
|
56
|
+
stderrLogPath: string | null;
|
|
57
|
+
lastError: string | null;
|
|
58
|
+
createdAt: number;
|
|
59
|
+
updatedAt: number;
|
|
60
|
+
};
|
|
61
|
+
export type ReviewCandidate = {
|
|
62
|
+
pullRequest: PullRequestState;
|
|
63
|
+
review: ReviewState | null;
|
|
64
|
+
};
|
|
65
|
+
export type ReviewListingSnapshot = {
|
|
66
|
+
repositories: RepositoryState[];
|
|
67
|
+
pullRequests: PullRequestState[];
|
|
68
|
+
reviews: ReviewState[];
|
|
69
|
+
};
|
|
70
|
+
export type AttemptIdentity = {
|
|
71
|
+
reviewId: string;
|
|
72
|
+
attempt: number;
|
|
73
|
+
};
|
|
74
|
+
export type OperationsStopped = {
|
|
75
|
+
operationsStopped: true;
|
|
76
|
+
};
|
|
77
|
+
export type ProcessesExcluded = {
|
|
78
|
+
processesExcluded: true;
|
|
79
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/commands/review/model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ConfigurationPaths } from "../../config/paths.js";
|
|
2
|
+
import type { PathApi } from "../../platform/filesystem.js";
|
|
3
|
+
export type ReviewPaths = ConfigurationPaths & {
|
|
4
|
+
databaseFile: string;
|
|
5
|
+
lockFile: string;
|
|
6
|
+
copilotDirectory: string;
|
|
7
|
+
cacheDirectory: string;
|
|
8
|
+
temporaryDirectory: string;
|
|
9
|
+
logsDirectory: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const resolveReviewPaths: (homeDirectory: string, pathApi?: PathApi) => ReviewPaths;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { resolveConfigurationPaths } from "../../config/paths.js";
|
|
3
|
+
export const resolveReviewPaths = (homeDirectory, pathApi = path) => {
|
|
4
|
+
const configurationPaths = resolveConfigurationPaths(homeDirectory, pathApi);
|
|
5
|
+
const { stateDirectory } = configurationPaths;
|
|
6
|
+
return {
|
|
7
|
+
...configurationPaths,
|
|
8
|
+
databaseFile: pathApi.join(stateDirectory, "state.sqlite"),
|
|
9
|
+
lockFile: pathApi.join(stateDirectory, "instance.lock"),
|
|
10
|
+
copilotDirectory: pathApi.join(stateDirectory, "copilot"),
|
|
11
|
+
cacheDirectory: pathApi.join(stateDirectory, "cache"),
|
|
12
|
+
temporaryDirectory: pathApi.join(stateDirectory, "tmp"),
|
|
13
|
+
logsDirectory: pathApi.join(stateDirectory, "logs"),
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/commands/review/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAalE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,aAAqB,EACrB,OAAO,GAAY,IAAI,EACV,EAAE;IACf,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,EAAE,cAAc,EAAE,GAAG,kBAAkB,CAAC;IAC9C,OAAO;QACL,GAAG,kBAAkB;QACrB,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC;QAC1D,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC;QACvD,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;QACzD,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;QACrD,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC;QACvD,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;KACpD,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RepositoryConfiguration } from "./config.js";
|
|
2
|
+
import type { GitHubClient } from "./adapters/github.js";
|
|
3
|
+
import type { RepositoryState } from "./model.js";
|
|
4
|
+
import type { Store } from "./store.js";
|
|
5
|
+
export declare const pollRepository: (store: Store, configuration: RepositoryConfiguration, client: GitHubClient, options: {
|
|
6
|
+
now: () => number;
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
}) => Promise<RepositoryState>;
|
|
9
|
+
export type RepositoryPollResult = {
|
|
10
|
+
configuration: RepositoryConfiguration;
|
|
11
|
+
ok: true;
|
|
12
|
+
repository: RepositoryState;
|
|
13
|
+
} | {
|
|
14
|
+
configuration: RepositoryConfiguration;
|
|
15
|
+
ok: false;
|
|
16
|
+
error: unknown;
|
|
17
|
+
};
|
|
18
|
+
export declare const pollRepositories: (store: Store, configurations: readonly RepositoryConfiguration[], client: GitHubClient, options: {
|
|
19
|
+
now: () => number;
|
|
20
|
+
signal?: AbortSignal;
|
|
21
|
+
}) => Promise<RepositoryPollResult[]>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export const pollRepository = async (store, configuration, client, options) => {
|
|
2
|
+
let identity = null;
|
|
3
|
+
try {
|
|
4
|
+
const repository = await client.resolveRepository(configuration, options.signal);
|
|
5
|
+
identity = repository;
|
|
6
|
+
const registered = store.registerRepository({ ...repository, remote: configuration.remote, localPath: configuration.path });
|
|
7
|
+
if (registered.startPrNumber === null) {
|
|
8
|
+
const numbers = await client.listPullRequestNumbers(repository, options.signal);
|
|
9
|
+
const startPrNumber = numbers.reduce((maximum, number) => Math.max(maximum, number), 0);
|
|
10
|
+
return store.applyRepositoryPoll(repository, { kind: "initialize", startPrNumber }, options.now());
|
|
11
|
+
}
|
|
12
|
+
const observations = await client.listOpenPullRequests(repository, registered.startPrNumber, options.signal);
|
|
13
|
+
const observed = new Set(observations.map((item) => item.number));
|
|
14
|
+
for (const previous of store.listPullRequests(repository)) {
|
|
15
|
+
if (previous.state === "open" && !observed.has(previous.number))
|
|
16
|
+
observations.push(await client.getPullRequest(repository, previous.number, options.signal));
|
|
17
|
+
}
|
|
18
|
+
return store.applyRepositoryPoll(repository, { kind: "snapshot", observations }, options.now());
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
if (identity !== null) {
|
|
22
|
+
try {
|
|
23
|
+
store.recordPollError(identity, error instanceof Error ? error.message : String(error));
|
|
24
|
+
}
|
|
25
|
+
catch (recordError) {
|
|
26
|
+
throw new AggregateError([error, recordError], `GitHub polling and error persistence failed for ${configuration.coordinate}.`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export const pollRepositories = async (store, configurations, client, options) => {
|
|
33
|
+
const results = [];
|
|
34
|
+
for (const configuration of configurations) {
|
|
35
|
+
try {
|
|
36
|
+
results.push({ configuration, ok: true, repository: await pollRepository(store, configuration, client, options) });
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
results.push({ configuration, ok: false, error });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return results;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=polling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../src/commands/review/polling.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,KAAY,EACZ,aAAsC,EACtC,MAAoB,EACpB,OAAoD,EAC1B,EAAE;IAC5B,IAAI,QAAQ,GAA8B,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjF,QAAQ,GAAG,UAAU,CAAC;QACtB,MAAM,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5H,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAChF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7G,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/J,CAAC;QACD,OAAO,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC;gBAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACpH,MAAM,IAAI,cAAc,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,mDAAmD,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC;YACjI,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,KAAY,EACZ,cAAkD,EAClD,MAAoB,EACpB,OAAoD,EACnB,EAAE;IACnC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAC3H,OAAO,KAAK,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ChildProcess } from "node:child_process";
|
|
2
|
-
import type {
|
|
3
|
-
import type { AttemptIdentity, ReviewState } from "./
|
|
2
|
+
import type { CopilotProcessOutcome } from "./adapters/copilot.js";
|
|
3
|
+
import type { AttemptIdentity, ReviewState } from "./model.js";
|
|
4
4
|
export declare const processGroupIsExecuting: (pid: number, operations: {
|
|
5
5
|
probe: (pid: number) => void;
|
|
6
6
|
readStatus: () => Promise<string>;
|
|
@@ -12,7 +12,7 @@ export declare const createProcessSupervisor: (options?: {
|
|
|
12
12
|
}) => {
|
|
13
13
|
onProcess: (child: ChildProcess, attempt: AttemptIdentity) => void;
|
|
14
14
|
stop: (child: ChildProcess, attempt: AttemptIdentity) => Promise<void>;
|
|
15
|
-
exclude: (review: ReviewState, outcome?:
|
|
15
|
+
exclude: (review: ReviewState, outcome?: CopilotProcessOutcome) => Promise<{
|
|
16
16
|
processesExcluded: true;
|
|
17
17
|
}>;
|
|
18
18
|
recover: (_review?: ReviewState) => Promise<{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processes.js","sourceRoot":"","sources":["../../../src/commands/review/processes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RepositoryConfiguration } from "./config.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ReviewPaths } from "./paths.js";
|
|
3
3
|
export type AddRepositoryInput = {
|
|
4
4
|
remote: string;
|
|
5
5
|
path?: string;
|
|
@@ -12,4 +12,4 @@ export type AddRepositoryResult = {
|
|
|
12
12
|
repository: RepositoryConfiguration;
|
|
13
13
|
added: boolean;
|
|
14
14
|
};
|
|
15
|
-
export declare const addRepository: (input: AddRepositoryInput, runtimePaths:
|
|
15
|
+
export declare const addRepository: (input: AddRepositoryInput, runtimePaths: ReviewPaths, options: AddRepositoryOptions) => Promise<AddRepositoryResult>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { Document } from "yaml";
|
|
3
|
+
import { parseConfigurationDocument } from "../../config/document.js";
|
|
4
|
+
import { updateConfigurationFile } from "../../config/files.js";
|
|
5
|
+
import { defaultRepositoryRoot, remoteIdentity, resolveRepositoryRoot, validateConfigurationSource, validateRegistrationConfigurationSource } from "./config.js";
|
|
6
|
+
import { missingPathsReferToSameDirectory, resolvePhysicalDirectory } from "../../platform/filesystem.js";
|
|
7
|
+
const repositoryPathComponent = (component) => {
|
|
8
|
+
let escaped = component.replace(/[<>:"/\\|?*]/g, (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`)
|
|
9
|
+
.replace(/\.+$/, (dots) => "%2E".repeat(dots.length));
|
|
10
|
+
if (/^(?:con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(escaped)) {
|
|
11
|
+
escaped = `%${escaped.charCodeAt(0).toString(16).toUpperCase()}${escaped.slice(1)}`;
|
|
12
|
+
}
|
|
13
|
+
return escaped;
|
|
14
|
+
};
|
|
15
|
+
const sameDirectory = async (first, second) => {
|
|
16
|
+
const [left, right] = await Promise.all([resolvePhysicalDirectory(first), resolvePhysicalDirectory(second)]);
|
|
17
|
+
if (left.ancestorIdentity !== right.ancestorIdentity || left.missingComponents.length !== right.missingComponents.length) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return left.missingComponents.every((component, index) => component === right.missingComponents[index]) ||
|
|
21
|
+
missingPathsReferToSameDirectory(left.ancestorPath, left.missingComponents, right.missingComponents);
|
|
22
|
+
};
|
|
23
|
+
const updateConfiguration = async (source, input, runtimePaths, options) => {
|
|
24
|
+
const existing = source === undefined ? undefined : await validateRegistrationConfigurationSource(source, runtimePaths);
|
|
25
|
+
const document = source === undefined ? new Document({ repositoryRoot: defaultRepositoryRoot, repositories: [] }) : parseConfigurationDocument(source, runtimePaths).document;
|
|
26
|
+
const decoded = document.toJS();
|
|
27
|
+
const root = document.has("repositoryRoot") ? decoded.repositoryRoot : defaultRepositoryRoot;
|
|
28
|
+
const identity = remoteIdentity(input.remote, "remote");
|
|
29
|
+
const previous = existing?.repositories.find((repository) => repository.coordinate === identity.coordinate);
|
|
30
|
+
if (previous !== undefined && input.path === undefined) {
|
|
31
|
+
return { result: { repository: previous, added: false } };
|
|
32
|
+
}
|
|
33
|
+
let repositoryPath;
|
|
34
|
+
if (input.path === undefined) {
|
|
35
|
+
repositoryPath = path.join(resolveRepositoryRoot(root, runtimePaths, options.homeDirectory), ...[identity.host, identity.owner, identity.name].map(repositoryPathComponent));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
if (input.path.trim() === "" || input.path.includes("\0") || input.path.startsWith("~")) {
|
|
39
|
+
throw new Error("path must be a nonempty absolute path or working-directory-relative path without NUL characters; expand ~ before passing --path.");
|
|
40
|
+
}
|
|
41
|
+
if (path.sep === "\\" && /^[a-z]:(?![\\/])/i.test(input.path)) {
|
|
42
|
+
throw new Error("path must not use a drive-relative Windows path.");
|
|
43
|
+
}
|
|
44
|
+
repositoryPath = path.resolve(options.workingDirectory, input.path);
|
|
45
|
+
}
|
|
46
|
+
if (previous !== undefined) {
|
|
47
|
+
if (await sameDirectory(previous.path, repositoryPath)) {
|
|
48
|
+
return { result: { repository: previous, added: false } };
|
|
49
|
+
}
|
|
50
|
+
throw new Error(`Repository ${identity.coordinate} is already configured at ${previous.path}; the requested path ${repositoryPath} differs.`);
|
|
51
|
+
}
|
|
52
|
+
if (!document.has("repositoryRoot")) {
|
|
53
|
+
document.set("repositoryRoot", defaultRepositoryRoot);
|
|
54
|
+
}
|
|
55
|
+
if (!document.has("repositories")) {
|
|
56
|
+
document.set("repositories", document.createNode([]));
|
|
57
|
+
}
|
|
58
|
+
document.addIn(["repositories"], { remote: input.remote, path: repositoryPath });
|
|
59
|
+
const updatedSource = document.toString();
|
|
60
|
+
const configuration = await validateConfigurationSource(updatedSource, runtimePaths);
|
|
61
|
+
const repository = configuration.repositories.at(-1);
|
|
62
|
+
return { result: { repository, added: true }, source: updatedSource };
|
|
63
|
+
};
|
|
64
|
+
export const addRepository = async (input, runtimePaths, options) => {
|
|
65
|
+
if (!path.isAbsolute(options.workingDirectory) || !path.isAbsolute(options.homeDirectory)) {
|
|
66
|
+
throw new Error("The working directory and home directory must be absolute paths.");
|
|
67
|
+
}
|
|
68
|
+
return updateConfigurationFile(runtimePaths, (source) => updateConfiguration(source, input, runtimePaths, options));
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=repositories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../../src/commands/review/repositories.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { createCopilotRunner } from "./copilot.js";
|
|
1
|
+
import { createCopilotRunner } from "./adapters/copilot.js";
|
|
2
2
|
import { runCoordinator } from "./coordinator.js";
|
|
3
|
-
import { createGitManager } from "./
|
|
4
|
-
import { createGitHubClient } from "./github.js";
|
|
3
|
+
import { createGitManager } from "./adapters/worktrees.js";
|
|
4
|
+
import { createGitHubClient } from "./adapters/github.js";
|
|
5
5
|
import { createProcessSupervisor } from "./processes.js";
|
|
6
6
|
import { openStore } from "./store.js";
|
|
7
|
-
import
|
|
7
|
+
import { prepareReviewSkill } from "./skill.js";
|
|
8
|
+
import type { ReviewConfiguration } from "./config.js";
|
|
8
9
|
import type { CoordinatorEvent } from "./coordinator.js";
|
|
9
|
-
import type {
|
|
10
|
+
import type { ReviewPaths } from "./paths.js";
|
|
10
11
|
export { acquireInstanceLock } from "./instance-lock.js";
|
|
11
12
|
export type RuntimeDependencies = {
|
|
13
|
+
prepareSkill: typeof prepareReviewSkill;
|
|
12
14
|
openStore: typeof openStore;
|
|
13
15
|
createClient: typeof createGitHubClient;
|
|
14
16
|
createGit: typeof createGitManager;
|
|
@@ -17,7 +19,8 @@ export type RuntimeDependencies = {
|
|
|
17
19
|
coordinate: typeof runCoordinator;
|
|
18
20
|
};
|
|
19
21
|
export declare const formatCoordinatorEvent: (event: CoordinatorEvent) => string;
|
|
20
|
-
export declare const runForegroundReview: (configuration:
|
|
22
|
+
export declare const runForegroundReview: (configuration: ReviewConfiguration, paths: ReviewPaths, options: {
|
|
23
|
+
packageDirectory: string;
|
|
21
24
|
signal?: AbortSignal;
|
|
22
25
|
log?: (event: CoordinatorEvent) => void;
|
|
23
26
|
dependencies?: RuntimeDependencies;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { mkdir } from "node:fs/promises";
|
|
2
|
-
import { formatError } from "
|
|
3
|
-
import { createCopilotRunner } from "./copilot.js";
|
|
2
|
+
import { formatError } from "../../platform/diagnostics.js";
|
|
3
|
+
import { createCopilotRunner } from "./adapters/copilot.js";
|
|
4
4
|
import { runCoordinator } from "./coordinator.js";
|
|
5
|
-
import { createGitManager } from "./
|
|
6
|
-
import { createGitHubClient } from "./github.js";
|
|
5
|
+
import { createGitManager } from "./adapters/worktrees.js";
|
|
6
|
+
import { createGitHubClient } from "./adapters/github.js";
|
|
7
7
|
import { acquireInstanceLock } from "./instance-lock.js";
|
|
8
8
|
import { createProcessSupervisor } from "./processes.js";
|
|
9
9
|
import { openStore } from "./store.js";
|
|
10
|
+
import { prepareReviewSkill } from "./skill.js";
|
|
10
11
|
export { acquireInstanceLock } from "./instance-lock.js";
|
|
11
12
|
const defaultDependencies = {
|
|
12
|
-
openStore, createClient: createGitHubClient, createGit: createGitManager,
|
|
13
|
+
prepareSkill: prepareReviewSkill, openStore, createClient: createGitHubClient, createGit: createGitManager,
|
|
13
14
|
createRunner: createCopilotRunner, createProcesses: createProcessSupervisor, coordinate: runCoordinator,
|
|
14
15
|
};
|
|
15
16
|
export const formatCoordinatorEvent = (event) => {
|
|
@@ -19,7 +20,7 @@ export const formatCoordinatorEvent = (event) => {
|
|
|
19
20
|
event.attempt === undefined ? undefined : `attempt=${event.attempt}`].filter((value) => value !== undefined).join(" ");
|
|
20
21
|
return `${identity === "" ? "" : `${identity} `}${event.phase}: ${event.message}${event.retryAt === undefined ? "" : ` retryAt=${new Date(event.retryAt).toISOString()}`}${event.error === undefined ? "" : `\n${formatError(event.error)}`}`;
|
|
21
22
|
};
|
|
22
|
-
export const runForegroundReview = async (configuration, paths, options
|
|
23
|
+
export const runForegroundReview = async (configuration, paths, options) => {
|
|
23
24
|
const dependencies = options.dependencies === undefined ? defaultDependencies : options.dependencies;
|
|
24
25
|
const log = options.log === undefined ? (event) => { process.stderr.write(`${formatCoordinatorEvent(event)}\n`); } : options.log;
|
|
25
26
|
const controller = new AbortController();
|
|
@@ -38,12 +39,14 @@ export const runForegroundReview = async (configuration, paths, options = {}) =>
|
|
|
38
39
|
lock = await acquireInstanceLock(paths.lockFile);
|
|
39
40
|
safe = lock.previousProcessesExcluded;
|
|
40
41
|
signal.throwIfAborted();
|
|
42
|
+
const skill = await dependencies.prepareSkill(options.packageDirectory, paths.cacheDirectory);
|
|
43
|
+
signal.throwIfAborted();
|
|
41
44
|
store = dependencies.openStore(paths.databaseFile);
|
|
42
45
|
const client = dependencies.createClient();
|
|
43
46
|
const git = dependencies.createGit({ temporaryDirectory: paths.temporaryDirectory, client });
|
|
44
47
|
const processes = dependencies.createProcesses(lock.previousProcessesExcluded ? { previousProcessesExcluded: true } : {});
|
|
45
|
-
const runner = dependencies.createRunner({ paths, processOwner: lock.owner, timeoutMs: configuration.agentTimeoutMs });
|
|
46
|
-
log({ level: "info", phase: "startup", message: `Foreground review started; state=${paths.stateDirectory}.` });
|
|
48
|
+
const runner = dependencies.createRunner({ paths, skill, processOwner: lock.owner, timeoutMs: configuration.agentTimeoutMs });
|
|
49
|
+
log({ level: "info", phase: "startup", message: `Foreground review started; state=${paths.stateDirectory}; skill=${skill.name} digest=${skill.digest}.` });
|
|
47
50
|
safe = false;
|
|
48
51
|
const result = await dependencies.coordinate({ configuration, store, client, git, runner, processes, signal, log });
|
|
49
52
|
safe = result.safeToReleaseLock && processes.safeToReleaseLock;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/commands/review/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAKhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAWzD,MAAM,mBAAmB,GAAwB;IAC/C,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB;IAC1G,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,UAAU,EAAE,cAAc;CACxG,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAuB,EAAU,EAAE;IACxE,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE;QAC/F,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,QAAQ,EAAE;QACrE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,QAAQ,EAAE;QACvE,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzH,OAAO,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;AAChP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,aAAkC,EAClC,KAAkB,EAClB,OAAwI,EACzH,EAAE;IACjB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACrG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAuB,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACnJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,OAAO,GAAqB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3H,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjF,IAAI,IAAiE,CAAC;IACtE,IAAI,KAA+C,CAAC;IACpD,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACtC,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9F,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1H,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC;QAC9H,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,oCAAoC,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC3J,IAAI,GAAG,KAAK,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACpH,IAAI,GAAG,MAAM,CAAC,iBAAiB,IAAI,SAAS,CAAC,iBAAiB,CAAC;QAC/D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,KAAK,CAAC,QAAQ,6HAA6H,CAAC,CAAC;IAC5O,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,GAAG,KAAK,CAAC;IAAC,CAAC;IACpC,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,IAAI,GAAG,KAAK,CAAC;QAAC,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,gDAAgD,CAAC,CAAC;IAAC,CAAC;IACzL,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,oDAAoD,CAAC,CAAC;QAAC,CAAC;IACvL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1F,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,OAAO,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare const skillName = "daynight-review";
|
|
2
|
+
export type PreparedReviewSkill = {
|
|
3
|
+
name: typeof skillName;
|
|
4
|
+
digest: string;
|
|
5
|
+
rootDirectory: string;
|
|
6
|
+
directory: string;
|
|
7
|
+
entrypoint: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const prepareReviewSkill: (packageDirectory: string, cacheDirectory: string) => Promise<PreparedReviewSkill>;
|
|
10
|
+
export declare const validateReviewSkillDiscovery: (output: string, skill: PreparedReviewSkill) => Promise<void>;
|
|
11
|
+
export {};
|